Skip to content

Releases: DAndrewBox/GML-Extended

v1.5.1

15 Jul 23:23
Compare
Choose a tag to compare

Small release fixing issues with compatibility scripts on some targets and issues with instance_create_* custom scripts.

Full Changelog: v1.5.0...v1.5.1

gml-extended-v1.5.0

03 Jun 22:42
a41bb14
Compare
Choose a tag to compare

GML-Extended v1.5.0 - The Compatibility Update!

Release Notes:

Compatibility!

As one fo the (probably) latest updates of the library, this library is now compatible with GameMaker versions from v2.3.7 to v2024.4 using the compatibility scripts that can be imported into the project!

Draw Profiles

You can now create draw profiles with custom properties, so everytime you need to use the same draw configurations, you can now just call a profile! i.e: When drawing texts maybe you have different fonts and colors defined for those fonts, like titles always on center and with color c_orange, so now instead of having to setup the draw functions to set color, alpha, font, align, and more, you can now just create a profile with draw_create_profile(), and the call the profile in your draw event with the function draw_set_profile(). More explaination in the documentation (Optional > Draw > draw_create_profile)

New Libraries

Compatibility

  • Library contains scripts to make all the other functions compatible with older versions of GameMaker from 2.3.7!

Core > Types

  • Library contains new functions to get and define types for your variables. Know more on the Types documentation!

Optional > GUI

  • Library for some GUI manipulation and aspects. Contains some previously core shortcuts that weren't used as often.

Experimental > Colors

  • Moved some of the functions that weren't working that well on previous versions to this library.

Experimental > Files

  • New library with functions to manipulate .yy room files.

New functions

lib_datetime

  • current_week(): Returns the current week of the year.
  • current_day_of_the_year(): Returns the current day of the year.

lib_math

  • percentage(): Return a percentage number from the given values.

lib_shortcuts
-contains(): Checks if an element is inside a container.

lib_strings

  • string_percentage(): Returns a string with the percentage of the given values.

lib_types

  • New macros for gm_types.
  • str(): Converts a value to string.
  • int(): Converts a value to an int with no decimals.
  • int8(): Coverts a value to an 8-bit int.
  • int16(): Coverts a value to an 16-bit int.
  • int8s(): Coverts a value to a signed 8-bit int.
  • int16s(): Coverts a value to a a signed 16-bit int.
  • is_type(): Checks if a value corresponds to a gm_type.

lib_draw

  • New macros for current draw state.
  • draw_surface_from_center(): Draw a surface from center x,y coordinates and can include rotation.
  • draw_set_gui_scale(): Sets GUI draw scale.
  • draw_set_blendmode(): Sets blendmode. It's like a shortcut for gpu_set_blendmode() and gpu_set_blendmode_ext() functions.
  • draw_reset_blendmode(): Resets blendmode to bm_normal.
  • surface_clear(): Works as draw_clear_alpha() for surfaces.
  • draw_set_depth(): Works as gpu_set_depth().
  • draw_reset_depth(): Resets depth to object depth.
  • draw_reset_alpha(): Resets alpha to 1.
  • draw_reset_color(): Resets color to c_white.
  • draw_create_profile(): Creates a draw profile to setup recurrent draw setup calls.
  • draw_set_profile(): Sets a created profile.

lib_ease

  • Library is no longer experimental and is now optional.
  • Last 2 arguments changed from min, max to factor, so instead of defining min and max value, you just multiply it for a factor.

lib_images

  • image_set(): Sets built-in variables from an image in one line.
  • image_set_scale(): Set image xscale and yscale in one line.
  • image_smooth_rotate(): Rotate the sprite smoothly to a direction given.

lib_layers

  • New macros for layer element types to setup for future functions.

  • layer_get_background(): A way to get the background of a layer using the ID or the name of the layer in one line.

  • layer_get_tileset(): A way to get the tileset of a layer using the ID or the name of the layer in one line.

  • And a lot more related to the experimental library on the docs!

