Fix for avoiding Arrghus/Zora splash GFX issues

This commit is contained in:
codemann8
2023-05-10 23:12:42 -05:00
parent 1b564d99fc
commit 38fa9c3902
4 changed files with 17 additions and 17 deletions

View File

@@ -200,7 +200,7 @@ FreeUWGraphics:
dw $8800>>1
dw $8840>>1
dw $8980>>1
; dw $9960>>1 ; Arghuss Splash apparently
dw $9960>>1 ; Arghuss Splash apparently
dw $9C00>>1
; dw $9CA0>>1
dw $9DC0>>1
@@ -321,6 +321,9 @@ DynamicOAMTileUW_thin:
dw 0, 0 : db $4C, $00, $20, $00
dw 0, 8 : db $5C, $00, $20, $00
dw 0, 0 : db $CB, $00, $20, $00
dw 0, 8 : db $DB, $00, $20, $00
dw 0, 0 : db $E0, $00, $20, $00
dw 0, 8 : db $F0, $00, $20, $00
@@ -348,6 +351,9 @@ DynamicOAMTileUW_full:
dw -4, -1 : db $4C, $00, $20, $02
dd 0, 0
dw -4, -1 : db $CB, $00, $20, $02
dd 0, 0
dw -4, -1 : db $E0, $00, $20, $02
dd 0, 0
@@ -428,3 +434,9 @@ ConditionalPushBlockTransfer:
.return
RTL
pushpc
; fix Arghuss/Zora splash graphics
org $068595
db $E7, $E7, $E7, $E7, $E7, $C0, $C0
pullpc

View File

@@ -370,7 +370,7 @@ RevealSpriteDrop:
LDY.w $0CBA, X : BEQ .no_forced_drop
RTL
.no_forced_drop
PLA : PLA ; remove the JSL reswamturn lower 16 bits
PLA : PLA ; remove the JSL return lower 16 bits
PEA.w $06F996-1 ; change return address to .no_forced_drop of (Sprite_DoTheDeath)
RTL
@@ -381,7 +381,7 @@ RevealSpriteDrop2:
LDY.w $0CBA, X : BEQ .no_forced_drop
RTL
.no_forced_drop
PLA : PLA ; remove the JSL reswamturn lower 16 bits
PLA : PLA ; remove the JSL return lower 16 bits
PEA.w $06E3CE-1 ; change return address to .no_forced_drop of (Sprite_DoTheDeath)
RTL
@@ -389,7 +389,7 @@ BitFieldMasks:
dw $8000, $4000, $2000, $1000, $0800, $0400, $0200, $0100
dw $0080, $0040, $0020, $0010, $0008, $0004, $0002, $0001
; Runs during Sprite_E4_SmallKey and duning Sprite_E5_BigKey spawns
; Runs during Sprite_E4_SmallKey and during Sprite_E5_BigKey spawns
ShouldSpawnItem:
LDA $048E : CMP.b #$87 : BNE + ; check for hera basement cage
LDA $A8 : AND.b #$03 : CMP.b #$02 : BNE + ; we're not in that quadrant

View File

@@ -968,9 +968,7 @@ OWNewDestination:
OWLoadSpecialArea:
{
LDA.l Overworld_LoadSpecialOverworld_RoomId,X : STA.b $A0
CMP.w #$0182 : BNE +
JSL ZoraSplashGfxFix
+ JSL Overworld_LoadSpecialOverworld ; sets M and X flags
JSL Overworld_LoadSpecialOverworld ; sets M and X flags
TYX
LDY.b #$00
CPX.b #$01 : BNE + ; check if going to water transition

View File

@@ -6,16 +6,6 @@ LoadZoraKingItemGFX:
LDA.l $1DE1C3 ; location randomizer writes zora item to
JML RequestSlottedTile
;--------------------------------------------------------------------------------
ZoraSplashGfxFix:
PHA : PHX : PHY : SEP #$30
; below should be set to the index used for Arrghus/Zora Splash
; FreeOWGraphics in dynamic_si_vram.asm, whatever index is $9960
; this makes it so the first gfx that is loading is AFTER the splash
LDA.b #$01 : STA.w DynamicDropGFXIndex
JSL LoadCommonSprites_long
REP #$30 : PLY : PLX : PLA
RTL
;--------------------------------------------------------------------------------
JumpToSplashItemTarget:
LDA $0D90, X
CMP.b #$FF : BNE + : JML.l SplashItem_SpawnSplash : +