#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 */