Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

It seems like some unused variables are treated as syntax errors and that the HTML5 compiler is complaining about them.

That is not how that works at all.

Here’s the code that is suddenly illegal as of the new update:

function scr_hello() {
    static arr = [];
    static one = 1;
}

Because it produces broken JavaScript:

This can be addressed by globally find-replacing

static __enumParams__=[

to

__enumParams__=[

But wait, there’s more: functions are missing!

Go into GMLiveAPI script and find-replace gc_target_frame_time and gc_get_target_frame_time to l_dummy. You will notice that there are a handful more mentions of l_dummy in the script because this is not the first time.

But wait, there’s more: live_method doesn’t work! Or, rather, method_get_self doesn’t work. This will break the HTML5 runtime:

function scr_a_bug() {
	var f = method({}, scr_a_bug);
	var r = method_get_self(f);
}

Fortunately, most people use neither live_method nor method_get_self, so this might be OK.

Until then someone else proposed to simply replace the #macro live_enabled 1 in obj_gmlives create event with #macro live_enabled browser_not_a_browser. This way you can at least use it in the project, build everything using GMLive and then simply test it on the target platform.

That is not how it works either, browser_not_a_browser is equal to -1 so this is the same as setting live_enabled to 0.