Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; This is just the object. Other scripts will be released later.
- ; ----------------------------------------------------------------------------
- ; Object 05 - Tails' tails
- ; ----------------------------------------------------------------------------
- ; Sprite_1D200:
- Obj05:
- moveq #0,d0
- move.b $24(a0),d0
- move.w Obj05_States(pc,d0.w),d1
- jmp Obj05_States(pc,d1.w)
- ; ==========================================================================
- ; off_1D20E:
- Obj05_States:
- dc.w Obj05_Init-Obj05_States
- dc.w Obj05_Main-Obj05_States
- ; ===========================================================================
- ; loc_1D212
- Obj05_Init:
- addq.b #2,$24(a0) ; => Obj05_Main
- move.l #Map_Tails,4(a0)
- move.w #$7A0,2(a0)
- move.b #2,$18(a0)
- move.b #$18,$19(a0)
- move.b #4,1(a0)
- ; loc_1D23A:
- Obj05_Main:
- move.w a0,($FFFFD800+$3E).w
- move.b ($FFFFD026).w,$26(a0)
- move.b ($FFFFD022).w,$22(a0)
- move.w ($FFFFD008).w,8(a0)
- move.w ($FFFFD00C).w,$C(a0)
- andi.w #$7FFF,2(a0)
- tst.w ($FFFFD002).w
- bpl.s Branch1
- ori.w #$8000,2(a0)
- Branch1:
- moveq #0,d0
- move.b ($FFFFD01C).w,d0
- btst #5,($FFFFD022).w
- beq.s Branch2
- moveq #4,d0
- Branch2:
- cmp.b $30(a0),d0
- beq.s loc_1D288
- move.b d0,$30(a0)
- move.b Obj05AniSelection(pc,d0.w),$1C(a0)
- loc_1D288:
- lea (Obj05AniData).l,a1
- bsr.w Tails_Animate_Part2
- bsr.w LoadTailsTailsDynPLC
- jsr DisplaySprite
- rts
- ; ===========================================================================
- ; animation master script table for the tails
- ; chooses which animation script to run depending on what Tails is doing
- ; byte_1D29E:
- Obj05AniSelection:
- dc.b 0,0 ; TailsAni_Walk,Run ->
- dc.b 3 ; TailsAni_Roll -> Directional
- dc.b 3 ; TailsAni_Roll2 -> Directional
- dc.b 9 ; TailsAni_Push -> Pushing
- dc.b 1 ; TailsAni_Wait -> Swish
- dc.b 0 ; TailsAni_Balance -> Blank
- dc.b 2 ; TailsAni_LookUp -> Flick
- dc.b 1 ; TailsAni_Duck -> Swish
- dc.b 7 ; TailsAni_Spindash -> Spindash
- dc.b 0,0,0 ; TailsAni_Dummy1,2,3 ->
- dc.b 8 ; TailsAni_Stop -> Skidding
- dc.b 0,0 ; TailsAni_Float,2 ->
- dc.b 0 ; TailsAni_Spring ->
- dc.b 0 ; TailsAni_Hang ->
- dc.b 0,0 ; TailsAni_Blink,2 ->
- dc.b $A ; TailsAni_Hang2 -> Hanging
- dc.b 0 ; TailsAni_Bubble ->
- dc.b 0,0,0,0 ; TailsAni_Death,2,3,4 ->
- dc.b 0,0 ; TailsAni_Hurt,Slide ->
- dc.b 0 ; TailsAni_Blank ->
- dc.b 0,0 ; TailsAni_Dummy4,5 ->
- dc.b 0 ; TailsAni_HaulAss ->
- dc.b 0 ; TailsAni_Fly ->
- even
- ; ---------------------------------------------------------------------------
- ; Animation script - Tails' tails
- ; ---------------------------------------------------------------------------
- ; off_1D2C0:
- Obj05AniData:
- include "Art\Animations\TailsTails.asm"
- even
- ; ---------------------------------------------------------------------------
- ; Tails' Tails pattern loading subroutine
- ; ---------------------------------------------------------------------------
- ; ||||||||||||||| S U B R O U T I N E |||||||||||||||||||||||||||||||||||||||
- ; loc_1D184:
- LoadTailsTailsDynPLC:
- moveq #0,d0
- move.b $1A(a0),d0
- cmp.b ($FFFFF7DF).w,d0
- beq.s return_1D1FE
- move.b d0,($FFFFF7DF).w
- lea (TailsDynPLC).l,a2
- add.w d0,d0
- adda.w (a2,d0.w),a2
- moveq.l #0,d5
- move.b (a2)+,d5
- subq.w #1,d5
- bmi.s return_1D1FE
- ; move.w #-$A00,d4
- move.w #-$C00,d4
- move.l #Art_Tails,d6 ; load Tails's art
- jmp SPLC_ReadEntry
- return_1D1FE:
- rts
- ; ===========================================================================
- JmpTo2_KillCharacter:
- jmp KillTails
- ; ===========================================================================
- even
- ; ===========================================================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement