Release 1.6 - Huge Improvements & Audio!
This release contains a massive amount of bug fixes, changes and improvements. I have collected the experience of several game jams I did in the last weeks and this was a great way to improve quality, stability and reliability of gml-raptor.
In addition, I included a brand new Audio System in gml-raptor
! (See below for details).
Even if this is “just” a 1.6 release, I consider it a major update.
All my libraries now have a dedicated *_VERSION_
script included and they print their version to the console when started, so you can always see, which version is active in your project.
As always, have fun! Cheers, Gris
Here is the massive list of changes First, as an overview, see the topic list from the public roadmap at trello:
The changes in detail
-
Bugfix: Race Unique Detection
- In some situations, race detected an item drop as unique (in other words: it didn’t drop anything, although it should) because it thought, the item to drop has already dropped in this query.
-
RaceObject now poolable
- The
RaceObject
(which is also aStatefulObject
) can now be dropped and returned to an object pool.race_query
has been enhanced to allow a third, optional, parameter, thepool_name
. If set, items will be requested from that object pool instead of being new instances with every query.
- The
-
Double Clicks!
- All UI clickable controls now detect double-clicks and offer an
on_double_click
event callback. NOTE: As it’s normal windows standard, that double clicks are done with the left mouse button only, this event also is triggered only from left-double-clicks!
- All UI clickable controls now detect double-clicks and offer an
-
InputBox
- now offers a
select_all
method to select the entire text - Three new callbacks have been implemented:
on_got_focus
,on_lost_focus
andon_text_changed
- InputBox now detects double clicks and will select the word under the cursor
- now offers a
-
Files
- The files functions are now better protected against missing files, enryption/decryption errors (like, when trying to decrypt a plain text file).
-
RoomController Particle Systems
RoomController
now supports multiple particle systems per room, if you need emitters on different layers.
To make this possible, the
particle_layer_name
variable definition is no longer of typeString
, it’s now anExpression
, and the variable has been set into plural asparticle_layer_names
. You may supply a string array here, like["particles_background", "particles_foreground"]
to have thePARTSYS
macro no longer resolve to a singleParticleManager
instance, instead it’s an array then and the indices are in order of the strings in the supplied array. For the above example, this means,PARTSYS[0]
would render on theparticles_background
layer andPARTSYS[1]
on theparticles_foreground
layer. -
New ArrayHelper Function
- The
Arrays
script got a new helper method:array_contains
which is able to search for a specified element in an array with any number of dimensions or recursions. It scans the entire structure. You can avoid recursion by supplyingfalse
for the optionalrecursive
parameter.
- The
-
Settings File & Encryption
- The
Game_Configuration
script now offers two macros in two versions (one for default, one for release configuration) which allow you to set the output filename and the encryption key for the games’ setting file. These macros are used by the newload_settings
andsave_settings
functions. A new script has been added to the_GAME_SETUP_
folder:Game_Settings
it contains a struct that will be put into your settings file, together with the brand newAudioSettings
struct and theHighscore Table
(if defined). Just add the values you want to store in the settings file to this struct.raptor
takes care of the rest.
- The
AudioHelper & AudioSettings
The new AudioHelper
feature provides rich functionality for your acoustic implementation.
It supports play
and stop
functions for predefined channels.
Currently, raptor offers five channels:
Sound
Music
Voice
Ambience
UI
The new AudioSettings
struct holds volume settings for each of those channels and will automatically be a part of the game_settings file.
You can change the output volume of each of those channels independently and in addition, there’s a master_volume
value which acts as an additional multiplier for the final output gain.
On top of that, the AudioSettings
also offers boolean values, to enable/disable a channel completely.
music_enabled
sound_enabled
ui_enabled
voice_enabled
ambience_enabled
Files
gml-raptor
GameMaker Evolved
More posts
- Release 2405May 10, 2024
- raptor3 has landed!Mar 07, 2024
- Release 3.0 TeaserFeb 23, 2024
- Release 2.8 is closeJan 25, 2024
- Release 2.4Feb 05, 2023
- Release 2.3 (incl. updated Demo)Dec 30, 2022
- Release 2.2Dec 18, 2022
- Major Release 2.0Oct 30, 2022
- Release 1.5Aug 26, 2022
Leave a comment
Log in with itch.io to leave a comment.