Unify handling of bomb colors in bomb-only mode
This commit is contained in:
14
hooks.asm
14
hooks.asm
@@ -367,9 +367,6 @@ JSL.l LoadBombCount
|
|||||||
org $098133 ; <- 48133 - ancilla_init.asm : 211 (STA $7EF343 : BNE .bombs_left_over)
|
org $098133 ; <- 48133 - ancilla_init.asm : 211 (STA $7EF343 : BNE .bombs_left_over)
|
||||||
JSL.l StoreBombCount
|
JSL.l StoreBombCount
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $0DE4BF ; <- 6E4BF - equipment.asm : 1249 (LDA $7EF343 : AND.w #$00FF : BEQ .gotNoBombs)
|
|
||||||
JSL.l LoadBombCount16
|
|
||||||
;--------------------------------------------------------------------------------
|
|
||||||
org $0DDEB3 ; <- 6DEB3 - equipment.asm : 328 (LDA $7EF33F, X)
|
org $0DDEB3 ; <- 6DEB3 - equipment.asm : 328 (LDA $7EF33F, X)
|
||||||
JSL.l IsItemAvailable
|
JSL.l IsItemAvailable
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
@@ -2830,6 +2827,14 @@ org $06892F ; sprite_prep.asm@548 (LDA $0D00, X : SUB #$0C : STA $0D00, X : ...)
|
|||||||
JSL AllowBombingBarrier
|
JSL AllowBombingBarrier
|
||||||
RTS : NOP #7
|
RTS : NOP #7
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
org $0DE4BF ; equipment.asm@1247 (LDA $7EF343 : AND.w #$00FF : BEQ .gotNoBombs : ...)
|
||||||
|
JSL DrawBombInMenu
|
||||||
|
BRA + : NOP #13 : +
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
org $0DFB6A ; headsup_display@727 (CPX #$0004 : BNE .bombsNotEquipped : LDA #$0001)
|
||||||
|
JSL DrawBombInYBox
|
||||||
|
BRA + : NOP #2 : +
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
org $0DEE05 ; equipment.asm@2065 (LDA $7EF359 : AND.w #$00FF : CMP.w #$00FF : ...)
|
org $0DEE05 ; equipment.asm@2065 (LDA $7EF359 : AND.w #$00FF : CMP.w #$00FF : ...)
|
||||||
JSL DrawSwordInMenu
|
JSL DrawSwordInMenu
|
||||||
BRA + : NOP #16 : +
|
BRA + : NOP #16 : +
|
||||||
@@ -2838,6 +2843,9 @@ org $0DFA92 ; headsup_display.asm@622 (PDB : LDA.w #$0149 : ...)
|
|||||||
JSL DrawBombOnHud
|
JSL DrawBombOnHud
|
||||||
BRA + : NOP #8 : +
|
BRA + : NOP #8 : +
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
org $089EF8 ; ancilla_bomb@1438 (LDA.w #$04 : STA $0B)
|
||||||
|
JSL SetBombSpriteColor
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
org $0DFC51 ; is this being used? I hope not! let's find out if anything breaks!
|
org $0DFC51 ; is this being used? I hope not! let's find out if anything breaks!
|
||||||
db $F5, $20, $F5, $20, $F5, $20, $F5, $20
|
db $F5, $20, $F5, $20, $F5, $20, $F5, $20
|
||||||
db $B2, $3C, $B3, $3C, $C2, $3C, $17, $3C
|
db $B2, $3C, $B3, $3C, $C2, $3C, $17, $3C
|
||||||
|
|||||||
@@ -794,7 +794,7 @@ AddReceivedItemExpanded:
|
|||||||
db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Free Big Key
|
db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Free Big Key
|
||||||
db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Free Small Key
|
db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Free Small Key
|
||||||
db 1 ; Bee Trap
|
db 1 ; Bee Trap
|
||||||
db 5, 5, 5, 5, 5, 5 ; Bomb Upgrades
|
db 4, 2, 1, 5, 5, 5 ; Bomb Upgrades
|
||||||
db 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused
|
db 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
|
||||||
|
|||||||
@@ -261,6 +261,22 @@ AllowBombingBarrier:
|
|||||||
.no_disable_projectiles
|
.no_disable_projectiles
|
||||||
RTL
|
RTL
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
DrawBombInMenu:
|
||||||
|
JSL LoadBombCount16 : AND.w #$00FF : BEQ .noBombs
|
||||||
|
LDA SpecialWeapons : AND.w #$00FF : CMP.w #$0001 : BNE .vanillaBombs
|
||||||
|
LDA.l !BOMB_LEVEL : AND.w #$00FF : BEQ .noBombs : STA $02
|
||||||
|
LDA.w #$FC51 : STA $04
|
||||||
|
BRA .done
|
||||||
|
.vanillaBombs
|
||||||
|
LDA.w #$0001 : STA $02
|
||||||
|
LDA.w #$F699 : STA $04
|
||||||
|
BRA .done
|
||||||
|
.noBombs
|
||||||
|
LDA.w #$0000 : STA $02
|
||||||
|
LDA.w #$F699 : STA $04
|
||||||
|
.done
|
||||||
|
RTL
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
DrawSwordInMenu:
|
DrawSwordInMenu:
|
||||||
LDA SpecialWeapons : AND.w #$00FF : CMP.w #$0001 : BEQ .bombSword
|
LDA SpecialWeapons : AND.w #$00FF : CMP.w #$0001 : BEQ .bombSword
|
||||||
LDA $7EF359 : AND.w #$00FF : CMP.w #$00FF : BEQ .noSword
|
LDA $7EF359 : AND.w #$00FF : CMP.w #$00FF : BEQ .noSword
|
||||||
@@ -277,6 +293,15 @@ DrawSwordInMenu:
|
|||||||
LDA.w #$FC51 : STA $04
|
LDA.w #$FC51 : STA $04
|
||||||
RTL
|
RTL
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
DrawBombInYBox:
|
||||||
|
CPX.w #$0004 : BNE .done
|
||||||
|
LDA SpecialWeapons : AND.w #$00FF : CMP.w #$0001 : BNE .vanilla
|
||||||
|
LDA !BOMB_LEVEL : AND.w #$00FF : CLC : ADC.w #$00B7 : BRA .done
|
||||||
|
.vanilla
|
||||||
|
LDA.w #$0001
|
||||||
|
.done
|
||||||
|
RTL
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
BombIcon:
|
BombIcon:
|
||||||
dw $207F, $207F, $3C88, $3C89, $2C88, $2C89, $2488, $2489, $2888, $2889,$2888, $2889
|
dw $207F, $207F, $3C88, $3C89, $2C88, $2C89, $2488, $2489, $2888, $2889,$2888, $2889
|
||||||
DrawBombOnHud:
|
DrawBombOnHud:
|
||||||
@@ -294,6 +319,17 @@ DrawBombOnHud:
|
|||||||
.regularBombs
|
.regularBombs
|
||||||
RTL
|
RTL
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
BombSpriteColor:
|
||||||
|
db $04, $08, $04, $02, $0A, $0A
|
||||||
|
SetBombSpriteColor:
|
||||||
|
PHX
|
||||||
|
LDA.l !BOMB_LEVEL
|
||||||
|
TAX
|
||||||
|
LDA.l BombSpriteColor, X
|
||||||
|
STA $0B
|
||||||
|
PLX
|
||||||
|
RTL
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
StoreSwordDamage:
|
StoreSwordDamage:
|
||||||
LDA.l SpecialWeapons : CMP #$02 : BEQ +
|
LDA.l SpecialWeapons : CMP #$02 : BEQ +
|
||||||
LDA.l $06ED39, X : RTL
|
LDA.l $06ED39, X : RTL
|
||||||
|
|||||||
@@ -193,7 +193,7 @@ GetSpritePalette:
|
|||||||
;--------
|
;--------
|
||||||
TAX : LDA.l .gfxPalettes, X ; look up item gfx
|
TAX : LDA.l .gfxPalettes, X ; look up item gfx
|
||||||
PLB : PLX
|
PLB : PLX
|
||||||
CMP.b #$F7 : !BGE .specialHandling
|
CMP.b #$F6 : !BGE .specialHandling
|
||||||
RTL
|
RTL
|
||||||
.specialHandling
|
.specialHandling
|
||||||
CMP.b #$FD : BNE ++ ; Progressive Sword
|
CMP.b #$FD : BNE ++ ; Progressive Sword
|
||||||
@@ -242,6 +242,16 @@ RTL
|
|||||||
LDA.b #$08 : RTL
|
LDA.b #$08 : RTL
|
||||||
+ ; Any Bow
|
+ ; Any Bow
|
||||||
LDA.b #$02 : RTL
|
LDA.b #$02 : RTL
|
||||||
|
++ : CMP.b #$F7 : BNE ++ ; Progressive Bombs
|
||||||
|
LDA !BOMB_LEVEL
|
||||||
|
CMP.b #$00 : BNE + ; No Bombs
|
||||||
|
LDA.b #$08 : RTL
|
||||||
|
+ : CMP.b #$01 : BNE + ; L1 Bombs
|
||||||
|
LDA.b #$04 : RTL
|
||||||
|
+ : CMP.b #$02 : BNE + ; L2 Bombs
|
||||||
|
LDA.b #$02 : RTL
|
||||||
|
+ ; Everything Else
|
||||||
|
LDA.b #$0A : RTL
|
||||||
++ : CMP.b #$FA : BNE ++ ; RNG Item (Single)
|
++ : CMP.b #$FA : BNE ++ ; RNG Item (Single)
|
||||||
JSL.l GetRNGItemSingle : JMP GetSpritePalette
|
JSL.l GetRNGItemSingle : JMP GetSpritePalette
|
||||||
++ : CMP.b #$FB : BNE ++ ; RNG Item (Multi)
|
++ : CMP.b #$FB : BNE ++ ; RNG Item (Multi)
|
||||||
@@ -288,7 +298,7 @@ RTL
|
|||||||
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Free Big Key
|
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Free Big Key
|
||||||
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Free Small Key
|
db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Free Small Key
|
||||||
db $04 ; Bee Trap
|
db $04 ; Bee Trap
|
||||||
db $0A, $0A, $0A, $0A, $0A, $0A ; Bomb Upgrades
|
db $08, $04, $02, $0A, $0A, $F7 ; Bomb Upgrades
|
||||||
db $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused
|
db $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
|
||||||
|
|||||||
Reference in New Issue
Block a user