Hello, it will not - this is a DLL for Windows.
I don’t think you can do much more than the built-in functions allow you to on Android, but you can work with the SD card if you know the path to it (shown in file managers)
Each room_pack_load_
function loads the provided room file/data before returning. This is by all means like instance_create_
functions, but with rooms.
You can use the Profiler in GameMaker’s debugger to figure out what’s time-consuming - perhaps you are occasionally loading more rooms than you think, or some of your rooms take longer to load than others (e.g. the bigger the room, the bigger is its tile grid).
There appear to be some issues with specific character ranges but I’m yet to figure out whether this is an issue on my end (some characters in JS are actually two “surrogate pair” characters) or a limitation of font generator library I use.
You can try opening the font in FontForge to see where did the glyphs go
Rooms are JSON - you can see what it has generated in the script/file and access it yourself as you may,
var _x_ini_node = 2016;
repeat (3) {
var json_rooms = scr_room_node(); // generated from rooms starting with rt_
// pick a random room name from the map:
var name = ds_map_find_first(json_rooms);
repeat (irandom_range(0, ds_map_size(json_rooms) - 1)) {
name = ds_map_find_next(json_rooms, name);
}
// and load that:
var _room = json_rooms[?name];
room_pack_load_map(_room, _x_ini_node, 0, room_pack_flag_instances);
var _roomSettings = _room[?"roomSettings"];
_x_ini_node += _roomSettings[?"Width"];
}
// and when you're done:
ds_map_destroy(json_rooms);
Not automatically, no - the first GameMaker version where it’s possible to automatically collect built-in functions and call them by index is GMS 2.3. Older versions require making a script for every function that you want to be callable from Lua - one way or another.
See this topic on GM forums for some suggestions.
Looking back through the threads, I did make an extension for custom border+controls later on.
See troubleshooting - you might be creating several instances of obj_gmlive
and/or destroying/deactivating one or both.
display_measure does that - work area is the screen area without the taskbar (and/or docks, which you don’t really see anymore)
sprite_set_live
is mostly just a sprite_replace
call so it’s not very smart when it comes to less-common features and even less smart when it comes to things you can’t do in GML (like different times per frame).
For a workaround, could save your original sprite_get_nineslice(spr)
and sprite_set_nineslice
it when sprite_get_nineslice(spr).enabled == false
.
You can un-tick “export” check boxes for those in “Included Files” window (accessed using the menu in top-right of resource tree) - they are supposed to be un-ticked by default, but that doesn’t always work for some reason.
If they still export despite un-ticking the check boxes, you can remove them manually - they don’t do anything and the end user cannot get much use of them either.
You’ll want to find
if(live_enabled)
function live_auto_call_1(){
#macro live_auto_call if (live_auto_call_1()) { var lac_argc = argument_count, lac_args = array_create(lac_argc), lac_argk = 0; repeat (lac_argc) { lac_args[lac_argk] = argument[lac_argk]; lac_argk++; } if (live_auto_call_2(lac_args)) return live_result; };
...
return true;
}
and change it to
function live_auto_call_1(){
if(live_enabled) {
#macro live_auto_call if (live_auto_call_1()) { var lac_argc = argument_count, lac_args = array_create(lac_argc), lac_argk = 0; repeat (lac_argc) { lac_args[lac_argk] = argument[lac_argk]; lac_argk++; } if (live_auto_call_2(lac_args)) return live_result; };
...
return true;
} else return false;
}
Auto-completion for structs works if
It’s a local variable, which is handled by the (smarter, slower) linter instead of project-wide indexer
It’s a new ConstructorName
, inside of which you’ve set your variables
You’ve specified the type yourself via
/// @hint {int} ImportantStruct:x
/// @hint {int} ImportantStruct:y
t = { /// @is {ImportantStruct}
x: 1,
y: 2
}
Fixed that for the next release as well (well, mostly).
If you have enabled “warn about missing fields”, you’ll get warning about typos when saving, but auto-completion is a bunch dumber since it has to quickly find what you are trying to access - it’s generally not cheap to back-track through the whole file whenever the user presses .
Judging by documentation, it looks plausible, but the related functions (animcurve_channel_new, etc.) are perhaps among the least-used in GML so it’s hard to tell whether
The next update will no longer complain about there being too many function arguments in built-in functions because I’m tired of fixing these.
I’m currently torn apart between multiple work projects and trying to make ScriptName.varName work without breaking 2.3.7 compatibility, but you can use live_function_add
to override a function signature and live_constant_add
to add a missing constant.
I have received your email but I have not been able to reproduce it in my test project with the code - either I accidentally fixed it since last release or this is a GameMaker bug that only exists in some runtimes.
No estimate for when the new version will be ready - there are some technical challenges (including coroutines, which work awfully weird in general) and also GM updates keep breaking my code - if you download the repository and compile it, the unit tests fail in good half of recent GM updates.