First pass at bugnet mode
This commit is contained in:
12
hooks.asm
12
hooks.asm
@@ -2992,6 +2992,16 @@ Link_UseHammerLong:
|
|||||||
JSR Link_UseHammer : RTL
|
JSR Link_UseHammer : RTL
|
||||||
warnpc $07F890
|
warnpc $07F890
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
org $06F2DC ; bank_06.asm@22763 (LDA.w $037A : AND.b #$10)
|
||||||
|
JSL CheckBugNet : NOP
|
||||||
|
|
||||||
|
org $06EB91 ; bank_06.asm@21178 (LDA.w $037A : AND.b #$10)
|
||||||
|
JSL CheckBugNet : NOP
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
org $06ED77 ; bank_06.asm@21597 (LDA.w $0301 : AND.b #$0A : ...)
|
||||||
|
JSL SetHammerClass
|
||||||
|
BRA + : NOP #7 : +
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
; Variable Ganon Vulnerability
|
; Variable Ganon Vulnerability
|
||||||
@@ -3018,6 +3028,8 @@ NOP
|
|||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $06ED70 ; Bank06.asm@4842 (LDA $06ED39, X : STA $0CF2)
|
org $06ED70 ; Bank06.asm@4842 (LDA $06ED39, X : STA $0CF2)
|
||||||
JSL StoreSwordDamage
|
JSL StoreSwordDamage
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
; Fix quadrant glitch
|
; Fix quadrant glitch
|
||||||
org $07A879
|
org $07A879
|
||||||
|
|||||||
@@ -548,27 +548,25 @@ AddInventory:
|
|||||||
CPY.b #$90 : !BGE +
|
CPY.b #$90 : !BGE +
|
||||||
JSL MaybeFlagCompassTotalPickup
|
JSL MaybeFlagCompassTotalPickup
|
||||||
JSR .incrementCompass
|
JSR .incrementCompass
|
||||||
JMP .done
|
BRA .done
|
||||||
+ CPY.b #$90 : !BLT + ; Items $90 - $9F - Free Big Keys
|
+ CPY.b #$90 : !BLT + ; Items $90 - $9F - Free Big Keys
|
||||||
CPY.b #$A0 : !BGE +
|
CPY.b #$A0 : !BGE +
|
||||||
JSR .incrementBigKey
|
JSR .incrementBigKey
|
||||||
JMP .done
|
BRA .done
|
||||||
+ CPY.b #$A0 : !BLT + ; Items $A0 - $AF - Free Small Keys
|
+ CPY.b #$A0 : !BLT + ; Items $A0 - $AF - Free Small Keys
|
||||||
CPY.b #$B0 : !BGE +
|
CPY.b #$B0 : !BGE +
|
||||||
JSR .incrementKey
|
JSR .incrementKey
|
||||||
JMP .done
|
BRA .done
|
||||||
+ CPY.b #$B6 : BNE + ; Item $B6 - Bomb Upgrade
|
+ CPY.b #$C0 : BEQ .special_weapon ; Item $C0 - Bomb Upgrade
|
||||||
|
CPY.b #$C1 : BEQ .special_weapon ; Item $C1 - Cane Upgrade
|
||||||
|
CPY.b #$C2 : BEQ .special_weapon ; Item $C2 - Bug Net Upgrade
|
||||||
|
BRA .done
|
||||||
|
.special_weapon
|
||||||
JSR .stampSword ; update "first bomb" timestamp
|
JSR .stampSword ; update "first bomb" timestamp
|
||||||
LDA.l SpecialWeaponLevel ; get current bomb level
|
LDA.l SpecialWeaponLevel ; get current bomb level
|
||||||
CMP #$05 : !BGE ++ ; check if already maxed
|
CMP #$05 : !BGE ++ ; check if already maxed
|
||||||
INC : STA.l SpecialWeaponLevel
|
INC : STA.l SpecialWeaponLevel
|
||||||
++ JMP .done
|
++ BRA .done
|
||||||
+ CPY.b #$B7 : BNE + ; Item $B7 - Cane Upgrade
|
|
||||||
JSR .stampSword ; update "first cane" timestamp
|
|
||||||
LDA.l SpecialWeaponLevel ; get current cane level
|
|
||||||
CMP #$05 : !BGE ++ ; check if already maxed
|
|
||||||
INC : STA.l SpecialWeaponLevel
|
|
||||||
++ JMP .done
|
|
||||||
+
|
+
|
||||||
.done
|
.done
|
||||||
PLP : PLX : PLA
|
PLP : PLX : PLA
|
||||||
@@ -711,6 +709,7 @@ RTL
|
|||||||
CMP #$03 : BEQ +
|
CMP #$03 : BEQ +
|
||||||
CMP #$04 : BEQ +
|
CMP #$04 : BEQ +
|
||||||
CMP #$05 : BEQ +
|
CMP #$05 : BEQ +
|
||||||
|
CMP #$08 : BEQ +
|
||||||
LDA SwordEquipment : BRA ++
|
LDA SwordEquipment : BRA ++
|
||||||
+ : LDA SpecialWeaponLevel
|
+ : LDA SpecialWeaponLevel
|
||||||
++
|
++
|
||||||
|
|||||||
56
newitems.asm
56
newitems.asm
@@ -45,8 +45,9 @@
|
|||||||
; #$B3 - Chicken
|
; #$B3 - Chicken
|
||||||
; #$B4 - Big Magic
|
; #$B4 - Big Magic
|
||||||
; #$B5 - Good Bee
|
; #$B5 - Good Bee
|
||||||
; #$B6 - Progressive Bomb
|
; #$C0 - Progressive Bomb
|
||||||
; #$B7 - Progressive Cane
|
; #$C1 - Progressive Cane
|
||||||
|
; #$C2 - Progressive Bug Net
|
||||||
; #$FE - Server Request (Asychronous Chest)
|
; #$FE - Server Request (Asychronous Chest)
|
||||||
; #$FF - Null Chest
|
; #$FF - Null Chest
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
@@ -465,10 +466,10 @@ AddReceivedItemExpandedGetItem:
|
|||||||
LDA.b $EE : STA.w $0F20,Y ; spawns on same layer as link
|
LDA.b $EE : STA.w $0F20,Y ; spawns on same layer as link
|
||||||
JSL GoldBee_SpawnSelf_SetProperties
|
JSL GoldBee_SpawnSelf_SetProperties
|
||||||
BRA .done
|
BRA .done
|
||||||
+ CMP.b #$B6 : BNE + ; Bomb Upgrade
|
+ CMP.b #$C0 : BNE + ; Bomb Upgrade
|
||||||
LDA #$01 : STA InfiniteBombsModifier ; infinite bombs
|
LDA #$01 : STA InfiniteBombsModifier ; infinite bombs
|
||||||
JMP .done
|
BRA .done
|
||||||
+ : CMP.b #$B7 : BNE + ; Cane Upgrade
|
+ CMP.b #$C1 : BNE + ; Cane Upgrade
|
||||||
LDA.l SpecialWeapons : CMP #$03 : BEQ .blue_cane
|
LDA.l SpecialWeapons : CMP #$03 : BEQ .blue_cane
|
||||||
CMP #$04 : BEQ .red_cane
|
CMP #$04 : BEQ .red_cane
|
||||||
BRA .done
|
BRA .done
|
||||||
@@ -478,6 +479,9 @@ AddReceivedItemExpandedGetItem:
|
|||||||
.red_cane
|
.red_cane
|
||||||
LDA #$01 : STA SomariaEquipment
|
LDA #$01 : STA SomariaEquipment
|
||||||
BRA .done
|
BRA .done
|
||||||
|
+ CMP.b #$C2 : BNE + ; Bug Net Upgrade
|
||||||
|
LDA.l #$01 : STA BugNetEquipment
|
||||||
|
BRA .done
|
||||||
+
|
+
|
||||||
.done
|
.done
|
||||||
PLX
|
PLX
|
||||||
@@ -673,10 +677,11 @@ AddReceivedItemExpanded:
|
|||||||
db -4 ; Chicken
|
db -4 ; Chicken
|
||||||
db -4 ; Big Magic
|
db -4 ; Big Magic
|
||||||
db -4 ; Good Bee
|
db -4 ; Good Bee
|
||||||
|
db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Unused
|
||||||
db -4 ; Bomb Upgrade
|
db -4 ; Bomb Upgrade
|
||||||
db -4 ; Cane Upgrade
|
db -4 ; Cane Upgrade
|
||||||
db -4, -4, -4, -4, -4, -4, -4, -4 ; Unused
|
db -4 ; Bug Net Upgrade
|
||||||
db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Unused
|
db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Unused
|
||||||
db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Unused
|
db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Unused
|
||||||
db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Unused
|
db -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4, -4 ; Unused
|
||||||
|
|
||||||
@@ -721,10 +726,11 @@ AddReceivedItemExpanded:
|
|||||||
db 0 ; Chicken
|
db 0 ; Chicken
|
||||||
db 4 ; Big Magic
|
db 4 ; Big Magic
|
||||||
db 0 ; Good Bee
|
db 0 ; Good Bee
|
||||||
|
db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; Unused
|
||||||
db 0 ; Bomb Upgrade
|
db 0 ; Bomb Upgrade
|
||||||
db 4 ; Cane Upgrade
|
db 4 ; Cane Upgrade
|
||||||
db 0, 0, 0, 0, 0, 0, 0, 0 ; Unused
|
db 0 ; Bug Net Upgrade
|
||||||
db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; Unused
|
db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; Unused
|
||||||
db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; Unused
|
db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; Unused
|
||||||
db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; Unused
|
db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; Unused
|
||||||
|
|
||||||
@@ -774,10 +780,11 @@ AddReceivedItemExpanded:
|
|||||||
db $47 ; Chicken
|
db $47 ; Chicken
|
||||||
db $3B ; Big Magic
|
db $3B ; Big Magic
|
||||||
db $47 ; Good Bee
|
db $47 ; Good Bee
|
||||||
|
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
|
||||||
db $13 ; Bomb Upgrade
|
db $13 ; Bomb Upgrade
|
||||||
db $07 ; Cane Upgrade
|
db $07 ; Cane Upgrade
|
||||||
db $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
|
db $27 ; Bug Net Upgrade
|
||||||
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
|
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
|
||||||
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
|
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
|
||||||
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
|
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
|
||||||
|
|
||||||
@@ -821,10 +828,11 @@ AddReceivedItemExpanded:
|
|||||||
db $02 ; Chicken
|
db $02 ; Chicken
|
||||||
db $00 ; Big Magic
|
db $00 ; Big Magic
|
||||||
db $02 ; Good Bee
|
db $02 ; Good Bee
|
||||||
|
db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused
|
||||||
db $02 ; Bomb Upgrade
|
db $02 ; Bomb Upgrade
|
||||||
db $00 ; Cane Upgrade
|
db $00 ; Cane Upgrade
|
||||||
db $02, $02, $02, $02, $02, $02, $02, $02 ; Unused
|
db $02 ; Bug Net Upgrade
|
||||||
db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused
|
db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused
|
||||||
db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused
|
db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused
|
||||||
db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused
|
db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused
|
||||||
db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused
|
db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused
|
||||||
@@ -869,10 +877,11 @@ AddReceivedItemExpanded:
|
|||||||
db 1 ; Chicken
|
db 1 ; Chicken
|
||||||
db 4 ; Big Magic
|
db 4 ; Big Magic
|
||||||
db 1 ; Good Bee
|
db 1 ; Good Bee
|
||||||
|
db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused
|
||||||
db 5 ; Bomb Upgrade
|
db 5 ; Bomb Upgrade
|
||||||
db 5 ; Cane Upgrade
|
db 5 ; Cane Upgrade
|
||||||
db 4, 4, 4, 4, 4, 4, 4, 4 ; Unused
|
db 1 ; Bug Net Upgrade
|
||||||
db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused
|
db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused
|
||||||
db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused
|
db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused
|
||||||
db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused
|
db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused
|
||||||
db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused
|
db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused
|
||||||
@@ -918,10 +927,11 @@ AddReceivedItemExpanded:
|
|||||||
dw $F36A ; Chicken
|
dw $F36A ; Chicken
|
||||||
dw $F373 ; Big Magic
|
dw $F373 ; Big Magic
|
||||||
dw $F36A ; Good Bee
|
dw $F36A ; Good Bee
|
||||||
|
dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused
|
||||||
dw $F38F ; Bomb Upgrade
|
dw $F38F ; Bomb Upgrade
|
||||||
dw $F38F ; Cane Upgrade
|
dw $F38F ; Cane Upgrade
|
||||||
dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused
|
dw $F38F ; Bug Net Upgrade
|
||||||
dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused
|
dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused
|
||||||
dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused
|
dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused
|
||||||
dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused
|
dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused
|
||||||
dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused
|
dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused
|
||||||
@@ -969,10 +979,11 @@ AddReceivedItemExpanded:
|
|||||||
db $FF ; Chicken
|
db $FF ; Chicken
|
||||||
db $80 ; Big Magic
|
db $80 ; Big Magic
|
||||||
db $FF ; Good Bee
|
db $FF ; Good Bee
|
||||||
|
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused
|
||||||
db $FF ; Bomb Upgrade
|
db $FF ; Bomb Upgrade
|
||||||
db $FF ; Cane Upgrade
|
db $FF ; Cane Upgrade
|
||||||
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused
|
db $FF ; Bug Net Upgrade
|
||||||
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused
|
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused
|
||||||
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused
|
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused
|
||||||
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused
|
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused
|
||||||
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused
|
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused
|
||||||
@@ -1062,10 +1073,11 @@ Link_ReceiveItemAlternatesExpanded:
|
|||||||
db -1 ; Chicken
|
db -1 ; Chicken
|
||||||
db -1 ; Big Magic
|
db -1 ; Big Magic
|
||||||
db -1 ; Good Bee
|
db -1 ; Good Bee
|
||||||
|
db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused
|
||||||
db -1 ; Bomb Upgrade
|
db -1 ; Bomb Upgrade
|
||||||
db -1 ; Cane Upgrade
|
db -1 ; Cane Upgrade
|
||||||
db -1, -1, -1, -1, -1, -1, -1, -1 ; Unused
|
db -1 ; Bug Net Upgrade
|
||||||
db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused
|
db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused
|
||||||
db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused
|
db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused
|
||||||
db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused
|
db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused
|
||||||
db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused
|
db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused
|
||||||
@@ -1354,7 +1366,7 @@ MaybeFlagCompassTotalEntrance:
|
|||||||
RTL
|
RTL
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
LoadReceivedItemExpandedProperties:
|
LoadReceivedItemExpandedProperties:
|
||||||
CPX.b #$B6 : BEQ .bomb_upgrade
|
CPX.b #$C0 : BEQ .bomb_upgrade
|
||||||
LDA.l AddReceivedItemExpanded_properties, X ; load from table
|
LDA.l AddReceivedItemExpanded_properties, X ; load from table
|
||||||
RTL
|
RTL
|
||||||
.bomb_upgrade
|
.bomb_upgrade
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ DamageClassCalc:
|
|||||||
CMP #$03 : BEQ .cane_immune
|
CMP #$03 : BEQ .cane_immune
|
||||||
CMP #$04 : BEQ .special_cane
|
CMP #$04 : BEQ .special_cane
|
||||||
CMP #$05 : BEQ .special_cane
|
CMP #$05 : BEQ .special_cane
|
||||||
|
CMP #$08 : BEQ .cane_immune
|
||||||
BRA .normal
|
BRA .normal
|
||||||
.blue_cane
|
.blue_cane
|
||||||
PHA
|
PHA
|
||||||
@@ -30,6 +31,7 @@ DamageClassCalc:
|
|||||||
CMP #$03 : BEQ .special_cane
|
CMP #$03 : BEQ .special_cane
|
||||||
CMP #$04 : BEQ .cane_immune
|
CMP #$04 : BEQ .cane_immune
|
||||||
CMP #$05 : BEQ .special_cane
|
CMP #$05 : BEQ .special_cane
|
||||||
|
CMP #$08 : BEQ .cane_immune
|
||||||
BRA .normal
|
BRA .normal
|
||||||
.cane_immune
|
.cane_immune
|
||||||
LDA $0E20, X : CMP.b #$1E : BEQ .normal ; crystal switch
|
LDA $0E20, X : CMP.b #$1E : BEQ .normal ; crystal switch
|
||||||
@@ -281,6 +283,7 @@ Utility_CheckImpervious:
|
|||||||
CMP #$04 : BEQ +
|
CMP #$04 : BEQ +
|
||||||
CMP #$05 : BEQ +
|
CMP #$05 : BEQ +
|
||||||
CMP #$06 : BEQ .check_sidenexx
|
CMP #$06 : BEQ .check_sidenexx
|
||||||
|
CMP #$08 : BEQ +
|
||||||
BRA .normal
|
BRA .normal
|
||||||
+
|
+
|
||||||
LDA $0301 : AND.b #$0A : BNE .impervious ; impervious to hammer
|
LDA $0301 : AND.b #$0A : BNE .impervious ; impervious to hammer
|
||||||
@@ -298,6 +301,7 @@ Utility_CheckImpervious:
|
|||||||
CMP #$03 : BEQ +
|
CMP #$03 : BEQ +
|
||||||
CMP #$04 : BEQ +
|
CMP #$04 : BEQ +
|
||||||
CMP #$05 : BEQ +
|
CMP #$05 : BEQ +
|
||||||
|
CMP #$08 : BEQ +
|
||||||
BRA .not_impervious
|
BRA .not_impervious
|
||||||
+
|
+
|
||||||
LDA $0E20, X : CMP.b #$1E : BEQ .not_impervious ; crystal switch
|
LDA $0E20, X : CMP.b #$1E : BEQ .not_impervious ; crystal switch
|
||||||
@@ -313,6 +317,7 @@ Utility_CheckImpervious:
|
|||||||
CMP #$03 : BEQ +
|
CMP #$03 : BEQ +
|
||||||
CMP #$04 : BEQ +
|
CMP #$04 : BEQ +
|
||||||
CMP #$05 : BEQ +
|
CMP #$05 : BEQ +
|
||||||
|
CMP #$08 : BEQ +
|
||||||
BRA .not_impervious
|
BRA .not_impervious
|
||||||
+
|
+
|
||||||
LDA $0CF2 : CMP #$06 : !BLT .impervious ; swords are ineffective
|
LDA $0CF2 : CMP #$06 : !BLT .impervious ; swords are ineffective
|
||||||
@@ -322,6 +327,7 @@ Utility_CheckImpervious:
|
|||||||
CMP #$03 : BEQ +
|
CMP #$03 : BEQ +
|
||||||
CMP #$04 : BEQ +
|
CMP #$04 : BEQ +
|
||||||
CMP #$05 : BEQ +
|
CMP #$05 : BEQ +
|
||||||
|
CMP #$08 : BEQ +
|
||||||
BRA .not_impervious
|
BRA .not_impervious
|
||||||
+
|
+
|
||||||
LDA $0CF2 : CMP #$06 : !BGE .impervious ; non-swords are ineffective
|
LDA $0CF2 : CMP #$06 : !BGE .impervious ; non-swords are ineffective
|
||||||
@@ -377,6 +383,7 @@ DrawSwordInMenu:
|
|||||||
CMP.w #$0003 : BEQ .specialSword
|
CMP.w #$0003 : BEQ .specialSword
|
||||||
CMP.w #$0004 : BEQ .specialSword
|
CMP.w #$0004 : BEQ .specialSword
|
||||||
CMP.w #$0005 : BEQ .specialSword
|
CMP.w #$0005 : BEQ .specialSword
|
||||||
|
CMP.w #$0008 : BEQ .specialSword
|
||||||
LDA SwordEquipment : AND.w #$00FF : CMP.w #$00FF : BEQ .noSword
|
LDA SwordEquipment : AND.w #$00FF : CMP.w #$00FF : BEQ .noSword
|
||||||
.hasSword
|
.hasSword
|
||||||
STA $02
|
STA $02
|
||||||
@@ -462,7 +469,9 @@ CheckDetonateBomb:
|
|||||||
BRA .done
|
BRA .done
|
||||||
.not_bomb_mode
|
.not_bomb_mode
|
||||||
LDA.l SpecialWeapons : CMP.b #$06 : BEQ .release_bee
|
LDA.l SpecialWeapons : CMP.b #$06 : BEQ .release_bee
|
||||||
CMP.b #$07 : BNE .done
|
CMP.b #$07 : BEQ .hammer
|
||||||
|
BRA .done
|
||||||
|
.hammer
|
||||||
LDA.l HammerEquipment : BEQ .done
|
LDA.l HammerEquipment : BEQ .done
|
||||||
LDA.b $3A : ORA.b #$40 : STA.b $3A
|
LDA.b $3A : ORA.b #$40 : STA.b $3A
|
||||||
LDA.b #$04 : STA.w $0304
|
LDA.b #$04 : STA.w $0304
|
||||||
@@ -603,3 +612,31 @@ INC.b $3C
|
|||||||
LDA.b $3C
|
LDA.b $3C
|
||||||
CMP.b #$09
|
CMP.b #$09
|
||||||
RTL
|
RTL
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
CheckBugNet:
|
||||||
|
LDA.w $037A : AND.b #$10 : BEQ .done ; normal behavior if not bugnet
|
||||||
|
LDA.l SpecialWeapons : CMP.b #$08 : BNE .return_10 ; normal behavior if not bugnet mode
|
||||||
|
.bugnet_mode
|
||||||
|
LDA.w $0E20, X : CMP.b #$E3 : BEQ .return_10 ; normal behavior if fairy
|
||||||
|
CMP.b #$79 : BEQ .return_10 ; normal behavior if bee
|
||||||
|
CMP.b #$B2 : BEQ .return_10 ; normal behavior if bee
|
||||||
|
LDA.b #$00 : BRA .done
|
||||||
|
.return_10
|
||||||
|
LDA.b #$10
|
||||||
|
.done
|
||||||
|
RTL
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
SetHammerClass:
|
||||||
|
LDA.l SpecialWeapons : CMP.b #$08 : BNE .normal ; normal behavior if not bugnet mode
|
||||||
|
LDA.w $037A : AND.b #$10 : BEQ .normal ; normal behavior if not bugnet
|
||||||
|
LDA.l SpecialWeaponLevel : STA.w $0CF2
|
||||||
|
RTL
|
||||||
|
.normal
|
||||||
|
LDA.w $0301
|
||||||
|
AND.b #$0A
|
||||||
|
BEQ .not_hammer
|
||||||
|
LDA.b #$03
|
||||||
|
STA.w $0CF2
|
||||||
|
.not_hammer
|
||||||
|
RTL
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ LookupDamageLevel:
|
|||||||
CMP #$03 : BEQ .bomb_table
|
CMP #$03 : BEQ .bomb_table
|
||||||
CMP #$04 : BEQ .bomb_table
|
CMP #$04 : BEQ .bomb_table
|
||||||
CMP #$05 : BEQ .bomb_table
|
CMP #$05 : BEQ .bomb_table
|
||||||
|
CMP #$08 : BEQ .bomb_table
|
||||||
%LookupDamageSubclass(Damage_Table) : RTL
|
%LookupDamageSubclass(Damage_Table) : RTL
|
||||||
.bomb_table
|
.bomb_table
|
||||||
%LookupDamageSubclass(Damage_Table_Bombs) : RTL
|
%LookupDamageSubclass(Damage_Table_Bombs) : RTL
|
||||||
@@ -135,6 +136,7 @@ CheckTabletSword:
|
|||||||
CMP #$04 : BEQ .check_special
|
CMP #$04 : BEQ .check_special
|
||||||
CMP #$05 : BEQ .check_special
|
CMP #$05 : BEQ .check_special
|
||||||
CMP #$06 : BEQ .allow
|
CMP #$06 : BEQ .allow
|
||||||
|
CMP #$08 : BEQ .check_special
|
||||||
BRA .normal
|
BRA .normal
|
||||||
.allow
|
.allow
|
||||||
LDA.b #$02 : RTL
|
LDA.b #$02 : RTL
|
||||||
@@ -148,8 +150,10 @@ GetSwordLevelForEvilBarrier:
|
|||||||
LDA.l AllowHammerEvilBarrierWithFighterSword : BEQ +
|
LDA.l AllowHammerEvilBarrierWithFighterSword : BEQ +
|
||||||
LDA #$FF : RTL
|
LDA #$FF : RTL
|
||||||
+
|
+
|
||||||
LDA SwordEquipment
|
LDA.l SpecialWeapons : CMP.b #$08 : BEQ +
|
||||||
RTL
|
LDA.l SwordEquipment : RTL
|
||||||
|
+
|
||||||
|
LDA.l SpecialWeaponLevel : RTL
|
||||||
;================================================================================
|
;================================================================================
|
||||||
CheckGanonHammerDamage:
|
CheckGanonHammerDamage:
|
||||||
LDA.l HammerableGanon : BEQ +
|
LDA.l HammerableGanon : BEQ +
|
||||||
|
|||||||
@@ -121,6 +121,7 @@ db #$00
|
|||||||
; $05 = Canes-Only mode
|
; $05 = Canes-Only mode
|
||||||
; $06 = Bee mode
|
; $06 = Bee mode
|
||||||
; $07 = Hammer on B (for use with swordless)
|
; $07 = Hammer on B (for use with swordless)
|
||||||
|
; $05 = Bugnet mode
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $308030 ; PC 0x180030
|
org $308030 ; PC 0x180030
|
||||||
EnableSRAMTrace:
|
EnableSRAMTrace:
|
||||||
@@ -1442,8 +1443,9 @@ db $04
|
|||||||
;B3 - Chicken
|
;B3 - Chicken
|
||||||
;B4 - Big Magic
|
;B4 - Big Magic
|
||||||
;B5 - 5 Arrows
|
;B5 - 5 Arrows
|
||||||
;B6 - Progressive Bomb
|
;C0 - Progressive Bomb
|
||||||
;B7 - Progressive Cane
|
;C1 - Progressive Cane
|
||||||
|
;C2 - Progressive Bug Net
|
||||||
;================================================================================
|
;================================================================================
|
||||||
;;Residual Portal
|
;;Residual Portal
|
||||||
;org $0283E0 ; PC 0x103E0 (Bank02.asm:816) (BNE)
|
;org $0283E0 ; PC 0x103E0 (Bank02.asm:816) (BNE)
|
||||||
|
|||||||
@@ -160,10 +160,11 @@ RTL
|
|||||||
db $4B ; Chicken
|
db $4B ; Chicken
|
||||||
db $3B ; Big Magic
|
db $3B ; Big Magic
|
||||||
db $4A ; Good Bee
|
db $4A ; Good Bee
|
||||||
|
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
|
||||||
db $13 ; Bomb Upgrade
|
db $13 ; Bomb Upgrade
|
||||||
db $07 ; Cane Upgrade
|
db $07 ; Cane Upgrade
|
||||||
db $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
|
db $27 ; Bug Net Upgrade
|
||||||
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
|
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
|
||||||
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
|
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
|
||||||
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
|
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused
|
||||||
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Reserved
|
db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Reserved
|
||||||
@@ -307,10 +308,11 @@ RTL
|
|||||||
db $02 ; Chicken
|
db $02 ; Chicken
|
||||||
db $08 ; Big Magic
|
db $08 ; Big Magic
|
||||||
db $04 ; Good Bee
|
db $04 ; Good Bee
|
||||||
|
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused
|
||||||
db $F7 ; Bomb Upgrade
|
db $F7 ; Bomb Upgrade
|
||||||
db $0A ; Cane Upgrade
|
db $0A ; Cane Upgrade
|
||||||
db $08, $08, $08, $08, $08, $08, $08, $08 ; Unused
|
db $02 ; Bug Net Upgrade
|
||||||
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused
|
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused
|
||||||
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused
|
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused
|
||||||
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused
|
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused
|
||||||
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused
|
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused
|
||||||
@@ -400,7 +402,7 @@ RTL
|
|||||||
db $15, $18, $24, $2A, $34, $35, $36, $42
|
db $15, $18, $24, $2A, $34, $35, $36, $42
|
||||||
db $43, $45, $59, $A0, $A1, $A2, $A3, $A4
|
db $43, $45, $59, $A0, $A1, $A2, $A3, $A4
|
||||||
db $A5, $A6, $A7, $A8, $A9, $AA, $AB, $AC
|
db $A5, $A6, $A7, $A8, $A9, $AA, $AB, $AC
|
||||||
db $AD, $AE, $AF, $B4, $B5, $B7
|
db $AD, $AE, $AF, $B4, $B5, $C1
|
||||||
.smallSprites_end
|
.smallSprites_end
|
||||||
}
|
}
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user