From ab8993f2e9e06461bb847b8526f2dfed17f04ced Mon Sep 17 00:00:00 2001 From: scawful Date: Mon, 3 Oct 2022 04:15:45 -0500 Subject: [PATCH] started deku mask sprite --- Masks/deku_mask.asm | 152 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 Masks/deku_mask.asm diff --git a/Masks/deku_mask.asm b/Masks/deku_mask.asm new file mode 100644 index 0000000..7c8f340 --- /dev/null +++ b/Masks/deku_mask.asm @@ -0,0 +1,152 @@ +; 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 +; } \ No newline at end of file