Releases: Foxbud/libaermre
Version 1.5.1
Summary
v1.5.1
fixes two bugs introduced by v1.5.0
.
Changes
Bug Fixes
- Fixed bug caused by misplaced initialization hook resulting in room-change-related pseudo-events not getting called for the switch from room
AER_ROOM__INIT
to roomAER_ROOM_AUTOSAVEMESSAGE
. (Special thanks to TheExplosivePanda for discovering and reporting this bug!) - Fixed bug caused by incorrect stage checking resulting in
AERRoomGoto
,AERRoomEnter
, andAERRoomEnterWithPosition
functions ofroom
module reportingAER_SEQ_BREAK
error when called from within either theroomStartListener
pseudo-event or room-start object events. (Special thanks to TheExplosivePanda for discovering and reporting this bug!)
Version 1.5.0
Summary
v1.5.0
focuses primarily on refining existing functionality to allow more fine-grained control over the game.
Changes
Deprecations
(All deprecated symbols will be available until v2.0.0.)
- Deprecated
roomChangeListener
member ofAERModDef
structure ofmod
module because more specific members are introduced by this release. PreferroomStartListener
androomEndListener
instead.
Additions
- Added
roomStartListener
androomEndListener
members toAERModDef
structure ofmod
module. - Added
AERObjectCompatibleWith
,AERObjectRelationTo
,AERObjectAttachRoomStartListener
, andAERObjectAttachRoomEndListener
functions toobject
module. - Added
AERInstanceCompatibleWith
function toinstance
module. - Added
AERRoomEnter
andAERRoomEnterWithPosition
functions toroom
module. - Added
AERGetDeltaTime
function tocore
module.
Miscellaneous
AERRoomGoto
function ofroom
module now reportsAER_SEQ_BREAK
when called while a room change is already in progress.- Internal optimizations to the method used to determine relationships between objects.
- Slight refactor of
err
module. - Corrected typo in documentation for
object
module.
Version 1.4.2
Summary
v1.4.2
fixes a bug and applies a more modern theme to the documentation.
Changes
Bug Fixes
- Fixed bug caused by a misunderstanding of object draw events resulting in vanilla draw behavior being unintentionally overridden in certain situations. (Special thanks to Nemean_Lion732 for discovering and reporting this bug!)
Miscellaneous
- Updated documentation for
AERObjectAttachDrawListener
andAERObjectAttachGUIDrawListener
functions ofobject
module to reflect new understanding of draw events. - Applied
doxygen-awesome
theme to documentation.
Version 1.4.1
Summary
v1.4.1
corrects a documentation issue introduced by v1.4.0
.
Changes
Miscellaneous
- Corrected incorrect
Since
field in documentation for features added byv1.4.0
.
Version 1.4.0
Summary
v1.4.0
adds a few missing pieces of functionality and overhauls the internal mod manager.
Changes
Deprecations
(All deprecated symbols will be available until v2.0.0.)
- Partially deprecated the way
handle
member ofAEREvent
structure ofevent
module should be called. Previously, it was to be called likeevent->handle(event, target, other)
. Now it should be called likeevent->handle(event->next, target, other)
. Note that both signatures will continue to work untilv2.0.0
.
Bug Fixes
- Fixed structural issue that resulted in the
MRE
incorrectly identifying the active mod in certain situations.
Additions
- Added
AERRandShuffle
andAERRandGenShuffle
functions torand
module. - Added
AERSpriteGetNumFrames
,AERSpriteGetSize
,AERSpriteGetOrigin
, andAERSpriteSetOrigin
functions tosprite
module. - Added
AERDrawSprite
andAERDrawSpriteAdv
functions todraw
module. - Added
next
member toAEREvent
structure ofevent
module.
Miscellaneous
- Corrected outdated documentation for
AERDrawText
andAERDrawTextAdv
functions ofdraw
module. - Corrected a typo shared in both the documentation and
README.md
. - Corrected styling issue in documentation for
AERObjectRegister
function ofobject
module. - Documented bug in
AERSpriteRegister
andAERSpriteReplace
functions ofsprite
module.
Version 1.3.2
Summary
v1.3.2
fixes a bug and corrects a documentation formatting issue.
Changes
Bug Fixes
- Fixed bug caused by missing export statements resulting in
AERDrawLine
andAERDrawLineAdv
functions ofdraw
module not being publicly visible.
Miscellaneous
- Corrected formatting issue in documentation for
AERObjectRegister
function ofobject
module.
Version 1.3.1
Summary
v1.3.1
is a bugfix update that also corrects some documentation errors.
Changes
Bug Fixes
- Fixed bug caused by unnecessary pointer indirection resulting in
AERRandGenUInt
,AERRandGenUIntRange
,AERRandGenInt
,AERRandGenIntRange
,AERRandGenFloat
,AERRandGenFloatRange
,AERRandGenDouble
,AERRandGenDoubleRange
, andAERRandGenBool
functions ofrand
module behaving non-deterministically.
Miscellaneous
- Corrected typo in
README.md
. - Corrected outdated documentation for
AERDrawText
andAERDrawTextAdv
functions ofdraw
module.
Version 1.3.0
Summary
v1.3.0
is a quality-of-life update that adds certain conveniences to existing modules.
Changes
Deprecations
(All deprecated symbols will be available until v2.0.0.)
- Partially deprecated
AER_OK
constant ofAERErrCode
enumeration oferr
module because of a moderate redesign to the module. It should still be used to check whether function did not report any errors, butAER_TRY
should be preferred when initializingaererr
global oferr
module to explicitly error check a function. - Deprecated
AER_KEY_ERASE
constant ofAERInputKey
enumeration ofinput
module because more specific constants are introduced by this release. PreferAER_KEY_ERASE_BEFORE
andAER_KEY_ERASE_AFTER
instead. - Deprecated
AERInputGetMousePosition
function ofinput
module because more specific functions are introduced by this release. PreferAERInputGetMousePositionRaw
andAERInputGetMousePositionVirtual
instead.
Additions
- Added
AERSpriteGetByName
function tosprite
module. - Added
AERRoomGetName
andAERRoomGetByName
functions toroom
module. - Added
AER_TRY
constant toAERErrCode
enumeration oferr
module. - Added
error.promote_unhandled
boolean configuration option with default value offalse
. - Added
AER_KEY_CLEAR
constant toAERInputKey
enumeration ofinput
module. - Added
AERObjectGetPersistent
,AERObjectSetPersistent
,AERObjectGetVisible
, andAERObjectSetVisible
functions toobject
module. - Added
AERInstanceGetDeactivated
,AERInstanceSetDeactivated
,AERInstanceGetPersistent
, andAERInstanceSetPersistent
functions toinstance
module. - Added
AERDrawLine
,AERDrawLineAdv
,AERDrawEllipse
, andAERDrawEllipseAdv
functions todraw
module.
Miscellaneous
AERLogInfo
,AERLogWarn
, andAERLogErr
functions oflog
module now report potential errors.AERSpriteRegister
function ofsprite
module now reportsAER_BAD_VAL
if a sprite with provided name already exists.AERObjectGetNumRegistered
,AERObjectGetName
,AERObjectGetByName
,AERObjectGetParent
,AERObjectGetChildren
,AERObjectGetCollisions
, andAERObjectSetCollisions
functions ofobject
module may now be called as soon as the object registration stage starts rather than after it ends.AERSpriteGetNumRegistered
andAERSpriteGetName
functions ofsprite
module may now be called as soon as the sprite registration stage starts rather than after it ends.AERFontGetNumRegistered
,AERFontGetName
,AERFontGetSize
,AERFontGetBold
,AERFontGetItalic
,AERFontGetFirst
, andAERFontGetLast
functions offont
module may now be called as soon as the font registration stage starts rather than after it ends.- Improved error message when a mod library cannot be loaded.
Version 1.2.1
Summary
v1.2.1
is a bugfix update that includes another small change.
Changes
Bug Fixes
- Fixed bug caused by platform dependent graphical init sequencing resulting in the runtime crashing on some systems if any mods try to load custom sprites. The fix may result in slower sprite load times, but hopefully it should work on most systems, now.
Miscellaneous
- Decreased error-reporting verbosity of build script.
Version 1.2.0
Summary
v1.2.0
adds a new module, save
, and improves the framework in various internal and external ways.
Changes
Deprecations
(All deprecated symbols will be available until v2.0.0.)
- Deprecated
AER_SPRITE_SPRITE3368
,AER_SPRITE_SPRITE3369
andAER_SPRITE_SPRITE3370
constants ofAERSpriteIndex
enumeration ofsprite
module because the actual sprite that these indexes represent changes depending on the current room. No other symbols are impacted by this deprecation.
Additions
- Added
save
module withAERSaveGetCurrentSlot
,AERSaveGetKeys
,AERSaveDestroy
,AERSaveGetDouble
,AERSaveSetDouble
,AERSaveGetString
andAERSaveSetString
functions. - Added
gameSaveListener
andgameLoadListener
fields toAERModDef
struct ofmod
module.
Bug Fixes
- Fixed bug caused by
AERRandGenUInt
,AERRandGenUIntRange
,AERRandGenInt
,AERRandGenIntRange
,AERRandGenFloat
,AERRandGenFloatRange
,AERRandGenDouble
,AERRandGenDoubleRange
andAERRandGenBool
functions ofrand
module using the global generator instance rather than the generator instance passed as an argument resulting in those functions behaving like their global counterparts.
Miscellaneous
AERSpriteRegister
andAERSpriteReplace
functions ofsprite
module now reportAERErrCode::AER_BAD_VAL
when argumentnumFrames
is less than1
.- Subscribable object events (i.e.
PreStep
,Step
,PostStep
andAlarm
) now guarantee that when two (or more) instances of two (or more) different objects have the exact same event triggered on the same step, then the event will be handled for the instance with the smaller object index first. - Various documentation improvements.