Game Maker 5.3

Game Maker 5.3 appeared in April 2004, with an improved path editor and motion planning functionality.

Incompatibilities
The path mechanism has completely been redesigned. If your game uses paths, please read the documentation about it carefully before deciding to switch to version 5.3. (Or install version 5.3 in a different folder and use version 5.2 for your old games.)

For the rest Game Maker 5.3 is fully compatible with version 5.2 (except that maybe some corrected errors can make that games work slightly different).

Paths
The path mechanism has been completely redesigned. There is a completely new path editor with many new options. In particular it is possible to use a particular room image as background when designing paths. In this way you can precisely align the path with the room. There are a number of new actions dealing with paths. Also there are additional functions for using, creating, and manipulating paths in code.

Motion planning
The new version contains motion planning functionality to let objects automatically avoid obstacles. There are action to do this in a very easy way. Also there are advanced functions to create grids and plan shortest paths on grids. (The functions are only available in the registered version.)

Collision detection
New collision detection functions were added. For example you can ask whether a line segment intersects certain objects. This can be use to determine whether e.g. a character is visible from an enemy.

Drag-and-drop
You can now drag and drop image and sound files on Game Maker to create sprites and sound resources.

Defining constants
You can now define constants. These can then be used in any action or piece of code.

Function help
In the script editor you now see a list of all functions, variables and constants. When you start typing one of them it will be highlighted. This helps in using the correct names and arguments for functions.

Addition actions
There are new path actions and motion planning actions. Also there is an action to create an instance with a movements (for example a bullet shooting in a particular direction). Also there is an action to play a movie file.

HTML help
The help file has been redone in the modern Windows style. This makes it easier to navigate and search.

Smaller improvements
There are many other smaller improvements, in particular:
 * Right clicking an action adds it to the event.
 * Functions min, max and mean can now take multiple arguments.
 * Added functions to draw health bars and paths.
 * In the object editor you can now directly edit the sprite.
 * A large number of functions was added to deal with times and dates.
 * Functions to set array variables by name were added.
 * A number of functions were added to make and merge colors.
 * In the script menu you can now get a list of all constants.
 * Motion of entities has become smoother.
 * Timing has been improved.
 * Program checks for old temp files and folders and deletes them.

--- A number of bugs have been corrected, in particular:
 * Corrected a bug in the function instance_activate_region that did not work correctly when inside was true.
 * Functions sprite_set_hue_partial and background_set_hue_partial are now recognized in the maker.
 * In sprite editor replaced the shortcut by Shift+Ctrl+P to avoid conflict with colorize partial.
 * The sign(x) function now returns 0 when the value is 0.
 * When drawing tiles with an alpha value yscale now works correctly.
 * When running a game in 320x240 mode forms like the option form now remain the correct size.
 * Corrected size statusbar boxes in script editor and room editor.
 * Corrected a bug in function background_set_hue_partial.
 * Action to set mouse cursor sprite now works correctly when loading and saving the game.
 * Corrected a bug that the compare variable action did not work correct with strings.
 * A number of confirmation boxes no longer have the wrong effect when clicking the cross (e.g. clear a room).
 * Corrected the checkmarks in the show menu in the room form.
 * Opening a code action now always sets the cursor at the first position and makes that line visible.
 * When mouse is outside the view(s) but still a view is defined, the mouse position is now reported with respect to the view.
 * In script editor Ctrl-i and Shift Ctrl-i no longer sometimes take extra line.
 * Problem that some people cannot see all the action icons on the different tabs in the object form should be solved.
 * Corrected another off by one error in the size of the image in screen_save_part, sprite_create_from_screen, sprite_add_from_screen, background_create_from_screen
 * image_index and single_image are now floored rather than rounded, correcting some small problems with slower than one speeds (but might lead to showing slightly different subimages).
 * Corrected the value of vk_anykey to 1, such that it works when assigning events.
 * Corrected a bug in draw_sprite_part_alpha and draw_background_part_alpha.