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__INITto roomAER_ROOM_AUTOSAVEMESSAGE. (Special thanks to TheExplosivePanda for discovering and reporting this bug!) - Fixed bug caused by incorrect stage checking resulting in
AERRoomGoto,AERRoomEnter, andAERRoomEnterWithPositionfunctions ofroommodule reportingAER_SEQ_BREAKerror when called from within either theroomStartListenerpseudo-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
roomChangeListenermember ofAERModDefstructure ofmodmodule because more specific members are introduced by this release. PreferroomStartListenerandroomEndListenerinstead.
Additions
- Added
roomStartListenerandroomEndListenermembers toAERModDefstructure ofmodmodule. - Added
AERObjectCompatibleWith,AERObjectRelationTo,AERObjectAttachRoomStartListener, andAERObjectAttachRoomEndListenerfunctions toobjectmodule. - Added
AERInstanceCompatibleWithfunction toinstancemodule. - Added
AERRoomEnterandAERRoomEnterWithPositionfunctions toroommodule. - Added
AERGetDeltaTimefunction tocoremodule.
Miscellaneous
AERRoomGotofunction ofroommodule now reportsAER_SEQ_BREAKwhen called while a room change is already in progress.- Internal optimizations to the method used to determine relationships between objects.
- Slight refactor of
errmodule. - Corrected typo in documentation for
objectmodule.
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
AERObjectAttachDrawListenerandAERObjectAttachGUIDrawListenerfunctions ofobjectmodule to reflect new understanding of draw events. - Applied
doxygen-awesometheme to documentation.
Version 1.4.1
Summary
v1.4.1 corrects a documentation issue introduced by v1.4.0.
Changes
Miscellaneous
- Corrected incorrect
Sincefield 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
handlemember ofAEREventstructure ofeventmodule 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
MREincorrectly identifying the active mod in certain situations.
Additions
- Added
AERRandShuffleandAERRandGenShufflefunctions torandmodule. - Added
AERSpriteGetNumFrames,AERSpriteGetSize,AERSpriteGetOrigin, andAERSpriteSetOriginfunctions tospritemodule. - Added
AERDrawSpriteandAERDrawSpriteAdvfunctions todrawmodule. - Added
nextmember toAEREventstructure ofeventmodule.
Miscellaneous
- Corrected outdated documentation for
AERDrawTextandAERDrawTextAdvfunctions ofdrawmodule. - Corrected a typo shared in both the documentation and
README.md. - Corrected styling issue in documentation for
AERObjectRegisterfunction ofobjectmodule. - Documented bug in
AERSpriteRegisterandAERSpriteReplacefunctions ofspritemodule.
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
AERDrawLineandAERDrawLineAdvfunctions ofdrawmodule not being publicly visible.
Miscellaneous
- Corrected formatting issue in documentation for
AERObjectRegisterfunction ofobjectmodule.
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, andAERRandGenBoolfunctions ofrandmodule behaving non-deterministically.
Miscellaneous
- Corrected typo in
README.md. - Corrected outdated documentation for
AERDrawTextandAERDrawTextAdvfunctions ofdrawmodule.
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_OKconstant ofAERErrCodeenumeration oferrmodule because of a moderate redesign to the module. It should still be used to check whether function did not report any errors, butAER_TRYshould be preferred when initializingaererrglobal oferrmodule to explicitly error check a function. - Deprecated
AER_KEY_ERASEconstant ofAERInputKeyenumeration ofinputmodule because more specific constants are introduced by this release. PreferAER_KEY_ERASE_BEFOREandAER_KEY_ERASE_AFTERinstead. - Deprecated
AERInputGetMousePositionfunction ofinputmodule because more specific functions are introduced by this release. PreferAERInputGetMousePositionRawandAERInputGetMousePositionVirtualinstead.
Additions
- Added
AERSpriteGetByNamefunction tospritemodule. - Added
AERRoomGetNameandAERRoomGetByNamefunctions toroommodule. - Added
AER_TRYconstant toAERErrCodeenumeration oferrmodule. - Added
error.promote_unhandledboolean configuration option with default value offalse. - Added
AER_KEY_CLEARconstant toAERInputKeyenumeration ofinputmodule. - Added
AERObjectGetPersistent,AERObjectSetPersistent,AERObjectGetVisible, andAERObjectSetVisiblefunctions toobjectmodule. - Added
AERInstanceGetDeactivated,AERInstanceSetDeactivated,AERInstanceGetPersistent, andAERInstanceSetPersistentfunctions toinstancemodule. - Added
AERDrawLine,AERDrawLineAdv,AERDrawEllipse, andAERDrawEllipseAdvfunctions todrawmodule.
Miscellaneous
AERLogInfo,AERLogWarn, andAERLogErrfunctions oflogmodule now report potential errors.AERSpriteRegisterfunction ofspritemodule now reportsAER_BAD_VALif a sprite with provided name already exists.AERObjectGetNumRegistered,AERObjectGetName,AERObjectGetByName,AERObjectGetParent,AERObjectGetChildren,AERObjectGetCollisions, andAERObjectSetCollisionsfunctions ofobjectmodule may now be called as soon as the object registration stage starts rather than after it ends.AERSpriteGetNumRegisteredandAERSpriteGetNamefunctions ofspritemodule may now be called as soon as the sprite registration stage starts rather than after it ends.AERFontGetNumRegistered,AERFontGetName,AERFontGetSize,AERFontGetBold,AERFontGetItalic,AERFontGetFirst, andAERFontGetLastfunctions offontmodule 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_SPRITE3369andAER_SPRITE_SPRITE3370constants ofAERSpriteIndexenumeration ofspritemodule because the actual sprite that these indexes represent changes depending on the current room. No other symbols are impacted by this deprecation.
Additions
- Added
savemodule withAERSaveGetCurrentSlot,AERSaveGetKeys,AERSaveDestroy,AERSaveGetDouble,AERSaveSetDouble,AERSaveGetStringandAERSaveSetStringfunctions. - Added
gameSaveListenerandgameLoadListenerfields toAERModDefstruct ofmodmodule.
Bug Fixes
- Fixed bug caused by
AERRandGenUInt,AERRandGenUIntRange,AERRandGenInt,AERRandGenIntRange,AERRandGenFloat,AERRandGenFloatRange,AERRandGenDouble,AERRandGenDoubleRangeandAERRandGenBoolfunctions ofrandmodule using the global generator instance rather than the generator instance passed as an argument resulting in those functions behaving like their global counterparts.
Miscellaneous
AERSpriteRegisterandAERSpriteReplacefunctions ofspritemodule now reportAERErrCode::AER_BAD_VALwhen argumentnumFramesis less than1.- Subscribable object events (i.e.
PreStep,Step,PostStepandAlarm) 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.