1.0.25 - GMLive beta for GameMaker Studio 2.3 beta!


Hello! I have released a new version of GMLive that can be used with 2.3 beta!

What works:

  • Generally any code that worked in 2.2
  • Structs
  • Method calls
  • Inline functions (including inline functions created inside live code and returned back to normal GML)

What is known to not work:

  • Try-catch does not work quite right yet.
  • Inner "static" variables inside functions
    (there's no way to automatically query them)
  • Constructors cannot be live-coded
    (as they are currently rather non-dynamic)
  • Chained accessors may not work 100% identically to 2.3 GML

Live-coding anonymous functions:

If a function is not global (top-level in a script), there's no way to match it up to source code.

So I have added a new global variable called "live_name" that can be set to any unique string prior to a live_call to tell apart such functions. For example,

Greety = function(_name) constructor {
    name = _name;
    static greet = function() {
        live_name = "Greety:greet";
        if (live_call()) return live_result;
        trace("A greet from", name)
    }
}

this way you'll be able to live-code the function despite it being tucked away inside static variables of a constructor.

If you found something that does not work, post a code snippet in comments or create a discussion topic!

Mini-updates:

1.0.25b:

  • Fixed min, max, gml_pragma, and a few other functions not working in live code.
  • Added a mechanism to automatically expose any missing functions (although it will not be able to check if you are calling them right in such case)

1.025c:

  • Fixed an issue with nested macros not working right.
  • Made "variable not found" errors print instances a little better.

1.025d:

  • Added some checks so that GMLive doesn't crash if the live script is compiled but missing (see this report).
  • Added a workaround for snippets not working.

Files

[archive] GMLive (for GMS2.3).yymps 895 kB
Version 1.0.72 Sep 27, 2023
[archive] GMLive (for GMS2.3).yymps 895 kB
Version 1.0.25 Jul 14, 2020

Get GMLive.gml for GameMaker

Buy Now$29.95 USD or more

Comments

Log in with itch.io to leave a comment.

___________________________________________
############################################################################################
ERROR in
action number 1
of Draw Event
for object obj_player:

Variable <unknown_object>.status(104321, -2147483648) cannot be resolved.
 at gml_Script_live_call (line 10132) -                             if (l_th.status == gml_thread_status.done) {
############################################################################################
gml_Script_live_call (line 10132)
gml_Object_obj_player_Draw_0 (line 1) - if live_call() return live_result;
gml_Script_scr_draw_depthsort (line 22)
gml_Script_scr_draw_surface (line 211) -                                    scr_draw_depthsort(true);
gml_Script_scr_draw_game (line 4) -        scr_draw_surface(surfKinds.game, false);
gml_Object_sys_game_Draw_0 (line 1) - scr_draw_game();

i did the renaming macros function, now this error pops up instead

Please email or DM me a sample project!

x = lerp(a, b, min(1, step * 1.5));

after reloading shows:

(obj_xxx) does not have a variable `min`
(+1)

Uploaded 1.0.25b to fix this.

Just checked and now it reloaded my code :)