Merge Evolution features onto v/0.4.0 #41

Merged
ZAdamMac merged 19 commits from f/evolution into v/0.4.0 2024-06-01 22:52:52 -03:00
ZAdamMac commented 2024-06-01 22:52:38 -03:00 (Migrated from github.com)
  • Adds functionality to handle conditional evolution of the pet, in a simplistic early version:
    • If the pet's needs are relatively well met at the time evolution is checked for, it will evolve into the "high" evolution, else the low evolution.
    • The egg and the baby's first evolution evolve through this mechanism; the baby is hardcoded to evolve a total of three hours after hatching.
    • If the pet evolves to the special reserved "Death Identifier" the game state is reset. This is temporary.
    • StateMachine now contains a .OLD_STAGE_ID property that records the previous stage ID before the current evolution
      • Adds options to the debug menu used for testing evolution quickly.
  • Corrects a bug in display.c that was causing all font address evaluation to fail, meaning only each size's "font zero" could be used.
    • Updated all scenes to use the new addressible font logic instead of hardcoding FONT_ADDR_0 for pet sprites.
  • Corrects the bug in issue #38 that caused games of rockpapergame.c to be unplayable.
    • Added a technical debt item to address the deeper root cause in display.c's printText_Large function.
  • Removed printdeltas_Demo, printdeltas_Game, and printdeltas_Menu from the codebase, since none of them were used anymore
  • Display now gives a convenience function, DISPLAY_blankFrame which resets the contents of the DISPLAY_FRAME
  • Refactors the Stage structure so that pet stages can target metanimations

Contains the bugfix for Issue #38

- Adds functionality to handle conditional evolution of the pet, in a simplistic early version: - If the pet's needs are relatively well met at the time evolution is checked for, it will evolve into the "high" evolution, else the low evolution. - The egg and the baby's first evolution evolve through this mechanism; the baby is hardcoded to evolve a total of three hours after hatching. - If the pet evolves to the special reserved "Death Identifier" the game state is reset. This is temporary. - `StateMachine` now contains a `.OLD_STAGE_ID` property that records the previous stage ID before the current evolution - - Adds options to the debug menu used for testing evolution quickly. - Corrects a bug in `display.c` that was causing all font address evaluation to fail, meaning only each size's "font zero" could be used. - Updated all scenes to use the new addressible font logic instead of hardcoding FONT_ADDR_0 for pet sprites. - Corrects the bug in issue #38 that caused games of `rockpapergame.c` to be unplayable. - Added a technical debt item to address the deeper root cause in display.c's `printText_Large` function. - Removed `printdeltas_Demo`, `printdeltas_Game`, and `printdeltas_Menu` from the codebase, since none of them were used anymore - Display now gives a convenience function, `DISPLAY_blankFrame` which resets the contents of the DISPLAY_FRAME - Refactors the `Stage` structure so that pet stages can target metanimations Contains the bugfix for Issue #38
Sign in to join this conversation.
No description provided.