1.1.5#
Moved initialization code out of gml_pragma into a global script for compatibility with latest versions of GameMaker Studio.
Renamed array_create_ext to array_create_general code> to avoid conflicts with the new built-in function of the same name.
Removed array_find_index, array_find_value, and array_shuffle, as they have been superceded by built-in functions.
Removed string_explode and string_implode, as they have been superceded by built-in functions.
General code cleanup and improvements.
1.1.4#
Added collision_line_meeting for identifying exact
coordinates of a collision intersection
Added ds_struct_equals for recursively comparing
contents of structs
Added struct support to is_empty
Added emod for calculating remainder with Euclidean
division (always positive result)
Fixed angle_refract clipping mirror angle below 0
degrees
Improved instance_link to no longer depend on
obj_server_gmlp
Improved accuracy of game_get_step when
obj_server_gmlp is present
Optimized mouse and frame-time constants
Optimized game_get_time
Deprecated universal image_angle_previous,
image_x/yscale_previous for performance reasons, as
they are no longer needed for instance_link (see
Compatibility Notes)
1.1.3#
Added ds_struct_copy for "deep cloning"
structs and all contents (including other structs/arrays)
Added ds_struct_find_first,
ds_struct_find_next,
ds_struct_find_previous,
ds_struct_find_last
Added support for objects to foreach (loops all
instances of an object)
Improved wait timer accuracy when application is
running below performance target
Fixed string_explode returning an empty first value if
the delimeter doesn't exist in the string
Strings with no delimeters will now return the string as an
array of one value as expected
Fixed string_implode returning a string with a
delimeter even if only one array value exists
Strings will now only include delimeters when two or more
array values exist as expected
1.1.2#
Improved foreach syntax and behavior
1.1.0#
GameMaker Studio 2.3.1 support!
Completely reorganized code structure, updated to new
standards
Added foreach function to iterate the contents of a
wide variety of data types, including numbers, strings, arrays, and
data structures
Added is_empty function to check the contents of a wide
variety of data types, including numbers, strings, arrays, data
structures, surfaces, and buffers
Added surface read and surface_write
functions for handling surfaces as strings
Added draw_get_surface to restore broken surfaces from
cached memory
Added camera_get_view to complement built-in
view_get_camera function
Added ds_struct functions for interacting with structs
like other data structures
Supports struct hierarchies, unlike built-in functions!
Added ds_grid_empty function, bringing parity between
grids and other data structures
Added instance_link function for grouping objects by
position, rotation, and scale
Added image_angle_previous,
image_xscale_previous, and
image_yscale_previous
built-in variables to all instances via obj_gmlp
Added angle_reflect and angle_refract to
Angle Functions
Added support for animation curve assets to interp.
Make your own custom curves using the built-in visual editor in
GameMaker Studio 2.3!
Added string_explode, string_implode, and
string_trim functions for converting data between
strings and arrays
Added string_upper_* and string_lower_*
functions for manipulating string case on an
individual, per-word, or whole-string basis
string_upper_all and
string_lower_all are 2x faster than equivalent
built-in GML!
Multiple changes to array functions:
Added array_clear and
array_shuffle for greater parity with data
structure functions
Replaced array_create_2d with
array_create_ext, now supporting any number of
dimensions!
Replaced array_fill_2d with
array_fill, now supporting any number of
dimensions!
Replaced array_width and
array_height with array_depth to
complement the new built-in array_length
function
Replaced array_find_col and
array_find_row with
array_find_index and
array_find_dim for better compliance with
updated GML behaviors
Removed array_sort,
array_delete_*, and array_insert_*
functions, as they have been replaced by official functions
Fixed wait returning true on the first
frame of the first cycle
Now will wait the specified duration once before first
returning true
1.0.0#