add deku link form

This commit is contained in:
scawful
2022-10-04 18:31:21 -05:00
parent cdbc7a1d2f
commit 99c9290582
3 changed files with 84 additions and 117 deletions

BIN
Masks/deku_link.bin Normal file

Binary file not shown.

View File

@@ -1,152 +1,117 @@
; Hooks : ; ; Hooks :
incsrc "../Sprites/sprite_functions_hooks.asm" incsrc "../Sprites/sprite_functions_hooks.asm"
org $07A666 ; org $07A666
Deku_Entry: ; Deku_Entry:
{ ; {
LDA.b #$20 : STA.w $012F ; LDA.b #$20 : STA $BC
JSL GetRandomInt : AND #$1F : !ADD #$60 : STA $BC ; STA $7EC178
STA $7EC178 ; JSL Palette_ArmorAndGloves
JSL Palette_ArmorAndGloves ; STZ $0710
STZ $0710 ; RTS
RTS ; }
}
org $008A01 org $008A01
LDA $BC LDA $BC
org $1BEDF9 ; org $1BEDF9
JSL Palette_ArmorAndGloves ; 4bytes ; JSL Palette_ArmorAndGloves ; 4bytes
RTL ; 1byte ; RTL ; 1byte
NOP #$01 ; NOP #$01
org $1BEE1B ; org $1BEE1B
JSL Palette_ArmorAndGloves_part_two ; JSL Palette_ArmorAndGloves_part_two
RTL ; RTL
org $06F40C ; org $06F40C
JSL change_sprite : NOP #$01 ; LDA $0E20, X : CMP.b #$61 ; JSL change_sprite : NOP #$01 ; LDA $0E20, X : CMP.b #$61
; Code : ; ; ; Code :
org $308000 ; org $308000
Palette_ArmorAndGloves: ; Palette_ArmorAndGloves:
{ ; {
LDA.b #$10 ; LDA.b #$10
STA $BC ; Load Original Sprite Location ; STA $BC ; Load Original Sprite Location
REP #$21 ; REP #$21
LDA $7EF35B ; LDA $7EF35B
JSL $1BEDFF ; Read Original Palette Code ; JSL $1BEDFF ; Read Original Palette Code
RTL ; RTL
.part_two ; .part_two
SEP #$30 ; SEP #$30
REP #$30 ; REP #$30
LDA $7EF354 ; LDA $7EF354
JSL $1BEE21 ; Read Original Palette Code ; JSL $1BEE21 ; Read Original Palette Code
RTL ; RTL
PHX : PHY : PHA ; PHX : PHY : PHA
; Load armor palette ; ; Load armor palette
PHB : PHK : PLB ; PHB : PHK : PLB
REP #$20 ; REP #$20
; Check what Link's armor value is. ; ; Check what Link's armor value is.
LDA $7EF35B : AND.w #$00FF : TAX ; LDA $7EF35B : AND.w #$00FF : TAX
LDA $1BEC06, X : AND.w #$00FF : ASL A : ADC.w #$F000 : STA $00 ; LDA $1BEC06, X : AND.w #$00FF : ASL A : ADC.w #$F000 : STA $00
REP #$10 ; REP #$10
LDA.w #$01E2 ; Target SP-7 (sprite palette 6) ; LDA.w #$01E2 ; Target SP-7 (sprite palette 6)
LDX.w #$000E ; Palette has 15 colors ; LDX.w #$000E ; Palette has 15 colors
TXY : TAX ; TXY : TAX
LDA.b $BC : AND #$00FF : STA $02 ; LDA.b $BC : AND #$00FF : STA $02
.loop ; .loop
LDA [$00] : STA $7EC300, X : STA $7EC500, X ; LDA [$00] : STA $7EC300, X : STA $7EC500, X
INC $00 : INC $00 ; INC $00 : INC $00
INX #2 ; INX #2
DEY : BPL .loop ; DEY : BPL .loop
SEP #$30 ; SEP #$30
PLB ; PLB
INC $15 ; INC $15
PLA : PLY : PLX ; PLA : PLY : PLX
RTL ; RTL
} ; }
change_sprite: ; change_sprite:
{ ; {
JSL GetRandomInt : AND #$1F : !ADD #$60 : STA $BC ; JSL GetRandomInt : AND #$1F : !ADD #$60 : STA $BC
STA $7EC178 ; STA $7EC178
JSL Palette_ArmorAndGloves ; JSL Palette_ArmorAndGloves
STZ $0710 ; STZ $0710
LDA $0E20, X : CMP.b #$61 ; Restored Code Bank06.asm(5967) ; LDA $0E20, X : CMP.b #$61 : BNE .not_beamos_laser ; LDA $0E20, X : CMP.b #$61 ; Restored Code Bank06.asm(5967) ; LDA $0E20, X : CMP.b #$61 : BNE .not_beamos_laser
RTL ; RTL
} ; }
; changing the DP address $BC would now* change the bank link's gfx is read from ; 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: org $07B073 ; *$3B073-$3B086 LOCAL
Link_CheckNewY_ButtonPress:
; BRL .BRANCH_$3A955 org $07A64B
LinkItem_Quake:
JSR Link_CheckNewY_ButtonPress : BCC .return
; .BRANCH_GAMMA: LDA $6C : BNE .return ; doorway
; LDA $0C4A : ORA $0C4B : ORA $0C4C : BNE .BRANCH_ALPHA LDA $0FFC : BNE .return ; cantopen menu
; 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: LDA #$40 : STA $BC
; RTS .return
; } RTS
org $408000
incbin deku_link.bin

View File

@@ -12,7 +12,6 @@
; Lost Sea Area Combo ; Lost Sea Area Combo
; ;
;=========================================================== ;===========================================================
namespace Oracle namespace Oracle
{ {
print "" print ""
@@ -45,6 +44,9 @@ namespace Oracle
incsrc "Debug/debug.asm" incsrc "Debug/debug.asm"
print "End of Debug/debug.asm ", pc print "End of Debug/debug.asm ", pc
incsrc "Masks/deku_mask.asm"
print "End of Masks/deku_mask.asm ", pc
print "" print ""
print "Finished applying patches" print "Finished applying patches"