Merge branch 'KatDevsGames:master' into master

This commit is contained in:
spannerisms
2021-07-17 05:48:21 -04:00
committed by GitHub
7 changed files with 203 additions and 78 deletions

View File

@@ -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:

View File

@@ -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

View File

@@ -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
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------

View File

@@ -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

View File

@@ -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"

View File

@@ -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
;================================================================================ ;================================================================================

View File

@@ -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: