Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // h
- #ifndef _ANIM_VIEWER_H_
- #define _ANIM_VIEWER_H_
- #include "global.h"
- struct AnimViewer;
- typedef struct AnimViewer {
- Actor actor;
- SkelAnime skelAnime;
- Vec3s jointTable[PLAYER_LIMB_BUF_COUNT];
- Vec3s morphTable[PLAYER_LIMB_BUF_COUNT];
- Vec3s blendTable[PLAYER_LIMB_BUF_COUNT];
- SkelAnime skelAnimeAux;
- Vec3s jointTableAux[PLAYER_LIMB_BUF_COUNT];
- Vec3s morphTableAux[PLAYER_LIMB_BUF_COUNT];
- } AnimViewer;
- extern const ActorInit Anim_Viewer_InitVars;
- #endif
- // c
- #include "anim_viewer.h"
- #include "objects/gameplay_keep/gameplay_keep.h"
- #include "objects/object_torch2/object_torch2.h"
- #define FLAGS 0x00000035
- #define THIS ((AnimViewer*)thisx)
- void AnimViewer_Init(Actor* thisx, GlobalContext* globalCtx);
- void AnimViewer_Update(Actor* thisx, GlobalContext* globalCtx);
- void AnimViewer_Draw(Actor* thisx, GlobalContext* globalCtx);
- const ActorInit Anim_Viewer_InitVars = {
- ACTOR_ANIM_VIEWER,
- ACTORCAT_NPC,
- FLAGS,
- OBJECT_TORCH2,
- sizeof(AnimViewer),
- (ActorFunc)AnimViewer_Init,
- (ActorFunc)Actor_Noop,
- (ActorFunc)AnimViewer_Update,
- (ActorFunc)AnimViewer_Draw,
- };
- typedef struct {
- LinkAnimationHeader* anim;
- const char* name;
- } AnimationDebuggerData[];
- #define ANIM_DEBUG_DATA(animSym) { &animSym, #animSym }
- AnimationDebuggerData sLinkAnimations = {
- ANIM_DEBUG_DATA(gPlayerAnim_002310), // Child falling into chest
- ANIM_DEBUG_DATA(gPlayerAnim_002318), // Child chest opening
- ANIM_DEBUG_DATA(gPlayerAnim_002320), // Falling backwards (off log in Fountain)
- ANIM_DEBUG_DATA(gPlayerAnim_002328), // Collapsing
- ANIM_DEBUG_DATA(gPlayerAnim_002330), // Opening door, front left
- ANIM_DEBUG_DATA(gPlayerAnim_002338), // Opening door, front right
- ANIM_DEBUG_DATA(gPlayerAnim_002340), // Blown back
- ANIM_DEBUG_DATA(gPlayerAnim_002348), // Receiving Item Start
- ANIM_DEBUG_DATA(gPlayerAnim_002350), // Receiving Item Raising Hands
- ANIM_DEBUG_DATA(gPlayerAnim_002358), // Receiving Item Lowering Hands
- ANIM_DEBUG_DATA(gPlayerAnim_002360), // Pulling Master Sword
- ANIM_DEBUG_DATA(gPlayerAnim_002368), // Backing Away
- ANIM_DEBUG_DATA(gPlayerAnim_002370), // Backed Away Drawing Sword
- ANIM_DEBUG_DATA(gPlayerAnim_002378), // Backed Away
- ANIM_DEBUG_DATA(gPlayerAnim_002380), // Looking Around, Left
- ANIM_DEBUG_DATA(gPlayerAnim_002388), // Looking Around, Right to Left & Back
- ANIM_DEBUG_DATA(gPlayerAnim_002390), // Getting up
- ANIM_DEBUG_DATA(gPlayerAnim_002398), // Getting up done
- ANIM_DEBUG_DATA(gPlayerAnim_0023A0), // Peer through window
- ANIM_DEBUG_DATA(gPlayerAnim_0023A8), // Child letting go of Master Sword
- ANIM_DEBUG_DATA(gPlayerAnim_0023B0), // Getting up, dusting self off
- ANIM_DEBUG_DATA(gPlayerAnim_0023B8), // Sat on the ground
- ANIM_DEBUG_DATA(gPlayerAnim_0023C0), // Getting off ladder, bottom left
- ANIM_DEBUG_DATA(gPlayerAnim_0023C8), // Getting off ladder, bottom right
- ANIM_DEBUG_DATA(gPlayerAnim_0023D0), // Getting off ladder, top left
- ANIM_DEBUG_DATA(gPlayerAnim_0023D8), // Getting off ladder, top right
- ANIM_DEBUG_DATA(gPlayerAnim_0023E0), // Getting on ladder, bottom
- ANIM_DEBUG_DATA(gPlayerAnim_0023E8), // Getting on ladder, top
- ANIM_DEBUG_DATA(gPlayerAnim_0023F0), // Climbing ladder, Left-Right
- ANIM_DEBUG_DATA(gPlayerAnim_0023F8), // Climbing ladder, Right-Left
- ANIM_DEBUG_DATA(gPlayerAnim_002400), // Child Crouching with Hylian Shield
- ANIM_DEBUG_DATA(gPlayerAnim_002408), // Asleep on bed, nightmares 1
- ANIM_DEBUG_DATA(gPlayerAnim_002410), // Wake up
- ANIM_DEBUG_DATA(gPlayerAnim_002418), // Stand up off bed
- ANIM_DEBUG_DATA(gPlayerAnim_002420), // Asleep on bed, nightmares 2
- ANIM_DEBUG_DATA(gPlayerAnim_002428), // Asleep on bed
- ANIM_DEBUG_DATA(gPlayerAnim_002430), // Sat on bed
- ANIM_DEBUG_DATA(gPlayerAnim_002438), // Looking around, bias towards upwards done
- ANIM_DEBUG_DATA(gPlayerAnim_002440), // Looking around, bias towards upwards
- ANIM_DEBUG_DATA(gPlayerAnim_002448), // Looking around, upwards
- ANIM_DEBUG_DATA(gPlayerAnim_002450), //
- ANIM_DEBUG_DATA(gPlayerAnim_002458), // Lower right hand
- ANIM_DEBUG_DATA(gPlayerAnim_002460), // Offer right hand
- ANIM_DEBUG_DATA(gPlayerAnim_002468), // Right hand oustretched
- ANIM_DEBUG_DATA(gPlayerAnim_002470), // Child surprised
- ANIM_DEBUG_DATA(gPlayerAnim_002478), // BGS Horizontal Slash
- ANIM_DEBUG_DATA(gPlayerAnim_002480), // BGS 3rd Horizontal Slash
- ANIM_DEBUG_DATA(gPlayerAnim_002488), // BGS Vertical Slash
- ANIM_DEBUG_DATA(gPlayerAnim_002490), // BGS 3rd Vertical Slash
- ANIM_DEBUG_DATA(gPlayerAnim_002498), // BGS Lunge
- ANIM_DEBUG_DATA(gPlayerAnim_0024A0), // Bgs 3rd Lunge
- ANIM_DEBUG_DATA(gPlayerAnim_0024A8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0024B0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0024B8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0024C0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0024C8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0024D0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0024D8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0024E0), // Drawing sword
- ANIM_DEBUG_DATA(gPlayerAnim_0024E8), // Braking walking backwards
- ANIM_DEBUG_DATA(gPlayerAnim_0024F0), // Lurching forwards
- ANIM_DEBUG_DATA(gPlayerAnim_0024F8), // Walking backwards
- ANIM_DEBUG_DATA(gPlayerAnim_002500), //
- ANIM_DEBUG_DATA(gPlayerAnim_002508), //
- ANIM_DEBUG_DATA(gPlayerAnim_002510), // Shield struck stationary
- ANIM_DEBUG_DATA(gPlayerAnim_002518), // BGS defense stance struck stationary
- ANIM_DEBUG_DATA(gPlayerAnim_002520), //
- ANIM_DEBUG_DATA(gPlayerAnim_002528), //
- ANIM_DEBUG_DATA(gPlayerAnim_002530), //
- ANIM_DEBUG_DATA(gPlayerAnim_002538), // Landing
- ANIM_DEBUG_DATA(gPlayerAnim_002540), //
- ANIM_DEBUG_DATA(gPlayerAnim_002548), // Lunge
- ANIM_DEBUG_DATA(gPlayerAnim_002550), //
- ANIM_DEBUG_DATA(gPlayerAnim_002558), // Partial crouch
- ANIM_DEBUG_DATA(gPlayerAnim_002560), //
- ANIM_DEBUG_DATA(gPlayerAnim_002568), // Sidewalk targeted left
- ANIM_DEBUG_DATA(gPlayerAnim_002570), // Sidewalk targeted right
- ANIM_DEBUG_DATA(gPlayerAnim_002578), // Shield while targeted
- ANIM_DEBUG_DATA(gPlayerAnim_002580), // Shield stance while moving forward/backward
- ANIM_DEBUG_DATA(gPlayerAnim_002588), // Hold BGS targeted
- ANIM_DEBUG_DATA(gPlayerAnim_002590), // Targeted shield down
- ANIM_DEBUG_DATA(gPlayerAnim_002598), // Transition to crouch with shield
- ANIM_DEBUG_DATA(gPlayerAnim_0025A0), // Crouch with shield
- ANIM_DEBUG_DATA(gPlayerAnim_0025A8), // Hop
- ANIM_DEBUG_DATA(gPlayerAnim_0025B0), // Crouch stab
- ANIM_DEBUG_DATA(gPlayerAnim_0025B8), // Transition to shield while targeted
- ANIM_DEBUG_DATA(gPlayerAnim_0025C0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0025C8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0025D0), // Shield while targeted
- ANIM_DEBUG_DATA(gPlayerAnim_0025D8), // Transition to crouch with shield from shield while targeted
- ANIM_DEBUG_DATA(gPlayerAnim_0025E0), // Crouch from shield while targeted
- ANIM_DEBUG_DATA(gPlayerAnim_0025E8), // Hop with shield up
- ANIM_DEBUG_DATA(gPlayerAnim_0025F0), // Crouch stab
- ANIM_DEBUG_DATA(gPlayerAnim_0025F8), //
- ANIM_DEBUG_DATA(gPlayerAnim_002600), //
- ANIM_DEBUG_DATA(gPlayerAnim_002608), // Horizontal slash
- ANIM_DEBUG_DATA(gPlayerAnim_002610), // Horizontal slash 2
- ANIM_DEBUG_DATA(gPlayerAnim_002618), //
- ANIM_DEBUG_DATA(gPlayerAnim_002620), //
- ANIM_DEBUG_DATA(gPlayerAnim_002628), //
- ANIM_DEBUG_DATA(gPlayerAnim_002630), //
- ANIM_DEBUG_DATA(gPlayerAnim_002638), //
- ANIM_DEBUG_DATA(gPlayerAnim_002640), // Bottle catch
- ANIM_DEBUG_DATA(gPlayerAnim_002648), // Bottle swing
- ANIM_DEBUG_DATA(gPlayerAnim_002650), // Fairy bottle open
- ANIM_DEBUG_DATA(gPlayerAnim_002658), // Drink start
- ANIM_DEBUG_DATA(gPlayerAnim_002660), // Drink end
- ANIM_DEBUG_DATA(gPlayerAnim_002668), // Drink head back start
- ANIM_DEBUG_DATA(gPlayerAnim_002670), // Drink head back
- ANIM_DEBUG_DATA(gPlayerAnim_002678), // Bottle scoop
- ANIM_DEBUG_DATA(gPlayerAnim_002680), //
- ANIM_DEBUG_DATA(gPlayerAnim_002688), // Bottle dump
- ANIM_DEBUG_DATA(gPlayerAnim_002690), //
- ANIM_DEBUG_DATA(gPlayerAnim_002698), //
- ANIM_DEBUG_DATA(gPlayerAnim_0026A0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0026A8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0026B0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0026B8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0026C0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0026C8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0026D0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0026D8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0026E0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0026E8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0026F0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0026F8), //
- ANIM_DEBUG_DATA(gPlayerAnim_002700), //
- ANIM_DEBUG_DATA(gPlayerAnim_002708), //
- ANIM_DEBUG_DATA(gPlayerAnim_002710), //
- ANIM_DEBUG_DATA(gPlayerAnim_002718), //
- ANIM_DEBUG_DATA(gPlayerAnim_002720), //
- ANIM_DEBUG_DATA(gPlayerAnim_002728), //
- ANIM_DEBUG_DATA(gPlayerAnim_002730), //
- ANIM_DEBUG_DATA(gPlayerAnim_002738), //
- ANIM_DEBUG_DATA(gPlayerAnim_002740), //
- ANIM_DEBUG_DATA(gPlayerAnim_002748), //
- ANIM_DEBUG_DATA(gPlayerAnim_002750), //
- ANIM_DEBUG_DATA(gPlayerAnim_002758), //
- ANIM_DEBUG_DATA(gPlayerAnim_002760), //
- ANIM_DEBUG_DATA(gPlayerAnim_002768), //
- ANIM_DEBUG_DATA(gPlayerAnim_002770), //
- ANIM_DEBUG_DATA(gPlayerAnim_002778), // Turn around, shocked
- ANIM_DEBUG_DATA(gPlayerAnim_002780), //
- ANIM_DEBUG_DATA(gPlayerAnim_002788), //
- ANIM_DEBUG_DATA(gPlayerAnim_002790), //
- ANIM_DEBUG_DATA(gPlayerAnim_002798), //
- ANIM_DEBUG_DATA(gPlayerAnim_0027A0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0027A8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0027B0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0027B8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0027C0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0027C8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0027D0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0027D8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0027E0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0027E8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0027F0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0027F8), //
- ANIM_DEBUG_DATA(gPlayerAnim_002800), //
- ANIM_DEBUG_DATA(gPlayerAnim_002808), //
- ANIM_DEBUG_DATA(gPlayerAnim_002810), //
- ANIM_DEBUG_DATA(gPlayerAnim_002818), //
- ANIM_DEBUG_DATA(gPlayerAnim_002820), //
- ANIM_DEBUG_DATA(gPlayerAnim_002828), //
- ANIM_DEBUG_DATA(gPlayerAnim_002830), //
- ANIM_DEBUG_DATA(gPlayerAnim_002838), //
- ANIM_DEBUG_DATA(gPlayerAnim_002840), //
- ANIM_DEBUG_DATA(gPlayerAnim_002848), //
- ANIM_DEBUG_DATA(gPlayerAnim_002850), //
- ANIM_DEBUG_DATA(gPlayerAnim_002858), //
- ANIM_DEBUG_DATA(gPlayerAnim_002860), //
- ANIM_DEBUG_DATA(gPlayerAnim_002868), //
- ANIM_DEBUG_DATA(gPlayerAnim_002870), //
- ANIM_DEBUG_DATA(gPlayerAnim_002878), // Fall over forwards
- ANIM_DEBUG_DATA(gPlayerAnim_002880), //
- ANIM_DEBUG_DATA(gPlayerAnim_002888), //
- ANIM_DEBUG_DATA(gPlayerAnim_002890), //
- ANIM_DEBUG_DATA(gPlayerAnim_002898), //
- ANIM_DEBUG_DATA(gPlayerAnim_0028A0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0028A8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0028B0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0028B8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0028C0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0028C8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0028D0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0028D8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0028E0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0028E8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0028F0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0028F8), //
- ANIM_DEBUG_DATA(gPlayerAnim_002900), //
- ANIM_DEBUG_DATA(gPlayerAnim_002908), //
- ANIM_DEBUG_DATA(gPlayerAnim_002910), //
- ANIM_DEBUG_DATA(gPlayerAnim_002918), //
- ANIM_DEBUG_DATA(gPlayerAnim_002920), //
- ANIM_DEBUG_DATA(gPlayerAnim_002928), //
- ANIM_DEBUG_DATA(gPlayerAnim_002930), //
- ANIM_DEBUG_DATA(gPlayerAnim_002938), //
- ANIM_DEBUG_DATA(gPlayerAnim_002940), //
- ANIM_DEBUG_DATA(gPlayerAnim_002948), //
- ANIM_DEBUG_DATA(gPlayerAnim_002950), // Sidehop left
- ANIM_DEBUG_DATA(gPlayerAnim_002958), //
- ANIM_DEBUG_DATA(gPlayerAnim_002960), //
- ANIM_DEBUG_DATA(gPlayerAnim_002968), // Horizontal Slash Right-Left
- ANIM_DEBUG_DATA(gPlayerAnim_002970), //
- ANIM_DEBUG_DATA(gPlayerAnim_002978), // Horizontal Slash Left-Right
- ANIM_DEBUG_DATA(gPlayerAnim_002980), //
- ANIM_DEBUG_DATA(gPlayerAnim_002988), // Sidehop right
- ANIM_DEBUG_DATA(gPlayerAnim_002990), //
- ANIM_DEBUG_DATA(gPlayerAnim_002998), //
- ANIM_DEBUG_DATA(gPlayerAnim_0029A0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0029A8), // Lunge
- ANIM_DEBUG_DATA(gPlayerAnim_0029B0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0029B8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0029C0), // Spin attack
- ANIM_DEBUG_DATA(gPlayerAnim_0029C8), // Lunge
- ANIM_DEBUG_DATA(gPlayerAnim_0029D0), // Backflip
- ANIM_DEBUG_DATA(gPlayerAnim_0029D8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0029E0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0029E8), // Run while injured
- ANIM_DEBUG_DATA(gPlayerAnim_0029F0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0029F8), //
- ANIM_DEBUG_DATA(gPlayerAnim_002A00), //
- ANIM_DEBUG_DATA(gPlayerAnim_002A08), //
- ANIM_DEBUG_DATA(gPlayerAnim_002A10), // Crouched guarding with sword
- ANIM_DEBUG_DATA(gPlayerAnim_002A18), // Crouching & Shielded
- ANIM_DEBUG_DATA(gPlayerAnim_002A20), //
- ANIM_DEBUG_DATA(gPlayerAnim_002A28), // Jump
- ANIM_DEBUG_DATA(gPlayerAnim_002A30), // Land from jump
- ANIM_DEBUG_DATA(gPlayerAnim_002A38), //
- ANIM_DEBUG_DATA(gPlayerAnim_002A40), //
- ANIM_DEBUG_DATA(gPlayerAnim_002A48), //
- ANIM_DEBUG_DATA(gPlayerAnim_002A50), //
- ANIM_DEBUG_DATA(gPlayerAnim_002A58), //
- ANIM_DEBUG_DATA(gPlayerAnim_002A60), // Midair twirl
- ANIM_DEBUG_DATA(gPlayerAnim_002A68), // Roll
- ANIM_DEBUG_DATA(gPlayerAnim_002A70), //
- ANIM_DEBUG_DATA(gPlayerAnim_002A78), //
- ANIM_DEBUG_DATA(gPlayerAnim_002A80), //
- ANIM_DEBUG_DATA(gPlayerAnim_002A88), //
- ANIM_DEBUG_DATA(gPlayerAnim_002A90), //
- ANIM_DEBUG_DATA(gPlayerAnim_002A98), // Diagonal slash bottom-right -> top-left
- ANIM_DEBUG_DATA(gPlayerAnim_002AA0), //
- ANIM_DEBUG_DATA(gPlayerAnim_002AA8), //
- ANIM_DEBUG_DATA(gPlayerAnim_002AB0), //
- ANIM_DEBUG_DATA(gPlayerAnim_002AB8), //
- ANIM_DEBUG_DATA(gPlayerAnim_002AC0), //
- ANIM_DEBUG_DATA(gPlayerAnim_002AC8), // Stand from jumpslash
- ANIM_DEBUG_DATA(gPlayerAnim_002AD0), // Jumpslash
- ANIM_DEBUG_DATA(gPlayerAnim_002AD8), // Charging spin attack shield forward, moving sideways
- ANIM_DEBUG_DATA(gPlayerAnim_002AE0), //
- ANIM_DEBUG_DATA(gPlayerAnim_002AE8), //
- ANIM_DEBUG_DATA(gPlayerAnim_002AF0), // Charging spin attack shield forward, stationary
- ANIM_DEBUG_DATA(gPlayerAnim_002AF8), // Begin/Stop charging spin attack
- ANIM_DEBUG_DATA(gPlayerAnim_002B00), // Charging spin attack shield forward, moving forwards
- ANIM_DEBUG_DATA(gPlayerAnim_002B08), //
- ANIM_DEBUG_DATA(gPlayerAnim_002B10), //
- ANIM_DEBUG_DATA(gPlayerAnim_002B18), //
- ANIM_DEBUG_DATA(gPlayerAnim_002B20), //
- ANIM_DEBUG_DATA(gPlayerAnim_002B28), //
- ANIM_DEBUG_DATA(gPlayerAnim_002B30), //
- ANIM_DEBUG_DATA(gPlayerAnim_002B38), // Run forwards with shield forward and sword to side
- ANIM_DEBUG_DATA(gPlayerAnim_002B40), // BGS run forwards
- ANIM_DEBUG_DATA(gPlayerAnim_002B48), // Horizontal Slash Right-Left
- ANIM_DEBUG_DATA(gPlayerAnim_002B50), //
- ANIM_DEBUG_DATA(gPlayerAnim_002B58), //
- ANIM_DEBUG_DATA(gPlayerAnim_002B60), //
- ANIM_DEBUG_DATA(gPlayerAnim_002B68), //
- ANIM_DEBUG_DATA(gPlayerAnim_002B70), //
- ANIM_DEBUG_DATA(gPlayerAnim_002B78), //
- ANIM_DEBUG_DATA(gPlayerAnim_002B80), //
- ANIM_DEBUG_DATA(gPlayerAnim_002B88), //
- ANIM_DEBUG_DATA(gPlayerAnim_002B90), // Vertical slash
- ANIM_DEBUG_DATA(gPlayerAnim_002B98), //
- ANIM_DEBUG_DATA(gPlayerAnim_002BA0), //
- ANIM_DEBUG_DATA(gPlayerAnim_002BA8), //
- ANIM_DEBUG_DATA(gPlayerAnim_002BB0), //
- ANIM_DEBUG_DATA(gPlayerAnim_002BB8), //
- ANIM_DEBUG_DATA(gPlayerAnim_002BC0), //
- ANIM_DEBUG_DATA(gPlayerAnim_002BC8), //
- ANIM_DEBUG_DATA(gPlayerAnim_002BD0), //
- ANIM_DEBUG_DATA(gPlayerAnim_002BD8), // Another vertical slash from shield forwards
- ANIM_DEBUG_DATA(gPlayerAnim_002BE0), //
- ANIM_DEBUG_DATA(gPlayerAnim_002BE8), //
- ANIM_DEBUG_DATA(gPlayerAnim_002BF0), //
- ANIM_DEBUG_DATA(gPlayerAnim_002BF8), // BGS slow walk forwards
- ANIM_DEBUG_DATA(gPlayerAnim_002C00), //
- ANIM_DEBUG_DATA(gPlayerAnim_002C08), //
- ANIM_DEBUG_DATA(gPlayerAnim_002C10), //
- ANIM_DEBUG_DATA(gPlayerAnim_002C18), //
- ANIM_DEBUG_DATA(gPlayerAnim_002C20), //
- ANIM_DEBUG_DATA(gPlayerAnim_002C28), //
- ANIM_DEBUG_DATA(gPlayerAnim_002C30), //
- ANIM_DEBUG_DATA(gPlayerAnim_002C38), //
- ANIM_DEBUG_DATA(gPlayerAnim_002C40), //
- ANIM_DEBUG_DATA(gPlayerAnim_002C48), //
- ANIM_DEBUG_DATA(gPlayerAnim_002C50), //
- ANIM_DEBUG_DATA(gPlayerAnim_002C58), //
- ANIM_DEBUG_DATA(gPlayerAnim_002C60), //
- ANIM_DEBUG_DATA(gPlayerAnim_002C68), //
- ANIM_DEBUG_DATA(gPlayerAnim_002C70), //
- ANIM_DEBUG_DATA(gPlayerAnim_002C78), //
- ANIM_DEBUG_DATA(gPlayerAnim_002C80), //
- ANIM_DEBUG_DATA(gPlayerAnim_002C88), //
- ANIM_DEBUG_DATA(gPlayerAnim_002C90), //
- ANIM_DEBUG_DATA(gPlayerAnim_002C98), //
- ANIM_DEBUG_DATA(gPlayerAnim_002CA0), //
- ANIM_DEBUG_DATA(gPlayerAnim_002CA8), //
- ANIM_DEBUG_DATA(gPlayerAnim_002CB0), //
- ANIM_DEBUG_DATA(gPlayerAnim_002CB8), //
- ANIM_DEBUG_DATA(gPlayerAnim_002CC0), //
- ANIM_DEBUG_DATA(gPlayerAnim_002CC8), //
- ANIM_DEBUG_DATA(gPlayerAnim_002CD0), // Final slash
- ANIM_DEBUG_DATA(gPlayerAnim_002CD8), // Final slash step back
- ANIM_DEBUG_DATA(gPlayerAnim_002CE0), // Cast Nayrus
- ANIM_DEBUG_DATA(gPlayerAnim_002CE8), // Channel Nayrus
- ANIM_DEBUG_DATA(gPlayerAnim_002CF0), // Done casting Nayrus
- ANIM_DEBUG_DATA(gPlayerAnim_002CF8), // Cast FW
- ANIM_DEBUG_DATA(gPlayerAnim_002D00), // Channel FW
- ANIM_DEBUG_DATA(gPlayerAnim_002D08), // Done casting FW
- ANIM_DEBUG_DATA(gPlayerAnim_002D10), // Cast Dins
- ANIM_DEBUG_DATA(gPlayerAnim_002D18), // Channel Dins
- ANIM_DEBUG_DATA(gPlayerAnim_002D20), // Done casting Dins
- ANIM_DEBUG_DATA(gPlayerAnim_002D28), //
- ANIM_DEBUG_DATA(gPlayerAnim_002D30), //
- ANIM_DEBUG_DATA(gPlayerAnim_002D38), //
- ANIM_DEBUG_DATA(gPlayerAnim_002D40), //
- ANIM_DEBUG_DATA(gPlayerAnim_002D48), //
- ANIM_DEBUG_DATA(gPlayerAnim_002D50), //
- ANIM_DEBUG_DATA(gPlayerAnim_002D58), // ess shuffle shield up
- ANIM_DEBUG_DATA(gPlayerAnim_002D60), // ess shuffle shield down
- ANIM_DEBUG_DATA(gPlayerAnim_002D68), //
- ANIM_DEBUG_DATA(gPlayerAnim_002D70), //
- ANIM_DEBUG_DATA(gPlayerAnim_002D78), //
- ANIM_DEBUG_DATA(gPlayerAnim_002D80), //
- ANIM_DEBUG_DATA(gPlayerAnim_002D88), //
- ANIM_DEBUG_DATA(gPlayerAnim_002D90), //
- ANIM_DEBUG_DATA(gPlayerAnim_002D98), //
- ANIM_DEBUG_DATA(gPlayerAnim_002DA0), //
- ANIM_DEBUG_DATA(gPlayerAnim_002DA8), //
- ANIM_DEBUG_DATA(gPlayerAnim_002DB0), //
- ANIM_DEBUG_DATA(gPlayerAnim_002DB8), //
- ANIM_DEBUG_DATA(gPlayerAnim_002DC0), //
- ANIM_DEBUG_DATA(gPlayerAnim_002DC8), // Staggered forwards
- ANIM_DEBUG_DATA(gPlayerAnim_002DD0), // Backwalk
- ANIM_DEBUG_DATA(gPlayerAnim_002DD8), // Stagger
- ANIM_DEBUG_DATA(gPlayerAnim_002DE0), // Stagger 2
- ANIM_DEBUG_DATA(gPlayerAnim_002DE8), // Slow backwalk
- ANIM_DEBUG_DATA(gPlayerAnim_002DF0), // Step back
- ANIM_DEBUG_DATA(gPlayerAnim_002DF8), //
- ANIM_DEBUG_DATA(gPlayerAnim_002E00), // Pick up
- ANIM_DEBUG_DATA(gPlayerAnim_002E08), // Pick up fast
- ANIM_DEBUG_DATA(gPlayerAnim_002E10), // Hold
- ANIM_DEBUG_DATA(gPlayerAnim_002E18), //
- ANIM_DEBUG_DATA(gPlayerAnim_002E20), //
- ANIM_DEBUG_DATA(gPlayerAnim_002E28), //
- ANIM_DEBUG_DATA(gPlayerAnim_002E30), //
- ANIM_DEBUG_DATA(gPlayerAnim_002E38), //
- ANIM_DEBUG_DATA(gPlayerAnim_002E40), //
- ANIM_DEBUG_DATA(gPlayerAnim_002E48), // Slow walk forward shield down
- ANIM_DEBUG_DATA(gPlayerAnim_002E50), //
- ANIM_DEBUG_DATA(gPlayerAnim_002E58), //
- ANIM_DEBUG_DATA(gPlayerAnim_002E60), //
- ANIM_DEBUG_DATA(gPlayerAnim_002E68), //
- ANIM_DEBUG_DATA(gPlayerAnim_002E70), //
- ANIM_DEBUG_DATA(gPlayerAnim_002E78), //
- ANIM_DEBUG_DATA(gPlayerAnim_002E80), //
- ANIM_DEBUG_DATA(gPlayerAnim_002E88), //
- ANIM_DEBUG_DATA(gPlayerAnim_002E90), //
- ANIM_DEBUG_DATA(gPlayerAnim_002E98), //
- ANIM_DEBUG_DATA(gPlayerAnim_002EA0), //
- ANIM_DEBUG_DATA(gPlayerAnim_002EA8), //
- ANIM_DEBUG_DATA(gPlayerAnim_002EB0), //
- ANIM_DEBUG_DATA(gPlayerAnim_002EB8), //
- ANIM_DEBUG_DATA(gPlayerAnim_002EC0), //
- ANIM_DEBUG_DATA(gPlayerAnim_002EC8), //
- ANIM_DEBUG_DATA(gPlayerAnim_002ED0), //
- ANIM_DEBUG_DATA(gPlayerAnim_002ED8), //
- ANIM_DEBUG_DATA(gPlayerAnim_002EE0), //
- ANIM_DEBUG_DATA(gPlayerAnim_002EE8), //
- ANIM_DEBUG_DATA(gPlayerAnim_002EF0), //
- ANIM_DEBUG_DATA(gPlayerAnim_002EF8), //
- ANIM_DEBUG_DATA(gPlayerAnim_002F00), //
- ANIM_DEBUG_DATA(gPlayerAnim_002F08), // Fall over forwards 2
- ANIM_DEBUG_DATA(gPlayerAnim_002F10), //
- ANIM_DEBUG_DATA(gPlayerAnim_002F18), //
- ANIM_DEBUG_DATA(gPlayerAnim_002F20), //
- ANIM_DEBUG_DATA(gPlayerAnim_002F28), //
- ANIM_DEBUG_DATA(gPlayerAnim_002F30), //
- ANIM_DEBUG_DATA(gPlayerAnim_002F38), //
- ANIM_DEBUG_DATA(gPlayerAnim_002F40), //
- ANIM_DEBUG_DATA(gPlayerAnim_002F48), //
- ANIM_DEBUG_DATA(gPlayerAnim_002F50), //
- ANIM_DEBUG_DATA(gPlayerAnim_002F58), //
- ANIM_DEBUG_DATA(gPlayerAnim_002F60), //
- ANIM_DEBUG_DATA(gPlayerAnim_002F68), //
- ANIM_DEBUG_DATA(gPlayerAnim_002F70), // Staggered backwards
- ANIM_DEBUG_DATA(gPlayerAnim_002F78), //
- ANIM_DEBUG_DATA(gPlayerAnim_002F80), //
- ANIM_DEBUG_DATA(gPlayerAnim_002F88), //
- ANIM_DEBUG_DATA(gPlayerAnim_002F90), //
- ANIM_DEBUG_DATA(gPlayerAnim_002F98), //
- ANIM_DEBUG_DATA(gPlayerAnim_002FA0), //
- ANIM_DEBUG_DATA(gPlayerAnim_002FA8), // Slower walk forwards shield up
- ANIM_DEBUG_DATA(gPlayerAnim_002FB0), // Slower walk forwards shield down
- ANIM_DEBUG_DATA(gPlayerAnim_002FB8), // Bonk 1H
- ANIM_DEBUG_DATA(gPlayerAnim_002FC0), // Bonk Normal
- ANIM_DEBUG_DATA(gPlayerAnim_002FC8), // Bonk 2H
- ANIM_DEBUG_DATA(gPlayerAnim_002FD0), //
- ANIM_DEBUG_DATA(gPlayerAnim_002FD8), //
- ANIM_DEBUG_DATA(gPlayerAnim_002FE0), //
- ANIM_DEBUG_DATA(gPlayerAnim_002FE8), //
- ANIM_DEBUG_DATA(gPlayerAnim_002FF0), //
- ANIM_DEBUG_DATA(gPlayerAnim_002FF8), //
- ANIM_DEBUG_DATA(gPlayerAnim_003000), //
- ANIM_DEBUG_DATA(gPlayerAnim_003008), //
- ANIM_DEBUG_DATA(gPlayerAnim_003010), //
- ANIM_DEBUG_DATA(gPlayerAnim_003018), //
- ANIM_DEBUG_DATA(gPlayerAnim_003020), //
- ANIM_DEBUG_DATA(gPlayerAnim_003028), //
- ANIM_DEBUG_DATA(gPlayerAnim_003030), //
- ANIM_DEBUG_DATA(gPlayerAnim_003038), // Roll normal
- ANIM_DEBUG_DATA(gPlayerAnim_003040), //
- ANIM_DEBUG_DATA(gPlayerAnim_003048), // Throw Nut 1
- ANIM_DEBUG_DATA(gPlayerAnim_003050), // Throw Nut 2
- ANIM_DEBUG_DATA(gPlayerAnim_003058), //
- ANIM_DEBUG_DATA(gPlayerAnim_003060), //
- ANIM_DEBUG_DATA(gPlayerAnim_003068), //
- ANIM_DEBUG_DATA(gPlayerAnim_003070), //
- ANIM_DEBUG_DATA(gPlayerAnim_003078), //
- ANIM_DEBUG_DATA(gPlayerAnim_003080), //
- ANIM_DEBUG_DATA(gPlayerAnim_003088), //
- ANIM_DEBUG_DATA(gPlayerAnim_003090), //
- ANIM_DEBUG_DATA(gPlayerAnim_003098), // Put away ocarina
- ANIM_DEBUG_DATA(gPlayerAnim_0030A0), // Take out ocarina
- ANIM_DEBUG_DATA(gPlayerAnim_0030A8), // Play Ocarina
- ANIM_DEBUG_DATA(gPlayerAnim_0030B0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0030B8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0030C0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0030C8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0030D0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0030D8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0030E0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0030E8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0030F0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0030F8), //
- ANIM_DEBUG_DATA(gPlayerAnim_003100), //
- ANIM_DEBUG_DATA(gPlayerAnim_003108), //
- ANIM_DEBUG_DATA(gPlayerAnim_003110), // Put down Medium
- ANIM_DEBUG_DATA(gPlayerAnim_003118), // Put down Small
- ANIM_DEBUG_DATA(gPlayerAnim_003120), // Redead 1
- ANIM_DEBUG_DATA(gPlayerAnim_003128), // Redead 2
- ANIM_DEBUG_DATA(gPlayerAnim_003130), //
- ANIM_DEBUG_DATA(gPlayerAnim_003138), //
- ANIM_DEBUG_DATA(gPlayerAnim_003140), //
- ANIM_DEBUG_DATA(gPlayerAnim_003148), //
- ANIM_DEBUG_DATA(gPlayerAnim_003150), //
- ANIM_DEBUG_DATA(gPlayerAnim_003158), //
- ANIM_DEBUG_DATA(gPlayerAnim_003160), //
- ANIM_DEBUG_DATA(gPlayerAnim_003168), //
- ANIM_DEBUG_DATA(gPlayerAnim_003170), //
- ANIM_DEBUG_DATA(gPlayerAnim_003178), // Sidewalk left shield down
- ANIM_DEBUG_DATA(gPlayerAnim_003180), // Sidewalk right shield down
- ANIM_DEBUG_DATA(gPlayerAnim_003188), // Slow sidewalk shield up
- ANIM_DEBUG_DATA(gPlayerAnim_003190), // Slow sidewalk shield down
- ANIM_DEBUG_DATA(gPlayerAnim_003198), // Speaking 1
- ANIM_DEBUG_DATA(gPlayerAnim_0031A0), // Speaking 2
- ANIM_DEBUG_DATA(gPlayerAnim_0031A8), // Speaking Looking up 1
- ANIM_DEBUG_DATA(gPlayerAnim_0031B0), // Speaking Looking up 2
- ANIM_DEBUG_DATA(gPlayerAnim_0031B8), // Arms down sword hand on hip
- ANIM_DEBUG_DATA(gPlayerAnim_0031C0), // Throw
- ANIM_DEBUG_DATA(gPlayerAnim_0031C8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0031D0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0031D8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0031E0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0031E8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0031F0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0031F8), //
- ANIM_DEBUG_DATA(gPlayerAnim_003200), //
- ANIM_DEBUG_DATA(gPlayerAnim_003208), //
- ANIM_DEBUG_DATA(gPlayerAnim_003210), //
- ANIM_DEBUG_DATA(gPlayerAnim_003218), //
- ANIM_DEBUG_DATA(gPlayerAnim_003220), // Sword forward, shield arm behind
- ANIM_DEBUG_DATA(gPlayerAnim_003228), //
- ANIM_DEBUG_DATA(gPlayerAnim_003230), //
- ANIM_DEBUG_DATA(gPlayerAnim_003238), // Idle
- ANIM_DEBUG_DATA(gPlayerAnim_003240), //
- ANIM_DEBUG_DATA(gPlayerAnim_003248), //
- ANIM_DEBUG_DATA(gPlayerAnim_003250), // Idle heated
- ANIM_DEBUG_DATA(gPlayerAnim_003258), // Idle cold
- ANIM_DEBUG_DATA(gPlayerAnim_003260), // Weird rise from ground
- ANIM_DEBUG_DATA(gPlayerAnim_003268), // Slow walk forward shield up
- ANIM_DEBUG_DATA(gPlayerAnim_003270), //
- ANIM_DEBUG_DATA(gPlayerAnim_003278), //
- ANIM_DEBUG_DATA(gPlayerAnim_003280), //
- ANIM_DEBUG_DATA(gPlayerAnim_003288), //
- ANIM_DEBUG_DATA(gPlayerAnim_003290), // Slow walk forward shield down
- ANIM_DEBUG_DATA(gPlayerAnim_003298), //
- ANIM_DEBUG_DATA(gPlayerAnim_0032A0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0032A8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0032B0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0032B8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0032C0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0032C8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0032D0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0032D8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0032E0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0032E8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0032F0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0032F8), //
- ANIM_DEBUG_DATA(gPlayerAnim_003300), //
- ANIM_DEBUG_DATA(gPlayerAnim_003308), //
- ANIM_DEBUG_DATA(gPlayerAnim_003310), // Drown
- ANIM_DEBUG_DATA(gPlayerAnim_003318), //
- ANIM_DEBUG_DATA(gPlayerAnim_003320), //
- ANIM_DEBUG_DATA(gPlayerAnim_003328), //
- ANIM_DEBUG_DATA(gPlayerAnim_003330), //
- ANIM_DEBUG_DATA(gPlayerAnim_003338), //
- ANIM_DEBUG_DATA(gPlayerAnim_003340), //
- ANIM_DEBUG_DATA(gPlayerAnim_003348), //
- ANIM_DEBUG_DATA(gPlayerAnim_003350), //
- ANIM_DEBUG_DATA(gPlayerAnim_003358), //
- ANIM_DEBUG_DATA(gPlayerAnim_003360), //
- ANIM_DEBUG_DATA(gPlayerAnim_003368), //
- ANIM_DEBUG_DATA(gPlayerAnim_003370), //
- ANIM_DEBUG_DATA(gPlayerAnim_003378), //
- ANIM_DEBUG_DATA(gPlayerAnim_003380), //
- ANIM_DEBUG_DATA(gPlayerAnim_003388), //
- ANIM_DEBUG_DATA(gPlayerAnim_003390), //
- ANIM_DEBUG_DATA(gPlayerAnim_003398), //
- ANIM_DEBUG_DATA(gPlayerAnim_0033A0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0033A8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0033B0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0033B8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0033C0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0033C8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0033D0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0033D8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0033E0), // Adjusting tunic
- ANIM_DEBUG_DATA(gPlayerAnim_0033E8), // Scuffing shoes
- ANIM_DEBUG_DATA(gPlayerAnim_0033F0), // Stretching
- ANIM_DEBUG_DATA(gPlayerAnim_0033F8), // Tired
- ANIM_DEBUG_DATA(gPlayerAnim_003400), //
- ANIM_DEBUG_DATA(gPlayerAnim_003408), // Adjusting belt
- ANIM_DEBUG_DATA(gPlayerAnim_003410), // cuffing shoes 1H
- ANIM_DEBUG_DATA(gPlayerAnim_003418), // Shaking shield
- ANIM_DEBUG_DATA(gPlayerAnim_003420), // Swinging sword 1H
- ANIM_DEBUG_DATA(gPlayerAnim_003428), // Swinging sword 2H
- ANIM_DEBUG_DATA(gPlayerAnim_003430), // Idle Yawn 1 Handed
- ANIM_DEBUG_DATA(gPlayerAnim_003438), //
- ANIM_DEBUG_DATA(gPlayerAnim_003440), //
- ANIM_DEBUG_DATA(gPlayerAnim_003448), //
- ANIM_DEBUG_DATA(gPlayerAnim_003450), //
- ANIM_DEBUG_DATA(gPlayerAnim_003458), //
- ANIM_DEBUG_DATA(gPlayerAnim_003460), //
- ANIM_DEBUG_DATA(gPlayerAnim_003468), //
- ANIM_DEBUG_DATA(gPlayerAnim_003470), //
- ANIM_DEBUG_DATA(gPlayerAnim_003478), //
- ANIM_DEBUG_DATA(gPlayerAnim_003480), //
- ANIM_DEBUG_DATA(gPlayerAnim_003488), //
- ANIM_DEBUG_DATA(gPlayerAnim_003490), //
- ANIM_DEBUG_DATA(gPlayerAnim_003498), //
- ANIM_DEBUG_DATA(gPlayerAnim_0034A0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0034A8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0034B0), // Turn around
- ANIM_DEBUG_DATA(gPlayerAnim_0034B8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0034C0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0034C8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0034D0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0034D8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0034E0), //
- ANIM_DEBUG_DATA(gPlayerAnim_0034E8), //
- ANIM_DEBUG_DATA(gPlayerAnim_0034F0), //
- };
- static s32 sAnimDbgCurSkelAnime = 1;
- static s32 sAnimDbgIdx1 = 0;
- static s32 sAnimDbgIdx2 = 0;
- static u8 sAnimCopyFlags[PLAYER_LIMB_MAX] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
- void AnimViewer_Init(Actor* thisx, GlobalContext* globalCtx) {
- static Vec3s baseTransl = { -57, 3377, 0 };
- AnimViewer* this = THIS;
- ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFeet, 60.0f);
- SkelAnime_InitLink(globalCtx, &this->skelAnime, &gDarkLinkSkel, &gPlayerAnim_003238, 9, this->jointTable,
- this->morphTable, PLAYER_LIMB_MAX);
- this->skelAnime.baseTransl = baseTransl;
- SkelAnime_InitLink(globalCtx, &this->skelAnimeAux, &gDarkLinkSkel, &gPlayerAnim_003238, 9, this->jointTableAux,
- this->morphTableAux, PLAYER_LIMB_MAX);
- this->skelAnimeAux.baseTransl = baseTransl;
- }
- void AnimViewer_Update(Actor* thisx, GlobalContext* globalCtx) {
- AnimViewer* this = THIS;
- // update animations
- LinkAnimation_Update(globalCtx, &this->skelAnime);
- LinkAnimation_Update(globalCtx, &this->skelAnimeAux);
- // copy lower body animation to the main skelanime joint table
- AnimationContext_SetCopyFalse(globalCtx, this->skelAnime.limbCount, this->skelAnime.jointTable, this->skelAnimeAux.jointTable, sAnimCopyFlags);
- // update position
- Actor_MoveForward(&this->actor);
- // update bg info
- Actor_UpdateBgCheckInfo(globalCtx, &this->actor, 26.0f, 18.0f, 56.0f, 0x3F);
- // animation debugger controls
- {
- s32* mod;
- // set which skelanime to modify
- if (CHECK_BTN_ALL(globalCtx->state.input[0].cur.button, BTN_DLEFT)) {
- sAnimDbgCurSkelAnime = 1;
- } else if (CHECK_BTN_ALL(globalCtx->state.input[0].cur.button, BTN_DRIGHT)) {
- sAnimDbgCurSkelAnime = 2;
- }
- // change index based on which skelanime to modify
- mod = (sAnimDbgCurSkelAnime == 1) ? &sAnimDbgIdx1 : &sAnimDbgIdx2;
- if (CHECK_BTN_ALL(globalCtx->state.input[0].cur.button, BTN_DDOWN)) {
- *mod = CLAMP_MIN(*mod - 1, 0);
- } else if (CHECK_BTN_ALL(globalCtx->state.input[0].cur.button, BTN_DUP)) {
- *mod = CLAMP_MAX(*mod + 1, ARRAY_COUNT(sLinkAnimations) - 1);
- }
- // change anim
- if (this->skelAnime.animation != sLinkAnimations[sAnimDbgIdx1].anim) {
- LinkAnimation_Change(globalCtx, &this->skelAnime, sLinkAnimations[sAnimDbgIdx1].anim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f);
- }
- if (this->skelAnimeAux.animation != sLinkAnimations[sAnimDbgIdx2].anim) {
- LinkAnimation_Change(globalCtx, &this->skelAnimeAux, sLinkAnimations[sAnimDbgIdx2].anim, 1.0f, 0.0f, 0.0f, ANIMMODE_LOOP, 0.0f);
- }
- }
- }
- void AnimViewer_Draw(Actor* thisx, GlobalContext* globalCtx) {
- AnimViewer* this = THIS;
- OPEN_DISPS(globalCtx->state.gfxCtx, __FILE__, __LINE__);
- func_80093C80(globalCtx);
- func_80093D84(globalCtx->state.gfxCtx);
- gDPSetEnvColor(POLY_OPA_DISP++, 255, 0, 0, 255);
- gSPSegment(POLY_OPA_DISP++, 0x0C, gEmptyDL);
- func_8002EBCC(&this->actor, globalCtx, 0);
- func_8002ED80(&this->actor, globalCtx, 0);
- POLY_OPA_DISP =
- SkelAnime_DrawFlex(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- NULL, NULL, this, POLY_OPA_DISP);
- // animation debugger display
- {
- GfxPrint gfxPrint;
- Gfx* prevDisplayList;
- Gfx* displayList;
- GfxPrint_Init(&gfxPrint);
- prevDisplayList = POLY_OPA_DISP;
- displayList = Graph_GfxPlusOne(POLY_OPA_DISP);
- gSPDisplayList(OVERLAY_DISP++, displayList);
- GfxPrint_Open(&gfxPrint, displayList);
- GfxPrint_SetColor(&gfxPrint, 255, 255, 55, 32);
- GfxPrint_SetPos(&gfxPrint, 6, 18);
- GfxPrint_Printf(&gfxPrint, "1:");
- GfxPrint_SetPos(&gfxPrint, 9, 18);
- GfxPrint_Printf(&gfxPrint, sLinkAnimations[sAnimDbgIdx1].name);
- GfxPrint_SetPos(&gfxPrint, 6, 20);
- GfxPrint_Printf(&gfxPrint, "2:");
- GfxPrint_SetPos(&gfxPrint, 9, 20);
- GfxPrint_Printf(&gfxPrint, sLinkAnimations[sAnimDbgIdx2].name);
- GfxPrint_SetColor(&gfxPrint, 0, 255, 0, 32);
- GfxPrint_SetPos(&gfxPrint, 3, (sAnimDbgCurSkelAnime == 1) ? 18 : 20);
- GfxPrint_Printf(&gfxPrint, "->");
- displayList = GfxPrint_Close(&gfxPrint);
- gSPEndDisplayList(displayList++);
- Graph_BranchDlist(prevDisplayList, displayList);
- POLY_OPA_DISP = displayList;
- GfxPrint_Destroy(&gfxPrint);
- }
- CLOSE_DISPS(globalCtx->state.gfxCtx, __FILE__, __LINE__);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement