Merge branch 'KatDevsGames:master' into master
This commit is contained in:
@@ -508,6 +508,9 @@ Sprite_ShowMessageUnconditional:
|
|||||||
org $05EC96
|
org $05EC96
|
||||||
Sprite_ZeldaLong:
|
Sprite_ZeldaLong:
|
||||||
|
|
||||||
|
org $0680FA
|
||||||
|
Player_ApplyRumbleToSprites:
|
||||||
|
|
||||||
org $0683E6
|
org $0683E6
|
||||||
Utility_CheckIfHitBoxesOverlapLong:
|
Utility_CheckIfHitBoxesOverlapLong:
|
||||||
|
|
||||||
|
|||||||
64
boots.asm
64
boots.asm
@@ -6,10 +6,72 @@ ModifyBoots:
|
|||||||
PHA
|
PHA
|
||||||
LDA !BOOTS_MODIFIER : CMP.b #$01 : BNE +
|
LDA !BOOTS_MODIFIER : CMP.b #$01 : BNE +
|
||||||
PLA : AND $7EF379 : ORA.b #$04 : RTL ; yes boots
|
PLA : AND $7EF379 : ORA.b #$04 : RTL ; yes boots
|
||||||
+ : CMP #$02 : BNE +
|
+ : CMP.b #$02 : BNE +
|
||||||
PLA : AND $7EF379 : AND.b #$FB : RTL ; no boots
|
PLA : AND $7EF379 : AND.b #$FB : RTL ; no boots
|
||||||
|
+ : LDA FakeBoots : CMP.b #$01 : BNE +
|
||||||
|
LDA $5B : BEQ ++ : LDA $59 : BNE + ; hover check
|
||||||
|
++ : PLA : AND $7EF379 : ORA.b #$04 : RTL ; yes boots, not hovering
|
||||||
+
|
+
|
||||||
PLA
|
PLA
|
||||||
AND $7EF379 ; regular boots
|
AND $7EF379 ; regular boots
|
||||||
RTL
|
RTL
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
AddBonkTremors:
|
||||||
|
PHA
|
||||||
|
LDA $46 : BNE + ; Check for incapacitated Link
|
||||||
|
JSL.l IncrementBonkCounter
|
||||||
|
+
|
||||||
|
LDA !BOOTS_MODIFIER : CMP.b #$01 : BEQ +
|
||||||
|
LDA $7EF355 : BNE + ; Check for Boots
|
||||||
|
PLA : RTL
|
||||||
|
+
|
||||||
|
PLA
|
||||||
|
JSL.l AddDashTremor : JSL.l Player_ApplyRumbleToSprites ; things we wrote over
|
||||||
|
RTL
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
BonkBreakableWall:
|
||||||
|
PHX : PHP
|
||||||
|
SEP #$30 ; set 8-bit accumulator and index registers
|
||||||
|
LDA !BOOTS_MODIFIER : CMP.b #$01 : BEQ +
|
||||||
|
LDA $7EF355 : BNE + ; Check for Boots
|
||||||
|
PLP : PLX : LDA.w #$0000 : RTL
|
||||||
|
+
|
||||||
|
PLP : PLX
|
||||||
|
LDA $0372 : AND.w #$00FF ; things we wrote over
|
||||||
|
RTL
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
BonkRockPile:
|
||||||
|
LDA !BOOTS_MODIFIER : CMP.b #$01 : BEQ +
|
||||||
|
LDA $7EF355 : BNE + ; Check for Boots
|
||||||
|
LDA.b #$00 : RTL
|
||||||
|
+
|
||||||
|
LDA $02EF : AND.b #$70 ; things we wrote over
|
||||||
|
RTL
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
GravestoneHook:
|
||||||
|
LDA !BOOTS_MODIFIER : CMP.b #$01 : BEQ +
|
||||||
|
LDA $7EF355 : BEQ .done ; Check for Boots
|
||||||
|
+
|
||||||
|
LDA $0372 : BEQ .done ; things we wrote over
|
||||||
|
JML.l moveGravestone
|
||||||
|
.done
|
||||||
|
JML.l GravestoneHook_continue
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
JumpDownLedge:
|
||||||
|
LDA !BOOTS_MODIFIER : CMP.b #$01 : BEQ +
|
||||||
|
LDA $7EF355 : BNE + ; Check for Boots
|
||||||
|
; Disarm Waterwalk
|
||||||
|
LDA $5B : CMP.b #$01 : BNE +
|
||||||
|
STZ $5B
|
||||||
|
+
|
||||||
|
LDA $1B : BNE .done : LDA.b #$02 : STA $EE ; things we wrote over
|
||||||
|
.done
|
||||||
|
RTL
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
BonkRecoil:
|
||||||
|
LDA !BOOTS_MODIFIER : CMP.b #$01 : BEQ +
|
||||||
|
LDA $7EF355 : BNE + ; Check for Boots
|
||||||
|
LDA.b #$16 : STA $29 : RTL
|
||||||
|
+
|
||||||
|
LDA.b #$24 : STA $29 ; things we wrote over
|
||||||
|
RTL
|
||||||
|
|||||||
48
hooks.asm
48
hooks.asm
@@ -62,6 +62,51 @@ org $079C22 ; <- 39222 - Bank07.asm : 4494 (AND $7EF379 : BEQ .cantDoAction)
|
|||||||
JSL.l ModifyBoots
|
JSL.l ModifyBoots
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
;================================================================================
|
||||||
|
; Enable/Disable Bonk Tremors
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
org $079202 ; 39202 <- Bank07.asm : 2859 (JSL AddDashTremor : JSL Player_ApplyRumbleToSprites)
|
||||||
|
JSL.l AddBonkTremors : NOP #4
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
;================================================================================
|
||||||
|
; Bonk Breakable Walls
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
org $01CF8E ; CF8E <- Bank01.asm : 11641 (LDA $0372 : AND.w #$00FF)
|
||||||
|
JSL.l BonkBreakableWall : NOP #2
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
;================================================================================
|
||||||
|
; Bonk Rock Pile
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
org $07C196 ; 3C196 <- Bank07.asm : 10310 (LDA $02EF : AND.b #$70)
|
||||||
|
JSL.l BonkRockPile : NOP
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
;================================================================================
|
||||||
|
; Move Gravestone
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
org $07C0FD ; 3C0FD <- Bank07.asm : 10197 (LDA $0372 : BNE .moveGravestone)
|
||||||
|
JML.l GravestoneHook : NOP
|
||||||
|
GravestoneHook_continue:
|
||||||
|
org $07C106
|
||||||
|
moveGravestone:
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
;================================================================================
|
||||||
|
; Jump Down Ledge
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
org $078966 ; 38966 <- Bank07.asm : 1618 (LDA $1B : BNE .indoors : LDA.b #$02 : STA $EE)
|
||||||
|
JSL.l JumpDownLedge : NOP #4
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
;================================================================================
|
||||||
|
; Bonk Recoil
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
org $07922C ; 3922C <- Bank07.asm : 2869 (LDA.b #$24 : STA $29)
|
||||||
|
JSL.l BonkRecoil
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
; Dungeon Exit Hook
|
; Dungeon Exit Hook
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
@@ -486,9 +531,6 @@ JSL.l CheckGanonHammerDamage : NOP
|
|||||||
;================================================================================
|
;================================================================================
|
||||||
; Stat Hooks
|
; Stat Hooks
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $079202 ; 39202 <- Bank07.asm : 2859 (JSL AddDashTremor)
|
|
||||||
JSL.l StatBonkCounter
|
|
||||||
;--------------------------------------------------------------------------------
|
|
||||||
org $02B797 ; <- 13797 - Bank02.asm : 8712 (LDA.b #$19 : STA $10)
|
org $02B797 ; <- 13797 - Bank02.asm : 8712 (LDA.b #$19 : STA $10)
|
||||||
JSL.l StatsFinalPrep
|
JSL.l StatsFinalPrep
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -71,15 +71,15 @@ macro DrawBombosPlatform(roomX, roomY, quadX, quadY)
|
|||||||
endMacro
|
endMacro
|
||||||
|
|
||||||
IcePalaceBombosSE:
|
IcePalaceBombosSE:
|
||||||
LDA AllowSwordlessMedallionUse : BNE + : RTL : +
|
LDA AllowSwordlessMedallionUse : CMP #$01 : BEQ + : RTL : +
|
||||||
%DrawBombosPlatform(14, 18, 1, 1)
|
%DrawBombosPlatform(14, 18, 1, 1)
|
||||||
RTL
|
RTL
|
||||||
IcePalaceBombosSW:
|
IcePalaceBombosSW:
|
||||||
LDA AllowSwordlessMedallionUse : BNE + : RTL : +
|
LDA AllowSwordlessMedallionUse : CMP #$01 : BEQ + : RTL : +
|
||||||
%DrawBombosPlatform(14, 18, 0, 1)
|
%DrawBombosPlatform(14, 18, 0, 1)
|
||||||
RTL
|
RTL
|
||||||
IcePalaceBombosNE:
|
IcePalaceBombosNE:
|
||||||
LDA AllowSwordlessMedallionUse : BNE + : RTL : +
|
LDA AllowSwordlessMedallionUse : CMP #$01 : BEQ + : RTL : +
|
||||||
%DrawBombosPlatform(14, 18, 1, 0)
|
%DrawBombosPlatform(14, 18, 1, 0)
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
|
|||||||
@@ -144,16 +144,12 @@
|
|||||||
!LOCK_STATS = "$7EF443"
|
!LOCK_STATS = "$7EF443"
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
!BONK_COUNTER = "$7EF420"
|
!BONK_COUNTER = "$7EF420"
|
||||||
StatBonkCounter:
|
IncrementBonkCounter:
|
||||||
PHA
|
|
||||||
JSL Ancilla_CheckIfAlreadyExistsLong : BCS +
|
|
||||||
LDA !LOCK_STATS : BNE +
|
LDA !LOCK_STATS : BNE +
|
||||||
LDA !BONK_COUNTER : INC
|
LDA !BONK_COUNTER : INC
|
||||||
CMP.b #100 : BEQ + ; decimal 100
|
CMP.b #100 : BEQ + ; decimal 100
|
||||||
STA !BONK_COUNTER
|
STA !BONK_COUNTER
|
||||||
+
|
+
|
||||||
PLA
|
|
||||||
JSL.l AddDashTremor ; thing we wrote over
|
|
||||||
RTL
|
RTL
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
!SAVE_COUNTER = "$7EF42D"
|
!SAVE_COUNTER = "$7EF42D"
|
||||||
|
|||||||
@@ -165,50 +165,68 @@ GetSmithSword:
|
|||||||
JML.l Smithy_AlreadyGotSword
|
JML.l Smithy_AlreadyGotSword
|
||||||
;================================================================================
|
;================================================================================
|
||||||
CheckMedallionSword:
|
CheckMedallionSword:
|
||||||
|
LDA.l AllowSwordlessMedallionUse : BEQ .check_sword
|
||||||
|
CMP #$01 : BEQ .check_pad
|
||||||
|
LDA.b #$02 ; Pretend we have master sword
|
||||||
|
RTL
|
||||||
|
.check_sword
|
||||||
|
LDA $7EF359
|
||||||
|
RTL
|
||||||
|
.check_pad
|
||||||
PHB : PHX : PHY
|
PHB : PHX : PHY
|
||||||
LDA.l AllowSwordlessMedallionUse : BNE +++ : JMP + : +++
|
|
||||||
LDA $1B : BEQ .outdoors
|
LDA $1B : BEQ .outdoors
|
||||||
.indoors
|
.indoors
|
||||||
REP #$20 ; set 16-bit accumulator
|
REP #$20 ; set 16-bit accumulator
|
||||||
LDA $A0 ; load room ID
|
LDA $A0 ; load room ID
|
||||||
CMP.w #$000E : BNE ++ : .freezor1
|
CMP.w #$000E : BNE + ; freezor1
|
||||||
LDA $22 : AND.w #$01FF : CMP.w #368-8 : !BLT .normal : CMP.w #368+32-8 : !BGE .normal ; check x-coord
|
LDA $22 : AND.w #$01FF ; check x-coord
|
||||||
LDA $20 : AND.w #$01FF : CMP.w #400-22 : !BLT .normal : CMP.w #400+32-22 : !BGE .normal ; check y-coord
|
CMP.w #368-8 : !BLT .normal
|
||||||
|
CMP.w #368+32-8 : !BGE .normal
|
||||||
|
LDA $20 : AND.w #$01FF ; check y-coord
|
||||||
|
CMP.w #400-22 : !BLT .normal
|
||||||
|
CMP.w #400+32-22 : !BGE .normal
|
||||||
JMP .permit
|
JMP .permit
|
||||||
++ : CMP.w #$007E : BNE ++ : .freezor2
|
+ : CMP.w #$007E : BNE + ; freezor2
|
||||||
LDA $22 : AND.w #$01FF : CMP.w #112-8 : !BLT .normal : CMP.w #112+32-8 : !BGE .normal ; check x-coord
|
LDA $22 : AND.w #$01FF ; check x-coord
|
||||||
LDA $20 : AND.w #$01FF : CMP.w #400-22 : !BLT .normal : CMP.w #400+32-22 : !BGE .normal ; check y-coord
|
CMP.w #112-8 : !BLT .normal
|
||||||
|
CMP.w #112+32-8 : !BGE .normal
|
||||||
|
LDA $20 : AND.w #$01FF ; check y-coord
|
||||||
|
CMP.w #400-22 : !BLT .normal
|
||||||
|
CMP.w #400+32-22 : !BGE .normal
|
||||||
JMP .permit
|
JMP .permit
|
||||||
++ : CMP.w #$00DE : BNE ++ : .kholdstare
|
+ : CMP.w #$00DE : BNE + ; kholdstare
|
||||||
LDA $22 : AND.w #$01FF : CMP.w #368-8 : !BLT .normal : CMP.w #368+32-8 : !BGE .normal ; check x-coord
|
LDA $22 : AND.w #$01FF ; check x-coord
|
||||||
LDA $20 : AND.w #$01FF : CMP.w #144-22 : !BLT .normal : CMP.w #144+32-22 : !BGE .normal ; check y-coord
|
CMP.w #368-8 : !BLT .normal
|
||||||
|
CMP.w #368+32-8 : !BGE .normal
|
||||||
|
LDA $20 : AND.w #$01FF ; check y-coord
|
||||||
|
CMP.w #144-22 : !BLT .normal
|
||||||
|
CMP.w #144+32-22 : !BGE .normal
|
||||||
BRA .permit
|
BRA .permit
|
||||||
++ : .normal
|
+ : .normal
|
||||||
SEP #$20 ; set 8-bit accumulator
|
SEP #$20 ; set 8-bit accumulator
|
||||||
BRA .done
|
BRA .done
|
||||||
.outdoors
|
.outdoors
|
||||||
LDA $8A : CMP.b #$70 : BNE ++
|
LDA $8A : CMP.b #$70 : BNE +
|
||||||
LDA.l MireRequiredMedallion : TAX : LDA.l .medallion_type, X : CMP $0303 : BNE +
|
LDA.l MireRequiredMedallion : TAX : LDA.l .medallion_type, X : CMP $0303 : BNE .done
|
||||||
LDA $7EF2F0 : AND.b #$20 : BNE +
|
LDA $7EF2F0 : AND.b #$20 : BNE .done
|
||||||
LDA.b #$08 : PHA : PLB ; set data bank to $08
|
LDA.b #$08 : PHA : PLB ; set data bank to $08
|
||||||
LDY.b #$02 : JSL.l Ancilla_CheckIfEntranceTriggered : BCS .permit ; misery mire
|
LDY.b #$02 : JSL.l Ancilla_CheckIfEntranceTriggered : BCS .permit ; misery mire
|
||||||
BRA +
|
BRA .done
|
||||||
++ : CMP.b #$47 : BNE ++
|
+ : CMP.b #$47 : BNE +
|
||||||
LDA.l TRockRequiredMedallion : TAX : LDA.l .medallion_type, X : CMP $0303 : BNE +
|
LDA.l TRockRequiredMedallion : TAX : LDA.l .medallion_type, X : CMP $0303 : BNE .done
|
||||||
LDA $7EF2C7 : AND.b #$20 : BNE +
|
LDA $7EF2C7 : AND.b #$20 : BNE .done
|
||||||
LDA.b #$08 : PHA : PLB ; set data bank to $08
|
LDA.b #$08 : PHA : PLB ; set data bank to $08
|
||||||
LDY.b #$03 : JSL.l Ancilla_CheckIfEntranceTriggered : BCS .permit ; turtle rock
|
LDY.b #$03 : JSL.l Ancilla_CheckIfEntranceTriggered : BCS .permit ; turtle rock
|
||||||
++
|
|
||||||
.done
|
|
||||||
+
|
+
|
||||||
|
.done
|
||||||
PLY : PLX : PLB
|
PLY : PLX : PLB
|
||||||
LDA $7EF359
|
LDA $7EF359
|
||||||
RTL
|
RTL
|
||||||
.permit
|
.permit
|
||||||
SEP #$20 ; set 8-bit accumulator
|
SEP #$20 ; set 8-bit accumulator
|
||||||
PLY : PLX : PLB
|
PLY : PLX : PLB
|
||||||
LDA.b #$02 ; Pretend we have master sword
|
LDA.b #$02 ; Pretend we have master sword
|
||||||
RTL
|
RTL
|
||||||
.medallion_type
|
.medallion_type
|
||||||
db #$0F, #$10, #$11
|
db #$0F, #$10, #$11
|
||||||
;================================================================================
|
;================================================================================
|
||||||
|
|||||||
@@ -167,7 +167,7 @@ db #$00 ; #$00 = Off (default) - #$01 = On
|
|||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $308041 ; PC 0x180041
|
org $308041 ; PC 0x180041
|
||||||
AllowSwordlessMedallionUse:
|
AllowSwordlessMedallionUse:
|
||||||
db #$00 ; #$00 = Off (default) - #$01 = Medallion Pads - #$02 = Always (Not Implemented)
|
db #$00 ; #$00 = Off (default) - #$01 = Medallion Pads - #$02 = Always
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $308042 ; PC 0x180042
|
org $308042 ; PC 0x180042
|
||||||
PermitSQFromBosses:
|
PermitSQFromBosses:
|
||||||
@@ -388,7 +388,11 @@ org $30808D ; PC 0x18008D
|
|||||||
InstantPostAgaWorldState:
|
InstantPostAgaWorldState:
|
||||||
db $00 ; #$00 = Off (default) - #$01 = On
|
db $00 ; #$00 = Off (default) - #$01 = On
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
; 0x18008E - 0x18008F (unused)
|
org $30808E ; PC 0x18008E
|
||||||
|
FakeBoots:
|
||||||
|
db $00 ; #$00 = Off (default) - #$01 = On
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
; 0x18008F (unused)
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $308090 ; PC 0x180090 - 0x180097
|
org $308090 ; PC 0x180090 - 0x180097
|
||||||
ProgressiveSwordLimit:
|
ProgressiveSwordLimit:
|
||||||
|
|||||||
Reference in New Issue
Block a user