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.