Files
tww/include/d/actor/d_a_player.h
T
2023-09-11 22:28:10 -07:00

1368 lines
45 KiB
C++

#ifndef D_D_A_PLAYER_H
#define D_D_A_PLAYER_H
#include "JAZelAudio/JAIZelBasic.h"
#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h"
#include "d/d_attention.h"
#include "d/d_bg_s_acch.h"
#include "d/d_bg_s_lin_chk.h"
#include "d/d_cc_d.h"
#include "d/d_drawlist.h"
#include "f_op/f_op_actor_mng.h"
#include "m_Do/m_Do_ext.h"
class mDoExt_MtxCalcOldFrame;
class daPy_matAnm_c;
class daPy_HIO_c;
class daPy_demo_c {
public:
void setDemoType(u16 pType) { mDemoType = pType; }
int getDemoType() const { return mDemoType; }
void setDemoMode(u32 mode) { mDemoMode = mode; }
u32 getDemoMode() const { return mDemoMode; }
int getParam1() const { return mParam1; }
void setOriginalDemoType() { setDemoType(3); }
void setSpecialDemoType() { setDemoType(5); }
void setSystemDemoType() { setDemoType(2); }
void setStick(f32 stick) { mStick = stick; }
void setMoveAngle(s16 angle) { mDemoMoveAngle = angle; }
s16 getMoveAngle() const { return mDemoMoveAngle; }
f32 getStick() { return mStick; }
int getParam0() const { return mParam0; }
void setParam0(int value) { mParam0 = value; }
void setParam1(int value) { mParam1 = value; }
void setParam2(int value) { mParam2 = value; }
private:
/* 0x00 */ u16 mDemoType;
/* 0x02 */ s16 mDemoMoveAngle;
/* 0x04 */ s16 mTimer;
/* 0x06 */ s16 mParam2;
/* 0x08 */ int mParam0;
/* 0x0C */ int mParam1;
/* 0x10 */ u32 mDemoMode;
/* 0x14 */ f32 mStick;
}; // Size: 0x18
class daPy_py_c : public fopAc_ac_c {
public:
/* 0x290 */ u8 mAttackState;
/* 0x291 */ u8 field_0x291;
/* 0x292 */ u8 field_0x292[0x294 - 0x292];
/* 0x294 */ s16 field_0x294;
/* 0x296 */ s16 mQuakeTimer;
/* 0x298 */ int field_0x298;
/* 0x29C */ u32 field_0x29c;
/* 0x2A0 */ u32 field_0x2a0;
/* 0x2A4 */ u32 field_0x2a4;
/* 0x2A8 */ f32 field_0x2a8;
/* 0x2AC */ u8 field_0x2AC[0x2B0 - 0x2AC];
/* 0x2B0 */ f32 field_0x2b0;
/* 0x2B4 */ u8 field_0x2B4[0x2BC - 0x2B4];
/* 0x2BC */ cXyz mHeadTopPos;
/* 0x2C8 */ cXyz mSwordTopPos;
/* 0x2D4 */ cXyz field_0x2d4;
/* 0x2E0 */ cXyz field_0x2e0;
/* 0x2EC */ cXyz mRopePos;
/* 0x2F8 */ f32 field_0x2f8;
/* 0x2FC */ u8 field_0x2FC[0x300 - 0x2FC];
/* 0x300 */ f32 field_0x300;
/* 0x304 */ daPy_demo_c mDemo;
virtual void getLeftHandMatrix();
virtual void getRightHandMatrix();
virtual void getGroundY();
virtual void getTactMusic() const;
virtual void getTactTimerCancel() const;
virtual void checkPlayerGuard() const;
virtual void getGrabMissActor();
virtual void checkPlayerFly() const;
virtual void checkFrontRoll() const;
virtual void checkBottleSwing() const;
virtual void checkCutCharge() const;
virtual void getBokoFlamePos(cXyz*);
virtual void checkTactWait() const;
virtual void setTactZev(u32, int, char*);
virtual void onDekuSpReturnFlg(u8);
virtual void checkComboCutTurn() const;
virtual void getBaseAnimeFrameRate();
virtual void getBaseAnimeFrame();
virtual void getItemID() const;
virtual void getThrowBoomerangID() const;
virtual void getGrabActorID() const;
virtual void checkGrabBarrel();
virtual void checkPlayerNoDraw();
virtual void checkRopeTag();
virtual void checkRopeReadyAnime() const;
virtual void voiceStart(u32);
virtual void setOutPower(f32, s16, int);
virtual void onFrollCrashFlg(u32);
virtual void getModelJointMtx(u16);
virtual void getOldSpeedY();
virtual void setHookshotCarryOffset(u32, cXyz const*);
virtual void setPlayerPosAndAngle(cXyz*, s16);
virtual void setPlayerPosAndAngle(cXyz*, csXyz*);
virtual void setPlayerPosAndAngle(f32*[][][][]);
virtual void setThrowDamage(cXyz*, s16, f32, f32, int);
virtual void changeTextureAnime(u16, u16, int);
virtual void cancelChangeTextureAnime();
void getSwordTopPos() const;
void getLeftHandPos() const;
void getRopeJumpLand() const;
void checkRopeForceEnd() const;
void getHeadTopPos() const;
void changePlayer(fopAc_ac_c*);
void objWindHitCheck(dCcD_Cyl*);
void setDoButtonQuake();
void stopDoButtonQuake(int);
void getRopePos() const;
};
class daPy_anmHeap_c {
public:
/* 0x0 */ u16 mIdx;
/* 0x2 */ u16 field_0x2;
/* 0x4 */ u32 field_0x4;
/* 0x8 */ u8* mBuffer;
/* 0xC */ JKRSolidHeap* mAnimeHeap;
};
class daPy_sightPacket_c : public dDlst_base_c {
public:
daPy_sightPacket_c() {}
virtual void draw();
virtual ~daPy_sightPacket_c();
void setSight();
void setSightImage(ResTIMG*);
bool getDrawFlg() { return mDrawFlag; }
void onDrawFlg() { mDrawFlag = true; }
void offDrawFlg() { mDrawFlag = false; }
void setPos(const cXyz* i_pos) { mPos = *i_pos; }
private:
/* 0x04 */ bool mDrawFlag;
/* 0x05 */ u8 field_0x5[3];
/* 0x08 */ cXyz mPos;
/* 0x14 */ Mtx field_0x14;
/* 0x44 */ ResTIMG* mpImg;
/* 0x48 */ u8* mpData;
/* 0x4C */ void* field_0x4c;
};
class daPy_actorKeep_c {
public:
daPy_actorKeep_c() { clearData(); }
void setActor();
void setData(fopAc_ac_c*);
void clearData();
u32 getID() const { return mID; }
void setID(u32 id) { mID = id; }
fopAc_ac_c* getActor() const { return mActor; }
fopAc_ac_c* getActorConst() const { return mActor; }
private:
/* 0x0 */ u32 mID;
/* 0x4 */ fopAc_ac_c* mActor;
}; // Size: 0x8
class daPy_footEffect_c {
public:
/* 0x0 */ u8 field_0x0[0x4C];
};
class daPy_swimTailEcallBack_c {
public:
/* 0x0 */ u8 field_0x0[0x28];
};
class daPy_mtxFollowEcallBack_c {
public:
/* 0x0 */ u8 field_0x0[0xC];
};
class dPa_smokeEcallBack {
public:
/* 0x0 */ u8 field_0x0[0x20];
};
class dPa_cutTurnEcallBack_c {
public:
/* 0x0 */ u8 field_0x0[0x10];
};
class daPy_waterDropEcallBack_c {
public:
/* 0x0 */ u8 field_0x0[0x20];
};
class daPy_followEcallBack_c {
public:
/* 0x0 */ u8 field_0x0[0x1C];
};
class daPy_dmEcallBack_c {
public:
/* 0x0 */ u8 field_0x0[0xC];
};
class daPy_mtxPosFollowEcallBack_c {
public:
/* 0x0 */ u8 field_0x0[0x10];
};
class daPy_swBlur_c : public J3DPacket {
public:
/* 0x010 */ u8 field_0x010[0x014 - 0x010];
/* 0x014 */ int field_0x014;
/* 0x018 */ int field_0x018;
/* 0x01C */ int mBlurColorType;
/* 0x020 */ f32 field_0x020;
/* 0x024 */ void* mpBlurPos;
/* 0x028 */ cXyz field_0x028;
/* 0x034 */ cXyz field_0x034[60];
/* 0x304 */ cXyz field_0x304[60];
};
class daPy_footData_c {
public:
/* 0x0 */ u8 field_0x0[0x118];
};
struct MagicArmorAuraEntry {
J3DModel* mpYaura00Model;
f32 field_0x4;
};
class daPy_anmIndex_c;
class dBgW {
public:
enum PushPullLabel {};
};
class daPy_lk_c : public daPy_py_c {
public:
enum HEAP_TYPE {};
enum daPy_ANM {};
enum daPy_UPPER {};
void getBoomerangCatchPos() const;
void getLineTopPos();
void getHookshotRootPos() const;
void getModelJointMtx(u16);
void seStartOnlyReverb(u32);
void seStartMapInfo(u32);
void seStartSwordCut(u32);
void voiceStart(u32);
void itemButton() const;
void itemTrigger() const;
void getReadyItem();
void checkGroupItem(int, int);
void checkSetItemTrigger(int, int);
void auraJointCB0(int);
void jointBeforeCB(int, J3DTransformInfo*, Quaternion*);
void jointAfterCB(int, J3DTransformInfo*, Quaternion*);
void jointCB0(int);
void jointCB1();
void setAnimeHeap(JKRSolidHeap*);
void setItemHeap();
void setBlurPosResource(u16);
void getItemAnimeResource(u16);
void getAnimeResource(daPy_anmHeap_c*, u16, u32);
void getUnderUpperAnime(daPy_anmIndex_c const*, J3DAnmTransform**, J3DAnmTransform**, int, u32);
void setTextureAnimeResource(J3DAnmTexPattern*, int);
void loadTextureAnimeResource(u32, int);
void checkBossBgm();
void checkMabaAnimeBtp(int);
void checkNormalFace();
void setTextureAnime(u16, int);
void setPriTextureAnime(u16, int);
void resetPriTextureAnime();
void setDemoTextureAnime(u16, u16, int, u16);
void resetDemoTextureAnime();
void setTextureScrollResource(J3DAnmTextureSRTKey*, int);
void loadTextureScrollResource(u32, int);
void playTextureAnime();
void checkPlayerGuard() const;
void setOutPower(f32, s16, int);
void checkSightLine(f32, cXyz*);
void setBootsModel(J3DModel**);
void setItemModel();
void checkUpperReadyAnime() const;
void checkUpperReadyThrowAnime() const;
void checkNoCollisionCorret();
void setDrawHandModel();
void entryDLSetLight(J3DModel*, u32);
void updateDLSetLight(J3DModel*, u32);
void hideHatAndBackle(J3DMaterial*);
void drawMirrorLightModel();
void drawShadow();
void offBodyEffect();
void onBodyEffect();
void draw();
void setAtnList();
void setActorPointer();
void setTalkStatus();
void setHintActor();
void setDoStatusBasic();
void setDoStatus();
void getDirectionFromAngle(s16);
void getDirectionFromShapeAngle();
void getDirectionFromCurrentAngle();
void setNormalSpeedF(f32, f32, f32, f32);
void posMoveFromFootPos();
void posMove();
void setShapeAngleToAtnActor();
void cancelItemUpperReadyAnime();
void checkBodyAngleX(s16);
void setBodyAngleToCamera();
void setBodyAngleXReadyAnime();
void setSpeedAndAngleNormal(s16);
void setSpeedAndAngleAtn();
void setSpeedAndAngleAtnBack();
void setSpeedAndAngleAtnActor();
void setFrameCtrl(J3DFrameCtrl*, u8, s16, s16, f32, f32);
void checkAtnWaitAnime();
void setBlendMoveAnime(f32);
void setBlendAtnBackMoveAnime(f32);
void setBlendAtnMoveAnime(f32);
void setAnimeEquipSword(int);
void setAnimeEquipSingleItem(u16);
void setAnimeEquipItem();
void setAnimeUnequipSword();
void setAnimeUnequipItem(u16);
void setAnimeUnequip();
void checkBossGomaStage();
void checkSingleItemEquipAnime() const;
void checkItemEquipAnime() const;
void checkEquipAnime() const;
void deleteEquipItem(int);
void setFallVoice();
void keepItemData();
void returnKeepItemData();
void makeItemType();
void setScopeModel();
void setPhotoBoxModel();
void changeDragonShield(int);
void checkNewItemChange(u8);
void checkItemChangeFromButton();
void checkItemAction();
void getSlidePolygon();
void checkJumpCutFromButton();
void orderTalk();
void checkNextActionFromButton();
void setShieldGuard();
void checkItemModeActorPointer();
void checkNextActionItemFly();
void checkNextMode(int);
void checkIceSlipFall();
void setFrontWallType();
void changeFrontWallTypeProc();
void changeSlideProc();
void changeWaitProc();
void changeLandProc(f32);
void setDamagePoint(f32);
void checkNormalDamage(int);
void setDashDamage();
void checkAtHitEnemy(dCcD_GObjInf*);
void checkElecReturnDamage(dCcD_GObjInf*, cXyz*);
void checkWallAtributeDamage(dBgS_AcchCir*);
void changeDamageProc();
void changeAutoJumpProc();
void changeDemoProc();
void changeDeadProc();
void getDamageVec(dCcD_GObjInf*);
void setOldRootQuaternion(s16, s16, s16);
void checkRestHPAnime();
void checkHeavyStateOn();
void checkBottleItem(int) const;
void checkDrinkBottleItem(int) const;
void checkOpenBottleItem(int) const;
void checkBowItem(int) const;
void checkPhotoBoxItem(int) const;
void checkScopeEnd();
void setSubjectMode();
void checkMaskDraw();
void checkSubjectEnd(int);
void checkGuardAccept();
void cancelNoDamageMode();
void commonProcInit();
void procScope_init(int);
void procScope();
void procSubjectivity_init(int);
void procSubjectivity();
void procCall_init();
void procCall();
void procControllWait_init();
void procControllWait();
void procWait_init();
void procWait();
void procFreeWait_init();
void procFreeWait();
void procMove_init();
void procMove();
void procAtnMove_init();
void procAtnMove();
void procAtnActorWait_init();
void procAtnActorWait();
void procAtnActorMove_init();
void procAtnActorMove();
void procSideStep_init(int);
void procSideStep();
void procSideStepLand_init();
void procSideStepLand();
void procCrouchDefense_init();
void procCrouchDefense();
void procCrouchDefenseSlip_init();
void procCrouchDefenseSlip();
void procCrouch_init();
void procCrouch();
void procWaitTurn_init();
void procWaitTurn();
void procMoveTurn_init(int);
void procMoveTurn();
void procSlip_init();
void procSlip();
void procSlideFront_init(s16);
void procSlideFront();
void procSlideBack_init(s16);
void procSlideBack();
void procSlideFrontLand_init();
void procSlideFrontLand();
void procSlideBackLand_init();
void procSlideBackLand();
void procFrontRoll_init(f32);
void procFrontRoll();
void procFrontRollCrash_init();
void procFrontRollCrash();
void procNockBackEnd_init();
void procNockBackEnd();
void procSideRoll_init();
void procSideRoll();
void procBackJump_init();
void procBackJump();
void procBackJumpLand_init();
void procBackJumpLand();
void checkAutoJumpFlying() const;
void procAutoJump_init();
void procAutoJump();
void procLand_init(f32, int);
void procLand();
void procLandDamage_init(int);
void procLandDamage();
void procFall_init(int, f32);
void procFall();
void procSlowFall_init();
void procSlowFall();
void procSmallJump_init(int);
void procSmallJump();
void procVerticalJump_init();
void procVerticalJump();
void procGuardCrash();
void procDamage_init();
void procDamage();
void procPolyDamage_init();
void procPolyDamage();
void procLargeDamage_init(int, int, s16, s16);
void procLargeDamage();
void procLargeDamageUp_init(int, int, s16, s16);
void procLargeDamageUp();
void procLargeDamageWall_init(int, int, s16, s16);
void procLargeDamageWall();
void procLavaDamage_init();
void procLavaDamage();
void procElecDamage_init(cXyz const*);
void procElecDamage();
void procGuardSlip_init();
void procGuardSlip();
void procIceSlipFall_init();
void procIceSlipFall();
void procIceSlipFallUp_init(int, s16, s16);
void procIceSlipFallUp();
void procIceSlipAlmostFall_init();
void procIceSlipAlmostFall();
void procBootsEquip_init(u16);
void procBootsEquip();
void procNotUse_init(int);
void procNotUse();
void getGroundAngle(cBgS_PolyInfo*, s16);
void setLegAngle(f32, int, s16*, s16*);
void footBgCheck();
void setWaterY();
void autoGroundHit();
void checkAttentionPosAngle(fopAc_ac_c*, cXyz**);
void setNeckAngle();
void checkOriginalHatAnimation();
void setHatAngle();
void setMoveSlantAngle();
void setWaistAngle();
void setWorldMatrix();
void setAtParam(u32, int, dCcG_At_Spl, u8, u8, u8, f32);
void resetCurse();
void checkLightHit();
void setSwordAtCollision();
void getBlurTopRate();
void setCollision();
void setAttentionPos();
void setRoomInfo();
void setDemoData();
void setStickData();
void setBgCheckParam();
void setParamData(int, int, int, int);
void checkLavaFace(cXyz*, int);
void checkFallCode();
void startRestartRoom(u32, int, f32, int);
void checkSuccessGuard(int);
void setShapeAngleOnGround();
void setStepsOffset();
void setBeltConveyerPower();
void setWindAtPower();
void checkRoofRestart();
void execute();
void playerDelete();
void initTextureAnime();
void initTextureScroll();
void createHeap();
void createAnimeHeap(JKRSolidHeap**, daPy_lk_c::HEAP_TYPE);
void initModel(J3DModel**, int, u32);
void entryBtk(J3DModelData*, int);
void entryBrk(J3DModelData*, int);
void playerInit();
daPy_lk_c();
void makeBgWait();
void setSeAnime(daPy_anmHeap_c const*, J3DFrameCtrl*);
void initSeAnime();
void resetSeAnime();
void setMoveAnime(f32, f32, f32, daPy_lk_c::daPy_ANM, daPy_lk_c::daPy_ANM, int, f32);
void setSingleMoveAnime();
void setActAnimeUpper(u16, daPy_lk_c::daPy_UPPER, f32, f32, s16, f32);
void resetActAnimeUpper();
void animeUpdate();
void simpleAnmPlay(J3DAnmBase*);
void setHandModel();
void getAnmData();
void checkGrabWeapon(int);
void onDekuSpReturnFlg(u8);
void changeTextureAnime(u16, u16, int);
void setThrowDamage(cXyz*, s16, f32, f32, int);
void setPlayerPosAndAngle(cXyz*, s16);
void setPlayerPosAndAngle(cXyz*, csXyz*);
void setPlayerPosAndAngle(f32*[][][][]);
void endDemoMode();
void getBokoFlamePos(cXyz*);
void setAuraEffect();
void setWaterRipple();
void setFootEffectType(int, cXyz*, int, int);
void setFootMark(cXyz*);
void setFootEffect();
void resetFootEffect();
void setSwimTail();
void setCutWaterSplash();
void setSwimWaterDrop(daPy_waterDropEcallBack_c*);
void setWaterDrop();
void setDamageFlameEmitter();
void setDamageCurseEmitter();
void setDamageElecEmitter();
void setDamageEmitter();
void endFlameDamageEmitter();
void endDamageEmitter();
void setItemWaterEffect(fopAc_ac_c*, int, int);
void getDemoLookActor();
void setTinkleCeiverModel();
void setTalismanModel();
void setLetterModel();
void checkCaughtShapeHide();
void setShapeAngleToTalkActor();
void checkEndMessage(u32);
void setTalkStartBack();
void dProcTool_init();
void dProcTool();
void dProcTalk_init();
void dProcTalk();
void dProcDamage_init();
void dProcDamage();
void dProcHoldup_init();
void dProcHoldup();
void dProcOpenTreasure_init();
void dProcOpenTreasure();
void setGetItemSound(u16, int);
void setGetDemo();
void dProcGetItem_init();
void dProcGetItem();
void dProcUnequip_init();
void dProcUnequip();
void dProcLavaDamage_init_sub();
void dProcLavaDamage_init();
void dProcLavaDamage();
void dProcFreezeDamage_init_sub(int);
void dProcFreezeDamage_init();
void dProcFreezeDamage();
void dProcDead_init_sub();
void dProcDead_init_sub2();
void checkGameOverStart();
void dProcDead_init();
void dProcDead();
void dProcLookAround_init();
void dProcLookAround();
void dProcSalute_init();
void dProcSalute();
void dProcLookAround2_init();
void dProcLookAround2();
void dProcTalismanPickup_init();
void dProcTalismanPickup();
void dProcTalismanWait_init();
void dProcTalismanWait();
void dProcSurprised_init();
void dProcSurprised();
void dProcTurnBack_init();
void dProcTurnBack();
void dProcLookUp_init();
void dProcLookUp();
void dProcQuakeWait_init();
void dProcQuakeWait();
void dProcDance_init();
void dProcDance();
void dProcCaught_init();
void dProcCaught();
void dProcLookWait_init();
void dProcLookWait();
void dProcPushPullWait_init();
void dProcPushPullWait();
void dProcPushMove_init();
void dProcPushMove();
void dProcDoorOpen_init();
void dProcDoorOpen();
void dProcNod_init();
void dProcNod();
void dProcPresent_init_sub();
void dProcPresent_init();
void dProcPresent();
void dProcWindChange_init();
void dProcWindChange();
void dProcStandItemPut_init();
void dProcStandItemPut();
void dProcVorcanoFail_init();
void dProcVorcanoFail();
void dProcSlightSurprised_init();
void dProcSlightSurprised();
void dProcSmile_init();
void dProcSmile();
void dProcBossWarp_init();
void dProcBossWarp();
void dProcAgbUse_init();
void dProcAgbUse();
void dProcLookTurn_init();
void dProcLookTurn();
void dProcLetterOpen_init();
void dProcLetterOpen();
void dProcLetterRead_init();
void dProcLetterRead();
void dProcRedeadStop_init();
void dProcRedeadStop();
void dProcRedeadCatch_init();
void dProcRedeadCatch();
void dProcGetDance_init();
void dProcGetDance();
void dProcBottleOpenFairy_init();
void dProcBottleOpenFairy();
void dProcWarpShort_init();
void dProcWarpShort();
void dProcOpenSalvageTreasure_init();
void dProcOpenSalvageTreasure();
void dProcSurprisedWait_init();
void dProcSurprisedWait();
void dProcPowerUpWait_init();
void dProcPowerUp_init();
void dProcPowerUp();
void dProcShipSit_init();
void dProcShipSit();
void dProcLastCombo_init();
void dProcLastCombo();
void dProcHandUp_init();
void dProcHandUp();
void dProcIceSlip_init();
void dProcIceSlip();
void getLadderMoveAnmSpeed();
void setLadderFootSe();
void changeLadderMoveProc(int);
void setMoveBGLadderCorrect();
void procLadderUpStart_init_sub();
void procLadderUpStart_init();
void procLadderUpStart();
void procLadderUpEnd_init(int);
void procLadderUpEnd();
void procLadderDownStart_init_sub();
void procLadderDownStart_init();
void procLadderDownStart();
void procLadderDownEnd_init(int);
void procLadderDownEnd();
void procLadderMove_init(int, int, cXyz*);
void procLadderMove();
void getHangMoveAnmSpeed();
void getHangDirectionFromAngle();
void changeHangMoveProc(int);
void changeHangEndProc(int);
void setHangShapeOffset();
void procHangStart_init();
void procHangStart();
void procHangFallStart_init(cM3dGPla*);
void procHangFallStart();
void procHangUp_init(int);
void procHangUp();
void procHangWait_init();
void procHangWait();
void procHangMove_init(int);
void procHangMove();
void procHangClimb_init(f32);
void procHangClimb();
void procHangWallCatch_init();
void procHangWallCatch();
void getClimbMoveAnmSpeed();
void setClimbShapeOffset();
void getClimbDirectionFromAngle();
void changeClimbMoveProc(int);
void setMoveBGCorrectClimb();
void checkBgCorrectClimbMove(cXyz*, cXyz*);
void checkBgClimbMove();
void procClimbUpStart_init_sub();
void procClimbUpStart_init();
void procClimbUpStart();
void procClimbDownStart_init(s16);
void procClimbDownStart();
void procClimbMoveUpDown_init(int);
void procClimbMoveUpDown();
void procClimbMoveSide_init(int);
void procClimbMoveSide();
void setBlendWHideMoveAnime(f32);
void getWHideModePolygon(cXyz*, cXyz*, cXyz*, int);
void getWHideBasePos(cXyz*);
void getWHideNextPos(cXyz*, cXyz*);
void checkWHideBackWall(cXyz*);
void checkWHideFrontFloor(cXyz*);
void checkWHideModeChange(cXyz*);
void changeWHideEndProc(cXyz*);
void procWHideReady_init(cM3dGPla*, cXyz*);
void procWHideReady();
void procWHideWait_init();
void procWHideWait();
void procWHideMove_init();
void procWHideMove();
void procWHidePeep_init();
void procWHidePeep();
void getCrawlMoveAnmSpeed();
void getCrawlMoveSpeed();
void setCrawlMoveDirectionArrow();
void changeCrawlAutoMoveProc(cXyz*);
void getCrawlMoveVec(cXyz*, cXyz*, cXyz*);
void crawlBgCheck(cXyz*, cXyz*);
void checkCrawlSideWall(cXyz*, cXyz*, cXyz*, cXyz*, s16*, s16*);
void setDoStatusCrawl();
void procCrawlStart_init();
void procCrawlStart();
void checkNotCrawlStand(cXyz*);
void checkNotCrawlStand(cXyz*, cXyz*);
void procCrawlMove_init(s16, s16);
void procCrawlMove();
void procCrawlAutoMove_init(int, cXyz*);
void procCrawlAutoMove();
void procCrawlEnd_init(int, s16, s16);
void procCrawlEnd();
void checkGrabSpecialHeavyState();
void getGrabMissActor();
void setWeaponBlur();
void checkGrabBarrelSearch(int);
void setGrabItemPos();
void freeGrabItem();
void checkNextActionGrab();
void initGrabNextMode();
void procGrabReady_init();
void procGrabReady();
void procGrabUp_init();
void procGrabUp();
void procGrabMiss_init();
void procGrabMiss();
void procGrabThrow_init(int);
void procGrabThrow();
void procGrabPut_init();
void procGrabPut();
void procGrabWait_init();
void procGrabWait();
void procGrabHeavyWait_init();
void procGrabHeavyWait();
void procGrabRebound_init();
void procGrabRebound();
void setSpeedAndAngleSwim();
void checkNextModeSwim();
void changeSwimProc();
void changeSwimUpProc();
void swimOutAfter(int);
void checkSwimFallCheck();
void changeSwimOutProc();
void setSwimMoveAnime();
void getSwimTimerRate();
void setSwimTimerStartStop();
void procSwimUp_init(int);
void procSwimUp();
void procSwimWait_init(int);
void procSwimWait();
void procSwimMove_init(int);
void procSwimMove();
void setSpecialBattle(int);
void changeSpecialBattle();
void procBtJump_init(fopEn_enemy_c*);
void procBtJump();
void procBtJumpCut_init(cXyz*);
void procBtJumpCut();
void procBtSlide();
void procBtRoll_init(fopEn_enemy_c*);
void procBtRoll();
void procBtRollCut_init(cXyz*);
void procBtRollCut();
void procBtVerticalJump_init(fopEn_enemy_c*);
void procBtVerticalJump();
void procBtVerticalJumpCut_init();
void procBtVerticalJumpCut();
void procBtVerticalJumpLand_init();
void procBtVerticalJumpLand();
void shipSpecialDemoStart();
void checkJumpRideShip();
void checkShipNotNormalMode();
void setShipRideArmAngle(int, J3DTransformInfo*);
void checkShipRideUseItem(int);
void initShipRideUseItem(int, int);
void setShipRidePosUseItem();
void setShipRidePos(int);
void setShipAttentionAnmSpeed(f32);
void setShipAttnetionBodyAngle();
void changeShipEndProc();
void initShipBaseAnime();
void initShipCraneAnime();
void procShipReady_init();
void procShipReady();
void procShipJumpRide_init();
void procShipJumpRide();
void procShipSteer_init();
void procShipSteer();
void procShipPaddle_init();
void procShipPaddle();
void procShipScope_init(int);
void procShipScope();
void procShipBoomerang_init();
void procShipBoomerang();
void procShipHookshot_init();
void procShipHookshot();
void procShipBow_init();
void procShipBow();
void procShipCannon_init();
void procShipCannon();
void procShipCrane_init();
void procShipCrane();
void procShipGetOff_init();
void procShipGetOff();
void procShipRestart_init();
void procShipRestart();
void checkRopeAnime() const;
void freeRopeItem();
void checkRopeRoofHit(s16);
void changeRopeSwingProc();
void changeRopeEndProc(int);
void checkSpecialRope();
void changeRopeToHangProc();
void checkRopeSwingWall(cXyz*, cXyz*, s16*, f32*);
void setBlendRopeMoveAnime(int);
void throwRope();
void checkNextActionRopeReady();
void checkNextRopeMode();
void checkHangRopeActorNull();
void procRopeSubject_init();
void procRopeSubject();
void procRopeReady_init();
void procRopeReady();
void procRopeSwing_init(fopAc_ac_c*, s16);
void procRopeSwing();
void procRopeHangWait_init(int);
void procRopeHangWait();
void specialRopeHangUp();
void procRopeUp_init();
void procRopeUp();
void procRopeDown_init();
void procRopeDown();
void procRopeSwingStart_init();
void procRopeSwingStart();
void procRopeMove_init();
void procRopeMove();
void procRopeThrowCatch_init();
void procRopeThrowCatch();
void procRopeUpHang_init();
void procRopeUpHang();
void checkRopeReadyAnime() const;
void checkRopeTag();
void checkPlayerNoDraw();
void getGroundY();
void getLeftHandMatrix();
void getRightHandMatrix();
void checkPlayerFly() const;
void checkFrontRoll() const;
void checkBottleSwing() const;
void checkCutCharge() const;
void checkTactWait() const;
void getBaseAnimeFrameRate();
void getBaseAnimeFrame();
void getItemID() const;
void getThrowBoomerangID() const;
void getGrabActorID() const;
void checkGrabBarrel();
void onFrollCrashFlg(u32);
void getOldSpeedY();
void checkComboCutTurn() const;
void cancelChangeTextureAnime();
void checkBoomerangAnime() const;
void throwBoomerang();
void returnBoomerang();
void checkNextActionBoomerangReady();
void checkNextActionBoomerangFly();
void checkNextBoomerangMode();
void changeBoomerangCatchProc();
void procBoomerangSubject_init();
void procBoomerangSubject();
void procBoomerangMove_init();
void procBoomerangMove();
void procBoomerangCatch_init();
void procBoomerangCatch();
void bowJointCB(int);
void bowButton() const;
void checkBowReadyAnime() const;
void checkBowAnime() const;
void makeArrow();
void deleteArrow();
void setBowReadyAnime();
void setBowReloadAnime();
void checkNextActionBowReady();
void checkNextActionBowFly();
void checkNextBowMode();
void setBowModel();
void procBowSubject_init();
void procBowSubject();
void procBowMove_init();
void procBowMove();
void checkHookshotReturn();
void setHookshotCarryOffset(u32, cXyz const*);
void setHookshotModel();
void setHookshotSight();
void freeHookshotItem();
void checkNextActionHookshotReady();
void checkNextHookshotMode();
void procHookshotSubject_init();
void procHookshotSubject();
void procHookshotMove_init();
void procHookshotMove();
void procHookshotFly_init();
void procHookshotFly();
void fanWindEffectDraw();
void fanWindCrashEffectDraw();
void fanJointCB(int);
void parachuteJointCB(int);
void setShapeFanLeaf();
void checkFanGlideProc(int);
void setFanModel();
void setSmallFanModel();
void setParachuteFanModel(f32);
void procFanSwing_init();
void procFanSwing();
void procFanGlide_init(int);
void procFanGlide();
void getDayNightParamData();
void setTactModel();
void checkNpcStatus();
void getTactPlayRightArmAnm(s32);
void getTactPlayLeftArmAnm(s32);
void checkEndTactMusic() const;
void getTactMetronomeRate();
void checkTactLastInput();
void setTactZev(u32, int, char*);
void getTactTopPos(cXyz*);
void getTactNormalWait() const;
void getTactMusic() const;
void getTactTimerCancel() const;
void checkTactPlayMelody();
void resetTactCount();
void procTactWait_init(int);
void procTactWait();
void procTactPlay_init(s32, int, int);
void procTactPlay();
void procTactPlayEnd_init(int);
void procTactPlayEnd();
void procTactPlayOriginal_init();
void procTactPlayOriginal();
void checkJumpFlower();
void procVomitReady_init(s16, f32);
void procVomitReady();
void procVomitWait_init();
void procVomitWait();
void procVomitJump_init(int);
void procVomitJump();
void procVomitLand_init();
void procVomitLand();
void setHammerModel();
void setHammerQuake(cBgS_PolyInfo*, cXyz const*, int);
void setHammerWaterSplash();
void procHammerSideSwing_init();
void procHammerSideSwing();
void procHammerFrontSwingReady_init();
void procHammerFrontSwingReady();
void procHammerFrontSwing_init();
void procHammerFrontSwing();
void procHammerFrontSwingEnd_init();
void procHammerFrontSwingEnd();
void setPushPullKeepData(dBgW::PushPullLabel);
void procPushPullWait_init(int);
void procPushPullWait();
void procPushMove_init();
void procPushMove();
void procPullMove_init();
void procPullMove();
void changeBottleDrinkFace(int);
void setBottleModel(u16);
void makeFairy(cXyz*, u32);
void procBottleDrink_init(u16);
void procBottleDrink();
void procBottleOpen_init(u16);
void procBottleOpen();
void procBottleSwing_init(int);
void procBottleSwing();
void procBottleGet_init();
void procBottleGet();
void setEnemyWeaponAtParam(int);
void procWeaponNormalSwing_init();
void procWeaponNormalSwing();
void procWeaponSideSwing_init();
void procWeaponSideSwing();
void procWeaponFrontSwingReady_init();
void procWeaponFrontSwingReady();
void procWeaponFrontSwing_init();
void procWeaponFrontSwing();
void procWeaponFrontSwingEnd_init();
void procWeaponFrontSwingEnd();
void procWeaponThrow_init();
void procWeaponThrow();
void setHyoiModel();
void procFoodThrow_init();
void procFoodThrow();
void procFoodSet_init();
void procFoodSet();
void setSwordModel(int);
void setLightSaver();
void checkDemoShieldNoDraw();
void checkDemoSwordNoDraw(int);
void checkChanceMode();
void checkCutRollChange() const;
void getSwordBlurColor();
void setNormalCutAtParam(u8);
void setFinishCutAtParam(u8);
void setExtraCutAtParam(u8);
void setExtraFinishCutAtParam(u8);
void setJumpCutAtParam();
void getCutDirection();
void changeCutProc();
void changeCutReverseProc(daPy_lk_c::daPy_ANM);
void procCutA_init(s16);
void procCutA();
void procCutF_init(s16);
void procCutF();
void procCutR_init(s16);
void procCutR();
void procCutL_init(s16);
void procCutL();
void procCutEA_init();
void procCutEA();
void procCutEB_init();
void procCutEB();
void procCutExA_init();
void procCutExA();
void procCutExB_init();
void procCutExB();
void procCutTurn_init(int);
void procCutTurn();
void procCutRoll_init();
void procCutRoll();
void procCutRollEnd_init();
void procCutRollEnd();
void procCutTurnCharge_init();
void procCutTurnCharge();
void procCutTurnMove_init();
void procCutTurnMove();
void procCutReverse_init(daPy_lk_c::daPy_ANM);
void procCutReverse();
void procJumpCut_init(int);
void procJumpCut();
void procJumpCutLand_init();
void procJumpCutLand();
void procCutExMJ_init(int);
void procCutExMJ();
void procCutKesa_init();
void procCutKesa();
void checkNoControll() const;
/* 0x0320 */ request_of_phase_process_class mPhsLoad;
/* 0x0328 */ J3DModelData* mpModelData;
/* 0x032C */ J3DModel* mpCLModel;
/* 0x0330 */ J3DModel* mpKatsuraModel;
/* 0x0334 */ J3DModel* mpYamuModel;
/* 0x0338 */ u8 field_0x0338[0x035C - 0x0338];
/* 0x035C */ J3DAnmTexPattern* field_0x035c;
/* 0x0360 */ u8 field_0x0360[0x0364 - 0x0360];
/* 0x0364 */ J3DAnmTextureSRTKey* mpTexScrollResData;
/* 0x0368 */ J3DTexMtxAnm* mpTexMtxAnm;
/* 0x036C */ daPy_matAnm_c* mpTexEyeScroll[2];
/* 0x0374 */ J3DShape* mpZOffBlendShape[4];
/* 0x0384 */ J3DShape* mpZOffNoneShape[4];
/* 0x0394 */ J3DShape* mpZOnShape[4];
/* 0x03A4 */ J3DShape* field_0x03a4;
/* 0x03A8 */ J3DShape* field_0x03a8;
/* 0x03AC */ dBgS_AcchCir mAcchCir[3];
/* 0x046C */ dBgS_Acch mAcch;
/* 0x0630 */ dBgS_LinkLinChk mLinkLinChk;
/* 0x069C */ dBgS_RopeLinChk mRopeLinChk;
/* 0x0708 */ dBgS_BoomerangLinChk mBoomerangLinChk;
/* 0x0774 */ dBgS_LinkGndChk mGndChk;
/* 0x07C8 */ dBgS_LinkRoofChk mRoofChk;
/* 0x080C */ void* field_0x080c;
/* 0x0810 */ void* field_0x0810;
/* 0x0814 */ dBgS_ArrowLinChk mArrowLinChk;
/* 0x0880 */ dBgS_MirLightLinChk mMirLightLinChk;
/* 0x08EC */ u8 field_0x08EC[0x0910 - 0x08EC];
/* 0x0910 */ cXyz field_0x0910;
/* 0x091C */ u8 field_0x091C[0x0950 - 0x091C];
/* 0x0950 */ daPy_HIO_c* mpHIO;
/* 0x0954 */ J3DModel* mpHandsModel;
/* 0x0958 */ J3DModel* mpEquippedSwordModel;
/* 0x095C */ J3DModel* mpSwgripaModel;
/* 0x0960 */ J3DModel* mpSwgripmsModel;
/* 0x0964 */ mDoExt_bckAnm mSwgripmsabBckAnim;
/* 0x0974 */ J3DAnmTevRegKey* mpTswgripmsabBrkData;
/* 0x0978 */ J3DAnmTextureSRTKey* mpTswgripmsBtkData;
/* 0x097C */ J3DModel* mpPodmsModel;
/* 0x0980 */ J3DModel* mpEquippedShieldModel;
/* 0x0984 */ J3DModel* mpShaModel;
/* 0x0988 */ J3DModel* mpShmsModel;
/* 0x098C */ mDoExt_bckAnm field_0x098c;
/* 0x099C */ J3DAnmTextureSRTKey* field_0x099c;
/* 0x09A0 */ dDlst_mirrorPacket mMirrorPacket;
/* 0x2E7C */ J3DModel* mpYmsls00Model;
/* 0x2E80 */ J3DAnmTextureSRTKey* mpYmsls00BtkData;
/* 0x2E84 */ J3DModel* mpHbootsModelRightFoot;
/* 0x2E88 */ J3DModel* mpHbootsModelLeftFoot;
/* 0x2E8C */ J3DModel* mpPringModel;
/* 0x2E90 */ JKRSolidHeap* field_0x2e90;
/* 0x2E94 */ u8 field_0x2E94[0x2E98 - 0x2E94];
/* 0x2E98 */ J3DModel* mpHeldItemModel;
/* 0x2E9C */ mDoExt_bckAnm mSwordAnim;
/* 0x2EAC */ u8 field_0x2EAC[0x2EB0 - 0x2EAC];
/* 0x2EB0 */ J3DAnmTevRegKey* field_0x2eb0;
/* 0x2EB4 */ J3DAnmTevRegKey* mpGwp00BrkData;
/* 0x2EB8 */ J3DAnmTextureSRTKey* mpGwp00BtkData;
/* 0x2EBC */ u8 field_0x2EBC[0x2ED4 - 0x2EBC];
/* 0x2ED4 */ J3DAnmTextureSRTKey* mpHeldItemModelAnimTexEx;
/* 0x2ED8 */ J3DAnmTextureSRTKey* mpSwordAnimBTK;
/* 0x2EDC */ J3DAnmTevRegKey* mpHeldItemAnimBRK;
/* 0x2EE0 */ J3DModel* mpBottleContentsModel;
/* 0x2EE4 */ J3DModel* mpBottleCapModel;
/* 0x2EE8 */ J3DModel* mpSwordModel1;
/* 0x2EEC */ u8 field_0x2EEC[0x2EF0 - 0x2EEC];
/* 0x2EF0 */ J3DAnmColor* field_0x2ef0;
/* 0x2EF4 */ J3DAnmTextureSRTKey* field_0x2ef4;
/* 0x2EF8 */ J3DAnmTevRegKey* field_0x2ef8;
/* 0x2EFC */ mDoExt_brkAnm field_0x2efc;
/* 0x2F14 */ J3DModel* mpSuimenMunyaModel;
/* 0x2F18 */ J3DAnmTextureSRTKey* field_0x2f18;
/* 0x2F1C */ J3DModel* mpYuchw00Model;
/* 0x2F20 */ mDoExt_bckAnm field_0x2f20;
/* 0x2F30 */ J3DAnmTextureSRTKey* field_0x2f30;
/* 0x2F34 */ J3DAnmTevRegKey* field_0x2f34;
/* 0x2F38 */ J3DModel* mpYbafo00Model;
/* 0x2F3C */ J3DAnmTextureSRTKey* field_0x2f3c;
/* 0x2F40 */ MagicArmorAuraEntry mMagicArmorAuraEntries[6];
/* 0x2F70 */ mDoExt_brkAnm field_0x2f70;
/* 0x2F88 */ u8 field_0x2F88[0x2F8C - 0x2F88];
/* 0x2F8C */ J3DModel* mpYmgcs00Model;
/* 0x2F90 */ mDoExt_brkAnm field_0x2f90;
/* 0x2FA8 */ u8 field_0x2FA8[0x2FAC - 0x2FA8];
/* 0x2FAC */ J3DMtxCalc* field_0x2fac;
/* 0x2FB0 */ J3DMtxCalc* field_0x2fb0;
/* 0x2FB4 */ mDoExt_AnmRatioPack field_0x2fb4[2];
/* 0x2FC4 */ mDoExt_AnmRatioPack field_0x2fc4[3];
/* 0x2FDC */ daPy_anmHeap_c field_0x2fdc[2];
/* 0x2FFC */ daPy_anmHeap_c field_0x2ffc[3];
/* 0x302C */ J3DFrameCtrl field_0x302c[2];
/* 0x3054 */ J3DFrameCtrl field_0x3054[3];
/* 0x3090 */ daPy_sightPacket_c mSightPacket;
/* 0x30E0 */ JAIZelAnime mJAIZelAnime;
/* 0x3178 */ u8 field_0x3178[0x317C - 0x3178];
/* 0x317C */ daPy_actorKeep_c mActorKeepEquip;
/* 0x3184 */ daPy_actorKeep_c mActorKeepThrow;
/* 0x318C */ daPy_actorKeep_c mActorKeepGrab;
/* 0x3194 */ daPy_actorKeep_c mActorKeepRope;
/* 0x319C */ fopAc_ac_c* mpAttnActorLockOn;
/* 0x31A0 */ fopAc_ac_c* mpAttnActorAction;
/* 0x31A4 */ fopAc_ac_c* mpAttnActorA;
/* 0x31A8 */ fopAc_ac_c* mpAttnActorX;
/* 0x31AC */ fopAc_ac_c* mpAttnActorY;
/* 0x31B0 */ fopAc_ac_c* mpAttnActorZ;
/* 0x31B4 */ mDoExt_MtxCalcOldFrame* field_0x31b4;
/* 0x31B8 */ s16 mTexAnimeResIdx;
/* 0x31BA */ s16 field_0x31ba;
/* 0x31BC */ s16 field_0x31bc;
/* 0x31BE */ u8 field_0x31BE[0x31C0 - 0x31BE];
/* 0x31C0 */ void* mpTextureAnimeResData;
/* 0x31C4 */ JKRSolidHeap* mpTextureAnimeResHeap;
/* 0x31C8 */ u16 mTexScrollResIdx;
/* 0x31CA */ s16 field_0x31ca;
/* 0x31CC */ s16 field_0x31cc;
/* 0x31CE */ s16 field_0x31ce;
/* 0x31D0 */ void* mpTextureScrollResData;
/* 0x31D4 */ JKRSolidHeap* mpTextureScrollResHeap;
/* 0x31D8 */ u32 mCurProc;
/* 0x31DC */ int (daPy_lk_c::*field_0x31dc)();
/* 0x31E8 */ daPy_footEffect_c field_0x31e8[2];
/* 0x3280 */ u8 field_0x3280[0x3294 - 0x3280];
/* 0x3294 */ daPy_swimTailEcallBack_c mSwimTailEcallBack[2];
/* 0x32E4 */ daPy_mtxFollowEcallBack_c field_0x32e4;
/* 0x32F0 */ daPy_mtxFollowEcallBack_c field_0x32f0;
/* 0x32FC */ dPa_smokeEcallBack mSmokeEcallBack;
/* 0x331C */ dPa_cutTurnEcallBack_c mCutTurnEcallBack[3];
/* 0x334C */ daPy_waterDropEcallBack_c mWaterDropEcallBack[2];
/* 0x338C */ daPy_followEcallBack_c field_0x338c;
/* 0x33A8 */ daPy_mtxFollowEcallBack_c field_0x33a8;
/* 0x33B4 */ u8 field_0x33B4[0x33B8 - 0x33B4];
/* 0x33B8 */ daPy_dmEcallBack_c field_0x33b8[4];
/* 0x33E8 */ u8 field_0x33E8[0x3460 - 0x33E8];
/* 0x3460 */ daPy_mtxPosFollowEcallBack_c field_0x3460[2];
/* 0x3480 */ dAttention_c* mpAttention;
/* 0x3484 */ dAttList_c* mpAttnEntryA;
/* 0x3488 */ dAttList_c* mpAttnEntryX;
/* 0x348C */ dAttList_c* mpAttnEntryY;
/* 0x3490 */ dAttList_c* mpAttnentryZ;
/* 0x3494 */ u8 field_0x3494[0x34B9 - 0x3494];
/* 0x34B9 */ u8 mFrontWallType;
/* 0x34BA */ u8 field_0x34BA[0x34BD - 0x34BA];
/* 0x34BD */ u8 mLastUsedEquipItem;
/* 0x34BE */ u8 field_0x34BE[0x34C0 - 0x34BE];
/* 0x34C0 */ u8 field_0x34c0;
/* 0x34C1 */ u8 field_0x34c1;
/* 0x34C2 */ u8 field_0x34c2;
/* 0x34C3 */ u8 field_0x34c3;
/* 0x34C4 */ u8 field_0x34c4;
/* 0x34C5 */ u8 field_0x34c5;
/* 0x34C6 */ u8 field_0x34C6[0x34C7 - 0x34C6];
/* 0x34C7 */ u8 mActivePlayerBombs;
/* 0x34C8 */ u8 mPressedButtonsBitfield;
/* 0x34C9 */ u8 field_0x34C9[0x34D0 - 0x34C9];
/* 0x34D0 */ s16 field_0x34d0;
/* 0x34D2 */ s16 field_0x34d2;
/* 0x34D4 */ s16 field_0x34d4;
/* 0x34D6 */ u16 field_0x34d6;
/* 0x34D8 */ s16 field_0x34d8;
/* 0x34DA */ s16 field_0x34da;
/* 0x34DC */ u8 field_0x34DC[0x34DE - 0x34DC];
/* 0x34DE */ s16 field_0x34de;
/* 0x34E0 */ u8 field_0x34E0[0x34E2 - 0x34E0];
/* 0x34E2 */ s16 field_0x34e2;
/* 0x34E4 */ u8 field_0x34E4[0x34E6 - 0x34E4];
/* 0x34E6 */ s16 field_0x34e6;
/* 0x34E8 */ u8 field_0x34E8[0x3522 - 0x34E8];
/* 0x3522 */ s16 field_0x3522;
/* 0x3524 */ u8 field_0x3524[0x352C - 0x3524];
/* 0x352C */ s16 field_0x352c;
/* 0x352E */ s16 field_0x352e;
/* 0x3530 */ s16 field_0x3530;
/* 0x3532 */ s16 field_0x3532;
/* 0x3534 */ u8 field_0x3534[0x3544 - 0x3534];
/* 0x3544 */ s16 field_0x3544;
/* 0x3546 */ u8 field_0x3546[0x354E - 0x3546];
/* 0x354E */ s16 field_0x354e;
/* 0x3550 */ u8 field_0x3550[0x3554 - 0x3550];
/* 0x3554 */ s16 field_0x3554;
/* 0x3556 */ u8 field_0x3556[0x355E - 0x3556];
/* 0x355E */ u16 field_0x355e;
/* 0x3560 */ u16 mHeldItemType;
/* 0x3562 */ u8 field_0x3562[0x3566 - 0x3562];
/* 0x3566 */ s16 field_0x3566;
/* 0x3568 */ s16 field_0x3568;
/* 0x356A */ u8 field_0x356A[0x356C - 0x356A];
/* 0x356C */ int mCameraInfoIdx;
/* 0x3570 */ int field_0x3570;
/* 0x3574 */ int field_0x3574;
/* 0x3578 */ u8 field_0x3578[0x3580 - 0x3578];
/* 0x3580 */ int field_0x3580;
/* 0x3584 */ int mCurrentGroundAttributeCode;
/* 0x3588 */ u8 field_0x3588[0x358C - 0x3588];
/* 0x358C */ int mStaffIdx;
/* 0x3590 */ int field_0x3590;
/* 0x3594 */ int field_0x3594;
/* 0x3598 */ u8 field_0x3598[0x35A0 - 0x3598];
/* 0x35A0 */ f32 field_0x35a0;
/* 0x35A4 */ f32 field_0x35a4;
/* 0x35A8 */ u8 field_0x35A8[0x35BC - 0x35A8];
/* 0x35BC */ f32 mVelocity;
/* 0x35C0 */ u8 field_0x35C0[0x35C8 - 0x35C0];
/* 0x35C8 */ f32 field_0x35c8;
/* 0x35CC */ u8 field_0x35CC[0x35D0 - 0x35CC];
/* 0x35D0 */ f32 field_0x35d0;
/* 0x35D4 */ u8 field_0x35D4[0x35D8 - 0x35D4];
/* 0x35D8 */ f32 field_0x35d8;
/* 0x35DC */ u8 field_0x35DC[0x35E4 - 0x35DC];
/* 0x35E4 */ f32 field_0x35e4;
/* 0x35E8 */ f32 field_0x35e8;
/* 0x35EC */ f32 field_0x35ec;
/* 0x35F0 */ u8 field_0x35F0[0x35FC - 0x35F0];
/* 0x35FC */ f32 field_0x35fc;
/* 0x3600 */ f32 field_0x3600;
/* 0x3604 */ u8 field_0x3604[0x3610 - 0x3604];
/* 0x3610 */ f32 field_0x3610;
/* 0x3614 */ int field_0x3614;
/* 0x3618 */ u32 field_0x3618;
/* 0x361C */ u8 field_0x361C[0x3624 - 0x361C];
/* 0x3624 */ int field_0x3624;
/* 0x3628 */ int field_0x3628;
/* 0x362C */ u8 field_0x362C[0x3630 - 0x362C];
/* 0x3630 */ int field_0x3630;
/* 0x3634 */ int field_0x3634;
/* 0x3638 */ u8 field_0x3638[0x3644 - 0x3638];
/* 0x3644 */ f32 field_0x3644;
/* 0x3648 */ u8 field_0x3648[0x3694 - 0x3648];
/* 0x3694 */ cXyz mOldSpeed;
/* 0x36A0 */ cXyz field_0x36a0;
/* 0x36AC */ cXyz field_0x36ac;
/* 0x36B8 */ u8 field_0x36B8[0x36C4 - 0x36B8];
/* 0x36C4 */ cXyz field_0x36c4;
/* 0x36D0 */ u8 field_0x36D0[0x3700 - 0x36D0];
/* 0x3700 */ cXyz field_0x3700;
/* 0x370C */ cXyz field_0x370c;
/* 0x3718 */ u8 field_0x3718[0x3724 - 0x3718];
/* 0x3724 */ cXyz field_0x3724;
/* 0x3730 */ u8 field_0x3730[0x3748 - 0x3730];
/* 0x3748 */ cXyz field_0x3748;
/* 0x3754 */ u8 field_0x3754[0x37E4 - 0x3754];
/* 0x37E4 */ daPy_swBlur_c mSwBlur;
/* 0x3DB8 */ daPy_footData_c mFootData[2];
/* 0x3FE8 */ dCcD_Stts field_0x3fe8;
/* 0x4024 */ dCcD_Cyl field_0x4024;
/* 0x4154 */ dCcD_Cyl field_0x4154;
/* 0x4284 */ dCcD_Cyl field_0x4284;
/* 0x43B4 */ dCcD_Cyl field_0x43b4;
/* 0x44E4 */ dCcD_Cps field_0x44e4[3];
/* 0x488C */ dCcD_Cps field_0x488c;
/* 0x49C4 */ dCcD_Sph field_0x49c4;
/* 0x4AF0 */ dCcD_Cps field_0x4af0;
};
#endif /* D_D_A_PLAYER_H */