- Add template folder in welcome files.

This commit is contained in:
Tanasart 2024-07-01 17:05:01 +07:00
parent f8c7dab28a
commit 217133980c
84 changed files with 78 additions and 96 deletions

View file

@ -393,44 +393,6 @@
{"$GMIncludedFile":"","%Name":"ffmpeg.exe","CopyToMask":-1,"filePath":"datafiles/ffmpeg/bin","name":"ffmpeg.exe","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"ffmpeg.exe","CopyToMask":-1,"filePath":"datafiles/ffmpeg/bin","name":"ffmpeg.exe","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"LICENSE","CopyToMask":-1,"filePath":"datafiles/ffmpeg","name":"LICENSE","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"LICENSE","CopyToMask":-1,"filePath":"datafiles/ffmpeg","name":"LICENSE","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"README.txt","CopyToMask":-1,"filePath":"datafiles/ffmpeg","name":"README.txt","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"README.txt","CopyToMask":-1,"filePath":"datafiles/ffmpeg","name":"README.txt","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"0 introduction.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"0 introduction.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"0 introduction.pxc","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"0 introduction.pxc","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"1 image import.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"1 image import.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"1 image import.pxc","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"1 image import.pxc","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"10 RigidSim.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"10 RigidSim.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"11 Smoke sim.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"11 Smoke sim.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"12 Strand sim.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"12 Strand sim.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"13 Expression.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"13 Expression.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"14 Audio.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"14 Audio.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"15 Optimization.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"15 Optimization.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"2 animation.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"2 animation.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"2 animation.pxc","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"2 animation.pxc","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"3 Group and collection.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"3 Group and collection.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"3 Group and collection.pxc","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"3 Group and collection.pxc","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"4 Looping operation.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"4 Looping operation.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"4 Looping operation.pxc","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"4 Looping operation.pxc","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"5 Particle and effectors.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"5 Particle and effectors.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"5 Particle and effectors.pxc","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"5 Particle and effectors.pxc","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"6 Camera.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"6 Camera.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"7 Path.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"7 Path.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"8 Batch processing.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"8 Batch processing.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"9 Armature.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"9 Armature.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"arrowRight.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"arrowRight.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"card_back.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"card_back.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"card_clubs_02.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"card_clubs_02.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"card_clubs_03.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"card_clubs_03.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"card_clubs_04.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"card_clubs_04.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"card_clubs_05.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"card_clubs_05.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"dice_1.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"dice_1.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"dice_2.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"dice_2.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"dice_3.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"dice_3.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"dice_4.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"dice_4.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"dice_5.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"dice_5.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"dice_6.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"dice_6.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"multi file dialog.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"multi file dialog.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"tile_0044.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"tile_0044.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"tile_0067.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"tile_0067.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"tile_0126.png","CopyToMask":-1,"filePath":"datafiles/Getting started","name":"tile_0126.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"LICENSE","CopyToMask":-1,"filePath":"datafiles/gifski","name":"LICENSE","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"LICENSE","CopyToMask":-1,"filePath":"datafiles/gifski","name":"LICENSE","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"README.md","CopyToMask":-1,"filePath":"datafiles/gifski","name":"README.md","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"README.md","CopyToMask":-1,"filePath":"datafiles/gifski","name":"README.md","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"gifski.dll","CopyToMask":-1,"filePath":"datafiles/gifski/win/developer","name":"gifski.dll","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"gifski.dll","CopyToMask":-1,"filePath":"datafiles/gifski/win/developer","name":"gifski.dll","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
@ -448,31 +410,6 @@
{"$GMIncludedFile":"","%Name":"execute_shell_simple_ext_x64.dll","CopyToMask":-1,"filePath":"datafiles/report","name":"execute_shell_simple_ext_x64.dll","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"execute_shell_simple_ext_x64.dll","CopyToMask":-1,"filePath":"datafiles/report","name":"execute_shell_simple_ext_x64.dll","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"options.ini","CopyToMask":-1,"filePath":"datafiles/report","name":"options.ini","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"options.ini","CopyToMask":-1,"filePath":"datafiles/report","name":"options.ini","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"PXC crash reporter.exe","CopyToMask":-1,"filePath":"datafiles/report","name":"PXC crash reporter.exe","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"PXC crash reporter.exe","CopyToMask":-1,"filePath":"datafiles/report","name":"PXC crash reporter.exe","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"Broken heart.png","CopyToMask":-1,"filePath":"datafiles/Sample Projects","name":"Broken heart.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"Broken heart.pxc","CopyToMask":-1,"filePath":"datafiles/Sample Projects","name":"Broken heart.pxc","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"card_back.png","CopyToMask":-1,"filePath":"datafiles/Sample Projects","name":"card_back.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"card_clubs_02.png","CopyToMask":-1,"filePath":"datafiles/Sample Projects","name":"card_clubs_02.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"card_clubs_03.png","CopyToMask":-1,"filePath":"datafiles/Sample Projects","name":"card_clubs_03.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"card_clubs_04.png","CopyToMask":-1,"filePath":"datafiles/Sample Projects","name":"card_clubs_04.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"card_clubs_05.png","CopyToMask":-1,"filePath":"datafiles/Sample Projects","name":"card_clubs_05.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"Cards flipping.png","CopyToMask":-1,"filePath":"datafiles/Sample Projects","name":"Cards flipping.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"Cards flipping.pxc","CopyToMask":-1,"filePath":"datafiles/Sample Projects","name":"Cards flipping.pxc","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"dice_1.png","CopyToMask":-1,"filePath":"datafiles/Sample Projects","name":"dice_1.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"dice_2.png","CopyToMask":-1,"filePath":"datafiles/Sample Projects","name":"dice_2.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"dice_3.png","CopyToMask":-1,"filePath":"datafiles/Sample Projects","name":"dice_3.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"dice_4.png","CopyToMask":-1,"filePath":"datafiles/Sample Projects","name":"dice_4.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"dice_5.png","CopyToMask":-1,"filePath":"datafiles/Sample Projects","name":"dice_5.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"dice_6.png","CopyToMask":-1,"filePath":"datafiles/Sample Projects","name":"dice_6.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"Dice.png","CopyToMask":-1,"filePath":"datafiles/Sample Projects","name":"Dice.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"Dice.pxc","CopyToMask":-1,"filePath":"datafiles/Sample Projects","name":"Dice.pxc","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"Shiny gem.png","CopyToMask":-1,"filePath":"datafiles/Sample Projects","name":"Shiny gem.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"Shiny gem.pxc","CopyToMask":-1,"filePath":"datafiles/Sample Projects","name":"Shiny gem.pxc","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"spark.png","CopyToMask":-1,"filePath":"datafiles/Sample Projects","name":"spark.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"tile_0044.png","CopyToMask":-1,"filePath":"datafiles/Sample Projects","name":"tile_0044.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"tile_0067.png","CopyToMask":-1,"filePath":"datafiles/Sample Projects","name":"tile_0067.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"tile_0126.png","CopyToMask":-1,"filePath":"datafiles/Sample Projects","name":"tile_0126.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"Tree sway.png","CopyToMask":-1,"filePath":"datafiles/Sample Projects","name":"Tree sway.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"Tree sway.pxc","CopyToMask":-1,"filePath":"datafiles/Sample Projects","name":"Tree sway.pxc","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"3dInstancePS.hlsl","CopyToMask":-1,"filePath":"datafiles/Shaders/3dInstance","name":"3dInstancePS.hlsl","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"3dInstancePS.hlsl","CopyToMask":-1,"filePath":"datafiles/Shaders/3dInstance","name":"3dInstancePS.hlsl","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"3dInstanceVS.hlsl","CopyToMask":-1,"filePath":"datafiles/Shaders/3dInstance","name":"3dInstanceVS.hlsl","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"3dInstanceVS.hlsl","CopyToMask":-1,"filePath":"datafiles/Shaders/3dInstance","name":"3dInstanceVS.hlsl","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"CommonPS.hlsl","CopyToMask":-1,"filePath":"datafiles/Shaders/3dInstance","name":"CommonPS.hlsl","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"CommonPS.hlsl","CopyToMask":-1,"filePath":"datafiles/Shaders/3dInstance","name":"CommonPS.hlsl","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
@ -481,7 +418,21 @@
{"$GMIncludedFile":"","%Name":"snap_license.txt","CopyToMask":-1,"filePath":"datafiles","name":"snap_license.txt","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"snap_license.txt","CopyToMask":-1,"filePath":"datafiles","name":"snap_license.txt","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"ucrtbased.dll","ConfigValues":{},"CopyToMask":-1,"filePath":"datafiles","name":"ucrtbased.dll","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"ucrtbased.dll","ConfigValues":{},"CopyToMask":-1,"filePath":"datafiles","name":"ucrtbased.dll","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"webpmux.exe","CopyToMask":-1,"filePath":"datafiles/webp","name":"webpmux.exe","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"webpmux.exe","CopyToMask":-1,"filePath":"datafiles/webp","name":"webpmux.exe","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"Welcome files.zip","CopyToMask":-1,"filePath":"datafiles","name":"Welcome files.zip","resourceType":"GMIncludedFile","resourceVersion":"2.0",}, {"$GMIncludedFile":"","%Name":"0 Introduction.png","CopyToMask":-1,"filePath":"datafiles/Welcome files/Getting started","name":"0 Introduction.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"0 Introduction.pxc","CopyToMask":-1,"filePath":"datafiles/Welcome files/Getting started","name":"0 Introduction.pxc","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"1 Image import.png","CopyToMask":-1,"filePath":"datafiles/Welcome files/Getting started","name":"1 Image import.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"1 Image import.pxc","CopyToMask":-1,"filePath":"datafiles/Welcome files/Getting started","name":"1 Image import.pxc","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"2 Animation.png","CopyToMask":-1,"filePath":"datafiles/Welcome files/Getting started","name":"2 Animation.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"2 Animation.pxc","CopyToMask":-1,"filePath":"datafiles/Welcome files/Getting started","name":"2 Animation.pxc","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"3 Group.png","CopyToMask":-1,"filePath":"datafiles/Welcome files/Getting started","name":"3 Group.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"3 Group.pxc","CopyToMask":-1,"filePath":"datafiles/Welcome files/Getting started","name":"3 Group.pxc","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"4 Loop.png","CopyToMask":-1,"filePath":"datafiles/Welcome files/Getting started","name":"4 Loop.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"4 Loop.pxc","CopyToMask":-1,"filePath":"datafiles/Welcome files/Getting started","name":"4 Loop.pxc","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"5 Particles.png","CopyToMask":-1,"filePath":"datafiles/Welcome files/Getting started","name":"5 Particles.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"5 Particles.pxc","CopyToMask":-1,"filePath":"datafiles/Welcome files/Getting started","name":"5 Particles.pxc","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"Canvas.png","CopyToMask":-1,"filePath":"datafiles/Welcome files/Templates","name":"Canvas.png","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"Canvas.pxc","CopyToMask":-1,"filePath":"datafiles/Welcome files/Templates","name":"Canvas.pxc","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
{"$GMIncludedFile":"","%Name":"Welcome files.zip","CopyToMask":-1,"filePath":"datafiles/Welcome files","name":"Welcome files.zip","resourceType":"GMIncludedFile","resourceVersion":"2.0",},
], ],
"isEcma":false, "isEcma":false,
"LibraryEmitters":[], "LibraryEmitters":[],

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View file

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View file

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 620 B

After

Width:  |  Height:  |  Size: 620 B

View file

Before

Width:  |  Height:  |  Size: 887 B

After

Width:  |  Height:  |  Size: 887 B

View file

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View file

Before

Width:  |  Height:  |  Size: 508 B

After

Width:  |  Height:  |  Size: 508 B

View file

Before

Width:  |  Height:  |  Size: 1 KiB

After

Width:  |  Height:  |  Size: 1 KiB

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View file

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 114 B

After

Width:  |  Height:  |  Size: 114 B

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

File diff suppressed because one or more lines are too long

View file

@ -1,3 +1,10 @@
function __loadParams(readonly = false, override = false, apply_layout = false) constructor {
self.readonly = readonly;
self.override = override;
self.apply_layout = apply_layout;
}
function LOAD(safe = false) { #region function LOAD(safe = false) { #region
if(DEMO) return false; if(DEMO) return false;
@ -51,7 +58,7 @@ function LOAD_PATH(path, readonly = false, safe_mode = false) { #region
array_push(PROJECTS, PROJECT); array_push(PROJECTS, PROJECT);
} }
var res = LOAD_AT(path, readonly); var res = LOAD_AT(path, new __loadParams(readonly));
if(!res) return false; if(!res) return false;
PROJECT.safeMode = safe_mode; PROJECT.safeMode = safe_mode;
@ -61,7 +68,7 @@ function LOAD_PATH(path, readonly = false, safe_mode = false) { #region
return PROJECT; return PROJECT;
} #endregion } #endregion
function LOAD_AT(path, readonly = false, override = false) { #region function LOAD_AT(path, params = new __loadParams()) { #region
static log = false; static log = false;
CALL("load"); CALL("load");
@ -82,7 +89,7 @@ function LOAD_AT(path, readonly = false, override = false) { #region
LOADING = true; LOADING = true;
if(override) { if(params.override) {
nodeCleanUp(); nodeCleanUp();
clearPanel(); clearPanel();
setPanel(); setPanel();
@ -100,7 +107,7 @@ function LOAD_AT(path, readonly = false, override = false) { #region
if(file_exists_empty(temp_file_path)) file_delete(temp_file_path); if(file_exists_empty(temp_file_path)) file_delete(temp_file_path);
file_copy(path, temp_file_path); file_copy(path, temp_file_path);
PROJECT.readonly = readonly; PROJECT.readonly = params.readonly;
SET_PATH(PROJECT, path); SET_PATH(PROJECT, path);
printIf(log, $" > Create temp : {(get_timer() - t1) / 1000} ms"); t1 = get_timer(); printIf(log, $" > Create temp : {(get_timer() - t1) / 1000} ms"); t1 = get_timer();
@ -253,7 +260,7 @@ function LOAD_AT(path, readonly = false, override = false) { #region
printIf(log, $"========== Load {array_length(PROJECT.allNodes)} nodes completed in {(get_timer() - t0) / 1000} ms =========="); printIf(log, $"========== Load {array_length(PROJECT.allNodes)} nodes completed in {(get_timer() - t0) / 1000} ms ==========");
if(PREFERENCES.save_layout && struct_has(_load_content, "layout")) if((PROJECT.load_layout || PREFERENCES.save_layout) && struct_has(_load_content, "layout"))
LoadPanelStruct(_load_content.layout.panel); LoadPanelStruct(_load_content.layout.panel);
return true; return true;

View file

@ -142,7 +142,7 @@
#region node function #region node function
function node_get_id(node) { return node? node.node_id : noone; } function node_get_id(node) { return node? node.node_id : noone; }
function node_from_id(nid) { return nid && ds_map_exists(PROJECT.nodeMap, nid)? PROJECT.nodeMap[? nid] : noone; } function node_from_id(nid) { return nid != noone && ds_map_exists(PROJECT.nodeMap, nid)? PROJECT.nodeMap[? nid] : noone; }
function nodeLoad(_data, scale = false, _group = noone) { function nodeLoad(_data, scale = false, _group = noone) {
INLINE INLINE

View file

@ -233,7 +233,7 @@ function Panel(_parent, _x, _y, _w, _h) constructor { #region
function split_h(_w) { #region function split_h(_w) { #region
if(abs(_w) > w) { if(abs(_w) > w) {
print("Error: Split panel larger than size w (" + string(_w) + " > " + string(w) + ")"); print($"Error: Split panel larger than size w ({_w} > {w})");
return noone; return noone;
} }
@ -269,7 +269,7 @@ function Panel(_parent, _x, _y, _w, _h) constructor { #region
function split_v(_h) { #region function split_v(_h) { #region
if(abs(_h) > h) { if(abs(_h) > h) {
print("Error: Split panel larger than size h (" + string(_h) + " > " + string(h) + ")"); print($"Error: Split panel larger than size h ({_h} > {h})");
return noone; return noone;
} }

View file

@ -77,7 +77,10 @@
return noone; return noone;
} #endregion } #endregion
function LoadPanelStruct(struct) { loadPanelStruct(PANEL_MAIN, struct); } function LoadPanelStruct(struct) {
PANEL_MAIN = new Panel(noone, ui(2), ui(2), WIN_SW - ui(4), WIN_SH - ui(4));
loadPanelStruct(PANEL_MAIN, struct);
}
function loadPanelStruct(panel, str) { #region function loadPanelStruct(panel, str) { #region
var cont = str.content; var cont = str.content;
@ -85,10 +88,8 @@
if(variable_struct_exists(str, "split")) { if(variable_struct_exists(str, "split")) {
var pan = panel; var pan = panel;
if(str.split == "v") if(str.split == "v") pan = panel.split_v(ui(str.width));
pan = panel.split_v(ui(str.width)); else if(str.split == "h") pan = panel.split_h(ui(str.width));
else if(str.split == "h")
pan = panel.split_h(ui(str.width));
if(pan != noone) { if(pan != noone) {
loadPanelStruct(pan[0], cont[0]); loadPanelStruct(pan[0], cont[0]);
@ -97,6 +98,7 @@
} else { } else {
if(!is_array(cont)) cont = [ cont ]; if(!is_array(cont)) cont = [ cont ];
for( var i = 0, n = array_length(cont); i < n; i++ ) { for( var i = 0, n = array_length(cont); i < n; i++ ) {
var _content = cont[i]; var _content = cont[i];
var _key = is_struct(_content)? _content.name : _content; var _key = is_struct(_content)? _content.name : _content;
@ -105,7 +107,8 @@
if(_pnCont == noone) continue; if(_pnCont == noone) continue;
panel.setContent(_pnCont); panel.setContent(_pnCont);
if(is_struct(_content)) _pnCont.deserialize(_content); if(is_struct(_content))
_pnCont.deserialize(_content);
} }
} }
} #endregion } #endregion

View file

@ -162,9 +162,14 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor {
self.project = project; self.project = project;
nodes_list = project.nodes; nodes_list = project.nodes;
// layer_index = noone;
setTitle(); setTitle();
} }
static reset = function() {
onFocusBegin();
resetContext();
}
setProject(project); setProject(project);
#region ---- display ---- #region ---- display ----
@ -2586,10 +2591,9 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor {
//// =========== Serialize =========== //// =========== Serialize ===========
static serialize = function() { static serialize = function() {
return { _map = {
name: instanceof(self), name: instanceof(self),
project,
graph_x, graph_x,
graph_y, graph_y,
@ -2597,25 +2601,33 @@ function Panel_Graph(project = PROJECT) : PanelContent() constructor {
graph_s, graph_s,
graph_s_to, graph_s_to,
}; };
if(!SAVING) _map.project = project;
return _map;
} }
static deserialize = function(data) { static deserialize = function(data) {
setProject(data.project); if(struct_has(data, "project")) setProject(data.project);
graph_x = struct_try_get(data, "graph_x", graph_x); graph_x = struct_try_get(data, "graph_x", graph_x);
graph_y = struct_try_get(data, "graph_x", graph_y); graph_y = struct_try_get(data, "graph_y", graph_y);
graph_s = struct_try_get(data, "graph_x", graph_s); graph_s = struct_try_get(data, "graph_s", graph_s);
graph_s_to = struct_try_get(data, "graph_x", graph_s_to); graph_s_to = struct_try_get(data, "graph_s_to", graph_s_to);
return self; return self;
} }
function close() { #region function close() { #region
var panels = findPanels("Panel_Graph"); var panels = findPanels("Panel_Graph");
for( var i = 0, n = array_length(panels); i < n; i++ ) { for( var i = 0, n = array_length(panels); i < n; i++ ) {
if(panels[i] == self) continue; var _pan = panels[i];
if(panels[i].project == project) {
if(_pan == self) continue;
if(_pan.project == project) { //Not the last panel with that project, hence not closing the project just a panel.
panel.remove(self); panel.remove(self);
return; return;
} }

View file

@ -1116,7 +1116,9 @@ function Panel_Inspector() : PanelContent() constructor {
if(!locked && PANEL_GRAPH.getFocusingNode() && inspecting != PANEL_GRAPH.getFocusingNode()) if(!locked && PANEL_GRAPH.getFocusingNode() && inspecting != PANEL_GRAPH.getFocusingNode())
setInspecting(PANEL_GRAPH.getFocusingNode()); setInspecting(PANEL_GRAPH.getFocusingNode());
} #endregion } #endregion
//// =========== Serialize ===========
static serialize = function() { static serialize = function() {
return { return {
name: instanceof(self), name: instanceof(self),

View file

@ -2152,6 +2152,7 @@ function Panel_Preview() : PanelContent() constructor {
} }
} #endregion } #endregion
//// =========== Serialize ===========
static serialize = function() { static serialize = function() {
return { return {

View file

@ -36,6 +36,8 @@
globalNode = new Node_Global(); globalNode = new Node_Global();
nodeController = new __Node_Controller(self); nodeController = new __Node_Controller(self);
load_layout = false;
previewGrid = { #region previewGrid = { #region
show : false, show : false,
snap : false, snap : false,
@ -176,12 +178,12 @@
_map.notes = array_map(notes, function(note) { return note.serialize(); } ); _map.notes = array_map(notes, function(note) { return note.serialize(); } );
_map.composer = composer; _map.composer = composer;
_map.load_layout = load_layout;
__node_list = []; __node_list = [];
array_foreach(allNodes, function(node) { if(node.active) array_push(__node_list, node.serialize()); }) array_foreach(allNodes, function(node) { if(node.active) array_push(__node_list, node.serialize()); })
_map.nodes = __node_list; _map.nodes = __node_list;
var prev = PANEL_PREVIEW.getNodePreviewSurface(); var prev = PANEL_PREVIEW.getNodePreviewSurface();
if(!is_surface(prev)) _map.preview = ""; if(!is_surface(prev)) _map.preview = "";
else _map.preview = surface_encode(surface_size_lim(prev, 128, 128)); else _map.preview = surface_encode(surface_size_lim(prev, 128, 128));
@ -211,6 +213,8 @@
if(struct_has(_map, "metadata")) meta.deserialize(_map.metadata); if(struct_has(_map, "metadata")) meta.deserialize(_map.metadata);
if(struct_has(_map, "composer")) composer = _map.composer; if(struct_has(_map, "composer")) composer = _map.composer;
load_layout = struct_try_get(_map, "load_layout", load_layout);
setPalette(); setPalette();
if(struct_has(_map, "notes")) { if(struct_has(_map, "notes")) {

View file

@ -3,7 +3,8 @@ function closeProject(project) {
project.active = false; project.active = false;
array_remove(PROJECTS, project); array_remove(PROJECTS, project);
if(array_length(PROJECTS) == 0) {
if(array_empty(PROJECTS)) {
PROJECT = new Project(); PROJECT = new Project();
PROJECTS = [ PROJECT ]; PROJECTS = [ PROJECT ];
} }
@ -18,8 +19,8 @@ function closeProject(project) {
if(array_length(panels) == 1) { if(array_length(panels) == 1) {
panel.setProject(PROJECT); panel.setProject(PROJECT);
panel.onFocusBegin(); panel.reset();
panel.resetContext();
} else { } else {
panel.panel.remove(panel); panel.panel.remove(panel);
array_remove(panels, panel); array_remove(panels, panel);

View file

@ -31,7 +31,7 @@ function LOAD_FOLDER(list, folder) { #region
function LOAD_SAMPLE() { #region function LOAD_SAMPLE() { #region
ds_list_clear(SAMPLE_PROJECTS); ds_list_clear(SAMPLE_PROJECTS);
var zzip = "Welcome files.zip"; var zzip = "Welcome files/Welcome files.zip";
var targ = $"{DIRECTORY}Welcome files"; var targ = $"{DIRECTORY}Welcome files";
directory_verify(targ); directory_verify(targ);

View file

@ -15,7 +15,7 @@ function NEW() {
function SERIALIZE_PROJECT(project = PROJECT) { function SERIALIZE_PROJECT(project = PROJECT) {
var _map = project.serialize(); var _map = project.serialize();
_map.layout = panelSerialize(); _map.layout = panelSerialize(true);
return PREFERENCES.save_file_minify? json_stringify_minify(_map) : json_stringify(_map, true); return PREFERENCES.save_file_minify? json_stringify_minify(_map) : json_stringify(_map, true);
} }
@ -93,7 +93,7 @@ function SAVE_AT(project = PROJECT, path = "", log = "save at ") {
if(_ext == "pxc") file_text_write_all(path, _prj); if(_ext == "pxc") file_text_write_all(path, _prj);
else if(_ext == "cpxc") buffer_save(buffer_compress_string(_prj), path); else if(_ext == "cpxc") buffer_save(buffer_compress_string(_prj), path);
SAVING = false; SAVING = false;
project.readonly = false; project.readonly = false;
project.modified = false; project.modified = false;