Fix ActivateSubScreen: prevent .turnOn from falling through to clear
The .turnOn path was setting $1D=1 then falling through to .normal which cleared $1D - immediately undoing the overlay enable. Fix: Add BRA .exit after setting $1D in .turnOn path. Also remove the unnecessary module $0E check - the real bug was the fall-through, not menu state interference. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1570,18 +1570,16 @@ ActivateSubScreen:
|
|||||||
.turnOn
|
.turnOn
|
||||||
SEP #$20 ; Set A in 8bit mode.
|
SEP #$20 ; Set A in 8bit mode.
|
||||||
|
|
||||||
; Turn on BG1.
|
; Turn on BG1 and exit (don't fall through to clear!)
|
||||||
LDA.b #$01 : STA.b $1D
|
LDA.b #$01 : STA.b $1D
|
||||||
|
BRA .exit
|
||||||
|
|
||||||
.normal
|
.normal
|
||||||
|
; No overlay needed - clear $1D
|
||||||
SEP #$20 ; Set A in 8bit mode.
|
SEP #$20 ; Set A in 8bit mode.
|
||||||
|
STZ.b $1D
|
||||||
|
|
||||||
; Only clear $1D if not in menu (module $0E)
|
.exit
|
||||||
LDA.b $10 : CMP.b #$0E : BEQ .skipClear
|
|
||||||
STZ.b $1D ; Only clear if no overlay needed AND not in menu
|
|
||||||
.skipClear
|
|
||||||
|
|
||||||
PLX
|
PLX
|
||||||
|
|
||||||
PLB
|
PLB
|
||||||
|
|||||||
@@ -84,6 +84,14 @@ This section tracks tasks focused on improving the existing codebase's structure
|
|||||||
- [X] Convert all logic blocks (`RunClock`, `DrawClockToHud`, `ColorSubEffect`) into proper `subroutine`s.
|
- [X] Convert all logic blocks (`RunClock`, `DrawClockToHud`, `ColorSubEffect`) into proper `subroutine`s.
|
||||||
- [X] 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`).
|
||||||
|
|
||||||
|
*** TODO [#A] Fix Time System Custom BG Color Regression
|
||||||
|
:PROPERTIES:
|
||||||
|
:ID: bug-time-system-bg-color
|
||||||
|
:END:
|
||||||
|
- *Symptom:* Custom background color not working correctly after recent changes.
|
||||||
|
- *Likely Cause:* Regression introduced during system refactoring or ZSCustomOverworld changes.
|
||||||
|
- *Files to Investigate:* =Overworld/time_system.asm=, =Overworld/ZSCustomOverworld.asm=
|
||||||
|
|
||||||
** 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]
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
|
|||||||
Reference in New Issue
Block a user