From 18dd859d692dfc281128e328b7cb8f37335da3bc Mon Sep 17 00:00:00 2001 From: gurpreetsinghmatharoo Date: Thu, 20 Nov 2025 14:40:50 +0530 Subject: [PATCH 01/44] smolfix --- .../GameMaker_Language/GML_Reference/Debugging/debug_event.htm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Manual/contents/GameMaker_Language/GML_Reference/Debugging/debug_event.htm b/Manual/contents/GameMaker_Language/GML_Reference/Debugging/debug_event.htm index b7587d3a2..cae8173a3 100644 --- a/Manual/contents/GameMaker_Language/GML_Reference/Debugging/debug_event.htm +++ b/Manual/contents/GameMaker_Language/GML_Reference/Debugging/debug_event.htm @@ -23,7 +23,7 @@

debug_event

  • "BreakOnError" - This option is for Windows YYC builds only, and means that projects will not display the usual code error screen if the runtime detects an error, but instead just carry on and crash. This allows you to see the stack trace within Visual Studio if debugging.
  • "ResourceCounts" - Lists all the currently active resources, such as Data Structures, Time Sources, Surfaces, etc. Also returns a struct (info given below). Set the optional silent argument to true to only return the struct.
  • "DumpMemory" - Gives information on the current memory usage. Also returns a struct (info given below). Set the optional silent argument to true to only return the struct.
  • -
  • "ErrorOnWarning": Some errors are only printed on the output log and don't crash the game (e.g. writing out of bounds to a DS map, errors related to invalid layer elements, etc). Calling this function with this string will turn such warnings into fatal errors, which also gives you callstack information.
  • +
  • "ErrorOnWarning" - Some errors are only printed on the output log and don't crash the game (e.g. writing out of bounds to a DS map, errors related to invalid layer elements, etc). Calling this function with this string will turn such warnings into fatal errors, which also gives you callstack information.
  •  

    ResourceCounts

    From 81d9de9f6ab49347e82acb02eb237076d42d1003 Mon Sep 17 00:00:00 2001 From: YYBartT Date: Thu, 20 Nov 2025 21:51:07 +0100 Subject: [PATCH 02/44] docs(general): visual update of Script Functions And Variables page YoYoGames/GameMaker-Bugs#12685 --- .../GML_Overview/Script_Functions.htm | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/Manual/contents/GameMaker_Language/GML_Overview/Script_Functions.htm b/Manual/contents/GameMaker_Language/GML_Overview/Script_Functions.htm index c7a919ce5..045a9b716 100644 --- a/Manual/contents/GameMaker_Language/GML_Overview/Script_Functions.htm +++ b/Manual/contents/GameMaker_Language/GML_Overview/Script_Functions.htm @@ -17,7 +17,7 @@

    Script Functions And Variables

    Script assets are essentially a collection of one or more user-defined functions or variables that you write yourself as snippets of code in The Script Editor. The functions you define in a script can resolve expressions, return values or do anything else that the GameMaker Language permits, just like the built-in Runtime Functions.

    Script functions should generally be used if you have a block of code that you use in more than one place or object, or when you want a block of code to be used across multiple objects in a modular fashion. Using scripts to define functions means that you can change the function just once when required and the change will be "picked up" by every object that has a call to the function.

    -

    Scripts can also be very handy from an organisational point of view, as they permit you to create groups of functions that belong to a certain category - for example, you might have several functions all related to collisions between instances in your game, so you would create a "Collision_Functions" script and store all these functions together in it.

    +

    Scripts can also be very handy from an organisational point of view, as they permit you to create groups of functions that belong to a certain category - for example, you might have several functions all related to collisions between instances in your game, so you would create a Collision_Functions script and store all these functions together in it.

    Creating Functions

    When creating a Script Asset with functions in it, the functions can be created using the following formats:

    function name( parameter1, parameter2, ... )
    @@ -37,8 +37,8 @@

    Creating Functions

     To create a function in GML Visual, use Declare A New Function. Enable its "Temp" option to create a method variable (second syntax shown above).

    In general, however, you would use the first form for script functions as it will define the function as specifically being a script function, meaning that it will be global in scope, be assigned a script index, and not require the global prefix to identify it since the compiler will recognise it as a script function.

    -

    Using the second form will instead generate a global scope method variable, and as such it will not be recognised as a script function by the IDE and will require the use of the global prefix when being referenced in your code. Related: Script Functions vs. Methods

    -

     You can check this by using both forms in a script and then calling the runtime function typeof() on each of them. One will be classed as a "ref" - since it returns a script function reference - and the other will be classed as a "method".

    +

    Using the second form will instead generate a global scope method variable, and as such it will not be recognised as a script function by the IDE and will require the use of the global prefix when being referenced in your code. Related: Script Functions vs. Methods

    +

     You can check this by using both forms in a script and then calling the runtime function typeof on each of them. One will be classed as a "ref" - since it returns a script function reference - and the other will be classed as a "method".

    This rule also applies when a function or method is created in an Object's event, however in that case the created script function (with the first syntax) will not be global and will only be available in the instance's context. See Method Variables for more information.

    Parameters/Arguments

    You can define your own parameters/arguments for a function, which will be available to the function as local variables and can be used for any purpose within that function:

    @@ -47,15 +47,16 @@

    Parameters/Arguments

        speed = spd;
        direction = dir;
    }

    -

    This function takes two arguments and applies their values to the instance's speed and direction variables. It can now be called like any runtime function and arguments can be passed into it:

    +

    This function takes two arguments and applies their values to the instance's speed and direction variables. It can now be called like any runtime function and arguments can be passed into it:

    var _mouse_dir = point_direction(x, y, mouse_x, mouse_y);

    move(4, _mouse_dir);

    Index-Based Arguments

    -

    Arguments passed into a function can also be accessed through the argumentN variables (argument0, argument1, etc.) or the argument[] array (argument[0], argument[1], etc.).

    -

    You can get the number of arguments passed into the function using argument_count, thus allowing a variable number of arguments to be passed in.

    -

    function print(){
    +

    Arguments passed into a function can also be accessed through the argumentN variables (argument0argument1, etc.) or the argument[] array (argument[0], argument[1], etc.).

    +

    You can get the number of arguments passed into the function using argument_count, thus allowing a variable number of arguments to be passed in.

    +

    function print()
    + {
        var _str = "";

        for (var i = 0; i < argument_count; i ++)
    @@ -72,17 +73,17 @@

    Index-Based Arguments

    This print() function loops through all the passed arguments, and adds them to a string variable. That string is then printed to the output log.

    You can now call this function with as many strings as you like, which will all be joined together.

    Optional Arguments

    -

    If an argument is not given to a function, its value will be undefined. You can use this to define optional arguments, and check whether an argument is passed in or not by checking if it is equal to undefined. However, you can also explicitly define a default value for an argument which will be used instead of undefined when it is not passed in.

    +

    If an argument is not given to a function, its value will be undefined. You can use this to define optional arguments, and check whether an argument is passed in or not by checking if it is equal to undefined. However, you can also explicitly define a default value for an argument which will be used instead of undefined when it is not passed in.

    You can assign such a default value to a parameter using the equal (=) sign, making it an optional variable:

    function move(spd, dir = 90)
    {
        speed = spd;
        direction = dir;
    }

    -

    If the dir argument is not passed in when calling the above function, then its value will default to 90, moving the instance in an upward direction.

    -

     You can omit arguments from function calls and they will default to undefined (or the default value for that argument as defined by the function).
    +

    If the dir argument is not passed in when calling the above function, then its value will default to 90, moving the instance in an upward direction.

    +

     You can omit arguments from function calls and they will default to undefined (or the default value for that argument as defined by the function).

    - For example, writing my_func(0,,,1) is the same as writing my_func(0, undefined, undefined, 1). + For example, writing my_func(0,,,1) is the same as writing my_func(0, undefined, undefined, 1).


    The default value of an optional variable can be an expression. When defining such a default value, you can call functions, use variables of any types and do anything you otherwise can in an expression in GML Code.

    @@ -116,7 +117,7 @@

    JSDoc

    Additional functions for the script can be added using the same format as shown above, one after the other within the script asset.

    Multiple Functions In One Script

    Return Value

    -

    Functions in scripts can also return a value, just as runtime functions can, and as such they can be used in expressions. For this you would use the return statement:

    +

    Functions in scripts can also return a value, just as runtime functions can, and as such they can be used in expressions. For this you would use the return statement:

    return <expression>;

    It should be noted that the execution of the function ends at the return statement, meaning that any code which comes after return has been called will not be run. Here is a short example function from a function called "sqr_calc" which calculates the square of whatever value is passed to it, and in case the given value is not a real number, it uses return to end the function early so the actual calculation never runs:

    /// @function           sqr_calc(val);
    @@ -133,7 +134,7 @@

    Return Value

        return (val * val);
    }

    -

    Note that if you create a script function with no return value then in your code check for one, you will get the value undefined by default.

    +

    Note that if you create a script function with no return value then in your code check for one, you will get the value undefined by default.

    To call a script function from within a piece of code, just use it the same way as when calling any runtime function - that is, write the function name with the parameter values in parentheses. So, the above script would be called like this:

    if (keyboard_check_pressed(vk_enter))
    {
    @@ -141,7 +142,7 @@

    Return Value

    }

     When using your own functions from scripts in the code editor, you can press F1 Icon or click the middle mouse button MMB Icon on the function name to open the script that contains it for editing directly.

    Script Names vs. Function Names

    -

    It is important to understand that script names are independent of the functions that they contain, so you can name your scripts in a more "common sense" way, i.e.: all your AI functions could go in a script "Enemy_AI" and contain functions like ai_target_pos(), ai_alert_level(), ai_state(), etc.

    +

    It is important to understand that script names are independent of the functions that they contain, so you can name your scripts in a more "common sense" way, i.e.: all your AI functions could go in a script Enemy_AI and contain functions like ai_target_pos(), ai_alert_level(), ai_state(), etc.

    However, you can still name a script the same as a function that you define in it and call the script, e.g. if you want one function per script (which can be useful for making reusable libraries so all functions are shown in the Asset Browser). When doing this, it is important to understand how script references behave to avoid code errors, due to the way GameMaker stores asset references.

    For example, consider this code, called from an instance's event:

    function indirectCall(func, arg)
    @@ -186,9 +187,9 @@

    Script Scope

    {
        // Do something else
    }

    -

    In the above case, not only have we defined the functions Foo and Bar but also the variable blah and all of them are considered to have been created in the global scope. The functions don't need the global keyword to be recognised as the compiler understands that these functions are part of the script, but if you wanted to access blah then you would need to do:

    +

    In the above case, not only have we defined the functions Foo and Bar but also the variable blah and all of them are considered to have been created in the global scope. The functions don't need the global keyword to be recognised as the compiler understands that these functions are part of the script, but if you wanted to access blah then you would need to do:

    val = global.blah;

    -

    That said, we recommend that you always explicitly type global variables when creating them in scripts to prevent any issues later. Scripts are also an ideal place to define any Macros or Enums (constants), as adding them to a script outside of a function also means that they will be created for use before the game code actually starts running. Below is an example of a script that is creating different global scope values for a game:

    +

    That said, we recommend that you always explicitly type global variables when creating them in scripts to prevent any issues later. Scripts are also an ideal place to define any Macros or Enums (Constants), as adding them to a script outside of a function also means that they will be created for use before the game code actually starts running. Below is an example of a script that is creating different global scope values for a game:

    /// Initialise All Global Scope Values And Constants
    global.player_score = 0;
    global.player_hp = 100;
    @@ -224,19 +225,18 @@

    Script Scope

    }

    So, scripts can be used to generate macros, enums and global variables before the game starts so they are ready for use at any time, and they can also be used to create "unbound" methods (user-defined functions) that can be used in your game like GML runtime functions.

    -

    One final thing to note about script functions is that if you are developing for Web (i.e.: targeting HTML5), then there is an additional function protocol that you can use when adding functions to scripts, which is to prefix a function name with gmcallback_, for example:

    +

    One final thing to note about script functions is that if you are developing for Web (i.e.: targeting HTML5), then there is an additional function protocol that you can use when adding functions to scripts, which is to prefix a function name with gmcallback_, for example:

    gmcallback_create_button

    -

    Using the above function name would mean that the function gmcallback_create_button() will not be obfuscated and so can be used in JavaScript extensions and other areas of your game, for example, when using the clickable_* functions.

    +

    Using the above function name would mean that the function gmcallback_create_button() will not be obfuscated and so can be used in JavaScript extensions and other areas of your game, for example, when using the clickable_* functions.

    Static Variables

    -

    Functions can also make use of static variables, which maintain their values throughout every function call. Please read this page for more information.

    -

     

    +

    Functions can also make use of static variables, which maintain their values throughout every function call. Please read Static Variables for more information.

     

     

    -
    © Copyright YoYo Games Ltd. 2024 All Rights Reserved
    +
    © Copyright YoYo Games Ltd. 2025 All Rights Reserved

    window_has_focus

    With this function you can poll the window (or tab) state and if it loses focus the function will return false, otherwise it will return true. In most cases you can simply use the os_is_paused function to test this, but in some very specific cases (for example games on Chrome Apps) that function will not trigger, in which case you should use this function instead.

    -

    This function is only valid on the HTML5, Windows, and macOS platforms.

    +

    This function is only valid on the HTML5, GX.games, Windows, and macOS platforms.

     

    Syntax:

    window_has_focus()

    From f28f0b596ef3f76043f452b6870f8285fd07ad08 Mon Sep 17 00:00:00 2001 From: YYBartT Date: Fri, 21 Nov 2025 18:01:45 +0100 Subject: [PATCH 05/44] docs(general): replaced non-breaking space with a regular space --- .../GML_Overview/Expressions_And_Operators.htm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Manual/contents/GameMaker_Language/GML_Overview/Expressions_And_Operators.htm b/Manual/contents/GameMaker_Language/GML_Overview/Expressions_And_Operators.htm index c029e569c..4d7ad26e0 100644 --- a/Manual/contents/GameMaker_Language/GML_Overview/Expressions_And_Operators.htm +++ b/Manual/contents/GameMaker_Language/GML_Overview/Expressions_And_Operators.htm @@ -138,7 +138,7 @@

    Operators

    The following unary operators are provided:

      -
    • !: boolean "not", so !true == false
    • +
    • !: boolean "not", so !true == false
    • -: negates the next real or integer value (not valid for strings or booleans)
    • ~: negates the next value bitwise
    From f5992497a44009737ef19cae9adaa0196eb4ada0 Mon Sep 17 00:00:00 2001 From: gurpreetsinghmatharoo Date: Mon, 24 Nov 2025 15:08:20 +0530 Subject: [PATCH 06/44] docs(general): get_login_async no work on gx game --- .../Asynchronous_Functions/Dialog/get_login_async.htm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Manual/contents/GameMaker_Language/GML_Reference/Asynchronous_Functions/Dialog/get_login_async.htm b/Manual/contents/GameMaker_Language/GML_Reference/Asynchronous_Functions/Dialog/get_login_async.htm index 242000a4d..974b74707 100644 --- a/Manual/contents/GameMaker_Language/GML_Reference/Asynchronous_Functions/Dialog/get_login_async.htm +++ b/Manual/contents/GameMaker_Language/GML_Reference/Asynchronous_Functions/Dialog/get_login_async.htm @@ -19,7 +19,7 @@

    get_login_async

    This is an asynchronous function, and as such GameMaker does not block the device it is being run on while waiting for an answer, but rather keeps on running events as normal. Once the user has input the details and pressed the Okay button, an asynchronous Dialog event is triggered which, for the duration of that event only, will have a DS Map stored in the variable async_load.

    This map will contain the keys "id", "status""username" and "password", with the user input stored in "username" and "password".

    This function will return an index number for the async event that was triggered, which can then be checked in the corresponding event so that you can "target" specific data in case you're expecting more than one async event to be triggered (perhaps from some other function).

    -
    +

     This function is not supported on the GX.games target.

     The password is returned unencrypted. You should make sure to encrypt it before doing anything with it, e.g. saving it to disk, sending it over a network, ...

     

    From db1544abd693a4175b8c40d3f816bda3bf098827 Mon Sep 17 00:00:00 2001 From: gurpreetsinghmatharoo Date: Mon, 24 Nov 2025 15:17:57 +0530 Subject: [PATCH 07/44] docs(feature): RMB delete prefab package from PFL https://github.com/YoYoGames/GameMaker-Bugs/issues/12826 --- Manual/contents/IDE_Tools/Package_Manager.htm | 4 ++-- Manual/contents/IDE_Tools/Prefab_Library.htm | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Manual/contents/IDE_Tools/Package_Manager.htm b/Manual/contents/IDE_Tools/Package_Manager.htm index df2eb8de7..356342779 100644 --- a/Manual/contents/IDE_Tools/Package_Manager.htm +++ b/Manual/contents/IDE_Tools/Package_Manager.htm @@ -17,12 +17,12 @@

    Package Manager

    -

    The Package Manager lets you install packages that GameMaker can use for the IDE and during your game's compilation. Currently you can use this to install latest versions of Localisation plugins, Project Tool and the Prefab LibraryThis is also used for packages that are required for GMRT (GameMaker Runtime).

    +

    The Package Manager lets you install packages that GameMaker can use for the IDE and during your game's compilation. Currently you can use this to install and manage versions of various IDE features like localisation plugins, Project Tool and the Prefab LibraryThis is also used for packages that are required for GMRT (GameMaker Runtime).

    The list on the left will show you all packages from the selected source, and clicking on a package will show its information on the right, where you can choose a version for the package and install it.

    Right-clicking on a package brings up a menu with options:

    You can enable or disable update notifications as well as automatic updates for the given package. Note that notifications are enabled by default for GMRT packages and disabled for all other packages.

     Some packages may have other packages installed as dependencies. On uninstalling a package, depending on the package, it may or may not uninstall its dependencies or it may prompt the user to choose whether dependencies should be deleted or kept.

    -

     You cannot uninstall a package if another installed package uses it as a dependency.

    +

     You cannot uninstall a package if another installed package uses it as a dependency or if it is a required package for the IDE (e.g. Filters and Effects).

    In the top-left corner you can search for a package, and in the top-right corner you can change the source for the packages from a drop-down menu.

    Package Sources

    A package source is a URL to a remote registry where packages are stored. Selecting a source will change what packages you see listed in the Package Manager, depending not only on the URL of the registry but also on the scopes of that source, which acts as a filter, so only those packages matching the scopes are shown.

    diff --git a/Manual/contents/IDE_Tools/Prefab_Library.htm b/Manual/contents/IDE_Tools/Prefab_Library.htm index 8991272f1..b727cb211 100644 --- a/Manual/contents/IDE_Tools/Prefab_Library.htm +++ b/Manual/contents/IDE_Tools/Prefab_Library.htm @@ -106,6 +106,7 @@

    RMB Menu

  • Add/Remove Collection Reference: Add or remove a reference to this Collection in the current project. When the project has a reference to the Collection, assets from the Collection can be referenced in code.
  • Show In Inspector: Show the selected asset in The Inspector.
  • Show in Package Manager: This opens the Package Manager with the package for this Collection selected, so you can check for new versions or make any other changes to the source package.
  • +
  • Uninstall Prefab: This uninstalls the package associated with this Prefab Asset or Collection. This is useful in cases where the version of the Prefab Collection you have installed no longer exists in the Package Manager and you would be unable to uninstall it from there.
  • Duplicate into Project: This duplicates the selected asset (or all assets in the selected Collection/folder) into your project as a local asset, i.e. the asset becomes unlinked from its Collection and is fully editable as part of the current project. It will no longer be updated if there are changes to the source asset in the Collection.
    • When used on a Collection or a folder in a Collection, this process is recursive, i.e. it duplicates assets in all subfolders present within the selected folder and all subfolders within them, and so on.
    • From cd710877c0341b68b0f1b55aee352033f2828aeb Mon Sep 17 00:00:00 2001 From: gurpreetsinghmatharoo Date: Tue, 25 Nov 2025 14:59:27 +0530 Subject: [PATCH 08/44] docs(feature): IDE will install prefabs by default https://github.com/YoYoGames/YoYoStudio/issues/12274 --- Manual/contents/IDE_Tools/Prefab_Library.htm | 1 + 1 file changed, 1 insertion(+) diff --git a/Manual/contents/IDE_Tools/Prefab_Library.htm b/Manual/contents/IDE_Tools/Prefab_Library.htm index b727cb211..370d28866 100644 --- a/Manual/contents/IDE_Tools/Prefab_Library.htm +++ b/Manual/contents/IDE_Tools/Prefab_Library.htm @@ -25,6 +25,7 @@

      Prefab Library

      Adding Prefab Packages

      Currently you can use the official GameMaker Asset Bundles via the Prefab Library.

      Open the Prefab Library via the Windows menu in the menu bar. When you open this for the first time, your Prefab Library will be empty.

      +

       You may see Prefab Collections installed by default that are needed for IDE functionality (e.g. Filters and Effects).

      Click on "Package Manager" to add Collection packages:

      This opens the Package Manager window with the "Package source" drop-down set to "Prefabs". From here, you can install any of the official GameMaker Asset Bundles.

      Once installed, they will show up in your Prefab Library, from where you can navigate to any individual assets within the Collections:

      From c2e9716be20ad88dae40c5beeefb1f4cd0e9938d Mon Sep 17 00:00:00 2001 From: Gurpreet Singh Matharoo Date: Tue, 25 Nov 2025 15:43:25 +0530 Subject: [PATCH 09/44] docs(feature): variable label and desc https://github.com/YoYoGames/YoYoStudio/issues/11043 --- .../Object_Properties/Object_Variables.htm | 7 +++++-- .../Editor_Object_NewVariable.png | Bin 7712 -> 8437 bytes 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Manual/contents/The_Asset_Editors/Object_Properties/Object_Variables.htm b/Manual/contents/The_Asset_Editors/Object_Properties/Object_Variables.htm index afcc421d0..7e014beb1 100644 --- a/Manual/contents/The_Asset_Editors/Object_Properties/Object_Variables.htm +++ b/Manual/contents/The_Asset_Editors/Object_Properties/Object_Variables.htm @@ -17,7 +17,10 @@

      Object Variables

      When you click on the Variable Definitions button it will open up the Object Variables window, which you can then use to generate any number of variables before the Create Event is run for every new instance of the object: 

      Object Editor Variables WindowIn this window you can click on the button Add to add a new variable to the list. You can then name the variable as well as set its type and adjust its properties:

      -

      Object Editor New VariableThe variable name must start with a letter and can contain only letters, numbers, and the underscore symbol _ with a maximum length of 64 symbols. So, valid variables are things like fish, foo_bar, num1, and invalid variables would be 6fish, foo bar, or *num. Once you have given the name of the variable you need to set its type, which can be any of the following:Object Editor Variable TypesIt is worth noting that this feature is particularly useful when working with parent/child objects - since you can have a parent object with a set of defined variables and then simply modify them in a child object (see the section Object Variables And Child Objects below for more details) - and for when you add instances to The Room Editor (see the section on Layers > Instance Layer), since you can also modify these variables for individual instances that have been placed in the room.

      +

      Object Editor New VariableThe variable name must start with a letter and can contain only letters, numbers, and the underscore symbol _ with a maximum length of 64 symbols. So, valid variables are things like fish, foo_bar, num1, and invalid variables would be 6fish, foo bar, or *num.

      +

      You can click the  icon next to a variable's name to define its label and description. This label and description will appear when you hover over the icon in the Variables window.

      +

      Once you have given the name of the variable you need to set its type, which can be any of the following:Object Editor Variable TypesThis feature is particularly useful when working with parent/child objects - since you can have a parent object with a set of defined variables and then simply modify them in a child object (see the section Object Variables And Child Objects below for more details) - and for when you add instances to The Room Editor (see the section on Layers > Instance Layer), since you can also modify these variables for individual instances that have been placed in the room.

      +

      Types

      The different types of variable that you can create are listed below:

      • Real: A real number is any number that is not a whole integer and can be positive or negative. So, 124.5, 45639.566546456, 0.9, -45.5, etc., are all examples of real numbers. All real numbers are stored as 64bit floating point values (doubles). The real (and integer) data types have an option for setting a range of values which can be accessed by clicking the Options Variable Options Icon button:Object Editor Real Variable OptionsWhen you check this you can then input a start value and an end value and instead of having a fixed value shown for the variable in the Object Variables window, you will have a slider that is clamped to these values:
        @@ -57,7 +60,7 @@

        Pre-creation Code

  • -
    © Copyright YoYo Games Ltd. 2024 All Rights Reserved
    +
    © Copyright YoYo Games Ltd. 2025 All Rights Reserved

    room_persistent

    -

    This variable can be used to get and to set the persistent flag for the current room. If set to true the room is considered persistent, in which case each time you leave the room and come back again the state of the instances within that room will have been maintained. However if it is flagged as false, each time you return to the room it will be reset to its initial state. You should note that a persistent room uses considerably more memory than a normal room and it is not recommended to have too many of them in your game.

    +

    This variable can be used to get and to set the persistent flag for the current room.

    +

    If set to true the room is considered persistent, in which case each time you leave the room and come back again the state of the instances within that room will have been maintained. However, if it is flagged as false, each time you return to the room it will be reset to its initial state.

    +

     A persistent room uses considerably more memory than a normal room and it is not recommended to have too many of them in your game.

     

    Syntax:

    -

    room_persistent;

    +

    room_persistent

     

    Returns:

    Boolean

     

    Example:

    -

    if (lives < 1)
    +

    if (lives < 1)
    {
        room_persistent = false;
        room_goto(rm_start);
    }

    -

    The above code checks the variable "lives" and if it is less than 1, it will set the room persistence to false and then change rooms.

    +

    The above code checks the variable lives and if it is less than 1, it will set the room persistence to false and then change rooms.

     

     

    -

    Asset Browser Preferences

    -

    The Asset Browser PreferencesThe Asset Browser Preferences are used to define certain properties for how the Asset Browser and its elements function. The main options are:

    +

    Asset Browser Preferences

    +

    The Asset Browser PreferencesThe Asset Browser Preferences are used to define certain properties for how The Asset Browser and its elements function. The main options are:

    • Show Quick Access: When enabled, this option will show the "Quick Access" section at the top of the Asset Browser. This option is enabled by default.
    • Create default folders in new project: When enabled, this option will have all new projects start with the default asset folders already created, and when disabled, only a room folder will be created with the default room required by all projects. This option is disabled by default.
    • Maximum number of assets to open simultaneously without warning: You can select multiple assets for opening at a time by using Icon Control / Icon Cmd +  Icon LMB to select them and then right clicking Icon RMB and choosing open all. If you have selected more than the number specified in this option, then you will be shown a warning, since having too many assets open at one time can cause issues with performance on lower end machines. The default value is 10.
    • Maximum recently edited items: This setting governs the number of assets listed in the "Recent" section of the Asset Browser. The default value is 10.
    • -
    • Colour Palette Size: Here you can set the number of colours available to you in the asset browser palette for asset groups. The default value is 16, with a minimum value of 16 and a maximum value of 100.
    • +
    • Colour Palette Size: Here you can set the number of colours available to you in the Asset Browser palette for asset groups. The default value is 16, with a minimum value of 16 and a maximum value of 100.
    • Apply asset colours in Quick Access: When checked, this option will use the colours set for any given asset type to colour the asset in the Quick Access section of the browser. Unchecking this option will not use the asset colour. This is enabled by default.
    • -
    • Group colours override child colours: When checked, this will use the top level group colour to colour any assets within the group, ignoring any colour that was set for the individual asset. This is disabled by default.
    • +
    • Group colours override child colours: When checked, this will use the top-level group colour to colour any assets within the group, ignoring any colour that was set for the individual asset. This is disabled by default.
    • Create asset dialogue style: When you click the "Add Asset" button in the Asset Browser, you will be presented with a window showing you the different assets that can be added to your project. This window can be presented in a list view or a grid view, and this setting governs which is shown by default. Default value is grid.
    • Default sort order: This can be used to set the default sort order for assets in the browser, either alphabetical oder from A to Z or from Z to A. Default is from A to Z.
    • -
    • Default sort folders first: When this is enabled, the asset browser will sort folders first, then any "loose" assets second, while if this is disabled then all assets and folders will be sorted together. This is enabled by default.
    • -
    • Sprite double click opens image editor: By default double clicking Icon LMB on any asset will open that asset for editing, but often when dealing with sprites, after the initial setup when you create the new asset, you open it to edit the image rather than the sprite properties. Selecting this option will open the image editor for the sprite asset instead of the sprite asset itself. You can still open the sprite editor by right clicking Icon RMB and selecting Edit. This option is off by default.
    • -
    • Object double click opens all object events: By default double clicking Icon LMB on any asset will open that asset for editing, but often when dealing with objects, after the initial setup when you create the new asset, you open it to edit the events only rather than the object properties. Selecting this option will open the different object events in a new workspace, with each event being given its own tab within the new workspace. You can still open the object editor by right clicking Icon RMB and selecting Edit. This option is off by default.
    • -
    • Room order ungroup removes the empty group: When enabled, ungrouping all the rooms that belong to a group folder will remove the group folder as well. When disabled, the same action will ungroup the rooms but leave the empty group folder in the asset browser. This is enabled by default.
    • +
    • Default sort folders first: When this is enabled, the Asset Browser will sort folders first, then any "loose" assets second, while if this is disabled then all assets and folders will be sorted together. This is enabled by default.
    • +
    • Sprite double click opens image editor: By default, double-clicking Icon LMB on any asset will open that asset for editing, but often when dealing with sprites, after the initial setup when you create the new asset, you open it to edit the image rather than the sprite properties. Selecting this option will open the image editor for the sprite asset instead of the sprite asset itself. You can still open the Sprite Editor by right-clicking Icon RMB and selecting Edit. This option is off by default.
    • +
    • Object double click opens all object events: By default, double-clicking Icon LMB on any asset will open that asset for editing, but often when dealing with objects, after the initial setup when you create the new asset, you open it to edit the events only rather than the object properties. Selecting this option will open the different object events in a new workspace, with each event being given its own tab within the new workspace. You can still open the Object Editor by right-clicking Icon RMB and selecting Edit. This option is off by default.
    • +
    • Room order ungroup removes the empty group: When enabled, ungrouping all the rooms that belong to a group folder will remove the group folder as well. When disabled, the same action will ungroup the rooms but leave the empty group folder in the Asset Browser. This is enabled by default.
    • Default zoom (%): This sets the default zoom percentage for the Asset Browser when you start a new project. The default value is 100%.
    • Minimum zoom (%): This sets the minimum zoom value permitted for the Asset Browser. Default is 50%.
    • Maximum zoom (%): This sets the maximum zoom value permitted for the Asset Browser. Default is 250%.
    • Show tree lines: Here you can enable/disable the tree lines that are shown to the side of assets in the Asset Browser. This is checked by default to show the tree lines.
    • -
    • Expand tree on filter change: This option will force the Asset Browser to expand any collapsed tree nodes when yuou change the filter options. Disabling the option will prevent this. Default is enabled.
    • +
    • Expand tree on filter change: This option will force the Asset Browser to expand any collapsed tree nodes when you change the filter options. Disabling the option will prevent this. Default is enabled.

     

    Confirm Dialogs

    @@ -67,7 +67,7 @@

    Asset Browser Preferences

    Quick Access

    @@ -57,20 +53,18 @@

    The Asset Browser

  • Recent: Here you can find a list of the most recently used assets. By default a maximum of 10 assets will be listed here, but you can change this from the Asset Browser Preferences.
  • Favourites: Once you have added some assets to the asset list, you may have some that you access frequently at any given time and so to make things easier you can flag these assets as "favourites", which will add them to this list and let you quickly find them. To flag an asset as a favourite use the right mouse button Icon RMB on it and select Favourite from the pop-up menu. Note that you can use the right mouse button Icon RMB again to unfavourite any asset, and if you use the button on the main Favourites folder, you can select Clear All to remove everything.
  • Room Order: From here you can change the order that your rooms will run in. All projects require at least one room to run and the room at the top of the list is the "home" room and will be the first room entered when the game initially starts (it is flagged with a "home" icon The Home Room Icon). To quickly change room order, simply click LMB Icon and drag the room up or down the list and then release the mouse button to place it at the new position. If you click the "home" icon, then you will open the Room Manager and if you use the right mouse button Icon RMB on a room you can create a child room. For more information on room order and child rooms please see the page on The Room Manager.
  • -
  • Saved Filters: When using the filtering options, you may want to save the selection you've made for future reference. To do that, set up the filter as explained further up this page, and then click the right mouse button Icon RMB on this option and select Save Filter. The filter will be saved to this list and you can rename it if required. To use the filter, simply double-click LMB Icon on it or use the right mouse button Icon RMB menu option Apply Filter. You can also Delete and Rename saved filters from the RMB Icon RMB menu.
  • +
  • Saved Searches: When using the filtering options, you may want to save the selection you've made for future reference. To do that, set up the filter as explained further up this page, and then click the right mouse button Icon RMB on this option and select Save Current Filter. The filter will be saved to this list and you can rename it if required. To use the filter, simply double-click LMB Icon on it or use the right mouse button Icon RMB menu option Apply Filter. You can also Delete and Rename saved filters from the RMB Icon RMB menu.
  • Tags: All assets in the Asset Browser can be assigned user-defined Tags. These will then be listed here and you can use them to filter the assets shown in the asset list and you can double-click LMB Icon any tag (or use the right mouse button Icon RMB option Filter By Tag) to apply that tag to the asset list filter. Any applied tags are shown at the bottom of the Asset Browser in the Information section. For more information on tags, see further down in this page.
  • Game Options: Here you can quickly access the various different Game Options for your project. These control various different aspects of the project related to setting up and compiling for the different target platforms (what Game Options are available will depend on what licence type you have). You can find more information on each of the options listed from the section on the Game Options.
  • +
  • Prefabs: Here you can find a list of all customised prefabs that you've added to your project.
  • -
    -

     

    -

    Asset List

    This section of the Asset Browser lists all the different assets that you are using in your game. By default - when you create a new project - this will only contain a room asset that is required to run your game. You can right-click in the Asset List and select "Create Group" to create folders and organise your assets.

     You can enable the "Create default groups in new project" option in the preferences so that any new projects are created with folders for each asset type pre-created.

    You can create folders for the asset types you use, or alternatively, you may find it more useful to create a group of assets for each level of your game rather than for each kind of asset, so you can create folder groups called "Level 1", "Level 2", etc., and store all the different assets for each level in the same folder. How you organise things really is up to you!

    -

    Asset Browser Example To add a new asset to the list you can use the  Add Asset button at the top of the Asset Browser, or you can open the right mouse button Icon RMB menu anywhere in the asset list and then select the asset type to create:

    +

    Asset Browser Example To add a new asset to the list you can use the Add Asset Add Asset button at the top of the Asset Browser, or you can open the right mouse button Icon RMB menu anywhere in the asset list and then select the asset type to create:

    Create Asset RMB Menu Once the asset has been created it will be opened in the workspace. To open an asset manually you can double-click LMB Icon on it or drag it into the currently open workspace where its editor will appear where it was dropped under the mouse cursor.

    You can rename it to something that is appropriate to your game, but note that asset names can only be alpha-numeric, cannot start with a number, and can only use the underscore "_" as an additional character. You can also use the RMB Icon RMB menu to create new folder groups to contain assets using the Create Group option, and these can be named anything you wish. If you want to rename any asset or folder group, then you can do a slow double-click LMB Icon on them or use the RMB Icon RMB menu option Rename.

    An important feature of the Asset Browser is the ability to colour assets so they are more immediately recognisable within the list. You can do this by clicking the right mouse button Icon RMB on the asset or folder to bring up the RMB menu and then selecting a colour from the colour strip at the bottom. If you do this on a group, then this will also colour any asset contained within the group:

    @@ -79,7 +73,6 @@

    The Asset Browser

    Colour Assets

    How you colour things is up to you - it can be by asset type, by use, or by any other criteria!

     You can select folders and assets then click LMB Icon and drag them to move them out of - or into - any other folder group in the asset list. You can also delete any or all of the folder groups if they are not required, keeping the asset list tidy and only showing the required elements for the project.

    -

     

    Information

    diff --git a/Manual/contents/assets/Images/Introduction/QS_AssetBrowser.png b/Manual/contents/assets/Images/Introduction/QS_AssetBrowser.png index aa84300f59ffc9351dcde499c5de1a8e20036db1..1d77eae2475970d5affa59e473e860adc1441c70 100644 GIT binary patch literal 45611 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 TpMIxvE>h6dGSsX9*}eHMc&%=- literal 56160 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 From d4700c6848b2ccb9baf2dc6f368b67dc73447302 Mon Sep 17 00:00:00 2001 From: YYBartT Date: Tue, 2 Dec 2025 11:57:15 +0100 Subject: [PATCH 30/44] docs(general): Changed GML reference pages to use RH variables for the language names YoYoGames/GameMaker-Manual#334 * Also replaced heading texts with title field --- .../Drag_And_Drop/Drag_And_Drop_Index.htm | 14 +++++++------- .../Drag_And_Drop_Overview/DnD_Overview.htm | 12 ++++++------ .../Drag_And_Drop_Reference/DnD_Reference.htm | 4 ++-- Manual/contents/GameMaker_Language.htm | 4 ++-- .../GML_Overview/GML_Overview.htm | 6 +++--- .../GML_Reference/GML_Reference.htm | 6 +++--- .../GameMaker_Language_Index.htm | 18 +++++++++--------- 7 files changed, 32 insertions(+), 32 deletions(-) diff --git a/Manual/contents/Drag_And_Drop/Drag_And_Drop_Index.htm b/Manual/contents/Drag_And_Drop/Drag_And_Drop_Index.htm index 19b8f6a91..aaeccffc6 100644 --- a/Manual/contents/Drag_And_Drop/Drag_And_Drop_Index.htm +++ b/Manual/contents/Drag_And_Drop/Drag_And_Drop_Index.htm @@ -3,8 +3,8 @@ - GML Visual - + {GML_Visual} + @@ -15,12 +15,12 @@ -

    GML Visual

    +

    {GML_Visual}

    GML Visual is the visual scripting method for programming with the GameMaker Language (GML). It consists of using action blocks to construct game logic in a visual and intuitive way, and is an ideal tool for people who are learning programming, or for people that have a more visual inclination.

    The GML Visual section of the manual is split into the following sections:

     

     

    @@ -28,10 +28,10 @@

    GML Visual

    -
    Next: GML Visual
    +
    Next: GML Code
    -
    © Copyright YoYo Games Ltd. 2022 All Rights Reserved
    +
    © Copyright YoYo Games Ltd. 2025 All Rights Reserved
    diff --git a/Manual/contents/Drag_And_Drop/Drag_And_Drop_Overview/DnD_Overview.htm b/Manual/contents/Drag_And_Drop/Drag_And_Drop_Overview/DnD_Overview.htm index 6e9fcdb04..a3833f20b 100644 --- a/Manual/contents/Drag_And_Drop/Drag_And_Drop_Overview/DnD_Overview.htm +++ b/Manual/contents/Drag_And_Drop/Drag_And_Drop_Overview/DnD_Overview.htm @@ -3,7 +3,7 @@ - GML Visual​​​​​​​ Overview + {GML_Visual}​​​​​​​ Overview @@ -14,9 +14,9 @@ -

    GML Visual Overview

    +

    GML Visual Overview

    GML Visual is a visual scripting tool that can be used to create your games without actually typing any code. That's not to say that you aren't programming code when you use GML Visual, as you are, only that your code is created and presented in a visual way using "blocks" of actions rather than text. Actions are simple expressions or statements that can be "chained" together to have an instance of an object do something when placed in a room. For example, you could have an action in a Create Event to move an instance in a random direction, and another action in a Collision Event to make it bounce off the things it collides with (for more information on the different events available and how they work together see the section on Object Events).

    -

    GML Visual Overview ScreenThe image above shows a typical object open on a workspace to be edited. It has an "Event" window and a "Code" window chained to it, and in the code window you can see where we have constructed our GML Visual. Let's look a bit closer at this window and see what options are available to us:

    +

    GML Visual Overview ScreenThe image above shows a typical object open on a workspace to be edited. It has an "Event" window and a "Code" window chained to it, and in the code window you can see where we have constructed our GML Visual. Let's look a bit closer at this window and see what options are available to us:

    GML Visual Properties ScreenBelow you can find more information on each of the sections shown:

    Event Tabs

    @@ -38,7 +38,7 @@

    GML Visual Overview

    Toolbox

    -

    The toolbox is where all the GML Visual actions are stored, with different sections holding collections (libraries) of actions that are similar or related. Each collection of actions is related to a specific theme or common purpose and you simply click LMB Icon and drag the required action from the toolbox into the action block workspace to add it to the current event. To make things simpler - as there are a lot of actions - you can use the "Search" bar at the top to search for a specific action or to filter the visible actions (type "draw" for example to get all the drawing actions), and you can also click LMB Icon and drag icons from any library into your Favourites folder to keep commonly used actions together. This is particularly useful if there are certain things you'll be doing again and again. The favourites folder can be cleared by clicking the small "bin" icon.

    +

    The toolbox is where all the GML Visual actions are stored, with different sections holding collections (libraries) of actions that are similar or related. Each collection of actions is related to a specific theme or common purpose and you simply click LMB Icon and drag the required action from the toolbox into the action block workspace to add it to the current event. To make things simpler - as there are a lot of actions - you can use the "Search" bar at the top to search for a specific action or to filter the visible actions (type "draw" for example to get all the drawing actions), and you can also click LMB Icon and drag icons from any library into your Favourites folder to keep commonly used actions together. This is particularly useful if there are certain things you'll be doing again and again. The favourites folder can be cleared by clicking the small "bin" icon.

    For a complete list of the actions available, as well as what arguments they take and how they can be chained, please see the GML Visual Reference section.

    You can use the right mouse button LMB Icon on any action in the toolbox to open the following menu:

    Toolbox RMB Menu

    @@ -48,7 +48,7 @@

    GML Visual Overview

  • Make / Remove Favourite: This will add or remove the action to the Favourites library at the top of the toolbox. This library is where you can create a custom group of actions that you use regularly, reducing the amount of time needed to look for them in their actual libraries.
  • Clear Favourites: Selecting this will remove all actions from the Favourites library.
  • Clear Recently Used: Selecting this will remove all actions from the Recently Used library.
  • -
  • Collapse All: This option will collapse all the GML Visual libraries so that only the library titles are visible, and not the action nodes. Each library can be expanded again by clicking on them.
  • +
  • Collapse All: This option will collapse all the GML Visual libraries so that only the library titles are visible, and not the action nodes. Each library can be expanded again by clicking on them.
  •  

    @@ -71,7 +71,7 @@

    GML Visual Overview

    Next: GML Visual Reference 
    -
    © Copyright YoYo Games Ltd. 2024 All Rights Reserved
    +
    © Copyright YoYo Games Ltd. 2025 All Rights Reserved
    -

    GML Visual Reference

    +

    GML Visual Reference

    This section of the manual lists all the different actions available to you when using GML Visual to program your game. Below you can find each of the different Action Libraries available to you from the object GML Visual Toolbox, and within each library section the individual actions are explained, along with examples of use.