152 lines
2.5 KiB
NASM
152 lines
2.5 KiB
NASM
; Hooks :
|
|
incsrc "../Sprites/sprite_functions_hooks.asm"
|
|
|
|
org $07A666
|
|
Deku_Entry:
|
|
{
|
|
LDA.b #$20 : STA.w $012F
|
|
JSL GetRandomInt : AND #$1F : !ADD #$60 : STA $BC
|
|
STA $7EC178
|
|
JSL Palette_ArmorAndGloves
|
|
STZ $0710
|
|
RTS
|
|
}
|
|
|
|
org $008A01
|
|
LDA $BC
|
|
|
|
org $1BEDF9
|
|
JSL Palette_ArmorAndGloves ; 4bytes
|
|
RTL ; 1byte
|
|
NOP #$01
|
|
|
|
org $1BEE1B
|
|
JSL Palette_ArmorAndGloves_part_two
|
|
RTL
|
|
|
|
org $06F40C
|
|
JSL change_sprite : NOP #$01 ; LDA $0E20, X : CMP.b #$61
|
|
|
|
; Code :
|
|
org $308000
|
|
Palette_ArmorAndGloves:
|
|
{
|
|
LDA.b #$10
|
|
STA $BC ; Load Original Sprite Location
|
|
REP #$21
|
|
LDA $7EF35B
|
|
JSL $1BEDFF ; Read Original Palette Code
|
|
RTL
|
|
.part_two
|
|
SEP #$30
|
|
REP #$30
|
|
LDA $7EF354
|
|
JSL $1BEE21 ; Read Original Palette Code
|
|
RTL
|
|
|
|
PHX : PHY : PHA
|
|
; Load armor palette
|
|
PHB : PHK : PLB
|
|
|
|
REP #$20
|
|
|
|
; Check what Link's armor value is.
|
|
LDA $7EF35B : AND.w #$00FF : TAX
|
|
|
|
LDA $1BEC06, X : AND.w #$00FF : ASL A : ADC.w #$F000 : STA $00
|
|
REP #$10
|
|
|
|
LDA.w #$01E2 ; Target SP-7 (sprite palette 6)
|
|
LDX.w #$000E ; Palette has 15 colors
|
|
|
|
TXY : TAX
|
|
|
|
LDA.b $BC : AND #$00FF : STA $02
|
|
|
|
.loop
|
|
|
|
LDA [$00] : STA $7EC300, X : STA $7EC500, X
|
|
|
|
INC $00 : INC $00
|
|
|
|
INX #2
|
|
|
|
DEY : BPL .loop
|
|
|
|
SEP #$30
|
|
|
|
|
|
PLB
|
|
INC $15
|
|
PLA : PLY : PLX
|
|
RTL
|
|
}
|
|
|
|
change_sprite:
|
|
{
|
|
JSL GetRandomInt : AND #$1F : !ADD #$60 : STA $BC
|
|
STA $7EC178
|
|
JSL Palette_ArmorAndGloves
|
|
STZ $0710
|
|
|
|
LDA $0E20, X : CMP.b #$61 ; Restored Code Bank06.asm(5967) ; LDA $0E20, X : CMP.b #$61 : BNE .not_beamos_laser
|
|
|
|
RTL
|
|
}
|
|
|
|
; changing the DP address $BC would now* change the bank link's gfx is read from
|
|
|
|
; =============================================================================
|
|
; *$3A64B-$3A6BD JUMP LOCATION
|
|
; LinkItem_Quake:
|
|
; {
|
|
; JSR Link_CheckNewY_ButtonPress : BCC .BRANCH_ALPHA
|
|
|
|
; LDA $3A : AND.b #$BF : STA $3A
|
|
|
|
; LDA $6C : BNE .BRANCH_BETA
|
|
|
|
; LDA $0FFC : BNE .BRANCH_BETA
|
|
|
|
; LDA $0403 : AND.b #$80 : BNE .BRANCH_BETA
|
|
|
|
; LDA $7EF359 : INC A : AND.b #$FE : BEQ .BRANCH_BETA
|
|
|
|
; LDA $7EF3D3 : BEQ .BRANCH_GAMMA
|
|
|
|
; LDA $7EF3CC : CMP.b #$0D : BNE .BRANCH_GAMMA
|
|
|
|
; .BRANCH_BETA:
|
|
|
|
; BRL .BRANCH_$3A955
|
|
|
|
; .BRANCH_GAMMA:
|
|
|
|
; LDA $0C4A : ORA $0C4B : ORA $0C4C : BNE .BRANCH_ALPHA
|
|
|
|
; LDX.b #$01
|
|
|
|
; JSR LinkItem_EvaluateMagicCost : BCC .BRANCH_ALPHA
|
|
|
|
; LDA.b #$0A : STA $5D
|
|
|
|
; LDA.b #$01 : TSB $50
|
|
|
|
; LDA $A6CA : STA $3D
|
|
|
|
; LDA $A6BE : STA $031C
|
|
|
|
; STZ $031D
|
|
; STZ $0324
|
|
; STZ $46
|
|
|
|
; LDA.b #$28 : STA $0362 : STA $0363
|
|
|
|
; STZ $0364
|
|
|
|
; LDA.b #$23 : JSR Player_DoSfx3
|
|
|
|
; .BRANCH_ALPHA:
|
|
|
|
; RTS
|
|
; } |