Misc changes

  • Some functions from library "Core > Shortcuts" were moved to new library "Optional > GUI".
  • Fixed @param definition for functions so feather shouldn't give any new errors now.
  • Added new demo rooms for draw events and easing.

Full Changelog: v1.3...v1.5.0

gml-extended-v1.4.0b

17 Jun 00:33
Compare
Choose a tag to compare

Fixed some issues with structs

gml-extended-v1.4.0

16 Jun 23:58
Compare
Choose a tag to compare

Changelog

Extension Updates

  • Divided and re-organized functions on "Core", "Optional" & "Experimental"
  • Added easing demo room
  • Some optimization updates

lib_files

Added

  • json2yy

lib_shortcuts

Added

  • int

Removed

  • rgb
  • hsv
  • color_get_rbg
  • color_get_hsv

lib_structs

Added

  • struct_equal

lib_math

Added

  • random_linear
  • uuid_v4

lib_colors

Added new library to work with colours

lib_ease

Added new library to work with easing animations

Full Changelog: v1.3...v1.4

gml-extended-1.3.0

06 Mar 20:20
Compare
Choose a tag to compare

Changelog

lib_files

Added

  • json2file

Modified

  • Renamed from file_to_json to file_json_read

lib_shortcuts

Added

  • str macro
  • rgb
  • hsv
  • color_get_rbg
  • color_get_hsv
  • view_get_x
  • view_get_y
  • gui_mouse_x
  • gui_mouse_y
  • gui_width
  • gui_height

lib_strings

Added

  • string_pad_left
  • string_pad_right

Removed

  • string_fill_zero

lib_structs

Added

  • struct_key_exists

lib_time

Added

  • time_performance

Full Changelog: v1.2.3...v1.3

gml-extended-v1.2.3

24 Jan 20:19
Compare
Choose a tag to compare
  • Arranged folders
  • Added new functions
  • Added shaders

New shaders

  • Recolor shader (shd_gml_ext_recolor)
  • Gauss Blur shader (shd_gml_ext_blur_gauss)

New functions

  • draw_sprite_recolor
  • draw_sprite_blur
  • draw_surface_recolor
  • draw_surface_blur
  • instance_get_if
  • trace
  • alert
  • alert_async

Full Changelog: v1.2.2...v1.2.3

gml-extended-v1.2.2

06 Jan 22:21
Compare
Choose a tag to compare

Release notes

  • Added additional arguments xscale, yscale, angle to functions draw_text_outline & draw_text_shadow.
  • Added new functions file_text_get_lines_array, instance_get_all, instance_number_if, string_title.
  • Refactor array_shuffle function for readability.
  • Removed msgType unnecessary expression on http_async_get_message function.
  • Solved some issues & bugs from previous versions.

Full Changelog: v1.2.1...v1.2.2

gml-extended-v1.2.1

06 Dec 20:47
Compare
Choose a tag to compare

A bunch of functions added related to Draw, Game Params, Instances & Events, Layers and Images. The function are the following:

  • draw_self_ext
  • draw_figure
  • draw_quad
  • draw_rectangle_width
  • draw_rectangle_rotated
  • draw_text_outline
  • draw_text_shadow
  • draw_text_size
  • draw_fps
  • draw_fps_real
  • draw_set_align
  • gpu_set_alpha_overwrite
  • game_params
  • game_get_param_value
  • game_get_param_exists
  • game_throw_error
  • instance_create
  • instance_create_unique
  • instance_any_exists
  • instance_in_room
  • del
  • event_user_exec
  • layer_get_element_ids_fixed
  • image_loop_index

As for the version, this version 1.2.1 is specifically recommended for GameMaker versions 2022.11+ but can bu used on older versions.

Full Changelog: v1.2.0...v1.2.1

gml-extended-v1.2.0

30 Nov 13:01
Compare
Choose a tag to compare

Improved README.md file.
Removed and changed some functions for compatibility with GameMaker versions 2022.11+.

Full Changelog: v1.1...v1.2.0

gml-extended-1.1.0

29 Nov 17:06
Compare
Choose a tag to compare

Added texture support for shader_set_ext & improved array_shuffle performance.