diff --git a/LTTP_RND_GeneralBugfixes.asm b/LTTP_RND_GeneralBugfixes.asm index 320c417..b47f391 100644 --- a/LTTP_RND_GeneralBugfixes.asm +++ b/LTTP_RND_GeneralBugfixes.asm @@ -134,7 +134,7 @@ incsrc msu.asm incsrc dialog.asm incsrc entrances.asm incsrc clock.asm -incsrc accessability.asm +incsrc accessibility.asm incsrc heartbeep.asm incsrc capacityupgrades.asm incsrc timer.asm @@ -142,6 +142,7 @@ incsrc doorframefixes.asm incsrc music.asm incsrc roomloading.asm incsrc icepalacegraphics.asm +incsrc firebarlayer.asm warnpc $A18000 org $1C8000 ; text tables for translation @@ -464,6 +465,9 @@ LoadGearPalettes_bunny: org $02FD95 ; 17D95 - Bank0E.asm: 3742 Note: Different bank LoadGearPalettes_variable: +org $02FEAB +Filter_Majorly_Whiten_Color: + org $05A51D Sprite_SpawnFallingItem: diff --git a/accessability.asm b/accessability.asm deleted file mode 100644 index 46dba25..0000000 --- a/accessability.asm +++ /dev/null @@ -1,36 +0,0 @@ -;================================================================================ -; Accessability Fixes -;================================================================================ -FlipGreenPendant: - LDA $0C : CMP #$38 : BNE + ; check if we have green pendant - ORA #$40 : STA $0C ; flip it - + - - LDA $0D : STA $0802, X ; stuff we wrote over "Set CHR, palette, and priority of the sprite" - LDA $0C : STA $0803, X -RTL -;================================================================================ -!EPILEPSY_TIMER = "$7F5041" -SetEtherFlicker: - LDA.l Seizure_Safety : BNE + - LDA $031D : CMP.b #$0B : RTL - + - LDA !EPILEPSY_TIMER : INC : STA !EPILEPSY_TIMER - - LDA.l Seizure_Safety : CMP !EPILEPSY_TIMER : BNE +++ - LDA.b #$00 : STA !EPILEPSY_TIMER : BRA ++ - +++ - LSR : CMP !EPILEPSY_TIMER : !BLT ++ - SEP #$02 : RTL - ++ - REP #$02 - + -RTL -;================================================================================ -SetAttractMaidenFlicker: - LDA.l Seizure_Safety : BNE + - JSL.l Filter_MajorWhitenMain : LDA $5F : RTL - + - LDA #$00 -RTL -;================================================================================ \ No newline at end of file diff --git a/accessibility.asm b/accessibility.asm new file mode 100644 index 0000000..ee2095f --- /dev/null +++ b/accessibility.asm @@ -0,0 +1,228 @@ +;================================================================================ +; Accessability Fixes +;================================================================================ +FlipGreenPendant: + LDA $0C : CMP #$38 : BNE + ; check if we have green pendant + ORA #$40 : STA $0C ; flip it + + + + LDA $0D : STA $0802, X ; stuff we wrote over "Set CHR, palette, and priority of the sprite" + LDA $0C : STA $0803, X +RTL +;================================================================================ +ConditionalLightning: + CMP.b #$05 : BEQ ++ + CMP.b #$2C : BEQ ++ + CMP.b #$5A : BEQ ++ + LDA.l DisableFlashing : BNE ++ + LDA.b #$32 : STA.w $9A + RTL + ++ + LDA.b #$72 + STA $9A + +RTL +;================================================================================ +ConditionalWhitenBg: + LDX.b #$00 + LDA.l DisableFlashing + REP #$20 : BNE + + LDA $00,X + JSR WhitenLoopReal + RTL + + + LDA $00 + JSR WhitenLoopDummy + RTL + +;================================================================================ +WhitenLoopReal: + - + LDA $7EC340, X : JSL Filter_Majorly_Whiten_Color : STA $7EC540, X + LDA $7EC350, X : JSL Filter_Majorly_Whiten_Color : STA $7EC550, X + LDA $7EC360, X : JSL Filter_Majorly_Whiten_Color : STA $7EC560, X + LDA $7EC370, X : JSL Filter_Majorly_Whiten_Color : STA $7EC570, X + LDA $7EC380, X : JSL Filter_Majorly_Whiten_Color : STA $7EC580, X + LDA $7EC390, X : JSL Filter_Majorly_Whiten_Color : STA $7EC590, X + LDA $7EC3A0, X : JSL Filter_Majorly_Whiten_Color : STA $7EC5A0, X + LDA $7EC3B0, X : JSL Filter_Majorly_Whiten_Color : STA $7EC5B0, X + LDA $7EC3C0, X : JSL Filter_Majorly_Whiten_Color : STA $7EC5C0, X + LDA $7EC3D0, X : JSL Filter_Majorly_Whiten_Color : STA $7EC5D0, X + LDA $7EC3E0, X : JSL Filter_Majorly_Whiten_Color : STA $7EC5E0, X + INX #2 : CPX.b #$10 : BEQ + + JMP - + + + LDA $7EC3F0 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F0 + LDA $7EC3F2 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F2 + LDA $7EC3F4 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F4 + LDA $10 : CMP.w #$07 : BNE + + LDA $048E + CMP.w #$3C : BEQ ++ ; hookshot cave + CMP.w #$9D : BEQ ++ ; gt right + CMP.w #$9C : BEQ ++ ; gt big room + CMP.w #$A5 : BEQ ++ ; wizzrobes 1 + + + LDA $7EC3F6 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F6 + LDA $7EC3F8 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F8 + BRA +++ + ++ + LDA $7EC3F6 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F6 + LDA $7EC3F8 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F8 + BRA +++ + +++ + + LDA $7EC3FA : JSL Filter_Majorly_Whiten_Color : STA $7EC5FA + LDA $7EC3FC : JSL Filter_Majorly_Whiten_Color : STA $7EC5FC + LDA $7EC3FE : JSL Filter_Majorly_Whiten_Color : STA $7EC5FE + REP #$10 + LDA $7EC540 : TAY + LDA $7EC300 : BNE + + TAY + + + TYA : STA $7EC500 + SEP #$30 +RTS +;================================================================================ +WhitenLoopDummy: + - + LDA $7EC340, X : JSL Filter_Majorly_Whiten_Color : LDA $7EC540, X + LDA $7EC350, X : JSL Filter_Majorly_Whiten_Color : LDA $7EC550, X + LDA $7EC360, X : JSL Filter_Majorly_Whiten_Color : LDA $7EC560, X + LDA $7EC370, X : JSL Filter_Majorly_Whiten_Color : LDA $7EC570, X + LDA $7EC380, X : JSL Filter_Majorly_Whiten_Color : LDA $7EC580, X + LDA $7EC390, X : JSL Filter_Majorly_Whiten_Color : LDA $7EC590, X + LDA $7EC3A0, X : JSL Filter_Majorly_Whiten_Color : LDA $7EC5A0, X + LDA $7EC3B0, X : JSL Filter_Majorly_Whiten_Color : LDA $7EC5B0, X + LDA $7EC3C0, X : JSL Filter_Majorly_Whiten_Color : LDA $7EC5C0, X + LDA $7EC3D0, X : JSL Filter_Majorly_Whiten_Color : LDA $7EC5D0, X + LDA $7EC3E0, X : JSL Filter_Majorly_Whiten_Color : LDA $7EC5E0, X + INX #2 : CPX.b #$10 : BEQ + + JMP - + + + + LDA $7EC3F0 : JSL Filter_Majorly_Whiten_Color : LDA $7EC5F0 + LDA $7EC3F2 : JSL Filter_Majorly_Whiten_Color : LDA $7EC5F2 + LDA $7EC3F4 : JSL Filter_Majorly_Whiten_Color : LDA $7EC5F4 + LDA $10 : CMP.w #$07 : BNE + ; only light invisifloor if we're in dungeon submodule + LDA $048E + CMP.w #$3C : BEQ ++ ; hookshot cave + CMP.w #$9D : BEQ ++ ; gt right + CMP.w #$9C : BEQ ++ ; gt big room + CMP.w #$A5 : BEQ ++ ; wizzrobes 1 + + + LDA $7EC3F6 : JSL Filter_Majorly_Whiten_Color : LDA $7EC5F6 + LDA $7EC3F8 : JSL Filter_Majorly_Whiten_Color : LDA $7EC5F8 + BRA +++ + ++ + LDA $7EC3F6 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F6 + LDA $7EC3F8 : JSL Filter_Majorly_Whiten_Color : STA $7EC5F8 + BRA +++ + +++ + LDA $7EC3FA : JSL Filter_Majorly_Whiten_Color : LDA $7EC5FA + LDA $7EC3FC : JSL Filter_Majorly_Whiten_Color : LDA $7EC5FC + LDA $7EC3FE : JSL Filter_Majorly_Whiten_Color : LDA $7EC5FE + REP #$10 + LDA $7EC540 : TAY + LDA $7EC300 : BNE + + TAY + + + TYA : STA $7EC500 + SEP #$30 +RTS +;================================================================================ +RestoreBgEther: + LDX.b #$00 + LDA.l DisableFlashing : REP #$20 : BNE + + - + LDA $00,X + LDA $7EC340, X : STA $7EC540, X + LDA $7EC350, X : STA $7EC550, X + LDA $7EC360, X : STA $7EC560, X + LDA $7EC370, X : STA $7EC570, X + LDA $7EC380, X : STA $7EC580, X + LDA $7EC390, X : STA $7EC590, X + LDA $7EC3A0, X : STA $7EC5A0, X + LDA $7EC3B0, X : STA $7EC5B0, X + LDA $7EC3C0, X : STA $7EC5C0, X + LDA $7EC3D0, X : STA $7EC5D0, X + LDA $7EC3E0, X : STA $7EC5E0, X + LDA $7EC3F0, X : STA $7EC5F0, X + INX #2 : CPX.b #$10 : BNE - + BRA ++ + + + - + LDA $00 + LDA $7EC340, X : LDA $7EC540, X + LDA $7EC350, X : LDA $7EC550, X + LDA $7EC360, X : LDA $7EC560, X + LDA $7EC370, X : LDA $7EC570, X + LDA $7EC380, X : LDA $7EC580, X + LDA $7EC390, X : LDA $7EC590, X + LDA $7EC3A0, X : LDA $7EC5A0, X + LDA $7EC3B0, X : LDA $7EC5B0, X + LDA $7EC3C0, X : LDA $7EC5C0, X + LDA $7EC3D0, X : LDA $7EC5D0, X + LDA $7EC3E0, X : LDA $7EC5E0, X + LDA $7EC3F0, X : LDA $7EC5F0, X + INX #2 : CPX.b #$10 : BNE - + BRA ++ + ++ + JML $02FF51 + +;================================================================================ +DDMConditionalLightning: + LDA.l DisableFlashing + REP #$20 + BNE + + LDA.w $0000 + LDX.b #$02 + JML $07FA7F + + + LDA.b $00 + - + LDA $F4EB, Y : LDA $7EC560, X + LDA $F4F9, Y : LDA $7EC570, X + LDA $F507, Y : LDA $7EC590, X + LDA $F515, Y : LDA $7EC5E0, X + LDA $F523, Y : LDA $7EC5F0, X + INY #2 + INX #2 : CPX.b #$10 : BNE - + + LDX.b #$02 + JML $07FAAC + +;================================================================================ +ConditionalGTFlash: + LDA.l DisableFlashing + REP #$20 + BNE + + LDA $0000 + - + LDA $F9C1, Y : STA $7EC5D0, X + INY #2 + INX #2 : CPX.b #$10 : BNE - + RTL + + + LDA $00 + - + LDA $F9C1, Y : LDA $7EC5D0, X + INY #2 + INX #2 : CPX.b #$10 : BNE - +RTL +;================================================================================ +ConditionalRedFlash: + LDA.l DisableFlashing + REP #$20 : BNE + + LDA $00,X + LDA.w #$1D59 : STA $7EC5DA + LDA.w #$25FF : STA $7EC5DC + LDA.w #$001A + RTL + + + + LDA $00 + LDA.w #$1D59 : LDA $7EC5DA + LDA.w #$25FF : LDA $7EC5DC + LDA.w #$0000 + +RTL diff --git a/build_linux.sh b/build_linux.sh new file mode 100755 index 0000000..1b6c338 --- /dev/null +++ b/build_linux.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +rm ../working.sfc +cp ../alttp.sfc ../working.sfc +asar LTTP_RND_GeneralBugfixes.asm ../working.sfc diff --git a/firebarlayer.asm b/firebarlayer.asm new file mode 100644 index 0000000..f7118b2 --- /dev/null +++ b/firebarlayer.asm @@ -0,0 +1,8 @@ +NewFireBarDamage: +{ + LDA $00EE : CMP $0F20, X : BNE .NotSameLayer + JSL Sprite_AttemptDamageToPlayerPlusRecoilLong + RTL + .NotSameLayer + RTL +} \ No newline at end of file diff --git a/hooks.asm b/hooks.asm index 4830fd3..83737d6 100755 --- a/hooks.asm +++ b/hooks.asm @@ -731,19 +731,37 @@ dw $0000, $0002, $0004, $0032, $0004, $0006, $0030 ;-------------------------------------------------------------------------------- ;================================================================================ -; Accessability +; Accessibility ;-------------------------------------------------------------------------------- ;org $0AC574 ; <- 54574 - Bank0A.asm : 1797 (LDA $0D : STA $0802, X) ;JSL FlipGreenPendant ;NOP #6 ;-------------------------------------------------------------------------------- -org $08AAE1 ; <- 42AE1 - ancilla_ether_spell.asm : 28 (LDA $031D : CMP.b #$0B) -JSL.l SetEtherFlicker : NOP +org $08AAF9 ; -< 42AF9 - ancilla_ether_spell.asm : 46 (JSL Palette_Restore_BG_From_Flash) +JSL.l RestoreBgEther ;-------------------------------------------------------------------------------- -org $0CF37B ; <- 6737B - Bank0C.asm : 5055 (JSL Filter_MajorWhitenMain) -JSL.l SetAttractMaidenFlicker : NOP #2 +org $02A3F4 ; <- 123F4 - Bank02.asm : 6222 (LDA.b #$72 : BRA .setBrightness) +BRA + : NOP #2 : + +org $02A3FD ; <- 123FD - Bank02.asm : 6233 (LDA.b #$32 : STA $9a) +JSL.l ConditionalLightning ;-------------------------------------------------------------------------------- - +org $1DE9CD ; <- EE9CD - Bank1D.asm : 568 (JSL Filter_Majorly_Whiten_Bg) +JSL.l ConditionalWhitenBg +;-------------------------------------------------------------------------------- +org $08AAED ; <- 42AED - ancilla_ether_spell.asm : 35 (JSL Filter_Majorly_Whiten_Bg) +JSL.l ConditionalWhitenBg +;-------------------------------------------------------------------------------- +org $02FEE6 ; <- 17EE6 - Bank0E.asm : 3907 (RTS) +RTL ; the whiten color routine is only JSL-ed to +;-------------------------------------------------------------------------------- +org $07FA7B ; <- 3FA7B - Bank0E.asm : 4735 (REP #$20 : LDX.b #$02) +JML DDMConditionalLightning +;-------------------------------------------------------------------------------- +org $07FACB ; <- 3FACB - Bank0E.asm : 4773 (REP #$20 : LDA #$F531, Y) +JSL.l ConditionalGTFlash : BRA + : NOP #11 : + +;-------------------------------------------------------------------------------- +org $0AFF48 ; <- 57F48 - Bank0A.asm : 4935 (REP #$20 : LDA $7EC3DA) +JSL.l ConditionalRedFlash : BRA + : NOP #13 : + ;================================================================================ ; Ice Floor Toggle ;-------------------------------------------------------------------------------- @@ -2564,8 +2582,19 @@ CheckIfReading: CPX #$04 RTS ;================================================================================ + org $0DB4CA : db $40, $40 ; fire bar statis org $0DB4A9 : db $50, $50, $6E, $6E ; roller statis org $0DB4B2 : db $40, $40, $40, $40 ; cannon statis org $0DB4C3 : db $C0 ; anti fairy statis -org $0DB516 : db $40 ; chain chomp statis \ No newline at end of file +org $0DB516 : db $40 ; chain chomp statis + +;-------------------------------------------------------------------------------- +; Keep Firebar Damage on Same Layer +;-------------------------------------------------------------------------------- +org $06F425 +Sprite_AttemptDamageToPlayerPlusRecoilLong: + +org $1ED1B6 +JSL NewFireBarDamage +;================================================================================ diff --git a/quickswap.asm b/quickswap.asm index d83fd4c..96f5d0d 100644 --- a/quickswap.asm +++ b/quickswap.asm @@ -11,12 +11,6 @@ QuickSwap: LDA.l QuickSwapFlag : BEQ .done LDA.w $0202 : BEQ .done ; Skip everything if we don't have any items - ;TODO add romtype and race rom checks here - LDA.l TournamentSeed : BEQ + - LDA.l GameType : AND.b #$02 : BNE + - BRA .done - + - PHX XBA ; restore the stashed value CMP.b #$30 : BNE + diff --git a/stats/creditsnew.asm b/stats/creditsnew.asm index 79fb5ed..17114c1 100644 --- a/stats/creditsnew.asm +++ b/stats/creditsnew.asm @@ -138,9 +138,9 @@ CreditsLineBlank: %emptyline() %smallcredits("ORIGINAL GAME STAFF", "yellow") +%blankline() %blankline() -%emptyline() %smallcredits("EXECUTIVE PRODUCER", "green") %blankline() @@ -150,8 +150,6 @@ CreditsLineBlank: %blankline() %blankline() -%emptyline() - %smallcredits("PRODUCER", "yellow") %blankline() @@ -179,10 +177,8 @@ CreditsLineBlank: %blankline() %blankline() -%emptyline() %smallcredits("ASSISTANT DIRECTORS", "yellow") -%blankline() %blankline() %bigcredits("YASUHISA YAMAMURA") @@ -196,9 +192,9 @@ CreditsLineBlank: %smallcredits("SCREEN GRAPHICS DESIGNERS", "green") +%emptyline() +%emptyline() -%emptyline() -%emptyline() %smallcredits("OBJECT DESIGNERS", "yellow") %blankline() @@ -212,10 +208,8 @@ CreditsLineBlank: %blankline() %blankline() -%emptyline() %smallcredits("BACK GROUND DESIGNERS", "yellow") -%blankline() %blankline() %bigcredits("MASANAO ARIMOTO") @@ -254,8 +248,6 @@ CreditsLineBlank: %blankline() %blankline() -%emptyline() - %smallcredits("PROGRAMMERS", "yellow") %blankline() @@ -315,7 +307,6 @@ CreditsLineBlank: %blankline() %blankline() -%emptyline() %smallcredits("PRINTED ART WORK", "yellow") %blankline() @@ -381,8 +372,6 @@ CreditsLineBlank: %blankline() %blankline() -%emptyline() -%emptyline() %smallcredits("ITEM RANDOMIZER", "yellow") %blankline() @@ -408,12 +397,11 @@ CreditsLineBlank: %blankline() -%bigcredits("KEVINCATHCART") +%bigcredits("KEVINCATHCART CASSIDYMOEN") %blankline() %blankline() -%emptyline() %smallcredits("ENEMY RANDOMIZER", "yellow") %blankline() @@ -451,7 +439,6 @@ CreditsLineBlank: %smallcredits("SPRITE DEVELOPMENT", "green") -%blankline() %blankline() %bigcredits("MIKETRETHEWEY IBAZLY") @@ -461,14 +448,19 @@ CreditsLineBlank: %blankline() -%bigcredits("TWROXAS ARTHEAU") +%bigcredits("ACHY ARTHEAU") %blankline() -%bigcredits("GLAN TARTHORON") +%bigcredits("GLAN TWROXAS") %blankline() +%bigcredits("PLAGUEDONE TARTHORON") + +%blankline() +%blankline() + %smallcredits("YOUR SPRITE BY", "yellow") %addarbline(YourSpriteCreditsHi) @@ -486,7 +478,7 @@ CreditsLineBlank: %blankline() %blankline() -%smallcredits("PALETTE SHUFFLER", "YELLOW") +%smallcredits("PALETTE SHUFFLER", "yellow") %blankline() @@ -497,7 +489,6 @@ CreditsLineBlank: %smallcredits("SPECIAL THANKS", "red") -%blankline() %blankline() %bigcredits("SUPERSKUJ EVILASH25") @@ -512,6 +503,10 @@ CreditsLineBlank: %blankline() +%bigcredits("MICHAELK FOUTON") + +%blankline() + %bigcredits("SAKURATSUBASA") %blankline() @@ -527,7 +522,6 @@ CreditsLineBlank: %smallcredits("COMMUNITY DISCORD", "green") -%blankline() %blankline() %bigcredits("HTTPS://ALTTPR.COM/DISCORD") @@ -559,6 +553,12 @@ CreditsLineBlank: %emptyline() %emptyline() %emptyline() +%emptyline() +%emptyline() +%emptyline() +%emptyline() +%emptyline() +%emptyline() ;=================================================================================================== diff --git a/tables.asm b/tables.asm index 93204e8..4775e81 100644 --- a/tables.asm +++ b/tables.asm @@ -873,8 +873,8 @@ Restrict_Ponds: db #$01 ; #$00 = Original Behavior - #$01 - Restrict to Bottles (Default) ;================================================================================ org $30817F ; PC 0x18017F -Seizure_Safety: -db #$00 ; #$00 = Off (Default) - #$xx = Limit Certain Effects +DisableFlashing: +db #$00 ; #$00 = Flashing Enabled (Default) - #$01 = Flashing Disabled ;================================================================================ ;---- --hb ;h - Hookshot