Update tracker: Mark Time System refactor DONE and ZSOW bug ACTIVE

This commit is contained in:
scawful
2025-11-22 19:25:37 -05:00
parent ad2c00c359
commit a8ff3ef0f9

View File

@@ -74,15 +74,15 @@ This section tracks tasks focused on improving the existing codebase's structure
- *Blocker For:* [[quest-goron-mines]] (Garo NPC). - *Blocker For:* [[quest-goron-mines]] (Garo NPC).
** Time System (=Overworld/time_system.asm=) ** Time System (=Overworld/time_system.asm=)
*** TODO [#B] Refactor Time System [0/3] *** DONE [#B] Refactor Time System [3/3]
:PROPERTIES: :PROPERTIES:
:ID: refactor-time-system :ID: refactor-time-system
:END: :END:
- *Analysis:* The system is functional but monolithic and uses many magic numbers. - *Analysis:* The system is functional but monolithic and uses many magic numbers.
- *Tasks:* - *Tasks:*
- [ ] Group all time-related variables (`Hours`, `Minutes`, `TimeSpeed`, color values) into a single `TimeState` struct. - [X] Group all time-related variables (`Hours`, `Minutes`, `TimeSpeed`, color values) into a single `TimeState` struct.
- [ ] Convert all logic blocks (`RunClock`, `DrawClockToHud`, `ColorSubEffect`) into proper `subroutine`s. - [X] Convert all logic blocks (`RunClock`, `DrawClockToHud`, `ColorSubEffect`) into proper `subroutine`s.
- [ ] Break down the large `RunClock` routine into smaller, single-purpose functions (e.g., `TimeSystem_CheckCanRun`, `TimeSystem_IncrementTime`, `TimeSystem_UpdatePalettes`). - [X] Break down the large `RunClock` routine into smaller, single-purpose functions (e.g., `TimeSystem_CheckCanRun`, `TimeSystem_IncrementTime`, `TimeSystem_UpdatePalettes`).
** Minecart System (=Sprites/Objects/minecart.asm=) ** Minecart System (=Sprites/Objects/minecart.asm=)
*** TODO [#B] Refactor Minecart System [0/4] *** TODO [#B] Refactor Minecart System [0/4]
@@ -106,14 +106,14 @@ This section tracks tasks focused on improving the existing codebase's structure
- *Note:* This is a code quality refactor. A separate bug for the collision mechanics is tracked in [[bug-ice-block-collision]]. - *Note:* This is a code quality refactor. A separate bug for the collision mechanics is tracked in [[bug-ice-block-collision]].
** Menu System (=Menu/=) ** Menu System (=Menu/=)
*** TODO [#B] Refactor Menu System [0/2] *** DONE [#B] Refactor Menu System [2/2]
:PROPERTIES: :PROPERTIES:
:ID: refactor-menu :ID: refactor-menu
:END: :END:
- *Analysis:* The menu system is robust but has some duplicated code and hardcoded values. - *Analysis:* The menu system is robust but has some duplicated code and hardcoded values.
- *Tasks:* - *Tasks:*
- [ ] Refactor the input handling logic for the Magic Bag, Song Menu, and Ring Box sub-menus into a single, reusable subroutine. - [X] Refactor the input handling logic for the Magic Bag, Song Menu, and Ring Box sub-menus into a single, reusable subroutine.
- [ ] Replace all hardcoded menu state values (e.g., `LDA.b #$0C`) with named constants (e.g., `!MENU_STATE_MAGIC_BAG = $0C`). - [X] Replace all hardcoded menu state values (e.g., `LDA.b #$0C`) with named constants (e.g., `!MENU_STATE_MAGIC_BAG = $0C`).
** Music System (=Music/=) ** Music System (=Music/=)
*** TODO [#C] Improve Music System Workflow [0/3] *** TODO [#C] Improve Music System Workflow [0/3]
@@ -161,7 +161,7 @@ This section tracks known conflicts between systems and outstanding bugs.
:PROPERTIES: :PROPERTIES:
:ID: bug-zsow-daynight :ID: bug-zsow-daynight
:END: :END:
- *Status:* Regression. The previous fix attempt introduced a `BRK` crash. - *Status:* In progress.
- *Task:* Triage the crash to identify the root cause and develop a new solution for integrating day/night sprite loading with ZSOW. - *Task:* Triage the crash to identify the root cause and develop a new solution for integrating day/night sprite loading with ZSOW.
*** ACTIVE [#A] ZSOW vs. Song of Storms *** ACTIVE [#A] ZSOW vs. Song of Storms