This commit is contained in:
spannerisms
2021-10-31 10:38:38 -04:00
parent 7f749e9578
commit 2b1a3566d8
4 changed files with 82 additions and 5 deletions

View File

@@ -177,7 +177,7 @@ RTL
;--------------------------------------------------------------------------------
OnLinkDamaged:
JSL.l IncrementDamageTakenCounter_Arb
JSL.l FlipperKill
;JSL.l FlipperKill
JML.l OHKOTimer
;--------------------------------------------------------------------------------

View File

@@ -68,3 +68,69 @@ MysteryWaterFunction: ; *$3AE54 ALTERNATE ENTRY POINT
STZ $0360
RTL
;--------------------------------------------------------------------------------
;===================================================================================================
; More elegant solution
;===================================================================================================
protectff:
LDA.l AllowAccidentalMajorGlitch
BEQ .yes_protect
RTL
.yes_protect
REP #$30
LDA.b $20
AND.w #$1E00
ASL
ASL
ASL
STA.b $06
LDA.b $22
AND.w #$1E00
ORA.b $06
XBA
LSR
TAX
SEP #$30
; Remove dark world bit
; in game table that converts coordinates to actual screen ID
; special case for other areas
LDA.b $8A
BMI .special_overworld
AND.b #$3F
CMP.l $02A4E3,X
BEQ ++
.protect
LDA.b #$15
STA.b $5D
STZ.b $2E
LDA.b #$02
STA.b $2F
STZ.w $0112
STZ.w $02E4
STZ.w $0FFC
++ RTL
.special_overworld
CMP.l .spow,X
BNE .protect
RTL
.spow
db $80, $81, $81, $FF, $FF, $FF, $FF, $FF
db $FF, $81, $81, $FF, $FF, $FF, $FF, $FF

View File

@@ -2259,8 +2259,18 @@ JSL.l OnLinkDamagedFromPitOutdoors
org $078F27 ; <- 38F27
JSL.l FlipperReset
;--------------------------------------------------------------------------------
org $09F40B ; <- 4F40B - module_death.asm:222 (LDX.b #$00)
JSL.l IgnoreFairyCheck
org $02B468
dw FakeFlipperProtection
org $02FFC7
FakeFlipperProtection:
JSR.w $029485
JSL protectff
RTS
;--------------------------------------------------------------------------------
;org $09F40B ; <- 4F40B - module_death.asm:222 (LDX.b #$00)
;JSL.l IgnoreFairyCheck
;--------------------------------------------------------------------------------
org $078F51 ; <- 38F51 - Bank07.asm:2444 (JSR $AE54 ; $3AE54 IN ROM)
JSL.l OnEnterWater : NOP
@@ -2526,13 +2536,13 @@ org $0DA9C8 ; <- 06A9C8 - player_oam.asm: 1663 (AND.w #$00FF : CMP.w #$00F8 : BC
LDA $02 ; always zero! (this replaces the BCC)
ADC.w #0000 ; put the carry bit into the accumulator instead of a hardcoded 1.
;-------------------------------------------------------------------------------
org $02fd6f ; <- 017d6f - bank0E.asm: 3694 (LoadActualGearPalettes:) Note: Overflow of bank02 moved to 0e in US Rom
org $02FD6F ; <- 017d6f - bank0E.asm: 3694 (LoadActualGearPalettes:) Note: Overflow of bank02 moved to 0e in US Rom
JSL LoadActualGearPalettesWithGloves
RTL
;--------------------------------------------------------------------------------
; Bunny Palette/Overworld Map Bugfix
;--------------------------------------------------------------------------------
org $02fdf0 ; <- 017df0 - bank0E (LDA [$00] : STA $7EC300, X : STA $7EC500, X)
org $02FDF0 ; <- 017df0 - bank0E (LDA [$00] : STA $7EC300, X : STA $7EC500, X)
JSL LoadGearPalette_safe_for_bunny
RTS
;================================================================================

View File

@@ -1746,6 +1746,7 @@ dw $0000
; STAIRS3
; STAIRS4
;--------------------------------------------------------------------------------
RoomHeaders:
org $30DA00 : RoomHeader_0000: ; pc 0x185A00
db $41, $21, $13, $22, $07, $3D, $00, $00, $00, $10, $C0, $00, $00, $04