diff --git a/configure.py b/configure.py index 7c93cdde9..db157d892 100644 --- a/configure.py +++ b/configure.py @@ -336,6 +336,7 @@ def ActorRel(status, rel_name): Object(NonMatching, "d/d_save_init.cpp"), Object(Matching, "d/d_bg_s_movebg_actor.cpp"), + Object(NonMatching, "d/actor/d_a_player_main.cpp"), Object(NonMatching, "d/actor/d_a_itembase_static.cpp"), Object(NonMatching, "d/actor/d_a_item_static.cpp"), Object(NonMatching, "d/actor/d_a_item.cpp"), diff --git a/include/d/actor/d_a_player.h b/include/d/actor/d_a_player.h index 85019ec6d..118af2b85 100644 --- a/include/d/actor/d_a_player.h +++ b/include/d/actor/d_a_player.h @@ -1,21 +1,35 @@ -#ifndef D_D_A_PLAYER_H -#define D_D_A_PLAYER_H +#ifndef D_A_PLAYER +#define D_A_PLAYER -#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" -#include "d/d_bg_w.h" +#include "d/d_com_inf_game.h" +#include "d/d_cc_d.h" + +class daPy_matAnm_c : public J3DMaterialAnm { +public: + daPy_matAnm_c() { init(); } + + void init(); + + virtual ~daPy_matAnm_c(); + virtual void calc(J3DMaterial*) const; +}; + +class daPy_mtxFollowEcallBack_c { +public: + void execute(JPABaseEmitter*); + void end(); + void makeEmitter(unsigned short, float(*)[4], const cXyz*, const cXyz*); + void makeEmitterColor(unsigned short, float(*)[4], const cXyz*, const _GXColor*, const _GXColor*); + void setup(JPABaseEmitter*, const cXyz*, const csXyz*, signed char); -class mDoExt_MtxCalcOldFrame; -class daPy_matAnm_c; -class daPy_HIO_c; + /* 0x0 */ u8 field_0x0[0xC]; +}; + +class daPy_HIO_c { +public: +}; class daPy_demo_c { public: @@ -49,6 +63,8 @@ class daPy_demo_c { class daPy_py_c : public fopAc_ac_c { public: + enum daPy_PROC {}; + /* 0x290 */ u8 mAttackState; /* 0x291 */ u8 field_0x291; /* 0x292 */ u8 field_0x292[0x294 - 0x292]; @@ -85,7 +101,7 @@ class daPy_py_c : public fopAc_ac_c { virtual void checkCutCharge() const; virtual void getBokoFlamePos(cXyz*); virtual void checkTactWait() const; - virtual void setTactZev(u32, int, char*); + virtual void setTactZev(unsigned int, int, char*); virtual void onDekuSpReturnFlg(u8); virtual void checkComboCutTurn() const; virtual void getBaseAnimeFrameRate(); @@ -102,10 +118,10 @@ class daPy_py_c : public fopAc_ac_c { virtual void onFrollCrashFlg(u32); virtual void getModelJointMtx(u16); virtual void getOldSpeedY(); - virtual void setHookshotCarryOffset(u32, cXyz const*); + virtual void setHookshotCarryOffset(unsigned int, const cXyz*); virtual void setPlayerPosAndAngle(cXyz*, s16); virtual void setPlayerPosAndAngle(cXyz*, csXyz*); - virtual void setPlayerPosAndAngle(f32*[][][][]); + virtual void setPlayerPosAndAngle(float (*)[4]); virtual void setThrowDamage(cXyz*, s16, f32, f32, int); virtual void changeTextureAnime(u16, u16, int); virtual void cancelChangeTextureAnime(); @@ -122,1243 +138,4 @@ class daPy_py_c : public fopAc_ac_c { 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 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 */ \ No newline at end of file +#endif /* D_A_PLAYER */ diff --git a/include/d/actor/d_a_player_link.h b/include/d/actor/d_a_player_link.h new file mode 100644 index 000000000..31e586652 --- /dev/null +++ b/include/d/actor/d_a_player_link.h @@ -0,0 +1,1299 @@ +#ifndef D_A_PLAYER_LINK +#define D_A_PLAYER_LINK + +#include "JAZelAudio/JAIZelBasic.h" +#include "m_Do/m_Do_ext.h" +#include "d/d_attention.h" +#include "d/d_bg_s_acch.h" +#include "d/d_bg_s_lin_chk.h" +#include "d/d_drawlist.h" +#include "d/d_bg_w.h" +#include "d/actor/d_a_player.h" + +class mDoExt_MtxCalcOldFrame; + +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: + ~daPy_footEffect_c(); + daPy_footEffect_c(); + /* 0x0 */ u8 field_0x0[0x4C]; +}; + +class daPy_fanSwingEcallBack_c { +public: + void execute(JPABaseEmitter*); + ~daPy_fanSwingEcallBack_c(); + void setup(JPABaseEmitter*, const cXyz*, const csXyz*, signed char); +}; + +class daPy_waterDropPcallBack_c { +public: + void execute(JPABaseEmitter*, JPABaseParticle*); + ~daPy_waterDropPcallBack_c(); +}; + +class daPy_swimTailEcallBack_c { +public: + + void setup(JPABaseEmitter*, const cXyz*, const csXyz*, signed char); + void getMaxWaterY(JGeometry::TVec3*); + void remove(); + void execute(JPABaseEmitter*); + void draw(JPABaseEmitter*); + ~daPy_swimTailEcallBack_c(); + daPy_swimTailEcallBack_c(); + + /* 0x0 */ u8 field_0x0[0x28]; +}; + +class dPa_smokeEcallBack { +public: + /* 0x0 */ u8 field_0x0[0x20]; +}; + +class dPa_cutTurnEcallBack_c { +public: + /* 0x0 */ u8 field_0x0[0x10]; +}; + +class daPy_waterDropEcallBack_c { +public: + void execute(JPABaseEmitter*); + void setup(JPABaseEmitter*, const cXyz*, const csXyz*, signed char); + void end(); + ~daPy_waterDropEcallBack_c(); + + /* 0x0 */ u8 field_0x0[0x20]; +}; + +class daPy_followEcallBack_c { +public: + void execute(JPABaseEmitter*); + void setup(JPABaseEmitter*, const cXyz*, const csXyz*, signed char); + void end(); + ~daPy_followEcallBack_c(); + + /* 0x0 */ u8 field_0x0[0x1C]; +}; + +class daPy_dmEcallBack_c { +public: + void execute(JPABaseEmitter*); + ~daPy_dmEcallBack_c(); + daPy_dmEcallBack_c(); + + /* 0x0 */ u8 field_0x0[0xC]; +}; + +class daPy_mtxPosFollowEcallBack_c { +public: + void makeEmitterColor(unsigned short, float(*)[4], const cXyz*, const csXyz*, const _GXColor*, const _GXColor*); + void execute(JPABaseEmitter*); + daPy_mtxPosFollowEcallBack_c(); + ~daPy_mtxPosFollowEcallBack_c(); + + /* 0x0 */ u8 field_0x0[0x10]; +}; + +class daPy_swBlur_c : public J3DPacket { +public: + void initSwBlur(float(*)[4], int, float, int); + void copySwBlur(float(*)[4], int); + void draw(); + ~daPy_swBlur_c(); + + /* 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: + ~daPy_footData_c(); + daPy_footData_c(); + /* 0x0 */ u8 field_0x0[0x118]; +}; + +struct MagicArmorAuraEntry { + J3DModel* mpYaura00Model; + f32 field_0x4; +}; + +class daPy_anmIndex_c; + +class daPy_lk_c : public daPy_py_c { +public: + enum daPy_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(daPy_lk_c::daPy_PROC procID); + 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_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(daPy_lk_c::daPy_ANM, float, float, short, float); + void setActAnimeUpper(u16, daPy_lk_c::daPy_UPPER, f32, f32, s16, f32); + void resetActAnimeUpper(daPy_lk_c::daPy_UPPER, float); + void animeUpdate(); + void simpleAnmPlay(J3DAnmBase*); + void setHandModel(daPy_lk_c::daPy_ANM); + void getAnmData(daPy_lk_c::daPy_ANM) const; + 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(float(*)[4]); + 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(daPy_lk_c::daPy_ANM); + 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(unsigned int, const cXyz*); + 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(unsigned int, 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_A_PLAYER_LINK */ \ No newline at end of file diff --git a/src/d/actor/d_a_item.cpp b/src/d/actor/d_a_item.cpp index 43a0cd434..f2b326d6b 100644 --- a/src/d/actor/d_a_item.cpp +++ b/src/d/actor/d_a_item.cpp @@ -7,7 +7,7 @@ #include "d/d_item_data.h" #include "d/actor/d_a_itembase_static.h" #include "d/actor/d_a_item.h" -#include "d/actor/d_a_player.h" +#include "d/actor/d_a_player_link.h" #include "d/d_com_inf_game.h" #include "JSystem/JKernel/JKRHeap.h" #include "d/d_procname.h" diff --git a/src/d/actor/d_a_player.cpp b/src/d/actor/d_a_player.cpp index 2cd1d2913..20b930285 100644 --- a/src/d/actor/d_a_player.cpp +++ b/src/d/actor/d_a_player.cpp @@ -3,8 +3,8 @@ // Translation Unit: d_a_player.cpp // -#include "d_a_player.h" #include "dolphin/types.h" +#include "d/actor/d_a_player.h" /* 801028FC-80102940 .text changePlayer__9daPy_py_cFP10fopAc_ac_c */ void daPy_py_c::changePlayer(fopAc_ac_c*) { diff --git a/src/d/actor/d_a_player_main.cpp b/src/d/actor/d_a_player_main.cpp index e505965f8..a54255325 100644 --- a/src/d/actor/d_a_player_main.cpp +++ b/src/d/actor/d_a_player_main.cpp @@ -3,24 +3,16 @@ // Translation Unit: d_a_player_main.cpp // -#include "d_a_player_main.h" #include "dolphin/types.h" +#include "d/actor/d_a_player_link.h" +#include "d/d_com_inf_game.h" +#include "d/d_com_lib_game.h" /* 80102E8C-80102EAC .text daPy_createHeap__FP10fopAc_ac_c */ void daPy_createHeap(fopAc_ac_c*) { /* Nonmatching */ } -/* 80102EAC-80102F1C .text __ct__13daPy_matAnm_cFv */ -daPy_matAnm_c::daPy_matAnm_c() { - /* Nonmatching */ -} - -/* 80102F1C-80102F64 .text __dt__14J3DMaterialAnmFv */ -J3DMaterialAnm::~J3DMaterialAnm() { - /* Nonmatching */ -} - /* 80102F64-80103074 .text calc__13daPy_matAnm_cCFP11J3DMaterial */ void daPy_matAnm_c::calc(J3DMaterial*) const { /* Nonmatching */ @@ -76,6 +68,8 @@ void daPy_lk_c::auraJointCB0(int) { /* Nonmatching */ } +class J3DNode; + /* 80103450-80103494 .text daPy_auraCallback__FP7J3DNodei */ void daPy_auraCallback(J3DNode*, int) { /* Nonmatching */ @@ -752,7 +746,7 @@ void daPy_lk_c::cancelNoDamageMode() { } /* 80112348-80112954 .text commonProcInit__9daPy_lk_cFQ29daPy_lk_c9daPy_PROC */ -void daPy_lk_c::commonProcInit(daPy_lk_c::daPy_PROC) { +void daPy_lk_c::commonProcInit(daPy_lk_c::daPy_PROC procID) { /* Nonmatching */ } @@ -1446,11 +1440,6 @@ void daPy_lk_c::initTextureScroll() { /* Nonmatching */ } -/* 80123830-80123834 .text setTexMtx__14J3DTexGenBlockFUlP9J3DTexMtx */ -void J3DTexGenBlock::setTexMtx(unsigned long, J3DTexMtx*) { - /* Nonmatching */ -} - /* 80123834-8012469C .text createHeap__9daPy_lk_cFv */ void daPy_lk_c::createHeap() { /* Nonmatching */ @@ -1461,11 +1450,6 @@ void daPy_lk_c::createAnimeHeap(JKRSolidHeap**, daPy_lk_c::daPy_HEAP_TYPE) { /* Nonmatching */ } -/* 801249F8-80124A40 .text __dt__10JUTNameTabFv */ -JUTNameTab::~JUTNameTab() { - /* Nonmatching */ -} - /* 80124A40-80124B30 .text initModel__9daPy_lk_cFPP8J3DModeliUl */ void daPy_lk_c::initModel(J3DModel**, int, unsigned long) { /* Nonmatching */ @@ -1521,9 +1505,15 @@ void phase_3(daPy_lk_c*) { /* Nonmatching */ } -/* 80127B70-80127BA0 .text daPy_Create__FP10fopAc_ac_c */ -void daPy_Create(fopAc_ac_c*) { - /* Nonmatching */ +void daPy_Create(fopAc_ac_c* i_this) { + static int (*l_method[3])(void*) = { + (int (*)(void*))phase_1, + (int (*)(void*))phase_2, + (int (*)(void*))phase_3, + }; + daPy_lk_c* link = (daPy_lk_c*)i_this; + + dComLbG_PhaseHandler(&link->mPhsLoad, l_method, link); } /* 80127BA0-80127CC0 .text setSeAnime__9daPy_lk_cFPC14daPy_anmHeap_cP12J3DFrameCtrl */ @@ -3536,36 +3526,6 @@ daPy_sightPacket_c::~daPy_sightPacket_c() { /* Nonmatching */ } -/* 80147094-801470D4 .text __ct__12J3DFrameCtrlFv */ -J3DFrameCtrl::J3DFrameCtrl() { - /* Nonmatching */ -} - -/* 801470D4-80147110 .text __dt__19mDoExt_AnmRatioPackFv */ -mDoExt_AnmRatioPack::~mDoExt_AnmRatioPack() { - /* Nonmatching */ -} - -/* 80147110-80147124 .text __ct__19mDoExt_AnmRatioPackFv */ -mDoExt_AnmRatioPack::mDoExt_AnmRatioPack() { - /* Nonmatching */ -} - -/* 80147124-80147278 .text __dt__19dBgS_MirLightLinChkFv */ -dBgS_MirLightLinChk::~dBgS_MirLightLinChk() { - /* Nonmatching */ -} - -/* 80147278-8014739C .text __dt__16dBgS_LinkRoofChkFv */ -dBgS_LinkRoofChk::~dBgS_LinkRoofChk() { - /* Nonmatching */ -} - -/* 8014739C-801474DC .text __dt__15dBgS_LinkGndChkFv */ -dBgS_LinkGndChk::~dBgS_LinkGndChk() { - /* Nonmatching */ -} - /* 801474DC-801474E4 .text getGroundY__9daPy_lk_cFv */ void daPy_lk_c::getGroundY() { /* Nonmatching */ @@ -3671,51 +3631,6 @@ void daPy_fanSwingEcallBack_c::setup(JPABaseEmitter*, const cXyz*, const csXyz*, /* Nonmatching */ } -/* 80149524-8014952C .text @20@__dt__15dBgS_LinkGndChkFv */ -void @20@__dt__15dBgS_LinkGndChkFv { - /* Nonmatching */ -} - -/* 8014952C-80149534 .text @76@__dt__15dBgS_LinkGndChkFv */ -void @76@__dt__15dBgS_LinkGndChkFv { - /* Nonmatching */ -} - -/* 80149534-8014953C .text @64@__dt__15dBgS_LinkGndChkFv */ -void @64@__dt__15dBgS_LinkGndChkFv { - /* Nonmatching */ -} - -/* 8014953C-80149544 .text @16@__dt__16dBgS_LinkRoofChkFv */ -void @16@__dt__16dBgS_LinkRoofChkFv { - /* Nonmatching */ -} - -/* 80149544-8014954C .text @48@__dt__16dBgS_LinkRoofChkFv */ -void @48@__dt__16dBgS_LinkRoofChkFv { - /* Nonmatching */ -} - -/* 8014954C-80149554 .text @36@__dt__16dBgS_LinkRoofChkFv */ -void @36@__dt__16dBgS_LinkRoofChkFv { - /* Nonmatching */ -} - -/* 80149554-8014955C .text @20@__dt__19dBgS_MirLightLinChkFv */ -void @20@__dt__19dBgS_MirLightLinChkFv { - /* Nonmatching */ -} - -/* 8014955C-80149564 .text @100@__dt__19dBgS_MirLightLinChkFv */ -void @100@__dt__19dBgS_MirLightLinChkFv { - /* Nonmatching */ -} - -/* 80149564-8014956C .text @88@__dt__19dBgS_MirLightLinChkFv */ -void @88@__dt__19dBgS_MirLightLinChkFv { - /* Nonmatching */ -} - /* 8014956C-80149590 .text checkBoomerangAnime__9daPy_lk_cCFv */ void daPy_lk_c::checkBoomerangAnime() const { /* Nonmatching */ @@ -3931,11 +3846,6 @@ void daPy_lk_c::procHookshotFly() { /* Nonmatching */ } -/* 8014BA84-8014BAA0 .text getMoveVec__12daHookshot_cCFv */ -void daHookshot_c::getMoveVec() const { - /* Nonmatching */ -} - /* 8014BAA0-8014BAEC .text fanWindEffectDraw__9daPy_lk_cFv */ void daPy_lk_c::fanWindEffectDraw() { /* Nonmatching */ @@ -4660,139 +4570,3 @@ void daPy_lk_c::procCutKesa_init() { void daPy_lk_c::procCutKesa() { /* Nonmatching */ } - -/* 8015A1DC-8015A1E0 .text __ct__10daPy_HIO_cFv */ -daPy_HIO_c::daPy_HIO_c() { - /* Nonmatching */ -} - -/* 8015A1E0-8015A1E8 .text getTactMusic__9daPy_py_cCFv */ -void daPy_py_c::getTactMusic() const { - /* Nonmatching */ -} - -/* 8015A1E8-8015A1F0 .text getTactTimerCancel__9daPy_py_cCFv */ -void daPy_py_c::getTactTimerCancel() const { - /* Nonmatching */ -} - -/* 8015A1F0-8015A1F8 .text getGrabMissActor__9daPy_py_cFv */ -void daPy_py_c::getGrabMissActor() { - /* Nonmatching */ -} - -/* 8015A1F8-8015A200 .text checkFrontRoll__9daPy_py_cCFv */ -void daPy_py_c::checkFrontRoll() const { - /* Nonmatching */ -} - -/* 8015A200-8015A208 .text checkBottleSwing__9daPy_py_cCFv */ -void daPy_py_c::checkBottleSwing() const { - /* Nonmatching */ -} - -/* 8015A208-8015A210 .text checkCutCharge__9daPy_py_cCFv */ -void daPy_py_c::checkCutCharge() const { - /* Nonmatching */ -} - -/* 8015A210-8015A218 .text checkTactWait__9daPy_py_cCFv */ -void daPy_py_c::checkTactWait() const { - /* Nonmatching */ -} - -/* 8015A218-8015A21C .text setTactZev__9daPy_py_cFUiiPc */ -void daPy_py_c::setTactZev(unsigned int, int, char*) { - /* Nonmatching */ -} - -/* 8015A21C-8015A220 .text onDekuSpReturnFlg__9daPy_py_cFUc */ -void daPy_py_c::onDekuSpReturnFlg(unsigned char) { - /* Nonmatching */ -} - -/* 8015A220-8015A228 .text checkComboCutTurn__9daPy_py_cCFv */ -void daPy_py_c::checkComboCutTurn() const { - /* Nonmatching */ -} - -/* 8015A228-8015A230 .text getItemID__9daPy_py_cCFv */ -void daPy_py_c::getItemID() const { - /* Nonmatching */ -} - -/* 8015A230-8015A238 .text getThrowBoomerangID__9daPy_py_cCFv */ -void daPy_py_c::getThrowBoomerangID() const { - /* Nonmatching */ -} - -/* 8015A238-8015A240 .text checkGrabBarrel__9daPy_py_cFv */ -void daPy_py_c::checkGrabBarrel() { - /* Nonmatching */ -} - -/* 8015A240-8015A248 .text checkRopeTag__9daPy_py_cFv */ -void daPy_py_c::checkRopeTag() { - /* Nonmatching */ -} - -/* 8015A248-8015A24C .text voiceStart__9daPy_py_cFUl */ -void daPy_py_c::voiceStart(unsigned long) { - /* Nonmatching */ -} - -/* 8015A24C-8015A250 .text setOutPower__9daPy_py_cFfsi */ -void daPy_py_c::setOutPower(float, short, int) { - /* Nonmatching */ -} - -/* 8015A250-8015A258 .text getModelJointMtx__9daPy_py_cFUs */ -void daPy_py_c::getModelJointMtx(unsigned short) { - /* Nonmatching */ -} - -/* 8015A258-8015A260 .text getOldSpeedY__9daPy_py_cFv */ -void daPy_py_c::getOldSpeedY() { - /* Nonmatching */ -} - -/* 8015A260-8015A268 .text setHookshotCarryOffset__9daPy_py_cFUiPC4cXyz */ -void daPy_py_c::setHookshotCarryOffset(unsigned int, const cXyz*) { - /* Nonmatching */ -} - -/* 8015A268-8015A26C .text setPlayerPosAndAngle__9daPy_py_cFPA4_f */ -void daPy_py_c::setPlayerPosAndAngle(float(*)[4]) { - /* Nonmatching */ -} - -/* 8015A26C-8015A270 .text setPlayerPosAndAngle__9daPy_py_cFP4cXyzP5csXyz */ -void daPy_py_c::setPlayerPosAndAngle(cXyz*, csXyz*) { - /* Nonmatching */ -} - -/* 8015A270-8015A278 .text setThrowDamage__9daPy_py_cFP4cXyzsffi */ -void daPy_py_c::setThrowDamage(cXyz*, short, float, float, int) { - /* Nonmatching */ -} - -/* 8015A278-8015A27C .text changeTextureAnime__9daPy_py_cFUsUsi */ -void daPy_py_c::changeTextureAnime(unsigned short, unsigned short, int) { - /* Nonmatching */ -} - -/* 8015A27C-8015A280 .text cancelChangeTextureAnime__9daPy_py_cFv */ -void daPy_py_c::cancelChangeTextureAnime() { - /* Nonmatching */ -} - -/* 8015A280-8015A308 .text __dt__19J3DAnmTextureSRTKeyFv */ -J3DAnmTextureSRTKey::~J3DAnmTextureSRTKey() { - /* Nonmatching */ -} - -/* 8015A308-8015A37C .text __dt__16J3DAnmTexPatternFv */ -J3DAnmTexPattern::~J3DAnmTexPattern() { - /* Nonmatching */ -} - diff --git a/src/d/actor/d_a_tag_ret.cpp b/src/d/actor/d_a_tag_ret.cpp index 8e652d529..8817fb7f2 100644 --- a/src/d/actor/d_a_tag_ret.cpp +++ b/src/d/actor/d_a_tag_ret.cpp @@ -9,7 +9,7 @@ #include "d/d_cc_d.h" #include "d/d_procname.h" #include "d/d_com_inf_game.h" -#include "d/actor/d_a_player.h" +#include "d/actor/d_a_player_link.h" #include "JSystem/JKernel/JKRHeap.h" #include "dolphin/types.h" diff --git a/src/d/d_com_inf_game.cpp b/src/d/d_com_inf_game.cpp index fabe63ee3..8daaed286 100644 --- a/src/d/d_com_inf_game.cpp +++ b/src/d/d_com_inf_game.cpp @@ -7,7 +7,7 @@ #include "JSystem/JUtility/JUTAssert.h" #include "MSL_C/string.h" #include "SSystem/SComponent/c_phase.h" -#include "d/actor/d_a_player.h" +#include "d/actor/d_a_player_link.h" #include "d/d_com_lib_game.h" #include "d/d_demo.h" #include "d/d_flower.h"