diff --git a/Manual/contents/Additional_Information/Guide_To_Using_JSON.htm b/Manual/contents/Additional_Information/Guide_To_Using_JSON.htm index c76b01134..1f60bfe0a 100644 --- a/Manual/contents/Additional_Information/Guide_To_Using_JSON.htm +++ b/Manual/contents/Additional_Information/Guide_To_Using_JSON.htm @@ -93,7 +93,7 @@

Data Conversions

string String -   + Both single quotes (') and double quotes (") are supported for strings in the JSON "@@infinity$$", @@-infinity$$ @@ -125,6 +125,11 @@

Data Conversions

Relying on this behaviour will generally be of little use as the index will change between runs of the game. + + Comments +   + The JSON may contain // comments which are ignored during conversion +

Filter Function

@@ -262,7 +267,7 @@

Serialisation

-
© Copyright YoYo Games Ltd. 2025 All Rights Reserved
+
© Copyright YoYo Games Ltd. 2026 All Rights Reserved
@@ -20,12 +19,12 @@

Overview

The latter method (of specifying the filter/effect in your code) only works with string literals directly specified in the function argument, which means that if you use a variable or any logic to come up with the filter/effect name string, then the asset compiler will not detect that and the filter/effect will not be loaded.

Consider the following examples:

-

// This will work on its own
- var _fxshake = fx_create("_filter_screenshake");
-
- // This will NOT work on its own
- var _myfilters = { screenshake: "_screenshake" }
- var _filter_to_use = "_filter" + _myfilters.screenshake;
+

// This will work on its own
+ var _fxshake = fx_create("_filter_screenshake");
+
+ // This will NOT work on its own
+ var _myfilters = { screenshake: "_screenshake" }
+ var _filter_to_use = "_filter" + _myfilters.screenshake;
var _fxshake = fx_create(_filter_to_use);

To ensure that the latter method works, you can simply add the filter to at least one room in your project, or ensure that fx_create() is called anywhere in your project with the filter name as a string constant (and not a variable).

@@ -73,17 +72,17 @@

Modify FX At Runtime

Here is example code for the workflow mentioned above:

Create Event

-

// Store the FX struct, and its parameters struct, in variables
- pixelate_fx = layer_get_fx("Effect_1");
+

// Store the FX struct, and its parameters struct, in variables
+ pixelate_fx = layer_get_fx("Effect_1");
pixelate_fx_params = fx_get_parameters(pixelate_fx);

Step Event

-

// Change param as variable
- pixelate_fx_params.g_CellSize = round((mouse_x / room_width) * 64);
-
- // Or, change param as string
- pixelate_fx_params[$ "g_CellSize"] = round((mouse_x / room_width) * 64);
-
- // Apply updated parameters struct to the FX struct
+

// Change param as variable
+ pixelate_fx_params.g_CellSize = round((mouse_x / room_width) * 64);
+
+ // Or, change param as string
+ pixelate_fx_params[$ "g_CellSize"] = round((mouse_x / room_width) * 64);
+
+ // Apply updated parameters struct to the FX struct
fx_set_parameters(pixelate_fx, pixelate_fx_params);

FX Runtime Parameters

@@ -102,10 +101,10 @@

Single Layer Mode

By default, a filter/effect is applied to the layer that it is assigned to and all layers below that layer, however you can use fx_set_single_layer() to enable Single Layer mode for a filter/effect to make sure that it's only applied to the layer that it is assigned to.

The following visual shows a filter being applied to multiple layers (which is the default behaviour for all FX layers), and then the same filter with Single Layer mode enabled and applied to a non-FX layer:

-
Fire Jump man is woozy with the universe +
Fire Jump man is woozy with the universe
Single Layer Mode OFF
-
Fire Jump man is woozy... alone +
Fire Jump man is woozy... alone
Single Layer Mode ON
@@ -116,7 +115,7 @@

Single Layer Mode

Back: Rooms
-
Next: UI Layers
+
Next: UI Layers
© Copyright YoYo Games Ltd. 2025 All Rights Reserved
@@ -128,5 +127,5 @@
© Copyright YoYo Games Ltd. 2025 All R - - \ No newline at end of file + + \ No newline at end of file diff --git a/Manual/contents/GameMaker_Language/GML_Reference/Asset_Management/Rooms/General_Layer_Functions/layer_depth.htm b/Manual/contents/GameMaker_Language/GML_Reference/Asset_Management/Rooms/General_Layer_Functions/layer_depth.htm index 1cbe42160..14013c813 100644 --- a/Manual/contents/GameMaker_Language/GML_Reference/Asset_Management/Rooms/General_Layer_Functions/layer_depth.htm +++ b/Manual/contents/GameMaker_Language/GML_Reference/Asset_Management/Rooms/General_Layer_Functions/layer_depth.htm @@ -16,9 +16,10 @@

layer_depth

This function can be used to change the depth of the given layer, changing the order in which its contents will be rendered to the screen.

-

You supply the layer handle (which you get when you create the layer using layer_create) or the layer name (as a string - this will have a performance impact) and then give the new depth to set it to (an integer value from -16000 to 16000). The layer depth is defined as being higher when "further away" from the camera and lower when "closer" to the camera, so if you have three layers with depths -100, 0, 100, the layers will draw in the order 100, 0, -100, so that the "top" layer (i.e., the closest to the camera view and so drawn over everything else) will be the layer with the -100 depth.

+

You supply the layer handle (which you get when you create the layer using layer_create) or the layer name (as a string - this will have a performance impact) and then give the new depth to set it to. The layer depth is defined as being higher when "further away" from the camera and lower when "closer" to the camera, so if you have three layers with depths -100, 0, 100, the layers will draw in the order 100, 0, -100, so that the "top" layer (i.e., the closest to the camera view and so drawn over everything else) will be the layer with the -100 depth.

The following image shows a schematic of how depth works for layers:

-

Layer depth exampleNote that you can check the depth of a layer at any time using the function layer_get_depth. Also note that the minimum and maximum layer depths are -16000 to 16000, and anything outside of those depths will not be rendered. If you require a depth outside of that range then you will need to use the function layer_force_draw_depth.

+

Layer depth exampleYou can check the depth of a layer at any time using the function layer_get_depth.

+

Keep in mind that modifying the depth of a layer may change which Filters and Effects are applied to it, as changing the depth to be lower than an FX layer's depth will no longer apply its effect on the layer.

 

@@ -62,7 +63,7 @@

Example:

Next: layer_force_draw_depth
-
© Copyright YoYo Games Ltd. 2025 All Rights Reserved
+
© Copyright YoYo Games Ltd. 2026 All Rights Reserved
@@ -32,8 +31,8 @@

Global

  • room_width
  • room_persistent
  • -

     The variables listed above will not be valid in a script, as scripts are executed before the first room is loaded.
    -
    +

     The variables listed above will not be valid in a script, as scripts are executed before the first room is loaded.
    +
    This only applies to code written at the root of a script, but not to functions created inside scripts, as those functions can be executed at any time during the game.

    Information

    @@ -77,7 +76,7 @@

    Layers and Elements

  • Sequence Elements
  • Text Elements
  • Particle System Elements
  • -
  • UI Layers
  • +
  • UI Layers
  • Filters and Effects

    +

    For asset-specific editors, see: The Asset Editors

    For information on loading projects and associated errors, see: Project Format

     

    diff --git a/Manual/contents/assets/Images/Icons/Icon_Tick_Check_Green.png b/Manual/contents/assets/Images/Icons/Icon_Tick_Check_Green.png new file mode 100644 index 000000000..5c4556f57 Binary files /dev/null and b/Manual/contents/assets/Images/Icons/Icon_Tick_Check_Green.png differ diff --git a/Manual/contents/assets/Images/QS_Guide/QS_ButtonInteraction.gif b/Manual/contents/assets/Images/QS_Guide/QS_ButtonInteraction.gif new file mode 100644 index 000000000..178dccd57 Binary files /dev/null and b/Manual/contents/assets/Images/QS_Guide/QS_ButtonInteraction.gif differ diff --git a/Manual/contents/assets/Images/QS_Guide/QS_ButtonSticks.gif b/Manual/contents/assets/Images/QS_Guide/QS_ButtonSticks.gif new file mode 100644 index 000000000..cab9e019e Binary files /dev/null and b/Manual/contents/assets/Images/QS_Guide/QS_ButtonSticks.gif differ diff --git a/Manual/contents/assets/Images/QS_Guide/QS_DrawEvents.png b/Manual/contents/assets/Images/QS_Guide/QS_DrawEvents.png index 61ef12409..5693ee584 100644 Binary files a/Manual/contents/assets/Images/QS_Guide/QS_DrawEvents.png and b/Manual/contents/assets/Images/QS_Guide/QS_DrawEvents.png differ diff --git a/Manual/contents/assets/Images/QS_Guide/QS_Flex_1.png b/Manual/contents/assets/Images/QS_Guide/QS_Flex_1.png new file mode 100644 index 000000000..a9a9eb042 Binary files /dev/null and b/Manual/contents/assets/Images/QS_Guide/QS_Flex_1.png differ diff --git a/Manual/contents/assets/Images/QS_Guide/QS_Flex_10.png b/Manual/contents/assets/Images/QS_Guide/QS_Flex_10.png new file mode 100644 index 000000000..c05e767a4 Binary files /dev/null and b/Manual/contents/assets/Images/QS_Guide/QS_Flex_10.png differ diff --git a/Manual/contents/assets/Images/QS_Guide/QS_Flex_11.png b/Manual/contents/assets/Images/QS_Guide/QS_Flex_11.png new file mode 100644 index 000000000..9ff5129ec Binary files /dev/null and b/Manual/contents/assets/Images/QS_Guide/QS_Flex_11.png differ diff --git a/Manual/contents/assets/Images/QS_Guide/QS_Flex_12.png b/Manual/contents/assets/Images/QS_Guide/QS_Flex_12.png new file mode 100644 index 000000000..b0e3e6508 Binary files /dev/null and b/Manual/contents/assets/Images/QS_Guide/QS_Flex_12.png differ diff --git a/Manual/contents/assets/Images/QS_Guide/QS_Flex_2.png b/Manual/contents/assets/Images/QS_Guide/QS_Flex_2.png new file mode 100644 index 000000000..3cb79bdcf Binary files /dev/null and b/Manual/contents/assets/Images/QS_Guide/QS_Flex_2.png differ diff --git a/Manual/contents/assets/Images/QS_Guide/QS_Flex_3.png b/Manual/contents/assets/Images/QS_Guide/QS_Flex_3.png new file mode 100644 index 000000000..bfb675c6b Binary files /dev/null and b/Manual/contents/assets/Images/QS_Guide/QS_Flex_3.png differ diff --git a/Manual/contents/assets/Images/QS_Guide/QS_Flex_4.png b/Manual/contents/assets/Images/QS_Guide/QS_Flex_4.png new file mode 100644 index 000000000..aedc325cd Binary files /dev/null and b/Manual/contents/assets/Images/QS_Guide/QS_Flex_4.png differ diff --git a/Manual/contents/assets/Images/QS_Guide/QS_Flex_5.png b/Manual/contents/assets/Images/QS_Guide/QS_Flex_5.png new file mode 100644 index 000000000..af89d573b Binary files /dev/null and b/Manual/contents/assets/Images/QS_Guide/QS_Flex_5.png differ diff --git a/Manual/contents/assets/Images/QS_Guide/QS_Flex_6.png b/Manual/contents/assets/Images/QS_Guide/QS_Flex_6.png new file mode 100644 index 000000000..d119f5baf Binary files /dev/null and b/Manual/contents/assets/Images/QS_Guide/QS_Flex_6.png differ diff --git a/Manual/contents/assets/Images/QS_Guide/QS_Flex_7.png b/Manual/contents/assets/Images/QS_Guide/QS_Flex_7.png new file mode 100644 index 000000000..55e7c04e0 Binary files /dev/null and b/Manual/contents/assets/Images/QS_Guide/QS_Flex_7.png differ diff --git a/Manual/contents/assets/Images/QS_Guide/QS_Flex_8.png b/Manual/contents/assets/Images/QS_Guide/QS_Flex_8.png new file mode 100644 index 000000000..fd80e04a7 Binary files /dev/null and b/Manual/contents/assets/Images/QS_Guide/QS_Flex_8.png differ diff --git a/Manual/contents/assets/Images/QS_Guide/QS_Flex_9.png b/Manual/contents/assets/Images/QS_Guide/QS_Flex_9.png new file mode 100644 index 000000000..4c4a7f558 Binary files /dev/null and b/Manual/contents/assets/Images/QS_Guide/QS_Flex_9.png differ diff --git a/Manual/contents/assets/Images/QS_Guide/QS_Flex_CanvasPreview.png b/Manual/contents/assets/Images/QS_Guide/QS_Flex_CanvasPreview.png new file mode 100644 index 000000000..18013ad1b Binary files /dev/null and b/Manual/contents/assets/Images/QS_Guide/QS_Flex_CanvasPreview.png differ diff --git a/Manual/contents/assets/Images/QS_Guide/QS_Flex_Gif1.gif b/Manual/contents/assets/Images/QS_Guide/QS_Flex_Gif1.gif new file mode 100644 index 000000000..6490bc41f Binary files /dev/null and b/Manual/contents/assets/Images/QS_Guide/QS_Flex_Gif1.gif differ diff --git a/Manual/contents/assets/Images/QS_Guide/QS_Flex_ImageFont.png b/Manual/contents/assets/Images/QS_Guide/QS_Flex_ImageFont.png new file mode 100644 index 000000000..7acb54b4d Binary files /dev/null and b/Manual/contents/assets/Images/QS_Guide/QS_Flex_ImageFont.png differ diff --git a/Manual/contents/assets/Images/QS_Guide/QS_Flex_Rename.png b/Manual/contents/assets/Images/QS_Guide/QS_Flex_Rename.png new file mode 100644 index 000000000..4a44668aa Binary files /dev/null and b/Manual/contents/assets/Images/QS_Guide/QS_Flex_Rename.png differ diff --git a/Manual/contents/assets/Images/QS_Guide/QS_UI_Object.png b/Manual/contents/assets/Images/QS_Guide/QS_UI_Object.png new file mode 100644 index 000000000..958dbafe9 Binary files /dev/null and b/Manual/contents/assets/Images/QS_Guide/QS_UI_Object.png differ diff --git a/Manual/contents/assets/Images/Settings/Ubuntu_General_Options.png b/Manual/contents/assets/Images/Settings/Ubuntu_General_Options.png index 7dcb85f81..da6008967 100644 Binary files a/Manual/contents/assets/Images/Settings/Ubuntu_General_Options.png and b/Manual/contents/assets/Images/Settings/Ubuntu_General_Options.png differ diff --git a/Manual/contents/assets/Images/Setup_And_Version/Preferences/GMRT_Prefs.png b/Manual/contents/assets/Images/Setup_And_Version/Preferences/GMRT_Prefs.png index 0433a9054..eb1ff70ec 100644 Binary files a/Manual/contents/assets/Images/Setup_And_Version/Preferences/GMRT_Prefs.png and b/Manual/contents/assets/Images/Setup_And_Version/Preferences/GMRT_Prefs.png differ diff --git a/Manual/contents/assets/Images/The_IDE/Plugins/PrefabBuilder_Assets.png b/Manual/contents/assets/Images/The_IDE/Plugins/PrefabBuilder_Assets.png new file mode 100644 index 000000000..df153bba1 Binary files /dev/null and b/Manual/contents/assets/Images/The_IDE/Plugins/PrefabBuilder_Assets.png differ diff --git a/Manual/contents/assets/Images/The_IDE/Plugins/PrefabBuilder_Details.png b/Manual/contents/assets/Images/The_IDE/Plugins/PrefabBuilder_Details.png new file mode 100644 index 000000000..c6548a903 Binary files /dev/null and b/Manual/contents/assets/Images/The_IDE/Plugins/PrefabBuilder_Details.png differ diff --git a/Manual/contents/assets/Images/The_IDE/Plugins/PrefabBuilder_Exported.png b/Manual/contents/assets/Images/The_IDE/Plugins/PrefabBuilder_Exported.png new file mode 100644 index 000000000..2810ad159 Binary files /dev/null and b/Manual/contents/assets/Images/The_IDE/Plugins/PrefabBuilder_Exported.png differ diff --git a/Manual/contents/assets/Images/The_IDE/Plugins/PrefabBuilder_Install.png b/Manual/contents/assets/Images/The_IDE/Plugins/PrefabBuilder_Install.png new file mode 100644 index 000000000..362d48bd4 Binary files /dev/null and b/Manual/contents/assets/Images/The_IDE/Plugins/PrefabBuilder_Install.png differ diff --git a/Manual/contents/assets/Images/The_IDE/Plugins/PrefabBuilder_Open.png b/Manual/contents/assets/Images/The_IDE/Plugins/PrefabBuilder_Open.png new file mode 100644 index 000000000..3f0bbed17 Binary files /dev/null and b/Manual/contents/assets/Images/The_IDE/Plugins/PrefabBuilder_Open.png differ diff --git a/Manual/contents/assets/Images/The_IDE/Plugins/PrefabBuilder_Preferences.png b/Manual/contents/assets/Images/The_IDE/Plugins/PrefabBuilder_Preferences.png new file mode 100644 index 000000000..e1e748895 Binary files /dev/null and b/Manual/contents/assets/Images/The_IDE/Plugins/PrefabBuilder_Preferences.png differ diff --git a/Manual/contents/assets/snippets/Depth_range.hts b/Manual/contents/assets/snippets/Depth_range.hts new file mode 100644 index 000000000..1feabc7ec --- /dev/null +++ b/Manual/contents/assets/snippets/Depth_range.hts @@ -0,0 +1,14 @@ + + + + + + + + Depth_range + + + +

    The safe range for depth values is -16000 to 16000. Outside of this range, instances may still be drawn, depending on the target platform. It's recommended to keep depth values within this range to ensure they are visible on all platforms. Instances that are not drawn still process their events.

    + + \ No newline at end of file diff --git a/Manual/contents/assets/snippets/Note_layer_depth_range.hts b/Manual/contents/assets/snippets/Note_layer_depth_range.hts index 430be8d34..eb70707ef 100644 --- a/Manual/contents/assets/snippets/Note_layer_depth_range.hts +++ b/Manual/contents/assets/snippets/Note_layer_depth_range.hts @@ -9,6 +9,6 @@ -

     There is a minimum and maximum layer depth of -16000 to 16000. Anything placed on a layer outside that range will not be drawn although all events will still run as normal for anything on the layer.

    +

     

    \ No newline at end of file diff --git a/Manual/contents/assets/snippets/subimg_param_description.hts b/Manual/contents/assets/snippets/subimg_param_description.hts new file mode 100644 index 000000000..9b693b351 --- /dev/null +++ b/Manual/contents/assets/snippets/subimg_param_description.hts @@ -0,0 +1,14 @@ + + + + + + + + subimg_param_description + + + +

    The sub-image (frame) of the sprite to draw (negative values wrap around the frame count, however when called from an instance scope, they default to the image_index).

    + + \ No newline at end of file diff --git a/Manual/toc/Default.toc b/Manual/toc/Default.toc index 4222693a1..bc5d586bb 100644 --- a/Manual/toc/Default.toc +++ b/Manual/toc/Default.toc @@ -23,6 +23,7 @@ + @@ -110,7 +111,6 @@ - @@ -122,6 +122,7 @@ + @@ -137,6 +138,7 @@ + @@ -1647,7 +1649,7 @@ - +