From 2303a450dc09208507ff6dd3f20bfa633962172e Mon Sep 17 00:00:00 2001 From: scawful Date: Sun, 19 Jan 2025 22:13:13 -0500 Subject: [PATCH] update time system defines --- Masks/bunny_hood.asm | 2 +- Masks/deku_mask.asm | 2 +- Masks/wolf_mask.asm | 2 +- Masks/zora_mask.asm | 2 +- Overworld/time_system.asm | 122 ++++++++++++++++++++------------------ 5 files changed, 67 insertions(+), 63 deletions(-) diff --git a/Masks/bunny_hood.asm b/Masks/bunny_hood.asm index 35ee30d..c5356ce 100644 --- a/Masks/bunny_hood.asm +++ b/Masks/bunny_hood.asm @@ -27,7 +27,7 @@ UpdateBunnyPalette: .loop LDA.l bunny_palette, X PHX - STA.l !pal_color + STA.l !SubPalColor JSL ColorSubEffect PLX STA $7EC6E0, X diff --git a/Masks/deku_mask.asm b/Masks/deku_mask.asm index eacfb50..119669d 100644 --- a/Masks/deku_mask.asm +++ b/Masks/deku_mask.asm @@ -15,7 +15,7 @@ UpdateDekuPalette: .loop LDA.l deku_palette, X PHX - STA.l !pal_color + STA.l !SubPalColor JSL ColorSubEffect PLX STA $7EC6E0, X diff --git a/Masks/wolf_mask.asm b/Masks/wolf_mask.asm index 0edaced..0893e2e 100644 --- a/Masks/wolf_mask.asm +++ b/Masks/wolf_mask.asm @@ -11,7 +11,7 @@ UpdateWolfPalette: .loop LDA.l WolfPalette, X PHX - STA.l !pal_color + STA.l !SubPalColor JSL ColorSubEffect PLX STA $7EC6E0, X diff --git a/Masks/zora_mask.asm b/Masks/zora_mask.asm index 624b84a..d0db24e 100644 --- a/Masks/zora_mask.asm +++ b/Masks/zora_mask.asm @@ -19,7 +19,7 @@ UpdateZoraPalette: .loop LDA.l zora_palette, X PHX - STA.l !pal_color + STA.l !SubPalColor JSL ColorSubEffect PLX STA $7EC6E0, X diff --git a/Overworld/time_system.asm b/Overworld/time_system.asm index a0c50dc..a51369c 100644 --- a/Overworld/time_system.asm +++ b/Overworld/time_system.asm @@ -12,7 +12,7 @@ TimeSpeed = $7EE002 ; HUD Template adjusts timer's color org $0DFF07 - db $10, $24, $11, $24 + db $10, $24, $11, $24 db $6C, $25 db $90, $24, $90, $24 db $6C, $25, $90, $24, $90, $24 @@ -20,14 +20,14 @@ org $0DFF07 ; Sprite_Main.dont_reset_drag ; Executes every frame to update the clock org $068361 - JSL HUD_ClockDisplay + JSL HUD_ClockDisplay pullpc HUD_ClockDisplay: { - JSR RunClock - JSR DrawClockToHud - JSL $09B06E ; Restore Garnish_ExecuteUpperSlots_long - RTL + JSR RunClock + JSR DrawClockToHud + JSL $09B06E ; Restore Garnish_ExecuteUpperSlots_long + RTL } ; Zarby Intro and Credits fix @@ -87,7 +87,7 @@ DrawClockToHud: STA.l !hud_min_high LDA #$30 : STA.l !hud_min_high+1 ; white palette .finish_draw - INX : CPX #$02 : BMI .debut + INX : CPX #$02 : BMI .debut RTS } @@ -284,24 +284,24 @@ org $00FC6A : JSL CheckIfNight16Bit ; ----[ Day / Night system * palette effect ]---- ; ========================================================= -!blue_value = $7EE010 -!green_value = $7EE012 -!red_value = $7EE014 +!BlueVal = $7EE010 +!GreenVal = $7EE012 +!RedVal = $7EE014 -!temp_value = $7EE016 -!pal_color = $7EE018 +!TempPalColor = $7EE016 +!SubPalColor = $7EE018 Overworld_CopyPalettesToCache = $02C769 org $02FF80 ; free space on bank $02 PaletteBufferToEffective: - JSR $C769 ; $02:C65F -> palette buffer to effective routine - RTL + JSR $C769 ; $02:C65F -> palette buffer to effective routine + RTL RomToPaletteBuffer: - JSR $AAF4 ; $02:AAF4 -> change buffer palette of trees,houses,rivers,etc. - JSR $C692 ; $02:C692 -> rom to palette buffer for other colors - RTL + JSR $AAF4 ; $02:AAF4 -> change buffer palette of trees,houses,rivers,etc. + JSR $C692 ; $02:C692 -> rom to palette buffer for other colors + RTL PalBuf300_HUD = $7EC300 PalBuf340_BG = $7EC340 @@ -323,14 +323,14 @@ org $1BEF84 : JSL LoadDayNightPaletteEffect pullpc LoadDayNightPaletteEffect: { - STA.l !pal_color : CPX #$0041 : BPL .title_check + STA.l !SubPalColor : CPX #$0041 : BPL .title_check STA.l PalBuf300_HUD, X RTL .title_check ; title or file select screen ? LDA $10 : AND #$00FF : CMP #$0002 : BCS .outin_check - LDA.l !pal_color + LDA.l !SubPalColor STA.l PalBuf300_HUD, X RTL .outin_check @@ -339,13 +339,13 @@ LoadDayNightPaletteEffect: CMP.w #$0012 : BCS .restorecode BRA .overworld .restorecode - LDA.l !pal_color + LDA.l !SubPalColor STA.l PalBuf300_HUD, X RTL .overworld LDA $1B : AND #$00FF : BEQ .outdoors2 - LDA.l !pal_color + LDA.l !SubPalColor STA.l PalBuf300_HUD,X RTL .outdoors2 @@ -359,43 +359,47 @@ LoadDayNightPaletteEffect: ; ========================================================= +!SmallestBlue = #$0400 +!SmallestGreen = #$0020 +!SmallestRed = #$0001 + ColorSubEffect: { - LDA.l Hours : AND #$00FF : CLC : ADC.l Hours ; hours * 2 - AND #$00FF : TAX + LDA.l Hours : AND #$00FF : CLC : ADC.l Hours ; hours * 2 + AND #$00FF : TAX ; Subtract amount to blue field based on a table - LDA.l !pal_color : AND #$7C00 : STA !blue_value - SEC : SBC.l .blue, X : STA !temp_value + LDA.l !SubPalColor : AND #$7C00 : STA !BlueVal + SEC : SBC.l .blue, X : STA !TempPalColor ; mask out everything except the blue bits - AND #$7C00 : CMP !temp_value : BEQ .no_blue_sign_change ; overflow ? - LDA #$0400 ; LDA smallest blue value + AND #$7C00 : CMP !TempPalColor : BEQ .no_blue_sign_change ; overflow ? + LDA !SmallestBlue .no_blue_sign_change - STA.l !blue_value + STA.l !BlueVal ; Subtract amount to blue field based on a table - LDA !pal_color : AND #$03E0 : STA !green_value - SEC : SBC.l .green, X : STA.l !temp_value + LDA !SubPalColor : AND #$03E0 : STA !GreenVal + SEC : SBC.l .green, X : STA.l !TempPalColor ; Mask out everything except the green bits - AND #$03E0 : CMP !temp_value : BEQ .no_green_sign_change ; overflow ? - LDA #$0020 ; LDA smallest green value + AND #$03E0 : CMP !TempPalColor : BEQ .no_green_sign_change ; overflow ? + LDA !SmallestGreen .no_green_sign_change - STA.l !green_value + STA.l !GreenVal ; substract amount to red field based on a table - LDA.l !pal_color : AND #$001F : STA.l !red_value - SEC : SBC.l .red, X : STA.l !temp_value + LDA.l !SubPalColor : AND #$001F : STA.l !RedVal + SEC : SBC.l .red, X : STA.l !TempPalColor ; mask out everything except the red bits - AND #$001F : CMP !temp_value : BEQ .no_red_sign_change ; overflow ? - LDA #$0001 ; LDA smallest red value + AND #$001F : CMP !TempPalColor : BEQ .no_red_sign_change ; overflow ? + LDA !SmallestRed .no_red_sign_change - STA.l !red_value + STA.l !RedVal - LDA.l !blue_value : ORA.l !green_value : ORA.l !red_value - RTL + LDA.l !BlueVal : ORA.l !GreenVal : ORA.l !RedVal + RTL ; color_sub_tables : 24 * 2 bytes each = 48 bytes ; (2 bytes = 1 color sub for each hour) @@ -450,34 +454,34 @@ MosaicFix: SubAreasFix: { BEQ .no_effect - STA.l !pal_color - PHX + STA.l !SubPalColor + PHX REP #$20 JSL ColorSubEffect SEP #$20 - PLX + PLX .no_effect - STA.l PalBuf300_HUD - STA.l PalBuf340_BG - RTL + STA.l PalBuf300_HUD + STA.l PalBuf340_BG + RTL } GlovePalettePosition = $7EC4FA GlovesFix: { - STA.l !pal_color - LDA $1B : AND #$00FF : BEQ .outdoors3 - LDA.l !pal_color + STA.l !SubPalColor + LDA $1B : AND #$00FF : BEQ .outdoors3 + LDA.l !SubPalColor STA GlovePalettePosition RTL .outdoors3: - PHX - JSL ColorSubEffect - PLX - STA GlovePalettePosition - RTL + PHX + JSL ColorSubEffect + PLX + STA GlovePalettePosition + RTL } ColorBgFix: @@ -488,7 +492,7 @@ ColorBgFix: LDA.b $10 : CMP.b #$17 : BEQ .vanilla REP #$30 PLA - STA.l !pal_color + STA.l !SubPalColor JSL ColorSubEffect STA.l PalCgram500_HUD STA.l PalCgram540_BG @@ -534,7 +538,7 @@ FixShockPalette: PHA LDA.b $1B : BNE .indoors PLA - STA !pal_color + STA !SubPalColor PHX JSL ColorSubEffect PLX @@ -617,10 +621,10 @@ org $1BEE2D : JSL GlovesFix org $0ED956 : JSL FixDungeonMapColors ; UnderworldMap_RecoverGFX -org $0AEFA6 : JSL RestoreTimeForDungeonMap +org $0AEFA6 : JSL RestoreTimeForDungeonMap ; RefreshLinkEquipmentPalettes -org $0ED745 : JSL FixShockPalette +org $0ED745 : JSL FixShockPalette ; GameOver_SaveAndQuit: -org $09F604 : JSL FixSaveAndQuit \ No newline at end of file +org $09F604 : JSL FixSaveAndQuit