raptor3 has landed!


After hundreds of hours of work, raptor3 is finally here!

raptor is called raptor3 from now on - new versioning

I will move away from historical x.y versioning. For the time to come, from now on raptor will be referenced to as “raptor3” with a date-based build information, most modern systems have.

This version is raptor3 release 2403.1 (where the “03” of 2403 can be read as “March” - it’s a simple year.month naming).

raptor changes

[!IMPORTANT] Due to the huge amount of changes in this version, I do not think, raptor3 is compatible with previous raptor releases! These breaking changes were necessary to move forward From today’s point of view, the new structure looks stable to me, I do not expect such hard changes again in the foreseeable future!

All new UI

  • UI system has been rewritten completely
  • Control positioning in code through the new ControlTree class
  • Supports all you know from Desktop development: Anchoring, alignment, docking, free positioning, spreading
  • New UI demo available in the Example Project
  • Brand new Data Binding (or “property binding”) now available for all raptor objects (not only in the UI!)
  • Create consistent look & feel through your entire game with UI Themes
  • Change the complete layout of everything on the fly through UI Skins
  • Fine control over input events, mouse clicks react on the top-most item only, unless you specify different behavior - see Utility macros and _raptorBase and click-through for more information
  • New room template packages have been added to the release (see below)
  • A new raptor-ui package is now available (please read through the UI System wiki mentioned at the top of this list, to fully understand, how many benefits you have from this!)

Bug fixes

  • Bug fixes in the Pythagoras class
  • Unit tests added for the pythagoras class, proving, that the calculations are correct
  • Bug fixes in the is_child_of function. It now works correctly in HTML and Windows
  • Bug fixes in control alignment, especially for checkboxes and radio buttons

Other new stuff

  • Brand new raptor-room-template and raptor-html-room-template packages have been added as downloadable yymps to this release. This is an empty room, set up for use with raptor, which contains all the default layers, a RoomController and a mouse cursor. Use these packages as your source when adding a new room to the game, import it and simply rename the room and its controller. This way you can quick-import any number of needed rooms
  • A new Logger system has been added to raptor
  • Crash Log Reporting is now available with raptor
  • Two new string helper functions, string_first and string_last, which return the first (or last, respectively) n characters of a string
  • Unit tests added for the new string functions to verify their correctness
  • A new script, Game_ParticleTypes has been added to the _GAME_SETUP_ section. You need this for the Particle Systems, which have been also added to the wiki (see wiki changes below)
  • A new compile time constant, DEBUG_LOG_BROADCASTS has been added which allows you to turn off log entries from the broadcaster
  • A new configuration, beta has been added to the project, so you can better set up your macros for dev (default), a beta release and the release version. Note: beta is a child configuration of release, so you need only to adapt those values for beta, that are different from release, like a server address or similar things
  • New #macro constants have been added for each project configuration: CONFIGURATION_DEV, CONFIGURATION_BETA, CONFIGURATION_RELEASE which resolve to true for their respective configuration. The others resolve to false.
  • A new class, RingBuffer is available in the Tools folder of the raptor project template. Useful little helper for keeping stored values without growing forever. Best use for chat history, logs, whatever shall keep the latest x entries.
  • Scribble has been updated to 8.7.1, containing the latest fixes for GMS 2402
  • And very likely a hundred more changes and fixes that would only let this list explode, if I’d name them all here!

rewrites

  • global variable naming has been streamlined
  • All log lines have been updated to the $”” syntax and no longer have string+concatenations

wiki changes

  • All wiki pages have received an update, with new screenshots due to so many changes originating from the UI rewrite
  • New wiki section UI system
  • New wiki section Logger which also covers crash-logs
  • New wiki section Particle Effects
  • The Vector helper classes have received their deserved wiki pages
  • The Broadcasting pages have been updated
  • Feel free to comment and correct any spelling mistakes you find, it’s a lot of new pages and english is not my first language. Apologies, if something is hard to understand. Please help me, making it better!

Files

gml-raptor-demo.zip Play in browser
Mar 07, 2024

Leave a comment

Log in with itch.io to leave a comment.