GMEdit and GM8.x - YellowAfterlife/GMEdit GitHub Wiki
This page covers GMEdit's support for the more antique GameMaker versions and custom languages that are equivalent to the said GM versions.
Resource manipulation
- GMEdit can edit code for scripts and objects
- GMEdit will try to open something reasonable for other resource types
- GMEdit cannot create/move/destroy resources because this isn't code that I can reuse from elsewhere
Rest assured, you'll want to have a "regular" IDE open alongside.
Existing syntax extensions
#args magic
Same as usual,
but with structure changes to make up for lack of var name = value.
Using ?arg assumes that you have a constant called undefined in your project.
Having undefined be chr(0) seems to be a reasonable idea in GM8.x.
Template strings
Should work fine if you'll edit the script to not use buffers.
#import aliasing
Some sort of conflict with other syntax extensions? I might look into it eventually.
#lambda inline functions
Need to be able to create/destroy scripts for those!
The rest
Older GM versions have no ternary operators, short-circuit evaluations,
and even no formal undefined type,
so most of the other GMEdit extensions can't really work here.
New syntax extensions
These are exclusive to GM8.x
Variable assignments
You can do
var a = 1, b = 2;
and this will turn into
var a, b; a = 1; b = 2;
Works for globalvar too!
DS accessors
Just like in the newer GM versions, you can use
map[?key], list[|index] and grid[#x, y].
So
grid = ds_grid_create(4, 4);
grid[#1, 2] = "value";
map = ds_map_create();
map[?"key"] = grid[#1, 2];
will become
grid = ds_grid_create(4, 4);
ds_grid_set(grid, 1, 2, "value");
map = ds_map_create();
ds_map_set(map, "key", ds_grid_get(grid, 1, 2));
Helper functions come from this GML file that you can import by drag-and-dropping it onto GameMaker IDE window.