Skip to content

Releases: Foxbud/libaermre

Version 1.5.1

12 Dec 23:05
Compare
Choose a tag to compare

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 room AER_ROOM_AUTOSAVEMESSAGE. (Special thanks to TheExplosivePanda for discovering and reporting this bug!)
  • Fixed bug caused by incorrect stage checking resulting in AERRoomGoto, AERRoomEnter, and AERRoomEnterWithPosition functions of room module reporting AER_SEQ_BREAK error when called from within either the roomStartListener pseudo-event or room-start object events. (Special thanks to TheExplosivePanda for discovering and reporting this bug!)

Version 1.5.0

26 Nov 21:54
Compare
Choose a tag to compare

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 of AERModDef structure of mod module because more specific members are introduced by this release. Prefer roomStartListener and roomEndListener instead.

Additions

  • Added roomStartListener and roomEndListener members to AERModDef structure of mod module.
  • Added AERObjectCompatibleWith, AERObjectRelationTo, AERObjectAttachRoomStartListener, and AERObjectAttachRoomEndListener functions to object module.
  • Added AERInstanceCompatibleWith function to instance module.
  • Added AERRoomEnter and AERRoomEnterWithPosition functions to room module.
  • Added AERGetDeltaTime function to core module.

Miscellaneous

  • AERRoomGoto function of room module now reports AER_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

17 Nov 01:03
Compare
Choose a tag to compare

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 and AERObjectAttachGUIDrawListener functions of object module to reflect new understanding of draw events.
  • Applied doxygen-awesome theme to documentation.

Version 1.4.1

27 Jun 18:19
Compare
Choose a tag to compare

Summary

v1.4.1 corrects a documentation issue introduced by v1.4.0.

Changes

Miscellaneous

  • Corrected incorrect Since field in documentation for features added by v1.4.0.

Version 1.4.0

27 Jun 18:07
Compare
Choose a tag to compare

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 of AEREvent structure of event module should be called. Previously, it was to be called like event->handle(event, target, other). Now it should be called like event->handle(event->next, target, other). Note that both signatures will continue to work until v2.0.0.

Bug Fixes

  • Fixed structural issue that resulted in the MRE incorrectly identifying the active mod in certain situations.

Additions

  • Added AERRandShuffle and AERRandGenShuffle functions to rand module.
  • Added AERSpriteGetNumFrames, AERSpriteGetSize, AERSpriteGetOrigin, and AERSpriteSetOrigin functions to sprite module.
  • Added AERDrawSprite and AERDrawSpriteAdv functions to draw module.
  • Added next member to AEREvent structure of event module.

Miscellaneous

  • Corrected outdated documentation for AERDrawText and AERDrawTextAdv functions of draw module.
  • Corrected a typo shared in both the documentation and README.md.
  • Corrected styling issue in documentation for AERObjectRegister function of object module.
  • Documented bug in AERSpriteRegister and AERSpriteReplace functions of sprite module.

Version 1.3.2

06 Jun 22:02
Compare
Choose a tag to compare

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 and AERDrawLineAdv functions of draw module not being publicly visible.

Miscellaneous

  • Corrected formatting issue in documentation for AERObjectRegister function of object module.

Version 1.3.1

30 May 22:11
Compare
Choose a tag to compare

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, and AERRandGenBool functions of rand module behaving non-deterministically.

Miscellaneous

  • Corrected typo in README.md.
  • Corrected outdated documentation for AERDrawText and AERDrawTextAdv functions of draw module.

Version 1.3.0

21 Apr 20:10
Compare
Choose a tag to compare

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 of AERErrCode enumeration of err module because of a moderate redesign to the module. It should still be used to check whether function did not report any errors, but AER_TRY should be preferred when initializing aererr global of err module to explicitly error check a function.
  • Deprecated AER_KEY_ERASE constant of AERInputKey enumeration of input module because more specific constants are introduced by this release. Prefer AER_KEY_ERASE_BEFORE and AER_KEY_ERASE_AFTER instead.
  • Deprecated AERInputGetMousePosition function of input module because more specific functions are introduced by this release. Prefer AERInputGetMousePositionRaw and AERInputGetMousePositionVirtual instead.

Additions

  • Added AERSpriteGetByName function to sprite module.
  • Added AERRoomGetName and AERRoomGetByName functions to room module.
  • Added AER_TRY constant to AERErrCode enumeration of err module.
  • Added error.promote_unhandled boolean configuration option with default value of false.
  • Added AER_KEY_CLEAR constant to AERInputKey enumeration of input module.
  • Added AERObjectGetPersistent, AERObjectSetPersistent, AERObjectGetVisible, and AERObjectSetVisible functions to object module.
  • Added AERInstanceGetDeactivated, AERInstanceSetDeactivated, AERInstanceGetPersistent, and AERInstanceSetPersistent functions to instance module.
  • Added AERDrawLine, AERDrawLineAdv, AERDrawEllipse, and AERDrawEllipseAdv functions to draw module.

Miscellaneous

  • AERLogInfo, AERLogWarn, and AERLogErr functions of log module now report potential errors.
  • AERSpriteRegister function of sprite module now reports AER_BAD_VAL if a sprite with provided name already exists.
  • AERObjectGetNumRegistered, AERObjectGetName, AERObjectGetByName, AERObjectGetParent, AERObjectGetChildren, AERObjectGetCollisions, and AERObjectSetCollisions functions of object module may now be called as soon as the object registration stage starts rather than after it ends.
  • AERSpriteGetNumRegistered and AERSpriteGetName functions of sprite module may now be called as soon as the sprite registration stage starts rather than after it ends.
  • AERFontGetNumRegistered, AERFontGetName, AERFontGetSize, AERFontGetBold, AERFontGetItalic, AERFontGetFirst, and AERFontGetLast functions of font 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

25 Mar 21:33
Compare
Choose a tag to compare

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

05 Mar 15:38
Compare
Choose a tag to compare

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 and AER_SPRITE_SPRITE3370 constants of AERSpriteIndex enumeration of sprite 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 with AERSaveGetCurrentSlot, AERSaveGetKeys, AERSaveDestroy, AERSaveGetDouble, AERSaveSetDouble, AERSaveGetString and AERSaveSetString functions.
  • Added gameSaveListener and gameLoadListener fields to AERModDef struct of mod module.

Bug Fixes

  • Fixed bug caused by AERRandGenUInt, AERRandGenUIntRange, AERRandGenInt, AERRandGenIntRange, AERRandGenFloat, AERRandGenFloatRange, AERRandGenDouble, AERRandGenDoubleRange and AERRandGenBool functions of rand 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 and AERSpriteReplace functions of sprite module now report AERErrCode::AER_BAD_VAL when argument numFrames is less than 1.
  • Subscribable object events (i.e. PreStep, Step, PostStep and Alarm) 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.