From 0652b2c7b3722e40ded1a34f8846b8ae9d8fa4eb Mon Sep 17 00:00:00 2001 From: TakaRikka <38417346+TakaRikka@users.noreply.github.com> Date: Sat, 19 Oct 2024 01:54:22 -0700 Subject: [PATCH] obj_Iceleaf almost done / d_a_alink work (#2217) * obj_iceleaf almost done * fix up d_a_alink procvars * more d_a_alink work * some d_a_alink error cleanup * some more cleanup --- .clangd | 10 + .vscode/settings.json | 19 +- include/JSystem/J3DGraphAnimator/J3DJoint.h | 1 + include/JSystem/J3DGraphBase/J3DTransform.h | 27 +- include/d/actor/d_a_alink.h | 51 +- include/d/actor/d_a_obj_chandelier.h | 2 + include/d/actor/d_a_obj_iceleaf.h | 50 +- include/d/actor/d_a_player.h | 1 + include/d/d_bg_w_base.h | 7 + include/d/d_demo.h | 4 +- include/m_Do/m_Do_lib.h | 4 +- src/d/actor/d_a_alink.cpp | 3640 +------------------ src/d/actor/d_a_alink_HIO_data.inc | 9 +- src/d/actor/d_a_alink_bomb.inc | 4 +- src/d/actor/d_a_alink_boom.inc | 1 + src/d/actor/d_a_alink_bottle.inc | 31 +- src/d/actor/d_a_alink_bow.inc | 1 + src/d/actor/d_a_alink_canoe.inc | 122 +- src/d/actor/d_a_alink_copyrod.inc | 53 +- src/d/actor/d_a_alink_crawl.inc | 9 +- src/d/actor/d_a_alink_cut.inc | 199 +- src/d/actor/d_a_alink_damage.inc | 9 +- src/d/actor/d_a_alink_demo.inc | 243 +- src/d/actor/d_a_alink_effect.inc | 4 +- src/d/actor/d_a_alink_grab.inc | 17 +- src/d/actor/d_a_alink_guard.inc | 7 +- src/d/actor/d_a_alink_hang.inc | 93 +- src/d/actor/d_a_alink_hook.inc | 335 +- src/d/actor/d_a_alink_horse.inc | 52 +- src/d/actor/d_a_alink_hvyboots.inc | 3 + src/d/actor/d_a_alink_iceleaf.inc | 218 +- src/d/actor/d_a_alink_ironball.inc | 2 +- src/d/actor/d_a_alink_kandelaar.inc | 50 +- src/d/actor/d_a_alink_link.inc | 223 +- src/d/actor/d_a_alink_spinner.inc | 20 +- src/d/actor/d_a_alink_sumou.inc | 67 +- src/d/actor/d_a_alink_swim.inc | 38 +- src/d/actor/d_a_alink_swindow.inc | 3 +- src/d/actor/d_a_alink_whistle.inc | 37 +- src/d/actor/d_a_alink_wolf.inc | 409 +-- src/d/actor/d_a_e_arrow.cpp | 3 +- src/d/actor/d_a_obj_iceleaf.cpp | 837 ++--- src/d/d_com_inf_game.cpp | 1 + src/d/d_demo.cpp | 8 +- src/d/d_menu_collect.cpp | 1 + src/d/d_menu_ring.cpp | 3 +- src/d/d_meter2_draw.cpp | 3 +- src/d/d_msg_flow.cpp | 3 +- src/d/d_msg_scrn_howl.cpp | 3 +- 49 files changed, 1746 insertions(+), 5191 deletions(-) diff --git a/.clangd b/.clangd index 3fcffed06bc..0448e22610b 100644 --- a/.clangd +++ b/.clangd @@ -1,2 +1,12 @@ CompileFlags: Add: [-Wno-c++11-compat-deprecated-writable-strings, -Wno-extern-initializer] +--- +If: + PathMatch: .*/*.inc +Diagnostics: + Suppress: + - "undeclared_var_use" + - "undeclared_var_use_suggest" + - "bound_member_function" + - "typecheck_subscript_value" + - "unknown_typename" diff --git a/.vscode/settings.json b/.vscode/settings.json index 0428af30445..aa49e1702fe 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -11,13 +11,26 @@ "editor.defaultFormatter": "ms-python.black-formatter" }, "editor.tabSize": 4, - "files.autoSave": "onFocusChange", + // "files.autoSave": "onFocusChange", "files.insertFinalNewline": true, "files.trimFinalNewlines": true, "files.associations": { - "*.inc": "c", - ".clangd": "yaml" + "*.inc": "cpp", + ".clangd": "yaml", }, // Disable C/C++ IntelliSense, use clangd instead "C_Cpp.intelliSenseEngine": "disabled", + "search.useIgnoreFiles": false, + "search.exclude": { + "build/*/config.json": true, + "build/**/*.MAP": true, + "build.ninja": true, + ".ninja_*": true, + "objdiff.json": true, + ".cache/**": true, + }, + "clangd.arguments": [ + "--function-arg-placeholders=0", + "-header-insertion=never", + ], } diff --git a/include/JSystem/J3DGraphAnimator/J3DJoint.h b/include/JSystem/J3DGraphAnimator/J3DJoint.h index 9c789733ff4..8ae6fbe944a 100644 --- a/include/JSystem/J3DGraphAnimator/J3DJoint.h +++ b/include/JSystem/J3DGraphAnimator/J3DJoint.h @@ -55,6 +55,7 @@ class J3DJoint { void setYounger(J3DJoint* pYounger) { mYounger = pYounger; } void setCurrentMtxCalc(J3DMtxCalc* pMtxCalc) { mCurrentMtxCalc = pMtxCalc; } J3DTransformInfo& getTransformInfo() { return mTransformInfo; } + void setTransformInfo(J3DTransformInfo& i_info) { mTransformInfo = i_info; } Vec* getMax() { return &mMax; } Vec* getMin() { return &mMin; } void setCallBack(J3DJointCallBack callback) { mCallBack = callback; } diff --git a/include/JSystem/J3DGraphBase/J3DTransform.h b/include/JSystem/J3DGraphBase/J3DTransform.h index d4c7bed2cef..de850d7db26 100644 --- a/include/JSystem/J3DGraphBase/J3DTransform.h +++ b/include/JSystem/J3DGraphBase/J3DTransform.h @@ -15,11 +15,36 @@ struct J3DTransformInfo { /* 0x00 */ Vec mScale; /* 0x0C */ SVec mRotation; /* 0x14 */ Vec mTranslate; - inline J3DTransformInfo& operator=(const J3DTransformInfo& b) { + + /* inline J3DTransformInfo& operator=(const J3DTransformInfo& b) { mScale = b.mScale; mRotation = b.mRotation; mTranslate = b.mTranslate; return *this; + } */ + + inline J3DTransformInfo& operator=(const register J3DTransformInfo& b) { + register const J3DTransformInfo& var_r31 = b; + register J3DTransformInfo& var_r30 = *this; + + register f32 var_f31; + register f32 var_f0; + register int var_r0; + asm { + psq_l var_f31, 0x0(var_r31), 0, 0 + psq_st var_f31, 0x0(var_r30), 0, 0 + lfs var_f0, 0x8(var_r31) + stfs var_f0, 0x8(var_r30) + lwz var_r0, 0xc(var_r31) + stw var_r0, 0xc(var_r30) + lha var_r0, 0x10(var_r31) + sth var_r0, 0x10(var_r30) + psq_l var_f31, 0x14(var_r31), 0, 0 + psq_st var_f31, 0x14(var_r30), 0, 0 + lfs var_f0, 0x1c(var_r31) + stfs var_f0, 0x1c(var_r30) + } + return *this; } }; // Size: 0x20 diff --git a/include/d/actor/d_a_alink.h b/include/d/actor/d_a_alink.h index 1d79ca62e8a..07d580fa2d8 100644 --- a/include/d/actor/d_a_alink.h +++ b/include/d/actor/d_a_alink.h @@ -2,18 +2,17 @@ #define D_A_D_A_ALINK_H #include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h" +#include "JSystem/J3DGraphBase/J3DMaterial.h" #include "JSystem/J3DGraphBase/J3DMatBlock.h" #include "Z2AudioLib/Z2Creature.h" #include "Z2AudioLib/Z2WolfHowlMgr.h" #include "d/actor/d_a_player.h" #include "d/d_eye_hl.h" #include "d/d_jnt_col.h" -#include "d/d_meter2_info.h" #include "d/d_msg_flow.h" #include "d/d_particle_copoly.h" #include "d/d_save.h" #include "f_op/f_op_actor_mng.h" -#include "d/actor/d_a_kytag05.h" #include "d/actor/d_a_tag_mmsg.h" class J2DAnmColorKey; @@ -157,6 +156,12 @@ class daAlink_matAnm_c : public J3DMaterialAnm { /* 0x104 */ int mSetFlag; }; +// this class is mostly a complete guess +class daAlink_hsChainLight_c : public dKy_tevstr_c { +public: + GXLightObj* getLightObj() { return &mLightObj.mLightObj; } +}; + struct daAlink_BckData { /* 0x0 */ u16 m_underID; /* 0x2 */ u16 m_upperID; @@ -1704,7 +1709,7 @@ class daAlink_c : public daPy_py_c { /* 800D1788 */ static BOOL notSwordHitVibActor(fopAc_ac_c*); /* 800D17EC */ BOOL setSwordHitVibration(dCcD_GObjInf*); /* 800D1920 */ BOOL checkAtShieldHit(dCcD_GObjInf&); - /* 800D1978 */ bool checkCutReverseAt(dCcD_GObjInf*); + /* 800D1978 */ BOOL checkCutReverseAt(dCcD_GObjInf*); /* 800D19C8 */ BOOL changeCutReverseProc(daAlink_c::daAlink_ANM); /* 800D1E1C */ void setCutDash(int, int); /* 800D20B4 */ BOOL checkForceSwordSwing(); @@ -2492,7 +2497,7 @@ class daAlink_c : public daPy_py_c { /* 8011078C */ BOOL checkWaterInKandelaarOffset(f32); /* 801107BC */ void checkWaterInKandelaar(f32); /* 80110840 */ void offKandelaarModel(); - /* 801108EC */ void kandelaarModelCallBack(); + /* 801108EC */ int kandelaarModelCallBack(); /* 80110C6C */ BOOL checkKandelaarEquipAnime() const; /* 80110C94 */ void preKandelaarDraw(); /* 80110E84 */ void setKandelaarModel(); @@ -3173,7 +3178,7 @@ class daAlink_c : public daPy_py_c { BOOL checkBarkAnime() const { return 0; } bool checkWolfGrabAnimeObj() const { return checkUpperAnime(0x2DA); } bool checkWolfGrabAnimeStick() const { return checkUpperAnime(0x2DB); } - bool checkWolfGrabAnime() const { return checkWolfGrabAnimeObj() || checkWolfGrabAnimeStick(); } + BOOL checkWolfGrabAnime() const { return checkWolfGrabAnimeObj() || checkWolfGrabAnimeStick(); } bool checkWolfSwimDashAnime() const { return checkUnderMove0BckNoArcWolf(WANM_SWIM_DASH); } bool checkKandelaarSwingAnime() const { return false; } bool checkBowChargeWaitAnime() const { return checkUpperAnime(0xA); } @@ -3386,6 +3391,11 @@ class daAlink_c : public daPy_py_c { } const cXyz& getHsChainTopPos() const { return mHookshotTopPos; } + const cXyz& getHsChainRootPos() const { return mHeldItemRootPos; } + + const cXyz& getHsSubChainRootPos() const { return field_0x3810; } + + s16 getHookshotStopTime() const { return field_0x3026; } static int getBallModelIdx() { return 0x25; } static int getBallBtkIdx() { return 0x49; } @@ -3395,12 +3405,18 @@ class daAlink_c : public daPy_py_c { bool checkRootTransZClearMode() { return field_0x2f99 & 4; } bool checkRootTransXClearMode() { return field_0x2f99 & 1; } bool checkRootTransYClearMode() { return field_0x2f99 & 2; } - s16 checkWindStoneHowl() {return mProcVar3.field_0x300e.y; } + s16 checkWindStoneHowl() {return mProcVar4.field_0x3010; } u8 getCorrectCurveID() { return mZ2WolfHowlMgr.getCorrectCurveID(); } u8 getCorrectLineNum() { return mZ2WolfHowlMgr.getCorrectLineNum(); } u32 getWolfHowlTimer() { return mZ2WolfHowlMgr.getTimer(); } s8 getOnLineNum() { return mZ2WolfHowlMgr.getOnLineNum(); } SongNote getCorrectLine(u8 param_0) { return mZ2WolfHowlMgr.getCorrectLine(param_0); } + J3DModelData* getItemModelData() { return mpItemModelData; } + + cXyz* getIronBallChainPos() const { return mIronBallChainPos; } + csXyz* getIronBallChainAngle() const { return mIronBallChainAngle; } + int getIronBallHandChainNum() const { return mItemMode; } + const cXyz& getIronBallChainHandRootPos() const { return mHookshotTopPos; } void itemHitSE(u32 param_1, u32 param_2, Z2SoundObjBase* param_3) { mZ2Link.startHitItemSE(param_1, param_2, param_3, -1.0f); } @@ -3494,7 +3510,7 @@ class daAlink_c : public daPy_py_c { /* 0x0072C */ J3DAnmTexPattern* field_0x072c; /* 0x00730 */ mDoExt_bckAnm mItemBck; /* 0x0074C */ mDoExt_bckAnm mHookTipBck; - /* 0x00768 */ J3DModelData* mpHookKusariModelData; + /* 0x00768 */ J3DModelData* mpItemModelData; /* 0x0076C */ Z2SoundObjSimple* mpHookSound; /* 0x00770 */ hsChainShape_c* mpHookChain; /* 0x00774 */ dBgS_AcchCir* field_0x0774; @@ -3652,7 +3668,7 @@ class daAlink_c : public daPy_py_c { /* 0x02FA5 */ u8 mPolySound; /* 0x02FA6 */ u8 field_0x2fa6; /* 0x02FA7 */ u8 field_0x2fa7; - /* 0x02FA8 */ u8 field_0x2fa8; + /* 0x02FA8 */ u8 mGndPolySpecialCode; /* 0x02FA9 */ u8 mWolfEyeUpTimer; /* 0x02FAA */ u8 mRideStatus; /* 0x02FAB */ u8 field_0x2fab; @@ -3733,14 +3749,21 @@ class daAlink_c : public daPy_py_c { } /* 0x03008 */ mProcVar0; union { s16 field_0x300a; + s16 mBoardSwordChargeTime; } /* 0x0300A */ mProcVar1; union { s16 field_0x300c; s16 mPuzzleAimAngle; } /* 0x0300C */ mProcVar2; union { - SVec field_0x300e; + s16 field_0x300e; } /* 0x0300E */ mProcVar3; + union { + s16 field_0x3010; + } /* 0x03010 */ mProcVar4; + union { + s16 field_0x3012; + } /* 0x03012 */ mProcVar5; /* 0x03014 */ s16 mFallVoiceInit; /* 0x03016 */ u8 field_0x3016[2]; union { @@ -4049,6 +4072,16 @@ static bool daAlink_checkLightBallA(fopAc_ac_c* p_actor); static bool daAlink_checkLightBallB(fopAc_ac_c* p_actor); static fopAc_ac_c* daAlink_searchCoach(fopAc_ac_c* param_0, void* param_1); +struct daAlink_cutParamTbl { + /* 0x0 */ daAlink_c::daAlink_ANM m_anmID; + /* 0x4 */ int field_0x4; + /* 0x8 */ u8 m_cutType; + /* 0x9 */ u8 m_atSe; + /* 0xA */ u8 field_0xa; + /* 0xB */ u8 field_0xb; + /* 0xC */ f32 m_morf; +}; // Size: 0x10 + struct daAlinkHIO_anm_c { /* 0x00 */ s16 mEndFrame; /* 0x04 */ f32 mSpeed; diff --git a/include/d/actor/d_a_obj_chandelier.h b/include/d/actor/d_a_obj_chandelier.h index 9bcc08d2262..1e606bd8eef 100644 --- a/include/d/actor/d_a_obj_chandelier.h +++ b/include/d/actor/d_a_obj_chandelier.h @@ -47,6 +47,8 @@ class daObjChandelier_c : public dBgS_MoveBgActor, public request_of_phase_proce u8 getSW_0() { return fopAcM_GetParamBit(this, 4, 8); } s32 getArg_0() { return fopAcM_GetParamBit(this, 0, 4); } + void moveHookOn() { field_0x60a = 1; } + private: /* 0x5A8 */ cXyz field_0x5a8; /* 0x5B4 */ Mtx mMtx; diff --git a/include/d/actor/d_a_obj_iceleaf.h b/include/d/actor/d_a_obj_iceleaf.h index 84b116017e9..5f0a7bea186 100644 --- a/include/d/actor/d_a_obj_iceleaf.h +++ b/include/d/actor/d_a_obj_iceleaf.h @@ -15,13 +15,27 @@ */ class daObjIceLeaf_c : public fopAc_ac_c { public: + enum daObjIceLeaf_MODE { + MODE_DROP_WAIT_e, + MODE_DROP_e, + MODE_PLAYER_WAIT_e, + MODE_RIDE_e, + }; + + enum daObjIceLeaf_ACTION { + ACT_WAIT_e, + ACT_ORDER_EVENT_e, + ACT_EVENT_e, + ACT_DEAD_e, + }; + /* 80C24738 */ void initBaseMtx(); /* 80C24774 */ void setBaseMtx(); - /* 80C249E4 */ void Create(); + /* 80C249E4 */ int Create(); /* 80C24BC4 */ void setAnmPos(); - /* 80C24C9C */ void CreateHeap(); - /* 80C24E14 */ void create(); - /* 80C25158 */ void execute(); + /* 80C24C9C */ int CreateHeap(); + /* 80C24E14 */ int create(); + /* 80C25158 */ int execute(); /* 80C25360 */ void action(); /* 80C2541C */ void modeDropWait(); /* 80C25614 */ void modeDrop(); @@ -33,13 +47,19 @@ class daObjIceLeaf_c : public fopAc_ac_c { /* 80C25A68 */ void actionEvent(); /* 80C25AC4 */ void actionDead(); /* 80C25AC8 */ void setFallSE(); - /* 80C25BB8 */ void draw(); - /* 80C25C50 */ void _delete(); + /* 80C25BB8 */ int draw(); + /* 80C25C50 */ int _delete(); void offRide() { mRide = false; } void onRide() { mRide = true; } void setBreakEffect() { mBreakEffect = true; } - void deleteActor() { field_0x961 = 1; } + void deleteActor() { mDeleteActor = true; } + void setAction(u8 i_action) { mAction = i_action; } + void setMode(u8 i_mode) { mMode = i_mode; } + + u8 getEvId() { return fopAcM_GetParamBit(this, 0, 8); } + u8 checkRideStatus() { return fopAcM_GetParamBit(this, 0x10, 8); } + u8 getSwbit() { return fopAcM_GetParamBit(this, 8, 8); } private: /* 0x568 */ request_of_phase_process_class mPhase; @@ -49,18 +69,18 @@ class daObjIceLeaf_c : public fopAc_ac_c { /* 0x78C */ dCcD_Stts mStts; /* 0x7C8 */ dCcD_Cyl mCyl; /* 0x904 */ mDoExt_bckAnm* mpBck; - /* 0x908 */ J3DTransformInfo field_0x908; - /* 0x928 */ u8 mAction; - /* 0x929 */ u8 field_0x929; - /* 0x92A */ u8 field_0x92a; + /* 0x908 */ J3DTransformInfo mTransformInfo; + /* 0x928 */ u8 mMode; + /* 0x929 */ u8 mAction; + /* 0x92A */ u8 mEvId; /* 0x92B */ u8 field_0x92b; /* 0x92C */ s16 mEventID; - /* 0x930 */ Mtx field_0x930; + /* 0x930 */ Mtx mMtx; /* 0x960 */ u8 mRide; - /* 0x961 */ u8 field_0x961; + /* 0x961 */ u8 mDeleteActor; /* 0x962 */ u8 mBreakEffect; - /* 0x964 */ cXyz field_0x964; - /* 0x970 */ cXyz field_0x970; + /* 0x964 */ cXyz mFallSEPos; + /* 0x970 */ cXyz mFallStartSEPos; }; STATIC_ASSERT(sizeof(daObjIceLeaf_c) == 0x97c); diff --git a/include/d/actor/d_a_player.h b/include/d/actor/d_a_player.h index a87b4b87f42..cd2f7642c8f 100644 --- a/include/d/actor/d_a_player.h +++ b/include/d/actor/d_a_player.h @@ -784,6 +784,7 @@ class daPy_py_c : public fopAc_ac_c { bool checkSwimUp() const { return checkNoResetFlg0(FLG0_SWIM_UP); } BOOL checkHorseZelda() const { return checkNoResetFlg2(FLG2_HORSE_ZELDA); } BOOL checkSpecialHorseRide() { return checkNoResetFlg2(daPy_FLG2(FLG2_HORSE_ZELDA | FLG2_UNK_1000000 | FLG2_UNK_800000)); } + BOOL checkBoardNoFootAngle() const { return checkResetFlg1(RFLG1_UNK_40); } void onBossRoomWait() { onEndResetFlg0(ERFLG0_BOSS_ROOM_WAIT); } void onBeeFollow() { onEndResetFlg0(ERFLG0_BEE_FOLLOW); } diff --git a/include/d/d_bg_w_base.h b/include/d/d_bg_w_base.h index f1e924e5193..3382fd34f0f 100644 --- a/include/d/d_bg_w_base.h +++ b/include/d/d_bg_w_base.h @@ -16,6 +16,13 @@ class dBgS_SphChk; class dBgS_SplGrpChk; class fopAc_ac_c; +enum dBgW_SpecialCode { + dBgW_SPCODE_NORMAL, + dBgW_SPCODE_LIGHT_SNOW = 5, + dBgW_SPCODE_HEAVY_SNOW = 6, + dBgW_SPCODE_ICE = 8, +}; + class dBgW_Base : public cBgW_BgId { public: enum PushPullLabel { diff --git a/include/d/d_demo.h b/include/d/d_demo.h index e334bcadcac..0071b52b707 100644 --- a/include/d/d_demo.h +++ b/include/d/d_demo.h @@ -116,7 +116,7 @@ class dDemo_system_c : public JStage::TSystem { dDemo_system_c() { mpObject = NULL; } /* 80039AAC */ virtual ~dDemo_system_c(); - /* 80039528 */ virtual bool JSGFindObject(JStage::TObject**, char const*, + /* 80039528 */ virtual int JSGFindObject(JStage::TObject**, char const*, JStage::TEObject) const; void setObject(dDemo_object_c* i_object) { mpObject = i_object; } @@ -131,7 +131,7 @@ class dDemo_particle_c : public JStudio_JParticle::TCreateObject { : JStudio_JParticle::TCreateObject(p_emitMgr, p_system) {} /* 80039F9C */ virtual ~dDemo_particle_c(); - /* 80039F1C */ virtual void emitter_create(u32); + /* 80039F1C */ virtual JPABaseEmitter* emitter_create(u32); }; class dDemo_light_c : public JStage::TLight { diff --git a/include/m_Do/m_Do_lib.h b/include/m_Do/m_Do_lib.h index 8a30d5c78ee..a13ee4357fa 100644 --- a/include/m_Do/m_Do_lib.h +++ b/include/m_Do/m_Do_lib.h @@ -9,7 +9,7 @@ typedef struct Vec Vec; struct ResTIMG; struct mDoLib_clipper { - /* 8001528C */ void setup(f32, f32, f32, f32); + /* 8001528C */ static void setup(f32, f32, f32, f32); static void changeFar(f32 far) { mClipper.setFar(far); @@ -32,8 +32,6 @@ struct mDoLib_clipper { mClipper.calcViewFrustum(); } - static void setup(f32, f32, f32, f32); - static J3DUClipper mClipper; static f32 mSystemFar; static f32 mFovyRate; diff --git a/src/d/actor/d_a_alink.cpp b/src/d/actor/d_a_alink.cpp index 942dbae6ef5..5f58b66dc89 100644 --- a/src/d/actor/d_a_alink.cpp +++ b/src/d/actor/d_a_alink.cpp @@ -40,3002 +40,8 @@ #include "d/actor/d_a_tag_lantern.h" #include "m_Do/m_Do_controller_pad.h" #include "d/d_bomb.h" - -// -// Forward References: -// - -extern "C" bool getE3Zhint__9daAlink_cFv(); -extern "C" void getAlinkArcName__9daAlink_cFv(); -extern "C" static void -daAlink_tgHitCallback__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf(); -extern "C" static void -daAlink_coHitCallback__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf(); -extern "C" void init__16daAlink_matAnm_cFv(); -extern "C" void calc__16daAlink_matAnm_cCFP11J3DMaterial(); -extern "C" void checkStageName__9daAlink_cFPCc(); -extern "C" void tgHitCallback__9daAlink_cFP10fopAc_ac_cP12dCcD_GObjInfP12dCcD_GObjInf(); -extern "C" void coHitCallback__9daAlink_cFP10fopAc_ac_cP12dCcD_GObjInf(); -extern "C" void setMatrixWorldAxisRot__9daAlink_cFPA4_fsssiPC4cXyz(); -extern "C" void jointControll__9daAlink_cFi(); -extern "C" void setUpperFront__9daAlink_cFv(); -extern "C" void changeBlendRate__9daAlink_cFi(); -extern "C" void resetRootMtx__9daAlink_cFv(); -extern "C" void modelCallBack__9daAlink_cFi(); -extern "C" static void daAlink_modelCallBack__FP8J3DJointi(); -extern "C" void headModelCallBack__9daAlink_cFi(); -extern "C" static void daAlink_headModelCallBack__FP8J3DJointi(); -extern "C" void wolfModelCallBack__9daAlink_cFi(); -extern "C" static void daAlink_wolfModelCallBack__FP8J3DJointi(); -extern "C" void setHatAngle__9daAlink_cFv(); -extern "C" void calcHairAngle__9daAlink_cFPs(); -extern "C" void setHairAngle__9daAlink_cFP4cXyzff(); -extern "C" void setLookPosFromOut__9daAlink_cFP4cXyz(); -extern "C" void checkAttentionPosAngle__9daAlink_cFP4cXyz(); -extern "C" void checkActorPosAngle__9daAlink_cFP10fopAc_ac_cPP4cXyz(); -extern "C" void getNeckAimPos__9daAlink_cFP4cXyzPii(); -extern "C" void getNeckAimAngle__9daAlink_cFP4cXyzPsPsPsPs(); -extern "C" void setEyeMove__9daAlink_cFP4cXyzss(); -extern "C" void setNeckAngle__9daAlink_cFv(); -extern "C" void getStickAngleFromPlayerShape__9daAlink_cCFPs(); -extern "C" void commonLineCheck__9daAlink_cFP4cXyzP4cXyz(); -extern "C" void getMoveBGActorName__9daAlink_cFR13cBgS_PolyInfoi(); -extern "C" void checkGoronRide__9daAlink_cFv(); -extern "C" void setMoveSlantAngle__9daAlink_cFv(); -extern "C" void setArmMatrix__9daAlink_cFv(); -extern "C" void setFootMatrix__9daAlink_cFv(); -extern "C" void setMatrixOffset__9daAlink_cFPff(); -extern "C" void setLegAngle__9daAlink_cFfP18daAlink_footData_cPsPsi(); -extern "C" void footBgCheck__9daAlink_cFv(); -extern "C" void handBgCheck__9daAlink_cFv(); -extern "C" void setItemHeap__9daAlink_cFv(); -extern "C" void setIdxMask__9daAlink_cFPUsPUs(); -extern "C" void getAnimeResource__9daAlink_cFP14daPy_anmHeap_cUsUl(); -extern "C" void initModel__9daAlink_cFP12J3DModelDataUlUl(); -extern "C" void initModel__9daAlink_cFUsUl(); -extern "C" void initModelEnv__9daAlink_cFUsUl(); -extern "C" void initDemoModel__9daAlink_cFPP8J3DModelPCcUl(); -extern "C" void initDemoBck__9daAlink_cFPP13mDoExt_bckAnmPCc(); -extern "C" void createHeap__9daAlink_cFv(); -extern "C" void __dt__14J3DMaterialAnmFv(); -extern "C" static void daAlink_createHeap__FP10fopAc_ac_c(); -extern "C" void setSelectEquipItem__9daAlink_cFi(); -extern "C" void checkBoarStart__9daAlink_cFv(); -extern "C" void checkCanoeStart__9daAlink_cFv(); -extern "C" void playerInit__9daAlink_cFv(); -extern "C" void checkHorseStart__9daAlink_cFUli(); -extern "C" void setStartProcInit__9daAlink_cFv(); -extern "C" void create__9daAlink_cFv(); -extern "C" static void daAlink_Create__FP10fopAc_ac_c(); -extern "C" void setRoomInfo__9daAlink_cFv(); -extern "C" void setShapeAngleOnGround__9daAlink_cFv(); -extern "C" void setStepsOffset__9daAlink_cFv(); -extern "C" void iceSlipBgCheck__9daAlink_cFv(); -extern "C" void setIceSlipSpeed__9daAlink_cFv(); -extern "C" void setPolygonSpeed__9daAlink_cFv(); -extern "C" void checkWindSpeedOnAngle__9daAlink_cCFv(); -extern "C" void checkWindSpeedOnAngleAnime__9daAlink_cCFi(); -extern "C" void checkDashAnime__9daAlink_cCFv(); -extern "C" void checkWindWallRate__9daAlink_cFRC4cXyz(); -extern "C" void setWindSpeed__9daAlink_cFv(); -extern "C" void setBodyPartPos__9daAlink_cFv(); -extern "C" void setRollJump__9daAlink_cFffs(); -extern "C" void setAttentionPos__9daAlink_cFv(); -extern "C" void setMatrix__9daAlink_cFv(); -extern "C" void simpleAnmPlay__9daAlink_cFP10J3DAnmBase(); -extern "C" void setSwordPos__9daAlink_cFv(); -extern "C" void setItemMatrix__9daAlink_cFi(); -extern "C" void setWolfItemMatrix__9daAlink_cFv(); -extern "C" void setHandIndex__9daAlink_cFQ29daAlink_c11daAlink_ANM(); -extern "C" void setSwordAtCollision__9daAlink_cFi(); -extern "C" void checkNoCollisionCorret__9daAlink_cFv(); -extern "C" void decSwordBlur__9daAlink_cFv(); -extern "C" void resetWolfAtCollision__9daAlink_cFv(); -extern "C" void setWolfAtCollision__9daAlink_cFv(); -extern "C" void resetAtCollision__9daAlink_cFi(); -extern "C" void setAtCollision__9daAlink_cFv(); -extern "C" void setWolfCollisionPos__9daAlink_cFv(); -extern "C" void initLockAt__9daAlink_cFv(); -extern "C" void cancelLockAt__9daAlink_cFv(); -extern "C" void setCollisionPos__9daAlink_cFv(); -extern "C" void setCollision__9daAlink_cFv(); -extern "C" void getBaseAnimeFrame__9daAlink_cCFv(); -extern "C" void setAnimeFrame__9daAlink_cFf(); -extern "C" void setFrameCtrl__9daAlink_cFP16daPy_frameCtrl_cUcssff(); -extern "C" void getMainBckData__9daAlink_cCFQ29daAlink_c11daAlink_ANM(); -extern "C" void checkUnderMove0BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM(); -extern "C" void checkUnderMove1BckNoArc__9daAlink_cCFQ29daAlink_c11daAlink_ANM(); -extern "C" void -getUnderUpperAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMPP15J3DAnmTransformPP15J3DAnmTransformiUl(); -extern "C" void setDoubleAnimeBlendRatio__9daAlink_cFf(); -extern "C" void -commonDoubleAnime__9daAlink_cFP15J3DAnmTransformP15J3DAnmTransformP15J3DAnmTransformP15J3DAnmTransformfffi(); -extern "C" void -setDoubleAnime__9daAlink_cFfffQ29daAlink_c11daAlink_ANMQ29daAlink_c11daAlink_ANMif(); -extern "C" void commonSingleAnime__9daAlink_cFP15J3DAnmTransformP15J3DAnmTransformffs(); -extern "C" void setSingleAnimeBase__9daAlink_cFQ29daAlink_c11daAlink_ANM(); -extern "C" void setSingleAnimeBaseMorf__9daAlink_cFQ29daAlink_c11daAlink_ANMf(); -extern "C" void setSingleAnimeBaseSpeed__9daAlink_cFQ29daAlink_c11daAlink_ANMff(); -extern "C" void setSingleAnime__9daAlink_cFQ29daAlink_c11daAlink_ANMffsf(); -extern "C" void setSingleAnimeParam__9daAlink_cFQ29daAlink_c11daAlink_ANMPC16daAlinkHIO_anm_c(); -extern "C" void animePlay__9daAlink_cFP15J3DAnmTransformP16daPy_frameCtrl_c(); -extern "C" void allAnimePlay__9daAlink_cFv(); -extern "C" void setUpperAnimeMorf__9daAlink_cFf(); -extern "C" void setUpperAnimeBase__9daAlink_cFUs(); -extern "C" void setUpperAnimeBaseMorf__9daAlink_cFUsf(); -extern "C" void setUpperAnimeBaseSpeed__9daAlink_cFUsff(); -extern "C" void setUpperAnime__9daAlink_cFUsQ29daAlink_c13daAlink_UPPERffsf(); -extern "C" void setUpperAnimeParam__9daAlink_cFUsQ29daAlink_c13daAlink_UPPERPC16daAlinkHIO_anm_c(); -extern "C" void resetUpperAnime__9daAlink_cFQ29daAlink_c13daAlink_UPPERf(); -extern "C" void setUnderAnimeMorf__9daAlink_cFf(); -extern "C" void setUnderAnime__9daAlink_cFUsQ29daAlink_c13daAlink_UNDERffsf(); -extern "C" void setUnderAnimeParam__9daAlink_cFUsQ29daAlink_c13daAlink_UNDERPC16daAlinkHIO_anm_c(); -extern "C" void resetUnderAnime__9daAlink_cFQ29daAlink_c13daAlink_UNDERf(); -extern "C" void setOldRootQuaternion__9daAlink_cFsss(); -extern "C" void checkAtnLeftAnime__9daAlink_cFv(); -extern "C" void checkAtnRightAnime__9daAlink_cFv(); -extern "C" void getMoveGroundAngleSpeedRate__9daAlink_cFv(); -extern "C" void setBlendMoveAnime__9daAlink_cFf(); -extern "C" void setBlendAtnMoveAnime__9daAlink_cFf(); -extern "C" void setBlendAtnBackMoveAnime__9daAlink_cFf(); -extern "C" void setFaceBck__9daAlink_cFUsiUs(); -extern "C" void setFaceBtp__9daAlink_cFUsiUs(); -extern "C" void setFaceBtk__9daAlink_cFUsiUs(); -extern "C" void setFaceBasicTexture__9daAlink_cFQ29daAlink_c13daAlink_FTANM(); -extern "C" void setFaceBasicAnime__9daAlink_cFQ29daAlink_c11daAlink_ANM(); -extern "C" void setFacePriTexture__9daAlink_cFQ29daAlink_c13daAlink_FTANM(); -extern "C" void setFacePriAnime__9daAlink_cFQ29daAlink_c11daAlink_ANM(); -extern "C" void resetFacePriBck__9daAlink_cFv(); -extern "C" void resetFacePriBtp__9daAlink_cFv(); -extern "C" void resetFacePriBtk__9daAlink_cFv(); -extern "C" void resetFacePriTexture__9daAlink_cFv(); -extern "C" void resetFacePriAnime__9daAlink_cFv(); -extern "C" void playFaceTextureAnime__9daAlink_cFv(); -extern "C" void getGroundAngle__9daAlink_cFP13cBgS_PolyInfos(); -extern "C" void getRoofAngle__9daAlink_cFP13cBgS_PolyInfos(); -extern "C" void getWallEdgePos__9daAlink_cFRC4cXyzP8cM3dGPlaP8cM3dGPlaP4cXyzi(); -extern "C" void setFrontWallType__9daAlink_cFv(); -extern "C" void SetPos__12dBgS_RoofChkFRC4cXyz(); -extern "C" void checkWaterPolygonUnder__9daAlink_cFv(); -extern "C" void setWaterY__9daAlink_cFv(); -extern "C" void setHangWaterY__9daAlink_cFv(); -extern "C" void setSandDownBgCheckWallH__9daAlink_cFv(); -extern "C" void setBgCheckParam__9daAlink_cFv(); -extern "C" void checkNotJumpSinkLimit__9daAlink_cFv(); -extern "C" void checkNotItemSinkLimit__9daAlink_cFv(); -extern "C" void setSandShapeOffset__9daAlink_cFv(); -extern "C" void checkLv2MiddleBossBgRide__9daAlink_cFs(); -extern "C" void getSlidePolygon__9daAlink_cFP8cM3dGPla(); -extern "C" void checkSlope__9daAlink_cCFv(); -extern "C" void setPlayerPosAndAngle__9daAlink_cFPC4cXyzsi(); -extern "C" void setPlayerPosAndAngle__9daAlink_cFPC4cXyzPC5csXyz(); -extern "C" void setPlayerPosAndAngle__9daAlink_cFPA4_f(); -extern "C" void itemTriggerCheck__9daAlink_cFUc(); -extern "C" void itemButtonCheck__9daAlink_cFUc(); -extern "C" void itemButton__9daAlink_cFv(); -extern "C" void itemTrigger__9daAlink_cFv(); -extern "C" void spActionButton__9daAlink_cFv(); -extern "C" void spActionTrigger__9daAlink_cFv(); -extern "C" void midnaTalkTrigger__9daAlink_cCFv(); -extern "C" void swordSwingTrigger__9daAlink_cFv(); -extern "C" void setItemActionButtonStatus__9daAlink_cFUc(); -extern "C" void itemActionTrigger__9daAlink_cFv(); -extern "C" void setStickData__9daAlink_cFv(); -extern "C" void setAtnList__9daAlink_cFv(); -extern "C" void setRStatus__9daAlink_cFUc(); -extern "C" void setRStatusEmphasys__9daAlink_cFUc(); -extern "C" void setDoStatus__9daAlink_cFUc(); -extern "C" void setDoStatusEmphasys__9daAlink_cFUc(); -extern "C" void setDoStatusContinuation__9daAlink_cFUc(); -extern "C" void setBStatus__9daAlink_cFUc(); -extern "C" void checkAtnWaitAnime__9daAlink_cFv(); -extern "C" void setTiredVoice__9daAlink_cFP16daPy_frameCtrl_c(); -extern "C" void checkRestHPAnime__9daAlink_cFv(); -extern "C" void getDirectionFromAngle__9daAlink_cFs(); -extern "C" void checkAttentionState__9daAlink_cFv(); -extern "C" void getShapeAngleYAtnActor__9daAlink_cFv(); -extern "C" void setShapeAngleToAtnActor__9daAlink_cFi(); -extern "C" void initServiceWaitTime__9daAlink_cFv(); -extern "C" void checkZeroSpeedF__9daAlink_cCFv(); -extern "C" void setNormalSpeedF__9daAlink_cFff(); -extern "C" void getStickAngleDistanceRate__9daAlink_cFv(); -extern "C" void setSpeedAndAngleNormal__9daAlink_cFv(); -extern "C" void setSpeedAndAngleAtn__9daAlink_cFv(); -extern "C" void checkRequestTalkActor__9daAlink_cFP10dAttList_cP10fopAc_ac_c(); -extern "C" void checkServiceWaitMode__9daAlink_cFv(); -extern "C" void setJumpMode__9daAlink_cFv(); -extern "C" void getMetamorphoseNearDis__9daAlink_cCFv(); -extern "C" void getMetamorphoseFarDis__9daAlink_cCFv(); -extern "C" void getMetamorphoseFarAngle__9daAlink_cCFv(); -extern "C" void setMidnaMsg__9daAlink_cFv(); -extern "C" void notTalk__9daAlink_cFv(); -extern "C" void setTalkStatus__9daAlink_cFv(); -extern "C" void getFrontRollRate__9daAlink_cFv(); -extern "C" void decideCommonDoStatus__9daAlink_cFv(); -extern "C" void decideDoStatus__9daAlink_cFv(); -extern "C" void checkWaitAction__9daAlink_cFv(); -extern "C" void setFallVoice__9daAlink_cFv(); -extern "C" void setLandPassiveData__9daAlink_cFv(); -extern "C" void setStepLandVibration__9daAlink_cFv(); -extern "C" void checkLandAction__9daAlink_cFi(); -extern "C" void checkSlideAction__9daAlink_cFv(); -extern "C" void checkAutoJumpAction__9daAlink_cFv(); -extern "C" void checkCutJumpInFly__9daAlink_cFv(); -extern "C" void checkFrontWallTypeAction__9daAlink_cFv(); -extern "C" void checkItemActionInitStart__9daAlink_cFv(); -extern "C" void checkItemChangeAutoAction__9daAlink_cFv(); -extern "C" void setFastShotTimer__9daAlink_cFv(); -extern "C" void cancelItemUseQuake__9daAlink_cFi(); -extern "C" void cancelUpperItemReadyAnime__9daAlink_cFi(); -extern "C" void checkItemActorPointer__9daAlink_cFv(); -extern "C" void checkSwordTwirlAction__9daAlink_cFv(); -extern "C" void checkUpperItemActionFly__9daAlink_cFv(); -extern "C" void checkItemButtonChange__9daAlink_cFv(); -extern "C" void checkUpperItemAction__9daAlink_cFv(); -extern "C" void orderPeep__9daAlink_cFv(); -extern "C" void orderTalk__9daAlink_cFi(); -extern "C" static void daAlink_searchBouDoor__FP10fopAc_ac_cPv(); -extern "C" static void daAlink_searchKolin__FP10fopAc_ac_cPv(); -extern "C" void orderZTalk__9daAlink_cFv(); -extern "C" void checkNormalAction__9daAlink_cFv(); -extern "C" void checkReadyItem__9daAlink_cFv(); -extern "C" void checkItemAction__9daAlink_cFv(); -extern "C" bool checkRAction__9daAlink_cFv(); -extern "C" void checkMoveDoAction__9daAlink_cFv(); -extern "C" void checkSideRollAction__9daAlink_cFi(); -extern "C" void checkNoUpperAnime__9daAlink_cCFv(); -extern "C" void checkOneHandItemEquipAnime__9daAlink_cCFv(); -extern "C" void checkItemEquipAnime__9daAlink_cCFv(); -extern "C" void checkEquipAnime__9daAlink_cCFv(); -extern "C" void checkWindDashAnime__9daAlink_cCFv(); -extern "C" void checkSwordTwirlAnime__9daAlink_cCFv(); -extern "C" void swordEquip__9daAlink_cFi(); -extern "C" void swordUnequip__9daAlink_cFv(); -extern "C" void itemEquip__9daAlink_cFUs(); -extern "C" void itemUnequip__9daAlink_cFUsf(); -extern "C" void checkFastUnequip__9daAlink_cFv(); -extern "C" void allUnequip__9daAlink_cFi(); -extern "C" void checkItemChangeFromButton__9daAlink_cFv(); -extern "C" void checkNextActionFromButton__9daAlink_cFv(); -extern "C" void checkGroundSpecialMode__9daAlink_cFv(); -extern "C" void commonCheckNextAction__9daAlink_cFi(); -extern "C" void checkNextAction__9daAlink_cFi(); -extern "C" void commonChangeItem__9daAlink_cFv(); -extern "C" void setItemAction__9daAlink_cFv(); -extern "C" void checkNextActionFromCrouch__9daAlink_cFi(); -extern "C" void checkUpperReadyThrowAnime__9daAlink_cCFv(); -extern "C" void getBodyAngleXBasePos__9daAlink_cFP4cXyz(); -extern "C" void getBodyAngleXAtnActor__9daAlink_cFi(); -extern "C" void setBodyAngleXReadyAnime__9daAlink_cFi(); -extern "C" void setMagicArmorBrk__9daAlink_cFi(); -extern "C" void checkMagicArmorHeavy__9daAlink_cCFv(); -extern "C" void checkBootsOrArmorHeavy__9daAlink_cCFv(); -extern "C" void checkHeavyStateOn__9daAlink_cFii(); -extern "C" void setOutPower__9daAlink_cFfsi(); -extern "C" void initGravity__9daAlink_cFv(); -extern "C" void setSpecialGravity__9daAlink_cFffi(); -extern "C" void transAnimeProc__9daAlink_cFP4cXyzff(); -extern "C" void setFootSpeed__9daAlink_cFv(); -extern "C" void posMove__9daAlink_cFv(); -extern "C" void autoGroundHit__9daAlink_cFv(); -extern "C" void startPeepChange__9daAlink_cFv(); -extern "C" void setLastSceneDamage__9daAlink_cFiPUl(); -extern "C" void setLastSceneMode__9daAlink_cFPUl(); -extern "C" void startRestartRoom__9daAlink_cFUliii(); -extern "C" void checkCoachGuardGame__9daAlink_cFv(); -extern "C" void checkRoofRestart__9daAlink_cFv(); -extern "C" void checkRestartRoom__9daAlink_cFv(); -extern "C" void getSceneExitMoveAngle__9daAlink_cFv(); -extern "C" void checkSceneChange__9daAlink_cFi(); -extern "C" void voiceStart__9daAlink_cFUl(); -extern "C" void voiceStartLevel__9daAlink_cFUl(); -extern "C" void seStartSwordCut__9daAlink_cFUl(); -extern "C" void seStartOnlyReverb__9daAlink_cFUl(); -extern "C" void seStartOnlyReverbLevel__9daAlink_cFUl(); -extern "C" void seStartMapInfo__9daAlink_cFUl(); -extern "C" void seStartMapInfoLevel__9daAlink_cFUl(); -extern "C" void setBasAnime__9daAlink_cFQ29daAlink_c13daAlink_UNDER(); -extern "C" void initBasAnime__9daAlink_cFv(); -extern "C" void resetBasAnime__9daAlink_cFv(); -extern "C" void checkSightLine__9daAlink_cFfP4cXyz(); -extern "C" void setMetamorphoseModel__9daAlink_cFi(); -extern "C" void keepItemData__9daAlink_cFv(); -extern "C" void returnKeepItemData__9daAlink_cFv(); -extern "C" void setItemModel__9daAlink_cFv(); -extern "C" void setItemActor__9daAlink_cFv(); -extern "C" void makeItemType__9daAlink_cFv(); -extern "C" void checkZoraWearAbility__9daAlink_cCFv(); -extern "C" void checkMagicArmorWearAbility__9daAlink_cCFv(); -extern "C" void loadAramBmd__9daAlink_cFUsUl(); -extern "C" void loadAram__9daAlink_cFUsUl(); -extern "C" void loadAramItemBrk__9daAlink_cFUsP8J3DModel(); -extern "C" void loadAramItemBtk__9daAlink_cFUsP8J3DModel(); -extern "C" void loadAramItemBtp__9daAlink_cFUsP8J3DModel(); -extern "C" void changeItemBck__9daAlink_cFUsf(); -extern "C" void checkGroupItem__9daAlink_cCFii(); -extern "C" void checkSetItemTrigger__9daAlink_cFi(); -extern "C" void checkItemSetButton__9daAlink_cFi(); -extern "C" void checkField__9daAlink_cFv(); -extern "C" void checkBossRoom__9daAlink_cFv(); -extern "C" void checkDungeon__9daAlink_cFv(); -extern "C" void checkCastleTown__9daAlink_cFv(); -extern "C" void checkCloudSea__9daAlink_cFv(); -extern "C" void checkRoomOnly__9daAlink_cFv(); -extern "C" void checkLv2DungeonRoomSpecial__9daAlink_cFv(); -extern "C" void checkRoomSpecial__9daAlink_cFv(); -extern "C" void checkRoom__9daAlink_cFv(); -extern "C" void checkNotBattleStage__9daAlink_cFv(); -extern "C" void checkNotHeavyBootsStage__9daAlink_cFv(); -extern "C" void checkNotAutoJumpStage__9daAlink_cFv(); -extern "C" void checkCastleTownUseItem__9daAlink_cFUs(); -extern "C" void changeItemTriggerKeepProc__9daAlink_cFUci(); -extern "C" void checkNewItemChange__9daAlink_cFUc(); -extern "C" void deleteEquipItem__9daAlink_cFii(); -extern "C" void setLight__9daAlink_cFv(); -extern "C" void setFrontRollCrashShock__9daAlink_cFUc(); -extern "C" void getModelJointMtx__9daAlink_cFUs(); -extern "C" void onFrollCrashFlg__9daAlink_cFUci(); -extern "C" void changeWarpMaterial__9daAlink_cFQ29daAlink_c21daAlink_WARP_MAT_MODE(); -extern "C" void commonProcInit__9daAlink_cFQ29daAlink_c12daAlink_PROC(); -extern "C" void commonProcInitNotSameProc__9daAlink_cFQ29daAlink_c12daAlink_PROC(); -extern "C" void procPreActionUnequipInit__9daAlink_cFiP10fopAc_ac_c(); -extern "C" void procPreActionUnequip__9daAlink_cFv(); -extern "C" void procServiceWaitInit__9daAlink_cFv(); -extern "C" void procServiceWait__9daAlink_cFv(); -extern "C" void procTiredWaitInit__9daAlink_cFv(); -extern "C" void procTiredWait__9daAlink_cFv(); -extern "C" void procWaitInit__9daAlink_cFv(); -extern "C" void procWait__9daAlink_cFv(); -extern "C" void procMoveInit__9daAlink_cFv(); -extern "C" void procMove__9daAlink_cFv(); -extern "C" void procAtnMoveInit__9daAlink_cFv(); -extern "C" void procAtnMove__9daAlink_cFv(); -extern "C" void procAtnActorWaitInit__9daAlink_cFv(); -extern "C" void procAtnActorWait__9daAlink_cFv(); -extern "C" void procAtnActorMoveInit__9daAlink_cFv(); -extern "C" void procAtnActorMove__9daAlink_cFv(); -extern "C" void procWaitTurnInit__9daAlink_cFv(); -extern "C" void procWaitTurn__9daAlink_cFv(); -extern "C" void procMoveTurnInit__9daAlink_cFi(); -extern "C" void procMoveTurn__9daAlink_cFv(); -extern "C" void procSideStepInit__9daAlink_cFi(); -extern "C" void procSideStep__9daAlink_cFv(); -extern "C" void procSideStepLandInit__9daAlink_cFv(); -extern "C" void procSideStepLand__9daAlink_cFv(); -extern "C" void procSlideInit__9daAlink_cFs(); -extern "C" void procSlide__9daAlink_cFv(); -extern "C" void procSlideLandInit__9daAlink_cFi(); -extern "C" void procSlideLand__9daAlink_cFv(); -extern "C" void procFrontRollInit__9daAlink_cFv(); -extern "C" void procFrontRoll__9daAlink_cFv(); -extern "C" void procFrontRollCrashInit__9daAlink_cFv(); -extern "C" void procFrontRollCrash__9daAlink_cFv(); -extern "C" void procFrontRollSuccessInit__9daAlink_cFv(); -extern "C" void procFrontRollSuccess__9daAlink_cFv(); -extern "C" void procSideRollInit__9daAlink_cFi(); -extern "C" void procSideRoll__9daAlink_cFv(); -extern "C" void backJumpSpeedDec__9daAlink_cFv(); -extern "C" void procBackJumpInit__9daAlink_cFi(); -extern "C" void procBackJump__9daAlink_cFv(); -extern "C" void procBackJumpLandInit__9daAlink_cFi(); -extern "C" void procBackJumpLand__9daAlink_cFv(); -extern "C" void procSlipInit__9daAlink_cFv(); -extern "C" void procSlip__9daAlink_cFv(); -extern "C" void procAutoJumpInit__9daAlink_cFi(); -extern "C" void procAutoJump__9daAlink_cFv(); -extern "C" void procDiveJumpInit__9daAlink_cFv(); -extern "C" void procDiveJump__9daAlink_cFv(); -extern "C" void procRollJumpInit__9daAlink_cFv(); -extern "C" void procRollJump__9daAlink_cFv(); -extern "C" void procFallInit__9daAlink_cFif(); -extern "C" void procFall__9daAlink_cFv(); -extern "C" void procLandInit__9daAlink_cFf(); -extern "C" void procLand__9daAlink_cFv(); -extern "C" void procSmallJumpInit__9daAlink_cFi(); -extern "C" void procSmallJump__9daAlink_cFv(); -extern "C" void procStepMoveInit__9daAlink_cFv(); -extern "C" void procStepMove__9daAlink_cFv(); -extern "C" void procCrouchInit__9daAlink_cFv(); -extern "C" void procCrouch__9daAlink_cFv(); -extern "C" void procCoMetamorphoseInit__9daAlink_cFv(); -extern "C" void procCoMetamorphose__9daAlink_cFv(); -extern "C" void procCoMetamorphoseOnlyInit__9daAlink_cFv(); -extern "C" void procCoMetamorphoseOnly__9daAlink_cFv(); -extern "C" void procFloorDownReboundInit__9daAlink_cFv(); -extern "C" void procFloorDownRebound__9daAlink_cFv(); -extern "C" void procGoronRideWaitInit__9daAlink_cFP10fopAc_ac_c(); -extern "C" void procGoronRideWait__9daAlink_cFv(); -extern "C" void execute__9daAlink_cFv(); -extern "C" static void daAlink_Execute__FP9daAlink_c(); -extern "C" void setDrawHand__9daAlink_cFv(); -extern "C" void checkSwordDraw__9daAlink_cFv(); -extern "C" void checkShieldDraw__9daAlink_cFv(); -extern "C" void checkItemDraw__9daAlink_cFv(); -extern "C" void initShadowScaleLight__9daAlink_cFv(); -extern "C" void moveShadowScaleLight__9daAlink_cFv(); -extern "C" void shadowDraw__9daAlink_cFv(); -extern "C" void modelCalc__9daAlink_cFP8J3DModel(); -extern "C" void basicModelDraw__9daAlink_cFP8J3DModel(); -extern "C" void modelDraw__9daAlink_cFP8J3DModeli(); -extern "C" void setWaterDropColor__9daAlink_cFPC13J3DGXColorS10(); -extern "C" void initTevCustomColor__9daAlink_cFv(); -extern "C" void draw__9daAlink_cFv(); -extern "C" static void daAlink_Draw__FP9daAlink_c(); -extern "C" void __dt__9daAlink_cFv(); -extern "C" static void daAlink_Delete__FP9daAlink_c(); -extern "C" void checkNoSubjectModeCamera__9daAlink_cFv(); -extern "C" void acceptSubjectModeChange__9daAlink_cFv(); -extern "C" void checkSubjectAction__9daAlink_cFv(); -extern "C" void checkBodyAngleX__9daAlink_cFs(); -extern "C" void setBodyAngleToCamera__9daAlink_cFv(); -extern "C" void setSubjectMode__9daAlink_cFv(); -extern "C" void subjectCancelTrigger__9daAlink_cFv(); -extern "C" void checkSubjectEnd__9daAlink_cFi(); -extern "C" void searchPeepObj__9daAlink_cFP10fopAc_ac_cPv(); -extern "C" static void daAlink_searchPeepObj__FP10fopAc_ac_cPv(); -extern "C" void procCoSubjectivityInit__9daAlink_cFv(); -extern "C" void procCoSubjectivity__9daAlink_cFv(); -extern "C" void procCoSwimSubjectivityInit__9daAlink_cFv(); -extern "C" void procCoSwimSubjectivity__9daAlink_cFv(); -extern "C" void procCoPeepSubjectivityInit__9daAlink_cFv(); -extern "C" void procCoPeepSubjectivity__9daAlink_cFv(); -extern "C" void checkBoardRide__9daAlink_cCFv(); -extern "C" void checkCanoeRide__9daAlink_cCFv(); -extern "C" void checkHorseRide__9daAlink_cCFv(); -extern "C" void getLeftItemMatrix__9daAlink_cFv(); -extern "C" void checkBoarRide__9daAlink_cCFv(); -extern "C" void checkSpinnerRide__9daAlink_cCFv(); -extern "C" void getLeftHandMatrix__9daAlink_cFv(); -extern "C" void getRightHandMatrix__9daAlink_cFv(); -extern "C" void onSceneChangeArea__9daAlink_cFUcUcP10fopAc_ac_c(); -extern "C" void getRightItemMatrix__9daAlink_cFv(); -extern "C" void checkPlayerNoDraw__9daAlink_cFv(); -extern "C" void __ct__9daAlink_cFv(); -extern "C" void __dt__Q29daAlink_c14firePointEff_cFv(); -extern "C" void __ct__Q29daAlink_c14firePointEff_cFv(); -extern "C" void __dt__15LIGHT_INFLUENCEFv(); -extern "C" void __dt__18daAlink_footData_cFv(); -extern "C" void __ct__18daAlink_footData_cFv(); -extern "C" void __dt__29dAlink_bottleWaterPcallBack_cFv(); -extern "C" void __dt__14daAlink_blur_cFv(); -extern "C" void __dt__15daAlink_sight_cFv(); -extern "C" void __dt__20daAlink_lockCursor_cFv(); -extern "C" BOOL checkRideOn__9daAlink_cCFv(daAlink_c* this_); -extern "C" static dAttCatch_c* dComIfGp_att_getCatghTarget__Fv(); -extern "C" static void mDoAud_setLinkHp__Fll(s32 param_0, s32 param_1); -extern "C" static u16 dComIfGs_getLife__Fv(); -extern "C" static u8 dComIfGp_getRStatus__Fv(); -extern "C" BOOL checkAttentionLock__9daAlink_cFv(daAlink_c* this_); -extern "C" void dComIfGp_setItemLifeCount__FfUc(f32, u8); -extern "C" static void cMtx_multVec__FPA4_CfPC3VecP3Vec(); -static void cMtx_multVec(f32 const (*param_0)[4], Vec const* param_1, Vec* param_2); -extern "C" MtxP getAnmMtx__8J3DModelFi(J3DModel* this_, int i); -extern "C" void setBaseTRMtx__8J3DModelFPA4_f(J3DModel* this_, MtxP matrix); -extern "C" BOOL checkFmChainGrabAnime__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkSmallUpperGuardAnime__9daAlink_cCFv(daAlink_c* this_); -extern "C" static void dComIfGp_evmng_startCheck__FPCc(); -extern "C" static void mDoAud_setLinkGroupInfo__FUc(u8 param_0); -extern "C" void getAnm__25mDoExt_MtxCalcAnmBlendTblFi(); -extern "C" bool ChkRoofHit__9dBgS_AcchCFv(dBgS_Acch* this_); -extern "C" void ClrGroundHit__9dBgS_AcchFv(dBgS_Acch* this_); -extern "C" u32 checkReinRide__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkWolfEnemyThrowAnime__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkSpecialDemoMode__9daAlink_cCFv(daAlink_c* this_); -extern "C" void setMidnaTalkStatus__9daAlink_cFUc(daAlink_c* this_, u8 status); -extern "C" void set3DStatus__9daAlink_cFUcUc(daAlink_c* this_, u8 status, u8 direction); -extern "C" void offSetFlg__16daAlink_matAnm_cFv(daAlink_matAnm_c*); -extern "C" u32 checkModeFlg__9daAlink_cCFUl(daAlink_c* this_, u32); -extern "C" u8 getShieldChangeWaitTimer__9daAlink_cCFv(daAlink_c* this_); -extern "C" u8 getClothesChangeWaitTimer__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkHorseStart__9daAlink_cFv(daAlink_c* this_); -extern "C" BOOL checkCutTurnCharge__9daAlink_cCFv(daAlink_c* this_); -extern "C" bool checkAcceptDungeonWarpAlink__9daAlink_cFi(daAlink_c* this_); -extern "C" daSpinner_c* getSpinnerActor__9daAlink_cFv(daAlink_c* this_); -extern "C" s16 getSumouCounter__9daAlink_cCFv(daAlink_c* this_); -extern "C" s16 checkSumouWithstand__9daAlink_cCFv(daAlink_c* this_); -extern "C" void setMidnaMsgNum__9daAlink_cFP10fopAc_ac_cUs(daAlink_c* this_, fopAc_ac_c* param_0, u16 pMsgNum); -extern "C" MtxP getModelMtx__9daAlink_cFv(daAlink_c* this_); -extern "C" MtxP getInvMtx__9daAlink_cFv(daAlink_c* this_); -extern "C" MtxP getLinkBackBone1Matrix__9daAlink_cFv(daAlink_c* this_); -extern "C" MtxP getWolfMouthMatrix__9daAlink_cFv(daAlink_c* this_); -extern "C" MtxP getWolfBackbone2Matrix__9daAlink_cFv(daAlink_c* this_); -extern "C" MtxP getBottleMtx__9daAlink_cFv(daAlink_c* this_); -extern "C" MtxP getHeadMtx__9daAlink_cFv(daAlink_c* this_); -extern "C" f32 getGroundY__9daAlink_cFv(daAlink_c* this_); -extern "C" f32 getBaseAnimeFrameRate__9daAlink_cCFv(daAlink_c* this_); -extern "C" s32 getAtnActorID__9daAlink_cCFv(daAlink_c* this_); -extern "C" s32 getItemID__9daAlink_cCFv(daAlink_c* this_); -extern "C" s32 getGrabActorID__9daAlink_cCFv(daAlink_c* this_); -extern "C" void setForcePutPos__9daAlink_cFRC4cXyz(daAlink_c* this_, cXyz const& pPutPos); -extern "C" u32 checkPlayerFly__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkFrontRoll__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkWolfDash__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkAutoJump__9daAlink_cCFv(daAlink_c* this_); -extern "C" bool checkSideStep__9daAlink_cCFv(daAlink_c* this_); -extern "C" bool checkWolfTriggerJump__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkGuardBreakMode__9daAlink_cCFv(daAlink_c* this_); -extern "C" bool checkLv3Slide__9daAlink_cCFv(daAlink_c* this_); -extern "C" bool checkWolfHowlDemoMode__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkElecDamage__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkEmptyBottleSwing__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkBottleSwingMode__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkHawkWait__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkGoatThrow__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkGoatThrowAfter__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkWolfTagLockJump__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkWolfTagLockJumpLand__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkWolfRopeHang__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkRollJump__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkGoronRideWait__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkWolfChain__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkWolfWait__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkWolfJumpAttack__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkWolfRSit__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkBottleDrinkEnd__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkWolfDig__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkCutCharge__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkCutLargeJumpCharge__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkComboCutTurn__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkClimbMove__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkGrassWhistle__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkBoarRun__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkHorseRideNotReady__9daAlink_cCFv(daAlink_c* this_); -extern "C" f32 getSearchBallScale__9daAlink_cCFv(daAlink_c* this_); -extern "C" s16 checkFastShotTime__9daAlink_cFv(daAlink_c* this_); -extern "C" BOOL checkCutJumpCancelTurn__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkSingleBoarBattleSecondBowReady__9daAlink_cCFv(daAlink_c* this_); -extern "C" void cancelDungeonWarpReadyNeck__9daAlink_cFv(daAlink_c* this_); -extern "C" void onSceneChangeAreaJump__9daAlink_cFUcUcP10fopAc_ac_c(daAlink_c* this_, u8 exitID, u8 exitDirection, fopAc_ac_c* scexAc); -extern "C" void onSceneChangeDead__9daAlink_cFUci(daAlink_c* this_, u8 param_0, int param_1); -extern "C" bool checkNoEquipItem__9daAlink_cCFv(daAlink_c* this_); -extern "C" s16 getBoardCutTurnOffsetAngleY__9daAlink_cCFv(daAlink_c* this_); -extern "C" cXyz* getMagneBootsTopVec__9daAlink_cFv(daAlink_c* this_); -extern "C" void setCargoCarry__9daAlink_cFP10fopAc_ac_c(daAlink_c* this_, fopAc_ac_c* p_actor); -extern "C" void setGoronSideMove__9daAlink_cFP10fopAc_ac_c(daAlink_c* this_, fopAc_ac_c* p_actor); -extern "C" void setSumouReady__9daAlink_cFP10fopAc_ac_c(daAlink_c* this_, fopAc_ac_c* p_actor); -extern "C" void setSumouPushBackDirection__9daAlink_cFs(daAlink_c* this_, s16 param_0); -extern "C" void setSumouLoseHeadUp__9daAlink_cFv(daAlink_c* this_); -extern "C" bool checkPriActorOwn__9daAlink_cCFPC10fopAc_ac_c(daAlink_c* this_, const fopAc_ac_c* p_actor); -extern "C" bool checkWolfEnemyBiteAllOwn__9daAlink_cCFPC10fopAc_ac_c(daAlink_c* this_, const fopAc_ac_c* p_actor); -extern "C" void setWolfEnemyHangBiteAngle__9daAlink_cFs(daAlink_c* this_, s16 angle); -extern "C" void setSumouGraspCancelCount__9daAlink_cFi(daAlink_c* this_, int param_0); -extern "C" bool checkItemSwordEquip__9daAlink_cCFv(daAlink_c* this_); -extern "C" f32 getSinkShapeOffset__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkSinkDead__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkCutJumpMode__9daAlink_cCFv(daAlink_c* this_); -extern "C" s16 getGiantPuzzleAimAngle__9daAlink_cCFv(daAlink_c* this_); -extern "C" u8 getSwordChangeWaitTimer__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkMetamorphose__9daAlink_cCFv(daAlink_c* this_); -extern "C" BOOL checkWolfDownAttackPullOut__9daAlink_cCFv(daAlink_c* this_); -extern "C" void getMidnaAtnPos__9daAlink_cCFv(); -extern "C" bool checkCopyRodEquip__9daAlink_cCFv(daAlink_c* this_); -extern "C" bool checkCanoeFishingGetLeft__9daAlink_cCFv(daAlink_c* this_); -extern "C" bool checkCanoeFishingGetRight__9daAlink_cCFv(daAlink_c* this_); -extern "C" u8 checkBeeChildDrink__9daAlink_cCFv(daAlink_c* this_); -extern "C" Z2WolfHowlMgr* getWolfHowlMgrP__9daAlink_cFv(daAlink_c* this_); -extern "C" BOOL checkWolfHowlSuccessAnime__9daAlink_cCFv(daAlink_c* this_); -extern "C" bool checkOctaIealHang__9daAlink_cCFv(daAlink_c* this_); -extern "C" void cancelOctaIealHang__9daAlink_cFv(daAlink_c* this_); -extern "C" void cancelDragonHangBackJump__9daAlink_cFv(daAlink_c* this_); -extern "C" void setOctaIealWildHang__9daAlink_cFv(daAlink_c* this_); -extern "C" bool checkDragonHangRide__9daAlink_cCFv(daAlink_c* this_); -extern "C" void playerStartCollisionSE__9daAlink_cFUlUl(daAlink_c* this_, u32 param_0, u32 param_1); -extern "C" void __dt__16daAlink_matAnm_cFv(); -extern "C" void __dt__12dBgS_ObjAcchFv(); -extern "C" void __dt__Q29daAlink_c14hsChainShape_cFv(); -extern "C" static void daAlink_searchNightStalker__FP10fopAc_ac_cPv(); -extern "C" void checkLightSwordMtrl__9daAlink_cFv(); -extern "C" void checkSwordEquipAnime__9daAlink_cCFv(); -extern "C" void checkCutDashAnime__9daAlink_cCFv(); -extern "C" void checkCutDashEnemyHit__9daAlink_cFR12dCcD_GObjInf(); -extern "C" void getSwordAtType__9daAlink_cFv(); -extern "C" void initCutTurnAt__9daAlink_cFfi(); -extern "C" void checkCutFinishJumpUp__9daAlink_cFv(); -extern "C" void changeCutFast__9daAlink_cFv(); -extern "C" void checkCutFastReady__9daAlink_cFv(); -extern "C" void setSwordModel__9daAlink_cFv(); -extern "C" void offSwordModel__9daAlink_cFv(); -extern "C" void checkCutTypeNoBlur__9daAlink_cCFv(); -extern "C" void checkCutTurnInput__9daAlink_cCFv(); -extern "C" void getCutTurnDirection__9daAlink_cCFv(); -extern "C" void resetCombo__9daAlink_cFi(); -extern "C" void checkComboCnt__9daAlink_cFv(); -extern "C" void setCutType__9daAlink_cFUc(); -extern "C" void setCylAtParam__9daAlink_cFUl11dCcG_At_SplUcUciff(); -extern "C" void setSwordAtParam__9daAlink_cF11dCcG_At_SplUcUciff(); -extern "C" void notSwordHitVibActor__9daAlink_cFP10fopAc_ac_c(); -extern "C" void setSwordHitVibration__9daAlink_cFP12dCcD_GObjInf(); -extern "C" void checkAtShieldHit__9daAlink_cFR12dCcD_GObjInf(); -extern "C" void checkCutReverseAt__9daAlink_cFP12dCcD_GObjInf(); -extern "C" void changeCutReverseProc__9daAlink_cFQ29daAlink_c11daAlink_ANM(); -extern "C" void setCutDash__9daAlink_cFii(); -extern "C" void checkForceSwordSwing__9daAlink_cFv(); -extern "C" void setComboReserb__9daAlink_cFv(); -extern "C" void checkComboReserb__9daAlink_cFv(); -extern "C" void commonCutAction__9daAlink_cFv(); -extern "C" void setSwordVoiceSe__9daAlink_cFUl(); -extern "C" void setSwordChargeVoiceSe__9daAlink_cFv(); -extern "C" void setSwordComboVoice__9daAlink_cFv(); -extern "C" void checkCutTurnInputTrigger__9daAlink_cFv(); -extern "C" void checkCutAction__9daAlink_cFv(); -extern "C" void checkCutTurnCharge__9daAlink_cFv(); -extern "C" void getCutDirection__9daAlink_cFv(); -extern "C" void checkCutCancelNextMode__9daAlink_cFi(); -extern "C" void checkDoCutAction__9daAlink_cFv(); -extern "C" void checkCutBackState__9daAlink_cFv(); -extern "C" void checkCutHeadState__9daAlink_cFv(); -extern "C" void checkDownAttackState__9daAlink_cFv(); -extern "C" void checkCutLargeTurnState__9daAlink_cCFv(); -extern "C" void cancelCutCharge__9daAlink_cFv(); -extern "C" void initCutAtnActorSearch__9daAlink_cFv(); -extern "C" void checkCutAtnActorChange__9daAlink_cFv(); -extern "C" void setCutJumpSpeed__9daAlink_cFi(); -extern "C" void procCutNormalInit__9daAlink_cFi(); -extern "C" void procCutNormal__9daAlink_cFv(); -extern "C" void procCutFinishInit__9daAlink_cFi(); -extern "C" void procCutFinish__9daAlink_cFv(); -extern "C" void procCutFinishJumpUpInit__9daAlink_cFv(); -extern "C" void procCutFinishJumpUp__9daAlink_cFv(); -extern "C" void procCutFinishJumpUpLandInit__9daAlink_cFv(); -extern "C" void procCutFinishJumpUpLand__9daAlink_cFv(); -extern "C" void procCutReverseInit__9daAlink_cFQ29daAlink_c11daAlink_ANM(); -extern "C" void procCutReverse__9daAlink_cFv(); -extern "C" void procCutJumpInit__9daAlink_cFi(); -extern "C" void procCutJump__9daAlink_cFv(); -extern "C" void procCutJumpLandInit__9daAlink_cFi(); -extern "C" void procCutJumpLand__9daAlink_cFv(); -extern "C" void procCutTurnInit__9daAlink_cFii(); -extern "C" void procCutTurn__9daAlink_cFv(); -extern "C" void procCutTurnChargeInit__9daAlink_cFv(); -extern "C" void procCutTurnCharge__9daAlink_cFv(); -extern "C" void procCutTurnMoveInit__9daAlink_cFi(); -extern "C" void procCutTurnMove__9daAlink_cFv(); -extern "C" void procCutDownInit__9daAlink_cFv(); -extern "C" void procCutDown__9daAlink_cFv(); -extern "C" void procCutDownLandInit__9daAlink_cFP13fopEn_enemy_c(); -extern "C" void procCutDownLand__9daAlink_cFv(); -extern "C" void procCutHeadInit__9daAlink_cFv(); -extern "C" void procCutHead__9daAlink_cFv(); -extern "C" void procCutHeadLandInit__9daAlink_cFv(); -extern "C" void procCutHeadLand__9daAlink_cFv(); -extern "C" void procCutLargeJumpChargeInit__9daAlink_cFv(); -extern "C" void procCutLargeJumpCharge__9daAlink_cFv(); -extern "C" void procCutLargeJumpInit__9daAlink_cFv(); -extern "C" void procCutLargeJump__9daAlink_cFv(); -extern "C" void procCutLargeJumpLandInit__9daAlink_cFi(); -extern "C" void procCutLargeJumpLand__9daAlink_cFv(); -extern "C" void procSwordUnequipSpInit__9daAlink_cFv(); -extern "C" void procSwordUnequipSp__9daAlink_cFv(); -extern "C" void getFreezeR__9daAlink_cCFv(); -extern "C" void getFreezeG__9daAlink_cCFv(); -extern "C" void getFreezeB__9daAlink_cCFv(); -extern "C" void checkMiddleBossGoronRoom__9daAlink_cFv(); -extern "C" void setDkCaught__9daAlink_cFP10fopAc_ac_c(); -extern "C" void freezeTimerDamage__9daAlink_cFv(); -extern "C" void onPressedDamage__9daAlink_cFRC4cXyzs(); -extern "C" void checkNoLandDamageSlidePolygon__9daAlink_cFv(); -extern "C" void checkCutLandDamage__9daAlink_cFv(); -extern "C" void checkCaughtEscapeCutTurn__9daAlink_cFv(); -extern "C" void setThrowDamage__9daAlink_cFsffiii(); -extern "C" void damageMagnification__9daAlink_cFii(); -extern "C" void setDamagePoint__9daAlink_cFiiii(); -extern "C" void setDamagePointNormal__9daAlink_cFi(); -extern "C" void setLandDamagePoint__9daAlink_cFi(); -extern "C" void getDamageVec__9daAlink_cFP12dCcD_GObjInf(); -extern "C" void setDashDamage__9daAlink_cFv(); -extern "C" void checkIcePolygonDamage__9daAlink_cFP13cBgS_PolyInfo(); -extern "C" void checkMagicArmorNoDamage__9daAlink_cFv(); -extern "C" void checkPolyDamage__9daAlink_cFv(); -extern "C" void checkElecReturnDamage__9daAlink_cFR12dCcD_GObjInfPP10fopAc_ac_c(); -extern "C" void damageTimerCount__9daAlink_cFv(); -extern "C" void checkHugeAttack__9daAlink_cCFi(); -extern "C" void checkLargeAttack__9daAlink_cCFi(); -extern "C" void checkDamageAction__9daAlink_cFv(); -extern "C" void procDamageInit__9daAlink_cFP12dCcD_GObjInfi(); -extern "C" void procDamage__9daAlink_cFv(); -extern "C" void procCoLargeDamageInit__9daAlink_cFiissP12dCcD_GObjInfi(); -extern "C" void procCoLargeDamage__9daAlink_cFv(); -extern "C" void procLargeDamageUpInit__9daAlink_cFiiss(); -extern "C" void procLargeDamageUp__9daAlink_cFv(); -extern "C" void procCoLargeDamageWallInit__9daAlink_cFiiss(); -extern "C" void procCoLargeDamageWall__9daAlink_cFv(); -extern "C" void procCoPolyDamageInit__9daAlink_cFv(); -extern "C" void procCoPolyDamage__9daAlink_cFv(); -extern "C" void procLandDamageInit__9daAlink_cFi(); -extern "C" void procLandDamage__9daAlink_cFv(); -extern "C" void procCoElecDamageInit__9daAlink_cFP10fopAc_ac_cP12dCcD_GObjInfi(); -extern "C" void procCoElecDamage__9daAlink_cFv(); -extern "C" void procStEscapeInit__9daAlink_cFv(); -extern "C" void procStEscape__9daAlink_cFv(); -extern "C" void procDkCaughtInit__9daAlink_cFUi(); -extern "C" void procDkCaught__9daAlink_cFv(); -extern "C" void setScreamWaitAnime__9daAlink_cFv(); -extern "C" void procScreamWaitInit__9daAlink_cFv(); -extern "C" void procScreamWait__9daAlink_cFv(); -extern "C" void procCoSandWallHitInit__9daAlink_cFv(); -extern "C" void procCoSandWallHit__9daAlink_cFv(); -extern "C" void procCoLavaReturnInit__9daAlink_cFi(); -extern "C" void procCoLavaReturn__9daAlink_cFv(); -extern "C" void procCoSwimFreezeReturnInit__9daAlink_cFv(); -extern "C" void procCoSwimFreezeReturn__9daAlink_cFv(); -extern "C" void checkEnemyGroup__9daAlink_cFP10fopAc_ac_c(); -extern "C" void checkSpecialNpc__9daAlink_cFP10fopAc_ac_c(); -extern "C" void checkShieldAttackEmphasys__9daAlink_cFv(); -extern "C" void checkGuardActionChange__9daAlink_cFv(); -extern "C" void stickArrowIncrement__9daAlink_cFi(); -extern "C" void setArrowShieldActor__9daAlink_cFP10fopAc_ac_ci(); -extern "C" void checkWoodShieldEquipNotIronBall__9daAlink_cCFv(); -extern "C" void getArrowShieldOffset__9daAlink_cCFPC4cXyzPC5csXyzP4cXyzP4cXyz(); -extern "C" void setArrowShieldPos__9daAlink_cCFP4cXyzP5csXyzPC4cXyzPC4cXyz(); -extern "C" void checkUpperGuardAnime__9daAlink_cCFv(); -extern "C" void checkPlayerGuard__9daAlink_cCFv(); -extern "C" void checkPlayerGuardAndAttack__9daAlink_cCFv(); -extern "C" void checkGuardAccept__9daAlink_cFv(); -extern "C" void setUpperGuardAnime__9daAlink_cFf(); -extern "C" void setShieldGuard__9daAlink_cFv(); -extern "C" void setGuardSe__9daAlink_cFP12dCcD_GObjInf(); -extern "C" void setSmallGuard__9daAlink_cFP12dCcD_GObjInf(); -extern "C" void procGuardSlipInit__9daAlink_cFiP12dCcD_GObjInf(); -extern "C" void procGuardSlip__9daAlink_cFv(); -extern "C" void procGuardAttackInit__9daAlink_cFv(); -extern "C" void procGuardAttack__9daAlink_cFv(); -extern "C" void procGuardBreakInit__9daAlink_cFv(); -extern "C" void procGuardBreak__9daAlink_cFv(); -extern "C" void procTurnMoveInit__9daAlink_cFi(); -extern "C" void procTurnMove__9daAlink_cFv(); -extern "C" void getArrowFlyData__9daAlink_cCFPfPfi(); -extern "C" void getArrowIncAtR__9daAlink_cCFv(); -extern "C" void getBombArrowFlyExplodeTime__9daAlink_cCFv(); -extern "C" void getArrowIncAtMaxStart__9daAlink_cCFv(); -extern "C" void getArrowIncAtMax__9daAlink_cCFv(); -extern "C" void checkBowAndSlingItem__9daAlink_cFi(); -extern "C" void setSlingModel__9daAlink_cFv(); -extern "C" void checkBowCameraArrowPosP__9daAlink_cFPsPs(); -extern "C" void checkArrowChargeEnd__9daAlink_cCFv(); -extern "C" void checkBowReadyAnime__9daAlink_cCFv(); -extern "C" void checkBowAnime__9daAlink_cCFv(); -extern "C" void makeArrow__9daAlink_cFv(); -extern "C" void deleteArrow__9daAlink_cFv(); -extern "C" void setBowOrSlingStatus__9daAlink_cFv(); -extern "C" void changeArrowType__9daAlink_cFv(); -extern "C" void cancelBowMoveRideNotAtn__9daAlink_cFv(); -extern "C" void cancelBowMove__9daAlink_cFv(); -extern "C" void setBowReadyAnime__9daAlink_cFv(); -extern "C" void setBowReloadAnime__9daAlink_cFv(); -extern "C" void checkUpperItemActionBow__9daAlink_cFv(); -extern "C" void checkUpperItemActionBowFly__9daAlink_cFv(); -extern "C" void checkNextActionBow__9daAlink_cFv(); -extern "C" void setBowModel__9daAlink_cFv(); -extern "C" void checkBowGrabLeftHand__9daAlink_cCFv(); -extern "C" void setBowHangAnime__9daAlink_cFv(); -extern "C" void setBowNormalAnime__9daAlink_cFv(); -extern "C" void setBowSight__9daAlink_cFv(); -extern "C" void procBowSubjectInit__9daAlink_cFv(); -extern "C" void procBowSubject__9daAlink_cFv(); -extern "C" void procBowMoveInit__9daAlink_cFv(); -extern "C" void procBowMove__9daAlink_cFv(); -extern "C" void checkBoomerangLockAccept__9daAlink_cFv(); -extern "C" void getBoomSpeed__9daAlink_cFv(); -extern "C" void getBoomCatchSpeed__9daAlink_cCFv(); -extern "C" void getBoomFlyMax__9daAlink_cCFv(); -extern "C" void getBoomLockMax__9daAlink_cFv(); -extern "C" void getBoomBgThroughTime__9daAlink_cCFv(); -extern "C" void checkBossBabaRoom__9daAlink_cFv(); -extern "C" void cancelBoomerangLock__9daAlink_cFP10fopAc_ac_c(); -extern "C" void getBoomerangActor__9daAlink_cFv(); -extern "C" void checkBoomerangChargeEnd__9daAlink_cFv(); -extern "C" void checkBoomerangCarry__9daAlink_cFP10fopAc_ac_c(); -extern "C" void initBoomerangUpperAnimeSpeed__9daAlink_cFi(); -extern "C" void checkBoomerangAnime__9daAlink_cCFv(); -extern "C" void checkBoomerangThrowAnime__9daAlink_cCFv(); -extern "C" void setBoomerangReadyQuake__9daAlink_cFv(); -extern "C" void setBoomerangReadyAnime__9daAlink_cFv(); -extern "C" void setThrowBoomerangAnime__9daAlink_cFv(); -extern "C" void setBoomerangCatchAnime__9daAlink_cFv(); -extern "C" void throwBoomerang__9daAlink_cFv(); -extern "C" void returnBoomerang__9daAlink_cFi(); -extern "C" void checkUpperItemActionBoomerang__9daAlink_cFv(); -extern "C" void checkUpperItemActionBoomerangFly__9daAlink_cFv(); -extern "C" void checkNextActionBoomerang__9daAlink_cFv(); -extern "C" void checkBoomerangCatchAction__9daAlink_cFv(); -extern "C" void setBoomerangSight__9daAlink_cFv(); -extern "C" void procBoomerangSubjectInit__9daAlink_cFv(); -extern "C" void procBoomerangSubject__9daAlink_cFv(); -extern "C" void procBoomerangMoveInit__9daAlink_cFv(); -extern "C" void procBoomerangMove__9daAlink_cFv(); -extern "C" void procBoomerangCatchInit__9daAlink_cFv(); -extern "C" void procBoomerangCatch__9daAlink_cFv(); -extern "C" void checkLv6BossRoom__9daAlink_cFv(); -extern "C" void getCopyRodBallSpeed__9daAlink_cCFv(); -extern "C" void getCopyRodBallReturnSpeed__9daAlink_cCFv(); -extern "C" void getCopyRodBallDisMax__9daAlink_cCFv(); -extern "C" void getCopyRodControllActor__9daAlink_cFv(); -extern "C" void getCopyRodCameraActor__9daAlink_cFv(); -extern "C" void initCopyRodUpperAnimeSpeed__9daAlink_cFi(); -extern "C" void checkForestOldCentury__9daAlink_cFv(); -extern "C" void checkCopyRodTopUse__9daAlink_cFv(); -extern "C" void checkCopyRodAnime__9daAlink_cCFv(); -extern "C" void setCopyRodControllAnime__9daAlink_cFv(); -extern "C" void setCopyRodControllUpperSpeedRate__9daAlink_cFv(); -extern "C" void setCopyRodModel__9daAlink_cFv(); -extern "C" void setCopyRodReadyAnime__9daAlink_cFv(); -extern "C" void throwCopyRod__9daAlink_cFv(); -extern "C" void returnCopyRod__9daAlink_cFv(); -extern "C" void checkUpperItemActionCopyRod__9daAlink_cFv(); -extern "C" void checkUpperItemActionCopyRodFly__9daAlink_cFv(); -extern "C" void checkNextActionCopyRod__9daAlink_cFv(); -extern "C" void setCopyRodSight__9daAlink_cFv(); -extern "C" void procCopyRodSubjectInit__9daAlink_cFv(); -extern "C" void procCopyRodSubject__9daAlink_cFv(); -extern "C" void procCopyRodMoveInit__9daAlink_cFv(); -extern "C" void procCopyRodMove__9daAlink_cFv(); -extern "C" void procCopyRodSwingInit__9daAlink_cFv(); -extern "C" void procCopyRodSwing__9daAlink_cFv(); -extern "C" void procCopyRodReviveInit__9daAlink_cFv(); -extern "C" void procCopyRodRevive__9daAlink_cFv(); -extern "C" void concatMagneBootMtx__9daAlink_cFv(); -extern "C" void concatMagneBootInvMtx__9daAlink_cFv(); -extern "C" void multVecMagneBootInvMtx__9daAlink_cFP4cXyz(); -extern "C" void commonMagneLineCheck__9daAlink_cFP4cXyzP4cXyz(); -extern "C" void checkBootsMoveAnime__9daAlink_cFi(); -extern "C" void setHeavyBoots__9daAlink_cFi(); -extern "C" void getMagneBootsLocalAngleY__9daAlink_cFsi(); -extern "C" void setMagneBootsMtx__9daAlink_cFP13cBgS_PolyInfoi(); -extern "C" void cancelMagneBootsOn__9daAlink_cFv(); -extern "C" void checkMagneBootsFly__9daAlink_cFv(); -extern "C" void procBootsEquipInit__9daAlink_cFv(); -extern "C" void procBootsEquip__9daAlink_cFv(); -extern "C" void procMagneBootsFlyInit__9daAlink_cFv(); -extern "C" void procMagneBootsFly__9daAlink_cFv(); -extern "C" void getBombExplodeTime__9daAlink_cCFv(); -extern "C" void getBombGravity__9daAlink_cCFv(); -extern "C" void getBombMaxFallSpeed__9daAlink_cCFv(); -extern "C" void getBombBoundRate__9daAlink_cCFv(); -extern "C" void getBombStopSpeedY__9daAlink_cCFv(); -extern "C" void getBombMaxSpeedY__9daAlink_cCFv(); -extern "C" void getBombEffScale__9daAlink_cCFv(); -extern "C" void getBombAtR__9daAlink_cCFv(); -extern "C" void getEnemyBombColorR__9daAlink_cCFv(); -extern "C" void getBombWaterGravity__9daAlink_cCFv(); -extern "C" void getBombWaterMaxFallSpeed__9daAlink_cCFv(); -extern "C" void getBombExplodeWaterEffectLimit__9daAlink_cCFv(); -extern "C" void getBombInsectLimitAngle__9daAlink_cCFv(); -extern "C" static void daAlink_checkLightBallA__FP10fopAc_ac_c(); -extern "C" static void daAlink_checkLightBallB__FP10fopAc_ac_c(); -extern "C" static void daAlink_searchLightBall__FP10fopAc_ac_cPv(); -extern "C" void checkGrabLineCheck__9daAlink_cFv(); -extern "C" void setGrabCollisionOffset__9daAlink_cFffP13cBgS_PolyInfo(); -extern "C" void exchangeGrabActor__9daAlink_cFP10fopAc_ac_c(); -extern "C" void setForceGrab__9daAlink_cFP10fopAc_ac_cii(); -extern "C" void getGrabThrowRate__9daAlink_cFv(); -extern "C" void checkGrabThrowAnime__9daAlink_cCFv(); -extern "C" void checkGrabAnime__9daAlink_cCFv(); -extern "C" void checkGrabAnimeAndThrow__9daAlink_cCFv(); -extern "C" void checkGrabCarryActor__9daAlink_cFv(); -extern "C" void checkGrabSlowMoveActor__9daAlink_cFv(); -extern "C" void checkGrabHeavyActor__9daAlink_cFv(); -extern "C" void checkGrabSideActor__9daAlink_cFv(); -extern "C" void setGrabUpperAnime__9daAlink_cFf(); -extern "C" void checkGrabRooster__9daAlink_cFv(); -extern "C" void setGrabItemPos__9daAlink_cFv(); -extern "C" void freeGrabItem__9daAlink_cFv(); -extern "C" void setGrabUpperSpeedRate__9daAlink_cFv(); -extern "C" void setCarryArmAngle__9daAlink_cFff(); -extern "C" void checkGrabNotThrow__9daAlink_cFv(); -extern "C" void checkNextActionGrab__9daAlink_cFv(); -extern "C" void initGrabNextMode__9daAlink_cFv(); -extern "C" void setGrabItemThrow__9daAlink_cFv(); -extern "C" void checkUpperGrabItemThrow__9daAlink_cFf(); -extern "C" void putObjLineCheck__9daAlink_cFR11dBgS_LinChkP4cXyzP10fopAc_ac_c(); -extern "C" void grabLineCheck__9daAlink_cFP4cXyzP4cXyz(); -extern "C" void setGrabItemActor__9daAlink_cFP10fopAc_ac_c(); -extern "C" void procGrabReadyInit__9daAlink_cFv(); -extern "C" void procGrabReady__9daAlink_cFv(); -extern "C" void procGrabUpInit__9daAlink_cFv(); -extern "C" void procGrabUp__9daAlink_cFv(); -extern "C" void procGrabMiss__9daAlink_cFv(); -extern "C" void procGrabThrowInit__9daAlink_cFi(); -extern "C" void procGrabThrow__9daAlink_cFv(); -extern "C" void procGrabPutInit__9daAlink_cFv(); -extern "C" void procGrabPut__9daAlink_cFv(); -extern "C" void procGrabWaitInit__9daAlink_cFv(); -extern "C" void procGrabWait__9daAlink_cFv(); -extern "C" void procGrabReboundInit__9daAlink_cFi(); -extern "C" void procGrabRebound__9daAlink_cFv(); -extern "C" void procGrabStandInit__9daAlink_cFv(); -extern "C" void procGrabStand__9daAlink_cFv(); -extern "C" void checkInsectActorName__9daAlink_cFP10fopAc_ac_c(); -extern "C" void procInsectCatchInit__9daAlink_cFv(); -extern "C" void procInsectCatch__9daAlink_cFv(); -extern "C" void procPickUpInit__9daAlink_cFv(); -extern "C" void procPickUp__9daAlink_cFv(); -extern "C" void procPickPutInit__9daAlink_cFi(); -extern "C" void procPickPut__9daAlink_cFv(); -extern "C" void checkSetChainPullAnime__9daAlink_cFs(); -extern "C" void getChainStickAngleY__9daAlink_cCFs(); -extern "C" void checkChainEmphasys__9daAlink_cFv(); -extern "C" void searchFmChainPos__9daAlink_cFv(); -extern "C" void setFmChainPosFromOut__9daAlink_cFP10fopAc_ac_cP4cXyzi(); -extern "C" void checkChainBlockPushPull__9daAlink_cFv(); -extern "C" void procFmChainUpInit__9daAlink_cFv(); -extern "C" void procFmChainUp__9daAlink_cFv(); -extern "C" void procFmChainStrongPullInit__9daAlink_cFv(); -extern "C" void procFmChainStrongPull__9daAlink_cFv(); -extern "C" void setWallGrabStatus__9daAlink_cFUcUc(); -extern "C" void getWallGrabStatus__9daAlink_cFv(); -extern "C" void wallGrabTrigger__9daAlink_cFv(); -extern "C" void wallGrabButton__9daAlink_cFv(); -extern "C" void setPushPullKeepData__9daAlink_cFQ29dBgW_Base13PushPullLabeli(); -extern "C" void checkPushPullTurnBlock__9daAlink_cFv(); -extern "C" void checkPullBehindWall__9daAlink_cFv(); -extern "C" void offGoatStopGame__9daAlink_cFv(); -extern "C" void checkGoatCatchActor__9daAlink_cFP10fopAc_ac_c(); -extern "C" void getGoatCatchDistance2__9daAlink_cFv(); -extern "C" void endPushPull__9daAlink_cFv(); -extern "C" void getPushPullAnimeSpeed__9daAlink_cFv(); -extern "C" void procCoPushPullWaitInit__9daAlink_cFi(); -extern "C" void procCoPushPullWait__9daAlink_cFv(); -extern "C" void procCoPushMoveInit__9daAlink_cFii(); -extern "C" void procCoPushMove__9daAlink_cFv(); -extern "C" void procPullMoveInit__9daAlink_cFi(); -extern "C" void procPullMove__9daAlink_cFv(); -extern "C" static void daAlink_searchGoat__FP10fopAc_ac_cPv(); -extern "C" void cancelGoronThrowEvent__9daAlink_cFv(); -extern "C" void setGoatStopGameFail__9daAlink_cFP10fopAc_ac_c(); -extern "C" void procGoatMoveInit__9daAlink_cFv(); -extern "C" void procGoatMove__9daAlink_cFv(); -extern "C" void procGoatCatchInit__9daAlink_cFP10fopAc_ac_cf(); -extern "C" void procGoatCatch__9daAlink_cFv(); -extern "C" void procGoatStrokeInit__9daAlink_cFv(); -extern "C" void procGoatStroke__9daAlink_cFv(); -extern "C" void procGoronMoveInit__9daAlink_cFv(); -extern "C" void procGoronMove__9daAlink_cFv(); -extern "C" void checkSumouVsActor__9daAlink_cFv(); -extern "C" void cancelSumouMode__9daAlink_cFv(); -extern "C" void sumouPunchTrigger__9daAlink_cFv(); -extern "C" void setSumouPunchStatus__9daAlink_cFv(); -extern "C" void procSumouReadyInit__9daAlink_cFv(); -extern "C" void procSumouReady__9daAlink_cFv(); -extern "C" void procSumouMoveInit__9daAlink_cFv(); -extern "C" void procSumouMove__9daAlink_cFv(); -extern "C" void procSumouSideMoveInit__9daAlink_cFv(); -extern "C" void procSumouSideMove__9daAlink_cFv(); -extern "C" void procSumouActionInit__9daAlink_cFiii(); -extern "C" void procSumouAction__9daAlink_cFv(); -extern "C" void procSumouStaggerInit__9daAlink_cFv(); -extern "C" void procSumouStagger__9daAlink_cFv(); -extern "C" void procSumouWinLoseInit__9daAlink_cFv(); -extern "C" void procSumouWinLose__9daAlink_cFv(); -extern "C" void procSumouShikoInit__9daAlink_cFv(); -extern "C" void procSumouShiko__9daAlink_cFv(); -extern "C" static void daAlink_searchBoar__FP10fopAc_ac_cPv(); -extern "C" static void daAlink_searchCoach__FP10fopAc_ac_cPv(); -extern "C" void checkHorseZeldaBowMode__9daAlink_cFv(); -extern "C" void setHorseZeldaDamage__9daAlink_cFv(); -extern "C" void checkHorseDashAccept__9daAlink_cFv(); -extern "C" void checkCowGame__9daAlink_cFv(); -extern "C" void getReinRideDirection__9daAlink_cFv(); -extern "C" void checkReinRideBgCheck__9daAlink_cFv(); -extern "C" void commonInitForceRideRein__9daAlink_cFv(); -extern "C" void initForceRideBoar__9daAlink_cFv(); -extern "C" void initForceRideHorse__9daAlink_cFv(); -extern "C" void rideGetOff__9daAlink_cFv(); -extern "C" void checkHorseNotDamageReaction__9daAlink_cCFv(); -extern "C" void checkHorseWaitLashAnime__9daAlink_cCFv(); -extern "C" void checkHorseReinLeftOnly__9daAlink_cCFv(); -extern "C" void getReinHandType__9daAlink_cCFv(); -extern "C" void checkHorseLieAnime__9daAlink_cCFv(); -extern "C" void checkHorseSubjectivity__9daAlink_cCFv(); -extern "C" void setHorseSwordUpAnime__9daAlink_cFv(); -extern "C" void setHorseTurnUpperAnime__9daAlink_cFi(); -extern "C" void checkHorseNoUpperAnime__9daAlink_cCFv(); -extern "C" void getHorseReinHandPos__9daAlink_cFP4cXyzP4cXyz(); -extern "C" void checkHorseNotGrab__9daAlink_cCFv(); -extern "C" void setHorseStirrup__9daAlink_cFv(); -extern "C" void changeBoarRunRide__9daAlink_cFv(); -extern "C" void setSyncHorsePos__9daAlink_cFv(); -extern "C" void setSyncBoarPos__9daAlink_cFv(); -extern "C" void setSyncBoarRunPos__9daAlink_cFv(); -extern "C" void setSyncRidePos__9daAlink_cFv(); -extern "C" void setHorseTurnAnime__9daAlink_cFv(); -extern "C" void getBaseHorseAnime__9daAlink_cFPQ29daAlink_c11daAlink_ANM(); -extern "C" void checkHorseSpecialProc__9daAlink_cFv(); -extern "C" void checkHorseServiceWaitAnime__9daAlink_cFv(); -extern "C" void setSyncHorse__9daAlink_cFi(); -extern "C" void setSyncBoar__9daAlink_cFi(); -extern "C" void setSyncRide__9daAlink_cFi(); -extern "C" void setBaseHorseAnimeFrame__9daAlink_cFv(); -extern "C" void setBaseBoarAnime__9daAlink_cFv(); -extern "C" void setBaseRideAnime__9daAlink_cFv(); -extern "C" void checkHorseSwordUpSpped__9daAlink_cFv(); -extern "C" void setHorseSwordUp__9daAlink_cFi(); -extern "C" void setRideSubjectAngle__9daAlink_cFs(); -extern "C" void setBodyAngleRideReadyAnime__9daAlink_cFv(); -extern "C" void checkHorseGetOffWallCheck__9daAlink_cFP4cXyzP4cXyzs(); -extern "C" void checkHorseGetOffDirection__9daAlink_cFv(); -extern "C" void boarForceGetOff__9daAlink_cFv(); -extern "C" void horseGetOffEnd__9daAlink_cFv(); -extern "C" void checkNextActionHorse__9daAlink_cFv(); -extern "C" void checkHorseGetOff__9daAlink_cFv(); -extern "C" void checkHorseGetOffAndSetDoStatus__9daAlink_cFv(); -extern "C" void setHorseGetOff__9daAlink_cFi(); -extern "C" void procHorseRideInit__9daAlink_cFv(); -extern "C" void procHorseRide__9daAlink_cFv(); -extern "C" void procHorseGetOffInit__9daAlink_cFi(); -extern "C" void procHorseGetOff__9daAlink_cFv(); -extern "C" void procHorseWaitInit__9daAlink_cFv(); -extern "C" void procHorseWait__9daAlink_cFv(); -extern "C" void procHorseTurnInit__9daAlink_cFv(); -extern "C" void procHorseTurn__9daAlink_cFv(); -extern "C" void procHorseJumpInit__9daAlink_cFv(); -extern "C" void procHorseJump__9daAlink_cFv(); -extern "C" void procHorseLandInit__9daAlink_cFv(); -extern "C" void procHorseLand__9daAlink_cFv(); -extern "C" void procHorseSubjectivityInit__9daAlink_cFv(); -extern "C" void procHorseSubjectivity__9daAlink_cFv(); -extern "C" void procHorseCutInit__9daAlink_cFv(); -extern "C" void procHorseCut__9daAlink_cFv(); -extern "C" void procHorseCutChargeReadyInit__9daAlink_cFv(); -extern "C" void procHorseCutChargeReady__9daAlink_cFv(); -extern "C" void procHorseCutTurnInit__9daAlink_cFv(); -extern "C" void procHorseCutTurn__9daAlink_cFv(); -extern "C" void procHorseDamageInit__9daAlink_cFP12dCcD_GObjInf(); -extern "C" void procHorseDamage__9daAlink_cFv(); -extern "C" void procHorseBowSubjectInit__9daAlink_cFv(); -extern "C" void procHorseBowSubject__9daAlink_cFv(); -extern "C" void procHorseBowMoveInit__9daAlink_cFv(); -extern "C" void procHorseBowMove__9daAlink_cFv(); -extern "C" void procHorseGrabMoveInit__9daAlink_cFv(); -extern "C" void procHorseGrabMove__9daAlink_cFv(); -extern "C" void procHorseBoomerangSubjectInit__9daAlink_cFv(); -extern "C" void procHorseBoomerangSubject__9daAlink_cFv(); -extern "C" void procHorseBoomerangMoveInit__9daAlink_cFv(); -extern "C" void procHorseBoomerangMove__9daAlink_cFv(); -extern "C" void procHorseHookshotSubjectInit__9daAlink_cFv(); -extern "C" void procHorseHookshotSubject__9daAlink_cFv(); -extern "C" void procHorseHookshotMoveInit__9daAlink_cFv(); -extern "C" void procHorseHookshotMove__9daAlink_cFv(); -extern "C" void procHorseBottleDrinkInit__9daAlink_cFUs(); -extern "C" void procHorseBottleDrink__9daAlink_cFv(); -extern "C" void procHorseKandelaarPourInit__9daAlink_cFv(); -extern "C" void procHorseKandelaarPour__9daAlink_cFv(); -extern "C" void procHorseComebackInit__9daAlink_cFv(); -extern "C" void procHorseComeback__9daAlink_cFv(); -extern "C" void procHorseRunInit__9daAlink_cFv(); -extern "C" void procHorseRun__9daAlink_cFv(); -extern "C" void procHorseHangInit__9daAlink_cFP12dCcD_GObjInfi(); -extern "C" void procHorseHang__9daAlink_cFv(); -extern "C" void procHorseGetKeyInit__9daAlink_cFv(); -extern "C" void procHorseGetKey__9daAlink_cFv(); -extern "C" void procHorseLookDownInit__9daAlink_cFv(); -extern "C" void procHorseLookDown__9daAlink_cFv(); -extern "C" void procBoarRunInit__9daAlink_cFv(); -extern "C" void procBoarRun__9daAlink_cFv(); -extern "C" void getCanoeMaxSpeed__9daAlink_cCFv(); -extern "C" void getCanoeBackMaxSpeed__9daAlink_cCFv(); -extern "C" void getCanoeCres__9daAlink_cCFv(); -extern "C" void getCanoeSpeedRate__9daAlink_cCFv(); -extern "C" void getCanoeMaxRotSpeed__9daAlink_cCFv(); -extern "C" void getCanoeLocalPaddleTop__9daAlink_cFv(); -extern "C" static void daAlink_searchCanoe__FP10fopAc_ac_cPv(); -extern "C" void checkCanoeRideTandem__9daAlink_cFv(); -extern "C" void checkFishingRodAndLureItem__9daAlink_cCFv(); -extern "C" void initFishingRodHand__9daAlink_cFv(); -extern "C" void getCanoePaddleMatrix__9daAlink_cFv(); -extern "C" void checkFishingRodGrab__9daAlink_cCFP10fopAc_ac_c(); -extern "C" void checkCanoePaddleGrab__9daAlink_cCFP10fopAc_ac_c(); -extern "C" void checkCanoeFishingRodGrabOrPut__9daAlink_cCFv(); -extern "C" void initCanoeRide__9daAlink_cFv(); -extern "C" void checkCanoeJumpRide__9daAlink_cFv(); -extern "C" void setArmReelAnime__9daAlink_cFv(); -extern "C" void setFishingWaitAction__9daAlink_cFv(); -extern "C" void setFishGetFace__9daAlink_cFv(); -extern "C" void setRideCanoeBasePos__9daAlink_cFP10fopAc_ac_c(); -extern "C" void setSyncCanoePos__9daAlink_cFv(); -extern "C" void canoeCommon__9daAlink_cFv(); -extern "C" void checkNextActionCanoe__9daAlink_cFv(); -extern "C" void procCanoeRideInit__9daAlink_cFv(); -extern "C" void procCanoeRide__9daAlink_cFv(); -extern "C" void procCanoeJumpRideInit__9daAlink_cFP10fopAc_ac_c(); -extern "C" void procCanoeJumpRide__9daAlink_cFv(); -extern "C" void procCanoeGetOffInit__9daAlink_cFv(); -extern "C" void procCanoeGetOff__9daAlink_cFv(); -extern "C" void procCanoeWaitInit__9daAlink_cFi(); -extern "C" void procCanoeWait__9daAlink_cFv(); -extern "C" void procCanoeRowInit__9daAlink_cFi(); -extern "C" void procCanoeRow__9daAlink_cFv(); -extern "C" void procCanoePaddleShiftInit__9daAlink_cFi(); -extern "C" void procCanoePaddleShift__9daAlink_cFv(); -extern "C" void procCanoePaddlePutInit__9daAlink_cFi(); -extern "C" void procCanoePaddlePut__9daAlink_cFv(); -extern "C" void procCanoePaddleGrabInit__9daAlink_cFv(); -extern "C" void procCanoePaddleGrab__9daAlink_cFv(); -extern "C" void procCanoeRodGrabInit__9daAlink_cFv(); -extern "C" void procCanoeRodGrab__9daAlink_cFv(); -extern "C" void procCanoeFishingWaitInit__9daAlink_cFv(); -extern "C" void procCanoeFishingWait__9daAlink_cFv(); -extern "C" void procCanoeFishingReelInit__9daAlink_cFv(); -extern "C" void procCanoeFishingReel__9daAlink_cFv(); -extern "C" void procCanoeFishingGetInit__9daAlink_cFv(); -extern "C" void procCanoeFishingGet__9daAlink_cFv(); -extern "C" void procCanoeSubjectivityInit__9daAlink_cFv(); -extern "C" void procCanoeSubjectivity__9daAlink_cFv(); -extern "C" void procCanoeBowSubjectInit__9daAlink_cFv(); -extern "C" void procCanoeBowSubject__9daAlink_cFv(); -extern "C" void procCanoeBowMoveInit__9daAlink_cFv(); -extern "C" void procCanoeBowMove__9daAlink_cFv(); -extern "C" void procCanoeGrabMoveInit__9daAlink_cFv(); -extern "C" void procCanoeGrabMove__9daAlink_cFv(); -extern "C" void procCanoeBoomerangSubjectInit__9daAlink_cFv(); -extern "C" void procCanoeBoomerangSubject__9daAlink_cFv(); -extern "C" void procCanoeBoomerangMoveInit__9daAlink_cFv(); -extern "C" void procCanoeBoomerangMove__9daAlink_cFv(); -extern "C" void procCanoeHookshotSubjectInit__9daAlink_cFv(); -extern "C" void procCanoeHookshotSubject__9daAlink_cFv(); -extern "C" void procCanoeHookshotMoveInit__9daAlink_cFv(); -extern "C" void procCanoeHookshotMove__9daAlink_cFv(); -extern "C" void procCanoeBottleDrinkInit__9daAlink_cFUs(); -extern "C" void procCanoeBottleDrink__9daAlink_cFv(); -extern "C" void procCanoeKandelaarPourInit__9daAlink_cFv(); -extern "C" void procCanoeKandelaarPour__9daAlink_cFv(); -extern "C" void setGroundFishingRodActor__9daAlink_cFv(); -extern "C" void procFishingCastInit__9daAlink_cFv(); -extern "C" void procFishingCast__9daAlink_cFv(); -extern "C" void procFishingFoodInit__9daAlink_cFv(); -extern "C" void procFishingFood__9daAlink_cFv(); -extern "C" void getCrawlMoveAnmSpeed__9daAlink_cFv(); -extern "C" void getCrawlMoveSpeed__9daAlink_cFv(); -extern "C" void setCrawlMoveDirectionArrow__9daAlink_cFv(); -extern "C" void changeCrawlAutoMoveProc__9daAlink_cFP4cXyz(); -extern "C" void getCrawlMoveVec__9daAlink_cFP4cXyzP4cXyzP4cXyziiPUc(); -extern "C" void crawlBgCheck__9daAlink_cFP4cXyzP4cXyzi(); -extern "C" void checkCrawlSideWall__9daAlink_cFP4cXyzP4cXyzP4cXyzP4cXyzPsPs(); -extern "C" void decideCrawlDoStatus__9daAlink_cFv(); -extern "C" void checkNotCrawlStand__9daAlink_cFP4cXyz(); -extern "C" void checkNotCrawlStand__9daAlink_cFP4cXyzP4cXyz(); -extern "C" void checkCrawlInHoll__9daAlink_cFP4cXyzP4cXyzP4cXyzi(); -extern "C" void setCrawlMoveHoll__9daAlink_cFv(); -extern "C" void setCrawlMoveAngle__9daAlink_cFv(); -extern "C" void stopHalfMoveAnime__9daAlink_cFf(); -extern "C" void setCrawlAutoMoveAimPos__9daAlink_cFv(); -extern "C" void procCrawlStartInit__9daAlink_cFv(); -extern "C" void procCrawlStart__9daAlink_cFv(); -extern "C" void procCrawlMoveInit__9daAlink_cFss(); -extern "C" void procCrawlMove__9daAlink_cFv(); -extern "C" void procCrawlAutoMoveInit__9daAlink_cFiP4cXyz(); -extern "C" void procCrawlAutoMove__9daAlink_cFv(); -extern "C" void procCrawlEndInit__9daAlink_cFiss(); -extern "C" void procCrawlEnd__9daAlink_cFv(); -extern "C" void getHangMoveAnmSpeed__9daAlink_cFv(); -extern "C" void getHangDirectionFromAngle__9daAlink_cFv(); -extern "C" void hangMoveBgCheck__9daAlink_cFsP4cXyz(); -extern "C" void changeHangMoveProc__9daAlink_cFi(); -extern "C" void checkHangFootWall__9daAlink_cFv(); -extern "C" void setHangGroundY__9daAlink_cFv(); -extern "C" void changeHangEndProc__9daAlink_cFv(); -extern "C" void checkHangStartSideWall__9daAlink_cFs(); -extern "C" void procHangStartInit__9daAlink_cFv(); -extern "C" void procHangStart__9daAlink_cFv(); -extern "C" void procHangFallStartInit__9daAlink_cFP8cM3dGPla(); -extern "C" void procHangFallStart__9daAlink_cFv(); -extern "C" void procHangUpInit__9daAlink_cFi(); -extern "C" void procHangUp__9daAlink_cFv(); -extern "C" void procHangWaitInit__9daAlink_cFv(); -extern "C" void procHangWait__9daAlink_cFv(); -extern "C" void procHangMoveInit__9daAlink_cFi(); -extern "C" void procHangMove__9daAlink_cFv(); -extern "C" void procHangClimbInit__9daAlink_cFf(); -extern "C" void procHangClimb__9daAlink_cFv(); -extern "C" void procHangWallCatchInit__9daAlink_cFv(); -extern "C" void procHangWallCatch__9daAlink_cFv(); -extern "C" void procHangReadyInit__9daAlink_cFv(); -extern "C" void procHangReady__9daAlink_cFv(); -extern "C" void procHangLeverDownInit__9daAlink_cFv(); -extern "C" void procHangLeverDown__9daAlink_cFv(); -extern "C" void changeDragonActor__9daAlink_cFP10fopAc_ac_c(); -extern "C" void setDragonHangPos__9daAlink_cFv(); -extern "C" void setOctaIealHangPos__9daAlink_cFv(); -extern "C" void setBossBodyHangPos__9daAlink_cFv(); -extern "C" void procBossBodyHangInit__9daAlink_cFP10fopAc_ac_c(); -extern "C" void procBossBodyHang__9daAlink_cFv(); -extern "C" void getLadderUnitCount__9daAlink_cCFv(); -extern "C" void setLadderInit__9daAlink_cFv(); -extern "C" void setLadderPosInit__9daAlink_cFv(); -extern "C" void setLadderPos__9daAlink_cFi(); -extern "C" void getLadderMoveAnmSpeed__9daAlink_cFv(); -extern "C" void changeLadderMoveProc__9daAlink_cFi(); -extern "C" void setMoveBGLadderCorrect__9daAlink_cFv(); -extern "C" void checkLadderFall__9daAlink_cFv(); -extern "C" void procLadderUpStartInit__9daAlink_cFv(); -extern "C" void procLadderUpStart__9daAlink_cFv(); -extern "C" void procLadderUpEndInit__9daAlink_cFi(); -extern "C" void procLadderUpEnd__9daAlink_cFv(); -extern "C" void procLadderDownStartInit__9daAlink_cFv(); -extern "C" void procLadderDownStart__9daAlink_cFv(); -extern "C" void procLadderDownEndInit__9daAlink_cFi(); -extern "C" void procLadderDownEnd__9daAlink_cFv(); -extern "C" void procLadderMoveInit__9daAlink_cFiiP4cXyz(); -extern "C" void procLadderMove__9daAlink_cFv(); -extern "C" void getClimbMoveUpDownAnmSpeed__9daAlink_cFv(); -extern "C" void getClimbMoveSideAnmSpeed__9daAlink_cFv(); -extern "C" void checkClimbCode__9daAlink_cFR13cBgS_PolyInfo(); -extern "C" void setClimbInit__9daAlink_cFv(); -extern "C" void setClimbShapeOffset__9daAlink_cFv(); -extern "C" void getClimbDirectionFromAngle__9daAlink_cFv(); -extern "C" void changeClimbMoveProc__9daAlink_cFi(); -extern "C" void checkClimbMoveUpDownProc__9daAlink_cFi(); -extern "C" void checkClimbMoveSideProc__9daAlink_cFi(); -extern "C" void setMoveBGClimbCorrect__9daAlink_cFv(); -extern "C" void checkBgCorrectClimbMove__9daAlink_cFP4cXyzP4cXyz(); -extern "C" void checkClimbRoof__9daAlink_cFf(); -extern "C" void checkClimbGround__9daAlink_cFP4cXyzf(); -extern "C" void checkBgClimbMove__9daAlink_cFi(); -extern "C" void setClimbStartNotGround__9daAlink_cFv(); -extern "C" void procClimbUpStartInit__9daAlink_cFi(); -extern "C" void procClimbUpStart__9daAlink_cFv(); -extern "C" void procClimbDownStartInit__9daAlink_cFs(); -extern "C" void procClimbDownStart__9daAlink_cFv(); -extern "C" void procClimbMoveUpDownInit__9daAlink_cFi(); -extern "C" void procClimbMoveUpDown__9daAlink_cFv(); -extern "C" void procClimbMoveSideInit__9daAlink_cFv(); -extern "C" void procClimbMoveSide__9daAlink_cFv(); -extern "C" void procClimbWaitInit__9daAlink_cFii(); -extern "C" void procClimbWait__9daAlink_cFv(); -extern "C" void procClimbToRoofInit__9daAlink_cFv(); -extern "C" void procClimbToRoof__9daAlink_cFv(); -extern "C" void getRoofHangFMoveAnmSpeed__9daAlink_cCFv(); -extern "C" void getRoofHangSMoveAnmSpeed__9daAlink_cCFv(); -extern "C" void setRoofHangHandOnSE__9daAlink_cFP13cBgS_PolyInfo(); -extern "C" void checkRoofHangMovePos__9daAlink_cFv(); -extern "C" void commonRoofHangProc__9daAlink_cFv(); -extern "C" void checkNextActionRoofHang__9daAlink_cFv(); -extern "C" void procRoofHangStartInit__9daAlink_cFRC13cBgS_PolyInfoRC4cXyzi(); -extern "C" void procRoofHangStart__9daAlink_cFv(); -extern "C" void procRoofHangWaitInit__9daAlink_cFi(); -extern "C" void procRoofHangWait__9daAlink_cFv(); -extern "C" void procRoofHangFrontMoveInit__9daAlink_cFv(); -extern "C" void procRoofHangFrontMove__9daAlink_cFv(); -extern "C" void procRoofHangSideMoveInit__9daAlink_cFv(); -extern "C" void procRoofHangSideMove__9daAlink_cFv(); -extern "C" void procRoofHangTurnInit__9daAlink_cFv(); -extern "C" void procRoofHangTurn__9daAlink_cFv(); -extern "C" void setRoofHangSwitch__9daAlink_cFv(); -extern "C" void procRoofSwitchHangInit__9daAlink_cFP10fopAc_ac_c(); -extern "C" void procRoofSwitchHang__9daAlink_cFv(); -extern "C" void getHangPos__13daObjSwHang_cFv(); -extern "C" void checkZoraWearMaskDraw__9daAlink_cFv(); -extern "C" void checkAcceptUseItemInWater__9daAlink_cCFUs(); -extern "C" void swimDeleteItem__9daAlink_cFv(); -extern "C" void getZoraSwim__9daAlink_cCFv(); -extern "C" void getSwimFrontMaxSpeed__9daAlink_cCFv(); -extern "C" void getSwimMaxFallSpeed__9daAlink_cCFv(); -extern "C" void checkOxygenTimer__9daAlink_cFv(); -extern "C" void offOxygenTimer__9daAlink_cFv(); -extern "C" void checkPossibleWaterInMode__9daAlink_cCFv(); -extern "C" void setWaterInAnmRate__9daAlink_cFP16daPy_frameCtrl_cf(); -extern "C" void swimBgCheck__9daAlink_cFf(); -extern "C" void setSpeedAndAngleSwim__9daAlink_cFv(); -extern "C" void checkNextActionSwim__9daAlink_cFv(); -extern "C" void checkSwimAction__9daAlink_cFi(); -extern "C" void checkSwimUpAction__9daAlink_cFv(); -extern "C" void swimOutAfter__9daAlink_cFi(); -extern "C" void checkSwimFall__9daAlink_cFv(); -extern "C" void checkSwimOutAction__9daAlink_cFv(); -extern "C" void setSwimMoveAnime__9daAlink_cFv(); -extern "C" void checkSwimButtonAccept__9daAlink_cFv(); -extern "C" void checkUpSwimButtonAccept__9daAlink_cFv(); -extern "C" void checkSwimButtonMove__9daAlink_cFv(); -extern "C" void checkZoraSwimMove__9daAlink_cFv(); -extern "C" void checkSwimNeckUpDown__9daAlink_cCFv(); -extern "C" void setSwimUpDownOffset__9daAlink_cFv(); -extern "C" void procSwimUpInit__9daAlink_cFv(); -extern "C" void procSwimUp__9daAlink_cFv(); -extern "C" void procSwimWaitInit__9daAlink_cFi(); -extern "C" void procSwimWait__9daAlink_cFv(); -extern "C" void procSwimMoveInit__9daAlink_cFv(); -extern "C" void procSwimMove__9daAlink_cFv(); -extern "C" void procSwimDiveInit__9daAlink_cFv(); -extern "C" void procSwimDive__9daAlink_cFv(); -extern "C" void procSwimHookshotSubjectInit__9daAlink_cFv(); -extern "C" void procSwimHookshotSubject__9daAlink_cFv(); -extern "C" void procSwimHookshotMoveInit__9daAlink_cFv(); -extern "C" void procSwimHookshotMove__9daAlink_cFv(); -extern "C" void procSwimDamageInit__9daAlink_cFP12dCcD_GObjInf(); -extern "C" void procSwimDamage__9daAlink_cFv(); -extern "C" void procOctaIealSpitInit__9daAlink_cFv(); -extern "C" void procOctaIealSpit__9daAlink_cFv(); -extern "C" static void daAlink_searchIceLeaf__FP10fopAc_ac_cPv(); -extern "C" void checkSnowCode__9daAlink_cCFv(); -extern "C" void checkSnowCodePolygon__9daAlink_cFR13cBgS_PolyInfo(); -extern "C" void checkBoardRestart__9daAlink_cFv(); -extern "C" void boardCommon__9daAlink_cFi(); -extern "C" void setCommonBoardAnime__9daAlink_cFi(); -extern "C" void checkNextActionBoard__9daAlink_cFv(); -extern "C" void checkBoardSwordTriggerAction__9daAlink_cFv(); -extern "C" void commonProcBoardInit__9daAlink_cFQ29daAlink_c12daAlink_PROC(); -extern "C" void getBoardRowAnmSpeed__9daAlink_cFv(); -extern "C" void setBoardLandAnime__9daAlink_cFv(); -extern "C" void procBoardRideInit__9daAlink_cFv(); -extern "C" void procBoardRide__9daAlink_cFv(); -extern "C" void procBoardWaitInit__9daAlink_cFP10fopAc_ac_c(); -extern "C" void procBoardWait__9daAlink_cFv(); -extern "C" void procBoardRowInit__9daAlink_cFv(); -extern "C" void procBoardRow__9daAlink_cFv(); -extern "C" void procBoardTurnInit__9daAlink_cFv(); -extern "C" void procBoardTurn__9daAlink_cFv(); -extern "C" void procBoardJumpInit__9daAlink_cFfi(); -extern "C" void procBoardJump__9daAlink_cFv(); -extern "C" void procBoardSubjectivityInit__9daAlink_cFv(); -extern "C" void procBoardSubjectivity__9daAlink_cFv(); -extern "C" void procBoardCutInit__9daAlink_cFv(); -extern "C" void procBoardCut__9daAlink_cFv(); -extern "C" void procBoardCutTurnInit__9daAlink_cFv(); -extern "C" void procBoardCutTurn__9daAlink_cFv(); -extern "C" void draw__Q29daAlink_c14hsChainShape_cFv(); -extern "C" void hookshotAtHitCallBack__9daAlink_cFP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf(); -extern "C" static void -daAlink_hookshotAtHitCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf(); -extern "C" void getHookshotTopPos__9daAlink_cFv(); -extern "C" void checkHookshotReturnMode__9daAlink_cCFv(); -extern "C" void checkHookshotShootReturnMode__9daAlink_cCFv(); -extern "C" void resetHookshotMode__9daAlink_cFv(); -extern "C" void setEnemyBombHookshot__9daAlink_cFP10fopAc_ac_c(); -extern "C" void checkLv7BossRoom__9daAlink_cFv(); -extern "C" void checkHookshotStickBG__9daAlink_cFR13cBgS_PolyInfo(); -extern "C" void cancelHookshotCarry__9daAlink_cFv(); -extern "C" void changeHookshotDrawModel__9daAlink_cFv(); -extern "C" void checkHookshotRoofLv7Boss__9daAlink_cFv(); -extern "C" void checkChaseHookshot__9daAlink_cFv(); -extern "C" void checkOctaIealSpecialCollect__9daAlink_cFv(); -extern "C" void checkBossOctaIealRoom__9daAlink_cFv(); -extern "C" void checkHookshotWait__9daAlink_cCFv(); -extern "C" void setHookshotCatchNow__9daAlink_cFv(); -extern "C" void setHookshotCarryOffset__9daAlink_cFUiPC4cXyz(); -extern "C" void setHookshotModel__9daAlink_cFv(); -extern "C" void setHookshotSight__9daAlink_cFv(); -extern "C" void cancelHookshotShot__9daAlink_cFv(); -extern "C" void cancelHookshotMove__9daAlink_cFv(); -extern "C" void checkHookshotReadyMaterialOffMode__9daAlink_cCFv(); -extern "C" void setHookshotReadyMaterial__9daAlink_cFv(); -extern "C" void initHookshotUpperAnimeSpeed__9daAlink_cFi(); -extern "C" void initHookshotReady__9daAlink_cFv(); -extern "C" void setHookshotReadyAnime__9daAlink_cFv(); -extern "C" void checkUpperItemActionHookshot__9daAlink_cFv(); -extern "C" void checkNextActionHookshot__9daAlink_cFv(); -extern "C" void setHookshotReturnEnd__9daAlink_cFv(); -extern "C" void setHookshotHangMoveBGCollect__9daAlink_cFv(); -extern "C" void setHookshotTopPosFly__9daAlink_cFv(); -extern "C" void setHookshotPos__9daAlink_cFv(); -extern "C" void setHookshotRoofWaitAnime__9daAlink_cFv(); -extern "C" void setHookshotWallWaitAnime__9daAlink_cFv(); -extern "C" void hookshotRoofTurn__9daAlink_cFv(); -extern "C" void initHookshotRoofWaitActor__9daAlink_cFP10fopAc_ac_c(); -extern "C" void checkNextHookPoint__9daAlink_cFv(); -extern "C" void checkLandHookshotHang__9daAlink_cFv(); -extern "C" void commonHookshotRoofWait__9daAlink_cFv(); -extern "C" void commonHookshotWallWait__9daAlink_cFv(); -extern "C" void procHookshotSubjectInit__9daAlink_cFv(); -extern "C" void procHookshotSubject__9daAlink_cFv(); -extern "C" void procHookshotMoveInit__9daAlink_cFv(); -extern "C" void procHookshotMove__9daAlink_cFv(); -extern "C" void procHookshotFlyInit__9daAlink_cFv(); -extern "C" void procHookshotFly__9daAlink_cFv(); -extern "C" void procHookshotRoofWaitInit__9daAlink_cFiP10fopAc_ac_ci(); -extern "C" void procHookshotRoofWait__9daAlink_cFv(); -extern "C" void procHookshotRoofShootInit__9daAlink_cFP10fopAc_ac_c(); -extern "C" void procHookshotRoofShoot__9daAlink_cFv(); -extern "C" void procHookshotRoofBootsInit__9daAlink_cFP10fopAc_ac_c(); -extern "C" void procHookshotRoofBoots__9daAlink_cFv(); -extern "C" void procHookshotWallWaitInit__9daAlink_cFisi(); -extern "C" void procHookshotWallWait__9daAlink_cFv(); -extern "C" void procHookshotWallShootInit__9daAlink_cFv(); -extern "C" void procHookshotWallShoot__9daAlink_cFv(); -extern "C" void getSpinnerGravity__9daAlink_cCFv(); -extern "C" void getSpinnerMaxFallSpeed__9daAlink_cCFv(); -extern "C" void getSpinnerJumpRate__9daAlink_cCFv(); -extern "C" void getSpinnerRideMoveTime__9daAlink_cFv(); -extern "C" void getSpinnerRideSpeedF__9daAlink_cFv(); -extern "C" void getSpinnerRideDecSpeedMax__9daAlink_cCFv(); -extern "C" void getSpinnerRideDecSpeedMin__9daAlink_cCFv(); -extern "C" void getSpinnerRideDecSpeedRate__9daAlink_cCFv(); -extern "C" void getSpinnerRideRotAngleMax__9daAlink_cCFv(); -extern "C" void getSpinnerRideRotAngleMin__9daAlink_cCFv(); -extern "C" void onSpinnerPathForceRemove__9daAlink_cFv(); -extern "C" void checkSpinnerPathMove__9daAlink_cFv(); -extern "C" void checkLv4BossRoom__9daAlink_cFv(); -extern "C" void checkSpinnerTriggerAttack__9daAlink_cFv(); -extern "C" void setSpinnerSyncPos__9daAlink_cFv(); -extern "C" void procSpinnerReadyInit__9daAlink_cFv(); -extern "C" void procSpinnerReady__9daAlink_cFv(); -extern "C" void setSpinnerStatus__9daAlink_cFUcUc(); -extern "C" void procSpinnerWaitInit__9daAlink_cFv(); -extern "C" void procSpinnerWait__9daAlink_cFv(); -extern "C" void bottleModelCallBack__9daAlink_cFv(); -extern "C" static void daAlink_bottleModelCallBack__FP8J3DJointi(); -extern "C" void getBottleOpenAppearItem__9daAlink_cCFv(); -extern "C" void checkOilBottleItemNotGet__9daAlink_cFUs(); -extern "C" void setBottleModel__9daAlink_cFUs(); -extern "C" void commonBottleDrink__9daAlink_cFi(); -extern "C" void makeFairy__9daAlink_cFP4cXyzUl(); -extern "C" void procBottleDrinkInit__9daAlink_cFUs(); -extern "C" void procBottleDrink__9daAlink_cFv(); -extern "C" void procBottleOpenInit__9daAlink_cFUs(); -extern "C" void procBottleOpen__9daAlink_cFv(); -extern "C" void procBottleSwingInit__9daAlink_cFP10fopAc_ac_ci(); -extern "C" void procBottleSwing__9daAlink_cFv(); -extern "C" void procBottleGetInit__9daAlink_cFi(); -extern "C" void procBottleGet__9daAlink_cFv(); -extern "C" void Insect_Release__9dInsect_cFv(); -extern "C" static void daAlink_searchTagKandelaar__FP10fopAc_ac_cPv(); -extern "C" static void daAlink_searchTagKtOnFire__FP10fopAc_ac_cPv(); -extern "C" void setKandelaarMtx__9daAlink_cFPA4_fii(); -extern "C" void checkWaterInKandelaarOffset__9daAlink_cFf(); -extern "C" void checkWaterInKandelaar__9daAlink_cFf(); -extern "C" void offKandelaarModel__9daAlink_cFv(); -extern "C" void checkUseKandelaar__9daAlink_cFi(); -extern "C" void checkKandelaarSwing__9daAlink_cCFi(); -extern "C" void kandelaarModelCallBack__9daAlink_cFv(); -extern "C" static void daAlink_kandelaarModelCallBack__FP8J3DJointi(); -extern "C" void getKandelaarFlamePos__9daAlink_cFv(); -extern "C" void checkKandelaarEquipAnime__9daAlink_cCFv(); -extern "C" void preKandelaarDraw__9daAlink_cFv(); -extern "C" void setTevColor__11J3DTevBlockFUlPC13J3DGXColorS10(); -extern "C" void setKandelaarModel__9daAlink_cFv(); -extern "C" void resetOilBottleModel__9daAlink_cFv(); -extern "C" void commonKandelaarPourInit__9daAlink_cFv(); -extern "C" void commonKandelaarPour__9daAlink_cFi(); -extern "C" void initKandelaarSwing__9daAlink_cFv(); -extern "C" void procKandelaarSwingInit__9daAlink_cFv(); -extern "C" void procKandelaarSwing__9daAlink_cFv(); -extern "C" void procKandelaarPourInit__9daAlink_cFv(); -extern "C" void procKandelaarPour__9daAlink_cFv(); -extern "C" static void daAlink_searchWhistle__FP10fopAc_ac_cPv(); -extern "C" static void daAlink_searchHawk__FP10fopAc_ac_cPv(); -extern "C" void setGrassWhistleModel__9daAlink_cFi(); -extern "C" void setHorseWhistleModel__9daAlink_cFv(); -extern "C" void procGrassWhistleGetInit__9daAlink_cFv(); -extern "C" void procGrassWhistleGet__9daAlink_cFv(); -extern "C" void procGrassWhistleWaitInit__9daAlink_cFiiisP4cXyz(); -extern "C" void procGrassWhistleWait__9daAlink_cFv(); -extern "C" void procCoHorseCallWaitInit__9daAlink_cFi(); -extern "C" void procCoHorseCallWait__9daAlink_cFv(); -extern "C" void procHawkCatchInit__9daAlink_cFv(); -extern "C" void procHawkCatch__9daAlink_cFv(); -extern "C" void procHawkSubjectInit__9daAlink_cFv(); -extern "C" void procHawkSubject__9daAlink_cFv(); -extern "C" void getIronBallCenterPos__9daAlink_cFv(); -extern "C" void getIronBallBgHit__9daAlink_cCFv(); -extern "C" void checkIronBallThrowMode__9daAlink_cCFv(); -extern "C" void checkIronBallThrowReturnMode__9daAlink_cCFv(); -extern "C" void checkIronBallReturn__9daAlink_cCFv(); -extern "C" void checkIronBallGroundStop__9daAlink_cCFv(); -extern "C" void setIronBallWaitUpperAnime__9daAlink_cFi(); -extern "C" void checkIronBallDelete__9daAlink_cFv(); -extern "C" void setIronBallReturn__9daAlink_cFi(); -extern "C" void setIronBallBgCheckPos__9daAlink_cFv(); -extern "C" void setIronBallModel__9daAlink_cFv(); -extern "C" void __ct__5csXyzFv(); -extern "C" void setIronBallGroundVec__9daAlink_cFPC4cXyzP4cXyz(); -extern "C" void setIronBallChainPos__9daAlink_cFv(); -extern "C" void checkIronBallReturnChange__9daAlink_cFv(); -extern "C" void setIronBallPos__9daAlink_cFv(); -extern "C" void checkIronBallAnime__9daAlink_cCFv(); -extern "C" void setIronBallReadyAnime__9daAlink_cFv(); -extern "C" void setIronBallBaseAnime__9daAlink_cFv(); -extern "C" void checkUpperItemActionIronBall__9daAlink_cFv(); -extern "C" void checkNextActionIronBall__9daAlink_cFv(); -extern "C" void procIronBallSubjectInit__9daAlink_cFv(); -extern "C" void procIronBallSubject__9daAlink_cFv(); -extern "C" void procIronBallMoveInit__9daAlink_cFv(); -extern "C" void procIronBallMove__9daAlink_cFv(); -extern "C" void procIronBallThrowInit__9daAlink_cFv(); -extern "C" void procIronBallThrow__9daAlink_cFv(); -extern "C" void procIronBallReturnInit__9daAlink_cFv(); -extern "C" void procIronBallReturn__9daAlink_cFv(); -extern "C" void checkEventRun__9daAlink_cCFv(); -extern "C" void createNpcTks__9daAlink_cFP4cXyziUl(); -extern "C" void checkSetNpcTks__9daAlink_cFP4cXyzii(); -extern "C" void checkDemoAction__9daAlink_cFv(); -extern "C" void checkDemoMoveMode__9daAlink_cCFUl(); -extern "C" void setDemoMoveData__9daAlink_cFPUlPC4cXyz(); -extern "C" void setNoDrawSwordShield__9daAlink_cFiUs(); -extern "C" void setDemoData__9daAlink_cFv(); -extern "C" void resetDemoBck__9daAlink_cFv(); -extern "C" void endHighModel__9daAlink_cFv(); -extern "C" void resetSpecialEvent__9daAlink_cFv(); -extern "C" void endDemoMode__9daAlink_cFv(); -extern "C" void getDemoLookActor__9daAlink_cFv(); -extern "C" void checkFlyAtnWait__9daAlink_cFv(); -extern "C" void setGetItemFace__9daAlink_cFUs(); -extern "C" void checkGrabTalkActor__9daAlink_cFP10fopAc_ac_c(); -extern "C" void setTalkStartBack__9daAlink_cFP4cXyz(); -extern "C" void setShapeAngleToTalkActor__9daAlink_cFv(); -extern "C" void setTalkAnime__9daAlink_cFv(); -extern "C" void setTradeItemAnime__9daAlink_cFv(); -extern "C" void setTradeItemOutHand__9daAlink_cFv(); -extern "C" void checkEndMessage__9daAlink_cFUl(); -extern "C" void setDemoRightHandIndex__9daAlink_cFUs(); -extern "C" void setDemoLeftHandIndex__9daAlink_cFUs(); -extern "C" void setDemoRide__9daAlink_cFUs(); -extern "C" void setDemoBodyBck__9daAlink_cFP13dDemo_actor_cUs(); -extern "C" void checkFinalBattle__9daAlink_cFv(); -extern "C" void checkRestartDead__9daAlink_cFii(); -extern "C" void setDeadRideSyncPos__9daAlink_cFv(); -extern "C" void checkDeadHP__9daAlink_cFv(); -extern "C" void checkDeadAction__9daAlink_cFi(); -extern "C" void setHighModelBck__9daAlink_cFP13mDoExt_bckAnmUs(); -extern "C" void setHighModelFaceBtk__9daAlink_cFUs(); -extern "C" void setDemoBrk__9daAlink_cFPP15J3DAnmTevRegKeyP8J3DModelUs(); -extern "C" void setStickAnmData__9daAlink_cFP10J3DAnmBaseiiUsi(); -extern "C" static void daAlink_c_getDemoIDData__FP13dDemo_actor_cPiPiPiPUsPiPi(); -extern "C" void procDemoCommon__9daAlink_cFv(); -extern "C" void procCoToolDemoInit__9daAlink_cFv(); -extern "C" void procCoToolDemo__9daAlink_cFv(); -extern "C" void procCoTalkInit__9daAlink_cFv(); -extern "C" void procCoTalk__9daAlink_cFv(); -extern "C" void procCoOpenTreasureInit__9daAlink_cFv(); -extern "C" void procCoOpenTreasure__9daAlink_cFv(); -extern "C" void procCoUnequipInit__9daAlink_cFv(); -extern "C" void procCoUnequip__9daAlink_cFv(); -extern "C" void setGetSubBgm__9daAlink_cFi(); -extern "C" void checkTreasureRupeeReturn__9daAlink_cCFi(); -extern "C" void procCoGetItemInit__9daAlink_cFv(); -extern "C" void procCoGetItem__9daAlink_cFv(); -extern "C" void procCoTurnBackInit__9daAlink_cFv(); -extern "C" void procCoTurnBack__9daAlink_cFv(); -extern "C" void procDoorOpenInit__9daAlink_cFv(); -extern "C" void procDoorOpen__9daAlink_cFv(); -extern "C" void procCoLookWaitInit__9daAlink_cFv(); -extern "C" void procCoLookWait__9daAlink_cFv(); -extern "C" void procCoDemoPushPullWaitInit__9daAlink_cFv(); -extern "C" void procCoDemoPushMoveInit__9daAlink_cFv(); -extern "C" void setMonkeyMoveAnime__9daAlink_cFv(); -extern "C" void procMonkeyMoveInit__9daAlink_cFv(); -extern "C" void procMonkeyMove__9daAlink_cFv(); -extern "C" void procDemoBoomerangCatchInit__9daAlink_cFv(); -extern "C" void procDemoBoomerangCatch__9daAlink_cFv(); -extern "C" void procCoDeadInit__9daAlink_cFi(); -extern "C" void procCoDead__9daAlink_cFv(); -extern "C" void procCoLookAroundInit__9daAlink_cFv(); -extern "C" void procCoLookAround__9daAlink_cFv(); -extern "C" void procBossAtnWaitInit__9daAlink_cFv(); -extern "C" void procCoQuakeWaitInit__9daAlink_cFv(); -extern "C" void procCoCaughtInit__9daAlink_cFv(); -extern "C" void procLookUpInit__9daAlink_cFv(); -extern "C" void procLookUp__9daAlink_cFv(); -extern "C" void procLookUpToGetItemInit__9daAlink_cFv(); -extern "C" void procLookUpToGetItem__9daAlink_cFv(); -extern "C" void procHandPatInit__9daAlink_cFv(); -extern "C" void procHandPat__9daAlink_cFv(); -extern "C" void procCoFogDeadInit__9daAlink_cFv(); -extern "C" void procCoFogDead__9daAlink_cFv(); -extern "C" void procWolfSmellWaitInit__9daAlink_cFv(); -extern "C" void procCoNodInit__9daAlink_cFv(); -extern "C" void procCoNod__9daAlink_cFv(); -extern "C" void procCoEyeAwayInit__9daAlink_cFv(); -extern "C" void procCoGlareInit__9daAlink_cFv(); -extern "C" void procCoGlare__9daAlink_cFv(); -extern "C" void procGoatStopReadyInit__9daAlink_cFv(); -extern "C" void procGoatStopReady__9daAlink_cFv(); -extern "C" void procCoGetReadySitInit__9daAlink_cFv(); -extern "C" void procCoGetReadySit__9daAlink_cFv(); -extern "C" void procCoTwGateInit__9daAlink_cFv(); -extern "C" void procCoTwGate__9daAlink_cFv(); -extern "C" void procWolfSnowEscapeInit__9daAlink_cFv(); -extern "C" void procWolfSnowEscape__9daAlink_cFv(); -extern "C" void procZoraMoveInit__9daAlink_cFv(); -extern "C" void procZoraMove__9daAlink_cFv(); -extern "C" void procLookAroundTurnInit__9daAlink_cFv(); -extern "C" void procLookAroundTurn__9daAlink_cFv(); -extern "C" void procTradeItemOutInit__9daAlink_cFv(); -extern "C" void procTradeItemOut__9daAlink_cFv(); -extern "C" void checkLetterItem__9daAlink_cFi(); -extern "C" void procNotUseItemInit__9daAlink_cFi(); -extern "C" void procNotUseItem__9daAlink_cFv(); -extern "C" void procSwordReadyInit__9daAlink_cFv(); -extern "C" void procSwordReady__9daAlink_cFv(); -extern "C" void setSwordPushAnime__9daAlink_cFv(); -extern "C" void procSwordPushInit__9daAlink_cFv(); -extern "C" void procSwordPush__9daAlink_cFv(); -extern "C" void procGanonFinishInit__9daAlink_cFv(); -extern "C" void procGanonFinish__9daAlink_cFv(); -extern "C" void procCutFastReadyInit__9daAlink_cFv(); -extern "C" void procCutFastReady__9daAlink_cFv(); -extern "C" void procMasterSwordStickInit__9daAlink_cFv(); -extern "C" void procMasterSwordStick__9daAlink_cFv(); -extern "C" void procMasterSwordPullInit__9daAlink_cFv(); -extern "C" void procMasterSwordPull__9daAlink_cFv(); -extern "C" void checkLv7DungeonShop__9daAlink_cFv(); -extern "C" void procDungeonWarpReadyInit__9daAlink_cFv(); -extern "C" void procDungeonWarpReady__9daAlink_cFv(); -extern "C" void procDungeonWarpInit__9daAlink_cFv(); -extern "C" void procDungeonWarp__9daAlink_cFv(); -extern "C" void procDungeonWarpSceneStartInit__9daAlink_cFv(); -extern "C" void procDungeonWarpSceneStart__9daAlink_cFv(); -extern "C" static void daAlink_searchPortal__FP10fopAc_ac_cPv(); -extern "C" void checkAcceptWarp__9daAlink_cFv(); -extern "C" void dungeonReturnWarp__9daAlink_cFv(); -extern "C" void skipPortalObjWarp__9daAlink_cFv(); -extern "C" void checkWarpStart__9daAlink_cFv(); -extern "C" void warpModelTexScroll__9daAlink_cFv(); -extern "C" void procCoWarpInit__9daAlink_cFii(); -extern "C" void procCoWarp__9daAlink_cFv(); -extern "C" void commonWaitTurnInit__9daAlink_cFv(); -extern "C" void commonGrabPutInit__9daAlink_cFv(); -extern "C" void commonLargeDamageUpInit__9daAlink_cFiiss(); -extern "C" void commonFallInit__9daAlink_cFi(); -extern "C" void setEmitter__9daAlink_cFPUlUsPC4cXyzPC5csXyz(); -extern "C" void setEmitterPolyColor__9daAlink_cFPUlUsR13cBgS_PolyInfoPC4cXyzPC5csXyz(); -extern "C" void setEmitterColor__9daAlink_cFPUlUsPC4cXyzPC5csXyz(); -extern "C" void stopDrawParticle__9daAlink_cFUl(); -extern "C" void setEffectFrontRollParam__9daAlink_cFv(); -extern "C" void setEffectSlipParam__9daAlink_cFv(); -extern "C" void setEffectRunParam__9daAlink_cFv(); -extern "C" void setEffectSmallLandParam__9daAlink_cFv(); -extern "C" void setEffectLandParam__9daAlink_cFv(); -extern "C" void setEffectSumouParam__9daAlink_cFv(); -extern "C" void setFootEffectProcType__9daAlink_cFi(); -extern "C" void setWolfFootOn__9daAlink_cFi(); -extern "C" void setFootMark__9daAlink_cFP4cXyzUsi(); -extern "C" void setEffect__9daAlink_cFv(); -extern "C" void setSumouEffect__9daAlink_cFv(); -extern "C" void setWaterfallEffect__9daAlink_cFPC4cXyzPUl(); -extern "C" void setWaterfallEffect__9daAlink_cFv(); -extern "C" void setMagneBootsEffect__9daAlink_cFv(); -extern "C" void setSwordChargeEffect__9daAlink_cFv(); -extern "C" void setElecDamageEffect__9daAlink_cFv(); -extern "C" void clearCutTurnEffectID__9daAlink_cFv(); -extern "C" void setCutTurnEffect__9daAlink_cFv(); -extern "C" void setHorseCutTurnEffect__9daAlink_cFv(); -extern "C" void setCutLargeJumpLandEffect__9daAlink_cFv(); -extern "C" void setBootsLightEffect__9daAlink_cFv(); -extern "C" void setLightningSwordEffect__9daAlink_cFv(); -extern "C" void setWolfRollAttackEffect__9daAlink_cFv(); -extern "C" void setWolfDigEffect__9daAlink_cFv(); -extern "C" void setWolfSwimEndEffect__9daAlink_cFPP14JPABaseEmitterPP14JPABaseEmitter(); -extern "C" void setWolfLockAttackEffect__9daAlink_cFv(); -extern "C" void setWolfJumpAttackEffect__9daAlink_cFv(); -extern "C" void setWolfBarrierHitEffect__9daAlink_cFR11dBgS_LinChk(); -extern "C" void setCutWaterDropEffect__9daAlink_cFv(); -extern "C" void setWaterDropEffect__9daAlink_cFv(); -extern "C" void setSwordUpColorEffect__9daAlink_cFv(); -extern "C" void setSwordCutSplash__9daAlink_cFv(); -extern "C" void setMetamorphoseEffectStartLink__9daAlink_cFv(); -extern "C" void setMetamorphoseEffect__9daAlink_cFv(); -extern "C" void setRunSplash__9daAlink_cFv(); -extern "C" void execute__29dAlink_bottleWaterPcallBack_cFP14JPABaseEmitterP15JPABaseParticle(); -extern "C" void resetFairyEffect__9daAlink_cFv(); -extern "C" void setBottleEffect__9daAlink_cFv(); -extern "C" void clearFirePointDamageEffect__9daAlink_cFi(); -extern "C" void initFirePointDamageEffectAll__9daAlink_cFv(); -extern "C" void initFirePointDamageEffect__9daAlink_cFPC4cXyzP12dCcD_GObjInf(); -extern "C" void setFirePointDamageEffect__9daAlink_cFv(); -extern "C" void setFreezeEffect__9daAlink_cFv(); -extern "C" void setWoodShieldBurnEffect__9daAlink_cFv(); -extern "C" void clearWoodShieldBurnEffect__9daAlink_cFv(); -extern "C" void setWoodShieldBurnOutEffect__9daAlink_cFv(); -extern "C" void initBlur__14daAlink_blur_cFfiPC4cXyzPC4cXyzPC4cXyz(); -extern "C" static void setBezierPos__FPC4cXyzPC4cXyzPC4cXyzPC4cXyzfP4cXyz(); -extern "C" void copyBlur__14daAlink_blur_cFPC4cXyzPC4cXyzPC4cXyz(); -extern "C" void traceBlur__14daAlink_blur_cFPC4cXyzPC4cXyzs(); -extern "C" void draw__14daAlink_blur_cFv(); -extern "C" void create__20daAlink_lockCursor_cFv(); -extern "C" void setAnimation__7J2DPaneFP15J2DAnmTevRegKey(); -extern "C" void setAnimation__7J2DPaneFP11J2DAnmColor(); -extern "C" void update__20daAlink_lockCursor_cFv(); -extern "C" void draw__20daAlink_lockCursor_cFv(); -extern "C" void create__15daAlink_sight_cFv(); -extern "C" void draw__15daAlink_sight_cFv(); -extern "C" void onLockFlg__15daAlink_sight_cFv(); -extern "C" void changeCommon__9daAlink_cFv(); -extern "C" void changeWolf__9daAlink_cFv(); -extern "C" void changeLink__9daAlink_cFi(); -extern "C" void onWolfEyeUp__9daAlink_cFv(); -extern "C" void offWolfEyeUp__9daAlink_cFv(); -extern "C" void wolfSenseTrigger__9daAlink_cFv(); -extern "C" void setWolfSenceStatus__9daAlink_cFUc(); -extern "C" void wolfClawTrigger__9daAlink_cFv(); -extern "C" void setWolfDigStatus__9daAlink_cFUc(); -extern "C" void checkWolfShapeReverse__9daAlink_cCFv(); -extern "C" void checkWolfSideStep__9daAlink_cCFv(); -extern "C" void setWolfTailAngle__9daAlink_cFv(); -extern "C" void checkWolfSlowDash__9daAlink_cFv(); -extern "C" void setSpeedAndAngleWolf__9daAlink_cFv(); -extern "C" void setSpeedAndAngleWolfAtn__9daAlink_cFv(); -extern "C" void checkWolfAtnWait__9daAlink_cFv(); -extern "C" void checkUnderMove0BckNoArcWolf__9daAlink_cCFQ29daAlink_c12daAlink_WANM(); -extern "C" void setBlendWolfMoveAnime__9daAlink_cFf(); -extern "C" void checkWolfAtnMoveBack__9daAlink_cFs(); -extern "C" void setWolfAtnMoveDirection__9daAlink_cFv(); -extern "C" void setBlendWolfAtnMoveAnime__9daAlink_cFf(); -extern "C" void setBlendWolfAtnBackMoveAnime__9daAlink_cFf(); -extern "C" void -setDoubleAnimeWolf__9daAlink_cFfffQ29daAlink_c12daAlink_WANMQ29daAlink_c12daAlink_WANMif(); -extern "C" void setSingleAnimeWolfBase__9daAlink_cFQ29daAlink_c12daAlink_WANM(); -extern "C" void setSingleAnimeWolfBaseMorf__9daAlink_cFQ29daAlink_c12daAlink_WANMf(); -extern "C" void setSingleAnimeWolfBaseSpeed__9daAlink_cFQ29daAlink_c12daAlink_WANMff(); -extern "C" void setSingleAnimeWolf__9daAlink_cFQ29daAlink_c12daAlink_WANMffsf(); -extern "C" void -setSingleAnimeWolfParam__9daAlink_cFQ29daAlink_c12daAlink_WANMPC16daAlinkHIO_anm_c(); -extern "C" void checkWolfLandAction__9daAlink_cFi(); -extern "C" void checkMidnaUseAbility__9daAlink_cCFv(); -extern "C" void checkWolfUseAbility__9daAlink_cFv(); -extern "C" void checkWolfGroundSpecialMode__9daAlink_cFv(); -extern "C" void checkNextActionWolf__9daAlink_cFi(); -extern "C" void wolfSideBgCheck__9daAlink_cFs(); -extern "C" void checkWolfAttackReverse__9daAlink_cFi(); -extern "C" void checkWolfBarrierHitReverse__9daAlink_cFv(); -extern "C" void checkWolfBarrierWallHit__9daAlink_cFR13cBgS_PolyInfo(); -extern "C" void wolfBgCheck__9daAlink_cFv(); -extern "C" void changeWolfBlendRate__9daAlink_cFi(); -extern "C" void setWolfFootMatrix__9daAlink_cFv(); -extern "C" void wolfFootBgCheck__9daAlink_cFv(); -extern "C" void checkWolfWaitSlipPolygon__9daAlink_cFv(); -extern "C" void setWolfWaitSlip__9daAlink_cFv(); -extern "C" void checkWolfAtnDoCharge__9daAlink_cFv(); -extern "C" void setWolfChainPos__9daAlink_cFv(); -extern "C" void setWolfAnmVoice__9daAlink_cFv(); -extern "C" void procWolfServiceWaitInit__9daAlink_cFi(); -extern "C" void procWolfServiceWait__9daAlink_cFv(); -extern "C" void procWolfTiredWaitInit__9daAlink_cFv(); -extern "C" void procWolfTiredWait__9daAlink_cFv(); -extern "C" void procWolfMidnaRideShockInit__9daAlink_cFv(); -extern "C" void procWolfMidnaRideShock__9daAlink_cFv(); -extern "C" void procWolfWaitInit__9daAlink_cFv(); -extern "C" void procWolfWait__9daAlink_cFv(); -extern "C" void procWolfMoveInit__9daAlink_cFv(); -extern "C" void procWolfMove__9daAlink_cFv(); -extern "C" void procWolfDashInit__9daAlink_cFv(); -extern "C" void procWolfDash__9daAlink_cFv(); -extern "C" void procWolfDashReverseInit__9daAlink_cFi(); -extern "C" void procWolfDashReverse__9daAlink_cFv(); -extern "C" void procWolfAtnActorMoveInit__9daAlink_cFv(); -extern "C" void procWolfAtnActorMove__9daAlink_cFv(); -extern "C" void procWolfWaitTurnInit__9daAlink_cFv(); -extern "C" void procWolfWaitTurn__9daAlink_cFv(); -extern "C" void procWolfSideStepInit__9daAlink_cFi(); -extern "C" void procWolfSideStep__9daAlink_cFv(); -extern "C" void procWolfSideStepLandInit__9daAlink_cFs(); -extern "C" void procWolfSideStepLand__9daAlink_cFv(); -extern "C" void procWolfBackJumpInit__9daAlink_cFi(); -extern "C" void procWolfBackJump__9daAlink_cFv(); -extern "C" void procWolfBackJumpLandInit__9daAlink_cFss(); -extern "C" void procWolfBackJumpLand__9daAlink_cFv(); -extern "C" void procWolfHowlInit__9daAlink_cFi(); -extern "C" void procWolfHowl__9daAlink_cFv(); -extern "C" void procWolfAutoJumpInit__9daAlink_cFi(); -extern "C" void procWolfAutoJump__9daAlink_cFv(); -extern "C" void procWolfFallInit__9daAlink_cFif(); -extern "C" void procWolfFall__9daAlink_cFv(); -extern "C" void procWolfLandInit__9daAlink_cFv(); -extern "C" void procWolfLand__9daAlink_cFv(); -extern "C" void procWolfSitInit__9daAlink_cFi(); -extern "C" void procWolfSit__9daAlink_cFv(); -extern "C" void procWolfStepMoveInit__9daAlink_cFv(); -extern "C" void procWolfStepMove__9daAlink_cFv(); -extern "C" void procWolfSlipInit__9daAlink_cFv(); -extern "C" void procWolfSlip__9daAlink_cFv(); -extern "C" void procWolfSlipTurnInit__9daAlink_cFi(); -extern "C" void procWolfSlipTurn__9daAlink_cFv(); -extern "C" void procWolfSlipTurnLandInit__9daAlink_cFv(); -extern "C" void procWolfSlipTurnLand__9daAlink_cFv(); -extern "C" void procWolfSlideReadyInit__9daAlink_cFsi(); -extern "C" void procWolfSlideReady__9daAlink_cFv(); -extern "C" void procWolfSlideInit__9daAlink_cFsi(); -extern "C" void procWolfSlide__9daAlink_cFv(); -extern "C" void procWolfSlideLandInit__9daAlink_cFv(); -extern "C" void procWolfSlideLand__9daAlink_cFv(); -extern "C" void procWolfWaitSlipInit__9daAlink_cFv(); -extern "C" void procWolfWaitSlip__9daAlink_cFv(); -extern "C" void procWolfSlopeStartInit__9daAlink_cFi(); -extern "C" void procWolfSlopeStart__9daAlink_cFv(); -extern "C" static void daAlink_searchGoldWolf__FP10fopAc_ac_cPv(); -extern "C" static void daAlink_searchWolfHowl__FP10fopAc_ac_cPv(); -extern "C" void setWolfHowlNotHappen__9daAlink_cFi(); -extern "C" void procWolfHowlDemoInit__9daAlink_cFv(); -extern "C" void procWolfHowlDemo__9daAlink_cFv(); -extern "C" void setWolfHowling__15daObj_Sekizoa_cFv(); -extern "C" void checkWolfRope__9daAlink_cFv(); -extern "C" void checkWolfRopeHit__9daAlink_cCFP12dCcD_GObjInfPC4cXyzi(); -extern "C" void checkWolfRopeJumpHang__9daAlink_cFv(); -extern "C" void getWolfRopeMoveSpeed__9daAlink_cFv(); -extern "C" void setWolfRopePosY__9daAlink_cFv(); -extern "C" void initWolfRopeShapeAngle__9daAlink_cFv(); -extern "C" void wolfRopeSwingInc__9daAlink_cFf(); -extern "C" void setWolfRopeOffsetY__9daAlink_cFi(); -extern "C" void getDirectionRopeMove__9daAlink_cCFv(); -extern "C" void procWolfRopeMoveInit__9daAlink_cFii(); -extern "C" void procWolfRopeMove__9daAlink_cFv(); -extern "C" void procWolfRopeHangInit__9daAlink_cFi(); -extern "C" void procWolfRopeHang__9daAlink_cFv(); -extern "C" void procWolfRopeTurnInit__9daAlink_cFv(); -extern "C" void procWolfRopeTurn__9daAlink_cFv(); -extern "C" void procWolfRopeStaggerInit__9daAlink_cFi(); -extern "C" void procWolfRopeStagger__9daAlink_cFv(); -extern "C" void procWolfRopeSubjectivityInit__9daAlink_cFv(); -extern "C" void procWolfRopeSubjectivity__9daAlink_cFv(); -extern "C" void getWolfTagJumpTime__9daAlink_cCFv(); -extern "C" void checkMidnaLockJumpPoint__9daAlink_cCFv(); -extern "C" void procWolfTagJumpInit__9daAlink_cFP10fopAc_ac_c(); -extern "C" void procWolfTagJump__9daAlink_cFv(); -extern "C" void procWolfTagJumpLandInit__9daAlink_cFP10fopAc_ac_c(); -extern "C" void procWolfTagJumpLand__9daAlink_cFv(); -extern "C" static void daAlink_searchGiant__FP10fopAc_ac_cPv(); -extern "C" static void daAlink_searchGiantTalk__FP10fopAc_ac_cPv(); -extern "C" void procWolfGiantPuzzleInit__9daAlink_cFv(); -extern "C" void procWolfGiantPuzzle__9daAlink_cFv(); -extern "C" void setWolfHangGroundY__9daAlink_cFv(); -extern "C" void changeWolfHangEndProc__9daAlink_cFv(); -extern "C" void procWolfHangReadyInit__9daAlink_cFv(); -extern "C" void procWolfHangReady__9daAlink_cFv(); -extern "C" void procWolfHangWallCatchInit__9daAlink_cFi(); -extern "C" void procWolfHangWallCatch__9daAlink_cFv(); -extern "C" void procWolfHangFallStartInit__9daAlink_cFP8cM3dGPla(); -extern "C" void procWolfHangFallStart__9daAlink_cFv(); -extern "C" void setWolfHeadDamage__9daAlink_cFv(); -extern "C" void procWolfDamageInit__9daAlink_cFP12dCcD_GObjInf(); -extern "C" void procWolfDamage__9daAlink_cFv(); -extern "C" void procWolfLargeDamageUpInit__9daAlink_cFiiss(); -extern "C" void procWolfLargeDamageUp__9daAlink_cFv(); -extern "C" void procWolfLandDamageInit__9daAlink_cFi(); -extern "C" void procWolfLandDamage__9daAlink_cFv(); -extern "C" void setWolfScreamWaitAnime__9daAlink_cFv(); -extern "C" void procWolfScreamWaitInit__9daAlink_cFv(); -extern "C" void procWolfScreamWait__9daAlink_cFv(); -extern "C" void getWolfLieMoveAnmSpeed__9daAlink_cFv(); -extern "C" void getWolfLieMoveSpeed__9daAlink_cFv(); -extern "C" void checkMidnaDisappearMode__9daAlink_cCFv(); -extern "C" void checkWolfLieContinue__9daAlink_cFi(); -extern "C" void checkNextActionWolfFromLie__9daAlink_cFv(); -extern "C" void setWolfLieMoveVoice__9daAlink_cFi(); -extern "C" void checkWolfLieCode__9daAlink_cFv(); -extern "C" void procWolfLieStartInit__9daAlink_cFi(); -extern "C" void procWolfLieStart__9daAlink_cFv(); -extern "C" void procWolfLieMoveInit__9daAlink_cFi(); -extern "C" void procWolfLieMove__9daAlink_cFv(); -extern "C" void procWolfLieAutoMoveInit__9daAlink_cFiP4cXyz(); -extern "C" void procWolfLieAutoMove__9daAlink_cFv(); -extern "C" void setSpeedAndAngleSwimWolf__9daAlink_cFv(); -extern "C" void getWolfSwimMoveAnmSpeed__9daAlink_cFv(); -extern "C" void decideDoStatusSwimWolf__9daAlink_cFv(); -extern "C" void procWolfSwimUpInit__9daAlink_cFv(); -extern "C" void procWolfSwimUp__9daAlink_cFv(); -extern "C" void procWolfSwimWaitInit__9daAlink_cFi(); -extern "C" void procWolfSwimWait__9daAlink_cFv(); -extern "C" void procWolfSwimMoveInit__9daAlink_cFv(); -extern "C" void procWolfSwimMove__9daAlink_cFv(); -extern "C" void procWolfSwimEndWaitInit__9daAlink_cFi(); -extern "C" void procWolfSwimEndWait__9daAlink_cFv(); -extern "C" void onWolfEnemyBiteAll__9daAlink_cFP10fopAc_ac_cQ29daPy_py_c9daPy_FLG2(); -extern "C" void resetWolfEnemyBiteAll__9daAlink_cFv(); -extern "C" void checkWolfEnemyThrowAction__9daAlink_cFv(); -extern "C" void setWolfLockDomeModel__9daAlink_cFv(); -extern "C" void setWolfBallModel__9daAlink_cFv(); -extern "C" void resetWolfBallGrab__9daAlink_cFv(); -extern "C" void checkWolfLockData__9daAlink_cFv(); -extern "C" void checkWolfLock__9daAlink_cCFP10fopAc_ac_c(); -extern "C" void cancelWolfLock__9daAlink_cFP10fopAc_ac_c(); -extern "C" void getWolfLockActorEnd__9daAlink_cFv(); -extern "C" void searchWolfLockEnemy__9daAlink_cFP10fopAc_ac_cPv(); -extern "C" static void daAlink_searchWolfLockEnemy__FP10fopAc_ac_cPv(); -extern "C" void checkWolfComboCnt__9daAlink_cFv(); -extern "C" void checkWolfAttackAction__9daAlink_cFv(); -extern "C" void setWolfEnemyThrowUpperAnime__9daAlink_cFQ29daAlink_c12daAlink_WANMf(); -extern "C" void setWolfEnemyHangBitePos__9daAlink_cFP13fopEn_enemy_c(); -extern "C" void setWolfBiteDamage__9daAlink_cFP13fopEn_enemy_c(); -extern "C" void checkWolfLockAttackChargeState__9daAlink_cFv(); -extern "C" void procWolfRollAttackChargeInit__9daAlink_cFv(); -extern "C" void procWolfRollAttackCharge__9daAlink_cFv(); -extern "C" void procWolfRollAttackMoveInit__9daAlink_cFv(); -extern "C" void procWolfRollAttackMove__9daAlink_cFv(); -extern "C" void procWolfJumpAttackInit__9daAlink_cFi(); -extern "C" void procWolfJumpAttack__9daAlink_cFv(); -extern "C" void procWolfJumpAttackKickInit__9daAlink_cFv(); -extern "C" void procWolfJumpAttackKick__9daAlink_cFv(); -extern "C" void procWolfJumpAttackSlideLandInit__9daAlink_cFiii(); -extern "C" void procWolfJumpAttackSlideLand__9daAlink_cFv(); -extern "C" void procWolfJumpAttackNormalLandInit__9daAlink_cFi(); -extern "C" void procWolfJumpAttackNormalLand__9daAlink_cFv(); -extern "C" void procWolfWaitAttackInit__9daAlink_cFi(); -extern "C" void procWolfWaitAttack__9daAlink_cFv(); -extern "C" void procWolfRollAttackInit__9daAlink_cFii(); -extern "C" void procWolfRollAttack__9daAlink_cFv(); -extern "C" void procWolfDownAttackInit__9daAlink_cFv(); -extern "C" void procWolfDownAttack__9daAlink_cFv(); -extern "C" void procWolfDownAtLandInit__9daAlink_cFP13fopEn_enemy_c(); -extern "C" void procWolfDownAtLand__9daAlink_cFv(); -extern "C" void procWolfDownAtMissLandInit__9daAlink_cFv(); -extern "C" void procWolfDownAtMissLand__9daAlink_cFv(); -extern "C" void procWolfLockAttackInit__9daAlink_cFi(); -extern "C" void procWolfLockAttack__9daAlink_cFv(); -extern "C" void procWolfLockAttackTurnInit__9daAlink_cFi(); -extern "C" void procWolfLockAttackTurn__9daAlink_cFv(); -extern "C" void procWolfAttackReverseInit__9daAlink_cFv(); -extern "C" void procWolfAttackReverse__9daAlink_cFv(); -extern "C" void procWolfEnemyThrowInit__9daAlink_cFi(); -extern "C" void procWolfEnemyThrow__9daAlink_cFv(); -extern "C" void procWolfEnemyHangBiteInit__9daAlink_cFv(); -extern "C" void procWolfEnemyHangBite__9daAlink_cFv(); -extern "C" void procWolfGrabUpInit__9daAlink_cFv(); -extern "C" void procWolfGrabUp__9daAlink_cFv(); -extern "C" void procWolfGrabPutInit__9daAlink_cFv(); -extern "C" void procWolfGrabPut__9daAlink_cFv(); -extern "C" void procWolfGrabThrowInit__9daAlink_cFv(); -extern "C" void procWolfGrabThrow__9daAlink_cFv(); -extern "C" void procWolfPushInit__9daAlink_cFv(); -extern "C" void procWolfPush__9daAlink_cFv(); -extern "C" static void daAlink_searchEnemyCargo__FP10fopAc_ac_cPv(); -extern "C" void procWolfCargoCarryInit__9daAlink_cFv(); -extern "C" void procWolfCargoCarry__9daAlink_cFv(); -extern "C" void procWolfChainUpInit__9daAlink_cFv(); -extern "C" void procWolfChainUp__9daAlink_cFv(); -extern "C" void procWolfGanonCatchInit__9daAlink_cFv(); -extern "C" void procWolfGanonCatch__9daAlink_cFv(); -extern "C" void procWolfChainReadyInit__9daAlink_cFv(); -extern "C" void procWolfChainReady__9daAlink_cFv(); -extern "C" void procWolfChainWaitInit__9daAlink_cFv(); -extern "C" void procWolfChainWait__9daAlink_cFv(); -extern "C" void procWolfDigInit__9daAlink_cFv(); -extern "C" void procWolfDig__9daAlink_cFv(); -extern "C" void procWolfDigThroughInit__9daAlink_cFi(); -extern "C" void procWolfDigThrough__9daAlink_cFv(); -extern "C" void setSmellSave__9daAlink_cFv(); -extern "C" void procWolfGetSmellInit__9daAlink_cFv(); -extern "C" void procWolfGetSmell__9daAlink_cFv(); -extern "C" void setArcName__9daAlink_cFi(); -extern "C" void setShieldArcName__9daAlink_cFv(); -extern "C" void setOriginalHeap__9daAlink_cFPP10JKRExpHeapUl(); -extern "C" void setClothesChange__9daAlink_cFi(); -extern "C" void setShieldChange__9daAlink_cFv(); -extern "C" void loadModelDVD__9daAlink_cFv(); -extern "C" void setShieldModel__9daAlink_cFv(); -extern "C" void loadShieldModelDVD__9daAlink_cFv(); -extern "C" void changeModelDataDirect__9daAlink_cFi(); -extern "C" void changeModelDataDirectWolf__9daAlink_cFi(); -extern "C" void initStatusWindow__9daAlink_cFv(); -extern "C" void statusWindowExecute__9daAlink_cFPC4cXyzs(); -extern "C" void statusWindowDraw__9daAlink_cFv(); -extern "C" void resetStatusWindow__9daAlink_cFv(); -extern "C" void __ct__12daAlinkHIO_cFv(); -extern "C" void __dt__17daAlinkHIO_wolf_cFv(); -extern "C" void __dt__16daAlinkHIO_cut_cFv(); -extern "C" void __dt__12daAlinkHIO_cFv(); -extern "C" void __dt__8dEyeHL_cFv(); -extern "C" void __dt__18daPy_sightPacket_cFv(); -extern "C" void __dt__16daPy_frameCtrl_cFv(); -extern "C" void __ct__16daPy_frameCtrl_cFv(); -extern "C" void __defctor__14daPy_anmHeap_cFv(); -extern "C" void __dt__19mDoExt_AnmRatioPackFv(); -extern "C" void __ct__19mDoExt_AnmRatioPackFv(); -extern "C" void __dt__16dBgS_LinkRoofChkFv(); -extern "C" void __dt__15dBgS_LinkGndChkFv(); -extern "C" void __dt__13dBgS_LinkAcchFv(); -extern "C" void __ct__8dCcD_CpsFv(); -extern "C" void __ct__8dCcD_CylFv(); -extern "C" void __dt__9cCcD_SttsFv(); -extern "C" void __ct__16daPy_actorKeep_cFv(); -extern "C" void onNoResetFlg2__9daPy_py_cFQ29daPy_py_c9daPy_FLG2(daPy_py_c* this_, daPy_py_c::daPy_FLG2 pFlag); -extern "C" void offNoResetFlg0__9daPy_py_cFQ29daPy_py_c9daPy_FLG0(); -extern "C" static void mDoAud_seStartLevel__FUlPC3VecUlSc(); -extern "C" void checkEndResetFlg2__9daPy_py_cCFQ29daPy_py_c11daPy_ERFLG2(); -extern "C" static void dComIfGp_setBottleStatus__FUcUc(u8 param_0, u8 param_1); -extern "C" void getSumouMode__9daPy_py_cCFv(); -extern "C" void checkNoResetFlg3__9daPy_py_cCFQ29daPy_py_c9daPy_FLG3(); -extern "C" void onCondition__11dEvt_info_cFUs(); -extern "C" void __ct__8cM3dGPlaFv(); -extern "C" void offCondition__11dEvt_info_cFUs(); -extern "C" BOOL checkShieldGet__9daPy_py_cFv(); -extern "C" static void fopAcM_onSwitch__FPC10fopAc_ac_ci(fopAc_ac_c const* param_0, int param_1); -extern "C" int dComIfGs_isItemFirstBit__FUc(u8); -extern "C" static void dStage_stagInfo_GetSaveTbl__FP21stage_stag_info_class(); -extern "C" static void dComIfGp_getStage__Fv(); -extern "C" u32 checkEquipHeavyBoots__9daPy_py_cCFv(daPy_py_c* this_); -extern "C" void fopAcM_GetName__FPv(); -extern "C" void onNoResetFlg0__9daPy_py_cFQ29daPy_py_c9daPy_FLG0(daPy_py_c* this_, daPy_py_c::daPy_FLG0 pFlag); -extern "C" void isOrderOK__14dEvt_control_cFv(); -extern "C" static dEvt_control_c& dComIfGp_getEvent__Fv(); -extern "C" static u32 dComIfGp_checkPlayerStatus0__FiUl(int param_0, u32 param_1); -extern "C" static u32 dComIfGp_checkPlayerStatus1__FiUl(int param_0, u32 param_1); -extern "C" u32 checkEndResetFlg1__9daPy_py_cCFQ29daPy_py_c11daPy_ERFLG1(daPy_py_c* this_, daPy_py_c::daPy_ERFLG1 pFlag); -extern "C" static dEvent_manager_c& dComIfGp_getEventManager__Fv(); -extern "C" void offNoResetFlg1__9daPy_py_cFQ29daPy_py_c9daPy_FLG1(); -extern "C" void offNoResetFlg2__9daPy_py_cFQ29daPy_py_c9daPy_FLG2(); -extern "C" void setSpecialDemoType__11daPy_demo_cFv(daPy_demo_c* this_); -extern "C" void checkCommandCatch__11dEvt_info_cFv(); -extern "C" BOOL dComIfGs_isEventBit__FUs(u16); -extern "C" u32 checkWolf__9daPy_py_cCFv(daPy_py_c* this_); -extern "C" BOOL checkSwordGet__9daPy_py_cFv(); -extern "C" u32 checkResetFlg0__9daPy_py_cCFQ29daPy_py_c10daPy_RFLG0(daPy_py_c* this_, daPy_py_c::daPy_RFLG0 pFlag); -extern "C" bool ChkGroundHit__9dBgS_AcchCFv(dBgS_Acch* this_); -extern "C" u32 checkNoResetFlg0__9daPy_py_cCFQ29daPy_py_c9daPy_FLG0(daPy_py_c* this_, daPy_py_c::daPy_FLG0 pFlag); -extern "C" static int dComIfGp_getPlayerCameraID__Fi(int param_0); -extern "C" static u16 dComIfGp_event_chkEventFlag__FUs(u16 flag); -extern "C" BOOL checkCommandDoor__11dEvt_info_cFv(dEvt_info_c* this_); -extern "C" static s32 dComIfGp_evmng_getMyStaffId__FPCcP10fopAc_ac_ci(char const* param_0, fopAc_ac_c* param_1, int param_2); -extern "C" static BOOL dComIfGp_event_runCheck__Fv(); -extern "C" u32 checkNoResetFlg2__9daPy_py_cCFQ29daPy_py_c9daPy_FLG2(daPy_py_c* this_, daPy_py_c::daPy_FLG2 pFlag); -extern "C" u32 checkMagneBootsOn__9daPy_py_cCFv(daPy_py_c* this_); -extern "C" daHorse_c* dComIfGp_getHorseActor__Fv(); -extern "C" u32 checkBoarSingleBattle__9daPy_py_cCFv(daPy_py_c* this_); -extern "C" u32 checkEndResetFlg0__9daPy_py_cCFQ29daPy_py_c11daPy_ERFLG0(daPy_py_c* this_, daPy_py_c::daPy_ERFLG0 pFlag); -extern "C" bool getMidnaAtnPos__9daPy_py_cCFv(); -extern "C" void setMidnaMsgNum__9daPy_py_cFP10fopAc_ac_cUs(); -extern "C" void getModelMtx__9daPy_py_cFv(); -extern "C" void getInvMtx__9daPy_py_cFv(); -extern "C" void getShadowTalkAtnPos__9daPy_py_cFv(); -extern "C" void getLeftItemMatrix__9daPy_py_cFv(); -extern "C" void getRightItemMatrix__9daPy_py_cFv(); -extern "C" void getLeftHandMatrix__9daPy_py_cFv(); -extern "C" void getRightHandMatrix__9daPy_py_cFv(); -extern "C" void getLinkBackBone1Matrix__9daPy_py_cFv(); -extern "C" void getWolfMouthMatrix__9daPy_py_cFv(); -extern "C" void getWolfBackbone2Matrix__9daPy_py_cFv(); -extern "C" bool getBottleMtx__9daPy_py_cFv(); -extern "C" bool checkPlayerGuard__9daPy_py_cCFv(); -extern "C" bool checkAutoJump__9daPy_py_cCFv(); -extern "C" bool checkSideStep__9daPy_py_cCFv(); -extern "C" bool checkWolfTriggerJump__9daPy_py_cCFv(); -extern "C" bool checkGuardBreakMode__9daPy_py_cCFv(); -extern "C" bool checkLv3Slide__9daPy_py_cCFv(); -extern "C" bool checkWolfHowlDemoMode__9daPy_py_cCFv(); -extern "C" bool checkChainBlockPushPull__9daPy_py_cFv(); -extern "C" bool checkElecDamage__9daPy_py_cCFv(); -extern "C" bool checkEmptyBottleSwing__9daPy_py_cCFv(); -extern "C" bool checkBottleSwingMode__9daPy_py_cCFv(); -extern "C" bool checkHawkWait__9daPy_py_cCFv(); -extern "C" bool checkGoatThrow__9daPy_py_cCFv(); -extern "C" bool checkGoatThrowAfter__9daPy_py_cCFv(); -extern "C" bool checkWolfTagLockJump__9daPy_py_cCFv(); -extern "C" bool checkWolfTagLockJumpLand__9daPy_py_cCFv(); -extern "C" bool checkWolfRope__9daPy_py_cFv(); -extern "C" bool checkWolfRopeHang__9daPy_py_cCFv(); -extern "C" bool checkRollJump__9daPy_py_cCFv(); -extern "C" bool checkGoronRideWait__9daPy_py_cCFv(); -extern "C" bool checkWolfChain__9daPy_py_cCFv(); -extern "C" bool checkWolfWait__9daPy_py_cCFv(); -extern "C" bool checkWolfJumpAttack__9daPy_py_cCFv(); -extern "C" bool checkWolfRSit__9daPy_py_cCFv(); -extern "C" bool checkBubbleFly__9daPy_py_cCFv(); -extern "C" bool checkBottleDrinkEnd__9daPy_py_cCFv(); -extern "C" bool checkWolfDig__9daPy_py_cCFv(); -extern "C" bool checkCutCharge__9daPy_py_cCFv(); -extern "C" bool checkCutTurnCharge__9daPy_py_cCFv(); -extern "C" bool checkCutLargeJumpCharge__9daPy_py_cCFv(); -extern "C" bool getBokoFlamePos__9daPy_py_cFP4cXyz(); -extern "C" bool checkComboCutTurn__9daPy_py_cCFv(); -extern "C" bool checkClimbMove__9daPy_py_cCFv(); -extern "C" bool checkGrassWhistle__9daPy_py_cCFv(); -extern "C" bool checkBoarRun__9daPy_py_cCFv(); -extern "C" bool checkFmChainPut__9daPy_py_cCFv(); -extern "C" bool checkHorseElecDamage__9daPy_py_cCFv(); -extern "C" f32 getBaseAnimeFrameRate__9daPy_py_cCFv(); -extern "C" f32 getBaseAnimeFrame__9daPy_py_cCFv(); -extern "C" void setAnimeFrame__9daPy_py_cFf(); -extern "C" bool checkWolfLock__9daPy_py_cCFP10fopAc_ac_c(); -extern "C" bool cancelWolfLock__9daPy_py_cFP10fopAc_ac_c(); -extern "C" s32 getItemID__9daPy_py_cCFv(); -extern "C" bool exchangeGrabActor__9daPy_py_cFP10fopAc_ac_c(); -extern "C" bool setForceGrab__9daPy_py_cFP10fopAc_ac_cii(); -extern "C" void setForcePutPos__9daPy_py_cFRC4cXyz(); -extern "C" bool checkPlayerNoDraw__9daPy_py_cFv(); -extern "C" bool checkRopeTag__9daPy_py_cFv(); -extern "C" void voiceStart__9daPy_py_cFUl(); -extern "C" void seStartOnlyReverb__9daPy_py_cFUl(); -extern "C" void seStartOnlyReverbLevel__9daPy_py_cFUl(); -extern "C" void setOutPower__9daPy_py_cFfsi(); -extern "C" void setGrabCollisionOffset__9daPy_py_cFffP13cBgS_PolyInfo(); -extern "C" void onMagneGrab__9daPy_py_cFff(); -extern "C" bool getModelJointMtx__9daPy_py_cFUs(); -extern "C" bool getHeadMtx__9daPy_py_cFv(); -extern "C" bool setHookshotCarryOffset__9daPy_py_cFUiPC4cXyz(); -extern "C" bool checkIronBallReturn__9daPy_py_cCFv(); -extern "C" bool checkIronBallGroundStop__9daPy_py_cCFv(); -extern "C" bool checkSingleBoarBattleSecondBowReady__9daPy_py_cCFv(); -extern "C" bool checkPointSubWindowMode__9daPy_py_cCFv(); -extern "C" void setClothesChange__9daPy_py_cFi(); -extern "C" void setPlayerPosAndAngle__9daPy_py_cFPA4_f(); -extern "C" void setPlayerPosAndAngle__9daPy_py_cFPC4cXyzPC5csXyz(); -extern "C" void setPlayerPosAndAngle__9daPy_py_cFPC4cXyzsi(); -extern "C" bool setThrowDamage__9daPy_py_cFsffiii(); -extern "C" bool checkSetNpcTks__9daPy_py_cFP4cXyzii(); -extern "C" bool setRollJump__9daPy_py_cFffs(); -extern "C" void playerStartCollisionSE__9daPy_py_cFUlUl(); -extern "C" void changeTextureAnime__9daPy_py_cFUsUsi(); -extern "C" void cancelChangeTextureAnime__9daPy_py_cFv(); -extern "C" void cancelDungeonWarpReadyNeck__9daPy_py_cFv(); -extern "C" void onSceneChangeArea__9daPy_py_cFUcUcP10fopAc_ac_c(); -extern "C" void onSceneChangeAreaJump__9daPy_py_cFUcUcP10fopAc_ac_c(); -extern "C" void onSceneChangeDead__9daPy_py_cFUci(); -extern "C" bool getSpinnerActor__9daPy_py_cFv(); -extern "C" bool checkHorseRideNotReady__9daPy_py_cCFv(); -extern "C" bool checkArrowChargeEnd__9daPy_py_cCFv(); -extern "C" f32 getSearchBallScale__9daPy_py_cCFv(); -extern "C" bool checkFastShotTime__9daPy_py_cFv(); -extern "C" bool checkNoEquipItem__9daPy_py_cCFv(); -extern "C" bool checkFireMaterial__9daPy_py_cCFv(); -extern "C" bool checkKandelaarSwing__9daPy_py_cCFi(); -extern "C" bool getBoardCutTurnOffsetAngleY__9daPy_py_cCFv(); -extern "C" cXyz* getMagneHitPos__9daPy_py_cFv(daPy_py_c* this_); -extern "C" cXyz* getMagneBootsTopVec__9daPy_py_cFv(daPy_py_c* this_); -extern "C" bool checkUseKandelaar__9daPy_py_cFi(); -extern "C" void setDkCaught__9daPy_py_cFP10fopAc_ac_c(); -extern "C" void onPressedDamage__9daPy_py_cFRC4cXyzs(); -extern "C" bool checkPriActorOwn__9daPy_py_cCFPC10fopAc_ac_c(); -extern "C" bool onWolfEnemyBiteAll__9daPy_py_cFP10fopAc_ac_cQ29daPy_py_c9daPy_FLG2(); -extern "C" bool checkWolfEnemyBiteAllOwn__9daPy_py_cCFPC10fopAc_ac_c(); -extern "C" void setWolfEnemyHangBiteAngle__9daPy_py_cFs(); -extern "C" void setKandelaarMtx__9daPy_py_cFPA4_fii(); -extern "C" bool getStickAngleFromPlayerShape__9daPy_py_cCFPs(); -extern "C" bool checkSpinnerPathMove__9daPy_py_cFv(); -extern "C" bool checkSpinnerTriggerAttack__9daPy_py_cFv(); -extern "C" void onSpinnerPathForceRemove__9daPy_py_cFv(); -extern "C" bool getIronBallBgHit__9daPy_py_cCFv(); -extern "C" bool getIronBallCenterPos__9daPy_py_cFv(); -extern "C" bool checkCanoeFishingGetLeft__9daPy_py_cCFv(); -extern "C" bool checkCanoeFishingGetRight__9daPy_py_cCFv(); -extern "C" bool checkBeeChildDrink__9daPy_py_cCFv(); -extern "C" void skipPortalObjWarp__9daPy_py_cFv(); -extern "C" bool checkTreasureRupeeReturn__9daPy_py_cCFi(); -extern "C" void setSumouReady__9daPy_py_cFP10fopAc_ac_c(); -extern "C" bool checkAcceptDungeonWarpAlink__9daPy_py_cFi(); -extern "C" bool getSumouCounter__9daPy_py_cCFv(); -extern "C" bool checkSumouWithstand__9daPy_py_cCFv(); -extern "C" void cancelGoronThrowEvent__9daPy_py_cFv(); -extern "C" void setSumouGraspCancelCount__9daPy_py_cFi(); -extern "C" void setSumouPushBackDirection__9daPy_py_cFs(); -extern "C" void setSumouLoseHeadUp__9daPy_py_cFv(); -extern "C" void getGiantPuzzleAimAngle__9daPy_py_cCFv(); -extern "C" void setGoronSideMove__9daPy_py_cFP10fopAc_ac_c(); -extern "C" void setCargoCarry__9daPy_py_cFP10fopAc_ac_c(); -extern "C" bool getDpdFarFlg__9daPy_py_cCFv(); -extern "C" bool getHookshotTopPos__9daPy_py_cFv(); -extern "C" bool checkHookshotReturnMode__9daPy_py_cCFv(); -extern "C" bool checkHookshotShootReturnMode__9daPy_py_cCFv(); -extern "C" bool checkOctaIealHang__9daPy_py_cCFv(); -extern "C" void cancelOctaIealHang__9daPy_py_cFv(); -extern "C" void cancelDragonHangBackJump__9daPy_py_cFv(); -extern "C" void setOctaIealWildHang__9daPy_py_cFv(); -extern "C" bool checkDragonHangRide__9daPy_py_cCFv(); -extern "C" void changeDragonActor__9daPy_py_cFP10fopAc_ac_c(); -extern "C" bool getClothesChangeWaitTimer__9daPy_py_cCFv(); -extern "C" bool getShieldChangeWaitTimer__9daPy_py_cCFv(); -extern "C" bool getSwordChangeWaitTimer__9daPy_py_cCFv(); -extern "C" bool checkMetamorphose__9daPy_py_cCFv(); -extern "C" bool checkWolfDownAttackPullOut__9daPy_py_cCFv(); -extern "C" bool checkBootsOrArmorHeavy__9daPy_py_cCFv(); -extern "C" s32 getBottleOpenAppearItem__9daPy_py_cCFv(); -extern "C" bool checkItemSwordEquip__9daPy_py_cCFv(); -extern "C" f32 getSinkShapeOffset__9daPy_py_cCFv(); -extern "C" bool checkSinkDead__9daPy_py_cCFv(); -extern "C" bool checkHorseStart__9daPy_py_cFv(); -extern "C" bool getWolfHowlMgrP__9daPy_py_cFv(); -extern "C" bool checkWolfHowlSuccessAnime__9daPy_py_cCFv(); -extern "C" bool checkCopyRodTopUse__9daPy_py_cFv(); -extern "C" bool checkCopyRodEquip__9daPy_py_cCFv(); -extern "C" bool checkCutJumpMode__9daPy_py_cCFv(); -extern "C" void getZeldaActor__9daHorse_cFv(); -extern "C" static u8 dComIfGp_getDoStatus__Fv(); -extern "C" void __ct__4cXyzFfff(f32, f32, f32); -extern "C" static void dMeter2Info_offUseButton__Fi(); -extern "C" void setLinkState__14Z2CreatureLinkFUc(Z2CreatureLink* this_, u8 param_0); -extern "C" u16 dComIfGs_getRupee__Fv(); -extern "C" void dComIfGp_setItemRupeeCount__Fl(s32); -extern "C" static void dMeter2Info_setFloatingMessage__FUssb(); -extern "C" void onForcePanic__9daMidna_cFv(); -extern "C" void checkForceNormalColor__9daMidna_cCFv(); -extern "C" void checkForceTiredColor__9daMidna_cCFv(); -extern "C" void checkMidnaTired__9daMidna_cFv(); -extern "C" void onNoServiceWait__9daMidna_cFv(); -extern "C" void setControllActorData__8daCrod_cFv(); -extern "C" void func_80141ACC(void* _this, fopAc_ac_c const*, daObjMovebox::Act_c::Prm_e, - daObjMovebox::Act_c::Prm_e); -extern "C" u8 func_80141AE8(u8*); -extern "C" void __sinit_d_a_alink_cpp(); -extern "C" static void func_801446D4(); -extern "C" static void func_801446DC(); -extern "C" static void func_801446E4(); -extern "C" static void func_801446EC(); -extern "C" static void func_801446F4(); -extern "C" static void func_801446FC(); -extern "C" static void func_80144704(); -extern "C" static void func_8014470C(); -extern "C" static void func_80144714(); -extern "C" static void func_8014471C(); -extern "C" u8 const m__19daAlinkHIO_basic_c0[88]; -extern "C" u8 const m__18daAlinkHIO_move_c0[88]; -extern "C" u8 const m__21daAlinkHIO_atnMove_c0[84]; -extern "C" u8 const m__26daAlinkHIO_noActAtnMove_c0[84]; -extern "C" u8 const m__23daAlinkHIO_frontRoll_c0[112]; -extern "C" u8 const m__22daAlinkHIO_backJump_c0[56]; -extern "C" u8 const m__22daAlinkHIO_sideStep_c0[104]; -extern "C" u8 const m__19daAlinkHIO_slide_c0[120]; -extern "C" u8 const m__20daAlinkHIO_cutNmV_c0[32]; -extern "C" u8 const m__20daAlinkHIO_cutNmL_c0[32]; -extern "C" u8 const m__20daAlinkHIO_cutNmR_c0[32]; -extern "C" u8 const m__21daAlinkHIO_cutNmSL_c0[32]; -extern "C" u8 const m__21daAlinkHIO_cutNmSR_c0[32]; -extern "C" u8 const m__20daAlinkHIO_cutFnL_c0[44]; -extern "C" u8 const m__20daAlinkHIO_cutFnV_c0[44]; -extern "C" u8 const m__20daAlinkHIO_cutFnS_c0[44]; -extern "C" u8 const m__21daAlinkHIO_cutFnSl_c0[44]; -extern "C" u8 const m__21daAlinkHIO_cutFnSm_c0[44]; -extern "C" u8 const m__20daAlinkHIO_cutFnR_c0[44]; -extern "C" u8 const m__21daAlinkHIO_cutFnJU_c0[84]; -extern "C" u8 const m__21daAlinkHIO_cutJump_c0[68]; -extern "C" u8 const m__21daAlinkHIO_cutTurn_c0[152]; -extern "C" u8 const m__21daAlinkHIO_hoCutLA_c0[32]; -extern "C" u8 const m__21daAlinkHIO_hoCutLB_c0[32]; -extern "C" u8 const m__21daAlinkHIO_hoCutRA_c0[32]; -extern "C" u8 const m__21daAlinkHIO_hoCutRB_c0[32]; -extern "C" u8 const m__25daAlinkHIO_hoCutCharge_c0[84]; -extern "C" u8 const m__20daAlinkHIO_cutDaL_c0[28]; -extern "C" u8 const m__20daAlinkHIO_cutDaR_c0[28]; -extern "C" u8 const m__25daAlinkHIO_cutDaCharge_c0[28]; -extern "C" u8 const m__21daAlinkHIO_cutDown_c0[116]; -extern "C" u8 const m__21daAlinkHIO_cutHead_c0[96]; -extern "C" u8 const m__26daAlinkHIO_cutLargeJump_c0[116]; -extern "C" u8 const m__17daAlinkHIO_cut_c0[156]; -extern "C" u8 const m__21daAlinkHIO_gAtPush_c0[36]; -extern "C" u8 const m__21daAlinkHIO_gAtKick_c0[36]; -extern "C" u8 const m__22daAlinkHIO_turnMove_c0[44]; -extern "C" u8 const m__19daAlinkHIO_guard_c0[128]; -extern "C" u8 const m__20daAlinkHIO_crouch_c0[76]; -extern "C" u8 const m__22daAlinkHIO_autoJump_c0[180]; -extern "C" u8 const m__23daAlinkHIO_smallJump_c0[72]; -extern "C" u8 const m__23daAlinkHIO_wallCatch_c0[84]; -extern "C" u8 const m__22daAlinkHIO_wallFall_c0[40]; -extern "C" u8 const m__22daAlinkHIO_wallMove_c0[20]; -extern "C" u8 const m__22daAlinkHIO_wallHang_c0[28]; -extern "C" u8 const m__22daAlinkHIO_pushpull_c0[60]; -extern "C" u8 const m__23daAlinkHIO_damNormal_c0[100]; -extern "C" u8 const m__22daAlinkHIO_damLarge_c0[188]; -extern "C" u8 const m__21daAlinkHIO_damHuge_c0[188]; -extern "C" u8 const m__22daAlinkHIO_damHorse_c0[44]; -extern "C" u8 const m__21daAlinkHIO_damFall_c0[72]; -extern "C" u8 const m__23daAlinkHIO_damCaught_c0[36]; -extern "C" u8 const m__21daAlinkHIO_damSwim_c0[140]; -extern "C" u8 const m__20daAlinkHIO_damage_c0[88]; -extern "C" u8 const m__19daAlinkHIO_horse_c0[108]; -extern "C" u8 const m__19daAlinkHIO_canoe_c0[72]; -extern "C" u8 const m__17daAlinkHIO_bow_c0[112]; -extern "C" u8 const m__18daAlinkHIO_boom_c0[76]; -extern "C" u8 const m__18daAlinkHIO_bomb_c0[76]; -extern "C" u8 const m__21daAlinkHIO_huLight_c0[28]; -extern "C" u8 const m__23daAlinkHIO_kandelaar_c0[80]; -extern "C" u8 const m__21daAlinkHIO_fmChain_c0[40]; -extern "C" u8 const m__24daAlinkHIO_magneBoots_c0[76]; -extern "C" u8 const m__20daAlinkHIO_pickUp_c0[48]; -extern "C" u8 const m__19daAlinkHIO_board_c0[156]; -extern "C" u8 const m__20daAlinkHIO_bottle_c0[180]; -extern "C" u8 const m__22daAlinkHIO_hookshot_c0[112]; -extern "C" u8 const m__21daAlinkHIO_spinner_c0[64]; -extern "C" u8 const m__22daAlinkHIO_ironBall_c0[140]; -extern "C" u8 const m__21daAlinkHIO_copyRod_c0[56]; -extern "C" u8 const m__21daAlinkHIO_zwLight_c0[28]; -extern "C" u8 const m__18daAlinkHIO_item_c0[60]; -extern "C" u8 const m__20daAlinkHIO_ladder_c0[112]; -extern "C" u8 const m__22daAlinkHIO_roofHang_c0[76]; -extern "C" u8 const m__18daAlinkHIO_grab_c0[228]; -extern "C" u8 const m__18daAlinkHIO_swim_c0[252]; -extern "C" u8 const m__20daAlinkHIO_wlMove_c0[256]; -extern "C" u8 const m__23daAlinkHIO_wlMoveNoP_c0[72]; -extern "C" u8 const m__23daAlinkHIO_wlAtnMove_c0[56]; -extern "C" u8 const m__24daAlinkHIO_wlSideStep_c0[104]; -extern "C" u8 const m__24daAlinkHIO_wlBackJump_c0[56]; -extern "C" u8 const m__20daAlinkHIO_wlHowl_c0[96]; -extern "C" u8 const m__24daAlinkHIO_wlAutoJump_c0[124]; -extern "C" u8 const m__20daAlinkHIO_wlPush_c0[20]; -extern "C" u8 const m__19daAlinkHIO_wlLie_c0[76]; -extern "C" u8 const m__21daAlinkHIO_wlLight_c0[28]; -extern "C" u8 const m__24daAlinkHIO_wlWallHang_c0[156]; -extern "C" u8 const m__25daAlinkHIO_wlDamNormal_c0[96]; -extern "C" u8 const m__24daAlinkHIO_wlDamLarge_c0[108]; -extern "C" u8 const m__23daAlinkHIO_wlDamHuge_c0[108]; -extern "C" u8 const m__23daAlinkHIO_wlDamFall_c0[64]; -extern "C" u8 const m__25daAlinkHIO_wlDamCaught_c0[16]; -extern "C" u8 const m__22daAlinkHIO_wlDamage_c0[44]; -extern "C" u8 const m__21daAlinkHIO_wlSlide_c0[124]; -extern "C" u8 const m__20daAlinkHIO_wlRope_c0[56]; -extern "C" u8 const m__22daAlinkHIO_wlAtWaLr_c0[60]; -extern "C" u8 const m__22daAlinkHIO_wlAtWaSc_c0[60]; -extern "C" u8 const m__22daAlinkHIO_wlAtWaTl_c0[60]; -extern "C" u8 const m__22daAlinkHIO_wlAtRoll_c0[32]; -extern "C" u8 const m__23daAlinkHIO_wlAtNjump_c0[60]; -extern "C" u8 const m__23daAlinkHIO_wlAtCjump_c0[100]; -extern "C" u8 const m__22daAlinkHIO_wlAtLand_c0[64]; -extern "C" u8 const m__22daAlinkHIO_wlAtDown_c0[156]; -extern "C" u8 const m__22daAlinkHIO_wlAtLock_c0[84]; -extern "C" u8 const m__22daAlinkHIO_wlAtBite_c0[92]; -extern "C" u8 const m__22daAlinkHIO_wlAttack_c0[56]; -extern "C" u8 const m__21daAlinkHIO_wlPoint_c0[124]; -extern "C" u8 const m__21daAlinkHIO_wlChain_c0[92]; -extern "C" u8 const m__20daAlinkHIO_wlSwim_c0[168]; -extern "C" u8 const m__20daAlinkHIO_wlGrab_c0[100]; -extern "C" u8 const m__20daAlinkHIO_wlBall_c0[56]; -extern "C" u8 const m__18daAlinkHIO_wolf_c0[24]; -extern "C" u8 const m_mainBckShield__9daAlink_c[80]; -extern "C" u8 const m_mainBckSword__9daAlink_c[20]; -extern "C" u8 const m_mainBckFishing__9daAlink_c[112]; -extern "C" u8 const m_anmDataTable__9daAlink_c[4968]; -extern "C" void* const m_wlAnmDataTable__9daAlink_c[294]; -extern "C" u8 const m_faceTexDataTable__9daAlink_c[652]; -extern "C" u8 const m_handLeftOutSidePos__9daAlink_c[12]; -extern "C" u8 const m_handRightOutSidePos__9daAlink_c[12]; -extern "C" u8 const m_handLeftInSidePos__9daAlink_c[12]; -extern "C" u8 const m_handRightInSidePos__9daAlink_c[12]; -extern "C" extern char const* const d_a_d_a_alink__stringBase0; -extern "C" u8 m_procInitTable__9daAlink_c[5632]; -extern "C" u8 m_demoInitTable__9daAlink_c[1140]; -extern "C" u8 m_fEffParamProc__9daAlink_c[72]; - -// -// External References: -// - -extern "C" void __dt__4cXyzFv(); -extern "C" s32 getAtnActorID__9daPy_py_cCFv(); -extern "C" void mDoMtx_XYZrotM__FPA4_fsss(); -extern "C" void mDoMtx_ZXYrotS__FPA4_fsss(); -extern "C" void mDoMtx_ZXYrotM__FPA4_fsss(); -extern "C" void mDoMtx_XrotS__FPA4_fs(); -extern "C" void mDoMtx_XrotM__FPA4_fs(); -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void mDoMtx_ZrotS__FPA4_fs(); -extern "C" void mDoMtx_ZrotM__FPA4_fs(); -extern "C" void mDoMtx_QuatConcat__FPC10QuaternionPC10QuaternionP10Quaternion(); -extern "C" void mDoMtx_MtxToRot__FPA4_CfP5csXyz(); -extern "C" void transS__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void transM__14mDoMtx_stack_cFfff(); -extern "C" void transM__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void scaleM__14mDoMtx_stack_cFfff(); -extern "C" void ZXYrotS__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void quatM__14mDoMtx_stack_cFPC10Quaternion(); -extern "C" void play__14mDoExt_baseAnmFv(); -extern "C" void init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb(); -extern "C" void changeBckOnly__13mDoExt_bckAnmFP15J3DAnmTransform(); -extern "C" void entry__13mDoExt_bckAnmFP12J3DModelDataf(); -extern "C" void init__13mDoExt_blkAnmFP13J3DDeformDataP13J3DAnmClusteriifss(); -extern "C" void mDoExt_modelEntryDL__FP8J3DModel(); -extern "C" void __ct__13J3DGXColorS10Fv(); -extern "C" void mDoExt_getGameHeap__Fv(); -extern "C" void mDoExt_destroyExpHeap__FP10JKRExpHeap(); -extern "C" void mDoExt_setCurrentHeap__FP7JKRHeap(); -extern "C" void initOldFrameMorf__22mDoExt_MtxCalcOldFrameFfUsUs(); -extern "C" void __ct__4cXyzFv(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void mDoLib_project__FP3VecP3Vec(); -extern "C" void mDoLib_pos2camera__FP3VecP3Vec(); -extern "C" void draw__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__5csXyzFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAc_IsActor__FPv(); -extern "C" void fopAcIt_Executor__FPFPvPv_iPv(); -extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); -extern "C" void fopAcM_setStageLayer__FPv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc(); -extern "C" void fopAcM_fastCreate__FsUlPC4cXyziPC5csXyzPC4cXyzScPFPv_iPv(); -extern "C" void fopAcM_createChild__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_seenActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_searchActorDistanceXZ2__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_orderTalkEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs(); -extern "C" void fopAcM_orderTalkItemBtnEvent__FUsP10fopAc_ac_cP10fopAc_ac_cUsUs(); -extern "C" void fopAcM_orderDoorEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs(); -extern "C" void fopAcM_orderCatchEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs(); -extern "C" void fopAcM_orderOtherEvent__FP10fopAc_ac_cPCcUsUsUs(); -extern "C" void fopAcM_orderOtherEvent__FP10fopAc_ac_cP10fopAc_ac_cPCcUsUsUs(); -extern "C" void fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs(); -extern "C" void fopAcM_orderTreasureEvent__FP10fopAc_ac_cP10fopAc_ac_cUsUs(); -extern "C" void fopAcM_getTalkEventPartner__FPC10fopAc_ac_c(); -extern "C" void fopAcM_getItemEventPartner__FPC10fopAc_ac_c(); -extern "C" void fopAcM_getEventPartner__FPC10fopAc_ac_c(); -extern "C" void fopAcM_createItemForPresentDemo__FPC4cXyziUciiPC5csXyzPC4cXyz(); -extern "C" void fopAcM_createItemForSimpleDemo__FPC4cXyziiPC5csXyzPC4cXyzff(); -extern "C" void fopAcM_setCarryNow__FP10fopAc_ac_ci(); -extern "C" void fopAcM_cancelCarryNow__FP10fopAc_ac_c(); -extern "C" void fopAcM_getWaterY__FPC4cXyzPf(); -extern "C" void fpoAcM_relativePos__FPC10fopAc_ac_cPC4cXyzP4cXyz(); -extern "C" void fopAcM_getWaterStream__FPC4cXyzRC13cBgS_PolyInfoP4cXyzPii(); -extern "C" void __dt__8cM3dGPlaFv(); -extern "C" void fopAcM_getPolygonAngle__FPC8cM3dGPlas(); -extern "C" void lineCheck__11fopAcM_lc_cFPC4cXyzPC4cXyzPC10fopAc_ac_c(); -extern "C" void gndCheck__11fopAcM_gc_cFPC4cXyz(); -extern "C" void waterCheck__11fopAcM_wt_cFPC4cXyz(); -extern "C" void onFrollCrashFlg__9daPy_py_cFUci(); -extern "C" bool checkWolfDash__9daPy_py_cCFv(); -extern "C" bool checkFrontRoll__9daPy_py_cCFv(); -extern "C" bool checkHorseRide__9daPy_py_cCFv(); -extern "C" s32 getGrabActorID__9daPy_py_cCFv(); -extern "C" void fopOvlpM_IsPeek__Fv(); -extern "C" void fopKyM_create__FsiP4cXyzP4cXyzPFPv_i(); -extern "C" void fopKyM_createWpillar__FPC4cXyzfi(); -extern "C" void fopMsgM_SearchByID__FUi(); -extern "C" void fopMsgM_messageSet__FUlUl(); -extern "C" void fpcM_IsCreating__FUi(); -extern "C" void fpcSch_JudgeByID__FPvPv(); -extern "C" void dStage_RoomCheck__FP11cBgS_GndChk(); -extern "C" void dStage_changeSceneExitId__FR13cBgS_PolyInfofUlScs(); -extern "C" void dStage_changeScene__FifUlScsi(); -extern "C" void dStage_restartRoom__FUlUli(); -extern "C" void dComIfGp_checkItemGet__FUci(); -extern "C" void getLayerNo__14dComIfG_play_cFi(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCcP7JKRHeap(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfGp_getReverb__Fi(); -extern "C" void dComIfGp_setNextStage__FPCcsScScfUliScsii(); -extern "C" void dComIfGs_isOneZoneSwitch__Fii(); -extern "C" void dComIfGs_getMaxLifeGauge__Fv(); -extern "C" void dComIfGp_getSelectItem__Fi(); -extern "C" s32 dComIfGs_getBottleMax__Fv(); -extern "C" void dComIfGp_getSelectItemNum__Fi(); -extern "C" void dComIfGp_setSelectItemNum__Fis(); -extern "C" void dComIfGp_addSelectItemNum__Fis(); -extern "C" void -dComIfGd_setShadow__FUlScP8J3DModelP4cXyzffffR13cBgS_PolyInfoP12dKy_tevstr_csfP9_GXTexObj(); -extern "C" void dComIfGs_setSelectEquipClothes__FUc(); -extern "C" void dComIfGs_getWarpStageName__Fv(); -extern "C" void dComIfGs_getWarpPlayerPos__Fv(); -extern "C" void dComIfGs_getWarpPlayerAngleY__Fv(); -extern "C" void dComIfGs_getWarpRoomNo__Fv(); -extern "C" void dComIfGs_Wolf_Change_Check__Fv(); -extern "C" void dComIfGs_PolyDamageOff_Check__Fv(); -extern "C" void dComIfGp_TargetWarpPt_set__FUc(); -extern "C" void dComIfGp_TargetWarpPt_get__Fv(); -extern "C" void dComIfGp_TransportWarp_check__Fv(); -extern "C" void entry__10daMirror_cFP8J3DModel(); -extern "C" void checkMagnetCode__12daTagMagne_cFR13cBgS_PolyInfo(); -extern "C" void getPlayerNo__11daTagMist_cFv(); -extern "C" void getRupeeMax__21dSv_player_status_a_cCFv(); -extern "C" void isTransformLV__21dSv_player_status_b_cCFi(); -extern "C" void setItem__17dSv_player_item_cFiUc(); -extern "C" void setBottleItemIn__17dSv_player_item_cFUcUc(); -extern "C" void setEquipBottleItemIn__17dSv_player_item_cFUcUc(); -extern "C" void setEquipBottleItemEmpty__17dSv_player_item_cFUc(); -extern "C" void checkBottle__17dSv_player_item_cFUc(); -extern "C" void setBaitItem__17dSv_player_item_cFUc(); -extern "C" void isFirstBit__21dSv_player_get_item_cCFUc(); -extern "C" void getLightDropNum__16dSv_light_drop_cCFUc(); -extern "C" void isDungeonItem__12dSv_memBit_cCFi(); -extern "C" void onEventBit__11dSv_event_cFUs(); -extern "C" void offEventBit__11dSv_event_cFUs(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void isSwitch__12dSv_danBit_cCFi(); -extern "C" void setRoom__13dSv_restart_cFRC4cXyzsSc(); -extern "C" void set__17dSv_turnRestart_cFRC4cXyzsScUl(); -extern "C" void onSwitch__10dSv_info_cFii(); -extern "C" void offSwitch__10dSv_info_cFii(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void __ct__9dJntCol_cFv(); -extern "C" void init__9dJntCol_cFP10fopAc_ac_cPC13dJntColData_cP8J3DModeli(); -extern "C" void getHitmarkPosAndAngle__9dJntCol_cCFPC4cXyzPC5csXyzP4cXyzP5csXyzi(); -extern "C" void getItemNo__12daItemBase_cFv(); -extern "C" void hide__12daItemBase_cFv(); -extern "C" void show__12daItemBase_cFv(); -extern "C" void dead__12daItemBase_cFv(); -extern "C" void checkWait__10e_wb_classFv(); -extern "C" void setPlayerRideNow__10e_wb_classFv(); -extern "C" void setPlayerRide__10e_wb_classFv(); -extern "C" void getOff__10e_wb_classFv(); -extern "C" void checkDownDamage__10e_wb_classFv(); -extern "C" void checkNormalRideMode__10e_wb_classCFv(); -extern "C" void setRunRideMode__10e_wb_classFv(); -extern "C" void getPrm_Morf__13dDemo_actor_cFv(); -extern "C" void getDemoIDData__13dDemo_actor_cFPiPiPiPUsPUc(); -extern "C" void getActor__14dDemo_object_cFUc(); -extern "C" void setBranchId__7dDemo_cFUss(); -extern "C" void onWarpMaterial__11dRes_info_cFP12J3DModelData(); -extern "C" void offWarpMaterial__11dRes_info_cFP12J3DModelData(); -extern "C" void setWarpSRT__11dRes_info_cFP12J3DModelDataRC4cXyzff(); -extern "C" void loaderBasicBmd__11dRes_info_cFUlPv(); -extern "C" void __dt__15J3DTevKColorAnmFv(); -extern "C" void __ct__15J3DTevKColorAnmFv(); -extern "C" void __dt__14J3DTevColorAnmFv(); -extern "C" void __ct__14J3DTevColorAnmFv(); -extern "C" void __dt__11J3DTexNoAnmFv(); -extern "C" void __ct__11J3DTexNoAnmFv(); -extern "C" void __dt__12J3DTexMtxAnmFv(); -extern "C" void __ct__12J3DTexMtxAnmFv(); -extern "C" void __dt__14J3DMatColorAnmFv(); -extern "C" void __ct__14J3DMatColorAnmFv(); -extern "C" void getResInfo__14dRes_control_cFPCcP11dRes_info_ci(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void getRes__14dRes_control_cFPCcPCcP11dRes_info_ci(); -extern "C" void getIDRes__14dRes_control_cFPCcUsP11dRes_info_ci(); -extern "C" void reset__14dEvt_control_cFv(); -extern "C" void reset__14dEvt_control_cFPv(); -extern "C" void dEv_noFinishSkipProc__FPvi(); -extern "C" void setSkipProc__14dEvt_control_cFPvPFPvi_ii(); -extern "C" void compulsory__14dEvt_control_cFPvPCcUs(); -extern "C" void convPId__14dEvt_control_cFUi(); -extern "C" void setPtI_Id__14dEvt_control_cFUi(); -extern "C" void setPtD__14dEvt_control_cFPv(); -extern "C" void setStartDemo__18dEvent_exception_cFi(); -extern "C" void setObjectArchive__16dEvent_manager_cFPc(); -extern "C" void orderStartDemo__16dEvent_manager_cFv(); -extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc(); -extern "C" void startCheckOld__16dEvent_manager_cFPCc(); -extern "C" void getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci(); -extern "C" void getMyNowCutName__16dEvent_manager_cFi(); -extern "C" void getMySubstanceP__16dEvent_manager_cFiPCci(); -extern "C" void cutEnd__16dEvent_manager_cFi(); -extern "C" void setGoal__16dEvent_manager_cFP4cXyz(); -extern "C" void getGoal__16dEvent_manager_cFv(); -extern "C" void getRunEventName__16dEvent_manager_cFv(); -extern "C" void checkStartDemo__16dEvent_manager_cFv(); -extern "C" void forceOnEventMove__Q213dPa_control_c7level_cFUl(); -extern "C" void getEmitter__Q213dPa_control_c7level_cFUl(); -extern "C" void setHitMark__13dPa_control_cFUsP10fopAc_ac_cPC4cXyzPC5csXyzPC4cXyzUl(); -extern "C" void -setWaterRipple__13dPa_control_cFPUlR13cBgS_PolyInfoPC4cXyzfPC12dKy_tevstr_cPC4cXyzSc(); -extern "C" void -set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void getPolyColor__13dPa_control_cFR13cBgS_PolyInfoiP8_GXColorP8_GXColorPUcPf(); -extern "C" void -setPoly__13dPa_control_cFUsR13cBgS_PolyInfoPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyziP18dPa_levelEcallBackScPC4cXyz(); -extern "C" void -set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void -setPoly__13dPa_control_cFUlUsR13cBgS_PolyInfoPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyziP18dPa_levelEcallBackScPC4cXyz(); -extern "C" void setOldPosP__22dPa_hermiteEcallBack_cFPC4cXyzPC4cXyz(); -extern "C" void init__7dPaPo_cFP9dBgS_Acchff(); -extern "C" void setEffectCenter__7dPaPo_cFPC12dKy_tevstr_cPC4cXyzUlUlPC4cXyzPC5csXyzPC4cXyzScff(); -extern "C" void -setEffectFour__8dPaPoF_cFPC12dKy_tevstr_cPC4cXyzUlUlPC4cXyzPC4cXyzPC4cXyzPC4cXyzPC4cXyzPC5csXyzPC4cXyzScff(); -extern "C" void clearFourAllID__8dPaPoF_cFv(); -extern "C" void dPath_GetRoomPath__Fii(); -extern "C" void addReal__21dDlst_shadowControl_cFUlP8J3DModel(); -extern "C" void newData__13dDlst_peekZ_cFssPUl(); -extern "C" void entryZSortXluDrawList__12dDlst_list_cFP13J3DDrawBufferP9J3DPacketR4cXyz(); -extern "C" void dKyw_get_AllWind_vec__FP4cXyzP4cXyzPf(); -extern "C" bool getKandelaarFlamePos__9daPy_py_cFv(); -extern "C" void StartShock__12dVibration_cFii4cXyz(); -extern "C" void StartQuake__12dVibration_cFii4cXyz(); -extern "C" void StopQuake__12dVibration_cFi(); -extern "C" void GetLockonList__12dAttention_cFl(); -extern "C" void getActionBtnB__12dAttention_cFv(); -extern "C" void getActionBtnXY__12dAttention_cFv(); -extern "C" void LockonTarget__12dAttention_cFl(); -extern "C" void LockonTruth__12dAttention_cFv(); -extern "C" void getActor__10dAttList_cFv(); -extern "C" void convPId__10dAttHint_cFUi(); -extern "C" void convPId__11dAttCatch_cFUi(); -extern "C" void convPId__10dAttLook_cFUi(); -extern "C" void LineCross__4cBgSFP11cBgS_LinChk(); -extern "C" void GroundCross__4cBgSFP11cBgS_GndChk(); -extern "C" void GetActorPointer__4cBgSCFi(); -extern "C" void GetBgWBasePointer__4cBgSCFRC13cBgS_PolyInfo(); -extern "C" void ChkPolySafe__4cBgSFRC13cBgS_PolyInfo(); -extern "C" void GetTriPla__4cBgSCFRC13cBgS_PolyInfoP8cM3dGPla(); -extern "C" void GetTriPnt__4cBgSCFRC13cBgS_PolyInfoP4cXyzP4cXyzP4cXyz(); -extern "C" void ChkMoveBG__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void ChkMoveBG_NoDABg__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetExitId__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetPolyColor__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetHorseNoEntry__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetSpecialCode__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetMagnetCode__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetMonkeyBarsCode__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetWallCode__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetPolyAtt0__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetPolyAtt1__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetGroundCode__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetRoomPathId__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetGrpSoundId__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetRoomId__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetPolyAttackThrough__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void ChkPolyHSStick__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void RoofChk__4dBgSFP12dBgS_RoofChk(); -extern "C" void MoveBgCrrPos__4dBgSFRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyzbb(); -extern "C" void MoveBgTransPos__4dBgSFRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz(); -extern "C" void -PushPullCallBack__4dBgSFRC13cBgS_PolyInfoP10fopAc_ac_csQ29dBgW_Base13PushPullLabel(); -extern "C" void dBgS_CheckBWallPoly__FRC13cBgS_PolyInfo(); -extern "C" void dBgS_CheckBGroundPoly__FRC13cBgS_PolyInfo(); -extern "C" void dBgS_GetNY__FRC13cBgS_PolyInfo(); -extern "C" void __ct__12dBgS_AcchCirFv(); -extern "C" void SetWallR__12dBgS_AcchCirFf(); -extern "C" void SetWall__12dBgS_AcchCirFff(); -extern "C" void __dt__9dBgS_AcchFv(); -extern "C" void __ct__9dBgS_AcchFv(); -extern "C" void Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz(); -extern "C" void Set__9dBgS_AcchFP10fopAc_ac_ciP12dBgS_AcchCir(); -extern "C" void CrrPos__9dBgS_AcchFR4dBgS(); -extern "C" void SetGndThinCellingOff__9dBgS_AcchFv(); -extern "C" void ClrGndThinCellingOff__9dBgS_AcchFv(); -extern "C" void OnWallSort__9dBgS_AcchFv(); -extern "C" void __dt__12dBgS_AcchCirFv(); -extern "C" bool checkPlayerFly__9daPy_py_cCFv(); -extern "C" void __ct__11dBgS_GndChkFv(); -extern "C" void __dt__11dBgS_GndChkFv(); -extern "C" void Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c(); -extern "C" void __ct__14dBgS_ObjLinChkFv(); -extern "C" void __dt__14dBgS_ObjLinChkFv(); -extern "C" void __ct__15dBgS_LinkLinChkFv(); -extern "C" void __dt__15dBgS_LinkLinChkFv(); -extern "C" void __ct__16dBgS_ArrowLinChkFv(); -extern "C" void __dt__16dBgS_ArrowLinChkFv(); -extern "C" void __ct__20dBgS_BoomerangLinChkFv(); -extern "C" void __dt__20dBgS_BoomerangLinChkFv(); -extern "C" void __ct__15dBgS_RopeLinChkFv(); -extern "C" void __dt__15dBgS_RopeLinChkFv(); -extern "C" void SetObj__16dBgS_PolyPassChkFv(); -extern "C" void ClrObj__16dBgS_PolyPassChkFv(); -extern "C" void SetLink__16dBgS_PolyPassChkFv(); -extern "C" void ClrLink__16dBgS_PolyPassChkFv(); -extern "C" void SetBomb__16dBgS_PolyPassChkFv(); -extern "C" void ClrBomb__16dBgS_PolyPassChkFv(); -extern "C" void SetStatue__16dBgS_PolyPassChkFv(); -extern "C" void ClrStatue__16dBgS_PolyPassChkFv(); -extern "C" void SetIronBall__16dBgS_PolyPassChkFv(); -extern "C" void __ct__12dBgS_RoofChkFv(); -extern "C" void __dt__12dBgS_RoofChkFv(); -extern "C" void GetAc__22dCcD_GAtTgCoCommonBaseFv(); -extern "C" void __ct__10dCcD_GSttsFv(); -extern "C" void Move__10dCcD_GSttsFv(); -extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c(); -extern "C" void __ct__12dCcD_GObjInfFv(); -extern "C" void __dt__12dCcD_GObjInfFv(); -extern "C" void ChkAtHit__12dCcD_GObjInfFv(); -extern "C" void ResetAtHit__12dCcD_GObjInfFv(); -extern "C" void GetAtHitGObj__12dCcD_GObjInfFv(); -extern "C" void ChkTgHit__12dCcD_GObjInfFv(); -extern "C" void ResetTgHit__12dCcD_GObjInfFv(); -extern "C" void GetTgHitGObj__12dCcD_GObjInfFv(); -extern "C" void GetTgHitObjSe__12dCcD_GObjInfFv(); -extern "C" void getHitSeID__12dCcD_GObjInfFUci(); -extern "C" void ChkCoHit__12dCcD_GObjInfFv(); -extern "C" void ResetCoHit__12dCcD_GObjInfFv(); -extern "C" void Set__8dCcD_CpsFRC11dCcD_SrcCps(); -extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl(); -extern "C" void StartCAt__8dCcD_CylFR4cXyz(); -extern "C" void MoveCAt__8dCcD_CylFR4cXyz(); -extern "C" void Set__8dCcD_SphFRC11dCcD_SrcSph(); -extern "C" void StartCAt__8dCcD_SphFR4cXyz(); -extern "C" void MoveCAt__8dCcD_SphFR4cXyz(); -extern "C" void __dt__8dCcD_CylFv(); -extern "C" void __dt__8dCcD_CpsFv(); -extern "C" void Set__12dCcMassS_MngFP8cCcD_ObjUc(); -extern "C" bool checkCutJumpCancelTurn__9daPy_py_cCFv(); -extern "C" void StartEventCamera__9dCamera_cFiie(); -extern "C" void EndEventCamera__9dCamera_cFi(); -extern "C" void abs__4cXyzCFv(); -extern "C" void checkMidnaRide__9daPy_py_cCFv(); -extern "C" void __as__4cXyzFRC4cXyz(); -extern "C" void __ct__4cXyzFRC4cXyz(); -extern "C" bool checkCanoeRide__9daPy_py_cCFv(); -extern "C" bool checkBoardRide__9daPy_py_cCFv(); -extern "C" bool checkSpinnerRide__9daPy_py_cCFv(); -extern "C" bool checkBoarRide__9daPy_py_cCFv(); -extern "C" void getShadowTalkAtnPos__9daAlink_cFv(); -extern "C" void execItemGet__FUc(); -extern "C" void checkItemGet__FUci(); -extern "C" void entry__8dEyeHL_cFP12J3DModelDataPCc(); -extern "C" void remove__8dEyeHL_cFv(); -extern "C" void getActorP__18daNpcT_ActorMngr_cFv(); -extern "C" void daNpcF_getPlayerInfoFromPlayerList__FiiR4cXyzR5csXyz(); -extern "C" void checkAnmEnd__16daPy_frameCtrl_cFv(); -extern "C" void updateFrame__16daPy_frameCtrl_cFv(); -extern "C" void setFrameCtrl__16daPy_frameCtrl_cFUcssff(); -extern "C" void setParamData__9daPy_py_cFiiii(); -extern "C" void checkFishingRodItem__9daPy_py_cFi(); -extern "C" void checkBombItem__9daPy_py_cFi(); -extern "C" void checkBottleItem__9daPy_py_cFi(); -extern "C" void checkDrinkBottleItem__9daPy_py_cFi(); -extern "C" void checkOilBottleItem__9daPy_py_cFi(); -extern "C" void checkOpenBottleItem__9daPy_py_cFi(); -extern "C" void checkBowItem__9daPy_py_cFi(); -extern "C" void checkHookshotItem__9daPy_py_cFi(); -extern "C" void checkTradeItem__9daPy_py_cFi(); -extern "C" void checkDungeonWarpItem__9daPy_py_cFi(); -extern "C" void setActor__16daPy_actorKeep_cFv(); -extern "C" void setData__16daPy_actorKeep_cFP10fopAc_ac_c(); -extern "C" void clearData__16daPy_actorKeep_cFv(); -extern "C" void __ct__14daPy_anmHeap_cFUl(); -extern "C" void __dt__14daPy_anmHeap_cFv(); -extern "C" void mallocBuffer__14daPy_anmHeap_cFv(); -extern "C" void createHeap__14daPy_anmHeap_cFQ214daPy_anmHeap_c16daAlinkHEAP_TYPE(); -extern "C" void loadDataIdx__14daPy_anmHeap_cFUs(); -extern "C" void loadDataPriIdx__14daPy_anmHeap_cFUs(); -extern "C" void loadDataDemoRID__14daPy_anmHeap_cFUsUs(); -extern "C" void setAnimeHeap__14daPy_anmHeap_cFv(); -extern "C" void draw__18daPy_sightPacket_cFv(); -extern "C" void setSight__18daPy_sightPacket_cFv(); -extern "C" void setSightImage__18daPy_sightPacket_cFP7ResTIMG(); -extern "C" void checkMasterSwordEquip__9daPy_py_cFv(); -extern "C" void checkWoodShieldEquip__9daPy_py_cFv(); -extern "C" void checkCarryStartLightBallA__9daPy_py_cFv(); -extern "C" void checkCarryStartLightBallB__9daPy_py_cFv(); -extern "C" void daPy_addCalcShort__FPsssss(); -extern "C" void Start__9dCamera_cFv(); -extern "C" void Stop__9dCamera_cFv(); -extern "C" void ChangeModeOK__9dCamera_cFl(); -extern "C" void SetTrimTypeForce__9dCamera_cFl(); -extern "C" void GetCameraTypeFromCameraName__9dCamera_cFPCc(); -extern "C" void GetForceLockOnActor__9dCamera_cFv(); -extern "C" void dCam_getControledAngleY__FP12camera_class(); -extern "C" void dCam_getBody__Fv(); -extern "C" void d_GameOver_Create__FUc(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void dKy_setLight_again__Fv(); -extern "C" void dKy_plight_set__FP15LIGHT_INFLUENCE(); -extern "C" void dKy_plight_cut__FP15LIGHT_INFLUENCE(); -extern "C" void dKy_Itemgetcol_chg_on__Fv(); -extern "C" void dKy_Sound_set__F4cXyziUii(); -extern "C" void dKy_SordFlush_set__F4cXyzi(); -extern "C" void dKy_GxFog_tevstr_set__FP12dKy_tevstr_c(); -extern "C" void dKy_WolfEyeLight_set__FP4cXyzfffP8_GXColorfUcUc(); -extern "C" void dKy_pol_efftype_get__FPC13cBgS_PolyInfo(); -extern "C" void dKy_pol_sound_get__FPC13cBgS_PolyInfo(); -extern "C" void dKy_pol_argument_get__FPC13cBgS_PolyInfo(); -extern "C" void dKy_TeachWind_existence_chk__Fv(); -extern "C" bool dKy_withwarp_capture_check__Fv(); -extern "C" void dKy_darkworld_check__Fv(); -extern "C" void dKy_shadow_mode_set__FUc(); -extern "C" void dKy_shadow_mode_reset__FUc(); -extern "C" void setFloatingMessage__13dMeter2Info_cFUssb(); -extern "C" void onDirectUseItem__13dMeter2Info_cFi(); -extern "C" void resetWarpStatus__13dMeter2Info_cFv(); -extern "C" void warpInProc__13dMeter2Info_cFv(); -extern "C" void warpOutProc__13dMeter2Info_cFv(); -extern "C" void dMeter2Info_setShield__FUcb(); -extern "C" void getStatus__12dMsgObject_cFv(); -extern "C" void onMsgSend__12dMsgObject_cFv(); -extern "C" void setSmellType__12dMsgObject_cFUc(); -extern "C" void isHowlHearingMode__12dMsgObject_cFv(); -extern "C" void __ct__10dMsgFlow_cFv(); -extern "C" void __dt__10dMsgFlow_cFv(); -extern "C" void init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c(); -extern "C" void doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci(); -extern "C" void dPaneClass_showNullPane__FP9J2DScreen(); -extern "C" void ClrCcMove__9cCcD_SttsFv(); -extern "C" void SetIGrp__10cCcD_ObjCoFUl(); -extern "C" void SetVsGrp__10cCcD_ObjCoFUl(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void cPhs_Reset__FP30request_of_phase_process_class(); -extern "C" void __pl__4cXyzCFRC3Vec(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void __ml__4cXyzCFf(); -extern "C" void __dv__4cXyzCFf(); -extern "C" void outprod__4cXyzCFRC3Vec(); -extern "C" void normZP__4cXyzCFv(); -extern "C" void normalize__4cXyzFv(); -extern "C" void normalizeZP__4cXyzFv(); -extern "C" void atan2sX_Z__4cXyzCFv(); -extern "C" void atan2sY_XZ__4cXyzCFv(); -extern "C" void __ct__5csXyzFsss(); -extern "C" void cM_rad2s__Ff(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cM_atan2f__Fff(); -extern "C" void cM_rnd__Fv(); -extern "C" void cM_rndF__Ff(); -extern "C" void cM_rndFX__Ff(); -extern "C" void SetPos__11cBgS_GndChkFPC4cXyz(); -extern "C" void __ct__13cBgS_PolyInfoFv(); -extern "C" void __dt__13cBgS_PolyInfoFv(); -extern "C" void ClearPi__13cBgS_PolyInfoFv(); -extern "C" void SetPolyInfo__13cBgS_PolyInfoFRC13cBgS_PolyInfo(); -extern "C" void cBgW_CheckBGround__Ff(); -extern "C" void cBgW_CheckBRoof__Ff(); -extern "C" void cBgW_CheckBWall__Ff(); -extern "C" void cM3d_Len2dSqPntAndSegLine__FffffffPfPfPf(); -extern "C" void cM3d_SignedLenPlaAndPos__FPC8cM3dGPlaPC3Vec(); -extern "C" void cM3d_3PlaneCrossPos__FRC8cM3dGPlaRC8cM3dGPlaRC8cM3dGPlaP3Vec(); -extern "C" void __ct__8cM3dGCpsFv(); -extern "C" void __dt__8cM3dGCpsFv(); -extern "C" void SetC__8cM3dGCylFRC4cXyz(); -extern "C" void SetH__8cM3dGCylFf(); -extern "C" void SetR__8cM3dGCylFf(); -extern "C" void SetStartEnd__8cM3dGLinFRC4cXyzRC4cXyz(); -extern "C" void __ct__8cM3dGPlaFPC4cXyzf(); -extern "C" void crossInfLin__8cM3dGPlaCFRC4cXyzRC4cXyzR4cXyz(); -extern "C" void SetC__8cM3dGSphFRC4cXyz(); -extern "C" void SetR__8cM3dGSphFf(); -extern "C" void cLib_memCpy__FPvPCvUl(); -extern "C" void cLib_addCalc__FPfffff(); -extern "C" void cLib_addCalcPos__FP4cXyzRC4cXyzfff(); -extern "C" void cLib_addCalcAngleS__FPsssss(); -extern "C" void cLib_addCalcAngleS2__FPssss(); -extern "C" void cLib_chaseUC__FPUcUcUc(); -extern "C" void cLib_chaseS__FPsss(); -extern "C" void cLib_chaseF__FPfff(); -extern "C" void cLib_chasePos__FP4cXyzRC4cXyzf(); -extern "C" void cLib_chasePosXZ__FP4cXyzRC4cXyzf(); -extern "C" void cLib_chaseAngleS__FPsss(); -extern "C" void cLib_targetAngleY__FPC3VecPC3Vec(); -extern "C" void cLib_distanceAngleS__Fss(); -extern "C" void __dt__18JPAEmitterCallBackFv(); -extern "C" void __dt__19JPAParticleCallBackFv(); -extern "C" void func_802807E0(); -extern "C" void JPACalcKeyAnmValue__FfUsPCf(); -extern "C" void -getData__Q47JStudio3stb4data22TParse_TParagraph_dataCFPQ57JStudio3stb4data22TParse_TParagraph_data5TData(); -extern "C" void getAramHeap__9JASKernelFv(); -extern "C" void func_802A0A8C(); -extern "C" void releaseSound__14JAISoundHandleFv(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void bgmStart__8Z2SeqMgrFUlUll(); -extern "C" void subBgmStart__8Z2SeqMgrFUl(); -extern "C" void subBgmStop__8Z2SeqMgrFv(); -extern "C" void changeBgmStatus__8Z2SeqMgrFl(); -extern "C" void changeSubBgmStatus__8Z2SeqMgrFl(); -extern "C" void bgmSetSwordUsing__8Z2SeqMgrFl(); -extern "C" void taktModeMute__8Z2SeqMgrFv(); -extern "C" void taktModeMuteOff__8Z2SeqMgrFv(); -extern "C" void deleteObject__14Z2SoundObjBaseFv(); -extern "C" void __ct__16Z2SoundObjSimpleFv(); -extern "C" void initAnime__10Z2CreatureFPvbff(); -extern "C" void updateAnime__10Z2CreatureFff(); -extern "C" void startCollisionSE__10Z2CreatureFUlUl(); -extern "C" void setLinkGroupInfo__14Z2CreatureLinkFUc(); -extern "C" void setLinkHp__14Z2CreatureLinkFll(); -extern "C" void setLinkSwordType__14Z2CreatureLinkFll(); -extern "C" void setLinkShieldType__14Z2CreatureLinkFll(); -extern "C" void setLinkBootsType__14Z2CreatureLinkFl(); -extern "C" void __ct__14Z2CreatureLinkFv(); -extern "C" void __dt__14Z2CreatureLinkFv(); -extern "C" void init__14Z2CreatureLinkFP3VecP3VecP3Vec(); -extern "C" void initKantera__14Z2CreatureLinkFP3Vec(); -extern "C" void deleteKantera__14Z2CreatureLinkFv(); -extern "C" void setKanteraState__14Z2CreatureLinkFUc(); -extern "C" void setSinkDepth__14Z2CreatureLinkFSc(); -extern "C" void setRiding__14Z2CreatureLinkFb(); -extern "C" void setMagnetized__14Z2CreatureLinkFb(); -extern "C" void setWolfEyeOpen__14Z2CreatureLinkFb(); -extern "C" void startLinkSound__14Z2CreatureLinkF10JAISoundIDUlSc(); -extern "C" void startLinkSoundLevel__14Z2CreatureLinkF10JAISoundIDUlSc(); -extern "C" void startLinkVoice__14Z2CreatureLinkF10JAISoundIDSc(); -extern "C" void startLinkVoiceLevel__14Z2CreatureLinkF10JAISoundIDSc(); -extern "C" void startLinkSwordSound__14Z2CreatureLinkF10JAISoundIDUlSc(); -extern "C" void startHitItemSE__14Z2CreatureLinkFUlUlP14Z2SoundObjBasef(); -extern "C" void setResumeAttack__14Z2CreatureLinkFb(); -extern "C" void __ct__13Z2WolfHowlMgrFv(); -extern "C" void startWolfHowlSound__13Z2WolfHowlMgrFffbf(); -extern "C" void setCorrectData__13Z2WolfHowlMgrFScP14Z2WolfHowlData(); -extern "C" void skipCorrectDemo__13Z2WolfHowlMgrFv(); -extern "C" void freeAll__7JKRHeapFv(); -extern "C" void* __nw__FUl(); -extern "C" void* __nwa__FUl(); -extern "C" void* __nwa__FUli(); -extern "C" void __dl__FPv(); -extern "C" void create__10JKRExpHeapFUlP7JKRHeapb(); -extern "C" void getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader(); -extern "C" void readIdxResource__10JKRArchiveFPvUlUl(); -extern "C" void __ct__9J2DScreenFv(); -extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive(); -extern "C" void draw__9J2DScreenFffPC14J2DGrafContext(); -extern "C" void animation__9J2DScreenFv(); -extern "C" void load__20J2DAnmLoaderDataBaseFPCv(); -extern "C" void reinitGX__6J3DSysFv(); -extern "C" bool entry__9J3DPacketFP13J3DDrawBuffer(); -extern "C" void loadPreDrawSetting__8J3DShapeCFv(); -extern "C" void entryImm__13J3DDrawBufferFP9J3DPacketUs(); -extern "C" void diff__8J3DModelFv(); -extern "C" void setDeformData__8J3DModelFP13J3DDeformDataUl(); -extern "C" void calcWeightEnvelopeMtx__8J3DModelFv(); -extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void checkPass__12J3DFrameCtrlFf(); -extern "C" void searchUpdateMaterialID__16J3DAnmTexPatternFP12J3DModelData(); -extern "C" void searchUpdateMaterialID__19J3DAnmTextureSRTKeyFP12J3DModelData(); -extern "C" void getTevColorReg__15J3DAnmTevRegKeyCFUsP11_GXColorS10(); -extern "C" void searchUpdateMaterialID__15J3DAnmTevRegKeyFP12J3DModelData(); -extern "C" void initialize__14J3DMaterialAnmFv(); -extern "C" void calc__14J3DMaterialAnmCFP11J3DMaterial(); -extern "C" void removeTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey(); -extern "C" void removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey(); -extern "C" void entryTexNoAnimator__16J3DMaterialTableFP16J3DAnmTexPattern(); -extern "C" void entryTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey(); -extern "C" void entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey(); -extern "C" void load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag(); -extern "C" void JMAEulerToQuat__FsssP10Quaternion(); -extern "C" void GXClearVtxDesc(); -extern "C" void __register_global_object(); -extern "C" void __destroy_arr(); -extern "C" void __construct_array(); -extern "C" void __construct_new_array(); -extern "C" void __ptmf_test(); -extern "C" void __ptmf_scall(); -extern "C" void __cvt_fp2unsigned(); -extern "C" void _savegpr_14(); -extern "C" void _savegpr_15(); -extern "C" void _savegpr_16(); -extern "C" void _savegpr_20(); -extern "C" void _savegpr_21(); -extern "C" void _savegpr_22(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_14(); -extern "C" void _restgpr_15(); -extern "C" void _restgpr_16(); -extern "C" void _restgpr_20(); -extern "C" void _restgpr_21(); -extern "C" void _restgpr_22(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" u8 const tempBitLabels__20dSv_event_tmp_flag_c[370 + 2 /* padding */]; -extern "C" extern u8 const __ptmf_null[12 + 4 /* padding */]; -extern "C" extern void* __vt__12J3DFrameCtrl[3]; -extern "C" extern void* data_803A3360[11]; -extern "C" extern void* __vt__19J3DMtxCalcNoAnmBase[11]; -extern "C" extern void* __vt__28mDoExt_MtxCalcAnmBlendTblOld[11]; -extern "C" extern void* __vt__25mDoExt_MtxCalcAnmBlendTbl[11]; -extern "C" extern void* __vt__10J3DMtxCalc[11 + 1 /* padding */]; -extern "C" extern void* __vt__19JPAParticleCallBack[5]; -extern "C" extern void* __vt__8cM3dGPla[3]; -extern "C" extern void* __vt__14dBgS_ObjGndChk[12 + 1 /* padding */]; -extern "C" extern void* __vt__12dDlst_base_c[3]; -extern "C" extern void* __vt__8cM3dGCyl[3]; -extern "C" extern void* __vt__8cM3dGAab[3]; -extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; -extern "C" extern void* __vt__8cM3dGSph[3]; -extern "C" extern void* __vt__22dPa_hermiteEcallBack_c[9]; -extern "C" extern void* __vt__18dPa_levelEcallBack[9]; -extern "C" extern void* __vt__18JPAEmitterCallBack[7]; -extern "C" u8 m_typeFourData__8dPaPoF_c[60]; -extern "C" u8 m_emitterFourData__8dPaPoF_c[60 + 28 /* padding */]; -extern "C" extern void* __vt__8dCcD_Sph[36]; -extern "C" extern void* __vt__8dCcD_Cyl[36]; -extern "C" extern void* __vt__8dCcD_Cps[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -extern "C" extern void* __vt__10dCcD_GStts[3]; -extern "C" extern void* __vt__10cCcD_GStts[3]; -extern "C" extern void* __vt__18daPy_sightPacket_c[4 + 1 /* padding */]; -extern "C" extern void* __vt__12cCcD_SphAttr[25]; -extern "C" extern void* __vt__12cCcD_CylAttr[25]; -extern "C" extern void* __vt__12cCcD_CpsAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" extern void* __vt__9cCcD_Stts[8]; -extern "C" extern void* __vt__9J3DPacket[5]; -extern "C" extern void* __vt__14J3DMaterialAnm[4]; -extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 mLineCheck__11fopAcM_lc_c[112]; -extern "C" u8 mGndCheck__11fopAcM_gc_c[84]; -extern "C" u8 mWaterCheck__11fopAcM_wt_c[84 + 4 /* padding */]; -extern "C" u8 mDemoArcName__20dStage_roomControl_c[10 + 2 /* padding */]; -extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" f32 Zero__4cXyz[3]; -extern "C" u8 BaseX__4cXyz[12]; -extern "C" u8 BaseY__4cXyz[12]; -extern "C" u8 BaseZ__4cXyz[12]; -extern "C" u8 mCurrentMtx__6J3DSys[48]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" u16 m_branchId__7dDemo_c[1 + 3 /* padding */]; -extern "C" f32 mGroundY__11fopAcM_gc_c; -extern "C" f32 mWaterY__11fopAcM_wt_c[1 + 1 /* padding */]; -extern "C" u8 m_top__12daTagHstop_c[4 + 4 /* padding */]; -extern "C" u8 m_object__7dDemo_c[4]; -extern "C" u8 mWaterBubblePcallBack__13dPa_control_c[4]; -extern "C" u8 mParticleTracePCB__13dPa_control_c[4 + 4 /* padding */]; -extern "C" extern u8 struct_80450FB8[4]; -extern "C" extern u8 struct_80450FBC[4]; -extern "C" u8 m_midnaActor__9daPy_py_c[4]; -extern "C" extern u8 m_dropAngleY__20daPy_boomerangMove_c[4]; -extern "C" u8 Zero__5csXyz[4]; -extern "C" u8 mLinkPtr__14Z2CreatureLink[4 + 4 /* padding */]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" u8 sOldVcdVatCmd__8J3DShape[4]; - -// -// Declarations: -// +#include "d/d_meter2_info.h" +#include "d/actor/d_a_kytag05.h" static fopAc_ac_c* daAlink_searchTagKandelaar(fopAc_ac_c* i_actor, void* i_data); @@ -4525,16 +1531,6 @@ static int const normalType3[5] = {4, 0, 1, 2, 1}; static int const finishType[5] = {2, 0, 0, 5, 1}; #pragma pop -struct daAlink_cutParamTbl { - /* 0x0 */ daAlink_c::daAlink_ANM m_anmID; - /* 0x4 */ int field_0x4; - /* 0x8 */ u8 m_cutType; - /* 0x9 */ u8 m_atSe; - /* 0xA */ u8 field_0xa; - /* 0xB */ u8 field_0xb; - /* 0xC */ f32 m_morf; -}; // Size: 0x10 - /* 80391808-80391858 01DE68 0050+00 0/1 0/0 0/0 .rodata cutParamTable$7312 */ #pragma push #pragma force_active on @@ -4822,8 +1818,8 @@ SECTION_RODATA static Vec const bottleTop = { COMPILER_STRIP_GATE(0x80391A14, &bottleTop); /* 80391A20-80391A2C 01E080 000C+00 1/1 0/0 0/0 .rodata kandelaarOffset$32655 */ -SECTION_RODATA static u8 const kandelaarOffset[12] = { - 0x00, 0x00, 0x00, 0x00, 0xC1, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +SECTION_RODATA static Vec const kandelaarOffset = { + 0.0f, -17.0f, 0.0f }; COMPILER_STRIP_GATE(0x80391A20, &kandelaarOffset); @@ -6595,66 +3591,6 @@ SECTION_DATA static const char volcBomPortal[20] = "PORTAL_WARP_BIGVOLC"; SECTION_DATA static const char cannonPortal[22] = "SKY_CANNON_WARP_START"; #pragma pop -/* 803B2CA4-803B2CB0 -00001 000C+00 0/1 0/0 0/0 .data @39610 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_39610[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)setEffectFrontRollParam__9daAlink_cFv, -}; -#pragma pop - -/* 803B2CB0-803B2CBC -00001 000C+00 0/1 0/0 0/0 .data @39611 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_39611[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)setEffectSlipParam__9daAlink_cFv, -}; -#pragma pop - -/* 803B2CBC-803B2CC8 -00001 000C+00 0/1 0/0 0/0 .data @39612 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_39612[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)setEffectSmallLandParam__9daAlink_cFv, -}; -#pragma pop - -/* 803B2CC8-803B2CD4 -00001 000C+00 0/1 0/0 0/0 .data @39613 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_39613[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)setEffectRunParam__9daAlink_cFv, -}; -#pragma pop - -/* 803B2CD4-803B2CE0 -00001 000C+00 0/1 0/0 0/0 .data @39614 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_39614[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)setEffectLandParam__9daAlink_cFv, -}; -#pragma pop - -/* 803B2CE0-803B2CEC -00001 000C+00 0/1 0/0 0/0 .data @39615 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_39615[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)setEffectSumouParam__9daAlink_cFv, -}; -#pragma pop - /* 803B2CEC-803B2D34 00FE0C 0048+00 1/2 0/0 0/0 .data m_fEffParamProc__9daAlink_c */ SECTION_DATA u8 daAlink_c::m_fEffParamProc[72] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, @@ -6749,525 +3685,6 @@ extern actor_process_profile_definition g_profile_ALINK = { fopAc_CULLBOX_0_e, }; -// tons of extra padding? not sure what this is -#pragma push -#pragma force_active on -SECTION_DATA static u8 data_803B2DFC[0x24] = {0}; -#pragma pop - -/* 803B2E20-803B2E80 00FF40 000C+54 2/2 0/0 0/0 .data __vt__16daPy_frameCtrl_c */ -SECTION_DATA extern void* __vt__16daPy_frameCtrl_c[3 + 21 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__16daPy_frameCtrl_cFv, - /* padding */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -}; - -/* 803B2E80-803B2EC8 00FFA0 000C+3C 3/3 0/0 0/0 .data __vt__8dEyeHL_c */ -SECTION_DATA extern void* __vt__8dEyeHL_c[3 + 15 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8dEyeHL_cFv, - /* padding */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -}; - -/* 803B2EC8-803B2EF8 00FFE8 0030+00 3/3 0/0 0/0 .data __vt__16dBgS_LinkRoofChk */ -SECTION_DATA extern void* __vt__16dBgS_LinkRoofChk[12] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__16dBgS_LinkRoofChkFv, - (void*)NULL, - (void*)NULL, - (void*)func_8014470C, - (void*)NULL, - (void*)NULL, - (void*)func_8014471C, - (void*)NULL, - (void*)NULL, - (void*)func_80144714, -}; - -/* 803B2EF8-803B2F28 010018 0030+00 3/3 0/0 0/0 .data __vt__15dBgS_LinkGndChk */ -SECTION_DATA extern void* __vt__15dBgS_LinkGndChk[12] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__15dBgS_LinkGndChkFv, - (void*)NULL, - (void*)NULL, - (void*)func_801446F4, - (void*)NULL, - (void*)NULL, - (void*)func_80144704, - (void*)NULL, - (void*)NULL, - (void*)func_801446FC, -}; - -/* 803B2F28-803B2F70 010048 0024+24 3/3 0/0 0/0 .data __vt__13dBgS_LinkAcch */ -SECTION_DATA extern void* __vt__13dBgS_LinkAcch[9 + 9 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__13dBgS_LinkAcchFv, - (void*)NULL, - (void*)NULL, - (void*)func_801446EC, - (void*)NULL, - (void*)NULL, - (void*)func_801446E4, - /* padding */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -}; - -/* 803B2F70-803B321C 010090 02AC+00 2/2 0/0 0/0 .data __vt__9daPy_py_c */ -SECTION_DATA extern void* __vt__9daPy_py_c[171] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)getMidnaAtnPos__9daPy_py_cCFv, - (void*)setMidnaMsgNum__9daPy_py_cFP10fopAc_ac_cUs, - (void*)getModelMtx__9daPy_py_cFv, - (void*)getInvMtx__9daPy_py_cFv, - (void*)getShadowTalkAtnPos__9daPy_py_cFv, - (void*)NULL, - (void*)getLeftItemMatrix__9daPy_py_cFv, - (void*)getRightItemMatrix__9daPy_py_cFv, - (void*)getLeftHandMatrix__9daPy_py_cFv, - (void*)getRightHandMatrix__9daPy_py_cFv, - (void*)getLinkBackBone1Matrix__9daPy_py_cFv, - (void*)getWolfMouthMatrix__9daPy_py_cFv, - (void*)getWolfBackbone2Matrix__9daPy_py_cFv, - (void*)getBottleMtx__9daPy_py_cFv, - (void*)checkPlayerGuard__9daPy_py_cCFv, - (void*)checkPlayerFly__9daPy_py_cCFv, - (void*)checkFrontRoll__9daPy_py_cCFv, - (void*)checkWolfDash__9daPy_py_cCFv, - (void*)checkAutoJump__9daPy_py_cCFv, - (void*)checkSideStep__9daPy_py_cCFv, - (void*)checkWolfTriggerJump__9daPy_py_cCFv, - (void*)checkGuardBreakMode__9daPy_py_cCFv, - (void*)checkLv3Slide__9daPy_py_cCFv, - (void*)checkWolfHowlDemoMode__9daPy_py_cCFv, - (void*)checkChainBlockPushPull__9daPy_py_cFv, - (void*)checkElecDamage__9daPy_py_cCFv, - (void*)checkEmptyBottleSwing__9daPy_py_cCFv, - (void*)checkBottleSwingMode__9daPy_py_cCFv, - (void*)checkHawkWait__9daPy_py_cCFv, - (void*)checkGoatThrow__9daPy_py_cCFv, - (void*)checkGoatThrowAfter__9daPy_py_cCFv, - (void*)checkWolfTagLockJump__9daPy_py_cCFv, - (void*)checkWolfTagLockJumpLand__9daPy_py_cCFv, - (void*)checkWolfRope__9daPy_py_cFv, - (void*)checkWolfRopeHang__9daPy_py_cCFv, - (void*)checkRollJump__9daPy_py_cCFv, - (void*)checkGoronRideWait__9daPy_py_cCFv, - (void*)checkWolfChain__9daPy_py_cCFv, - (void*)checkWolfWait__9daPy_py_cCFv, - (void*)checkWolfJumpAttack__9daPy_py_cCFv, - (void*)checkWolfRSit__9daPy_py_cCFv, - (void*)checkBubbleFly__9daPy_py_cCFv, - (void*)checkBottleDrinkEnd__9daPy_py_cCFv, - (void*)checkWolfDig__9daPy_py_cCFv, - (void*)checkCutCharge__9daPy_py_cCFv, - (void*)checkCutTurnCharge__9daPy_py_cCFv, - (void*)checkCutLargeJumpCharge__9daPy_py_cCFv, - (void*)getBokoFlamePos__9daPy_py_cFP4cXyz, - (void*)checkComboCutTurn__9daPy_py_cCFv, - (void*)checkClimbMove__9daPy_py_cCFv, - (void*)checkGrassWhistle__9daPy_py_cCFv, - (void*)checkBoarRun__9daPy_py_cCFv, - (void*)checkFmChainPut__9daPy_py_cCFv, - (void*)checkHorseElecDamage__9daPy_py_cCFv, - (void*)getBaseAnimeFrameRate__9daPy_py_cCFv, - (void*)getBaseAnimeFrame__9daPy_py_cCFv, - (void*)setAnimeFrame__9daPy_py_cFf, - (void*)checkWolfLock__9daPy_py_cCFP10fopAc_ac_c, - (void*)cancelWolfLock__9daPy_py_cFP10fopAc_ac_c, - (void*)getAtnActorID__9daPy_py_cCFv, - (void*)getItemID__9daPy_py_cCFv, - (void*)getGrabActorID__9daPy_py_cCFv, - (void*)exchangeGrabActor__9daPy_py_cFP10fopAc_ac_c, - (void*)setForceGrab__9daPy_py_cFP10fopAc_ac_cii, - (void*)setForcePutPos__9daPy_py_cFRC4cXyz, - (void*)checkPlayerNoDraw__9daPy_py_cFv, - (void*)checkRopeTag__9daPy_py_cFv, - (void*)voiceStart__9daPy_py_cFUl, - (void*)seStartOnlyReverb__9daPy_py_cFUl, - (void*)seStartOnlyReverbLevel__9daPy_py_cFUl, - (void*)setOutPower__9daPy_py_cFfsi, - (void*)setGrabCollisionOffset__9daPy_py_cFffP13cBgS_PolyInfo, - (void*)onMagneGrab__9daPy_py_cFff, - (void*)onFrollCrashFlg__9daPy_py_cFUci, - (void*)getModelJointMtx__9daPy_py_cFUs, - (void*)getHeadMtx__9daPy_py_cFv, - (void*)setHookshotCarryOffset__9daPy_py_cFUiPC4cXyz, - (void*)checkCutJumpCancelTurn__9daPy_py_cCFv, - (void*)checkIronBallReturn__9daPy_py_cCFv, - (void*)checkIronBallGroundStop__9daPy_py_cCFv, - (void*)checkSingleBoarBattleSecondBowReady__9daPy_py_cCFv, - (void*)checkPointSubWindowMode__9daPy_py_cCFv, - (void*)setClothesChange__9daPy_py_cFi, - (void*)setPlayerPosAndAngle__9daPy_py_cFPC4cXyzsi, - (void*)setPlayerPosAndAngle__9daPy_py_cFPC4cXyzPC5csXyz, - (void*)setPlayerPosAndAngle__9daPy_py_cFPA4_f, - (void*)setThrowDamage__9daPy_py_cFsffiii, - (void*)checkSetNpcTks__9daPy_py_cFP4cXyzii, - (void*)setRollJump__9daPy_py_cFffs, - (void*)playerStartCollisionSE__9daPy_py_cFUlUl, - (void*)changeTextureAnime__9daPy_py_cFUsUsi, - (void*)cancelChangeTextureAnime__9daPy_py_cFv, - (void*)cancelDungeonWarpReadyNeck__9daPy_py_cFv, - (void*)onSceneChangeArea__9daPy_py_cFUcUcP10fopAc_ac_c, - (void*)onSceneChangeAreaJump__9daPy_py_cFUcUcP10fopAc_ac_c, - (void*)onSceneChangeDead__9daPy_py_cFUci, - (void*)checkHorseRide__9daPy_py_cCFv, - (void*)checkBoarRide__9daPy_py_cCFv, - (void*)checkCanoeRide__9daPy_py_cCFv, - (void*)checkBoardRide__9daPy_py_cCFv, - (void*)checkSpinnerRide__9daPy_py_cCFv, - (void*)getSpinnerActor__9daPy_py_cFv, - (void*)checkHorseRideNotReady__9daPy_py_cCFv, - (void*)checkArrowChargeEnd__9daPy_py_cCFv, - (void*)getSearchBallScale__9daPy_py_cCFv, - (void*)checkFastShotTime__9daPy_py_cFv, - (void*)checkNoEquipItem__9daPy_py_cCFv, - (void*)checkFireMaterial__9daPy_py_cCFv, - (void*)checkKandelaarSwing__9daPy_py_cCFi, - (void*)getBoardCutTurnOffsetAngleY__9daPy_py_cCFv, - (void*)getMagneHitPos__9daPy_py_cFv, - (void*)getMagneBootsTopVec__9daPy_py_cFv, - (void*)getKandelaarFlamePos__9daPy_py_cFv, - (void*)checkUseKandelaar__9daPy_py_cFi, - (void*)setDkCaught__9daPy_py_cFP10fopAc_ac_c, - (void*)onPressedDamage__9daPy_py_cFRC4cXyzs, - (void*)checkPriActorOwn__9daPy_py_cCFPC10fopAc_ac_c, - (void*)onWolfEnemyBiteAll__9daPy_py_cFP10fopAc_ac_cQ29daPy_py_c9daPy_FLG2, - (void*)checkWolfEnemyBiteAllOwn__9daPy_py_cCFPC10fopAc_ac_c, - (void*)setWolfEnemyHangBiteAngle__9daPy_py_cFs, - (void*)setKandelaarMtx__9daPy_py_cFPA4_fii, - (void*)getStickAngleFromPlayerShape__9daPy_py_cCFPs, - (void*)checkSpinnerPathMove__9daPy_py_cFv, - (void*)checkSpinnerTriggerAttack__9daPy_py_cFv, - (void*)onSpinnerPathForceRemove__9daPy_py_cFv, - (void*)getIronBallBgHit__9daPy_py_cCFv, - (void*)getIronBallCenterPos__9daPy_py_cFv, - (void*)checkCanoeFishingGetLeft__9daPy_py_cCFv, - (void*)checkCanoeFishingGetRight__9daPy_py_cCFv, - (void*)checkBeeChildDrink__9daPy_py_cCFv, - (void*)skipPortalObjWarp__9daPy_py_cFv, - (void*)checkTreasureRupeeReturn__9daPy_py_cCFi, - (void*)setSumouReady__9daPy_py_cFP10fopAc_ac_c, - (void*)checkAcceptDungeonWarpAlink__9daPy_py_cFi, - (void*)getSumouCounter__9daPy_py_cCFv, - (void*)checkSumouWithstand__9daPy_py_cCFv, - (void*)cancelGoronThrowEvent__9daPy_py_cFv, - (void*)setSumouGraspCancelCount__9daPy_py_cFi, - (void*)setSumouPushBackDirection__9daPy_py_cFs, - (void*)setSumouLoseHeadUp__9daPy_py_cFv, - (void*)getGiantPuzzleAimAngle__9daPy_py_cCFv, - (void*)setGoronSideMove__9daPy_py_cFP10fopAc_ac_c, - (void*)setCargoCarry__9daPy_py_cFP10fopAc_ac_c, - (void*)getDpdFarFlg__9daPy_py_cCFv, - (void*)getHookshotTopPos__9daPy_py_cFv, - (void*)checkHookshotReturnMode__9daPy_py_cCFv, - (void*)checkHookshotShootReturnMode__9daPy_py_cCFv, - (void*)checkOctaIealHang__9daPy_py_cCFv, - (void*)cancelOctaIealHang__9daPy_py_cFv, - (void*)cancelDragonHangBackJump__9daPy_py_cFv, - (void*)setOctaIealWildHang__9daPy_py_cFv, - (void*)checkDragonHangRide__9daPy_py_cCFv, - (void*)changeDragonActor__9daPy_py_cFP10fopAc_ac_c, - (void*)getClothesChangeWaitTimer__9daPy_py_cCFv, - (void*)getShieldChangeWaitTimer__9daPy_py_cCFv, - (void*)getSwordChangeWaitTimer__9daPy_py_cCFv, - (void*)checkMetamorphose__9daPy_py_cCFv, - (void*)checkWolfDownAttackPullOut__9daPy_py_cCFv, - (void*)checkBootsOrArmorHeavy__9daPy_py_cCFv, - (void*)getBottleOpenAppearItem__9daPy_py_cCFv, - (void*)checkItemSwordEquip__9daPy_py_cCFv, - (void*)getSinkShapeOffset__9daPy_py_cCFv, - (void*)checkSinkDead__9daPy_py_cCFv, - (void*)checkHorseStart__9daPy_py_cFv, - (void*)getWolfHowlMgrP__9daPy_py_cFv, - (void*)checkWolfHowlSuccessAnime__9daPy_py_cCFv, - (void*)checkCopyRodTopUse__9daPy_py_cFv, - (void*)checkCopyRodEquip__9daPy_py_cCFv, - (void*)checkCutJumpMode__9daPy_py_cCFv, -}; - -/* 803B321C-803B32B8 01033C 000C+90 2/2 0/0 0/0 .data __vt__12daAlinkHIO_c */ -SECTION_DATA extern void* __vt__12daAlinkHIO_c[3 + 36 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12daAlinkHIO_cFv, - /* padding */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -}; - -/* 803B32B8-803B3564 0103D8 02AC+00 2/2 0/0 0/0 .data __vt__9daAlink_c */ -SECTION_DATA extern void* __vt__9daAlink_c[171] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)getMidnaAtnPos__9daAlink_cCFv, - (void*)setMidnaMsgNum__9daAlink_cFP10fopAc_ac_cUs, - (void*)getModelMtx__9daAlink_cFv, - (void*)getInvMtx__9daAlink_cFv, - (void*)getShadowTalkAtnPos__9daAlink_cFv, - (void*)getGroundY__9daAlink_cFv, - (void*)getLeftItemMatrix__9daAlink_cFv, - (void*)getRightItemMatrix__9daAlink_cFv, - (void*)getLeftHandMatrix__9daAlink_cFv, - (void*)getRightHandMatrix__9daAlink_cFv, - (void*)getLinkBackBone1Matrix__9daAlink_cFv, - (void*)getWolfMouthMatrix__9daAlink_cFv, - (void*)getWolfBackbone2Matrix__9daAlink_cFv, - (void*)getBottleMtx__9daAlink_cFv, - (void*)checkPlayerGuard__9daAlink_cCFv, - (void*)checkPlayerFly__9daAlink_cCFv, - (void*)checkFrontRoll__9daAlink_cCFv, - (void*)checkWolfDash__9daAlink_cCFv, - (void*)checkAutoJump__9daAlink_cCFv, - (void*)checkSideStep__9daAlink_cCFv, - (void*)checkWolfTriggerJump__9daAlink_cCFv, - (void*)checkGuardBreakMode__9daAlink_cCFv, - (void*)checkLv3Slide__9daAlink_cCFv, - (void*)checkWolfHowlDemoMode__9daAlink_cCFv, - (void*)checkChainBlockPushPull__9daAlink_cFv, - (void*)checkElecDamage__9daAlink_cCFv, - (void*)checkEmptyBottleSwing__9daAlink_cCFv, - (void*)checkBottleSwingMode__9daAlink_cCFv, - (void*)checkHawkWait__9daAlink_cCFv, - (void*)checkGoatThrow__9daAlink_cCFv, - (void*)checkGoatThrowAfter__9daAlink_cCFv, - (void*)checkWolfTagLockJump__9daAlink_cCFv, - (void*)checkWolfTagLockJumpLand__9daAlink_cCFv, - (void*)checkWolfRope__9daAlink_cFv, - (void*)checkWolfRopeHang__9daAlink_cCFv, - (void*)checkRollJump__9daAlink_cCFv, - (void*)checkGoronRideWait__9daAlink_cCFv, - (void*)checkWolfChain__9daAlink_cCFv, - (void*)checkWolfWait__9daAlink_cCFv, - (void*)checkWolfJumpAttack__9daAlink_cCFv, - (void*)checkWolfRSit__9daAlink_cCFv, - (void*)checkBubbleFly__9daPy_py_cCFv, - (void*)checkBottleDrinkEnd__9daAlink_cCFv, - (void*)checkWolfDig__9daAlink_cCFv, - (void*)checkCutCharge__9daAlink_cCFv, - (void*)checkCutTurnCharge__9daAlink_cCFv, - (void*)checkCutLargeJumpCharge__9daAlink_cCFv, - (void*)getBokoFlamePos__9daPy_py_cFP4cXyz, - (void*)checkComboCutTurn__9daAlink_cCFv, - (void*)checkClimbMove__9daAlink_cCFv, - (void*)checkGrassWhistle__9daAlink_cCFv, - (void*)checkBoarRun__9daAlink_cCFv, - (void*)checkFmChainPut__9daPy_py_cCFv, - (void*)checkHorseElecDamage__9daPy_py_cCFv, - (void*)getBaseAnimeFrameRate__9daAlink_cCFv, - (void*)getBaseAnimeFrame__9daAlink_cCFv, - (void*)setAnimeFrame__9daAlink_cFf, - (void*)checkWolfLock__9daAlink_cCFP10fopAc_ac_c, - (void*)cancelWolfLock__9daAlink_cFP10fopAc_ac_c, - (void*)getAtnActorID__9daAlink_cCFv, - (void*)getItemID__9daAlink_cCFv, - (void*)getGrabActorID__9daAlink_cCFv, - (void*)exchangeGrabActor__9daAlink_cFP10fopAc_ac_c, - (void*)setForceGrab__9daAlink_cFP10fopAc_ac_cii, - (void*)setForcePutPos__9daAlink_cFRC4cXyz, - (void*)checkPlayerNoDraw__9daAlink_cFv, - (void*)checkRopeTag__9daPy_py_cFv, - (void*)voiceStart__9daAlink_cFUl, - (void*)seStartOnlyReverb__9daAlink_cFUl, - (void*)seStartOnlyReverbLevel__9daAlink_cFUl, - (void*)setOutPower__9daAlink_cFfsi, - (void*)setGrabCollisionOffset__9daAlink_cFffP13cBgS_PolyInfo, - (void*)onMagneGrab__9daPy_py_cFff, - (void*)onFrollCrashFlg__9daAlink_cFUci, - (void*)getModelJointMtx__9daAlink_cFUs, - (void*)getHeadMtx__9daAlink_cFv, - (void*)setHookshotCarryOffset__9daAlink_cFUiPC4cXyz, - (void*)checkCutJumpCancelTurn__9daAlink_cCFv, - (void*)checkIronBallReturn__9daAlink_cCFv, - (void*)checkIronBallGroundStop__9daAlink_cCFv, - (void*)checkSingleBoarBattleSecondBowReady__9daAlink_cCFv, - (void*)checkPointSubWindowMode__9daPy_py_cCFv, - (void*)setClothesChange__9daAlink_cFi, - (void*)setPlayerPosAndAngle__9daAlink_cFPC4cXyzsi, - (void*)setPlayerPosAndAngle__9daAlink_cFPC4cXyzPC5csXyz, - (void*)setPlayerPosAndAngle__9daAlink_cFPA4_f, - (void*)setThrowDamage__9daAlink_cFsffiii, - (void*)checkSetNpcTks__9daAlink_cFP4cXyzii, - (void*)setRollJump__9daAlink_cFffs, - (void*)playerStartCollisionSE__9daAlink_cFUlUl, - (void*)changeTextureAnime__9daPy_py_cFUsUsi, - (void*)cancelChangeTextureAnime__9daPy_py_cFv, - (void*)cancelDungeonWarpReadyNeck__9daAlink_cFv, - (void*)onSceneChangeArea__9daAlink_cFUcUcP10fopAc_ac_c, - (void*)onSceneChangeAreaJump__9daAlink_cFUcUcP10fopAc_ac_c, - (void*)onSceneChangeDead__9daAlink_cFUci, - (void*)checkHorseRide__9daAlink_cCFv, - (void*)checkBoarRide__9daAlink_cCFv, - (void*)checkCanoeRide__9daAlink_cCFv, - (void*)checkBoardRide__9daAlink_cCFv, - (void*)checkSpinnerRide__9daAlink_cCFv, - (void*)getSpinnerActor__9daAlink_cFv, - (void*)checkHorseRideNotReady__9daAlink_cCFv, - (void*)checkArrowChargeEnd__9daAlink_cCFv, - (void*)getSearchBallScale__9daAlink_cCFv, - (void*)checkFastShotTime__9daAlink_cFv, - (void*)checkNoEquipItem__9daAlink_cCFv, - (void*)checkFireMaterial__9daPy_py_cCFv, - (void*)checkKandelaarSwing__9daAlink_cCFi, - (void*)getBoardCutTurnOffsetAngleY__9daAlink_cCFv, - (void*)getMagneHitPos__9daPy_py_cFv, - (void*)getMagneBootsTopVec__9daAlink_cFv, - (void*)getKandelaarFlamePos__9daAlink_cFv, - (void*)checkUseKandelaar__9daAlink_cFi, - (void*)setDkCaught__9daAlink_cFP10fopAc_ac_c, - (void*)onPressedDamage__9daAlink_cFRC4cXyzs, - (void*)checkPriActorOwn__9daAlink_cCFPC10fopAc_ac_c, - (void*)onWolfEnemyBiteAll__9daAlink_cFP10fopAc_ac_cQ29daPy_py_c9daPy_FLG2, - (void*)checkWolfEnemyBiteAllOwn__9daAlink_cCFPC10fopAc_ac_c, - (void*)setWolfEnemyHangBiteAngle__9daAlink_cFs, - (void*)setKandelaarMtx__9daAlink_cFPA4_fii, - (void*)getStickAngleFromPlayerShape__9daAlink_cCFPs, - (void*)checkSpinnerPathMove__9daAlink_cFv, - (void*)checkSpinnerTriggerAttack__9daAlink_cFv, - (void*)onSpinnerPathForceRemove__9daAlink_cFv, - (void*)getIronBallBgHit__9daAlink_cCFv, - (void*)getIronBallCenterPos__9daAlink_cFv, - (void*)checkCanoeFishingGetLeft__9daAlink_cCFv, - (void*)checkCanoeFishingGetRight__9daAlink_cCFv, - (void*)checkBeeChildDrink__9daAlink_cCFv, - (void*)skipPortalObjWarp__9daAlink_cFv, - (void*)checkTreasureRupeeReturn__9daAlink_cCFi, - (void*)setSumouReady__9daAlink_cFP10fopAc_ac_c, - (void*)checkAcceptDungeonWarpAlink__9daAlink_cFi, - (void*)getSumouCounter__9daAlink_cCFv, - (void*)checkSumouWithstand__9daAlink_cCFv, - (void*)cancelGoronThrowEvent__9daAlink_cFv, - (void*)setSumouGraspCancelCount__9daAlink_cFi, - (void*)setSumouPushBackDirection__9daAlink_cFs, - (void*)setSumouLoseHeadUp__9daAlink_cFv, - (void*)getGiantPuzzleAimAngle__9daAlink_cCFv, - (void*)setGoronSideMove__9daAlink_cFP10fopAc_ac_c, - (void*)setCargoCarry__9daAlink_cFP10fopAc_ac_c, - (void*)getDpdFarFlg__9daPy_py_cCFv, - (void*)getHookshotTopPos__9daAlink_cFv, - (void*)checkHookshotReturnMode__9daAlink_cCFv, - (void*)checkHookshotShootReturnMode__9daAlink_cCFv, - (void*)checkOctaIealHang__9daAlink_cCFv, - (void*)cancelOctaIealHang__9daAlink_cFv, - (void*)cancelDragonHangBackJump__9daAlink_cFv, - (void*)setOctaIealWildHang__9daAlink_cFv, - (void*)checkDragonHangRide__9daAlink_cCFv, - (void*)changeDragonActor__9daAlink_cFP10fopAc_ac_c, - (void*)getClothesChangeWaitTimer__9daAlink_cCFv, - (void*)getShieldChangeWaitTimer__9daAlink_cCFv, - (void*)getSwordChangeWaitTimer__9daAlink_cCFv, - (void*)checkMetamorphose__9daAlink_cCFv, - (void*)checkWolfDownAttackPullOut__9daAlink_cCFv, - (void*)checkBootsOrArmorHeavy__9daAlink_cCFv, - (void*)getBottleOpenAppearItem__9daAlink_cCFv, - (void*)checkItemSwordEquip__9daAlink_cCFv, - (void*)getSinkShapeOffset__9daAlink_cCFv, - (void*)checkSinkDead__9daAlink_cCFv, - (void*)checkHorseStart__9daAlink_cFv, - (void*)getWolfHowlMgrP__9daAlink_cFv, - (void*)checkWolfHowlSuccessAnime__9daAlink_cCFv, - (void*)checkCopyRodTopUse__9daAlink_cFv, - (void*)checkCopyRodEquip__9daAlink_cCFv, - (void*)checkCutJumpMode__9daAlink_cCFv, -}; - -/* 803B3564-803B3580 010684 0010+0C 2/2 0/0 0/0 .data __vt__16daAlink_matAnm_c */ -SECTION_DATA extern void* __vt__16daAlink_matAnm_c[4 + 3 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__16daAlink_matAnm_cFv, - (void*)calc__16daAlink_matAnm_cCFP11J3DMaterial, - /* padding */ - NULL, - NULL, - NULL, -}; - /* 800A4068-800A4820 09E9A8 07B8+00 1/1 0/0 0/0 .text createHeap__9daAlink_cFv */ int daAlink_c::createHeap() { ResTIMG* sp14 = (ResTIMG*)dComIfG_getObjectRes("Always", 0x5D); @@ -8195,10 +4612,10 @@ s32 daAlink_c::setRoomInfo() { tevStr.mEnvrIdxOverride = dComIfG_Bgsp().GetPolyColor(mLinkAcch.m_gnd); field_0x3174 = dComIfG_Bgsp().GetGroundCode(mLinkAcch.m_gnd); field_0x2fbb = dComIfG_Bgsp().GetPolyAtt0(mLinkAcch.m_gnd); - field_0x2fa8 = dComIfG_Bgsp().GetSpecialCode(mLinkAcch.m_gnd); + mGndPolySpecialCode = dComIfG_Bgsp().GetSpecialCode(mLinkAcch.m_gnd); - if (field_0x2fa8 == 6 && checkWolf()) { - field_0x2fa8 = 5; + if (mGndPolySpecialCode == dBgW_SPCODE_HEAVY_SNOW && checkWolf()) { + mGndPolySpecialCode = dBgW_SPCODE_LIGHT_SNOW; } if (field_0x2fbd != 0xFF) { @@ -8266,7 +4683,7 @@ void daAlink_c::iceSlipBgCheck() { void daAlink_c::setIceSlipSpeed() { field_0x35d0 = field_0x35c4; - if (!checkModeFlg(0x1210C52) && !checkEventRun() && !checkHeavyStateOn(1, 1) && field_0x2fa8 == 8 && !mLinkAcch.ChkWallHit() && mLinkAcch.i_ChkGroundHit()) { + if (!checkModeFlg(0x1210C52) && !checkEventRun() && !checkHeavyStateOn(1, 1) && mGndPolySpecialCode == dBgW_SPCODE_ICE && !mLinkAcch.ChkWallHit() && mLinkAcch.i_ChkGroundHit()) { f32 var_f31, var_f30, var_f29; if (checkWolf()) { var_f31 = 0.1f; @@ -8290,7 +4707,7 @@ void daAlink_c::setIceSlipSpeed() { field_0x35c4 += sp58 * var_f29; speed += sp58 * (1.0f - var_f29); - if (mProcVar3.field_0x300e.y != 0 && (mProcID == PROC_LARGE_DAMAGE_UP || mProcID == PROC_WOLF_LARGE_DAMAGE_UP)) { + if (mProcVar4.field_0x3010 != 0 && (mProcID == PROC_LARGE_DAMAGE_UP || mProcID == PROC_WOLF_LARGE_DAMAGE_UP)) { sp58.normalizeZP(); field_0x35c4 += sp58 * 20.0f; } @@ -9032,7 +5449,7 @@ void daAlink_c::setCollisionPos() { } /* 800ABDB8-800AC328 0A66F8 0570+00 1/1 0/0 0/0 .text setCollision__9daAlink_cFv */ -#ifdef NONMATCHING +// NONMATCHING void daAlink_c::setCollision() { field_0x814.Move(); field_0x173c.Move(); @@ -9173,11 +5590,6 @@ void daAlink_c::setCollision() { var_r26_6++; } } -#else -void daAlink_c::setCollision() { - // NONMATCHING -} -#endif /* 800AC328-800AC378 0A6C68 0050+00 1/0 0/0 0/0 .text getBaseAnimeFrame__9daAlink_cCFv */ f32 daAlink_c::getBaseAnimeFrame() const { @@ -9701,8 +6113,7 @@ void daAlink_c::setFaceBtp(u16 param_0, int param_1, u16 param_2) { } /* 800AF7D0-800AF8A0 0AA110 00D0+00 6/6 0/0 0/0 .text setFaceBtk__9daAlink_cFUsiUs */ -// swapped instructions -#ifdef NONMATCHING +// NONMATCHING - swapped instructions void daAlink_c::setFaceBtk(u16 i_resID, int param_1, u16 i_arcNo) { int var_r4; u16 arc_no; @@ -9732,11 +6143,6 @@ void daAlink_c::setFaceBtk(u16 i_resID, int param_1, u16 i_arcNo) { mpFaceBtk->setFrame(0.0f); } } -#else -void daAlink_c::setFaceBtk(u16 param_0, int param_1, u16 param_2) { - // NONMATCHING -} -#endif /* 800AF8A0-800AF9A8 0AA1E0 0108+00 31/31 0/0 0/0 .text * setFaceBasicTexture__9daAlink_cFQ29daAlink_c13daAlink_FTANM */ @@ -10998,8 +7404,7 @@ f32 daAlink_c::getFrontRollRate() { /* 800B4B7C-800B5284 0AF4BC 0708+00 2/2 0/0 0/0 .text decideCommonDoStatus__9daAlink_cFv */ -// almost, small branch issues -#ifdef NONMATCHING +// NONMATCHING - almost, small branch issues void daAlink_c::decideCommonDoStatus() { if (!checkFmChainGrabAnime() && dComIfGp_getDoStatus() == 0) { bool temp_r3 = checkStageName("R_SP127"); @@ -11113,7 +7518,7 @@ void daAlink_c::decideCommonDoStatus() { dComIfGp_getDoStatus() == 0x30 || dComIfGp_getDoStatus() == 0x77 || dComIfGp_getDoStatus() == 0x19)) || (dComIfGp_getDoStatus() == 0x79 && - (checkKandelaarSwingAnime() || field_0x2fa8 == 6 || checkCopyRodThrowAnime() || + (checkKandelaarSwingAnime() || mGndPolySpecialCode == dBgW_SPCODE_HEAVY_SNOW || checkCopyRodThrowAnime() || checkBoomerangThrowAnime()))) && (!checkMagneBootsOn() || dComIfGp_getDoStatus() != 0x79 || !cBgW_CheckBGround(mMagneBootsTopVec.y))) @@ -11135,11 +7540,6 @@ void daAlink_c::decideCommonDoStatus() { } } } -#else -void daAlink_c::decideCommonDoStatus() { - // NONMATCHING -} -#endif /* 800B5284-800B58EC 0AFBC4 0668+00 1/1 0/0 0/0 .text decideDoStatus__9daAlink_cFv */ void daAlink_c::decideDoStatus() { @@ -11417,7 +7817,7 @@ BOOL daAlink_c::checkAutoJumpAction() { return 1; } - if ((mProcID == PROC_WOLF_LOCK_ATTACK || mProcID == PROC_WOLF_LOCK_ATTACK_TURN) && mProcVar3.field_0x300e.z != 0) { + if ((mProcID == PROC_WOLF_LOCK_ATTACK || mProcID == PROC_WOLF_LOCK_ATTACK_TURN) && mProcVar5.field_0x3012 != 0) { return 0; } @@ -13006,7 +9406,7 @@ int daAlink_c::checkNextAction(int param_0) { ret = procMoveTurnInit(0); } else if (checkInputOnR() && cLib_distanceAngleS(field_0x2fe2, current.angle.y) > 0x7800) { if (speedF / field_0x594 > daAlinkHIO_move_c0::m.mSlideThresholdSpeed && - field_0x2fa8 != 8 && !checkGrabAnime() && + mGndPolySpecialCode != dBgW_SPCODE_ICE && !checkGrabAnime() && getDirectionFromAngle(mPrevStickAngle - mStickAngle) == DIR_BACKWARD) { ret = procSlipInit(); @@ -13028,7 +9428,7 @@ int daAlink_c::checkNextAction(int param_0) { /* 800BA6A0-800BA914 0B4FE0 0274+00 3/3 0/0 0/0 .text commonChangeItem__9daAlink_cFv */ void daAlink_c::commonChangeItem() { - if (mEquipItem == KANTERA && field_0x2fde == 0xFF && (mProcID != PROC_PREACTION_UNEQUIP || mProcVar3.field_0x300e.y != 0)) { + if (mEquipItem == KANTERA && field_0x2fde == 0xFF && (mProcID != PROC_PREACTION_UNEQUIP || mProcVar4.field_0x3010 != 0)) { offKandelaarModel(); } @@ -13687,7 +10087,7 @@ void daAlink_c::posMove() { if (checkRootTransClearMode()) { cXyz sp78 = field_0x34d4 - sp108; - if (mProcID == PROC_CLIMB_UP_START && mProcVar3.field_0x300e.z != 0) { + if (mProcID == PROC_CLIMB_UP_START && mProcVar5.field_0x3012 != 0) { sp78 = cXyz::Zero; } @@ -14796,7 +11196,7 @@ int daAlink_c::checkNewItemChange(u8 param_0) { (checkModeFlg(0x400) && (sel_item == EMPTY_BOTTLE || sel_item == POKE_BOMB || sel_item == IRONBALL || sel_item == COPY_ROD || checkFishingRodItem(sel_item))) || - ((field_0x2fa8 == 6 || field_0x2fbd == 1 || field_0x2fbd == 2 || + ((mGndPolySpecialCode == dBgW_SPCODE_HEAVY_SNOW || field_0x2fbd == 1 || field_0x2fbd == 2 || mWaterY - current.pos.y > 45.0f || (field_0x2fbc == 6 && mWaterY - current.pos.y >= 0.0f) || field_0x2fbd == 3) && sel_item == SPINNER) || @@ -15008,7 +11408,7 @@ void daAlink_c::deleteEquipItem(BOOL i_playSound, BOOL i_deleteKantera) { field_0x0724 = NULL; field_0x0728 = NULL; field_0x072c = NULL; - mpHookKusariModelData = NULL; + mpItemModelData = NULL; mpHookChain = NULL; mIronBallChainPos = NULL; mIronBallChainAngle = NULL; @@ -15120,7 +11520,7 @@ void daAlink_c::setLight() { f32 var_f30 = 1.0f; f32 var_f29; - if (mProcID == PROC_METAMORPHOSE && mProcVar3.field_0x300e.z != 0) { + if (mProcID == PROC_METAMORPHOSE && mProcVar5.field_0x3012 != 0) { var_f29 = 0.05f; } else if (checkEndResetFlg2(ERFLG2_UNK_10)) { var_f30 = 0.28f; diff --git a/src/d/actor/d_a_alink_HIO_data.inc b/src/d/actor/d_a_alink_HIO_data.inc index 58ceee970cf..d9b5f1cb169 100644 --- a/src/d/actor/d_a_alink_HIO_data.inc +++ b/src/d/actor/d_a_alink_HIO_data.inc @@ -1,3 +1,5 @@ +#include "d/actor/d_a_alink.h" + // clang-format off /* 8038D664-8038D6BC 019CC4 0058+00 41/50 0/0 0/0 .rodata m__19daAlinkHIO_basic_c0 */ const daAlinkHIO_basic_c1 daAlinkHIO_basic_c0::m = { @@ -2036,8 +2038,6 @@ const daAlinkHIO_copyRod_c1 daAlinkHIO_copyRod_c0::m = { }; /* 8038EB34-8038EB50 01B194 001C+00 0/0 0/0 0/0 .rodata m__21daAlinkHIO_zwLight_c0 */ -#pragma push -#pragma force_active on const daAlinkHIO_zwLight_c1 daAlinkHIO_zwLight_c0::m = { 771, 0, @@ -2050,9 +2050,6 @@ const daAlinkHIO_zwLight_c1 daAlinkHIO_zwLight_c0::m = { 131.83594f, 0.0f, }; -COMPILER_STRIP_GATE(0x8038EB34, - &daAlinkHIO_zwLight_c0::m); -#pragma pop /* 8038EB50-8038EB8C 01B1B0 003C+00 3/3 0/0 0/0 .rodata m__18daAlinkHIO_item_c0 */ const daAlinkHIO_item_c1 daAlinkHIO_item_c0::m = { @@ -3433,4 +3430,4 @@ const daAlinkHIO_wolf_c1 daAlinkHIO_wolf_c0::m = { 0.7f, }; -// clang-format on \ No newline at end of file +// clang-format on diff --git a/src/d/actor/d_a_alink_bomb.inc b/src/d/actor/d_a_alink_bomb.inc index 9042b0caa9f..c3e350623d4 100644 --- a/src/d/actor/d_a_alink_bomb.inc +++ b/src/d/actor/d_a_alink_bomb.inc @@ -3,6 +3,8 @@ * Player Bomb action handling */ +#include "d/actor/d_a_alink.h" + /* 800E3760-800E3770 0DE0A0 0010+00 0/0 0/0 7/7 .text getBombExplodeTime__9daAlink_cCFv */ s16 daAlink_c::getBombExplodeTime() const { @@ -71,4 +73,4 @@ f32 daAlink_c::getBombExplodeWaterEffectLimit() const { /* 800E3820-800E3830 0DE160 0010+00 0/0 0/0 1/1 .text getBombInsectLimitAngle__9daAlink_cCFv */ s16 daAlink_c::getBombInsectLimitAngle() const { return daAlinkHIO_bomb_c0::m.mBombInsectLimitAngle; -} \ No newline at end of file +} diff --git a/src/d/actor/d_a_alink_boom.inc b/src/d/actor/d_a_alink_boom.inc index 73e97ec541a..0c2312377b7 100644 --- a/src/d/actor/d_a_alink_boom.inc +++ b/src/d/actor/d_a_alink_boom.inc @@ -3,6 +3,7 @@ * Player Boomerang action handling */ +#include "d/actor/d_a_alink.h" #include "d/actor/d_a_boomerang.h" /* 800DFFE0-800E0010 0DA920 0030+00 0/0 0/0 1/1 .text checkBoomerangLockAccept__9daAlink_cFv */ diff --git a/src/d/actor/d_a_alink_bottle.inc b/src/d/actor/d_a_alink_bottle.inc index cf02069b03c..11ed011536b 100644 --- a/src/d/actor/d_a_alink_bottle.inc +++ b/src/d/actor/d_a_alink_bottle.inc @@ -6,6 +6,7 @@ #include "d/actor/d_a_alink.h" #include "d/d_com_inf_game.h" #include "d/d_insect.h" +#include "SSystem/SComponent/c_math.h" /* 8010E48C-8010E52C 108DCC 00A0+00 1/1 0/0 0/0 .text bottleModelCallBack__9daAlink_cFv */ @@ -394,16 +395,16 @@ int daAlink_c::procBottleDrinkInit(u16 i_itemNo) { u32 id = fopAcM_GetID(this); dCam_getBody()->StartEventCamera(0x12, id, "Type", 1, &field_0x3194, 0); mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; return 1; } /* 8010F698-8010F6F4 109FD8 005C+00 1/0 0/0 0/0 .text procBottleDrink__9daAlink_cFv */ int daAlink_c::procBottleDrink() { - if (mProcVar3.field_0x300e.x != 0) { + if (mProcVar3.field_0x300e != 0) { dComIfGp_evmng_cutEnd(field_0x3184); } else { - mProcVar3.field_0x300e.x = commonBottleDrink(0); + mProcVar3.field_0x300e = commonBottleDrink(0); } return 1; @@ -443,7 +444,7 @@ int daAlink_c::procBottleOpenInit(u16 param_0) { } } - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; u32 id = fopAcM_GetID(this); dCam_getBody()->StartEventCamera(0x12, id, "Type", 1, &field_0x3194, 0); @@ -454,7 +455,7 @@ int daAlink_c::procBottleOpenInit(u16 param_0) { if (param_0 == 0x67) { setCylAtParam(0x200, dCcG_At_Spl_UNK_0, 0, 0, 0, 30.0f, 30.0f); } - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; return 1; } @@ -484,9 +485,9 @@ int daAlink_c::procBottleOpen() { if (mEquipItem == WATER_BOTTLE) { if (mWaterY > mLeftHandPos.y) { - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; } else { - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; } } } @@ -517,13 +518,13 @@ int daAlink_c::procBottleOpen() { mProcVar2.field_0x300c = 2; dComIfGs_setEquipBottleItemEmpty(mSelectItemId); - if (mEquipItem == WATER_BOTTLE && mProcVar3.field_0x300e.x != 0) { + if (mEquipItem == WATER_BOTTLE && mProcVar3.field_0x300e != 0) { seStartOnlyReverb(Z2SE_LK_SPRINKLE_WATER); } } else if (frameCtrl_p->getFrame() > 16.0f && frameCtrl_p->getFrame() < 31.0f) { - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; } else { - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; } if (mProcVar0.field_0x3008 == 0 && frameCtrl_p->getFrame() >= 25.0f) { @@ -561,7 +562,7 @@ int daAlink_c::procBottleSwingInit(fopAc_ac_c* param_0, int param_1) { current.angle.y = shape_angle.y; mNormalSpeed = 0.0f; field_0x2f98 = 4; - mProcVar3.field_0x300e.y = param_1; + mProcVar4.field_0x3010 = param_1; if (var_r31 != NULL) { field_0x280c.setData(var_r31); @@ -630,7 +631,7 @@ int daAlink_c::procBottleSwingInit(fopAc_ac_c* param_0, int param_1) { mProcVar2.field_0x300c = 0; voiceStart(Z2SE_AL_V_SWING_BOTTLE); seStartOnlyReverb(Z2SE_AL_SWING_BOTTLE); - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; return 1; } @@ -641,9 +642,9 @@ int daAlink_c::procBottleSwing() { if (mProcVar2.field_0x300c == 0) { if (eventInfo.i_checkCommandCatch()) { - if (mProcVar3.field_0x300e.x == 0) { + if (mProcVar3.field_0x300e == 0) { dComIfGp_getVibration().StartShock(1, 1, cXyz(0.0f, 1.0f, 0.0f)); - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; } dComIfGp_setPlayerStatus1(0, 0x4000000); @@ -703,7 +704,7 @@ int daAlink_c::procBottleSwing() { if (checkAnmEnd(frameCtrl_p)) { if (mProcVar2.field_0x300c != 0) { - procBottleGetInit(mProcVar3.field_0x300e.y); + procBottleGetInit(mProcVar4.field_0x3010); } else { checkNextAction(0); } diff --git a/src/d/actor/d_a_alink_bow.inc b/src/d/actor/d_a_alink_bow.inc index 24c0e35cb83..69638d42539 100644 --- a/src/d/actor/d_a_alink_bow.inc +++ b/src/d/actor/d_a_alink_bow.inc @@ -6,6 +6,7 @@ #include "d/actor/d_a_alink.h" #include "d/d_com_inf_game.h" #include "d/actor/d_a_arrow.h" +#include "d/actor/d_a_horse.h" /* 800DE64C-800DE740 0D8F8C 00F4+00 1/1 0/0 2/2 .text getArrowFlyData__9daAlink_cCFPfPfi */ diff --git a/src/d/actor/d_a_alink_canoe.inc b/src/d/actor/d_a_alink_canoe.inc index 5c4ec135db1..67fb471c6b2 100644 --- a/src/d/actor/d_a_alink_canoe.inc +++ b/src/d/actor/d_a_alink_canoe.inc @@ -130,11 +130,11 @@ BOOL daAlink_c::checkCanoeFishingRodGrabOrPut() const { /* 800F3FC4-800F4008 0EE904 0044+00 2/2 0/0 0/0 .text initCanoeRide__9daAlink_cFv */ void daAlink_c::initCanoeRide() { - mProcVar3.field_0x300e.z = 1; + mProcVar5.field_0x3012 = 1; field_0x3588 = l_waitBaseAnime; field_0x384c = (cXyz*)&l_canoeBaseAnime; mRideStatus = 3; - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; } /* 800F4008-800F40E4 0EE948 00DC+00 2/2 0/0 0/0 .text checkCanoeJumpRide__9daAlink_cFv */ @@ -149,7 +149,7 @@ BOOL daAlink_c::checkCanoeJumpRide() { if (speed.y < 0.0f && canoe != NULL && fopAcM_GetName(canoe) == PROC_CANOE && canoe->checkJumpRideFlg() && !checkDeadHP() && - (mProcID != PROC_FALL || mProcVar3.field_0x300e.y != 0)) { + (mProcID != PROC_FALL || mProcVar4.field_0x3010 != 0)) { return procCanoeJumpRideInit(canoe); } @@ -283,8 +283,8 @@ void daAlink_c::setSyncCanoePos() { s16 var_r29; f32 var_f31; - if ((canoe->speedF < 0.0f && mProcID == PROC_CANOE_WAIT) || (mProcID == PROC_CANOE_ROW && mProcVar3.field_0x300e.x == 1)) { - if (mProcVar3.field_0x300e.z == 0) { + if ((canoe->speedF < 0.0f && mProcID == PROC_CANOE_WAIT) || (mProcID == PROC_CANOE_ROW && mProcVar3.field_0x300e == 1)) { + if (mProcVar5.field_0x3012 == 0) { var_r29 = 0x5000; var_f31 = 1.0f; } else { @@ -301,8 +301,8 @@ void daAlink_c::setSyncCanoePos() { } } - daPy_addCalcShort(&mProcVar3.field_0x300e.y, var_r29, 3, 0x1000, 0x100); - field_0x30a2 = mProcVar3.field_0x300e.y; + daPy_addCalcShort(&mProcVar4.field_0x3010, var_r29, 3, 0x1000, 0x100); + field_0x30a2 = mProcVar4.field_0x3010; cLib_chaseF(&field_0x33f0, var_f31, 0.2f); } @@ -391,7 +391,7 @@ int daAlink_c::procCanoeRideInit() { current.angle.y = shape_angle.y; initCanoeRide(); - mProcVar3.field_0x300e.x = 0x80; + mProcVar3.field_0x300e = 0x80; swimOutAfter(1); return 1; } @@ -409,12 +409,12 @@ int daAlink_c::procCanoeRide() { if (frameCtrl->checkAnmEnd()) { procCanoeWaitInit(1); } else if (frameCtrl->getFrame() < 9.0f) { - mProcVar3.field_0x300e.x += 0x180; + mProcVar3.field_0x300e += 0x180; if (mProcVar0.field_0x3008 == 0) { - canoe->incShapeAngleZ(-mProcVar3.field_0x300e.x); + canoe->incShapeAngleZ(-mProcVar3.field_0x300e); } else { - canoe->incShapeAngleZ(mProcVar3.field_0x300e.x); + canoe->incShapeAngleZ(mProcVar3.field_0x300e); } canoe->incShapeOffsetY(-4.0f); } @@ -529,7 +529,7 @@ int daAlink_c::procCanoeGetOffInit() { field_0x37c8.z -= -35.0f; cMtx_multVec(canoe->getModelMtx(), &field_0x37c8, ¤t.pos); - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; return 1; } @@ -553,9 +553,9 @@ int daAlink_c::procCanoeGetOff() { field_0x2f99 = 7; } } else { - if (mProcVar3.field_0x300e.x == 0) { + if (mProcVar3.field_0x300e == 0) { if (field_0x2060->getOldFrameRate() < 0.01f) { - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; setSingleAnimeParam(ANM_VJUMP_START, &daAlinkHIO_smallJump_c0::m.mSmallJumpAnm); field_0x33b0 = l_waitBaseAnime.y; field_0x3588 = l_waitBaseAnime; @@ -577,7 +577,7 @@ int daAlink_c::procCanoeGetOff() { */ int daAlink_c::procCanoeWaitInit(int param_0) { if (mProcID == PROC_CANOE_FISHING_WAIT) { - mProcVar3.field_0x300e.z = 1; + mProcVar5.field_0x3012 = 1; return procCanoePaddleGrabInit(); } @@ -626,7 +626,7 @@ int daAlink_c::procCanoeWaitInit(int param_0) { if (mEquipItem == NO_ITEM || (mEquipItem != 0x10B && !checkFisingRodLure())) { var_r27 = ANM_WAIT_SIT; - } else if (mProcVar3.field_0x300e.z == 0) { + } else if (mProcVar5.field_0x3012 == 0) { var_r27 = ANM_WAIT_CANOE_LEFT; } else { var_r27 = ANM_WAIT_CANOE_RIGHT; @@ -686,9 +686,9 @@ int daAlink_c::procCanoeWait() { if (mThrowBoomerangAcKeep.getActor() != NULL || mProcVar1.field_0x300a != 0) { if ((s16)(field_0x2fe2 - shape_angle.y) >= 0) { - mProcVar3.field_0x300e.z = 1; + mProcVar5.field_0x3012 = 1; } else { - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; } } @@ -702,9 +702,9 @@ int daAlink_c::procCanoeWait() { allUnequip(0); if ((s16)(field_0x2fe2 - shape_angle.y) >= 0) { - mProcVar3.field_0x300e.z = 1; + mProcVar5.field_0x3012 = 1; } else { - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; } } } @@ -742,7 +742,7 @@ int daAlink_c::procCanoeRowInit(int param_0) { int var_r28; if (temp_r3 < 0x40 || temp_r3 > 0x7F80) { if (param_0 == -3) { - if (mProcVar3.field_0x300e.z == 0) { + if (mProcVar5.field_0x3012 == 0) { var_r28 = 2; } else { var_r28 = 3; @@ -752,7 +752,7 @@ int daAlink_c::procCanoeRowInit(int param_0) { field_0x3198 = -3; } - if (mProcVar3.field_0x300e.z == 0) { + if (mProcVar5.field_0x3012 == 0) { var_r28 = 3; } else { var_r28 = 2; @@ -767,20 +767,20 @@ int daAlink_c::procCanoeRowInit(int param_0) { if (spC == 1) { var_r29 = var_r28 == 2 ? ANM_CANOE_ROW_RIGHT_BACK : ANM_CANOE_ROW_LEFT_BACK; - if ((var_r29 == ANM_CANOE_ROW_RIGHT_BACK && mProcVar3.field_0x300e.z == 0) || (var_r29 == ANM_CANOE_ROW_LEFT_BACK && mProcVar3.field_0x300e.z == 1)) { + if ((var_r29 == ANM_CANOE_ROW_RIGHT_BACK && mProcVar5.field_0x3012 == 0) || (var_r29 == ANM_CANOE_ROW_LEFT_BACK && mProcVar5.field_0x3012 == 1)) { return procCanoePaddleShiftInit(var_r29); } } else { var_r29 = var_r28 == 2 ? ANM_CANOE_ROW_RIGHT : ANM_CANOE_ROW_LEFT; - if ((var_r29 == ANM_CANOE_ROW_RIGHT && mProcVar3.field_0x300e.z == 0) || (var_r29 == ANM_CANOE_ROW_LEFT && mProcVar3.field_0x300e.z == 1)) { + if ((var_r29 == ANM_CANOE_ROW_RIGHT && mProcVar5.field_0x3012 == 0) || (var_r29 == ANM_CANOE_ROW_LEFT && mProcVar5.field_0x3012 == 1)) { return procCanoePaddleShiftInit(var_r29); } } } else { if (param_0 == -3) { - if (mProcVar3.field_0x300e.z == 1) { + if (mProcVar5.field_0x3012 == 1) { return procCanoePaddleShiftInit(ANM_CANOE_ROW_LEFT); } return procCanoePaddleShiftInit(ANM_CANOE_ROW_RIGHT); @@ -788,7 +788,7 @@ int daAlink_c::procCanoeRowInit(int param_0) { field_0x3198 = -3; } - if (mProcVar3.field_0x300e.z == 1) { + if (mProcVar5.field_0x3012 == 1) { var_r29 = ANM_CANOE_ROW_RIGHT; } else { var_r29 = ANM_CANOE_ROW_LEFT; @@ -803,7 +803,7 @@ int daAlink_c::procCanoeRowInit(int param_0) { BOOL var_r24 = 0; if (var_r29 == ANM_CANOE_ROW_LEFT_BACK || var_r29 == ANM_CANOE_ROW_RIGHT_BACK) { - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; if (temp_r26->speedF > 0.5f * (-var_f31 * daAlinkHIO_canoe_c0::m.mBackSpeedRate)) { var_r24 = 1; } @@ -811,7 +811,7 @@ int daAlink_c::procCanoeRowInit(int param_0) { field_0x3478 = 32.0f; mProcVar0.field_0x3008 = 0; } else { - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; if (temp_r26->speedF < 0.5f * (var_f31 * getCanoeSpeedRate())) { var_r24 = 1; } @@ -854,7 +854,7 @@ int daAlink_c::procCanoeRow() { } } else { f32 var_f30 = daAlinkHIO_canoe_c0::m.mBtnRowAnmSpeed; - if ((mProcVar3.field_0x300e.x == 1 && temp_r29->speedF > 0.5f * (-var_f30 * daAlinkHIO_canoe_c0::m.mBackSpeedRate)) || (mProcVar3.field_0x300e.x == 0 && temp_r29->speedF < 0.5f * (var_f30 * getCanoeSpeedRate()))) { + if ((mProcVar3.field_0x300e == 1 && temp_r29->speedF > 0.5f * (-var_f30 * daAlinkHIO_canoe_c0::m.mBackSpeedRate)) || (mProcVar3.field_0x300e == 0 && temp_r29->speedF < 0.5f * (var_f30 * getCanoeSpeedRate()))) { var_f30 = daAlinkHIO_canoe_c0::m.mBtnRowStartAnmSpeed; } @@ -867,13 +867,13 @@ int daAlink_c::procCanoeRow() { if (checkInputOnR()) { s16 temp_r0 = field_0x2fe2 - shape_angle.y; s16 var_r25; - if (mProcVar3.field_0x300e.x == 1) { + if (mProcVar3.field_0x300e == 1) { var_r25 = field_0x2fe2 + 0x8000; } else { var_r25 = field_0x2fe2; } - if (temp_r0 == -0x8000 || (temp_r0 > 0 && mProcVar3.field_0x300e.z == 1) || (temp_r0 < 0 && mProcVar3.field_0x300e.z == 0)) { + if (temp_r0 == -0x8000 || (temp_r0 > 0 && mProcVar5.field_0x3012 == 1) || (temp_r0 < 0 && mProcVar5.field_0x3012 == 0)) { temp_r29->setAimAngle(var_r25); } var_r28 = mStickAngle; @@ -892,7 +892,7 @@ int daAlink_c::procCanoeRow() { var_f31 *= fabsf(cM_scos(var_r28)); } - if (mProcVar3.field_0x300e.x == 0) { + if (mProcVar3.field_0x300e == 0) { temp_r29->setAimSpeed(var_f31 * getCanoeSpeedRate()); } else { temp_r29->setAimSpeed(-var_f31 * daAlinkHIO_canoe_c0::m.mBackSpeedRate); @@ -900,7 +900,7 @@ int daAlink_c::procCanoeRow() { } if (temp_r27->checkPass(field_0x3478)) { - if (mProcVar3.field_0x300e.z == 1) { + if (mProcVar5.field_0x3012 == 1) { temp_r29->setPaddleOffsetRight(); } else { temp_r29->setPaddleOffsetLeft(); @@ -917,7 +917,7 @@ int daAlink_c::procCanoePaddleShiftInit(int param_0) { commonProcInit(PROC_CANOE_PADDLE_SHIFT); f32 speed; - if (mProcVar3.field_0x300e.z == 0) { + if (mProcVar5.field_0x3012 == 0) { speed = daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mSpeed; } else { speed = -daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mSpeed; @@ -925,7 +925,7 @@ int daAlink_c::procCanoePaddleShiftInit(int param_0) { setSingleAnime(ANM_CANOE_CHANGE_HAND, speed, daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mStartFrame, daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mEndFrame, daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mInterpolation); - if (mProcVar3.field_0x300e.z == 1) { + if (mProcVar5.field_0x3012 == 1) { field_0x2f92 = 0; field_0x2f93 = 0xFE; } @@ -950,14 +950,14 @@ int daAlink_c::procCanoePaddleShift() { } else if (checkAnmEnd(frame_ctrl)) { procCanoeRowInit(field_0x3198); } else if (frame_ctrl->checkPass(11)) { - if (mProcVar3.field_0x300e.z == 0) { + if (mProcVar5.field_0x3012 == 0) { field_0x2f92 = 0; field_0x2f93 = 0xFE; - mProcVar3.field_0x300e.z = 1; + mProcVar5.field_0x3012 = 1; } else { field_0x2f92 = 0xFE; field_0x2f93 = 5; - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; } } } @@ -979,7 +979,7 @@ int daAlink_c::procCanoePaddlePutInit(int param_0) { commonProcInit(PROC_CANOE_PADDLE_PUT); f32 var_f31; - if (mProcVar3.field_0x300e.z == 0) { + if (mProcVar5.field_0x3012 == 0) { var_f31 = daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mSpeed; } else { var_f31 = -daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mSpeed; @@ -987,12 +987,12 @@ int daAlink_c::procCanoePaddlePutInit(int param_0) { setSingleAnime(ANM_CANOE_CHANGE_HAND, var_f31, daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mStartFrame, daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mEndFrame, daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mInterpolation); - if (mProcVar3.field_0x300e.z == 1) { + if (mProcVar5.field_0x3012 == 1) { field_0x2f92 = 0; field_0x2f93 = 0xFE; } - mProcVar3.field_0x300e.x = param_0; + mProcVar3.field_0x300e = param_0; setSyncCanoePos(); ((daCanoe_c*)mRideAcKeep.getActor())->setAimSpeed(0.0f); @@ -1021,7 +1021,7 @@ int daAlink_c::procCanoePaddlePut() { daPy_frameCtrl_c* temp_r29 = &mUnderFrameCtrl[0]; if (checkAnmEnd(temp_r29)) { - if (mProcVar3.field_0x300e.x != 0) { + if (mProcVar3.field_0x300e != 0) { return procCanoeGetOffInit(); } @@ -1068,7 +1068,7 @@ int daAlink_c::procCanoePaddleGrab() { if (checkAnmEnd(temp_r29) != 0) { f32 var_f31; - if (mProcVar3.field_0x300e.z == 0) { + if (mProcVar5.field_0x3012 == 0) { var_f31 = -daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mSpeed; } else { var_f31 = daAlinkHIO_canoe_c0::m.mLeftRightChangeAnm.mSpeed; @@ -1078,7 +1078,7 @@ int daAlink_c::procCanoePaddleGrab() { mUpperFrameCtrl[0].setFrame(11.0f); getNowAnmPackUpper(UPPER_0)->setFrame(11.0f); - if (mProcVar3.field_0x300e.z == 1) { + if (mProcVar5.field_0x3012 == 1) { field_0x2f92 = 0; field_0x2f93 = 0xFE; } else { @@ -1173,9 +1173,9 @@ int daAlink_c::procCanoeFishingWaitInit() { setSyncCanoePos(); mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; mProcVar0.field_0x3008 = 0; - mProcVar3.field_0x300e.x = cLib_minMaxLimit((s16)(field_0x311a - shape_angle.y), -0x3800, 0x3800); + mProcVar3.field_0x300e = cLib_minMaxLimit((s16)(field_0x311a - shape_angle.y), -0x3800, 0x3800); field_0x311a = 0; return 1; } @@ -1207,7 +1207,7 @@ int daAlink_c::procCanoeFishingWait() { } } else if (!checkNextActionCanoe() && checkCanoeFishingWaitAnime()) { if (mProcVar0.field_0x3008 == 0) { - if (daPy_addCalcShort(&mBodyAngle.y, mProcVar3.field_0x300e.x, 2, 0x800, 0x200) == 0) { + if (daPy_addCalcShort(&mBodyAngle.y, mProcVar3.field_0x300e, 2, 0x800, 0x200) == 0) { mProcVar0.field_0x3008 = 1; } } else if (checkInputOnR() && ((mStickAngle > 0x2000 && mStickAngle < 0x6000) || (mStickAngle < -0x2000 && mStickAngle > -0x6000))) { @@ -1287,12 +1287,12 @@ int daAlink_c::procCanoeFishingGetInit() { var_r30 = ANM_CANOE_FISH_LEFT; field_0x3478 = 14.0f; field_0x347c = 30.0f; - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; } else { var_r30 = ANM_CANOE_FISH_RIGHT; field_0x3478 = 24.0f; field_0x347c = 45.0f; - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; } setSyncCanoePos(); @@ -1717,7 +1717,7 @@ int daAlink_c::procFishingCastInit() { mNormalSpeed = 0.0f; mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; mItemVar0.field_0x3018 = 1; if (checkFishingRodItem(mEquipItem)) { @@ -1758,7 +1758,7 @@ int daAlink_c::procFishingCast() { current.angle.y = shape_angle.y; } - if (mProcVar3.field_0x300e.x != 0) { + if (mProcVar3.field_0x300e != 0) { mUpperFrameCtrl[2].setRate(0.0f); mUpperFrameCtrl[2].setFrame(0.0f); getNowAnmPackUpper(UPPER_2)->setFrame(0.0f); @@ -1784,13 +1784,13 @@ int daAlink_c::procFishingFoodInit() { mDemo.setSpecialDemoType(); commonProcInit(PROC_FISHING_FOOD); setSingleAnime(ANM_BOTTLE_OPEN, 1.0f, 0.0f, 21, 3.0f); - mProcVar3.field_0x300e.x = mSelectItemId; + mProcVar3.field_0x300e = mSelectItemId; if (checkFishingRodItem(mEquipItem)) { - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; mSelectItemId = checkItemSetButton(mEquipItem); } else { - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; keepItemData(); deleteEquipItem(0, 0); mSelectItemId = checkItemSetButton(0x108); @@ -1808,7 +1808,7 @@ int daAlink_c::procFishingFoodInit() { int daAlink_c::procFishingFood() { if (mUnderFrameCtrl[0].checkAnmEnd()) { if (mProcVar2.field_0x300c != 0) { - if (mProcVar3.field_0x300e.y != 0) { + if (mProcVar4.field_0x3010 != 0) { returnKeepItemData(); } resetSpecialEvent(); @@ -1816,17 +1816,17 @@ int daAlink_c::procFishingFood() { setSingleAnime(ANM_BOTTLE_OPEN, -1.0f, 0.0f, mUnderFrameCtrl[0].getEnd(), -1.0f); mProcVar2.field_0x300c = 1; - u32 temp_r3 = dComIfGp_getSelectItem(mProcVar3.field_0x300e.x); - if (temp_r3 == WORM || dComIfGp_getSelectItemNum(mProcVar3.field_0x300e.x) == 1) { - dComIfGs_setEquipBottleItemEmpty(mProcVar3.field_0x300e.x); + u32 temp_r3 = dComIfGp_getSelectItem(mProcVar3.field_0x300e); + if (temp_r3 == WORM || dComIfGp_getSelectItemNum(mProcVar3.field_0x300e) == 1) { + dComIfGs_setEquipBottleItemEmpty(mProcVar3.field_0x300e); } else { - dComIfGp_addSelectItemNum(mProcVar3.field_0x300e.x, -1); + dComIfGp_addSelectItemNum(mProcVar3.field_0x300e, -1); } if (mItemMode != NO_ITEM) { - dComIfGs_setEquipBottleItemIn(mProcVar3.field_0x300e.x, mItemMode); + dComIfGs_setEquipBottleItemIn(mProcVar3.field_0x300e, mItemMode); if (mItemMode == BEE_CHILD) { - dComIfGp_setSelectItemNum(mProcVar3.field_0x300e.x, 1); + dComIfGp_setSelectItemNum(mProcVar3.field_0x300e, 1); } } diff --git a/src/d/actor/d_a_alink_copyrod.inc b/src/d/actor/d_a_alink_copyrod.inc index fd90b786eae..ebadb9b4963 100644 --- a/src/d/actor/d_a_alink_copyrod.inc +++ b/src/d/actor/d_a_alink_copyrod.inc @@ -3,6 +3,8 @@ * Player Dominion Rod action handling */ +#include "d/actor/d_a_alink.h" +#include "d/actor/d_a_crod.h" #include "d/actor/d_a_cstatue.h" /* 800E12E0-800E1310 0DBC20 0030+00 1/1 0/0 0/0 .text checkLv6BossRoom__9daAlink_cFv */ @@ -34,7 +36,7 @@ f32 daAlink_c::getCopyRodBallDisMax() const { /* 800E1374-800E1390 0DBCB4 001C+00 6/6 0/0 7/7 .text getCopyRodControllActor__9daAlink_cFv */ fopAc_ac_c* daAlink_c::getCopyRodControllActor() { if (mCopyRodAcKeep.getActor() != NULL) { - return static_cast(mCopyRodAcKeep.getActor())->getControllActor(); + return ((daCrod_c*)mCopyRodAcKeep.getActor())->getControllActor(); } return NULL; @@ -44,7 +46,7 @@ fopAc_ac_c* daAlink_c::getCopyRodControllActor() { */ fopAc_ac_c* daAlink_c::getCopyRodCameraActor() { if (mCopyRodAcKeep.getActor() != NULL) { - return static_cast(mCopyRodAcKeep.getActor())->getCameraActor(); + return ((daCrod_c*)mCopyRodAcKeep.getActor())->getCameraActor(); } return NULL; @@ -54,10 +56,9 @@ fopAc_ac_c* daAlink_c::getCopyRodCameraActor() { void daAlink_c::initCopyRodUpperAnimeSpeed(int param_0) { if (!checkCopyRodThrowAnime()) { if (param_0) { - f32 tmp_0 = 0.0f; - mUpperFrameCtrl[2].setRate(tmp_0); - mUpperFrameCtrl[2].setFrame(tmp_0); - getNowAnmPackUpper(UPPER_2)->setFrame(tmp_0); + mUpperFrameCtrl[2].setRate(0.0f); + mUpperFrameCtrl[2].setFrame(0.0f); + getNowAnmPackUpper(UPPER_2)->setFrame(0.0f); } else { mUpperFrameCtrl[2].setRate(daAlinkHIO_boom_c0::m.mIdleAnmSpeed); } @@ -73,7 +74,7 @@ BOOL daAlink_c::checkForestOldCentury() { /* 800E145C-800E1530 0DBD9C 00D4+00 1/0 0/0 0/0 .text checkCopyRodTopUse__9daAlink_cFv */ BOOL daAlink_c::checkCopyRodTopUse() { // Event flag 0x2580: Dominion Rod power restored - return (dComIfGs_isEventBit(0x2580) && !(mProcID == PROC_UNEQUIP && mProcVar3.field_0x300e.x != 0)) || + return (dComIfGs_isEventBit(0x2580) && !(mProcID == PROC_UNEQUIP && mProcVar3.field_0x300e != 0)) || i_dStage_stagInfo_GetSaveTbl(dComIfGp_getStageStagInfo()) == 0x15 || checkForestOldCentury(); } @@ -96,7 +97,30 @@ void daAlink_c::setCopyRodControllAnime() { /* 800E15FC-800E1748 0DBF3C 014C+00 1/1 0/0 0/0 .text * setCopyRodControllUpperSpeedRate__9daAlink_cFv */ void daAlink_c::setCopyRodControllUpperSpeedRate() { - // NONMATCHING + f32 var_f31; + if (checkAttentionLock()) { + var_f31 = 1.0f; + } else { + if (mProcID == PROC_STEP_MOVE) { + var_f31 = fabsf(field_0x3478 / daAlinkHIO_move_c0::m.mMaxSpeed); + } else { + var_f31 = fabsf(mNormalSpeed / daAlinkHIO_move_c0::m.mMaxSpeed); + } + + if (checkHeavyStateOn(1, 1)) { + var_f31 *= 1.0f / (mHeavySpeedMultiplier * mHeavySpeedMultiplier); + } + } + + if (var_f31 > 1.0f) { + var_f31 = 1.0f; + } + + cLib_chaseF(&field_0x33e8, var_f31, 0.15f); + + daPy_frameCtrl_c* frame_ctrl = &mUpperFrameCtrl[2]; + frame_ctrl->setFrame(field_0x33e8 * frame_ctrl->getEnd()); + getNowAnmPackUpper(UPPER_2)->setFrame(frame_ctrl->getFrame()); } /* 800E1748-800E1840 0DC088 00F8+00 2/2 0/0 0/0 .text setCopyRodModel__9daAlink_cFv */ @@ -106,8 +130,10 @@ void daAlink_c::setCopyRodModel() { mHeldItemModel = initModel(mdl_data, 0x80000, 0x1000000); field_0x0724 = loadAramItemBrk(0x323, mHeldItemModel); mDoExt_setCurrentHeap(heap); + field_0x0724->setFrame(0.0f); field_0x2f94 = 2; + mAtCps[0].SetAtSpl(dCcG_At_Spl_UNK_0); mAtCps[0].SetAtAtp(0); mAtCps[0].SetAtSe(20); @@ -115,6 +141,7 @@ void daAlink_c::setCopyRodModel() { mAtCps[0].OnAtSetBit(); mAtCps[0].SetAtHitCallback(NULL); mAtCps[0].SetAtMtrl(dCcD_MTRL_NONE); + mHeldItemModel->setBaseTRMtx(mpLinkModel->getAnmMtx(field_0x30c0)); mHeldItemModel->calc(); } @@ -144,7 +171,7 @@ void daAlink_c::setCopyRodReadyAnime() { /* 800E191C-800E1A30 0DC25C 0114+00 1/1 0/0 0/0 .text throwCopyRod__9daAlink_cFv */ void daAlink_c::throwCopyRod() { - daCrod_c* copy_rod = static_cast(mItemAcKeep.getActor()); + daCrod_c* copy_rod = ((daCrod_c*)mItemAcKeep.getActor()); onNoResetFlg1(FLG1_UNK_10000); if (checkCopyRodTopUse()) { @@ -372,7 +399,7 @@ int daAlink_c::procCopyRodSwingInit() { mNormalSpeed = 0.0f; current.angle.y = shape_angle.y; mProcVar2.field_0x300c = 1; - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; voiceStart(Z2SE_AL_V_ATTACK_S); mAtCps[0].SetR(40.0f); @@ -394,16 +421,16 @@ int daAlink_c::procCopyRodSwing() { setCopyRodControllAnime(); } } else if (frameCtrl->getFrame() >= field_0x3478 && frameCtrl->getFrame() < field_0x347c) { - if (mProcVar3.field_0x300e.x == 0) { + if (mProcVar3.field_0x300e == 0) { seStartSwordCut(Z2SE_AL_COPYROD_SWING); } - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; if (changeCutReverseProc(ANM_CUT_RECOIL_A)) { return 1; } } else { - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; } return 1; diff --git a/src/d/actor/d_a_alink_crawl.inc b/src/d/actor/d_a_alink_crawl.inc index 90e2b2f87c8..a6318bd53ec 100644 --- a/src/d/actor/d_a_alink_crawl.inc +++ b/src/d/actor/d_a_alink_crawl.inc @@ -287,8 +287,7 @@ int daAlink_c::procCrawlMove() { } /* 800F99FC-800F9ABC 0F433C 00C0+00 1/1 0/0 0/0 .text procCrawlAutoMoveInit__9daAlink_cFiP4cXyz */ -// r30 / r31 swap -#ifdef NONMATCHING +// NONMATCHING - r30 / r31 swap int daAlink_c::procCrawlAutoMoveInit(int param_0, cXyz* param_1) { BOOL var_r30 = dComIfGp_checkPlayerStatus0(0, 0x2000); commonProcInit(PROC_CRAWL_AUTO_MOVE); @@ -309,12 +308,6 @@ int daAlink_c::procCrawlAutoMoveInit(int param_0, cXyz* param_1) { return 1; } -#else -int daAlink_c::procCrawlAutoMoveInit(int param_0, cXyz* param_1) { - // NONMATCHING - return 0; -} -#endif /* 800F9ABC-800F9D7C 0F43FC 02C0+00 1/0 0/0 0/0 .text procCrawlAutoMove__9daAlink_cFv */ int daAlink_c::procCrawlAutoMove() { diff --git a/src/d/actor/d_a_alink_cut.inc b/src/d/actor/d_a_alink_cut.inc index ac305fa2514..c998e6d335d 100644 --- a/src/d/actor/d_a_alink_cut.inc +++ b/src/d/actor/d_a_alink_cut.inc @@ -3,7 +3,9 @@ * Player Sword action handling */ +#include "d/actor/d_a_alink.h" #include "d/actor/d_a_b_gnd.h" +#include "SSystem/SComponent/c_math.h" /* 800D0D38-800D0E08 0CB678 00D0+00 1/1 0/0 0/0 .text daAlink_searchNightStalker__FP10fopAc_ac_cPv */ @@ -24,7 +26,6 @@ static fopAc_ac_c* daAlink_searchNightStalker(fopAc_ac_c* i_actor, void*) { return NULL; } - /* 800D0E08-800D0E98 0CB748 0090+00 1/1 0/0 0/0 .text checkLightSwordMtrl__9daAlink_cFv */ void daAlink_c::checkLightSwordMtrl() { @@ -342,8 +343,7 @@ BOOL daAlink_c::setSwordHitVibration(dCcD_GObjInf* i_gobj) { var_r4 = 2; } - f32 tmp_0 = 0.0f; - dComIfGp_getVibration().StartShock(var_r4, 31, cXyz(tmp_0, 1.0f, tmp_0)); + dComIfGp_getVibration().StartShock(var_r4, 31, cXyz(0.0f, 1.0f, 0.0f)); return true; } @@ -358,15 +358,79 @@ BOOL daAlink_c::checkAtShieldHit(dCcD_GObjInf& param_0) { /* 800D1978-800D19C8 0CC2B8 0050+00 1/1 0/0 0/0 .text * checkCutReverseAt__9daAlink_cFP12dCcD_GObjInf */ -bool daAlink_c::checkCutReverseAt(dCcD_GObjInf* param_0) { +BOOL daAlink_c::checkCutReverseAt(dCcD_GObjInf* param_0) { param_0->GetAtHitAc(); - return checkAtShieldHit(*param_0) ? true : false; + return checkAtShieldHit(*param_0) ? TRUE : FALSE; } /* 800D19C8-800D1E1C 0CC308 0454+00 5/5 0/0 0/0 .text * changeCutReverseProc__9daAlink_cFQ29daAlink_c11daAlink_ANM */ BOOL daAlink_c::changeCutReverseProc(daAlink_c::daAlink_ANM param_0) { - // NONMATCHING + if (checkCutReverseAt(&mAtCps[0]) || (mEquipItem != COPY_ROD && (checkCutReverseAt(&mAtCps[1]) || checkCutReverseAt(&mAtCps[2])))) { + return procCutReverseInit(param_0); + } + + if (checkNoResetFlg0(FLG0_UNK_40) || mEquipItem == COPY_ROD) { + cXyz sp28; + Vec sp1C; + + if (checkMagneBootsOn()) { + sp1C.x = 0.0f; + sp1C.y = 30.0f; + sp1C.z = 0.0f; + mDoMtx_multVecSR(mMagneBootMtx, &sp1C, &sp28); + + sp28 += current.pos; + } else { + sp28.x = current.pos.x; + sp28.y = current.pos.y + 30.0f; + sp28.z = current.pos.z; + } + + if (commonLineCheck(&sp28, &field_0x3720) && !dComIfG_Bgsp().GetPolyAttackThrough(mLinkLinChk) && dComIfG_Bgsp().GetWallCode(mLinkLinChk) != 7) { + cM3dGPla sp34; + dComIfG_Bgsp().GetTriPla(mLinkLinChk, &sp34); + + f32 var_f31; + if (checkMagneBootsOn()) { + mDoMtx_multVecSR(mMagneBootInvMtx, &sp34.mNormal, &sp1C); + var_f31 = sp1C.y; + } else { + var_f31 = sp34.mNormal.y; + } + + if (!cBgW_CheckBGround(var_f31) && !checkCutDashAnime()) { + int temp_r3 = dComIfG_Bgsp().GetPolyAtt0(mLinkLinChk); + + if (!checkWoodSwordEquip() && (temp_r3 == 2 || temp_r3 == 5 || temp_r3 == 0xE || temp_r3 == 8 || temp_r3 == 0xA)) { + csXyz sp8(cM_atan2s(sp34.mNormal.y, sp34.mNormal.absXZ()), cM_atan2s(-sp34.mNormal.x, -sp34.mNormal.z), 0); + + u16 var_r28; + if (temp_r3 == 5 || temp_r3 == 0xE) { + var_r28 = 0x752; + } else if (temp_r3 == 8) { + var_r28 = 0xAE3; + } else { + var_r28 = 0x32E; + dKy_SordFlush_set(*mLinkLinChk.GetCrossP(), 2); + } + + dComIfGp_particle_set(var_r28, mLinkLinChk.GetCrossP(), &sp8, NULL); + } + + u32 var_r27; + if (mAtCps[0].GetAtSe() == 14) { + var_r27 = 0x40000; + } else { + var_r27 = dCcD_GObjInf::getHitSeID(mAtCps[0].GetAtSe(), 0); + } + + mZ2Link.startHitItemSE(var_r27, dKy_pol_sound_get(&mLinkLinChk), NULL, -1.0f); + return procCutReverseInit(param_0); + } + } + } + return 0; } @@ -573,13 +637,13 @@ int daAlink_c::checkCutAction() { /* 800D2684-800D26EC 0CCFC4 0068+00 9/9 0/0 0/0 .text checkCutTurnCharge__9daAlink_cFv */ void daAlink_c::checkCutTurnCharge() { if (swordButton()) { - if (mProcVar3.field_0x300e.z < 3) { - mProcVar3.field_0x300e.z++; + if (mProcVar5.field_0x3012 < 3) { + mProcVar5.field_0x3012++; } else { onResetFlg0(RFLG0_UNK_40); } } else { - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; } } @@ -697,9 +761,9 @@ void daAlink_c::cancelCutCharge() { */ void daAlink_c::initCutAtnActorSearch() { if (cLib_distanceAngleS(getShapeAngleYAtnActor(), shape_angle.y) < 0x800) { - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; } else { - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; } field_0x32cc = (u32)mTargetedActor; @@ -708,7 +772,7 @@ void daAlink_c::initCutAtnActorSearch() { /* 800D2C54-800D2C78 0CD594 0024+00 3/3 0/0 0/0 .text checkCutAtnActorChange__9daAlink_cFv */ void daAlink_c::checkCutAtnActorChange() { if (field_0x32cc != (u32)mTargetedActor) { - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; field_0x32cc = (u32)mTargetedActor; } } @@ -811,16 +875,16 @@ int daAlink_c::procCutNormalInit(int i_type) { setSwordAtParam(dCcG_At_Spl_UNK_0, 1, cutParams->m_atSe, 2, daAlinkHIO_cut_c0::m.mSwordLength, daAlinkHIO_cut_c0::m.mSwordRadius); setSwordComboVoice(); - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; dComIfGp_setPlayerStatus0(0, 0x8000); setCutWaterDropEffect(); int cutDir = getCutDirection(); if (mComboCutCount == 1 && (cutDir == DIR_LEFT || cutDir == DIR_RIGHT)) { - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; } else { - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; } mProcVar1.field_0x300a = 4; @@ -844,7 +908,7 @@ int daAlink_c::procCutNormal() { onEndResetFlg0(ERFLG0_UNK_8000000); field_0x2f99 = 4; - if (mProcVar3.field_0x300e.x != 0 && checkNoResetFlg2(FLG2_UNK_2)) { + if (mProcVar3.field_0x300e != 0 && checkNoResetFlg2(FLG2_UNK_2)) { int cutDir = getCutDirection(); if ((cutDir == DIR_RIGHT && mCutType == CUT_TYPE_NM_LEFT && frameCtrl->getFrame() > 12.0f) || @@ -874,11 +938,11 @@ int daAlink_c::procCutNormal() { return 1; } - if (setShapeAngleToAtnActor(mProcVar3.field_0x300e.y)) { + if (setShapeAngleToAtnActor(mProcVar4.field_0x3010)) { mProcVar2.field_0x300c = shape_angle.y; if (cLib_distanceAngleS(getShapeAngleYAtnActor(), shape_angle.y) < 0x800) { - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; } } else { cLib_addCalcAngleS(&shape_angle.y, mProcVar2.field_0x300c, 2, 0x2000, 0x800); @@ -925,7 +989,7 @@ int daAlink_c::procCutFinishInit(int i_type) { setCutType(cutParams->m_cutType); field_0x3198 = cutParams->field_0x4; mProcVar2.field_0x300c = cutParams->field_0xa; - mProcVar3.field_0x300e.x = cutParams->field_0xb; + mProcVar3.field_0x300e = cutParams->field_0xb; BOOL var_r30 = FALSE; if (i_type == 0) { @@ -1006,7 +1070,7 @@ int daAlink_c::procCutFinishInit(int i_type) { field_0x2f99 = 13; } - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; dComIfGp_setPlayerStatus0(0, 0x8000); setCutWaterDropEffect(); initCutAtnActorSearch(); @@ -1048,7 +1112,7 @@ int daAlink_c::procCutFinish() { field_0x2f99 = 4; } - if (frameCtrl_p->getFrame() >= mProcVar3.field_0x300e.x) { + if (frameCtrl_p->getFrame() >= mProcVar3.field_0x300e) { onModeFlg(0x100); } else if (frameCtrl_p->getFrame() >= mProcVar2.field_0x300c) { offModeFlg(0x100); @@ -1077,10 +1141,10 @@ int daAlink_c::procCutFinish() { return 1; } - setShapeAngleToAtnActor(mProcVar3.field_0x300e.y); + setShapeAngleToAtnActor(mProcVar4.field_0x3010); if (cLib_distanceAngleS(getShapeAngleYAtnActor(), shape_angle.y) < 0x800) { - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; } current.angle.y = shape_angle.y; @@ -1142,7 +1206,7 @@ int daAlink_c::procCutFinishJumpUpInit() { daAlinkHIO_cutFnJU_c0::m.mCutAnm.mEndFrame, daAlinkHIO_cutFnJU_c0::m.mCutAnm.mInterpolation); setSwordVoiceSe(Z2SE_AL_V_SOTOMO_ATK); - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; field_0x3478 = current.pos.y; dComIfGp_setPlayerStatus0(0, 0x8000); setCutWaterDropEffect(); @@ -1207,7 +1271,7 @@ int daAlink_c::procCutFinishJumpUpLandInit() { mProcVar0.field_0x3008 = daAlinkHIO_cutFnJU_c0::m.mStopTime; } - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; field_0x3588 = l_halfAtnWaitBaseAnime; initCutAtnActorSearch(); return 1; @@ -1244,10 +1308,10 @@ int daAlink_c::procCutFinishJumpUpLand() { resetCombo(1); } - setShapeAngleToAtnActor(mProcVar3.field_0x300e.y); + setShapeAngleToAtnActor(mProcVar4.field_0x3010); if (cLib_distanceAngleS(getShapeAngleYAtnActor(), shape_angle.y) < 0x800) { - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; } current.angle.y = shape_angle.y; @@ -1287,7 +1351,7 @@ int daAlink_c::procCutReverseInit(daAlink_c::daAlink_ANM i_anmID) { mNormalSpeed = daAlinkHIO_cut_c0::m.mRecoilSpeed; current.angle.y = shape_angle.y - -0x8000; field_0x307e = 0; - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; int temp_r3; if (mCutType == CUT_TYPE_MORTAL_DRAW_A || mCutType == CUT_TYPE_MORTAL_DRAW_B || @@ -1462,8 +1526,7 @@ int daAlink_c::procCutJumpLand() { } /* 800D47DC-800D4A74 0CF11C 0298+00 7/7 0/0 0/0 .text procCutTurnInit__9daAlink_cFii */ -// regalloc -#ifdef NONMATCHING +// NONMATCHING - regalloc int daAlink_c::procCutTurnInit(int param_0, int param_1) { const daAlinkHIO_cutTurn_c1* cutData = &daAlinkHIO_cutTurn_c0::m; const daAlinkHIO_anm_c* anm_data; @@ -1488,7 +1551,7 @@ int daAlink_c::procCutTurnInit(int param_0, int param_1) { field_0x3484 = cutData->mRightAttackStartFrame; field_0x3488 = cutData->mRightAttackEndFrame; - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; mProcVar1.field_0x300a = 6; } else { anmID = ANM_CUT_TURN_LEFT; @@ -1502,11 +1565,11 @@ int daAlink_c::procCutTurnInit(int param_0, int param_1) { field_0x3484 = cutData->mLeftAttackStartFrame; field_0x3488 = cutData->mLeftAttackEndFrame; - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; mProcVar1.field_0x300a = 8; } - field_0x3480 = anm_data->->mCheckFrame; + field_0x3480 = anm_data->mCheckFrame; resetCombo(1); f32 morf; @@ -1558,17 +1621,11 @@ int daAlink_c::procCutTurnInit(int param_0, int param_1) { field_0x3180 = 0; dComIfGp_setPlayerStatus0(0, 0x8000); mNormalSpeed = 0.0f; - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; setCutWaterDropEffect(); initCutTurnAt(field_0x347c, var_r29_3); return 1; } -#else -int daAlink_c::procCutTurnInit(int param_0, int param_1) { - // NONMATCHING - return 0; -} -#endif /* 800D4A74-800D4C68 0CF3B4 01F4+00 1/0 0/0 0/0 .text procCutTurn__9daAlink_cFv */ int daAlink_c::procCutTurn() { @@ -1834,14 +1891,14 @@ int daAlink_c::procCutDownInit() { resetCombo(1); cXyz sp2C; - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; if (mTargetedActor != NULL) { sp2C = static_cast(mTargetedActor)->getDownPos(); field_0x280c.setData(mTargetedActor); if (fopAcM_GetName(mTargetedActor) == PROC_B_GND) { - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; } } else { sp2C.set(current.pos.x + cM_ssin(shape_angle.y) * 100.0f, current.pos.y, @@ -1849,7 +1906,7 @@ int daAlink_c::procCutDownInit() { field_0x280c.clearData(); } - if (mProcVar3.field_0x300e.x != 0) { + if (mProcVar3.field_0x300e != 0) { mNormalSpeed = 0.0f; speed.y = 0.0f; offModeFlg(2); @@ -1905,7 +1962,7 @@ int daAlink_c::procCutDownInit() { /* 800D57F8-800D58A0 0D0138 00A8+00 1/0 0/0 0/0 .text procCutDown__9daAlink_cFv */ int daAlink_c::procCutDown() { - if (mProcVar3.field_0x300e.x != 0) { + if (mProcVar3.field_0x300e != 0) { return 1; } @@ -1931,7 +1988,7 @@ int daAlink_c::procCutDownLandInit(fopEn_enemy_c* i_enemy) { mSwordTopPos.abs2XZ(i_enemy->getDownPos()) < 10000.0f && fabsf(i_enemy->current.pos.y - current.pos.y) < 100.0f)) { - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; if (i_enemy != NULL) { i_enemy->onCutDownHitFlg(); @@ -1944,7 +2001,7 @@ int daAlink_c::procCutDownLandInit(fopEn_enemy_c* i_enemy) { dComIfGp_getVibration().StartShock(4, 31, cXyz(0.0f, 1.0f, 0.0f)); } else { var_r30 = mPolySound; - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; mProcVar0.field_0x3008 = daAlinkHIO_cutDown_c0::m.mFailStopTime; } @@ -1957,7 +2014,7 @@ int daAlink_c::procCutDownLandInit(fopEn_enemy_c* i_enemy) { setFootEffectProcType(2); onResetFlg1(RFLG1_UNK_30); - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; dComIfGp_setPlayerStatus1(0, 0x400000); field_0x3588 = l_halfAtnWaitBaseAnime; @@ -1983,7 +2040,7 @@ int daAlink_c::procCutDownLand() { if (mProcVar2.field_0x300c == 0) { if (mProcVar0.field_0x3008 != 0) { mProcVar0.field_0x3008--; - } else if (mProcVar3.field_0x300e.x != 0) { + } else if (mProcVar3.field_0x300e != 0) { if (mDemo.getDemoMode() == 0x51) { dComIfGp_evmng_cutEnd(field_0x3184); } else { @@ -1999,9 +2056,9 @@ int daAlink_c::procCutDownLand() { } } else if (mProcVar2.field_0x300c != 0) { if (frameCtrl_p->getFrame() >= 37.0f) { - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; } else if (frameCtrl_p->getFrame() >= 30.0f) { - mProcVar3.field_0x300e.y = 254; + mProcVar4.field_0x3010 = 254; } if (frameCtrl_p->checkPass(54.0f)) { @@ -2019,8 +2076,6 @@ int daAlink_c::procCutDownLand() { /* 800D5C88-800D5FC8 0D05C8 0340+00 2/1 0/0 0/0 .text procCutHeadInit__9daAlink_cFv */ -// small regalloc -#ifdef NONMATCHING int daAlink_c::procCutHeadInit() { fopEn_enemy_c* enemy_p = (fopEn_enemy_c*)mTargetedActor; @@ -2043,7 +2098,7 @@ int daAlink_c::procCutHeadInit() { field_0x280c.clearData(); } - f32 fvar9 = cLib_minMaxLimit(sp2C.y, 30.0f, daAlinkHIO_cutHead_c0::m.mMaxHeight); + f32 fvar9 = cLib_minMaxLimit(sp2C.y, 30.0f, daAlinkHIO_cutHead_c0::m.mMaxHeight); f32 fvar10 = JMAFastSqrt((fvar9 * -2.0f) / gravity); speed.y = fvar10 * -gravity; @@ -2054,7 +2109,7 @@ int daAlink_c::procCutHeadInit() { field_0x3478 = (fvar5 * 2.0f) / (fvar10 * 3.0f * fvar10); mNormalSpeed = field_0x3478 * fvar10 * 2.0f; - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; current.angle.y = sp2C.atan2sX_Z(); shape_angle.y = current.angle.y; @@ -2066,16 +2121,10 @@ int daAlink_c::procCutHeadInit() { return 1; } -#else -int daAlink_c::procCutHeadInit() { - // NONMATCHING - return 0; -} -#endif /* 800D5FC8-800D6130 0D0908 0168+00 1/0 0/0 0/0 .text procCutHead__9daAlink_cFv */ int daAlink_c::procCutHead() { - if (mProcVar3.field_0x300e.x == 0) { + if (mProcVar3.field_0x300e == 0) { cLib_chaseF(&mNormalSpeed, 0.0f, field_0x3478); if (speed.y <= 0.0f) { @@ -2084,7 +2133,7 @@ int daAlink_c::procCutHead() { mNormalSpeed = tmp_0; speed.y = tmp_0; setSpecialGravity(tmp_0, maxFallSpeed, 0); - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; setCutWaterDropEffect(); setSwordVoiceSe(Z2SE_AL_V_KABUTO_ATK); } @@ -2200,8 +2249,8 @@ int daAlink_c::procCutLargeJumpInit() { setCutType(CUT_TYPE_LARGE_JUMP_INIT); setSwordVoiceSe(Z2SE_AL_V_JUMP_ATTACK_L_1); setCutWaterDropEffect(); - mProcVar3.field_0x300e.x = 4; - mProcVar3.field_0x300e.y = 0; + mProcVar3.field_0x300e = 4; + mProcVar4.field_0x3010 = 0; field_0x3198 = 2; return 1; } @@ -2210,7 +2259,7 @@ int daAlink_c::procCutLargeJumpInit() { int daAlink_c::procCutLargeJump() { daPy_frameCtrl_c* frameCtrl = &mUnderFrameCtrl[0]; - if (mProcVar3.field_0x300e.y != 0) { + if (mProcVar4.field_0x3010 != 0) { field_0x2f99 = 4; } @@ -2226,7 +2275,7 @@ int daAlink_c::procCutLargeJump() { setSwordVoiceSe(Z2SE_AL_V_JUMP_ATTACK_L_2); } else { if (frameCtrl->getFrame() >= 2.0f) { - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; } if (!checkModeFlg(2) && frameCtrl->getFrame() >= 5.0f) { @@ -2246,10 +2295,10 @@ int daAlink_c::procCutLargeJump() { } } } else { - if (mProcVar3.field_0x300e.x != 0) { - mProcVar3.field_0x300e.x--; + if (mProcVar3.field_0x300e != 0) { + mProcVar3.field_0x300e--; - if (mProcVar3.field_0x300e.x == 0) { + if (mProcVar3.field_0x300e == 0) { setSwordAtParam(dCcG_At_Spl_UNK_1, 3, 1, 4, daAlinkHIO_cut_c0::m.mSwordLength, daAlinkHIO_cut_c0::m.mSwordRadius); setCutType(CUT_TYPE_LARGE_JUMP); @@ -2349,8 +2398,8 @@ int daAlink_c::procSwordUnequipSpInit() { field_0x3588 = l_halfAtnWaitBaseAnime; field_0x3198 = 0; mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.x = (0x1E - mDemo.getDemoMode()) != 0; - mProcVar3.field_0x300e.y = 0; + mProcVar3.field_0x300e = (0x1E - mDemo.getDemoMode()) != 0; + mProcVar4.field_0x3010 = 0; return 1; } @@ -2363,10 +2412,10 @@ int daAlink_c::procSwordUnequipSp() { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; - if (mProcVar3.field_0x300e.x != 0) { + if (mProcVar3.field_0x300e != 0) { field_0x2f99 = 4; } else { - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; } onEndResetFlg0(ERFLG0_UNK_8000000); @@ -2375,8 +2424,8 @@ int daAlink_c::procSwordUnequipSp() { onEndResetFlg1(ERFLG1_GANON_FINISH); } - if (mProcVar3.field_0x300e.y == 0 && mDemo.getDemoMode() == 0x1E && mDemo.getParam1() == 1) { - mProcVar3.field_0x300e.y = 1; + if (mProcVar4.field_0x3010 == 0 && mDemo.getDemoMode() == 0x1E && mDemo.getParam1() == 1) { + mProcVar4.field_0x3010 = 1; setFaceBasicBck(0x149); setFaceBasicBtp(0x3E1); } diff --git a/src/d/actor/d_a_alink_damage.inc b/src/d/actor/d_a_alink_damage.inc index ff032d15a4f..c453fdac11b 100644 --- a/src/d/actor/d_a_alink_damage.inc +++ b/src/d/actor/d_a_alink_damage.inc @@ -4,6 +4,7 @@ */ #include "d/actor/d_a_alink.h" +#include "d/actor/d_a_horse.h" /* 800D6D94-800D6DA4 0D16D4 0010+00 0/0 0/0 2/2 .text getFreezeR__9daAlink_cCFv */ s16 daAlink_c::getFreezeR() const { @@ -830,7 +831,7 @@ int daAlink_c::procDamageInit(dCcD_GObjInf* param_0, int param_1) { var_r29->z * var_f29 + var_r29->x * var_f30); mProcVar2.field_0x300c = cLib_minMaxLimit(cM_atan2s(sp88.z, sp88.y), -daAlinkHIO_damNormal_c0::m.field_0x50, daAlinkHIO_damNormal_c0::m.field_0x50); - mProcVar3.field_0x300e.x = cLib_minMaxLimit(cM_atan2s(sp88.x, -JMAFastSqrt(sp88.y * sp88.y + sp88.z * sp88.z)), -daAlinkHIO_damNormal_c0::m.field_0x52, daAlinkHIO_damNormal_c0::m.field_0x52); + mProcVar3.field_0x300e = cLib_minMaxLimit(cM_atan2s(sp88.x, -JMAFastSqrt(sp88.y * sp88.y + sp88.z * sp88.z)), -daAlinkHIO_damNormal_c0::m.field_0x52, daAlinkHIO_damNormal_c0::m.field_0x52); if (freeze_player) { var_f31 = 0.0f; @@ -862,7 +863,7 @@ int daAlink_c::procDamageInit(dCcD_GObjInf* param_0, int param_1) { } current.angle.y = var_r29->atan2sX_Z(); - mProcVar3.field_0x300e.y = current.angle.y; + mProcVar4.field_0x3010 = current.angle.y; mNormalSpeed = var_r29->absXZ() * daAlinkHIO_damNormal_c0::m.field_0x58 + daAlinkHIO_damNormal_c0::m.field_0x54; if (mNormalSpeed > daAlinkHIO_move_c0::m.mMaxSpeed) { @@ -893,7 +894,7 @@ int daAlink_c::procDamage() { f32 var_f31 = cM_fsin(field_0x347c * var_f30); mBodyAngle.x = mProcVar2.field_0x300c * var_f31; - mBodyAngle.z = -mProcVar3.field_0x300e.x * var_f31; + mBodyAngle.z = -mProcVar3.field_0x300e * var_f31; mBodyAngle.y = 0; cLib_chaseF(&mNormalSpeed, 0.0f, daAlinkHIO_damNormal_c0::m.field_0x5C); @@ -917,7 +918,7 @@ int daAlink_c::procDamage() { onModeFlg(4); if (!checkNextAction(1)) { - current.angle.y = mProcVar3.field_0x300e.y; + current.angle.y = mProcVar4.field_0x3010; } } diff --git a/src/d/actor/d_a_alink_demo.inc b/src/d/actor/d_a_alink_demo.inc index da3ce9fb9b6..df2d12467b4 100644 --- a/src/d/actor/d_a_alink_demo.inc +++ b/src/d/actor/d_a_alink_demo.inc @@ -9,12 +9,15 @@ #include "d/d_gameover.h" #include "f_op/f_op_msg_mng.h" #include "f_op/f_op_overlap_mng.h" -#include "m_Do/m_Do_controller_pad.h" #include "d/actor/d_a_kytag04.h" #include "d/actor/d_a_tag_mhint.h" #include "d/actor/d_a_tag_mist.h" #include "d/actor/d_a_tag_mstop.h" #include "d/actor/d_a_tag_mwait.h" +#include "d/actor/d_a_canoe.h" +#include "d/actor/d_a_horse.h" +#include "d/actor/d_a_midna.h" +#include "d/actor/d_a_e_wb.h" /* 80115C20-80115C50 110560 0030+00 72/72 0/0 0/0 .text checkEventRun__9daAlink_cCFv */ BOOL daAlink_c::checkEventRun() const { @@ -210,7 +213,7 @@ int daAlink_c::checkDemoAction() { fopAc_ac_c* board_p = (fopAc_ac_c*)fopAcIt_Judge( (fopAcIt_JudgeFunc)daAlink_searchIceLeaf, NULL); if (board_p != NULL) { - field_0x2fa8 = 5; + mGndPolySpecialCode = dBgW_SPCODE_LIGHT_SNOW; return procBoardWaitInit(board_p); } } else { @@ -825,8 +828,7 @@ void daAlink_c::resetSpecialEvent() { } /* 80117CF8-801180EC 112638 03F4+00 4/4 0/0 0/0 .text endDemoMode__9daAlink_cFv */ -// one wrong branch -#ifdef NONMATCHING +// NONMATCHING - one wrong branch void daAlink_c::endDemoMode() { BOOL temp_r30 = checkFlyAtnWait(); endHighModel(); @@ -922,15 +924,9 @@ void daAlink_c::endDemoMode() { } } } -#else -void daAlink_c::endDemoMode() { - // NONMATCHING -} -#endif /* 801180EC-80118170 112A2C 0084+00 2/2 0/0 0/0 .text getDemoLookActor__9daAlink_cFv */ -// weird gameinfo load -#ifdef NONMATCHING +// NONMATCHING - weird gameinfo load fopAc_ac_c* daAlink_c::getDemoLookActor() { if (mDemo.getParam0() == 1) { return dComIfGp_event_getPt1(); @@ -944,11 +940,6 @@ fopAc_ac_c* daAlink_c::getDemoLookActor() { return NULL; } -#else -fopAc_ac_c* daAlink_c::getDemoLookActor() { - // NONMATCHING -} -#endif /* 80118170-801181A0 112AB0 0030+00 4/4 0/0 0/0 .text checkFlyAtnWait__9daAlink_cFv */ BOOL daAlink_c::checkFlyAtnWait() { @@ -1110,7 +1101,7 @@ BOOL daAlink_c::checkEndMessage(u32 param_0) { /* 80118840-801188B0 113180 0070+00 1/1 0/0 0/0 .text setDemoRightHandIndex__9daAlink_cFUs */ u8 daAlink_c::setDemoRightHandIndex(u16 param_0) { if (param_0 == 0xFD) { - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; return 6; } else if (param_0 == 0xFC) { field_0x2fab |= 0x10; @@ -1258,8 +1249,7 @@ void daAlink_c::setHighModelBck(mDoExt_bckAnm* i_bck, u16 i_anmID) { /* 801190A4-80119134 1139E4 0090+00 1/1 0/0 0/0 .text setHighModelFaceBtk__9daAlink_cFUs */ -// extra mr -#ifdef NONMATCHING +// NONMATCHING - extra mr void daAlink_c::setHighModelFaceBtk(u16 i_anmID) { J3DAnmTextureSRTKey* btk = (J3DAnmTextureSRTKey*)dComIfG_getObjectIDRes( dStage_roomControl_c::getDemoArcName(), i_anmID); @@ -1272,16 +1262,10 @@ void daAlink_c::setHighModelFaceBtk(u16 i_anmID) { field_0x068c = btk; } } -#else -void daAlink_c::setHighModelFaceBtk(u16 param_0) { - // NONMATCHING -} -#endif /* 80119134-801191C4 113A74 0090+00 1/1 0/0 0/0 .text * setDemoBrk__9daAlink_cFPP15J3DAnmTevRegKeyP8J3DModelUs */ -// extra mr -#ifdef NONMATCHING +// NONMATCHING - extra mr void daAlink_c::setDemoBrk(J3DAnmTevRegKey** param_0, J3DModel* param_1, u16 i_anmID) { J3DAnmTevRegKey* brk = (J3DAnmTevRegKey*)dComIfG_getObjectIDRes(dStage_roomControl_c::getDemoArcName(), i_anmID); @@ -1294,11 +1278,6 @@ void daAlink_c::setDemoBrk(J3DAnmTevRegKey** param_0, J3DModel* param_1, u16 i_a *param_0 = brk; } } -#else -void daAlink_c::setDemoBrk(J3DAnmTevRegKey** param_0, J3DModel* param_1, u16 param_2) { - // NONMATCHING -} -#endif /* 801191C4-80119464 113B04 02A0+00 1/1 0/0 0/0 .text * setStickAnmData__9daAlink_cFP10J3DAnmBaseiiUsi */ @@ -1411,7 +1390,7 @@ int daAlink_c::procCoToolDemoInit() { mNowAnmPackUpper[1].setAnmTransform(NULL); field_0x3198 = 0; - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; field_0x2fab = 0; deleteEquipItem(FALSE, TRUE); mUnderAnmHeap[0].setBufferSize(0x10800); @@ -1430,7 +1409,7 @@ int daAlink_c::procCoToolDemo() { onEndResetFlg1(ERFLG1_GANON_FINISH); field_0x3198 = 0; - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; field_0x2fab = 0; if (demo_actor_p != NULL) { @@ -1838,7 +1817,7 @@ int daAlink_c::procCoUnequipInit() { mNormalSpeed = 0.0f; mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; if (checkWolf()) { setBlendWolfMoveAnime(daAlinkHIO_wlMove_c0::m.field_0x94); @@ -1855,7 +1834,7 @@ int daAlink_c::procCoUnequipInit() { } } else if (mDemo.getParam1() == 2) { mProcVar2.field_0x300c = 1; - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; setSingleAnime(ANM_TRADE_ITEM_PULL_OUT, 1.0f, 0.0f, 39, 3.0f); } } @@ -1894,7 +1873,7 @@ int daAlink_c::procCoUnequip() { void daAlink_c::setGetSubBgm(int i_seTypeIdx) { u32 se_type = getSeType[i_seTypeIdx]; - if (se_type == 3 && mProcVar3.field_0x300e.y == 0) { + if (se_type == 3 && mProcVar4.field_0x3010 == 0) { se_type = 7; } @@ -2022,23 +2001,23 @@ int daAlink_c::procCoGetItemInit() { field_0x3588 = l_waitBaseAnime; } - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; if (var_r31 != 0) { - mProcVar3.field_0x300e.x = -0x8000; - mProcVar3.field_0x300e.y = 1; + mProcVar3.field_0x300e = -0x8000; + mProcVar4.field_0x3010 = 1; } else if (mDemo.getParam1() == 2) { - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; } else { - mProcVar3.field_0x300e.x = + mProcVar3.field_0x300e = shape_angle.y - (fopCamM_GetAngleY(dComIfGp_getCamera(field_0x317c)) + 0x8000); - s16 temp_r28 = mProcVar3.field_0x300e.x + 0x16C1; - s16 temp_r31 = mProcVar3.field_0x300e.x - 0x16C1; + s16 temp_r28 = mProcVar3.field_0x300e + 0x16C1; + s16 temp_r31 = mProcVar3.field_0x300e - 0x16C1; if (abs(temp_r28) > abs(temp_r31)) { - mProcVar3.field_0x300e.x = temp_r31; + mProcVar3.field_0x300e = temp_r31; } else { - mProcVar3.field_0x300e.x = temp_r28; + mProcVar3.field_0x300e = temp_r28; } } @@ -2047,11 +2026,11 @@ int daAlink_c::procCoGetItemInit() { mProcVar0.field_0x3008 = 0; field_0x3198 = 0; field_0x32cc = 0; - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; dKy_Itemgetcol_chg_on(); dComIfGp_setPlayerStatus1(0, 0x4000000); - if (mProcVar3.field_0x300e.y != 0) { + if (mProcVar4.field_0x3010 != 0) { onEndResetFlg1(ERFLG1_UNK_8); } @@ -2061,7 +2040,7 @@ int daAlink_c::procCoGetItemInit() { /* 8011AC28-8011B3F0 115568 07C8+00 1/0 0/0 0/0 .text procCoGetItem__9daAlink_cFv */ int daAlink_c::procCoGetItem() { - if (mProcVar3.field_0x300e.y != 0) { + if (mProcVar4.field_0x3010 != 0) { onEndResetFlg1(ERFLG1_UNK_8); } @@ -2088,14 +2067,14 @@ int daAlink_c::procCoGetItem() { if (frameCtrl_p->getFrame() < field_0x3480) { shape_angle.y = current.angle.y - - (field_0x3484 * (mProcVar3.field_0x300e.x * (frameCtrl_p->getFrame() - field_0x347c))); + (field_0x3484 * (mProcVar3.field_0x300e * (frameCtrl_p->getFrame() - field_0x347c))); - if (mProcVar3.field_0x300e.y != 0 && checkWolf()) { + if (mProcVar4.field_0x3010 != 0 && checkWolf()) { current.pos.x -= cM_ssin(current.angle.y) * 3.888889f; current.pos.z -= cM_scos(current.angle.y) * 3.888889f; } } else { - shape_angle.y = current.angle.y - mProcVar3.field_0x300e.x; + shape_angle.y = current.angle.y - mProcVar3.field_0x300e; } } @@ -2169,14 +2148,14 @@ int daAlink_c::procCoGetItem() { if (mProcVar1.field_0x300a == 0) { mProcVar1.field_0x300a = 1; - shape_angle.y = current.angle.y - mProcVar3.field_0x300e.x; + shape_angle.y = current.angle.y - mProcVar3.field_0x300e; if (mDemo.getParam1() == 1) { dComIfGp_evmng_cutEnd(field_0x3184); } } else { shape_angle.y = - current.angle.y - (mProcVar3.field_0x300e.x * (mProcVar1.field_0x300a + 7)) * (1.0f / 7.0f); + current.angle.y - (mProcVar3.field_0x300e * (mProcVar1.field_0x300a + 7)) * (1.0f / 7.0f); } } @@ -2214,7 +2193,7 @@ int daAlink_c::procCoGetItem() { return 1; } - if (mProcVar3.field_0x300e.y != 0 && checkTreasureRupeeReturn(mProcVar2.field_0x300c)) { + if (mProcVar4.field_0x3010 != 0 && checkTreasureRupeeReturn(mProcVar2.field_0x300c)) { if (mProcVar2.field_0x300c == 0xED) { field_0x32cc = 0x6A; } @@ -2319,15 +2298,15 @@ int daAlink_c::procDoorOpenInit() { if (mDemo.getParam0() == 4) { open_anm = ANM_DOOR_OPEN_ROLL; mProcVar2.field_0x300c = 1; - mProcVar3.field_0x300e.x = 1; - mProcVar3.field_0x300e.y = 0; + mProcVar3.field_0x300e = 1; + mProcVar4.field_0x3010 = 0; } else if (mDemo.getParam0() == 5) { open_anm = ANM_DOOR_OPEN_SLIDE; mProcVar2.field_0x300c = 1; - mProcVar3.field_0x300e.x = 1; - mProcVar3.field_0x300e.y = 0; + mProcVar3.field_0x300e = 1; + mProcVar4.field_0x3010 = 0; } else { - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; if (mDemo.getParam0() & 1) { open_anm = ANM_DOOR_OPEN_RIGHT; @@ -2352,7 +2331,7 @@ int daAlink_c::procDoorOpenInit() { field_0x34d4 = l_waitBaseAnime; } - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; mProcVar2.field_0x300c = 0; } @@ -2363,7 +2342,7 @@ int daAlink_c::procDoorOpenInit() { mLinkAcch.OnLineCheckNone(); field_0x3588 = l_waitBaseAnime; field_0x3198 = 0; - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; return 1; } @@ -2373,15 +2352,15 @@ int daAlink_c::procDoorOpen() { daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; if (field_0x3198 == 0) { - if (mProcVar2.field_0x300c == 0 && mProcVar3.field_0x300e.y != 0) { + if (mProcVar2.field_0x300c == 0 && mProcVar4.field_0x3010 != 0) { if (frameCtrl_p->getFrame() >= 9.0f && frameCtrl_p->getFrame() < field_0x347c) { field_0x2f92 = 3; } else { field_0x2f92 = 4; } - } else if (frameCtrl_p->checkPass(18.0f) && mProcVar3.field_0x300e.x != 0) { + } else if (frameCtrl_p->checkPass(18.0f) && mProcVar3.field_0x300e != 0) { voiceStart(Z2SE_AL_V_PUSH_ROCK); - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; } } @@ -2398,7 +2377,7 @@ int daAlink_c::procDoorOpen() { setSingleAnimeBaseMorf(open_anm, 0.0f); mProcVar0.field_0x3008 = 0; field_0x2f99 = 5; - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; } else { mLinkAcch.ClrWallNone(); mLinkAcch.OffLineCheckNone(); @@ -2413,8 +2392,8 @@ int daAlink_c::procDoorOpen() { } } else if (field_0x3198 == 0) { if (mProcVar2.field_0x300c == 0) { - if (mProcVar3.field_0x300e.z == 0) { - mProcVar3.field_0x300e.z = 1; + if (mProcVar5.field_0x3012 == 0) { + mProcVar5.field_0x3012 = 1; } else { field_0x2f99 = 5; } @@ -2610,9 +2589,9 @@ int daAlink_c::procCoDeadInit(int param_0) { mDamageTimer = 0; if (checkWolf()) { - mProcVar3.field_0x300e.y = 2; + mProcVar4.field_0x3010 = 2; } else { - mProcVar3.field_0x300e.y = 2; + mProcVar4.field_0x3010 = 2; } setDeadRideSyncPos(); @@ -2681,14 +2660,14 @@ int daAlink_c::procCoDeadInit(int param_0) { field_0x3478 = 1.0f; } - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; mProcVar0.field_0x3008 = 0; dComIfGp_setPlayerStatus0(0, 0x20000000); mMsgClassID = 0; setFootEffectProcType(4); mProcVar2.field_0x300c = 0; field_0x3080 = 0; - mProcVar3.field_0x300e.z = 0x3F; + mProcVar5.field_0x3012 = 0x3F; field_0x3198 = -1; return 1; } @@ -2714,11 +2693,11 @@ int daAlink_c::procCoDead() { } if (!checkNoResetFlg2(FLG2_FORCE_GAMEOVER)) { - mProcVar3.field_0x300e.x++; - if (mProcVar3.field_0x300e.x == 2) { + mProcVar3.field_0x300e++; + if (mProcVar3.field_0x300e == 2) { dCam_getBody()->StartEventCamera(9, fopAcM_GetID(this), 0); - } else if (mProcVar3.field_0x300e.x > 10) { - mProcVar3.field_0x300e.x = 10; + } else if (mProcVar3.field_0x300e > 10) { + mProcVar3.field_0x300e = 10; } if (!checkModeFlg(0x400)) { @@ -2778,8 +2757,8 @@ int daAlink_c::procCoDead() { (checkStageName("D_MN08C") && !dComIfGs_isEventBit(0x2880)))) { var_r3_2 = 0; - } else if (mProcVar3.field_0x300e.z != 0x3F) { - var_r3_2 = mProcVar3.field_0x300e.z; + } else if (mProcVar5.field_0x3012 != 0x3F) { + var_r3_2 = mProcVar5.field_0x3012; var_r30 = field_0x3198; } else { startRestartRoom(var_r31, 0xC9, 0, 1); @@ -2802,7 +2781,7 @@ int daAlink_c::procCoLookAroundInit() { return 0; } - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; if (checkWolf()) { setSingleAnimeWolfBase(WANM_ENTRANCE); @@ -2816,7 +2795,7 @@ int daAlink_c::procCoLookAroundInit() { } else { setSingleAnimeBase(ANM_ENTRANCE); field_0x3588 = l_waitBaseAnime; - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; } } @@ -2837,7 +2816,7 @@ int daAlink_c::procCoLookAround() { if (checkAnmEnd(frame_ctrl)) { dComIfGp_evmng_cutEnd(field_0x3184); - } else if (mProcVar3.field_0x300e.x != 0 && frame_ctrl->checkPass(5.0f)) { + } else if (mProcVar3.field_0x300e != 0 && frame_ctrl->checkPass(5.0f)) { voiceStart(Z2SE_AL_V_ENTRANCE); } @@ -2972,7 +2951,7 @@ int daAlink_c::procHandPatInit() { setOldRootQuaternion(0, -0x8000, 0); shape_angle.y += 0x8000; mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; return 1; } @@ -2984,9 +2963,9 @@ int daAlink_c::procHandPat() { if (checkAnmEnd(frameCtrl_p)) { dComIfGp_evmng_cutEnd(field_0x3184); - if (mProcVar3.field_0x300e.x == 0) { + if (mProcVar3.field_0x300e == 0) { setSingleAnimeBaseSpeed(ANM_WAIT, daAlinkHIO_move_c0::m.mWaitAnmSpeed, 3.0f); - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; } } } else { @@ -3321,7 +3300,7 @@ int daAlink_c::procWolfSnowEscapeInit() { field_0x3588 = l_wolfBaseAnime; field_0x3478 = 0.14285715f; mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; mNormalSpeed = 30.0f; return 1; } @@ -3330,7 +3309,7 @@ int daAlink_c::procWolfSnowEscapeInit() { int daAlink_c::procWolfSnowEscape() { daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; - if (mProcVar3.field_0x300e.x != 0) { + if (mProcVar3.field_0x300e != 0) { dComIfGp_evmng_cutEnd(field_0x3184); return 1; } @@ -3363,7 +3342,7 @@ int daAlink_c::procWolfSnowEscape() { } else { setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMove_c0::m.field_0x70, 3.0f); field_0x2f99 = 0x30; - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; } } else if (frameCtrl_p->checkPass(12.0f)) { mNormalSpeed = 0.0f; @@ -3386,8 +3365,8 @@ int daAlink_c::procZoraMoveInit() { setSpecialGravity(tmp_0, maxFallSpeed, 0); deleteEquipItem(FALSE, TRUE); - mProcVar3.field_0x300e.y = 5000; - mProcVar3.field_0x300e.z = 0; + mProcVar4.field_0x3010 = 5000; + mProcVar5.field_0x3012 = 0; field_0x384c = (cXyz*)&l_boarBaseAnime; return 1; } @@ -3452,18 +3431,18 @@ int daAlink_c::procTradeItemOutInit() { mProcVar2.field_0x300c = 0; } - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; dComIfGp_setPlayerStatus0(0, 0x10); - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; if (mDemo.getParam0() != 1) { if (mDemo.getParam0() == 2) { if (checkLetterItem(mDemo.getParam1())) { - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; } } else { if (checkLetterItem(dComIfGp_event_getPreItemNo())) { - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; } } } @@ -3510,7 +3489,7 @@ int daAlink_c::procTradeItemOut() { } else { current.angle.y = shape_angle.y; - if (mProcVar3.field_0x300e.x != 0) { + if (mProcVar3.field_0x300e != 0) { if (mDemo.getParam0() == 1) { dComIfGp_evmng_cutEnd(field_0x3184); } else { @@ -3523,8 +3502,8 @@ int daAlink_c::procTradeItemOut() { field_0x280c.setData(item_partner_p); item_partner_p->show(); - if (mProcVar3.field_0x300e.y == 0) { - mProcVar3.field_0x300e.y = 1; + if (mProcVar4.field_0x3010 == 0) { + mProcVar4.field_0x3010 = 1; seStartOnlyReverb(Z2SE_AL_OPEN_LETTER); } @@ -3540,7 +3519,7 @@ int daAlink_c::procTradeItemOut() { } else if (checkAnmEnd(mUnderFrameCtrl)) { setSingleAnimeBase(ANM_TRADE_ITEM_WAIT); onModeFlg(0x100); - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; } else { setTradeItemOutHand(); } @@ -3570,7 +3549,7 @@ int daAlink_c::procNotUseItemInit(int param_0) { mMsgClassID = -1; field_0x3198 = param_0; mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; current.angle.y = shape_angle.y; field_0x3194 = 3; @@ -3579,9 +3558,9 @@ int daAlink_c::procNotUseItemInit(int param_0) { dComIfGp_setPlayerStatus1(0, 0x4000800); if (checkLetterItem(param_0)) { - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; } else { - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; } return 1; } @@ -3596,7 +3575,7 @@ int daAlink_c::procNotUseItem() { mProcVar2.field_0x300c = 1; } - if (mProcVar3.field_0x300e.x != 0) { + if (mProcVar3.field_0x300e != 0) { daItemBase_c* item_partner_p = (daItemBase_c*)fopAcM_getItemEventPartner(this); #ifdef DEBUG if (item_partner_p != NULL && fopAcM_GetName(item_partner_p) != PROC_ITEM && @@ -3613,8 +3592,8 @@ int daAlink_c::procNotUseItem() { field_0x280c.setData(item_partner_p); item_partner_p->show(); - if (mProcVar3.field_0x300e.y == 0) { - mProcVar3.field_0x300e.y = 1; + if (mProcVar4.field_0x3010 == 0) { + mProcVar4.field_0x3010 = 1; seStartOnlyReverb(Z2SE_AL_OPEN_LETTER); } @@ -3628,7 +3607,7 @@ int daAlink_c::procNotUseItem() { } else if (checkAnmEnd(mUnderFrameCtrl)) { setSingleAnimeBase(ANM_TRADE_ITEM_WAIT); onModeFlg(0x100); - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; } else { setTradeItemOutHand(); } @@ -3815,7 +3794,7 @@ int daAlink_c::procMasterSwordPullInit() { setSingleAnimeBase(ANM_DEMO_MASTER_SWORD_PULL); voiceStart(Z2SE_AL_V_MSTR_SW_PULLOUT); - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; return 1; } @@ -3830,9 +3809,9 @@ int daAlink_c::procMasterSwordPull() { } else if (frame_ctrl->getFrame() >= 36.0f) { field_0x2f93 = 10; } else if (frame_ctrl->getFrame() >= 9.0f) { - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; } else if (frame_ctrl->getFrame() >= 1.0f) { - mProcVar3.field_0x300e.y = 4; + mProcVar4.field_0x3010 = 4; } return 1; @@ -3890,10 +3869,10 @@ int daAlink_c::procDungeonWarpInit() { } mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; setSpecialGravity(0.0f, maxFallSpeed, 0); - mProcVar3.field_0x300e.x = 0; - mProcVar3.field_0x300e.y = 0; + mProcVar3.field_0x300e = 0; + mProcVar4.field_0x3010 = 0; return 1; } @@ -3910,15 +3889,15 @@ int daAlink_c::procDungeonWarp() { f32 sin = cM_ssin(mProcVar2.field_0x300c); shape_angle.y += (s16)(14336.0f * sin); - mProcVar3.field_0x300e.x = 8.0f * sin + 24.0f * (1.0f - scale.x); + mProcVar3.field_0x300e = 8.0f * sin + 24.0f * (1.0f - scale.x); - if (mProcVar3.field_0x300e.z != 0) { + if (mProcVar5.field_0x3012 != 0) { return 1; } else { if (mProcVar2.field_0x300c == 0x4000) { - if (mProcVar3.field_0x300e.y == 0) { + if (mProcVar4.field_0x3010 == 0) { dComIfGp_particle_set(0xA61, ¤t.pos, &tevStr, NULL, NULL); - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; } cLib_addCalc(&scale.x, 0.0f, 0.5f, 0.4f, 0.005f); @@ -3936,7 +3915,7 @@ int daAlink_c::procDungeonWarp() { dMeter2Info_warpInProc(); } - mProcVar3.field_0x300e.z = 1; + mProcVar5.field_0x3012 = 1; } current.pos.y += 5.0f; field_0x2b98 = (1.0f - scale.y) * 100.0f; @@ -3966,8 +3945,8 @@ int daAlink_c::procDungeonWarpSceneStartInit() { } mProcVar2.field_0x300c = 0x4000; - mProcVar3.field_0x300e.x = 0x20; - mProcVar3.field_0x300e.y = 0; + mProcVar3.field_0x300e = 0x20; + mProcVar4.field_0x3010 = 0; current.pos.y += 120.0f; shape_angle.y += 0x7F7A; @@ -3980,8 +3959,8 @@ int daAlink_c::procDungeonWarpSceneStartInit() { /* 8011F460-8011F5D4 119DA0 0174+00 1/0 0/0 0/0 .text procDungeonWarpSceneStart__9daAlink_cFv */ int daAlink_c::procDungeonWarpSceneStart() { - if (mProcVar3.field_0x300e.y == 0) { - mProcVar3.field_0x300e.y = 1; + if (mProcVar4.field_0x3010 == 0) { + mProcVar4.field_0x3010 = 1; seStartOnlyReverb(Z2SE_TKC_WARP_OUT); } @@ -4007,7 +3986,7 @@ int daAlink_c::procDungeonWarpSceneStart() { f32 sin = cM_ssin(mProcVar2.field_0x300c); shape_angle.y += (s16)(sin * 14336.0f); - mProcVar3.field_0x300e.x = (sin * 8.0f) + ((1.0f - scale.x) * 24.0f); + mProcVar3.field_0x300e = (sin * 8.0f) + ((1.0f - scale.x) * 24.0f); return 1; } @@ -4069,7 +4048,7 @@ void daAlink_c::dungeonReturnWarp() { /* 8011F8B8-8011F9EC 11A1F8 0134+00 1/0 0/0 0/0 .text skipPortalObjWarp__9daAlink_cFv */ void daAlink_c::skipPortalObjWarp() { - if (mProcID == PROC_WARP && mProcVar3.field_0x300e.x <= 0) { + if (mProcID == PROC_WARP && mProcVar3.field_0x300e <= 0) { return; } @@ -4086,7 +4065,7 @@ void daAlink_c::skipPortalObjWarp() { } if (mProcID == PROC_WARP) { - mProcVar3.field_0x300e.x = -1; + mProcVar3.field_0x300e = -1; } } @@ -4163,9 +4142,9 @@ int daAlink_c::procCoWarpInit(int param_0, int param_1) { field_0x3478 = 0.0f; mProcVar2.field_0x300c = param_0; - mProcVar3.field_0x300e.z = 1; + mProcVar5.field_0x3012 = 1; mProcVar1.field_0x300a = 0; - mProcVar3.field_0x300e.y = 0xFF; + mProcVar4.field_0x3010 = 0xFF; field_0x3488 = 1.0f; if (mProcVar2.field_0x300c == 0) { @@ -4230,7 +4209,7 @@ int daAlink_c::procCoWarpInit(int param_0, int param_1) { if (checkWolf()) { field_0x3480 = 3.5f; - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; field_0x3488 = -1.0f; } else { field_0x3480 = 5.5f; @@ -4247,7 +4226,7 @@ int daAlink_c::procCoWarpInit(int param_0, int param_1) { kytag04_class* kytag04_p = (kytag04_class*)fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchPortal, ¤t.pos); if (kytag04_p != NULL) { - mProcVar3.field_0x300e.y = kytag04_p->mNeedDropNum; + mProcVar4.field_0x3010 = kytag04_p->mNeedDropNum; } } @@ -4255,7 +4234,7 @@ int daAlink_c::procCoWarpInit(int param_0, int param_1) { seStartOnlyReverb(var_r29); } - mProcVar3.field_0x300e.x = param_1; + mProcVar3.field_0x300e = param_1; warpModelTexScroll(); return 1; } @@ -4277,8 +4256,8 @@ int daAlink_c::procCoWarp() { } if (mDemo.getDemoMode() == 0x2D) { - if (mProcVar3.field_0x300e.z == 0) { - mProcVar3.field_0x300e.z = 1; + if (mProcVar5.field_0x3012 == 0) { + mProcVar5.field_0x3012 = 1; } if (checkWolf() && mProcVar2.field_0x300c != 0) { @@ -4292,12 +4271,12 @@ int daAlink_c::procCoWarp() { setEmitter(&field_0x3240[0], 0x9F3, ¤t.pos, &shape_angle); } - if (mProcVar3.field_0x300e.z != 0 && field_0x3488 < 0.0f) { + if (mProcVar5.field_0x3012 != 0 && field_0x3488 < 0.0f) { seStartOnlyReverb(Z2SE_WOLF_WARP_OUT); field_0x3488 = 1.0f; } - if (mProcVar3.field_0x300e.z != 0) { + if (mProcVar5.field_0x3012 != 0) { if (mProcVar0.field_0x3008 != 0) { mProcVar0.field_0x3008--; } else if (warpModelTexScroll()) { @@ -4305,7 +4284,7 @@ int daAlink_c::procCoWarp() { if (mDemo.getDemoMode() == 0x2D) { if (mProcVar1.field_0x300a != 0) { if (field_0x3174 == 4) { - dComIfGp_setNextStage(dComIfGp_getStartStageName(), mProcVar3.field_0x300e.y, + dComIfGp_setNextStage(dComIfGp_getStartStageName(), mProcVar4.field_0x3010, fopAcM_GetRoomNo(this), -1, 0.0f, 5, 1, 0, shape_angle.y, 1, 0); changeOriginalDemo(); @@ -4321,7 +4300,7 @@ int daAlink_c::procCoWarp() { } else { return checkWaitAction(); } - } else if (mProcVar3.field_0x300e.x != 0) { + } else if (mProcVar3.field_0x300e != 0) { skipPortalObjWarp(); } else { dComIfGp_evmng_cutEnd(field_0x3184); diff --git a/src/d/actor/d_a_alink_effect.inc b/src/d/actor/d_a_alink_effect.inc index aab3000f39d..5c000c55b89 100644 --- a/src/d/actor/d_a_alink_effect.inc +++ b/src/d/actor/d_a_alink_effect.inc @@ -6,6 +6,8 @@ #include "d/actor/d_a_alink.h" #include "d/d_com_inf_game.h" #include "d/d_k_wmark.h" +#include "JSystem/J2DGraph/J2DAnimation.h" +#include "JSystem/J2DGraph/J2DScreen.h" /* 80120580-80120634 11AEC0 00B4+00 21/21 0/0 0/0 .text * setEmitter__9daAlink_cFPUlUsPC4cXyzPC5csXyz */ @@ -407,7 +409,7 @@ void daAlink_blur_c::traceBlur(cXyz const* param_0, cXyz const* param_1, s16 par static u8 texObj[32]; /* 804506A4-804506A8 000124 0004+00 1/1 0/0 0/0 .sdata nColor0$42525 */ -SECTION_SDATA static u8 nColor0[4] = { +static u8 nColor0[4] = { 0xFF, 0xFF, 0xFF, diff --git a/src/d/actor/d_a_alink_grab.inc b/src/d/actor/d_a_alink_grab.inc index ef32b931904..77906374160 100644 --- a/src/d/actor/d_a_alink_grab.inc +++ b/src/d/actor/d_a_alink_grab.inc @@ -1,5 +1,8 @@ #include "d/actor/d_a_alink.h" #include "d/d_com_inf_game.h" +#include "d/actor/d_a_obj_carry.h" +#include "d/d_bg_w.h" +#include "d/actor/d_a_cow.h" /* 800E3830-800E3858 0DE170 0028+00 2/2 0/0 0/0 .text daAlink_checkLightBallA__FP10fopAc_ac_c */ static bool daAlink_checkLightBallA(fopAc_ac_c* p_actor) { @@ -557,10 +560,10 @@ int daAlink_c::setPushPullKeepData(dBgW_Base::PushPullLabel i_label, int param_1 if (i_label != dBgW::PPLABEL_NONE || param_1) { if (pp_actor->shape_angle.y != mProcVar2.field_0x300c) { s16 var_r28 = pp_actor->shape_angle.y - mProcVar2.field_0x300c; - mProcVar3.field_0x300e.x += var_r28; + mProcVar3.field_0x300e += var_r28; - current.pos.x = field_0x37c8.x + field_0x347c * cM_ssin(mProcVar3.field_0x300e.x); - current.pos.z = field_0x37c8.z + field_0x347c * cM_scos(mProcVar3.field_0x300e.x); + current.pos.x = field_0x37c8.x + field_0x347c * cM_ssin(mProcVar3.field_0x300e); + current.pos.z = field_0x37c8.z + field_0x347c * cM_scos(mProcVar3.field_0x300e); shape_angle.y += var_r28; current.angle.y += var_r28; } @@ -672,8 +675,8 @@ static fopAc_ac_c* daAlink_searchGoat(fopAc_ac_c* i_actor, void*) { /* 800E91C4-800E9210 0E3B04 004C+00 1/0 0/0 0/0 .text cancelGoronThrowEvent__9daAlink_cFv */ void daAlink_c::cancelGoronThrowEvent() { - if (mProcID == PROC_GOAT_CATCH && mProcVar3.field_0x300e.z == 0) { - mProcVar3.field_0x300e.z = 1; + if (mProcID == PROC_GOAT_CATCH && mProcVar5.field_0x3012 == 0) { + mProcVar5.field_0x3012 = 1; dComIfGp_event_reset(); } } @@ -708,7 +711,7 @@ int daAlink_c::procGoatMoveInit() { field_0x280c.setData(goat_p); } - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; deleteEquipItem(FALSE, FALSE); return 1; } @@ -789,7 +792,7 @@ int daAlink_c::procGoronMoveInit() { field_0x594 = daAlinkHIO_atnMove_c0::m.mMaxSpeed; setSingleAnimeBase(ANM_ATN_RIGHT); mProcVar2.field_0x300c = 1; - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; return 1; } diff --git a/src/d/actor/d_a_alink_guard.inc b/src/d/actor/d_a_alink_guard.inc index 1808575ac3c..da96d37b4e8 100644 --- a/src/d/actor/d_a_alink_guard.inc +++ b/src/d/actor/d_a_alink_guard.inc @@ -246,7 +246,7 @@ void daAlink_c::setGuardSe(dCcD_GObjInf* i_objinf) { } /* 800DD1D4-800DD3E4 0D7B14 0210+00 1/1 0/0 0/0 .text setSmallGuard__9daAlink_cFP12dCcD_GObjInf */ -#ifdef NONMATCHING +// NONMATCHING void daAlink_c::setSmallGuard(dCcD_GObjInf* i_objinf) { setUpperAnimeBase(0x16); cXyz* dmg_vec = (cXyz*)getDamageVec(i_objinf); @@ -264,11 +264,6 @@ void daAlink_c::setSmallGuard(dCcD_GObjInf* i_objinf) { s16 min = -max; mBodyAngle.x = cLib_minMaxLimit(cM_atan2s(dmg_vec->y, dmg_vec->absXZ()), min, max); } -#else -void daAlink_c::setSmallGuard(dCcD_GObjInf* param_0) { - // NONMATCHING -} -#endif /* 800DD3E4-800DD894 0D7D24 04B0+00 1/1 0/0 0/0 .text * procGuardSlipInit__9daAlink_cFiP12dCcD_GObjInf */ diff --git a/src/d/actor/d_a_alink_hang.inc b/src/d/actor/d_a_alink_hang.inc index 16a17798978..fc2518b0fa9 100644 --- a/src/d/actor/d_a_alink_hang.inc +++ b/src/d/actor/d_a_alink_hang.inc @@ -1013,10 +1013,10 @@ int daAlink_c::procBossBodyHangInit(fopAc_ac_c* param_0) { speed.y = 0.0f; mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.x = 0; - mProcVar3.field_0x300e.y = 0; + mProcVar3.field_0x300e = 0; + mProcVar4.field_0x3010 = 0; mProcVar0.field_0x3008 = 0; - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; field_0x3080 = 0; field_0x280c.setData(param_0); @@ -1034,9 +1034,9 @@ int daAlink_c::procBossBodyHang() { setJumpMode(); } - if (mProcVar3.field_0x300e.x != 0 || !setBossBodyHangPos()) { + if (mProcVar3.field_0x300e != 0 || !setBossBodyHangPos()) { if (field_0x32cc != 0) { - if (mProcVar3.field_0x300e.x < 0) { + if (mProcVar3.field_0x300e < 0) { return procBackJumpInit(0); } else { field_0x3102 = shape_angle.y; @@ -1084,9 +1084,9 @@ int daAlink_c::procBossBodyHang() { mProcVar2.field_0x300c = 0; if (mEquipItem == 0x103) { - mProcVar3.field_0x300e.y = 2; + mProcVar4.field_0x3010 = 2; } else { - mProcVar3.field_0x300e.y = 0xFE; + mProcVar4.field_0x3010 = 0xFE; } } @@ -1105,16 +1105,16 @@ int daAlink_c::procBossBodyHang() { } field_0x3198 = 0x16E; - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; field_0x3478 = 10000.0f; field_0x347c = 61.0f; setCutType(CUT_TYPE_FINISH_STAB); mProcVar1.field_0x300a = 3; } else { setCutType(CUT_TYPE_NM_STAB); - mProcVar3.field_0x300e.z++; + mProcVar5.field_0x3012++; - if (mProcVar3.field_0x300e.z == 4) { + if (mProcVar5.field_0x3012 == 4) { if (field_0x32cc != 0) { setSingleAnimeBase(ANM_DRAGON_CUT_B); } else { @@ -1124,7 +1124,7 @@ int daAlink_c::procBossBodyHang() { field_0x3198 = 0x16D; field_0x3478 = 10000.0f; field_0x347c = 12.0f; - mProcVar3.field_0x300e.y = 2; + mProcVar4.field_0x3010 = 2; mProcVar1.field_0x300a = 3; } else { if (field_0x32cc != 0) { @@ -1136,7 +1136,7 @@ int daAlink_c::procBossBodyHang() { field_0x3198 = 0x16C; field_0x3478 = daAlinkHIO_cut_c0::m.mStabAnm.mCheckFrame; field_0x347c = 10.0f; - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; mProcVar1.field_0x300a = 1; } } @@ -1174,11 +1174,11 @@ int daAlink_c::procBossBodyHang() { } if (frameCtrl->getFrame() >= 117.0f) { - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; } else if (frameCtrl->getFrame() >= 105.0f) { - mProcVar3.field_0x300e.y = 0xFE; + mProcVar4.field_0x3010 = 0xFE; } else { - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; } } } @@ -1404,7 +1404,7 @@ int daAlink_c::procLadderUpStartInit() { field_0x37c8.z = field_0x34ec.z + var_f30 * 38.0f; mProcVar2.field_0x300c = 1; - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; return 1; } @@ -1443,7 +1443,7 @@ int daAlink_c::procLadderUpEndInit(int param_0) { field_0x30a0 = -0x0800; field_0x33f4 = -1.0f; mProcVar2.field_0x300c = 1; - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; dComIfGp_setPlayerStatus0(0, 0x2000000); return 1; } @@ -1463,7 +1463,7 @@ int daAlink_c::procLadderUpEnd() { { if (frame_ctrl->getFrame() >= 23.0f) { mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; } else if (frame_ctrl->getFrame() >= 11.0f) { field_0x30a0 = 0; field_0x33f4 = 0.0f; @@ -1514,7 +1514,7 @@ int daAlink_c::procLadderDownStartInit() { field_0x37c8.z = field_0x34ec.z - var_f30 * 48.0f; mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; return 1; } @@ -1535,7 +1535,7 @@ int daAlink_c::procLadderDownStart() { } } else if (frame_ctrl->getFrame() >= 19.0f) { mProcVar2.field_0x300c = 1; - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; } return 1; @@ -1555,7 +1555,7 @@ int daAlink_c::procLadderDownEndInit(int param_0) { field_0x30a0 = 0x2800; field_0x33f4 = 1.0f; mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; dComIfGp_setPlayerStatus0(0, 0x2000000); return 1; } @@ -1645,7 +1645,7 @@ int daAlink_c::procLadderMoveInit(int param_0, int param_1, cXyz* param_2) { mNormalSpeed = 0.0f; speedF = 0.0f; mProcVar2.field_0x300c = 1; - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; dComIfGp_setPlayerStatus0(0, 0x2000000); return 1; } @@ -2161,7 +2161,7 @@ int daAlink_c::procClimbUpStartInit(int param_0) { } field_0x2f99 = 2; - mProcVar3.field_0x300e.z = 1; + mProcVar5.field_0x3012 = 1; field_0x37c8.set(l_waitBaseAnime.x, l_ladderAnmBaseTransY, l_waitBaseAnime.z); J3DTransformInfo* trans_info = field_0x2060->getOldFrameTransInfo(0); @@ -2181,7 +2181,7 @@ int daAlink_c::procClimbUpStartInit(int param_0) { shape_angle.y = field_0x306e + 0x8000; current.angle.y = shape_angle.y; mProcVar2.field_0x300c = 1; - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; setClimbShapeOffset(); return 1; } @@ -2196,7 +2196,7 @@ int daAlink_c::procClimbUpStart() { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; field_0x2f99 = 2; - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; field_0x3588 = (field_0x3588 * field_0x2060->getOldFrameRate()) + (field_0x37c8 * (1.0f - field_0x2060->getOldFrameRate())); @@ -2244,8 +2244,8 @@ int daAlink_c::procClimbDownStartInit(s16 param_0) { field_0x3588 = l_waitBaseAnime; field_0x33b0 = l_ladderAnmBaseTransY; mProcVar2.field_0x300c = 1; - mProcVar3.field_0x300e.y = 0; - mProcVar3.field_0x300e.x = 0; + mProcVar4.field_0x3010 = 0; + mProcVar3.field_0x300e = 0; return 1; } @@ -2258,11 +2258,11 @@ int daAlink_c::procClimbDownStart() { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; - if (mProcVar3.field_0x300e.x != 0) { + if (mProcVar3.field_0x300e != 0) { field_0x2f99 = 2; } else { field_0x2f99 = 0x50; - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; } if (field_0x33a8 < 0.2f) { @@ -2334,7 +2334,7 @@ int daAlink_c::procClimbMoveUpDownInit(int param_0) { mNormalSpeed = 0.0f; speedF = 0.0f; mProcVar2.field_0x300c = 1; - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; voiceStart(Z2SE_AL_V_CLIMB_WALL); dComIfGp_setPlayerStatus0(0, 8); @@ -2421,7 +2421,7 @@ int daAlink_c::procClimbMoveSideInit() { speed.y = 0.0f; mNormalSpeed = 0.0f; mProcVar2.field_0x300c = 1; - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; field_0x3478 = M_PI / (f32)mUnderFrameCtrl[0].getEnd(); field_0x347c = current.pos.y + 150.0f; @@ -2498,7 +2498,7 @@ int daAlink_c::procClimbWaitInit(int param_0, int param_1) { field_0x2f99 = 10; mProcVar2.field_0x300c = 1; - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; if (param_0) { if (field_0x2f98 == 0) { @@ -2771,8 +2771,33 @@ int daAlink_c::procRoofHangStart() { /* 80100BB4-80100D38 0FB4F4 0184+00 4/4 0/0 0/0 .text procRoofHangWaitInit__9daAlink_cFi */ int daAlink_c::procRoofHangWaitInit(int param_0) { - // NONMATCHING - return 0; + if (!commonProcInitNotSameProc(PROC_ROOF_HANG_WAIT)) { + return 0; + } + + if (field_0x2f98 == 0 || field_0x2f98 == 1) { + if (field_0x2f98 == 0) { + current.pos.x += 25.0f * cM_ssin(this->shape_angle.y); + current.pos.z += 25.0f * cM_scos(this->shape_angle.y); + + field_0x2060->getOldFrameTransInfo(0)->mTranslate.z -= 25.0f; + } else { + current.pos.x -= 25.0f * cM_ssin(this->shape_angle.y); + current.pos.z -= 25.0f * cM_scos(this->shape_angle.y); + + field_0x2060->getOldFrameTransInfo(0)->mTranslate.z += 25.0f; + } + } + + setSingleAnimeBaseSpeed(ANM_ROOF_HANG_WAIT, daAlinkHIO_roofHang_c0::m.field_0x1C, daAlinkHIO_roofHang_c0::m.field_0x20); + + current.angle.y = shape_angle.y; + setSpecialGravity(0.0f, maxFallSpeed, 0); + mNormalSpeed = 0.0f; + speed.y = 0.0f; + dComIfGp_setPlayerStatus1(0, 0x100000); + mProcVar0.field_0x3008 = param_0; + return 1; } /* 80100D38-80100DA4 0FB678 006C+00 1/0 0/0 0/0 .text procRoofHangWait__9daAlink_cFv */ diff --git a/src/d/actor/d_a_alink_hook.inc b/src/d/actor/d_a_alink_hook.inc index 000ec63031d..719b7c4abcf 100644 --- a/src/d/actor/d_a_alink_hook.inc +++ b/src/d/actor/d_a_alink_hook.inc @@ -3,7 +3,11 @@ * Player Clawshot action handling */ +#include "d/actor/d_a_alink.h" #include "d/actor/d_a_b_dr.h" +#include "d/actor/d_a_obj_swhang.h" +#include "d/actor/d_a_obj_chandelier.h" +#include "JSystem/J3DGraphBase/J3DMaterial.h" enum { HS_MODE_NONE_e, @@ -14,9 +18,195 @@ enum { }; /* 80107900-801083C8 102240 0AC8+00 1/0 0/0 0/0 .text draw__Q29daAlink_c14hsChainShape_cFv */ -extern "C" void draw__Q29daAlink_c14hsChainShape_cFv() { - // asm void daAlink_c::hsChainShape_c::draw() { - // NONMATCHING +void daAlink_c::hsChainShape_c::draw() { + daAlink_c* temp_r3 = (daAlink_c*)getUserArea(); + J3DModelData* sp60 = temp_r3->getItemModelData(); + J3DMaterial* sp5C = sp60->getMaterialNodePointer(0); + daAlink_hsChainLight_c* temp_r29 = (daAlink_hsChainLight_c*)&temp_r3->tevStr; + + j3dSys.setVtxPos(sp60->getVtxPosArray()); + j3dSys.setVtxNrm(sp60->getVtxNrmArray()); + j3dSys.setVtxCol(sp60->getVtxColorArray(0)); + J3DShape::resetVcdVatCache(); + + sp5C->loadSharedDL(); + sp5C->getShape()->loadPreDrawSetting(); + + GXColor sp58; + sp58.r = temp_r29->mColorC0.r; + sp58.g = temp_r29->mColorC0.g; + sp58.b = temp_r29->mColorC0.b; + sp58.a = temp_r29->mColorC0.a; + + GXSetChanAmbColor(GX_COLOR0A0, sp58); + GXSetChanMatColor(GX_COLOR0A0, g_whiteColor); + + dKy_setLight_again(); + dKy_GxFog_tevstr_set(temp_r29); + GXLoadLightObjImm(temp_r29->getLightObj(), GX_LIGHT0); + + if (temp_r3->checkIronBallEquip()) { + cXyz* sp54 = temp_r3->getIronBallChainPos(); + csXyz* sp50 = temp_r3->getIronBallChainAngle(); + sp54++; + sp50++; + + for (int i = 0; i < 101; i++, sp54++, sp50++) { + mDoMtx_stack_c::copy(j3dSys.getViewMtx()); + mDoMtx_stack_c::transM(*sp54); + mDoMtx_stack_c::ZXYrotM(*sp50); + mDoMtx_stack_c::scaleM(2.0f, 2.0f, 2.0f); + + GXLoadPosMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0); + GXLoadNrmMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0); + + sp5C->getShape()->simpleDrawCache(); + } + + cXyz spC8; + cXyz spBC; + + for (int i = 0; i < 2; i++) { + cXyz* sp48; + csXyz* sp44; + + s16 sp14; + s16 sp12; + s16 sp10; + s16 spE; + + if (i == 0) { + sp48 = temp_r3->getIronBallChainPos() + temp_r3->getIronBallHandChainNum(); + spC8 = temp_r3->getIronBallChainHandRootPos() - *sp48; + + sp44 = temp_r3->getIronBallChainAngle() + temp_r3->getIronBallHandChainNum(); + spE = 0x3000; + } else { + sp48 = temp_r3->getIronBallChainPos(); + mDoMtx_stack_c::transS(*(temp_r3->getIronBallChainPos() + 1)); + mDoMtx_stack_c::ZXYrotM(*(temp_r3->getIronBallChainAngle() + 1)); + mDoMtx_stack_c::multVec(&l_ironBallChainVec, &spC8); + spC8 -= *sp48; + + sp44 = temp_r3->getIronBallChainAngle() + 1; + spE = -0x3000; + } + + sp10 = sp44->y; + sp14 = sp44->z + spE; + f32 var_f29 = spC8.abs(); + + spBC = *sp48; + + if (var_f29 > 5.0f) { + if (spC8.absXZ() >= 1.0f) { + sp10 = spC8.atan2sX_Z(); + } + + sp12 = spC8.atan2sY_XZ(); + cXyz spB0 = spC8 * (10.0f / var_f29); + + while (var_f29 > 5.0f) { + mDoMtx_stack_c::copy(j3dSys.getViewMtx()); + mDoMtx_stack_c::transM(spBC); + mDoMtx_stack_c::ZXYrotM(sp12, sp10, sp14); + mDoMtx_stack_c::scaleM(2.0f, 2.0f, 2.0f); + + GXLoadPosMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0); + GXLoadNrmMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0); + + sp5C->getShape()->simpleDrawCache(); + + spBC += spB0; + var_f29 -= 10.0f; + sp14 += spE; + } + } + } + } else { + const cXyz& sp3C = temp_r3->getHsChainRootPos(); + const cXyz& sp38 = temp_r3->getHsChainTopPos(); + cXyz spA4 = sp3C - sp38; + + f32 temp_f31 = spA4.abs(); + f32 var_f30; + cXyz sp98; + csXyz sp6C; + + if (temp_f31 > 1.0f) { + spA4 *= (1.0f / temp_f31); + var_f30 = 0.0f; + + sp98 = sp38; + sp6C.set(spA4.atan2sY_XZ(), spA4.atan2sX_Z(), 0); + sp98 = sp38; + + csXyz sp64(sp6C); + + f32 sp34 = M_PI / temp_f31; + + f32 temp_f27; + f32 var_f26 = 0.0f; + f32 var_f28; + + var_f28 = 2.5f * temp_r3->getHookshotStopTime(); + if (temp_r3->getHookshotStopTime() & 1) { + var_f28 *= -1.0f; + } + + while (temp_f31 > var_f30) { + temp_f27 = var_f28 * cM_fsin(sp34 * var_f30); + s16 spC = cM_atan2s(temp_f27 - var_f26, 5.0f); + sp64.x = sp6C.x + spC; + + mDoMtx_stack_c::transS(sp98); + mDoMtx_stack_c::ZXYrotM(sp64); + + static Vec hsVec = {0.0f, 0.0f, 5.0f}; + mDoMtx_stack_c::multVec(&hsVec, &sp98); + + mDoMtx_stack_c::revConcat(j3dSys.getViewMtx()); + + GXLoadPosMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0); + GXLoadNrmMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0); + + sp5C->getShape()->simpleDrawCache(); + + sp64.z += 0x3000; + + var_f26 = temp_f27; + var_f30 += fabsf(cM_scos(spC)) * 5.0f; + } + } + + const cXyz& sp30 = temp_r3->getHsSubChainRootPos(); + const cXyz& sp2C = temp_r3->getHsSubChainTopPos(); + spA4 = sp30 - sp2C; + + f32 temp_f1 = spA4.abs(); + if (temp_f1 > 1.0f) { + spA4 *= (1.0f / temp_f1); + var_f30 = 0.0f; + + sp98 = sp2C; + sp6C.set(spA4.atan2sY_XZ(), spA4.atan2sX_Z(), 0); + + while (temp_f1 > var_f30) { + mDoMtx_stack_c::copy(j3dSys.getViewMtx()); + mDoMtx_stack_c::transM(sp98); + mDoMtx_stack_c::ZXYrotM(sp6C); + + GXLoadPosMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0); + GXLoadNrmMtxImm(mDoMtx_stack_c::get(), GX_PNMTX0); + + sp5C->getShape()->simpleDrawCache(); + + sp98 += spA4 * 5.0f; + sp6C.z += 0x3000; + var_f30 += 5.0f; + } + } + } } /* 801083C8-8010859C 102D08 01D4+00 1/1 0/0 0/0 .text @@ -46,7 +236,6 @@ void daAlink_c::hookshotAtHitCallBack(dCcD_GObjInf* i_atObjInf, fopAc_ac_c* i_tg } } - /* 8010859C-801085BC 102EDC 0020+00 1/1 0/0 0/0 .text * daAlink_hookshotAtHitCallBack__FP10fopAc_ac_cP12dCcD_GObjInfP10fopAc_ac_cP12dCcD_GObjInf */ static void daAlink_hookshotAtHitCallBack(fopAc_ac_c* i_atActor, dCcD_GObjInf* i_atObjInf, @@ -228,7 +417,7 @@ void daAlink_c::setHookshotModel() { field_0x0710 = initModel(mHeldItemModel->getModelData(), 0x80000, 0); field_0x0714 = initModel(mpHookTipModel->getModelData(), 0x80000, 0); - mpHookKusariModelData = loadAramBmd(0x317, 0x1000); + mpItemModelData = loadAramBmd(0x317, 0x1000); mpHookChain = new hsChainShape_c(); mpHookSound = new Z2SoundObjSimple(); @@ -546,7 +735,6 @@ int daAlink_c::checkNextActionHookshot() { /* 801097A0-80109890 1040E0 00F0+00 2/2 0/0 0/0 .text setHookshotReturnEnd__9daAlink_cFv */ -#ifdef NONMATCHING void daAlink_c::setHookshotReturnEnd() { resetHookshotMode(); cancelItemUseQuake(0); @@ -563,17 +751,58 @@ void daAlink_c::setHookshotReturnEnd() { mFastShotTime = 0; } -#else -void daAlink_c::setHookshotReturnEnd() { - // NONMATCHING -} -#endif /* 80109890-80109AAC 1041D0 021C+00 3/3 0/0 0/0 .text setHookshotHangMoveBGCollect__9daAlink_cFv */ int daAlink_c::setHookshotHangMoveBGCollect() { - // NONMATCHING - return 0; + cBgS_PolyInfo* poly; + if (mItemMode == 4) { + poly = &mPolyInfo3; + } else { + poly = &mPolyInfo2; + } + + fopAc_ac_c* carry_actor = mCargoCarryAcKeep.getActor(); + + if (carry_actor != NULL) { + cXyz sp28(mIronBallBgChkPos); + mDoMtx_stack_c::transS(carry_actor->current.pos); + mDoMtx_stack_c::ZXYrotM(carry_actor->shape_angle); + mDoMtx_stack_c::multVec(&field_0x37c8, &mIronBallBgChkPos); + + current.pos += mIronBallBgChkPos - sp28; + shape_angle.y += (s16)(mProcVar0.field_0x3008 - carry_actor->shape_angle.y); + current.angle.y = shape_angle.y; + mProcVar0.field_0x3008 = carry_actor->shape_angle.y; + } else if (dComIfG_Bgsp().ChkPolySafe(*poly)) { + if (!checkHookshotStickBG(*poly)) { + return 0; + } + + if (dComIfG_Bgsp().ChkMoveBG(*poly)) { + dComIfG_Bgsp().MoveBgTransPos(*poly, 1, ¤t.pos, ¤t.angle, &shape_angle); + + csXyz sp8(0, field_0x3022, 0); + dComIfG_Bgsp().MoveBgTransPos(*poly, 1, &mIronBallBgChkPos, NULL, &sp8); + field_0x3022 = sp8.y; + + s16 movebg_name = getMoveBGActorName(*poly, 1); + if (movebg_name == PROC_Obj_SwHang) { + daObjSwHang_c* var_r26 = (daObjSwHang_c*)dComIfG_Bgsp().GetActorPointer(*poly); + var_r26->setHangPlayer(); + + f32 prev_y = mIronBallBgChkPos.y; + mIronBallBgChkPos.y = var_r26->getHangPos().y; + current.pos.y += mIronBallBgChkPos.y - prev_y; + } else if (movebg_name == PROC_Obj_Chandelier) { + ((daObjChandelier_c*)dComIfG_Bgsp().GetActorPointer(*poly))->moveHookOn(); + } + } + } else { + return 0; + } + + return 1; } /* 80109AAC-80109BDC 1043EC 0130+00 2/2 0/0 0/0 .text setHookshotTopPosFly__9daAlink_cFv @@ -612,8 +841,7 @@ static u8 lit_29722[12]; static Vec l_hookSnowSandHitScale; /* 80109BDC-8010B2DC 10451C 1700+00 1/1 0/0 0/0 .text setHookshotPos__9daAlink_cFv */ -// almost, just stack order -#ifdef NONMATCHING +// NONMATCHING - almost, just cXyz stack order void daAlink_c::setHookshotPos() { mDoMtx_stack_c::copy(mpLinkModel->getAnmMtx(field_0x30c0)); mDoMtx_stack_c::transM(-2.0f, 1.0f, 1.0f); @@ -744,13 +972,13 @@ void daAlink_c::setHookshotPos() { if (checkHookshotWait() || mItemMode == 2) { csXyz* var_r28; if (mProcID == PROC_HOOKSHOT_WALL_SHOOT || mProcID == PROC_HOOKSHOT_ROOF_SHOOT) { - var_r28 = &mProcVar3.field_0x300e.x; + var_r28 = (csXyz*)&mProcVar3.field_0x300e; } else { var_r28 = &mBodyAngle; } if (mProcID == PROC_HOOKSHOT_WALL_SHOOT) { - field_0x301e = mProcVar3.field_0x300e.y; + field_0x301e = mProcVar4.field_0x3010; } else { field_0x301e = (s16)(shape_angle.y + mBodyAngle.y); } @@ -807,12 +1035,12 @@ void daAlink_c::setHookshotPos() { mHookshotTopPos = field_0x381c; fopAc_ac_c* targetAc_p = mHookTargetAcKeep.getActor(); - if (targetAc_p != NULL && (targetAc_p->mStatus & 0x280000)) { + if (targetAc_p != NULL && (targetAc_p->actor_status & 0x280000)) { mHookTargetAcKeep.setData(targetAc_p); mIronBallCenterPos = mHookshotTopPos - targetAc_p->current.pos; setHookshotCatchNow(); - if (targetAc_p->mStatus & 0x200000) { + if (targetAc_p->actor_status & 0x200000) { mItemMode = 5; field_0x316c.set(field_0x301c, field_0x301e, 0); mDoMtx_stack_c::ZrotS(-targetAc_p->shape_angle.z); @@ -1003,11 +1231,6 @@ void daAlink_c::setHookshotPos() { field_0x0714->setBaseTRMtx(mDoMtx_stack_c::get()); field_0x0714->calc(); } -#else -void daAlink_c::setHookshotPos() { - // NONMATCHING -} -#endif /* 8010B2DC-8010B35C 105C1C 0080+00 2/2 0/0 0/0 .text setHookshotRoofWaitAnime__9daAlink_cFv */ void daAlink_c::setHookshotRoofWaitAnime() { @@ -1124,10 +1347,10 @@ void daAlink_c::initHookshotRoofWaitActor(fopAc_ac_c* i_actor) { mProcVar0.field_0x3008 = i_actor->shape_angle.y; fopAcM_setHookCarryNow(i_actor); - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; } else { mCargoCarryAcKeep.clearData(); - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; } } @@ -1184,7 +1407,7 @@ int daAlink_c::checkLandHookshotHang() { /* 8010B96C-8010BA6C 1062AC 0100+00 3/3 0/0 0/0 .text commonHookshotRoofWait__9daAlink_cFv */ int daAlink_c::commonHookshotRoofWait() { setJumpMode(); - if (mProcVar3.field_0x300e.y != 0) { + if (mProcVar4.field_0x3010 != 0) { mCargoCarryAcKeep.setActor(); fopAc_ac_c* carryAc_p = mCargoCarryAcKeep.getActor(); @@ -1349,7 +1572,7 @@ int daAlink_c::procHookshotFlyInit() { mProcVar1.field_0x300a = 4; field_0x2f99 = 0x50; mProcVar2.field_0x300c = mItemMode; - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; procHookshotFly(); return 1; @@ -1400,9 +1623,9 @@ int daAlink_c::procHookshotFly() { current.pos += field_0x37d4; if (checkSetItemTrigger(W_HOOKSHOT) != 0) { - mProcVar3.field_0x300e.z = 1; - } else if (mProcVar3.field_0x300e.z != 0 && !itemButton()) { - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 1; + } else if (mProcVar5.field_0x3012 != 0 && !itemButton()) { + mProcVar5.field_0x3012 = 0; } if (mItemMode != 5 && mItemMode != HS_MODE_FLY_e) { @@ -1463,7 +1686,7 @@ int daAlink_c::procHookshotFly() { procFallInit(1, 5.0f); field_0x2f99 = 0x70; } else if (targetAc_name == PROC_E_PH || targetAc_name == PROC_B_DR || var_r29) { - procHookshotRoofWaitInit(1, targetAc_p, mProcVar3.field_0x300e.z); + procHookshotRoofWaitInit(1, targetAc_p, mProcVar5.field_0x3012); } else if (var_r28 && dComIfG_Bgsp().GetMonkeyBarsCode(mPolyInfo2)) { cXyz sp88; mDoMtx_stack_c::ZXYrotS(field_0x301c, field_0x301e, 0); @@ -1472,9 +1695,9 @@ int daAlink_c::procHookshotFly() { procRoofHangStartInit(mPolyInfo2, sp88, 0); } else if (var_r28 && var_r27) { - procHookshotRoofWaitInit(1, NULL, mProcVar3.field_0x300e.z); + procHookshotRoofWaitInit(1, NULL, mProcVar5.field_0x3012); } else if (var_r28 && field_0x2f91 != 3 && fabsf(poly.mNormal.y) < 0.05f) { - procHookshotWallWaitInit(1, poly.mNormal.atan2sX_Z(), mProcVar3.field_0x300e.z); + procHookshotWallWaitInit(1, poly.mNormal.atan2sX_Z(), mProcVar5.field_0x3012); } else { procFallInit(1, 5.0f); field_0x2f99 = 0x70; @@ -1542,7 +1765,7 @@ int daAlink_c::procHookshotRoofWaitInit(int param_0, fopAc_ac_c* param_1, int pa } field_0x2b98 = 6.5f; - mProcVar3.field_0x300e.z = param_2; + mProcVar5.field_0x3012 = param_2; dComIfGp_setPlayerStatus1(0, 0x10000); field_0x814.SetWeight(255); @@ -1589,21 +1812,21 @@ int daAlink_c::procHookshotRoofWait() { if (mProcVar2.field_0x300c == 0) { if (checkSetItemTrigger(W_HOOKSHOT)) { - mProcVar3.field_0x300e.z = 1; - } else if (mProcVar3.field_0x300e.z != 0 && !itemButton()) { - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 1; + } else if (mProcVar5.field_0x3012 != 0 && !itemButton()) { + mProcVar5.field_0x3012 = 0; } daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; if (frameCtrl_p->checkAnmEnd() || - ((checkInputOnR() || mProcVar3.field_0x300e.z != 0 || checkHookshotRoofLv7Boss()) && + ((checkInputOnR() || mProcVar5.field_0x3012 != 0 || checkHookshotRoofLv7Boss()) && frameCtrl_p->getFrame() > daAlinkHIO_hookshot_c0::m.mRoofHangAnm.mCheckFrame)) { setHookshotRoofWaitAnime(); mProcVar2.field_0x300c = 1; } } else if (!checkHookshotRoofLv7Boss()) { - if (checkSetItemTrigger(W_HOOKSHOT) || mProcVar3.field_0x300e.z != 0) { + if (checkSetItemTrigger(W_HOOKSHOT) || mProcVar5.field_0x3012 != 0) { return procHookshotRoofShootInit(mCargoCarryAcKeep.getActor()); } hookshotRoofTurn(); @@ -1640,7 +1863,7 @@ int daAlink_c::procHookshotRoofShootInit(fopAc_ac_c* param_0) { field_0x814.SetWeight(255); mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.x = mBodyAngle.x; + mProcVar3.field_0x300e = mBodyAngle.x; return 1; } @@ -1668,7 +1891,7 @@ int daAlink_c::procHookshotRoofShoot() { } if (!checkUpperItemActionHookshot()) { - mBodyAngle.x = mProcVar3.field_0x300e.x; + mBodyAngle.x = mProcVar3.field_0x300e; if (!checkAttentionLock() && mFastShotTime == 0) { if (checkHookshotWait()) { @@ -1703,7 +1926,7 @@ int daAlink_c::procHookshotRoofShoot() { mProcVar2.field_0x300c = 0; } - mProcVar3.field_0x300e.x = mBodyAngle.x; + mProcVar3.field_0x300e = mBodyAngle.x; mBodyAngle.x = 0; } @@ -1817,7 +2040,7 @@ int daAlink_c::procHookshotWallWaitInit(int param_0, s16 param_1, int param_2) { setHookshotHangMoveBGCollect(); } - mProcVar3.field_0x300e.z = param_2; + mProcVar5.field_0x3012 = param_2; return 1; } @@ -1866,20 +2089,20 @@ int daAlink_c::procHookshotWallWait() { if (mProcVar2.field_0x300c == 0) { if (checkSetItemTrigger(W_HOOKSHOT)) { - mProcVar3.field_0x300e.z = 1; - } else if (mProcVar3.field_0x300e.z != 0 && !itemButton()) { - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 1; + } else if (mProcVar5.field_0x3012 != 0 && !itemButton()) { + mProcVar5.field_0x3012 = 0; } daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; if (frameCtrl_p->checkAnmEnd() || - ((checkInputOnR() || mProcVar3.field_0x300e.z != 0) && + ((checkInputOnR() || mProcVar5.field_0x3012 != 0) && frameCtrl_p->getFrame() > daAlinkHIO_hookshot_c0::m.mWallHangAnm.mCheckFrame)) { setHookshotWallWaitAnime(); mProcVar2.field_0x300c = 1; } - } else if (checkSetItemTrigger(W_HOOKSHOT) || mProcVar3.field_0x300e.z != 0) { + } else if (checkSetItemTrigger(W_HOOKSHOT) || mProcVar5.field_0x3012 != 0) { return procHookshotWallShootInit(); } @@ -1909,9 +2132,9 @@ int daAlink_c::procHookshotWallShootInit() { dComIfGp_setPlayerStatus0(0, 0x4000); mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.x = mBodyAngle.x; - mProcVar3.field_0x300e.y = shape_angle.y; - field_0x310c = mProcVar3.field_0x300e.y; + mProcVar3.field_0x300e = mBodyAngle.x; + mProcVar4.field_0x3010 = shape_angle.y; + field_0x310c = mProcVar4.field_0x3010; setHookshotReadyMaterial(); return 1; } @@ -1938,8 +2161,8 @@ int daAlink_c::procHookshotWallShoot() { BOOL var_r31 = false; if (!checkUpperItemActionHookshot()) { s16 old_angle = shape_angle.y; - mBodyAngle.x = mProcVar3.field_0x300e.x; - shape_angle.y = mProcVar3.field_0x300e.y; + mBodyAngle.x = mProcVar3.field_0x300e; + shape_angle.y = mProcVar4.field_0x3010; if (!checkAttentionLock() && mFastShotTime == 0) { if (checkHookshotWait()) { @@ -1986,10 +2209,10 @@ int daAlink_c::procHookshotWallShoot() { setHookshotSight(); } - mProcVar3.field_0x300e.x = mBodyAngle.x; + mProcVar3.field_0x300e = mBodyAngle.x; mBodyAngle.x = 0; field_0x310c = shape_angle.y; - mProcVar3.field_0x300e.y = shape_angle.y; + mProcVar4.field_0x3010 = shape_angle.y; shape_angle.y = old_angle; } diff --git a/src/d/actor/d_a_alink_horse.inc b/src/d/actor/d_a_alink_horse.inc index 03809d60780..6f4b4a45d21 100644 --- a/src/d/actor/d_a_alink_horse.inc +++ b/src/d/actor/d_a_alink_horse.inc @@ -8,6 +8,7 @@ #include "d/actor/d_a_hozelda.h" #include "d/actor/d_a_e_wb.h" #include "d/actor/d_a_obj_iceleaf.h" +#include "d/actor/d_a_spinner.h" /* 800EC724-800EC758 0E7064 0034+00 3/3 0/0 0/0 .text daAlink_searchBoar__FP10fopAc_ac_cPv */ static void* daAlink_searchBoar(fopAc_ac_c* i_actor, void*) { @@ -80,8 +81,7 @@ int daAlink_c::getReinRideDirection() { /* 800EC8F8-800ECA3C 0E7238 0144+00 1/1 0/0 0/0 .text checkReinRideBgCheck__9daAlink_cFv */ -// issue with sp38 member setting -#ifdef NONMATCHING +// NONMATCHING - issue with sp38 member setting int daAlink_c::checkReinRideBgCheck() { int direction = getReinRideDirection(); @@ -129,12 +129,6 @@ int daAlink_c::checkReinRideBgCheck() { return 1; } -#else -int daAlink_c::checkReinRideBgCheck() { - // NONMATCHING - return 0; -} -#endif /* 800ECA3C-800ECAAC 0E737C 0070+00 3/3 0/0 0/0 .text commonInitForceRideRein__9daAlink_cFv */ void daAlink_c::commonInitForceRideRein() { @@ -439,7 +433,7 @@ int daAlink_c::setSyncBoarRunPos() { shape_angle.z = sp28.x; current.angle.y = shape_angle.y; - if (mProcID == PROC_BOAR_RUN && mProcVar3.field_0x300e.x != 0) { + if (mProcID == PROC_BOAR_RUN && mProcVar3.field_0x300e != 0) { mUnderFrameCtrl[0].setFrame(e_wb_p->nowAnimeFrame()); getNowAnmPackUnder(UNDER_0)->setFrame(e_wb_p->nowAnimeFrame()); } @@ -678,8 +672,7 @@ int daAlink_c::setSyncHorse(int param_0) { /* 800EE64C-800EE918 0E8F8C 02CC+00 1/1 0/0 0/0 .text setSyncBoar__9daAlink_cFi */ -// regalloc, equivalent? -#ifdef NONMATCHING +// NONMATCHING - regalloc, equivalent? NONMATCHING int daAlink_c::setSyncBoar(int param_0) { e_wb_class* e_wb_p = static_cast(mRideAcKeep.getActor()); BOOL mode_1 = checkModeFlg(1); @@ -740,12 +733,6 @@ int daAlink_c::setSyncBoar(int param_0) { return 1; } -#else -int daAlink_c::setSyncBoar(int param_0) { - // NONMATCHING - return 0; -} -#endif /* 800EE918-800EEAE8 0E9258 01D0+00 12/12 0/0 0/0 .text setSyncRide__9daAlink_cFi */ int daAlink_c::setSyncRide(int param_0) { @@ -838,8 +825,7 @@ int daAlink_c::setRideSubjectAngle(s16 param_0) { } /* 800EF050-800EF0E8 0E9990 0098+00 7/7 0/0 0/0 .text setBodyAngleRideReadyAnime__9daAlink_cFv */ -// missing mr, probably issue with cLib_minMaxLimit implementation -#ifdef NONMATCHING +// NONMATCHING - missing mr, probably issue with cLib_minMaxLimit implementation void daAlink_c::setBodyAngleRideReadyAnime() { setBodyAngleXReadyAnime(0); @@ -854,11 +840,6 @@ void daAlink_c::setBodyAngleRideReadyAnime() { daPy_addCalcShort(&mBodyAngle.y, angle, 4, 0xC00, 0x180); } -#else -void daAlink_c::setBodyAngleRideReadyAnime() { - // NONMATCHING -} -#endif /* 800EF0E8-800EF198 0E9A28 00B0+00 1/1 0/0 0/0 .text * checkHorseGetOffWallCheck__9daAlink_cFP4cXyzP4cXyzs */ @@ -995,20 +976,13 @@ int daAlink_c::checkNextActionHorse() { } /* 800EF598-800EF6B0 0E9ED8 0118+00 2/2 0/0 0/0 .text checkHorseGetOff__9daAlink_cFv */ -// regalloc -#ifdef NONMATCHING +// NONMATCHING - regalloc BOOL daAlink_c::checkHorseGetOff() { return (checkHorseRide() && dComIfGp_getHorseActor() != NULL && dComIfGp_getHorseActor()->checkGetOff()) || (checkBoarRide() && static_cast(mRideAcKeep.getActor()) != NULL && static_cast(mRideAcKeep.getActor())->checkGetOff()); } -#else -BOOL daAlink_c::checkHorseGetOff() { - // NONMATCHING - return 0; -} -#endif /* 800EF6B0-800EF884 0E9FF0 01D4+00 3/3 0/0 0/0 .text checkHorseGetOffAndSetDoStatus__9daAlink_cFv */ @@ -1248,7 +1222,7 @@ int daAlink_c::procHorseCutTurnInit() { setSyncRide(1); field_0x3478 = daAlinkHIO_hoCutCharge_c0::m.field_0x50; setCylAtParam(getSwordAtType(), dCcG_At_Spl_UNK_1, 3, 1, 3, field_0x3478 * 0.5f, 200.0f); - mProcVar3.field_0x300e.y = daAlinkHIO_hoCutCharge_c0::m.field_0x3E; + mProcVar4.field_0x3010 = daAlinkHIO_hoCutCharge_c0::m.field_0x3E; voiceStart(Z2SE_AL_V_KAITEN); setCutWaterDropEffect(); setHorseZeldaDamage(); @@ -1629,12 +1603,12 @@ int daAlink_c::procHorseRunInit() { setSingleAnimeBaseMorf(ANM_HORSE_TAME_WAIT_B, -1.0f); setSyncHorsePos(); field_0x2fab = 0; - mProcVar3.field_0x300e.y = 0; - mProcVar3.field_0x300e.z = 0; + mProcVar4.field_0x3010 = 0; + mProcVar5.field_0x3012 = 0; field_0x3478 = 1000.0f - cM_rndF(500.0f); mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.x = 30; + mProcVar3.field_0x300e = 30; field_0x3004 = 0; field_0x3002 = 0; mDoAud_changeSubBgmStatus(2); @@ -1729,11 +1703,11 @@ int daAlink_c::procBoarRunInit() { resetUpperAnime(UPPER_2, -1.0f); resetUnderAnime(UNDER_2, -1.0f); - mProcVar3.field_0x300e.y = 0; - mProcVar3.field_0x300e.z = 0; + mProcVar4.field_0x3010 = 0; + mProcVar5.field_0x3012 = 0; field_0x3478 = 3000.0f - cM_rndF(1500.0f); setSingleAnimeBaseSpeed(ANM_HORSE_TAME_WAIT_A_TO_B, 1.0f, 4.0f); - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; setSyncBoarPos(); mProcVar2.field_0x300c = 0; diff --git a/src/d/actor/d_a_alink_hvyboots.inc b/src/d/actor/d_a_alink_hvyboots.inc index 39a1bd24004..4d50830a3a7 100644 --- a/src/d/actor/d_a_alink_hvyboots.inc +++ b/src/d/actor/d_a_alink_hvyboots.inc @@ -3,6 +3,9 @@ * Player Iron Boots action handling */ +#include "d/actor/d_a_alink.h" +#include "d/actor/d_a_tag_magne.h" + /* 800E23FC-800E243C 0DCD3C 0040+00 6/6 0/0 0/0 .text concatMagneBootMtx__9daAlink_cFv */ void daAlink_c::concatMagneBootMtx() { if (checkMagneBootsOn()) { diff --git a/src/d/actor/d_a_alink_iceleaf.inc b/src/d/actor/d_a_alink_iceleaf.inc index 96e3f968898..bd1071a2965 100644 --- a/src/d/actor/d_a_alink_iceleaf.inc +++ b/src/d/actor/d_a_alink_iceleaf.inc @@ -8,7 +8,7 @@ #include "SSystem/SComponent/c_math.h" /* 80105A84-80105A98 1003C4 0014+00 1/1 0/0 0/0 .text daAlink_searchIceLeaf__FP10fopAc_ac_cPv */ -static fopAc_ac_c* daAlink_searchIceLeaf(fopAc_ac_c* i_actor, void* param_1) { +static fopAc_ac_c* daAlink_searchIceLeaf(fopAc_ac_c* i_actor, void* i_data) { if (fopAcM_GetName(i_actor) == PROC_Obj_IceLeaf) { return i_actor; } @@ -18,14 +18,14 @@ static fopAc_ac_c* daAlink_searchIceLeaf(fopAc_ac_c* i_actor, void* param_1) { /* 80105A98-80105ABC 1003D8 0024+00 3/3 0/0 0/0 .text checkSnowCode__9daAlink_cCFv */ bool daAlink_c::checkSnowCode() const { - return field_0x2fa8 == 6 || field_0x2fa8 == 5; + return mGndPolySpecialCode == dBgW_SPCODE_HEAVY_SNOW || mGndPolySpecialCode == dBgW_SPCODE_LIGHT_SNOW; } /* 80105ABC-80105B10 1003FC 0054+00 1/1 0/0 1/1 .text * checkSnowCodePolygon__9daAlink_cFR13cBgS_PolyInfo */ bool daAlink_c::checkSnowCodePolygon(cBgS_PolyInfo& i_poly) { int code = dComIfG_Bgsp().GetSpecialCode(i_poly); - return code == 6 || code == 5; + return code == dBgW_SPCODE_HEAVY_SNOW || code == dBgW_SPCODE_LIGHT_SNOW; } /* 80105B10-80105B58 100450 0048+00 2/2 0/0 0/0 .text checkBoardRestart__9daAlink_cFv */ @@ -34,7 +34,7 @@ bool daAlink_c::checkBoardRestart() { } /* 80105B58-80106534 100498 09DC+00 7/7 0/0 0/0 .text boardCommon__9daAlink_cFi */ -int daAlink_c::boardCommon(int param_0) { +int daAlink_c::boardCommon(BOOL i_canMove) { int sp18 = abs(shape_angle.x); int var_r25 = abs(shape_angle.z); if (sp18 > var_r25) { @@ -72,17 +72,17 @@ int daAlink_c::boardCommon(int param_0) { s16 var_r27; if (mLinkAcch.i_ChkGroundHit() && dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_gnd)) { - cM3dGPla sp1C; - dComIfG_Bgsp().GetTriPla(mLinkAcch.m_gnd, &sp1C); + cM3dGPla poly; + dComIfG_Bgsp().GetTriPla(mLinkAcch.m_gnd, &poly); - mProcVar3.field_0x300e.x = cM_atan2s(sp1C.mNormal.absXZ(), sp1C.mNormal.y); - if (mProcVar3.field_0x300e.x == 0) { + mProcVar3.field_0x300e = cM_atan2s(poly.mNormal.absXZ(), poly.mNormal.y); + if (mProcVar3.field_0x300e == 0) { var_r27 = shape_angle.y; } else { - var_r27 = sp1C.mNormal.atan2sX_Z(); + var_r27 = poly.mNormal.atan2sX_Z(); } } else { - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; var_r27 = shape_angle.y; } @@ -95,18 +95,18 @@ int daAlink_c::boardCommon(int param_0) { int temp_r26 = abs(mStickAngle); s16 var_r24; - if (checkInputOnR() && param_0) { + if (checkInputOnR() && i_canMove) { var_r24 = 1024.0f * field_0x33ac * cM_ssin(mStickAngle); if (temp_r26 > 0x6000 && field_0x2f8c == 0xB && mProcID == PROC_BOARD_WAIT) { f32 temp_f29 = field_0x33ac * cM_scos((0x8000 - temp_r26) * 2); - f32 var_f28 = temp_f29; + f32 speed_step = temp_f29; - if (var_f28 < 0.15f) { - var_f28 = 0.15f; + if (speed_step < 0.15f) { + speed_step = 0.15f; } - cLib_addCalc(&mNormalSpeed, 0.0f, 0.5f, var_f28, 0.1f); + cLib_addCalc(&mNormalSpeed, 0.0f, 0.5f, speed_step, 0.1f); if (mNormalSpeed > 5.0f) { var_f30 = temp_f29; @@ -115,11 +115,11 @@ int daAlink_c::boardCommon(int param_0) { } if (checkZeroSpeedF() && temp_r26 > 0x7000 && mProcID == PROC_BOARD_WAIT && !checkModeFlg(2)) { - if (mProcVar3.field_0x300e.x <= 910.0f && checkUnderMove0BckNoArc(ANM_RIDE_WAIT) && mLinkAcch.i_ChkGroundHit()) { + if (mProcVar3.field_0x300e <= 910.0f && checkUnderMove0BckNoArc(ANM_RIDE_WAIT) && mLinkAcch.i_ChkGroundHit()) { return procBoardTurnInit(); } } - } else if (temp_r26 < 0x2000 && field_0x2f8c == 0xB && mProcID == PROC_BOARD_WAIT && !checkModeFlg(2) && mLinkAcch.i_ChkGroundHit() && (mProcVar3.field_0x300e.x < field_0x3122) && (checkUnderMove0BckNoArc(ANM_RIDE_WAIT) || checkUnderMove0BckNoArc(ANM_RIDE_FRONT))) { + } else if (temp_r26 < 0x2000 && field_0x2f8c == 0xB && mProcID == PROC_BOARD_WAIT && !checkModeFlg(2) && mLinkAcch.i_ChkGroundHit() && (mProcVar3.field_0x300e < field_0x3122) && (checkUnderMove0BckNoArc(ANM_RIDE_WAIT) || checkUnderMove0BckNoArc(ANM_RIDE_FRONT))) { if (mNormalSpeed <= daAlinkHIO_board_c0::m.mMaxPushSpeed) { return procBoardRowInit(); } @@ -128,25 +128,25 @@ int daAlink_c::boardCommon(int param_0) { var_r24 = 0; } - u32 sp10 = Z2SE_AL_SNOBO_RIDE; + u32 sound = Z2SE_AL_SNOBO_RIDE; if (field_0x2f8c == 0xB) { f32 spC = mNowAnmPackUnder[1].getRatio(); cLib_addCalc(&spC, var_f30, 0.5f, 0.35f, 0.1f); setDoubleAnimeBlendRatio(spC); if (spC > 0.8f) { - sp10 = Z2SE_AL_SNOBO_BREAK; + sound = Z2SE_AL_SNOBO_BREAK; } } if (!checkModeFlg(2)) { - seStartOnlyReverbLevel(sp10); + seStartOnlyReverbLevel(sound); } if (mProcID == PROC_BOARD_TURN) { mProcVar2.field_0x300c = 0; } else { - cLib_addCalcAngleS(&mProcVar2.field_0x300c, var_r24, 0x1E, 0x800, 0x10); + cLib_addCalcAngleS(&mProcVar2.field_0x300c, var_r24, 30, 0x800, 0x10); if (!checkModeFlg(2)) { current.angle.y += mProcVar2.field_0x300c; @@ -155,7 +155,7 @@ int daAlink_c::boardCommon(int param_0) { shape_angle.y = current.angle.y; } - cLib_addCalcAngleS(&field_0x2fee, -var_r24 * 6, 0xA, 0x800, 0x40); + cLib_addCalcAngleS(&field_0x2fee, -var_r24 * 6, 10, 0x800, 0x40); shape_angle.z = field_0x2fee >> 1; mBodyAngle.z = shape_angle.z; @@ -164,8 +164,8 @@ int daAlink_c::boardCommon(int param_0) { offModeFlg(2); speed.y = 0.0f; } else { - if (mProcVar3.field_0x300e.x > 910.0f && (mProcID != PROC_BOARD_ROW || !(mProcVar3.field_0x300e.x < 2000.0f))) { - f32 var_f25 = (f32)mProcVar3.field_0x300e.x / (f32)field_0x3122; + if (mProcVar3.field_0x300e > 910.0f && (mProcID != PROC_BOARD_ROW || !(mProcVar3.field_0x300e < 2000.0f))) { + f32 var_f25 = (f32)mProcVar3.field_0x300e / (f32)field_0x3122; if (var_f25 > 1.0f) { var_f25 = 1.0f; } @@ -200,13 +200,13 @@ int daAlink_c::boardCommon(int param_0) { } } - if (checkInputOnR() && param_0 && temp_r26 < 0x2800) { + if (checkInputOnR() && i_canMove && temp_r26 < 0x2800) { if (checkUnderMove0BckNoArc(ANM_RIDE_WAIT)) { - setCommonBoardAnime(1); + setCommonBoardAnime(TRUE); } } else { if (checkUnderMove0BckNoArc(ANM_RIDE_FRONT)) { - setCommonBoardAnime(0); + setCommonBoardAnime(FALSE); } if (mNormalSpeed > (0.7f * field_0x594)) { @@ -220,12 +220,12 @@ int daAlink_c::boardCommon(int param_0) { field_0x2f9d = 4; } } else if (!checkModeFlg(2)) { - f32 var_f24 = mNormalSpeed * -cM_ssin(shape_angle.x); - if (var_f24 < 0.0f) { - var_f24 = 0.0f; + f32 jump_speed = mNormalSpeed * -cM_ssin(shape_angle.x); + if (jump_speed < 0.0f) { + jump_speed = 0.0f; } - return procBoardJumpInit(var_f24, 0); + return procBoardJumpInit(jump_speed, FALSE); } else { cLib_addCalcAngleS(&shape_angle.x, 0, 4, 100, 10); } @@ -235,9 +235,9 @@ int daAlink_c::boardCommon(int param_0) { /* 80106534-8010658C 100E74 0058+00 6/6 0/0 0/0 .text setCommonBoardAnime__9daAlink_cFi */ -void daAlink_c::setCommonBoardAnime(int param_0) { +void daAlink_c::setCommonBoardAnime(BOOL i_is_ride_front) { setDoubleAnime(0.0f, daAlinkHIO_board_c0::m.mStandAnmSpeed, 1.0f, - param_0 != 0 ? ANM_RIDE_FRONT : ANM_RIDE_WAIT, ANM_RIDE_STOP, + i_is_ride_front ? ANM_RIDE_FRONT : ANM_RIDE_WAIT, ANM_RIDE_STOP, 11, daAlinkHIO_board_c0::m.mStandInterpolation); } @@ -347,7 +347,7 @@ int daAlink_c::procBoardRide() { /* 80106A38-80106BCC 101378 0194+00 13/13 0/0 0/0 .text * procBoardWaitInit__9daAlink_cFP10fopAc_ac_c */ -int daAlink_c::procBoardWaitInit(fopAc_ac_c* param_0) { +int daAlink_c::procBoardWaitInit(fopAc_ac_c* i_board) { if (mEquipItem != 0x103) { deleteEquipItem(TRUE, TRUE); } else { @@ -360,110 +360,110 @@ int daAlink_c::procBoardWaitInit(fopAc_ac_c* param_0) { resetUpperAnime(UPPER_2, -1.0f); } - if (checkModeFlg(2) && param_0 == NULL) { - return procBoardJumpInit(0.0f, 1); + if (checkModeFlg(2) && i_board == NULL) { + return procBoardJumpInit(0.0f, TRUE); } - BOOL temp_r28 = mProcID == PROC_BOARD_RIDE; + BOOL prev_ride = mProcID == PROC_BOARD_RIDE; if (!commonProcInitNotSameProc(PROC_BOARD_WAIT)) { return 0; } current.angle.y = shape_angle.y; - if (param_0 != NULL) { - mRideAcKeep.setData(param_0); - ((daObjIceLeaf_c*)param_0)->onRide(); + if (i_board != NULL) { + mRideAcKeep.setData(i_board); + ((daObjIceLeaf_c*)i_board)->onRide(); - if (temp_r28 != 0) { - f32 var_f31 = mNormalSpeed / daAlinkHIO_move_c0::m.mMaxSpeed; - if (var_f31 > 1.0f) { - var_f31 = 1.0f; + if (prev_ride) { + f32 speed_ratio = mNormalSpeed / daAlinkHIO_move_c0::m.mMaxSpeed; + if (speed_ratio > 1.0f) { + speed_ratio = 1.0f; } - mNormalSpeed = daAlinkHIO_board_c0::m.mStartMinSpeed + (daAlinkHIO_board_c0::m.mStartAddSpeed * var_f31); + mNormalSpeed = daAlinkHIO_board_c0::m.mStartMinSpeed + (daAlinkHIO_board_c0::m.mStartAddSpeed * speed_ratio); } else { mNormalSpeed = 0.0f; } field_0x594 = daAlinkHIO_move_c0::m.mMinWalkRate; mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.x = 0; - setCommonBoardAnime(0); + mProcVar3.field_0x300e = 0; + setCommonBoardAnime(FALSE); } mRideStatus = 4; - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; mProcVar1.field_0x300a = 0; return 1; } /* 80106BCC-80106E88 10150C 02BC+00 1/0 0/0 0/0 .text procBoardWait__9daAlink_cFv */ int daAlink_c::procBoardWait() { - if (boardCommon(1)) { + if (boardCommon(TRUE)) { return 1; } if (checkAnmEnd(&mUnderFrameCtrl[0]) && !checkUnderMove0BckNoArc(ANM_RIDE_CUT_TURN_CHARGE)) { - setCommonBoardAnime(0); + setCommonBoardAnime(FALSE); } if (!checkNextActionBoard()) { if (mEquipItem == 0x103 && swordButton()) { - if (mProcVar1.field_0x300a == 0) { + if (mProcVar1.mBoardSwordChargeTime == 0) { setSingleAnimeBase(ANM_RIDE_CUT_TURN_CHARGE); } - mProcVar1.field_0x300a++; + mProcVar1.mBoardSwordChargeTime++; - if (mProcVar1.field_0x300a == daAlinkHIO_cut_c0::m.mNormalSwingDuration) { + if (mProcVar1.mBoardSwordChargeTime == daAlinkHIO_cut_c0::m.mNormalSwingDuration) { setSwordVoiceSe(Z2SE_AL_V_TAME); } if (!checkAnmEnd(&mUnderFrameCtrl[0])) { - mProcVar1.field_0x300a = 1; + mProcVar1.mBoardSwordChargeTime = 1; } else { simpleAnmPlay(m_nSwordBtk); - if (mProcVar1.field_0x300a >= 14.0f) { - mProcVar1.field_0x300a = 0x18; + if (mProcVar1.mBoardSwordChargeTime >= 14.0f) { + mProcVar1.mBoardSwordChargeTime = 24; } } - } else if (mProcVar1.field_0x300a != 0) { - if (mProcVar1.field_0x300a >= 14.0f) { + } else if (mProcVar1.mBoardSwordChargeTime != 0) { + if (mProcVar1.mBoardSwordChargeTime >= 14.0f) { return procBoardCutTurnInit(); } return procBoardCutInit(); - } else if (mProcVar3.field_0x300e.z == 0) { + } else if (mProcVar5.field_0x3012 == 0) { if (!checkModeFlg(2) && mProcID != PROC_BOARD_ROW) { setDoStatus(0xA); if (doButton()) { - f32 var_f31; + f32 blend_ratio; if (field_0x2f8c == 0xB) { - var_f31 = mNowAnmPackUnder[1].getRatio(); + blend_ratio = mNowAnmPackUnder[1].getRatio(); } else { - var_f31 = 0.0f; + blend_ratio = 0.0f; } setDoubleAnime(0.0f, daAlinkHIO_board_c0::m.mSitAnmSpeed, 1.0f, ANM_RIDE_CROUCH, ANM_RIDE_STOP, 0xB, daAlinkHIO_board_c0::m.mSitInterpolation); - setDoubleAnimeBlendRatio(var_f31); - mProcVar3.field_0x300e.z = 1; + setDoubleAnimeBlendRatio(blend_ratio); + mProcVar5.field_0x3012 = 1; } } - } else if (mProcVar3.field_0x300e.z != 0) { + } else if (mProcVar5.field_0x3012 != 0) { if (mNormalSpeed > 15.0f) { setDoStatus(0x19); } if (!doButton()) { - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; if (mNormalSpeed > 15.0f) { - procBoardJumpInit(mNormalSpeed, 0); + procBoardJumpInit(mNormalSpeed, FALSE); } else { f32 temp_f30 = mNowAnmPackUnder[1].getRatio(); - setCommonBoardAnime(0); + setCommonBoardAnime(FALSE); setDoubleAnimeBlendRatio(temp_f30); } } @@ -479,33 +479,33 @@ int daAlink_c::procBoardRowInit() { setSingleAnimeBaseSpeed(ANM_RIDE_KICK, getBoardRowAnmSpeed(), daAlinkHIO_board_c0::m.mPushInterpolation); onResetFlg1(RFLG1_UNK_40); mProcVar0.field_0x3008 = 4; - mProcVar3.field_0x300e.y = 1; - mProcVar3.field_0x300e.z = 0; + mProcVar4.field_0x3010 = 1; + mProcVar5.field_0x3012 = 0; return 1; } /* 80106F00-80107060 101840 0160+00 1/0 0/0 0/0 .text procBoardRow__9daAlink_cFv */ int daAlink_c::procBoardRow() { - if (boardCommon(1)) { + if (boardCommon(TRUE)) { return 1; } - if (mProcVar3.field_0x300e.y != 0) { + if (mProcVar4.field_0x3010 != 0) { onResetFlg1(RFLG1_UNK_40); mProcVar0.field_0x3008 = 4; } if (!checkNextActionBoard()) { - daPy_frameCtrl_c* temp_r29 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* frame_ctrl = &mUnderFrameCtrl[0]; - if (temp_r29->checkPass(0.0f)) { - if (checkInputOnR() && abs(mStickAngle) < 0x2000 && !checkModeFlg(2) && mLinkAcch.i_ChkGroundHit() && mProcVar3.field_0x300e.x < field_0x3122 && mNormalSpeed <= daAlinkHIO_board_c0::m.mMaxPushSpeed) { - mProcVar3.field_0x300e.z = 0; + if (frame_ctrl->checkPass(0.0f)) { + if (checkInputOnR() && abs(mStickAngle) < 0x2000 && !checkModeFlg(2) && mLinkAcch.i_ChkGroundHit() && mProcVar3.field_0x300e < field_0x3122 && mNormalSpeed <= daAlinkHIO_board_c0::m.mMaxPushSpeed) { + mProcVar5.field_0x3012 = 0; } else { - setCommonBoardAnime(0); + setCommonBoardAnime(FALSE); procBoardWaitInit(NULL); } - } else if (temp_r29->checkPass(7.0f)) { + } else if (frame_ctrl->checkPass(7.0f)) { mNormalSpeed += daAlinkHIO_board_c0::m.mPushAccel; if (mNormalSpeed > daAlinkHIO_board_c0::m.mMaxPushSpeed) { @@ -523,21 +523,21 @@ int daAlink_c::procBoardTurnInit() { setSingleAnime(ANM_RIDE_JUMP, 0.0f, 1.0f, daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame, 3.0f); mNormalSpeed = 0.0f; - mProcVar3.field_0x300e.y = shape_angle.y + 0x8000; - mProcVar3.field_0x300e.z = 0; + mProcVar4.field_0x3010 = shape_angle.y + 0x8000; + mProcVar5.field_0x3012 = 0; mProcVar1.field_0x300a = 0; return 1; } /* 801070DC-80107218 101A1C 013C+00 1/0 0/0 0/0 .text procBoardTurn__9daAlink_cFv */ int daAlink_c::procBoardTurn() { - if (boardCommon(0)) { + if (boardCommon(FALSE)) { return 1; } - if (mProcVar3.field_0x300e.z == 0) { + if (mProcVar5.field_0x3012 == 0) { if (field_0x2060->getOldFrameRate() < 0.01f) { - mProcVar3.field_0x300e.z = 1; + mProcVar5.field_0x3012 = 1; setSingleAnime(ANM_RIDE_JUMP, 1.5f, 1.5f + mUnderFrameCtrl[0].getStart(), daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame, -1.0f); } } else if (mProcVar1.field_0x300a == 0) { @@ -547,7 +547,7 @@ int daAlink_c::procBoardTurn() { mProcVar1.field_0x300a = 1; } } else { - cLib_addCalcAngleS(&shape_angle.y, mProcVar3.field_0x300e.y, 5, 0x1B58, 0x7D0); + cLib_addCalcAngleS(&shape_angle.y, mProcVar4.field_0x3010, 5, 0x1B58, 0x7D0); current.angle.y = shape_angle.y; if (!checkModeFlg(2)) { @@ -562,28 +562,28 @@ int daAlink_c::procBoardTurn() { } /* 80107218-80107300 101B58 00E8+00 4/4 0/0 0/0 .text procBoardJumpInit__9daAlink_cFfi */ -int daAlink_c::procBoardJumpInit(f32 param_0, int param_1) { +int daAlink_c::procBoardJumpInit(f32 i_jump_speed, BOOL i_no_speed_set) { commonProcInit(PROC_BOARD_JUMP); mProcVar0.field_0x3008 = 0; - mProcVar3.field_0x300e.z = 1; + mProcVar5.field_0x3012 = 1; setSingleAnime(ANM_RIDE_JUMP, 0.0f, daAlinkHIO_board_c0::m.mAirborneAnm.mStartFrame, daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame, daAlinkHIO_board_c0::m.mAirborneAnm.mInterpolation); - if (param_1 == 0) { - speed.y = cLib_minMaxLimit(param_0, daAlinkHIO_board_c0::m.mMinJumpSpeedY, daAlinkHIO_board_c0::m.mMaxJumpSpeedY); + if (!i_no_speed_set) { + speed.y = cLib_minMaxLimit(i_jump_speed, daAlinkHIO_board_c0::m.mMinJumpSpeedY, daAlinkHIO_board_c0::m.mMaxJumpSpeedY); } - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; seStartOnlyReverb(Z2SE_AL_SNOBO_JUMP); return 1; } /* 80107300-801073D0 101C40 00D0+00 1/0 0/0 0/0 .text procBoardJump__9daAlink_cFv */ int daAlink_c::procBoardJump() { - if (boardCommon(1)) { + if (boardCommon(TRUE)) { return 1; } @@ -591,12 +591,12 @@ int daAlink_c::procBoardJump() { if (!checkModeFlg(2)) { setBoardLandAnime(); procBoardWaitInit(NULL); - } else if (mProcVar3.field_0x300e.z != 0 && mProcVar3.field_0x300e.y == 0 && field_0x2060->getOldFrameRate() < 0.0099999998f) { + } else if (mProcVar5.field_0x3012 != 0 && mProcVar4.field_0x3010 == 0 && field_0x2060->getOldFrameRate() < 0.0099999998f) { setSingleAnime(ANM_RIDE_JUMP, daAlinkHIO_board_c0::m.mAirborneAnm.mSpeed, daAlinkHIO_board_c0::m.mAirborneAnm.mStartFrame, daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame, -1.0f); - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; } } @@ -607,7 +607,7 @@ int daAlink_c::procBoardJump() { int daAlink_c::procBoardSubjectivityInit() { commonProcBoardInit(PROC_BOARD_SUBJECTIVITY); setSubjectMode(); - setCommonBoardAnime(0); + setCommonBoardAnime(FALSE); return 1; } @@ -619,7 +619,7 @@ int daAlink_c::procBoardSubjectivity() { s16 old_shape_angle = shape_angle.y; s16 old_angle = current.angle.y; - if (boardCommon(0)) { + if (boardCommon(FALSE)) { return 1; } @@ -638,23 +638,23 @@ int daAlink_c::procBoardSubjectivity() { int daAlink_c::procBoardCutInit() { commonProcBoardInit(PROC_BOARD_CUT); - bool var_r31 = false; + bool cut_charge = false; if (checkUnderMove0BckNoArc(ANM_RIDE_CUT_TURN_CHARGE)) { if (mUnderFrameCtrl[0].getFrame() > daAlinkHIO_cut_c0::m.mNormalSwingDuration) { - var_r31 = true; + cut_charge = true; } } - setCommonBoardAnime(0); - setCutDash(1, var_r31); - mProcVar3.field_0x300e.z = 0; + setCommonBoardAnime(FALSE); + setCutDash(1, cut_charge); + mProcVar5.field_0x3012 = 0; return 1; } /* 8010755C-801075D4 101E9C 0078+00 1/0 0/0 0/0 .text procBoardCut__9daAlink_cFv */ int daAlink_c::procBoardCut() { - if (boardCommon(1)) { + if (boardCommon(TRUE)) { return 1; } @@ -685,7 +685,7 @@ int daAlink_c::procBoardCutTurnInit() { field_0x3198 = 0; } - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; resetCombo(1); field_0x3478 = daAlinkHIO_cutTurn_c0::m.mAttackRadius; @@ -693,20 +693,20 @@ int daAlink_c::procBoardCutTurnInit() { initCutTurnAt(field_0x347c, 3); mProcVar1.field_0x300a = 4; - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; voiceStart(Z2SE_AL_V_KAITEN); return 1; } /* 80107744-80107900 102084 01BC+00 1/0 0/0 0/0 .text procBoardCutTurn__9daAlink_cFv */ int daAlink_c::procBoardCutTurn() { - if (boardCommon(1)) { + if (boardCommon(TRUE)) { return 1; } - daPy_frameCtrl_c* temp_r30 = &mUnderFrameCtrl[0]; + daPy_frameCtrl_c* frame_ctrl = &mUnderFrameCtrl[0]; - if (temp_r30->getFrame() >= 4.0f && temp_r30->getFrame() < 14.0f) { + if (frame_ctrl->getFrame() >= 4.0f && frame_ctrl->getFrame() < 14.0f) { if (!checkNoResetFlg0(FLG0_UNK_40)) { seStartSwordCut(Z2SE_AL_KAITENGIRI); } @@ -716,7 +716,7 @@ int daAlink_c::procBoardCutTurn() { field_0xFB8.SetR(field_0x347c); onResetFlg1(RFLG1_UNK_40); } else { - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; } if (!checkModeFlg(2)) { @@ -724,7 +724,7 @@ int daAlink_c::procBoardCutTurn() { setBoardLandAnime(); procBoardWaitInit(NULL); } else { - if (temp_r30->getFrame() >= 3.0f) { + if (frame_ctrl->getFrame() >= 3.0f) { speed.y = mNormalSpeed * -cM_ssin(shape_angle.x); if (speed.y < daAlinkHIO_board_c0::m.mSpinMinJumpSpeedY) { @@ -740,8 +740,8 @@ int daAlink_c::procBoardCutTurn() { } } else { field_0x3198 = 1; - if (checkAnmEnd(temp_r30)) { - procBoardJumpInit(0.0f, 1); + if (checkAnmEnd(frame_ctrl)) { + procBoardJumpInit(0.0f, TRUE); } } diff --git a/src/d/actor/d_a_alink_ironball.inc b/src/d/actor/d_a_alink_ironball.inc index 24179f8c419..c4554954388 100644 --- a/src/d/actor/d_a_alink_ironball.inc +++ b/src/d/actor/d_a_alink_ironball.inc @@ -106,7 +106,7 @@ void daAlink_c::setIronBallModel() { JKRHeap* prev_heap = setItemHeap(); mHeldItemModel = initModelEnv(loadAramBmd(0x311, 0x2800), 0); - mpHookKusariModelData = loadAramBmd(0x317, 0x1000); + mpItemModelData = loadAramBmd(0x317, 0x1000); mpHookChain = new hsChainShape_c(); mIronBallChainPos = new cXyz[102]; diff --git a/src/d/actor/d_a_alink_kandelaar.inc b/src/d/actor/d_a_alink_kandelaar.inc index 61d03cb1b54..8dfa8abe944 100644 --- a/src/d/actor/d_a_alink_kandelaar.inc +++ b/src/d/actor/d_a_alink_kandelaar.inc @@ -8,6 +8,7 @@ #include "d/actor/d_a_e_sm2.h" #include "d/actor/d_a_tag_ss_drink.h" #include "m_Do/m_Do_lib.h" +#include "SSystem/SComponent/c_math.h" /* 80110654-80110668 10AF94 0014+00 1/1 0/0 0/0 .text daAlink_searchTagKandelaar__FP10fopAc_ac_cPv */ @@ -107,8 +108,47 @@ bool daAlink_c::checkKandelaarSwing(int param_0) const { } /* 801108EC-80110BEC 10B22C 0300+00 1/1 0/0 0/0 .text kandelaarModelCallBack__9daAlink_cFv */ -void daAlink_c::kandelaarModelCallBack() { - // NONMATCHING +// NONMATCHING - regalloc from cLib_minMaxLimit +int daAlink_c::kandelaarModelCallBack() { + cXyz sp44; + mDoMtx_multVecZero(J3DSys::mCurrentMtx, &sp44); + + field_0x3630 = field_0x3624; + field_0x3624 = mKandelaarFlamePos; + + cXyz sp38 = (mKandelaarFlamePos - sp44) + field_0x3618; + sp38.y -= 3.0f; + + cXyz sp2C; + mDoMtx_multVec(J3DSys::mCurrentMtx, &cXyz::BaseZ, &sp2C); + + s16 var_r29 = sp2C.atan2sX_Z(); + mDoMtx_stack_c::YrotS(-var_r29); + mDoMtx_stack_c::multVec(&sp38, &sp38); + + s16 var_r28 = cLib_minMaxLimit(cM_atan2s(-sp38.z, -sp38.y), -0x1800, 0x1800); + s16 var_r27 = cLib_minMaxLimit(cM_atan2s(sp38.x, JMAFastSqrt((sp38.y * sp38.y) + (sp38.z * sp38.z))), -0x1800, 0x1800); + + mDoMtx_stack_c::transS(sp44); + if (mProcID != PROC_OPEN_TREASURE && (mProcID != PROC_GET_ITEM || mProcVar4.field_0x3010 == 0)) { + mDoMtx_stack_c::ZXYrotM(var_r28, var_r29, var_r27); + } + + mDoMtx_stack_c::multVec(&kandelaarOffset, &mKandelaarFlamePos); + + field_0x3618 = (mKandelaarFlamePos - field_0x3624) * 0.9f; + + if (!checkEndResetFlg1(ERFLG1_UNK_8)) { + f32 temp_f31 = JMAFastSqrt((J3DSys::mCurrentMtx[0][0] * J3DSys::mCurrentMtx[0][0]) + (J3DSys::mCurrentMtx[1][0] * J3DSys::mCurrentMtx[1][0]) + (J3DSys::mCurrentMtx[2][0] * J3DSys::mCurrentMtx[2][0])); + mDoMtx_stack_c::transS(J3DSys::mCurrentMtx[0][3], J3DSys::mCurrentMtx[1][3], J3DSys::mCurrentMtx[2][3]); + mDoMtx_stack_c::ZXYrotM(var_r28, var_r29, var_r27); + mDoMtx_stack_c::scaleM(temp_f31, temp_f31, temp_f31); + + mpKanteraModel->setAnmMtx(1, mDoMtx_stack_c::get()); + cMtx_copy(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx); + } + + return 1; } /* 80110BEC-80110C28 10B52C 003C+00 1/1 0/0 0/0 .text daAlink_kandelaarModelCallBack__FP8J3DJointi @@ -220,7 +260,7 @@ void daAlink_c::setKandelaarModel() { void daAlink_c::resetOilBottleModel() { deleteEquipItem(FALSE, TRUE); - if (mProcVar3.field_0x300e.x != 0) { + if (mProcVar3.field_0x300e != 0) { setKandelaarModel(); mEquipItem = KANTERA; } @@ -231,9 +271,9 @@ void daAlink_c::resetOilBottleModel() { /* 80110FE0-801110B8 10B920 00D8+00 3/3 0/0 0/0 .text commonKandelaarPourInit__9daAlink_cFv */ void daAlink_c::commonKandelaarPourInit() { if (checkNoResetFlg2(FLG2_UNK_1)) { - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; } else { - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; } keepItemData(); diff --git a/src/d/actor/d_a_alink_link.inc b/src/d/actor/d_a_alink_link.inc index 257f50552d9..5072d6e53a6 100644 --- a/src/d/actor/d_a_alink_link.inc +++ b/src/d/actor/d_a_alink_link.inc @@ -14,21 +14,21 @@ int daAlink_c::procPreActionUnequipInit(int i_procAfter, fopAc_ac_c* param_1) { mNormalSpeed = 0.0f; setBlendMoveAnime(daAlinkHIO_basic_c0::m.mAnmBlendFactor); allUnequip(0); - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; if (param_1 != NULL) { field_0x280c.setData(param_1); - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; if (fopAcM_GetName(param_1) == PROC_Tag_Lv8Gate) { if (mEquipItem == KANTERA) { - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; } else if (checkNoResetFlg2(FLG2_UNK_1)) { offKandelaarModel(); } } } else { - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; } field_0x3198 = i_procAfter; @@ -39,7 +39,7 @@ int daAlink_c::procPreActionUnequipInit(int i_procAfter, fopAc_ac_c* param_1) { */ int daAlink_c::procPreActionUnequip() { if (checkNoUpperAnime()) { - if (mProcVar3.field_0x300e.x != 0 && (field_0x27f4 == NULL || field_0x27f4 != field_0x280c.getActor())) + if (mProcVar3.field_0x300e != 0 && (field_0x27f4 == NULL || field_0x27f4 != field_0x280c.getActor())) { checkWaitAction(); } else if (field_0x3198 == PROC_PUSH_PULL_WAIT) { @@ -373,7 +373,7 @@ int daAlink_c::procWaitTurnInit() { mNormalSpeed = 0.0f; } - mProcVar3.field_0x300e.x = field_0x2fe2; + mProcVar3.field_0x300e = field_0x2fe2; current.angle.y = shape_angle.y; return 1; } @@ -387,7 +387,7 @@ int daAlink_c::procWaitTurn() { } else if (checkEndResetFlg0(ERFLG0_UNK_100000)) { return procFloorDownReboundInit(); } else { - s16 angle = cLib_addCalcAngleS(&shape_angle.y, mProcVar3.field_0x300e.x, 30, 0x3CDF, 8000); + s16 angle = cLib_addCalcAngleS(&shape_angle.y, mProcVar3.field_0x300e, 30, 0x3CDF, 8000); current.angle.y = shape_angle.y; if (checkNextActionFromButton()) { @@ -418,26 +418,26 @@ int daAlink_c::procMoveTurnInit(int param_0) { dComIfGp_setPlayerStatus0(0, 0x800); if (param_0 != 0) { - mProcVar3.field_0x300e.x = (daAlinkHIO_move_c0::m.mMaxTurnAngle * 4) + 19030; - mProcVar3.field_0x300e.y = daAlinkHIO_move_c0::m.mMaxTurnAngle * 2; + mProcVar3.field_0x300e = (daAlinkHIO_move_c0::m.mMaxTurnAngle * 4) + 19030; + mProcVar4.field_0x3010 = daAlinkHIO_move_c0::m.mMaxTurnAngle * 2; mProcVar1.field_0x300a = 2; current.angle.y = field_0x2fe2; mNormalSpeed *= 0.5f; } else { - mProcVar3.field_0x300e.x = daAlinkHIO_move_c0::m.mMaxTurnAngle * 2; - mProcVar3.field_0x300e.y = daAlinkHIO_move_c0::m.mMaxTurnAngle; + mProcVar3.field_0x300e = daAlinkHIO_move_c0::m.mMaxTurnAngle * 2; + mProcVar4.field_0x3010 = daAlinkHIO_move_c0::m.mMaxTurnAngle; mProcVar1.field_0x300a = 3; } - mProcVar3.field_0x300e.x = daAlinkHIO_move_c0::m.mMaxTurnAngle * 2; - mProcVar3.field_0x300e.y = daAlinkHIO_move_c0::m.mMaxTurnAngle; + mProcVar3.field_0x300e = daAlinkHIO_move_c0::m.mMaxTurnAngle * 2; + mProcVar4.field_0x3010 = daAlinkHIO_move_c0::m.mMaxTurnAngle; return 1; } /* 800C3D38-800C3DA0 0BE678 0068+00 1/0 0/0 0/0 .text procMoveTurn__9daAlink_cFv */ int daAlink_c::procMoveTurn() { setSpeedAndAngleNormal(); - cLib_addCalcAngleS(&shape_angle.y, current.angle.y, mProcVar1.field_0x300a, mProcVar3.field_0x300e.x, mProcVar3.field_0x300e.y); + cLib_addCalcAngleS(&shape_angle.y, current.angle.y, mProcVar1.field_0x300a, mProcVar3.field_0x300e, mProcVar4.field_0x3010); if (!checkNextAction(0)) { setBlendMoveAnime(-1.0f); @@ -486,7 +486,7 @@ int daAlink_c::procSideStepInit(int jump_type) { voiceStart(Z2SE_AL_V_JUMP_S); mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; return 1; } @@ -509,7 +509,7 @@ int daAlink_c::procSideStep() { if (checkUpperItemActionFly()) { return 1; - } else if (mLinkAcch.ChkGroundHit() && mProcVar3.field_0x300e.x != 0) { + } else if (mLinkAcch.ChkGroundHit() && mProcVar3.field_0x300e != 0) { if (mProcVar2.field_0x300c != 0 && checkSideRollAction(field_0x2f98)) { return 1; } else { @@ -523,7 +523,7 @@ int daAlink_c::procSideStep() { return procFallInit(2, daAlinkHIO_sideStep_c0::m.mFallInterpolation); } - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; checkItemChangeFromButton(); return 1; } @@ -612,12 +612,12 @@ int daAlink_c::procSlideInit(s16 param_0) { current.angle.y = param_0; if (getMoveBGActorName(mLinkAcch.m_gnd, FALSE) == PROC_Obj_Lv3R10Saka) { - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; } else { - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; } - if (cLib_distanceAngleS(param_0, shape_angle.y) < 0x3800 || mProcVar3.field_0x300e.x != 0) { + if (cLib_distanceAngleS(param_0, shape_angle.y) < 0x3800 || mProcVar3.field_0x300e != 0) { field_0x3198 = 1; setSingleAnimeParam(ANM_SLIDE_FORWARD, &daAlinkHIO_slide_c0::m.mForwardSlideAnm); dComIfGp_setPlayerStatus1(0, 0x100); @@ -640,7 +640,7 @@ int daAlink_c::procSlideInit(s16 param_0) { field_0x594 = daAlinkHIO_slide_c0::m.mMaxSpeed; field_0x33cc = 0.0f; mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; return 1; } @@ -661,7 +661,7 @@ int daAlink_c::procSlide() { } angleY += mProcVar2.field_0x300c; - cLib_addCalcAngleS(&mProcVar3.field_0x300e.y, sin * -4096.0f, 3, 300, 50); + cLib_addCalcAngleS(&mProcVar4.field_0x3010, sin * -4096.0f, 3, 300, 50); } cLib_addCalcAngleS(¤t.angle.y, angleY, 4, 0x1000, 0x400); @@ -1688,7 +1688,7 @@ int daAlink_c::procFallInit(int param_0, f32 param_1) { offNoResetFlg0(FLG0_UNDERWATER); } - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; if (param_0 == 1) { mNormalSpeed = 0.0f; @@ -1711,10 +1711,10 @@ int daAlink_c::procFallInit(int param_0, f32 param_1) { mNormalSpeed = field_0x3408; speed.y = field_0x340c; - mProcVar3.field_0x300e.z = 1; + mProcVar5.field_0x3012 = 1; } - mProcVar3.field_0x300e.y = temp_r30; + mProcVar4.field_0x3010 = temp_r30; setSingleAnimeBaseSpeed(ANM_JUMP_LAND, 0.0f, param_1); resetBasAnime(); @@ -1737,7 +1737,7 @@ int daAlink_c::procFallInit(int param_0, f32 param_1) { } mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.x = param_0 == 3; + mProcVar3.field_0x300e = param_0 == 3; offNoResetFlg0(FLG0_UNK_40000); mFallVoiceInit = 0; return 1; @@ -1746,10 +1746,10 @@ int daAlink_c::procFallInit(int param_0, f32 param_1) { /* 800C6D20-800C6F18 0C1660 01F8+00 1/0 0/0 0/0 .text procFall__9daAlink_cFv */ int daAlink_c::procFall() { - if (mProcVar3.field_0x300e.z == 0) { + if (mProcVar5.field_0x3012 == 0) { cLib_chaseF(&mNormalSpeed, 0.0f, 0.1f); - } else if (mProcVar3.field_0x300e.z > 0) { - mProcVar3.field_0x300e.z = -1; + } else if (mProcVar5.field_0x3012 > 0) { + mProcVar5.field_0x3012 = -1; return 1; } @@ -1759,7 +1759,7 @@ int daAlink_c::procFall() { } if (mLinkAcch.ChkGroundHit()) { - return checkLandAction(mProcVar3.field_0x300e.x); + return checkLandAction(mProcVar3.field_0x300e); } if (dComIfGs_getLife() != 0) { @@ -1883,11 +1883,11 @@ int daAlink_c::procSmallJumpInit(int param_0) { } mProcVar2.field_0x300c = cLib_targetAngleY(¤t.pos, &sp8); - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; setHeavyBoots(0); } else { field_0x3478 = field_0x34ec.y; - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; } } @@ -1930,11 +1930,11 @@ int daAlink_c::procSmallJump() { voiceStart(Z2SE_AL_V_JUMP_S); field_0x2f99 = 7; - if (mProcVar3.field_0x300e.x != 0) { + if (mProcVar3.field_0x300e != 0) { shape_angle.y = mProcVar2.field_0x300c; current.angle.y = shape_angle.y; } - } else if (mProcVar3.field_0x300e.x != 0) { + } else if (mProcVar3.field_0x300e != 0) { cLib_addCalcAngleS(&shape_angle.y, mProcVar2.field_0x300c, 3, 0x1000, 0x400); current.angle.y = shape_angle.y; } @@ -2046,8 +2046,8 @@ int daAlink_c::procCoMetamorphoseInit() { field_0x3198 = var_r29; mProcVar0.field_0x3008 = 0; - mProcVar3.field_0x300e.x = 0; - mProcVar3.field_0x300e.y = 0; + mProcVar3.field_0x300e = 0; + mProcVar4.field_0x3010 = 0; field_0x347c = 1.0f; mFallVoiceInit = 0; @@ -2065,7 +2065,7 @@ int daAlink_c::procCoMetamorphoseInit() { deleteEquipItem(FALSE, TRUE); if (checkEndResetFlg0(ERFLG0_UNK_2) && checkStageName("D_MN08")) { - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; } mProcVar1.field_0x300a = 0; @@ -2138,7 +2138,7 @@ int daAlink_c::procCoMetamorphoseInit() { } speed.y = 0.0f; mNormalSpeed = 0.0f; - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; } field_0x3484 = current.pos.y; @@ -2167,9 +2167,9 @@ int daAlink_c::procCoMetamorphose() { field_0x2f99 = 4; - if (mProcVar0.field_0x3008 != 0 && mProcVar3.field_0x300e.z == 0) { + if (mProcVar0.field_0x3008 != 0 && mProcVar5.field_0x3012 == 0) { if (mClothesChangeWaitTimer == 0) { - mProcVar3.field_0x300e.z = 1; + mProcVar5.field_0x3012 = 1; if (mDemo.getParam0() == 1 && (mDemo.getDemoMode() == 0x39 || mDemo.getDemoMode() == 0x3A)) { dComIfGp_evmng_cutEnd(field_0x3184); @@ -2209,8 +2209,8 @@ int daAlink_c::procCoMetamorphose() { } } - } else if (checkAnmEnd(temp_r29) || ((mDemo.getParam0() == 1) && (mDemo.getDemoMode() == 0x39 || mDemo.getDemoMode() == 0x3A)) || (mProcVar3.field_0x300e.z != 0 && temp_r29->getFrame() > field_0x3480 && (checkInputOnR() || doTrigger() || grassCancelTrigger()))) { - if (mProcVar3.field_0x300e.z != 0) { + } else if (checkAnmEnd(temp_r29) || ((mDemo.getParam0() == 1) && (mDemo.getDemoMode() == 0x39 || mDemo.getDemoMode() == 0x3A)) || (mProcVar5.field_0x3012 != 0 && temp_r29->getFrame() > field_0x3480 && (checkInputOnR() || doTrigger() || grassCancelTrigger()))) { + if (mProcVar5.field_0x3012 != 0) { deleteEquipItem(0, 0); if (field_0x3198 != 0) { @@ -2235,47 +2235,47 @@ int daAlink_c::procCoMetamorphose() { mpWlMidnaModel = NULL; mProcVar0.field_0x3008 = 1; - if (mProcVar3.field_0x300e.y != 0) { + if (mProcVar4.field_0x3010 != 0) { dComIfGs_onEventBit(0x5E40); } } field_0x33dc = temp_r29->getFrame(); - if (mProcVar3.field_0x300e.z != 0) { + if (mProcVar5.field_0x3012 != 0) { if (checkWolf()) { f32 var_f31 = 1.0f - (0.03846154f * field_0x33dc); if (var_f31 < 0.0f) { var_f31 = 0.0f; } - mProcVar3.field_0x300e.x = -64.0f * var_f31; + mProcVar3.field_0x300e = -64.0f * var_f31; } else if (field_0x33dc < 14.0f) { - mProcVar3.field_0x300e.x = 15.0 + (49.0 * (1.0 - (0.07142857142857142 * field_0x33dc))); + mProcVar3.field_0x300e = 15.0 + (49.0 * (1.0 - (0.07142857142857142 * field_0x33dc))); } else { f32 var_f31_2 = 1.0f - (0.2f * (field_0x33dc - 14.0f)); if (var_f31_2 < 0.0f) { var_f31_2 = 0.0f; } - mProcVar3.field_0x300e.x = 15.0f * var_f31_2; + mProcVar3.field_0x300e = 15.0f * var_f31_2; } } else if (checkWolf() != 0) { - mProcVar3.field_0x300e.x = -64.0 * (0.07142857142857142 * field_0x33dc); + mProcVar3.field_0x300e = -64.0 * (0.07142857142857142 * field_0x33dc); } else if (field_0x33dc < 9.0f) { - mProcVar3.field_0x300e.x = -15.0 * (0.1111111111111111 * field_0x33dc); + mProcVar3.field_0x300e = -15.0 * (0.1111111111111111 * field_0x33dc); } else { f32 var_f31_3 = 0.2f * (field_0x33dc - 9.0f); if (var_f31_3 > 1.0f) { var_f31_3 = 1.0f; } - mProcVar3.field_0x300e.x = -(15.0f + (49.0f * var_f31_3)); + mProcVar3.field_0x300e = -(15.0f + (49.0f * var_f31_3)); } if (!checkWolf()) { f32 var_f30; - if (mProcVar3.field_0x300e.z != 0) { + if (mProcVar5.field_0x3012 != 0) { var_f30 = (field_0x33dc - 13.0f) / 4.0f; } else { var_f30 = (field_0x33dc - 8.0f) / 5.0f; @@ -2283,7 +2283,7 @@ int daAlink_c::procCoMetamorphose() { var_f30 = cLib_minMaxLimit(var_f30, 0.0f, 1.0f); - if (mProcVar3.field_0x300e.z != 0) { + if (mProcVar5.field_0x3012 != 0) { field_0x347c = 0.5f + (0.027777778f * field_0x33dc); var_f30 = 1.0f - var_f30; } else { @@ -2314,10 +2314,10 @@ int daAlink_c::procCoMetamorphoseOnlyInit() { (!checkWolf() && mDemo.getDemoMode() == 0x47)) { mProcVar2.field_0x300c = 1; - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; } else { mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; } mNormalSpeed = 0.0f; @@ -2333,8 +2333,8 @@ int daAlink_c::procCoMetamorphoseOnly() { mClothesChangeWaitTimer = 4; mProcVar2.field_0x300c = 1; } else if (mClothesChangeWaitTimer == 0) { - if (mProcVar3.field_0x300e.x == 0) { - mProcVar3.field_0x300e.x = 1; + if (mProcVar3.field_0x300e == 0) { + mProcVar3.field_0x300e = 1; if (checkWolf()) { setSingleAnimeWolfBaseSpeed(WANM_WAIT, daAlinkHIO_wlMoveNoP_c0::m.field_0x14, @@ -2944,7 +2944,7 @@ int daAlink_c::execute() { field_0x2ff0 = 0; field_0x2fbb = 16; field_0x2fbd = 0; - field_0x2fa8 = 0; + mGndPolySpecialCode = dBgW_SPCODE_NORMAL; if (checkModeFlg(MODE_SWIMMING) && dComIfG_Bgsp().ChkPolySafe(mLinkAcch.m_wtr)) { mPolySound = dKy_pol_sound_get(&mLinkAcch.m_wtr); @@ -2967,14 +2967,14 @@ int daAlink_c::execute() { field_0x2ff0 = 0; field_0x3174 = dComIfG_Bgsp().GetGroundCode(mMagneLineChk); field_0x2fbb = dComIfG_Bgsp().GetPolyAtt0(mMagneLineChk); - field_0x2fa8 = dComIfG_Bgsp().GetSpecialCode(mMagneLineChk); + mGndPolySpecialCode = dComIfG_Bgsp().GetSpecialCode(mMagneLineChk); setMagneBootsMtx(&mMagneLineChk, 0); } else { mPolySound = 0; field_0x2ff0 = 0; field_0x3174 = -1; field_0x2fbb = 16; - field_0x2fa8 = 0; + mGndPolySpecialCode = dBgW_SPCODE_NORMAL; } } else { field_0x2f5c.mPow = 0.0f; @@ -3560,7 +3560,7 @@ int daAlink_c::draw() { if (mClothesChangeWaitTimer != 0) { if (mProcID == PROC_METAMORPHOSE) { - if (mProcVar3.field_0x300e.x > 0) { + if (mProcVar3.field_0x300e > 0) { tevStr.mFogColor.r = 255; } else { tevStr.mFogColor.r = -255; @@ -3584,9 +3584,9 @@ int daAlink_c::draw() { } else if (mProcID == PROC_METAMORPHOSE || mProcID == PROC_DUNGEON_WARP || mProcID == PROC_DUNGEON_WARP_SCN_START) { - tevStr.mFogColor.r = mProcVar3.field_0x300e.x; - tevStr.mFogColor.g = mProcVar3.field_0x300e.x; - tevStr.mFogColor.b = mProcVar3.field_0x300e.x; + tevStr.mFogColor.r = mProcVar3.field_0x300e; + tevStr.mFogColor.g = mProcVar3.field_0x300e; + tevStr.mFogColor.b = mProcVar3.field_0x300e; } else if (field_0x346c != 0.0f) { f32 var_f2 = fabsf(field_0x346c); tevStr.mFogColor.r = var_f2 * daAlinkHIO_wolf_c0::m.mLightDropR; @@ -3881,41 +3881,6 @@ static int daAlink_Draw(daAlink_c* i_this) { return i_this->draw(); } -/* ############################################################################################## */ -/* 803B3580-803B3590 0106A0 0010+00 3/3 0/0 0/0 .data __vt__15daAlink_sight_c */ -SECTION_DATA extern void* __vt__15daAlink_sight_c[4] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__15daAlink_sight_cFv, - (void*)__dt__15daAlink_sight_cFv, -}; - -/* 803B3590-803B35A0 0106B0 0010+00 4/4 0/0 0/0 .data __vt__20daAlink_lockCursor_c */ -SECTION_DATA extern void* __vt__20daAlink_lockCursor_c[4] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__20daAlink_lockCursor_cFv, - (void*)__dt__20daAlink_lockCursor_cFv, -}; - -/* 803B35A0-803B35B4 0106C0 0014+00 3/3 0/0 0/0 .data __vt__14daAlink_blur_c */ -SECTION_DATA extern void* __vt__14daAlink_blur_c[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)entry__9J3DPacketFP13J3DDrawBuffer, - (void*)draw__14daAlink_blur_cFv, - (void*)__dt__14daAlink_blur_cFv, -}; - -/* 803B35B4-803B35C8 0106D4 0014+00 3/3 0/0 0/0 .data __vt__29dAlink_bottleWaterPcallBack_c */ -SECTION_DATA extern void* __vt__29dAlink_bottleWaterPcallBack_c[5] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__29dAlink_bottleWaterPcallBack_cFv, - (void*)execute__29dAlink_bottleWaterPcallBack_cFP14JPABaseEmitterP15JPABaseParticle, - (void*)draw__19JPAParticleCallBackFP14JPABaseEmitterP15JPABaseParticle, -}; - /* 800CD7AC-800CE208 0C80EC 0A5C+00 1/1 0/0 0/0 .text __dt__9daAlink_cFv */ daAlink_c::~daAlink_c() { dComIfGp_clearPlayerStatus0(0, ~0x400030); @@ -3983,8 +3948,14 @@ bool daAlink_c::checkNoSubjectModeCamera() { /* 800CE468-800CE628 0C8DA8 01C0+00 2/2 0/0 0/0 .text acceptSubjectModeChange__9daAlink_cFv */ bool daAlink_c::acceptSubjectModeChange() { - // NONMATCHING - return 0; + return dCam_getBody()->ChangeModeOK(4) && + !checkNoSubjectModeCamera() && + !checkAttentionLock() && + !checkHorseLieAnime() && + !checkEventRun() && + !checkModeFlg(0x310040) && + (checkNoUpperAnime() || checkHorseTiredAnime() || checkGrabAnime() || checkWolfGrabAnime()) && + !(checkWolf() && checkWolfWaitSlipPolygon() && mLinkAcch.i_ChkGroundHit()); } /* 800CE628-800CE728 0C8F68 0100+00 5/5 0/0 0/0 .text checkSubjectAction__9daAlink_cFv */ @@ -4497,7 +4468,7 @@ extern "C" s16 getSumouCounter__9daAlink_cCFv(daAlink_c* this_) { /* 800D027C-800D0284 0CABBC 0008+00 1/0 0/0 0/0 .text checkSumouWithstand__9daAlink_cCFv */ extern "C" s16 checkSumouWithstand__9daAlink_cCFv(daAlink_c* this_) { - return this_->mProcVar3.field_0x300e.x; + return this_->mProcVar3.field_0x300e; } /* 800D0284-800D0290 0CABC4 000C+00 1/0 0/0 0/0 .text setMidnaMsgNum__9daAlink_cFP10fopAc_ac_cUs @@ -4622,7 +4593,7 @@ extern "C" BOOL checkGuardBreakMode__9daAlink_cCFv(daAlink_c* this_) { /* 800D047C-800D04A4 0CADBC 0028+00 1/0 0/0 0/0 .text checkLv3Slide__9daAlink_cCFv */ extern "C" bool checkLv3Slide__9daAlink_cCFv(daAlink_c* this_) { - return this_->mProcID == daAlink_c::PROC_SLIDE && this_->mProcVar3.field_0x300e.x != 0; + return this_->mProcID == daAlink_c::PROC_SLIDE && this_->mProcVar3.field_0x300e != 0; } /* 800D04A4-800D04B8 0CADE4 0014+00 1/0 0/0 0/0 .text checkWolfHowlDemoMode__9daAlink_cCFv */ @@ -4713,7 +4684,7 @@ extern "C" BOOL checkWolfRSit__9daAlink_cCFv(daAlink_c* this_) { /* 800D0638-800D0660 0CAF78 0028+00 1/0 0/0 0/0 .text checkBottleDrinkEnd__9daAlink_cCFv */ extern "C" BOOL checkBottleDrinkEnd__9daAlink_cCFv(daAlink_c* this_) { - return this_->mProcID == daAlink_c::PROC_BOTTLE_DRINK && this_->mProcVar3.field_0x300e.x != 0; + return this_->mProcID == daAlink_c::PROC_BOTTLE_DRINK && this_->mProcVar3.field_0x300e != 0; } /* 800D0660-800D0674 0CAFA0 0014+00 1/0 0/0 0/0 .text checkWolfDig__9daAlink_cCFv */ @@ -4801,7 +4772,7 @@ extern "C" void onSceneChangeDead__9daAlink_cFUci(daAlink_c* this_, u8 param_0, if (this_->mProcID != daAlink_c::PROC_DEAD) { return; } - this_->mProcVar3.field_0x300e.z = param_0; + this_->mProcVar5.field_0x3012 = param_0; this_->field_0x3198 = param_1; } @@ -4814,7 +4785,7 @@ extern "C" bool checkNoEquipItem__9daAlink_cCFv(daAlink_c* this_) { */ extern "C" s16 getBoardCutTurnOffsetAngleY__9daAlink_cCFv(daAlink_c* this_) { if (this_->mProcID == daAlink_c::PROC_BOARD_CUT_TURN) { - return this_->mProcVar3.field_0x300e.z; + return this_->mProcVar5.field_0x3012; } return 0; } @@ -4850,7 +4821,7 @@ extern "C" void setSumouPushBackDirection__9daAlink_cFs(daAlink_c* this_, s16 pa if (this_->mProcID != daAlink_c::PROC_SUMOU_MOVE) { return; } - this_->mProcVar3.field_0x300e.y = param_0; + this_->mProcVar4.field_0x3010 = param_0; } /* 800D0930-800D0948 0CB270 0018+00 1/0 0/0 0/0 .text setSumouLoseHeadUp__9daAlink_cFv */ @@ -4878,7 +4849,7 @@ extern "C" void setWolfEnemyHangBiteAngle__9daAlink_cFs(daAlink_c* this_, s16 an if (this_->mProcID != daAlink_c::PROC_WOLF_ENEMY_HANG_BITE) { return; } - this_->mProcVar3.field_0x300e.y = angle; + this_->mProcVar4.field_0x3010 = angle; } /* 800D0984-800D0998 0CB2C4 0014+00 1/0 0/0 0/0 .text setSumouGraspCancelCount__9daAlink_cFi */ @@ -4944,12 +4915,12 @@ extern "C" bool checkCopyRodEquip__9daAlink_cCFv(daAlink_c* this_) { /* 800D0A44-800D0A6C 0CB384 0028+00 1/0 0/0 0/0 .text checkCanoeFishingGetLeft__9daAlink_cCFv */ extern "C" bool checkCanoeFishingGetLeft__9daAlink_cCFv(daAlink_c* this_) { - return this_->mProcID == daAlink_c::PROC_CANOE_FISHING_GET && this_->mProcVar3.field_0x300e.x == 0; + return this_->mProcID == daAlink_c::PROC_CANOE_FISHING_GET && this_->mProcVar3.field_0x300e == 0; } /* 800D0A6C-800D0A94 0CB3AC 0028+00 1/0 0/0 0/0 .text checkCanoeFishingGetRight__9daAlink_cCFv */ extern "C" bool checkCanoeFishingGetRight__9daAlink_cCFv(daAlink_c* this_) { - return this_->mProcID == daAlink_c::PROC_CANOE_FISHING_GET && this_->mProcVar3.field_0x300e.x == 1; + return this_->mProcID == daAlink_c::PROC_CANOE_FISHING_GET && this_->mProcVar3.field_0x300e == 1; } /* 800D0A94-800D0A9C 0CB3D4 0008+00 1/0 0/0 0/0 .text checkBeeChildDrink__9daAlink_cCFv @@ -4978,7 +4949,7 @@ extern "C" void cancelOctaIealHang__9daAlink_cFv(daAlink_c* this_) { if (this_->mProcID != daAlink_c::PROC_BOSS_BODY_HANG) { return; } - this_->mProcVar3.field_0x300e.x = 1; + this_->mProcVar3.field_0x300e = 1; } /* 800D0B08-800D0B20 0CB448 0018+00 1/0 0/0 0/0 .text cancelDragonHangBackJump__9daAlink_cFv */ @@ -4986,7 +4957,7 @@ extern "C" void cancelDragonHangBackJump__9daAlink_cFv(daAlink_c* this_) { if (this_->mProcID != daAlink_c::PROC_BOSS_BODY_HANG) { return; } - this_->mProcVar3.field_0x300e.x = -1; + this_->mProcVar3.field_0x300e = -1; } /* 800D0B20-800D0B38 0CB460 0018+00 1/0 0/0 0/0 .text setOctaIealWildHang__9daAlink_cFv @@ -5015,42 +4986,12 @@ extern "C" void __dt__16daAlink_matAnm_cFv() { // NONMATCHING } -/* ############################################################################################## */ -/* 803B35C8-803B35EC 0106E8 0024+00 2/2 5/5 0/0 .data __vt__12dBgS_ObjAcch */ -SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dBgS_ObjAcchFv, - (void*)NULL, - (void*)NULL, - (void*)func_801446DC, - (void*)NULL, - (void*)NULL, - (void*)func_801446D4, -}; - /* 800D0C6C-800D0CDC 0CB5AC 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */ // dBgS_ObjAcch::~dBgS_ObjAcch() { extern "C" void __dt__12dBgS_ObjAcchFv() { // NONMATCHING } -/* ############################################################################################## */ -/* 803B35EC-803B3610 01070C 0014+10 3/3 0/0 0/0 .data __vt__Q29daAlink_c14hsChainShape_c - */ -SECTION_DATA extern void* __vt__Q29daAlink_c14hsChainShape_c[5 + 4 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)entry__9J3DPacketFP13J3DDrawBuffer, - (void*)draw__Q29daAlink_c14hsChainShape_cFv, - (void*)__dt__Q29daAlink_c14hsChainShape_cFv, - /* padding */ - NULL, - NULL, - NULL, - NULL, -}; - /* 800D0CDC-800D0D38 0CB61C 005C+00 1/0 0/0 0/0 .text __dt__Q29daAlink_c14hsChainShape_cFv */ extern "C" void __dt__Q29daAlink_c14hsChainShape_cFv() { // NONMATCHING diff --git a/src/d/actor/d_a_alink_spinner.inc b/src/d/actor/d_a_alink_spinner.inc index ae61f1d4912..92bff016c4a 100644 --- a/src/d/actor/d_a_alink_spinner.inc +++ b/src/d/actor/d_a_alink_spinner.inc @@ -192,11 +192,11 @@ int daAlink_c::procSpinnerWaitInit() { mNormalSpeed = 0.0f; mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.x = shape_angle.y; - mProcVar3.field_0x300e.y = 0; + mProcVar3.field_0x300e = shape_angle.y; + mProcVar4.field_0x3010 = 0; field_0x3198 = ANM_RIDE_CROUCH; field_0x33b0 = 70.0f; - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; field_0x37a4 = mRideAcKeep.getActor()->current.pos; return 1; @@ -235,7 +235,7 @@ int daAlink_c::procSpinnerWait() { } current.angle.y = shape_angle.y; - mProcVar3.field_0x300e.x = shape_angle.y; + mProcVar3.field_0x300e = shape_angle.y; } } else { if (checkSetItemTrigger(SPINNER) || swordSwingTrigger() || itemSetBtn == 2) { @@ -262,7 +262,7 @@ int daAlink_c::procSpinnerWait() { current.angle.y = spinner->current.angle.y; if (spinner->checkSpinnerTagIntoIncRot()) { - mProcVar3.field_0x300e.z = 1; + mProcVar5.field_0x3012 = 1; setSpinnerStatus(ACTION_STR_SPIN, ACTION_FLG_CONTINUATION); if (field_0x3198 != ANM_RIDE_KICK && field_0x2060->getOldFrameRate() < 0.01f) { @@ -272,7 +272,7 @@ int daAlink_c::procSpinnerWait() { fopAcM_seStartCurrent(spinner, Z2SE_OBJ_SPNR_SW_PUSH, 0); } } else if (spinner->checkSpinnerTagInto()) { - if (mProcVar3.field_0x300e.z != 0) { + if (mProcVar5.field_0x3012 != 0) { setSpinnerStatus(ACTION_STR_SPIN, ACTION_FLG_CONTINUATION); } else { setSpinnerStatus(ACTION_STR_SPIN, ACTION_FLG_DEFAULT); @@ -289,18 +289,18 @@ int daAlink_c::procSpinnerWait() { setSingleAnime(ANM_RIDE_JUMP, 0.0f, daAlinkHIO_board_c0::m.mAirborneAnm.mStartFrame, daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame, daAlinkHIO_board_c0::m.mAirborneAnm.mInterpolation); - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; } else if (field_0x3198 == ANM_RIDE_JUMP) { if (!spinner->getJumpFlg()) { setSingleAnime(ANM_RIDE_JUMP_LAND, daAlinkHIO_board_c0::m.mLandAnm.mSpeed, daAlinkHIO_board_c0::m.mLandAnm.mStartFrame, 16, daAlinkHIO_board_c0::m.mLandAnm.mInterpolation); field_0x3198 = ANM_RIDE_JUMP_LAND; - } else if (mProcVar3.field_0x300e.y == 0 && field_0x2060->getOldFrameRate() < 0.01f) { + } else if (mProcVar4.field_0x3010 == 0 && field_0x2060->getOldFrameRate() < 0.01f) { setSingleAnime(ANM_RIDE_JUMP, daAlinkHIO_board_c0::m.mAirborneAnm.mSpeed, daAlinkHIO_board_c0::m.mAirborneAnm.mStartFrame, daAlinkHIO_board_c0::m.mAirborneAnm.mEndFrame, -1.0f); - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; } } else if ((field_0x3198 == ANM_RIDE_JUMP_LAND && frameCtrl->checkAnmEnd()) || (field_0x3198 != ANM_RIDE_JUMP_LAND && field_0x3198 != ANM_RIDE_CROUCH)) { @@ -311,7 +311,7 @@ int daAlink_c::procSpinnerWait() { } setSpinnerSyncPos(); - shape_angle.y = mProcVar3.field_0x300e.x; + shape_angle.y = mProcVar3.field_0x300e; return 1; } diff --git a/src/d/actor/d_a_alink_sumou.inc b/src/d/actor/d_a_alink_sumou.inc index d784ecd5d91..e7d52592040 100644 --- a/src/d/actor/d_a_alink_sumou.inc +++ b/src/d/actor/d_a_alink_sumou.inc @@ -6,6 +6,7 @@ #include "d/actor/d_a_alink.h" #include "d/d_com_inf_game.h" #include "d/actor/d_a_npc_wrestler.h" +#include "d/actor/d_a_boomerang.h" /* 800EA844-800EA8D0 0E5184 008C+00 5/5 0/0 0/0 .text checkSumouVsActor__9daAlink_cFv */ BOOL daAlink_c::checkSumouVsActor() { @@ -56,7 +57,7 @@ int daAlink_c::procSumouReadyInit() { field_0x2f99 = 4; mSpecialMode = 1; mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; deleteEquipItem(FALSE, TRUE); if (mThrowBoomerangAcKeep.getActor() != NULL) { @@ -84,7 +85,7 @@ int daAlink_c::procSumouReady() { } if (sumouPunchTrigger()) { - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; } } @@ -118,12 +119,12 @@ int daAlink_c::procSumouReady() { } if (mSpecialMode == 0x1C || mSpecialMode == 0x1B || mProcVar2.field_0x300c != 0 || - mProcVar3.field_0x300e.x != 0 || + mProcVar3.field_0x300e != 0 || (static_cast(mCargoCarryAcKeep.getActor())->getWrestlerAction() == 3 && !checkZeroSpeedF())) { - procSumouActionInit(mProcVar2.field_0x300c, mProcVar3.field_0x300e.x, 0); + procSumouActionInit(mProcVar2.field_0x300c, mProcVar3.field_0x300e, 0); } else { procSumouSideMoveInit(); } @@ -173,8 +174,8 @@ int daAlink_c::procSumouMoveInit() { field_0x3198 = anm; current.angle.y = shape_angle.y; - mProcVar3.field_0x300e.x = 0; - mProcVar3.field_0x300e.y = 0; + mProcVar3.field_0x300e = 0; + mProcVar4.field_0x3010 = 0; mNormalSpeed = 0.0f; mProcVar1.field_0x300a = 0x4B; setFootEffectProcType(5); @@ -228,7 +229,7 @@ int daAlink_c::procSumouMove() { field_0x32cc = Z2SE_AL_V_SUMO_HOLD_BACK; field_0x3198 = ANM_SUMOU_PUSH_BACK; } - } else if (mProcVar3.field_0x300e.x == 0) { + } else if (mProcVar3.field_0x300e == 0) { if (mProcVar2.field_0x300c > 0 && doTrigger()) { mProcVar2.field_0x300c--; } @@ -249,7 +250,7 @@ int daAlink_c::procSumouMove() { dMeter2Info_onBlinkButton(1); if (mSpecialMode == 0x24 || (mSpeedModifier < 0.0f && mProcVar2.field_0x300c == 0)) { - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; field_0x2f99 = 12; if (mSpeedModifier > 0.0f) { @@ -287,8 +288,8 @@ int daAlink_c::procSumouMove() { } } } else if (mSpeedModifier < 0.0f) { - var_r31 = mProcVar3.field_0x300e.y; - mProcVar3.field_0x300e.y = 0; + var_r31 = mProcVar4.field_0x3010; + mProcVar4.field_0x3010 = 0; } if (var_r31 != 0) { @@ -450,7 +451,7 @@ int daAlink_c::procSumouActionInit(BOOL i_doTrigger, BOOL i_punchTrigger, int un daNpcWrestler_c* wrestler_p = (daNpcWrestler_c*)mCargoCarryAcKeep.getActor(); int wrestler_action = wrestler_p->getWrestlerAction(); - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; daAlink_ANM anm; if (mSpecialMode == 0x21) { @@ -470,7 +471,7 @@ int daAlink_c::procSumouActionInit(BOOL i_doTrigger, BOOL i_punchTrigger, int un } anm = var_r0; - mProcVar3.field_0x300e.z = 1; + mProcVar5.field_0x3012 = 1; } else { anm = ANM_SUMOU_PUNCH_SHOCK; } @@ -498,7 +499,7 @@ int daAlink_c::procSumouActionInit(BOOL i_doTrigger, BOOL i_punchTrigger, int un } anm = var_r0_2; - mProcVar3.field_0x300e.z = 1; + mProcVar5.field_0x3012 = 1; } else { anm = ANM_SUMOU_PUNCH_SHOCK; } @@ -552,29 +553,29 @@ int daAlink_c::procSumouActionInit(BOOL i_doTrigger, BOOL i_punchTrigger, int un mDoMtx_stack_c::transS(current.pos); mDoMtx_stack_c::YrotM(shape_angle.y); - mProcVar3.field_0x300e.x = 0x82; + mProcVar3.field_0x300e = 0x82; if (mSpecialMode == 0x19) { dComIfGp_setAdvanceDirection(1); - mProcVar3.field_0x300e.y = shape_angle.y - 0x2800; + mProcVar4.field_0x3010 = shape_angle.y - 0x2800; field_0x2f98 = 2; } else if (mSpecialMode == 0x1A) { field_0x2f98 = 3; dComIfGp_setAdvanceDirection(4); - mProcVar3.field_0x300e.y = shape_angle.y + 0x2800; + mProcVar4.field_0x3010 = shape_angle.y + 0x2800; } else if (i_doTrigger) { setDoStatusEmphasys(0x15); - mProcVar3.field_0x300e.x = 0x15; + mProcVar3.field_0x300e = 0x15; field_0x2f98 = 4; } else if (i_punchTrigger) { setSumouPunchStatus(); - mProcVar3.field_0x300e.x = 0x44; + mProcVar3.field_0x300e = 0x44; field_0x2f98 = 4; } else if (!checkZeroSpeedF()) { if (field_0x2f98 == 2) { - mProcVar3.field_0x300e.y = shape_angle.y - 0x2800; + mProcVar4.field_0x3010 = shape_angle.y - 0x2800; } else { - mProcVar3.field_0x300e.y = shape_angle.y + 0x2800; + mProcVar4.field_0x3010 = shape_angle.y + 0x2800; } } else { field_0x2f98 = 4; @@ -669,12 +670,12 @@ int daAlink_c::procSumouAction() { } if (mSpecialMode == 0x19 || mSpecialMode == 0x1A) { - cLib_addCalcAngleS(&shape_angle.y, mProcVar3.field_0x300e.y, 2, 0x400, 0x40); + cLib_addCalcAngleS(&shape_angle.y, mProcVar4.field_0x3010, 2, 0x400, 0x40); current.angle.y = shape_angle.y; current.pos.set(field_0x37c8.x - field_0x3478 * cM_ssin(current.angle.y), field_0x37c8.y, field_0x37c8.z - field_0x3478 * cM_scos(current.angle.y)); - if (mProcVar2.field_0x300c >= 29 || shape_angle.y == mProcVar3.field_0x300e.y) { + if (mProcVar2.field_0x300c >= 29 || shape_angle.y == mProcVar4.field_0x3010) { procSumouSideMoveInit(); } } else { @@ -684,8 +685,8 @@ int daAlink_c::procSumouAction() { cLib_targetAngleY(¤t.pos, &mCargoCarryAcKeep.getActor()->current.pos), 2, 0x2000, 0x800); current.angle.y = shape_angle.y; - } else if (mSpecialMode == 0x1E && mProcVar3.field_0x300e.z != 0) { - cLib_addCalcAngleS(&shape_angle.y, mProcVar3.field_0x300e.y, 2, 0x400, 0x40); + } else if (mSpecialMode == 0x1E && mProcVar5.field_0x3012 != 0) { + cLib_addCalcAngleS(&shape_angle.y, mProcVar4.field_0x3010, 2, 0x400, 0x40); current.angle.y = shape_angle.y; current.pos.set(field_0x37c8.x - field_0x3478 * cM_ssin(current.angle.y), @@ -699,9 +700,9 @@ int daAlink_c::procSumouAction() { current.angle.y = shape_angle.y; } - if (mProcVar3.field_0x300e.x == 0x15) { + if (mProcVar3.field_0x300e == 0x15) { setDoStatusEmphasys(0x15); - } else if (mProcVar3.field_0x300e.x == 0x44) { + } else if (mProcVar3.field_0x300e == 0x44) { setSumouPunchStatus(); } @@ -717,11 +718,11 @@ int daAlink_c::procSumouAction() { } else { procSumouMoveInit(); } - } else if (mProcVar3.field_0x300e.z != 0) { + } else if (mProcVar5.field_0x3012 != 0) { if (mProcVar2.field_0x300c > 12.0f) { setSingleAnime(ANM_SUMOU_PUNCH_SHOCK, 1.0f, mProcVar2.field_0x300c, -1, 3.0f); field_0x2f99 = 12; - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; voiceStart(Z2SE_AL_V_SUMO_HARITE_DMG); field_0x3198 = 0x152; } @@ -832,7 +833,7 @@ int daAlink_c::procSumouWinLoseInit() { setSpecialGravity(0.0f, maxFallSpeed, 0); speed.y = 0.0f; setFootEffectProcType(5); - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; field_0x33b0 = 20.0f; return 1; } @@ -840,7 +841,7 @@ int daAlink_c::procSumouWinLoseInit() { /* 800EC3D8-800EC538 0E6D18 0160+00 1/0 0/0 0/0 .text procSumouWinLose__9daAlink_cFv */ int daAlink_c::procSumouWinLose() { - if (mProcVar3.field_0x300e.x == 0) { + if (mProcVar3.field_0x300e == 0) { if (mProcVar2.field_0x300c != 0) { field_0x2f99 = 4; } else { @@ -855,7 +856,7 @@ int daAlink_c::procSumouWinLose() { } if (checkAnmEnd(frameCtrl_p)) { - if (mProcVar2.field_0x300c != 0 || mProcVar3.field_0x300e.x != 0) { + if (mProcVar2.field_0x300c != 0 || mProcVar3.field_0x300e != 0) { cancelSumouMode(); procWaitInit(); } else { @@ -864,9 +865,9 @@ int daAlink_c::procSumouWinLose() { field_0x3478 = 1000.0f; field_0x3198 = ANM_SUMOU_KNOCKED_DOWN; } - } else if (mProcVar3.field_0x300e.x == 0 && mSpecialMode == 0x25) { + } else if (mProcVar3.field_0x300e == 0 && mSpecialMode == 0x25) { setSingleAnimeBase(ANM_SUMOU_GET_UP); - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; field_0x3478 = 1000.0f; field_0x3198 = ANM_SUMOU_GET_UP; } diff --git a/src/d/actor/d_a_alink_swim.inc b/src/d/actor/d_a_alink_swim.inc index 31dc7ef44ec..651b8d7f994 100644 --- a/src/d/actor/d_a_alink_swim.inc +++ b/src/d/actor/d_a_alink_swim.inc @@ -129,7 +129,7 @@ void daAlink_c::setWaterInAnmRate(daPy_frameCtrl_c* i_frameCtrl, f32 i_rate) { } /* 80101D70-801023E4 0FC6B0 0674+00 2/2 0/0 0/0 .text swimBgCheck__9daAlink_cFf */ -#ifdef NONMATCHING +// NONMATCHING void daAlink_c::swimBgCheck(f32 param_0) { offNoResetFlg1(FLG1_UNK_20000000); @@ -205,11 +205,6 @@ void daAlink_c::swimBgCheck(f32 param_0) { field_0x3092 = cM_atan2s(-fvar14, -fvar15); } } -#else -void daAlink_c::swimBgCheck(f32 param_0) { - // NONMATCHING -} -#endif /* 801023E4-801029C8 0FCD24 05E4+00 3/3 0/0 0/0 .text setSpeedAndAngleSwim__9daAlink_cFv */ @@ -369,7 +364,7 @@ int daAlink_c::procSwimUpInit() { setSingleAnimeParam(ANM_SWIM_RESURFACE, &daAlinkHIO_swim_c0::m.mResurfaceAnm); dComIfGp_setPlayerStatus0(0, 0x100000); mProcVar0.field_0x3008 = 0; - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight; field_0x3000 = 0; @@ -422,10 +417,10 @@ int daAlink_c::procSwimWaitInit(int param_0) { if (param_0) { seStartMapInfo(Z2SE_AL_INTO_WATER); - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight; } else if (!mode_40000) { - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight; } @@ -526,7 +521,7 @@ int daAlink_c::procSwimMoveInit() { if (!mode_40000) { field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight; - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; } if (proc_swim_dive || proc_dive_jump) { @@ -534,8 +529,8 @@ int daAlink_c::procSwimMoveInit() { if (proc_dive_jump) { field_0x3080 = 0x2800; - mProcVar3.field_0x300e.x = field_0x3080; - mProcVar3.field_0x300e.y = 1; + mProcVar3.field_0x300e = field_0x3080; + mProcVar4.field_0x3010 = 1; setOldRootQuaternion(-field_0x3080, 0, 0); } } else { @@ -613,7 +608,7 @@ int daAlink_c::procSwimDiveInit() { field_0x2f99 = 0x10; field_0x3588 = l_waitBaseAnime; field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight; - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; dComIfGp_setPlayerStatus0(0, 0x100000); field_0x3000 = 30; @@ -657,8 +652,8 @@ int daAlink_c::procSwimDive() { if (mProcVar2.field_0x300c != 0) { field_0x3080 = 0x2800; - mProcVar3.field_0x300e.x = field_0x3080; - mProcVar3.field_0x300e.y = 1; + mProcVar3.field_0x300e = field_0x3080; + mProcVar4.field_0x3010 = 1; } setOldRootQuaternion(-field_0x3080, 0, 0); @@ -700,7 +695,7 @@ int daAlink_c::procSwimHookshotSubjectInit() { field_0x594 = getSwimFrontMaxSpeed(); field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight; - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; field_0x30d0 = 0; setHookshotReadyMaterial(); @@ -778,7 +773,7 @@ int daAlink_c::procSwimHookshotMoveInit() { } field_0x3480 = daAlinkHIO_swim_c0::m.mInitHeight; - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; field_0x30d0 = 0; dComIfGp_setPlayerStatus0(0, 0x104000); @@ -841,8 +836,7 @@ int daAlink_c::procSwimHookshotMove() { /* 8010519C-80105728 0FFADC 058C+00 1/1 0/0 0/0 .text * procSwimDamageInit__9daAlink_cFP12dCcD_GObjInf */ -// instruction block order issue -#ifdef NONMATCHING +// NONMATCHING - instruction block order issue int daAlink_c::procSwimDamageInit(dCcD_GObjInf* param_0) { seStartOnlyReverb(Z2SE_AL_DAMAGE_NORMAL); dComIfGp_getVibration().StartShock(2, 31, cXyz(0.0f, 1.0f, 0.0f)); @@ -921,12 +915,6 @@ int daAlink_c::procSwimDamageInit(dCcD_GObjInf* param_0) { return 1; } -#else -int daAlink_c::procSwimDamageInit(dCcD_GObjInf* param_0) { - // NONMATCHING - return 0; -} -#endif /* 80105728-801058A0 100068 0178+00 1/0 0/0 0/0 .text procSwimDamage__9daAlink_cFv */ int daAlink_c::procSwimDamage() { diff --git a/src/d/actor/d_a_alink_swindow.inc b/src/d/actor/d_a_alink_swindow.inc index 4587dc1889b..856eadaf42b 100644 --- a/src/d/actor/d_a_alink_swindow.inc +++ b/src/d/actor/d_a_alink_swindow.inc @@ -4,6 +4,7 @@ */ #include "d/actor/d_a_alink.h" +#include "JSystem/JKernel/JKRExpHeap.h" /* 8013FF28-8013FF90 13A868 0068+00 2/2 0/0 0/0 .text setArcName__9daAlink_cFi */ void daAlink_c::setArcName(BOOL i_isWolf) { @@ -386,4 +387,4 @@ void daAlink_c::resetStatusWindow() { offNoResetFlg2(FLG2_STATUS_WINDOW_DRAW); m_sWindowBck = NULL; -} \ No newline at end of file +} diff --git a/src/d/actor/d_a_alink_whistle.inc b/src/d/actor/d_a_alink_whistle.inc index cdd1d8727bb..798d00ff954 100644 --- a/src/d/actor/d_a_alink_whistle.inc +++ b/src/d/actor/d_a_alink_whistle.inc @@ -75,9 +75,9 @@ int daAlink_c::procGrassWhistleGetInit() { daObjYobikusa_c* yobikusa_p = (daObjYobikusa_c*)field_0x27f4; mProcVar2.field_0x300c = yobikusa_p->getType(); - mProcVar3.field_0x300e.x = yobikusa_p->getPathID(); - mProcVar3.field_0x300e.y = yobikusa_p->isPlayerCorrect(); - mProcVar3.field_0x300e.z = yobikusa_p->shape_angle.y + 0x8000; + mProcVar3.field_0x300e = yobikusa_p->getPathID(); + mProcVar4.field_0x3010 = yobikusa_p->isPlayerCorrect(); + mProcVar5.field_0x3012 = yobikusa_p->shape_angle.y + 0x8000; field_0x37c8.set(yobikusa_p->current.pos.x + cM_ssin(yobikusa_p->shape_angle.y) * 50.0f, yobikusa_p->current.pos.y + 50.0f, yobikusa_p->current.pos.z + cM_scos(yobikusa_p->shape_angle.y) * 50.0f); @@ -92,8 +92,8 @@ int daAlink_c::procGrassWhistleGet() { daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; if (frameCtrl_p->checkAnmEnd()) { - procGrassWhistleWaitInit(mProcVar2.field_0x300c, mProcVar3.field_0x300e.x, - mProcVar3.field_0x300e.y, mProcVar3.field_0x300e.z, &field_0x37c8); + procGrassWhistleWaitInit(mProcVar2.field_0x300c, mProcVar3.field_0x300e, + mProcVar4.field_0x3010, mProcVar5.field_0x3012, &field_0x37c8); } else if (mEquipItem == NO_ITEM && frameCtrl_p->getFrame() >= 9.0f) { setGrassWhistleModel(mProcVar2.field_0x300c); @@ -146,12 +146,12 @@ int daAlink_c::procGrassWhistleWaitInit(int param_0, int param_1, int param_2, s setUpperAnimeBaseMorf(getMainBckData(ANM_GRASS_WHISTLE_START)->m_underID, -1.0f); setFacePriAnime(ANM_GRASS_WHISTLE_START); mProcVar2.field_0x300c = param_0; - mProcVar3.field_0x300e.x = param_1; + mProcVar3.field_0x300e = param_1; dCam_getBody()->StartEventCamera(12, fopAcM_GetID(this), 0); mProcVar0.field_0x3008 = 0; - mProcVar3.field_0x300e.y = 0; - mProcVar3.field_0x300e.z = 0; + mProcVar4.field_0x3010 = 0; + mProcVar5.field_0x3012 = 0; mMsgClassID = -1; mNormalSpeed = 0.0f; current.angle.y = shape_angle.y; @@ -176,10 +176,9 @@ int daAlink_c::procGrassWhistleWaitInit(int param_0, int param_1, int param_2, s /* 80111CA4-80111FF0 10C5E4 034C+00 1/0 0/0 0/0 .text procGrassWhistleWait__9daAlink_cFv */ -// small regalloc -#ifdef NONMATCHING +// NONMATCHING - small regalloc int daAlink_c::procGrassWhistleWait() { - if (mProcVar3.field_0x300e.z != 0) { + if (mProcVar5.field_0x3012 != 0) { if (checkEndMessage(field_0x32cc)) { resetSpecialEvent(); return procWaitInit(); @@ -206,7 +205,7 @@ int daAlink_c::procGrassWhistleWait() { if (field_0x3198 == 0x100) { tk_p->setEvent(); - tk_p->setHawkPath(mProcVar3.field_0x300e.x); + tk_p->setHawkPath(mProcVar3.field_0x300e); } mProcVar0.field_0x3008--; @@ -227,7 +226,7 @@ int daAlink_c::procGrassWhistleWait() { } setFaceBasicTexture(FTANM_UNK_0); - mProcVar3.field_0x300e.z = 1; + mProcVar5.field_0x3012 = 1; return 1; } @@ -270,23 +269,17 @@ int daAlink_c::procGrassWhistleWait() { return 1; } -#else -int daAlink_c::procGrassWhistleWait() { - // NONMATCHING - return 0; -} -#endif /* 80111FF0-801120C8 10C930 00D8+00 2/2 0/0 0/0 .text procCoHorseCallWaitInit__9daAlink_cFi */ int daAlink_c::procCoHorseCallWaitInit(int param_0) { commonProcInit(PROC_HORSE_CALL_WAIT); if (param_0 == 4) { - mProcVar3.field_0x300e.y = 2; + mProcVar4.field_0x3010 = 2; } else if (param_0 == 1) { - mProcVar3.field_0x300e.y = 0x3D; + mProcVar4.field_0x3010 = 0x3D; } else { - mProcVar3.field_0x300e.y = 0x10; + mProcVar4.field_0x3010 = 0x10; } if (checkWolf()) { diff --git a/src/d/actor/d_a_alink_wolf.inc b/src/d/actor/d_a_alink_wolf.inc index 3019e263821..0ebcf330565 100644 --- a/src/d/actor/d_a_alink_wolf.inc +++ b/src/d/actor/d_a_alink_wolf.inc @@ -104,8 +104,7 @@ void daAlink_c::changeCommon() { /* 80126928-80126F3C 121268 0614+00 2/2 0/0 0/0 .text changeWolf__9daAlink_cFv */ -// small regalloc, equivalent? -#ifdef NONMATCHING +// NONMATCHING - small regalloc, equivalent? void daAlink_c::changeWolf() { JKRHeap* current_heap = mAnmHeap3.setAnimeHeap(); @@ -242,18 +241,12 @@ void daAlink_c::changeWolf() { field_0x2fc7 = dStage_stagInfo_GetWolfDashType(dComIfGp_getStage()->getStagInfo()); } -#else -void daAlink_c::changeWolf() { - // NONMATCHING -} -#endif /* 80126F3C-80127C54 12187C 0D18+00 2/2 0/0 0/0 .text changeLink__9daAlink_cFi */ -// almost, small regalloc -#ifdef NONMATCHING +// NONMATCHING - almost, small regalloc void daAlink_c::changeLink(int param_0) { JKRHeap* current_heap = mAnmHeap3.setAnimeHeap(); - offNoResetFlg2(0x180000); + offNoResetFlg2(daPy_FLG2(FLG2_UNK_100000 | FLG2_UNK_80000)); mMagicArmorBodyBrk = NULL; mMagicArmorHeadBrk = NULL; @@ -528,11 +521,6 @@ void daAlink_c::changeLink(int param_0) { mpWlMidnaHairModel = NULL; } } -#else -void daAlink_c::changeLink(int param_0) { - // NONMATCHING -} -#endif /* 80127C54-80127CAC 122594 0058+00 2/2 0/0 0/0 .text onWolfEyeUp__9daAlink_cFv */ void daAlink_c::onWolfEyeUp() { @@ -1008,7 +996,7 @@ int daAlink_c::checkNextActionWolf(int param_0) { } else { var_r30 = checkWaitAction(); } - } else if (checkInputOnR() && field_0x2fa8 != 8 && abs(field_0x3180) < 0x5000 && + } else if (checkInputOnR() && mGndPolySpecialCode != dBgW_SPCODE_ICE && abs(field_0x3180) < 0x5000 && cLib_distanceAngleS(field_0x2fe2, current.angle.y) > 0x7000 && ((checkWolfDashMode() && speedF / field_0x594 > daAlinkHIO_wlMove_c0::m.field_0xA0) || @@ -1187,7 +1175,7 @@ void daAlink_c::setWolfChainPos() { } /* 8012CB0C-8012CBE4 12744C 00D8+00 1/1 0/0 0/0 .text setWolfAnmVoice__9daAlink_cFv */ -#ifdef NONMATCHING +// NONMATCHING - wrong block order void daAlink_c::setWolfAnmVoice() { s8* var_r30 = field_0x2160; @@ -1203,22 +1191,17 @@ void daAlink_c::setWolfAnmVoice() { var_r30++; } } -#else -void daAlink_c::setWolfAnmVoice() { - // NONMATCHING -} -#endif /* 8012CBE4-8012CD28 127524 0144+00 4/4 0/0 0/0 .text procWolfServiceWaitInit__9daAlink_cFi */ int daAlink_c::procWolfServiceWaitInit(int param_0) { commonProcInit(PROC_WOLF_SERVICE_WAIT); - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; if (param_0 == 2) { setSingleAnimeWolfBase(WANM_SERVICE_WAIT_D); field_0x3198 = 0; mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.z = 1; + mProcVar5.field_0x3012 = 1; } else if (param_0 == 1) { if (cM_rnd() < 0.5f) { setSingleAnimeWolfBase(WANM_SERVICE_WAIT_A); @@ -1238,7 +1221,7 @@ int daAlink_c::procWolfServiceWaitInit(int param_0) { mProcVar2.field_0x300c = 0; } - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; mProcVar0.field_0x3008 = cM_rndF(150.0f) + 150.0f; mNormalSpeed = 0.0f; current.angle.y = shape_angle.y; @@ -1329,7 +1312,7 @@ int daAlink_c::procWolfWaitInit() { return 0; } - if (mProcID == PROC_WOLF_SERVICE_WAIT && (!checkEventRun() || mProcVar3.field_0x300e.z != 0) && + if (mProcID == PROC_WOLF_SERVICE_WAIT && (!checkEventRun() || mProcVar5.field_0x3012 != 0) && (field_0x3198 == 0 || !checkAnmEnd(mUnderFrameCtrl)) && checkNoUpperAnime()) { return 0; @@ -1404,7 +1387,7 @@ int daAlink_c::procWolfDashInit() { onNoResetFlg1(FLG1_DASH_MODE); mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; if (checkWolfSlowDash()) { field_0x30d0 = daAlinkHIO_wlMove_c0::m.field_0x5A; @@ -1462,11 +1445,11 @@ int daAlink_c::procWolfDash() { } if (swordSwingTrigger()) { - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; } if (checkAnmEnd(frameCtrl_p)) { - if (mProcVar3.field_0x300e.x != 0) { + if (mProcVar3.field_0x300e != 0) { return checkWolfAttackAction(); } @@ -1480,7 +1463,7 @@ int daAlink_c::procWolfDash() { return checkNextActionWolf(0); } else if (frameCtrl_p->getFrame() > daAlinkHIO_wlMove_c0::m.field_0x28.mCheckFrame) { - if (mProcVar3.field_0x300e.x != 0) { + if (mProcVar3.field_0x300e != 0) { return checkWolfAttackAction(); } @@ -1645,7 +1628,7 @@ int daAlink_c::procWolfWaitTurnInit() { mNormalSpeed = 0.0f; } - mProcVar3.field_0x300e.x = field_0x2fe2; + mProcVar3.field_0x300e = field_0x2fe2; current.angle.y = shape_angle.y; return 1; } @@ -1664,7 +1647,7 @@ int daAlink_c::procWolfWaitTurn() { return 1; } - s16 var_r31 = cLib_addCalcAngleS(&shape_angle.y, mProcVar3.field_0x300e.x, 30, 0x3CDF, 8000); + s16 var_r31 = cLib_addCalcAngleS(&shape_angle.y, mProcVar3.field_0x300e, 30, 0x3CDF, 8000); current.angle.y = shape_angle.y; if (checkNextActionFromButton()) { @@ -1731,8 +1714,8 @@ int daAlink_c::procWolfSideStepInit(int param_0) { mProcVar1.field_0x300a = 1; } - mProcVar3.field_0x300e.z = 0; - mProcVar3.field_0x300e.x = 0; + mProcVar5.field_0x3012 = 0; + mProcVar3.field_0x300e = 0; voiceStart(Z2SE_WL_V_BREATH_JUMP); return 1; } @@ -1757,8 +1740,8 @@ int daAlink_c::procWolfSideStep() { checkWolfAtnDoCharge(); - if (mLinkAcch.ChkGroundHit() && mProcVar3.field_0x300e.x != 0) { - return procWolfSideStepLandInit(mProcVar3.field_0x300e.z); + if (mLinkAcch.ChkGroundHit() && mProcVar3.field_0x300e != 0) { + return procWolfSideStepLandInit(mProcVar5.field_0x3012); } if (mDemo.getDemoMode() != 0x10 && @@ -1768,7 +1751,7 @@ int daAlink_c::procWolfSideStep() { return procWolfFallInit(2, daAlinkHIO_wlSideStep_c0::m.field_0x64); } - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; return 1; } @@ -1788,7 +1771,7 @@ int daAlink_c::procWolfSideStepLandInit(s16 param_0) { field_0x3478 = daAlinkHIO_wlSideStep_c0::m.field_0x14.mCheckFrame; } - mProcVar3.field_0x300e.z = param_0; + mProcVar5.field_0x3012 = param_0; field_0x2f9d = 4; setFootEffectProcType(2); onResetFlg1(RFLG1_UNK_C); @@ -1856,12 +1839,12 @@ int daAlink_c::procWolfBackJumpInit(int param_0) { current.angle.y = shape_angle.y + 0x8000; field_0x3478 = mNormalSpeed; - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; if (param_0 == 0) { - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; } else { - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; } return 1; @@ -1873,14 +1856,14 @@ int daAlink_c::procWolfBackJump() { daAlinkHIO_wlAtnMove_c0::m.field_0x0, daAlinkHIO_wlAtnMove_c0::m.field_0x2); current.angle.y = shape_angle.y - -0x8000; - if (mProcVar3.field_0x300e.y != 0) { + if (mProcVar4.field_0x3010 != 0) { checkWolfAtnDoCharge(); } backJumpSpeedDec(); if (mUnderFrameCtrl[0].checkAnmEnd() && mLinkAcch.ChkGroundHit()) { - procWolfBackJumpLandInit(mProcVar3.field_0x300e.z, mProcVar3.field_0x300e.y); + procWolfBackJumpLandInit(mProcVar5.field_0x3012, mProcVar4.field_0x3010); } else if (mDemo.getDemoMode() != 0x10 && current.pos.y < mLastJumpPos.y - daAlinkHIO_wlBackJump_c0::m.field_0x30) { @@ -1899,8 +1882,8 @@ int daAlink_c::procWolfBackJumpLandInit(s16 param_0, s16 param_1) { field_0x2f9d = 4; setFootEffectProcType(2); field_0x2fcc = 10; - mProcVar3.field_0x300e.z = param_0; - mProcVar3.field_0x300e.y = param_1; + mProcVar5.field_0x3012 = param_0; + mProcVar4.field_0x3010 = param_1; setStepLandVibration(); return 1; @@ -1917,7 +1900,7 @@ int daAlink_c::procWolfBackJumpLand() { setWolfAtnMoveDirection(); - if (mProcVar3.field_0x300e.y != 0) { + if (mProcVar4.field_0x3010 != 0) { checkWolfAtnDoCharge(); } @@ -1946,11 +1929,11 @@ int daAlink_c::procWolfHowlInit(int param_0) { setSingleAnimeWolfParam(WANM_HOWL_SIT, &daAlinkHIO_wlHowl_c0::m.field_0x14); onModeFlg(0x800000); field_0x3478 = daAlinkHIO_wlHowl_c0::m.field_0x14.mCheckFrame; - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; } else { setSingleAnimeWolfParam(WANM_HOWL, &daAlinkHIO_wlHowl_c0::m.field_0x0); field_0x3478 = daAlinkHIO_wlHowl_c0::m.field_0x0.mCheckFrame; - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; } mNormalSpeed = 0.0f; @@ -1965,13 +1948,13 @@ int daAlink_c::procWolfHowl() { if (checkAnmEnd(frameCtrl_p)) { if (doButton()) { - procWolfHowlInit(mProcVar3.field_0x300e.x); + procWolfHowlInit(mProcVar3.field_0x300e); } else { checkNextActionWolf(0); } } else if (frameCtrl_p->getFrame() > field_0x3478) { if (doButton()) { - procWolfHowlInit(mProcVar3.field_0x300e.x); + procWolfHowlInit(mProcVar3.field_0x300e); } else { checkNextActionWolf(1); } @@ -2108,7 +2091,7 @@ int daAlink_c::procWolfFallInit(int param_0, f32 i_morf) { return 0; } - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; if (param_0 == 1) { mNormalSpeed = 0.0f; @@ -2126,7 +2109,7 @@ int daAlink_c::procWolfFallInit(int param_0, f32 i_morf) { mNormalSpeed = field_0x3408; speed.y = field_0x340c; - mProcVar3.field_0x300e.z = 1; + mProcVar5.field_0x3012 = 1; } setSingleAnimeWolfBaseSpeed(WANM_JUMP_ATTACK, 0.0f, i_morf); @@ -2157,10 +2140,10 @@ int daAlink_c::procWolfFallInit(int param_0, f32 i_morf) { /* 8012EFB8-8012F138 1298F8 0180+00 1/0 0/0 0/0 .text procWolfFall__9daAlink_cFv */ int daAlink_c::procWolfFall() { - if (mProcVar3.field_0x300e.z == 0) { + if (mProcVar5.field_0x3012 == 0) { cLib_chaseF(&mNormalSpeed, 0.0f, 0.1f); - } else if (mProcVar3.field_0x300e.z > 0) { - mProcVar3.field_0x300e.z = -1; + } else if (mProcVar5.field_0x3012 > 0) { + mProcVar5.field_0x3012 = -1; return 1; } @@ -2493,7 +2476,7 @@ int daAlink_c::procWolfSlideReadyInit(s16 i_angle, int param_1) { field_0x3588 = l_wolfBaseAnime; field_0x3478 = 1.0f / mUnderFrameCtrl[0].getEnd(); mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.x = param_1; + mProcVar3.field_0x300e = param_1; field_0x814.SetWeight(0xFF); return 1; } @@ -2519,7 +2502,7 @@ int daAlink_c::procWolfSlideReady() { } if (checkAnmEnd(frameCtrl_p)) { - if (mProcVar3.field_0x300e.x != 0) { + if (mProcVar3.field_0x300e != 0) { procWolfSlideInit(current.angle.y, 1); } else { procWolfSlopeStartInit(1); @@ -2817,8 +2800,8 @@ int daAlink_c::procWolfHowlDemoInit() { commonProcInit(PROC_WOLF_HOWL_DEMO); field_0x3198 = -1; - mProcVar3.field_0x300e.z = -1; - mProcVar3.field_0x300e.y = 0; + mProcVar5.field_0x3012 = -1; + mProcVar4.field_0x3010 = 0; mProcVar0.field_0x3008 = -1; if (name != PROC_ALINK) { @@ -2826,7 +2809,7 @@ int daAlink_c::procWolfHowlDemoInit() { daObjYobikusa_c* yobikusa_p = (daObjYobikusa_c*)field_0x27f4; mZ2WolfHowlMgr.setCorrectCurve(yobikusa_p->getType()); - mProcVar3.field_0x300e.z = yobikusa_p->getPathID(); + mProcVar5.field_0x3012 = yobikusa_p->getPathID(); shape_angle.y = yobikusa_p->shape_angle.y; current.angle.y = shape_angle.y; @@ -2840,10 +2823,10 @@ int daAlink_c::procWolfHowlDemoInit() { } else if (name == PROC_Obj_WindStone) { mZ2WolfHowlMgr.setCorrectCurve(static_cast(field_0x27f4)->getTuneId()); mProcVar0.field_0x3008 = static_cast(field_0x27f4)->getNextSceneId(); - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; } else if (name == PROC_Obj_SmWStone) { mZ2WolfHowlMgr.setCorrectCurve(static_cast(field_0x27f4)->getTuneId()); - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; } else if (name == PROC_Tag_WaraHowl) { mZ2WolfHowlMgr.setCorrectCurve(static_cast(field_0x27f4)->getTuneId()); } else { @@ -2863,7 +2846,7 @@ int daAlink_c::procWolfHowlDemoInit() { } else { field_0x347c = 10.0f; - if (mProcVar3.field_0x300e.y == 0) { + if (mProcVar4.field_0x3010 == 0) { setSingleAnimeWolfBaseSpeed(WANM_WAIT_SIT, daAlinkHIO_wlLie_c0::m.field_0x44, daAlinkHIO_wlLie_c0::m.field_0x48); } else { @@ -2877,7 +2860,7 @@ int daAlink_c::procWolfHowlDemoInit() { mMsgClassID = -1; field_0x32cc = 0x5DD; mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.x = -1; + mProcVar3.field_0x300e = -1; mDoAud_taktModeMute(); if (checkStageName("F_SP200")) { @@ -2923,7 +2906,7 @@ int daAlink_c::procWolfHowlDemo() { if (field_0x347c < 0.0f) { if (checkAnmEnd(frameCtrl_p)) { - if (mProcVar3.field_0x300e.y != 0) { + if (mProcVar4.field_0x3010 != 0) { setSingleAnimeWolfBase(WANM_LISTEN); setFaceBasicTexture(FTANM_UNK_A2); } else { @@ -2937,7 +2920,7 @@ int daAlink_c::procWolfHowlDemo() { field_0x347c -= 1.0f; } else { bool var_r26 = mDoCPd_c::getHoldA(PAD_1) != false; - if (mProcVar3.field_0x300e.y != 0 && mProcVar2.field_0x300c != 0) { + if (mProcVar4.field_0x3010 != 0 && mProcVar2.field_0x300c != 0) { var_r26 = false; } @@ -2983,12 +2966,12 @@ int daAlink_c::procWolfHowlDemo() { } } - s16 var_r25 = mProcVar3.field_0x300e.x; + s16 var_r25 = mProcVar3.field_0x300e; f32 stick_y = mDoCPd_c::getStickY(PAD_1); - mProcVar3.field_0x300e.x = mZ2WolfHowlMgr.startWolfHowlSound(0.0f, stick_y, var_r26, 0.0f); + mProcVar3.field_0x300e = mZ2WolfHowlMgr.startWolfHowlSound(0.0f, stick_y, var_r26, 0.0f); s16 var_r26_2 = 0; - if (mProcVar3.field_0x300e.x == -1 || skip_edge) { + if (mProcVar3.field_0x300e == -1 || skip_edge) { if (checkUnderMove0BckNoArcWolf(WANM_HOWL_END) || skip_edge) { if (checkAnmEnd(frameCtrl_p) || skip_edge) { if (mProcVar0.mHowlExitID >= 0) { @@ -3012,7 +2995,7 @@ int daAlink_c::procWolfHowlDemo() { if (fopAcM_GetName(actor_p) == PROC_KAGO) { static_cast(actor_p)->setEvent(); static_cast(actor_p)->setKagoPath( - mProcVar3.field_0x300e.z); + mProcVar5.field_0x3012); } else if (fopAcM_GetName(actor_p) == PROC_OBJ_SEKIZOA) { static_cast(actor_p)->setWolfHowling(); } else if (fopAcM_GetName(actor_p) == PROC_E_PM) { @@ -3032,9 +3015,9 @@ int daAlink_c::procWolfHowlDemo() { } else if (fopAcM_GetName(actor_p) == PROC_NPC_TK) { static_cast(actor_p)->setEventWolf(); static_cast(actor_p)->setHawkPath( - mProcVar3.field_0x300e.z); + mProcVar5.field_0x3012); } - } else if (mProcVar3.field_0x300e.y == 0) { + } else if (mProcVar4.field_0x3010 == 0) { setWolfHowlNotHappen(skip_edge); return 1; } @@ -3161,7 +3144,7 @@ f32 daAlink_c::getWolfRopeMoveSpeed() { /* 80131718-801319F0 12C058 02D8+00 6/6 0/0 0/0 .text setWolfRopePosY__9daAlink_cFv */ -#ifdef NONMATCHING +// NONMATCHING int daAlink_c::setWolfRopePosY() { daObjCrope_c* temp_r3 = (daObjCrope_c*)field_0x280c.getActor(); cXyz* temp_r28 = temp_r3->getRopeStartPos(); @@ -3197,12 +3180,6 @@ int daAlink_c::setWolfRopePosY() { return 0; } } -#else -int daAlink_c::setWolfRopePosY() { - // NONMATCHING - return 0; -} -#endif /* 801319F0-80131A6C 12C330 007C+00 5/5 0/0 0/0 .text initWolfRopeShapeAngle__9daAlink_cFv */ s16 daAlink_c::initWolfRopeShapeAngle() { @@ -3306,7 +3283,7 @@ int daAlink_c::procWolfRopeMoveInit(int param_0, int param_1) { field_0x30a0 = -0x1800; } - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; initServiceWaitTime(); return 1; } @@ -3325,12 +3302,12 @@ int daAlink_c::procWolfRopeHangInit(int param_0) { commonProcInit(PROC_WOLF_ROPE_HANG); if (param_0 != 4) { - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; setSingleAnimeWolf(WANM_HANG, daAlinkHIO_wlRope_c0::m.field_0x28, 0.0f, 16, daAlinkHIO_wlRope_c0::m.field_0x2C); rope_p->rideKeep(); } else { - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; daAlink_WANM climb_anm; s16 temp_r0 = shape_angle.y - rope_p->shape_angle.y; @@ -3353,12 +3330,12 @@ int daAlink_c::procWolfRopeHangInit(int param_0) { } field_0x3198 = param_0; - mProcVar3.field_0x300e.y = initWolfRopeShapeAngle(); + mProcVar4.field_0x3010 = initWolfRopeShapeAngle(); mProcVar2.field_0x300c = 0; if (param_0 == 2) { shape_angle.y -= 0x4000; - mProcVar3.field_0x300e.y = -mProcVar3.field_0x300e.y; + mProcVar4.field_0x3010 = -mProcVar4.field_0x3010; } else { shape_angle.y += 0x4000; } @@ -3391,7 +3368,7 @@ int daAlink_c::procWolfRopeTurnInit() { speed.y = 0.0f; mNormalSpeed = 0.0f; - mProcVar3.field_0x300e.x = initWolfRopeShapeAngle(); + mProcVar3.field_0x300e = initWolfRopeShapeAngle(); current.angle.y = shape_angle.y + 0x8000; field_0x3588 = l_wolfBaseAnime; shape_angle.x = 0; @@ -3416,14 +3393,14 @@ int daAlink_c::procWolfRopeStaggerInit(int param_0) { if (param_0 == 4) { setSingleAnimeWolfBase(WANM_ROPE_WAIT); mNormalSpeed = 0.0f; - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; } else { setSingleAnimeWolfBase(WANM_ROPE_FALTER); field_0x3588 = l_wolfRopeBaseAnime; - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; } - mProcVar3.field_0x300e.y = param_0; + mProcVar4.field_0x3010 = param_0; mProcVar2.field_0x300c = initWolfRopeShapeAngle(); setSpecialGravity(0.0f, maxFallSpeed, 0); speed.y = 0.0f; @@ -3554,7 +3531,7 @@ int daAlink_c::procWolfTagJumpLandInit(fopAc_ac_c* param_0) { commonProcInit(PROC_WOLF_TAG_JUMP_LAND); setSingleAnimeWolfParam(WANM_ATTACK_A_END_FRONT, &daAlinkHIO_wlPoint_c0::m.field_0x3C); - if (field_0x2fa8 == 8) { + if (mGndPolySpecialCode == dBgW_SPCODE_ICE) { mNormalSpeed = daAlinkHIO_wlPoint_c0::m.field_0x6C; } else { mNormalSpeed = 0.0f; @@ -3809,7 +3786,7 @@ int daAlink_c::procWolfHangWallCatchInit(int param_0) { int daAlink_c::procWolfHangWallCatch() { daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; - if (mProcVar3.field_0x300e.x != 0 && frameCtrl_p->getFrame() >= 23.0f) { + if (mProcVar3.field_0x300e != 0 && frameCtrl_p->getFrame() >= 23.0f) { field_0x2f99 = 4; offModeFlg(0x4000); } else if (changeWolfHangEndProc()) { @@ -3823,18 +3800,18 @@ int daAlink_c::procWolfHangWallCatch() { } if (checkAnmEnd(frameCtrl_p)) { - if (mProcVar3.field_0x300e.x == 0) { + if (mProcVar3.field_0x300e == 0) { if (field_0x3174 == 6) { - if (mProcVar3.field_0x300e.y == 0) { + if (mProcVar4.field_0x3010 == 0) { setSingleAnimeWolf(WANM_HANG, daAlinkHIO_wlWallHang_c0::m.field_0x28.mSpeed, 35.0f, daAlinkHIO_wlWallHang_c0::m.field_0x28.mEndFrame, 5.0f); - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; } } else { setSingleAnimeWolf(WANM_VJMP_CLIMB, daAlinkHIO_wlWallHang_c0::m.field_0x14.mSpeed, 17.0f, daAlinkHIO_wlWallHang_c0::m.field_0x14.mEndFrame, 2.0f); - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; } } else { checkNextActionWolf(0); @@ -3846,7 +3823,7 @@ int daAlink_c::procWolfHangWallCatch() { onNoResetFlg1(FLG1_UNK_20); } - } else if (mProcVar3.field_0x300e.x != 0 && + } else if (mProcVar3.field_0x300e != 0 && frameCtrl_p->getFrame() > daAlinkHIO_wlWallHang_c0::m.field_0x14.mCheckFrame && checkNextActionWolf(1)) { @@ -3901,7 +3878,7 @@ int daAlink_c::procWolfHangFallStartInit(cM3dGPla* param_0) { mProcVar2.field_0x300c = 0; } - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; mNormalSpeed = 0.0f; speed.y = 0.0f; dComIfGp_setPlayerStatus0(0, 0x100); @@ -3923,18 +3900,18 @@ int daAlink_c::procWolfHangFallStart() { dComIfGp_getVibration().StartShock(1, 1, cXyz(0.0f, 1.0f, 0.0f)); } - if (mProcVar2.field_0x300c == 0 && mProcVar3.field_0x300e.x == 0) { + if (mProcVar2.field_0x300c == 0 && mProcVar3.field_0x300e == 0) { if (frameCtrl_p->getFrame() > 22.0f) { frameCtrl_p->setFrame(22.0f); getNowAnmPackUnder(UNDER_0)->setFrame(22.0f); if (checkInputOnR() && getDirectionFromShapeAngle() == DIR_FORWARD) { - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; } } } else if (checkAnmEnd(mUnderFrameCtrl) && ((checkInputOnR() && getDirectionFromShapeAngle() == DIR_FORWARD) || - mProcVar3.field_0x300e.x != 0)) + mProcVar3.field_0x300e != 0)) { procWolfHangWallCatchInit(8); } @@ -3984,7 +3961,7 @@ int daAlink_c::procWolfDamage() { current.angle.y = shape_angle.y; if (!checkNextActionWolf(1)) { - current.angle.y = mProcVar3.field_0x300e.y; + current.angle.y = mProcVar4.field_0x3010; } } @@ -4097,7 +4074,7 @@ int daAlink_c::procWolfScreamWaitInit() { } mNormalSpeed = 0.0f; - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; field_0x3588 = l_wolfBaseAnime; return 1; @@ -4108,7 +4085,7 @@ int daAlink_c::procWolfScreamWait() { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; if (!checkEndResetFlg1(ERFLG1_UNK_1)) { - if (mProcVar3.field_0x300e.x != 0) { + if (mProcVar3.field_0x300e != 0) { field_0x2f99 = 5; if (frameCtrl->checkAnmEnd()) { @@ -4117,7 +4094,7 @@ int daAlink_c::procWolfScreamWait() { checkNextActionWolf(1); } } else { - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; setSingleAnimeWolf(WANM_DMG_AIR_FRONT_GETUP, daAlinkHIO_wlDamLarge_c0::m.field_0x0.mSpeed, 20.0f, daAlinkHIO_wlDamLarge_c0::m.field_0x0.mEndFrame, @@ -4201,21 +4178,21 @@ int daAlink_c::checkNextActionWolfFromLie() { void daAlink_c::setWolfLieMoveVoice(int param_0) { daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl; - if (frameCtrl->getRate() == 0.0f && mProcVar3.field_0x300e.z != 0) { - mProcVar3.field_0x300e.z--; + if (frameCtrl->getRate() == 0.0f && mProcVar5.field_0x3012 != 0) { + mProcVar5.field_0x3012--; } if ((param_0 != 0 && (frameCtrl->checkPass(11.0f) || frameCtrl->checkPass(26.0f))) || - (frameCtrl->getRate() == 0.0f && mProcVar3.field_0x300e.z == 0)) + (frameCtrl->getRate() == 0.0f && mProcVar5.field_0x3012 == 0)) { voiceStart(Z2SE_WL_V_BREATH_WALK); - mProcVar3.field_0x300e.z = 30; + mProcVar5.field_0x3012 = 30; } } /* 801373F8-80137420 131D38 0028+00 2/2 0/0 0/0 .text checkWolfLieCode__9daAlink_cFv */ bool daAlink_c::checkWolfLieCode() { - if (mLinkAcch.ChkGroundHit() && field_0x2fa8 == 4) { + if (mLinkAcch.ChkGroundHit() && mGndPolySpecialCode == 4) { return true; } @@ -4233,15 +4210,15 @@ int daAlink_c::procWolfLieStartInit(int param_0) { shape_angle.y = field_0x306e + 0x8000; current.pos.x = field_0x34ec.x + cM_ssin(field_0x306e) * 90.0f; current.pos.z = field_0x34ec.z + cM_scos(field_0x306e) * 90.0f; - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; } else { - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; } mNormalSpeed = 0.0f; current.angle.y = shape_angle.y; field_0x2f99 = 0; - mProcVar3.field_0x300e.z = 30; + mProcVar5.field_0x3012 = 30; dComIfGp_setPlayerStatus0(0, 0x8000000); return 1; } @@ -4252,7 +4229,7 @@ int daAlink_c::procWolfLieStart() { daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; decideCrawlDoStatus(); - if (mProcVar3.field_0x300e.y != 0) { + if (mProcVar4.field_0x3010 != 0) { if (checkAnmEnd(frameCtrl_p)) { procWolfLieMoveInit(1); } @@ -4275,8 +4252,7 @@ int daAlink_c::procWolfLieStart() { /* 80137634-801377F0 131F74 01BC+00 5/5 0/0 0/0 .text procWolfLieMoveInit__9daAlink_cFi */ -// regalloc -#ifdef NONMATCHING +// NONMATCHING - regalloc int daAlink_c::procWolfLieMoveInit(int param_0) { BOOL var_r30 = mProcID == PROC_TALK; BOOL var_r29 = checkUnderMove0BckNoArcWolf(WANM_CROUCH_WALK) == FALSE; @@ -4286,7 +4262,7 @@ int daAlink_c::procWolfLieMoveInit(int param_0) { return 0; } - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; if (!var_r29) { if (var_r30) { @@ -4300,7 +4276,7 @@ int daAlink_c::procWolfLieMoveInit(int param_0) { if (mDemo.getDemoMode() == 0x2C) { anm_speed = 0.0f; } else if (param_0) { - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; onModeFlg(0x6000); } else if (getDirectionFromShapeAngle() == DIR_BACKWARD) { anm_speed *= -1.0f; @@ -4311,7 +4287,7 @@ int daAlink_c::procWolfLieMoveInit(int param_0) { } field_0x3198 = var_r29 ^ 1; - mProcVar3.field_0x300e.y = var_r30; + mProcVar4.field_0x3010 = var_r30; field_0x2f99 = 0xD; dComIfGp_setPlayerStatus0(0, 0x8000000); @@ -4319,7 +4295,7 @@ int daAlink_c::procWolfLieMoveInit(int param_0) { dComIfGp_setPlayerStatus0(0, 0x2000); } - mProcVar3.field_0x300e.z = 30; + mProcVar5.field_0x3012 = 30; if (checkAttentionLock()) { field_0x2fe4 = shape_angle.y; @@ -4327,12 +4303,6 @@ int daAlink_c::procWolfLieMoveInit(int param_0) { return 1; } -#else -int daAlink_c::procWolfLieMoveInit(int param_0) { - // NONMATCHING - return 0; -} -#endif /* 801377F0-80137C90 132130 04A0+00 1/0 0/0 0/0 .text procWolfLieMove__9daAlink_cFv */ int daAlink_c::procWolfLieMove() { @@ -4342,8 +4312,7 @@ int daAlink_c::procWolfLieMove() { /* 80137C90-80137D4C 1325D0 00BC+00 1/1 0/0 0/0 .text procWolfLieAutoMoveInit__9daAlink_cFiP4cXyz */ -// regalloc -#ifdef NONMATCHING +// NONMATCHING - regalloc int daAlink_c::procWolfLieAutoMoveInit(int param_0, cXyz* param_1) { BOOL var_r30 = dComIfGp_checkPlayerStatus0(0, 0x2000); commonProcInit(PROC_WOLF_LIE_AUTO_MOVE); @@ -4362,15 +4331,9 @@ int daAlink_c::procWolfLieAutoMoveInit(int param_0, cXyz* param_1) { dComIfGp_setPlayerStatus0(0, 0x2000); } - mProcVar3.field_0x300e.z = 30; + mProcVar5.field_0x3012 = 30; return 1; } -#else -int daAlink_c::procWolfLieAutoMoveInit(int param_0, cXyz* param_1) { - // NONMATCHING - return 0; -} -#endif /* 80137D4C-80138000 13268C 02B4+00 1/0 0/0 0/0 .text procWolfLieAutoMove__9daAlink_cFv */ @@ -4500,7 +4463,7 @@ int daAlink_c::procWolfSwimUpInit() { setFaceBasicTexture(FTANM_UNK_8E); dComIfGp_setPlayerStatus0(0, 0x100000); seStartMapInfo(Z2SE_WL_OUTOF_WATER); - mProcVar3.field_0x300e.z = 1; + mProcVar5.field_0x3012 = 1; return 1; } @@ -4536,10 +4499,10 @@ int daAlink_c::procWolfSwimWaitInit(int param_0) { if (param_0) { seStartMapInfo(Z2SE_WL_INTO_WATER); - mProcVar3.field_0x300e.y = 0; - mProcVar3.field_0x300e.z = 1; + mProcVar4.field_0x3010 = 0; + mProcVar5.field_0x3012 = 1; } else { - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; } f32 anm_speed; @@ -4659,11 +4622,11 @@ int daAlink_c::procWolfSwimEndWaitInit(int param_0) { mDoMtx_multVecZero(mpLinkModel->getAnmMtx(3), &field_0x37c8); if (param_0 == 0) { - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; } else if (field_0x2fbb == 13) { - mProcVar3.field_0x300e.x = 2; + mProcVar3.field_0x300e = 2; } else { - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; } JPABaseEmitter* spC = NULL; @@ -4826,7 +4789,7 @@ void daAlink_c::resetWolfBallGrab() { /* 80139048-8013911C 133988 00D4+00 1/1 0/0 0/0 .text checkWolfLockData__9daAlink_cFv */ -#ifdef NONMATCHING +// NONMATCHING void daAlink_c::checkWolfLockData() { for (int i = 0; i < 10; i++) { mWolfLockAcKeep[i].setActor(); @@ -4846,11 +4809,6 @@ void daAlink_c::checkWolfLockData() { } } } -#else -void daAlink_c::checkWolfLockData() { - // NONMATCHING -} -#endif /* 8013911C-8013916C 133A5C 0050+00 1/0 0/0 0/0 .text checkWolfLock__9daAlink_cCFP10fopAc_ac_c */ BOOL daAlink_c::checkWolfLock(fopAc_ac_c* i_actor) const { @@ -5079,7 +5037,7 @@ int daAlink_c::procWolfRollAttackMoveInit() { mProcVar0.field_0x3008 = daAlinkHIO_wlAttack_c0::m.mUnkTime; mProcVar1.field_0x300a = daAlinkHIO_wlAtLock_c0::m.field_0x28.mEndFrame; - mProcVar3.field_0x300e.z = 30; + mProcVar5.field_0x3012 = 30; field_0x3198 = 0; field_0x2fe4 = shape_angle.y; voiceStartLevel(Z2SE_WL_V_ROAR); @@ -5208,7 +5166,7 @@ int daAlink_c::procWolfJumpAttackInit(int param_0) { int daAlink_c::procWolfJumpAttack() { daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; - if (mProcVar3.field_0x300e.x != 0 && mNormalSpeed > daAlinkHIO_wlAtCjump_c0::m.field_0x5C) { + if (mProcVar3.field_0x300e != 0 && mNormalSpeed > daAlinkHIO_wlAtCjump_c0::m.field_0x5C) { cLib_chaseF(&mNormalSpeed, daAlinkHIO_wlAtCjump_c0::m.field_0x5C, daAlinkHIO_wlAtCjump_c0::m.field_0x60); } @@ -5216,9 +5174,9 @@ int daAlink_c::procWolfJumpAttack() { if (mAtCyl.ChkAtHit()) { field_0x3198 = 1; - if (mProcVar3.field_0x300e.y != 0 && mProcVar3.field_0x300e.x == 0) { + if (mProcVar4.field_0x3010 != 0 && mProcVar3.field_0x300e == 0) { mNormalSpeed *= daAlinkHIO_wlAtCjump_c0::m.field_0x58; - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; } } @@ -5252,7 +5210,7 @@ int daAlink_c::procWolfJumpAttack() { if (checkNoResetFlg2(FLG2_UNK_8)) { procWolfEnemyThrowInit(4); - } else if (mProcVar3.field_0x300e.z != 0 || mProcVar1.field_0x300a == 2 || + } else if (mProcVar5.field_0x3012 != 0 || mProcVar1.field_0x300a == 2 || mProcVar1.field_0x300a == 3) { procWolfJumpAttackSlideLandInit(field_0x3198, 1, mProcVar1.field_0x300a == 2); @@ -5322,9 +5280,9 @@ int daAlink_c::procWolfJumpAttackSlideLandInit(int param_0, int param_1, int par (fopAcM_GetGroup(mTargetedActor) == 2 && static_cast(mTargetedActor)->checkDeadFlg())) { - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; } else { - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; } if ((mTargetedActor != NULL && fopAcM_GetGroup(mTargetedActor) == 2 && param_0 && @@ -5352,7 +5310,7 @@ int daAlink_c::procWolfJumpAttackSlideLandInit(int param_0, int param_1, int par field_0x2f99 = 4; } - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; field_0x307e = daAlinkHIO_wlAttack_c0::m.mComboDuration; field_0x2f98 = 0; return 1; @@ -5369,7 +5327,7 @@ int daAlink_c::procWolfJumpAttackSlideLand() { field_0x2f99 = 4; cLib_addCalc(&mNormalSpeed, 0.0f, 0.3f, daAlinkHIO_wlAtLand_c0::m.field_0x3C, 0.5f); - if (mProcVar3.field_0x300e.y != 0) { + if (mProcVar4.field_0x3010 != 0) { setShapeAngleToAtnActor(0); } @@ -5413,7 +5371,7 @@ int daAlink_c::procWolfJumpAttackNormalLandInit(int param_0) { setFootEffectProcType(2); field_0x2f9d = 0x18; mNormalSpeed = 0.0f; - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; mProcVar2.field_0x300c = param_0; field_0x2f99 = 12; field_0x307e = daAlinkHIO_wlAttack_c0::m.mComboDuration; @@ -5466,13 +5424,13 @@ int daAlink_c::procWolfWaitAttackInit(int i_attackType) { if (i_attackType == 2) { atk_hio = &daAlinkHIO_wlAtWaTl_c0::m; - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; } else if (i_attackType == 1) { atk_hio = &daAlinkHIO_wlAtWaSc_c0::m; - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; } else { atk_hio = &daAlinkHIO_wlAtWaLr_c0::m; - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; } f32 var_f2; @@ -5498,7 +5456,7 @@ int daAlink_c::procWolfWaitAttackInit(int i_attackType) { } current.angle.y = shape_angle.y; - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; mProcVar1.field_0x300a = 2; field_0x347c = atk_hio->field_0x20; field_0x3480 = atk_hio->field_0x24; @@ -5568,7 +5526,7 @@ int daAlink_c::procWolfWaitAttack() { voiceStart(Z2SE_WL_V_ATTACK_S); } - if (mProcVar3.field_0x300e.x == 0) { + if (mProcVar3.field_0x300e == 0) { seStartOnlyReverb(Z2SE_WOLFATTACK_WIND_TAIL); } else { seStartOnlyReverb(Z2SE_WOLFATTACK_WIND_S); @@ -5613,7 +5571,7 @@ int daAlink_c::procWolfRollAttackInit(int param_0, int param_1) { field_0x3478 = daAlinkHIO_wlAtRoll_c0::m.field_0x14; setCylAtParam(0x40000000, dCcG_At_Spl_UNK_1, 3, 4, 3, field_0x3478 * 0.5f, 155.0f); mNormalSpeed = 0.0f; - mProcVar3.field_0x300e.x = param_1; + mProcVar3.field_0x300e = param_1; if (param_1 != 0) { mUnderFrameCtrl[0].setStart(daAlinkHIO_wlAtRoll_c0::m.field_0x1C); @@ -5647,7 +5605,7 @@ int daAlink_c::procWolfRollAttack() { checkNextActionWolf(0); } else if (frameCtrl_p->getFrame() > daAlinkHIO_wlAtRoll_c0::m.field_0x0.mCheckFrame) { checkNextActionWolf(1); - } else if (mProcVar3.field_0x300e.x == 0 && frameCtrl_p->getFrame() >= 4.0f && + } else if (mProcVar3.field_0x300e == 0 && frameCtrl_p->getFrame() >= 4.0f && frameCtrl_p->getFrame() < 13.0f) { if (!checkNoResetFlg0(FLG0_UNK_40)) { @@ -5827,14 +5785,13 @@ int daAlink_c::procWolfDownAtMissLand() { } /* 8013BE24-8013C3E4 136764 05C0+00 2/2 0/0 0/0 .text procWolfLockAttackInit__9daAlink_cFi */ -#ifdef NONMATCHING -// wrong float regist + float literals +// NONMATCHING - wrong float regist + float literals int daAlink_c::procWolfLockAttackInit(int param_0) { commonProcInit(PROC_WOLF_LOCK_ATTACK); setSingleAnimeWolfParam(WANM_ATTACK_A_START, &daAlinkHIO_wlAtLock_c0::m.field_0x0); if (fopAcM_GetName(mWolfLockAcKeep[0].getActor()) == PROC_E_YMB) { - mProcVar3.field_0x300e.z = 1; + mProcVar5.field_0x3012 = 1; if (param_0 == 0) { mProcVar1.field_0x300a = static_cast(mWolfLockAcKeep[0].getActor())->getMaxLockAttack(); @@ -5849,7 +5806,7 @@ int daAlink_c::procWolfLockAttackInit(int param_0) { } else { field_0x37c8 = mWolfLockAcKeep[0].getActor()->eyePos; mWolfLockAcKeep[0].clearData(); - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; } shape_angle.y = cLib_targetAngleY(¤t.pos,&field_0x37c8); @@ -5889,12 +5846,6 @@ int daAlink_c::procWolfLockAttackInit(int param_0) { dComIfGp_particle_set(0x247,¤t.pos,¤t.angle,0); return 1; } -#else -int daAlink_c::procWolfLockAttackInit(int param_0) { - // NONMATCHING - return 0; -} -#endif /* 8013C3E4-8013C630 136D24 024C+00 1/0 0/0 0/0 .text procWolfLockAttack__9daAlink_cFv */ int daAlink_c::procWolfLockAttack() { @@ -5935,7 +5886,7 @@ int daAlink_c::procWolfLockAttack() { daAlinkHIO_wlAtNjump_c0::m.field_0x28); } - if (mLinkAcch.ChkGroundHit() || (mProcVar3.field_0x300e.z != 0 && current.pos.y < mWaterY)) { + if (mLinkAcch.ChkGroundHit() || (mProcVar5.field_0x3012 != 0 && current.pos.y < mWaterY)) { if (!mLinkAcch.ChkGroundHit()) { current.pos.y = mWaterY; } @@ -5978,9 +5929,9 @@ int daAlink_c::procWolfLockAttackTurnInit(int param_0) { if (mWolfLockAcKeep[0].getActor() != NULL && fopAcM_GetName(mWolfLockAcKeep[0].getActor()) == PROC_E_YMB) { - mProcVar3.field_0x300e.z = 1; + mProcVar5.field_0x3012 = 1; } else { - mProcVar3.field_0x300e.z = 0; + mProcVar5.field_0x3012 = 0; } field_0x2f9d = 4; @@ -5999,7 +5950,7 @@ int daAlink_c::procWolfLockAttackTurnInit(int param_0) { int daAlink_c::procWolfLockAttackTurn() { field_0x2f99 = 4; - if (mProcVar3.field_0x300e.z != 0 && current.pos.y < mWaterY) { + if (mProcVar5.field_0x3012 != 0 && current.pos.y < mWaterY) { current.pos.y = mWaterY; } @@ -6157,9 +6108,9 @@ int daAlink_c::procWolfEnemyHangBiteInit() { mProcVar0.field_0x3008 = daAlinkHIO_wlAtBite_c0::m.field_0x28; mProcVar1.field_0x300a = 0; mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; field_0x3478 = daAlinkHIO_wlAtBite_c0::m.field_0x40; - mProcVar3.field_0x300e.y = shape_angle.y; + mProcVar4.field_0x3010 = shape_angle.y; voiceStart(Z2SE_WL_V_BITE_ATTACK); dComIfGp_setPlayerStatus1(0, 0x200000); } @@ -6177,12 +6128,12 @@ int daAlink_c::procWolfEnemyHangBite() { return procWolfJumpAttackKickInit(); } - cLib_addCalcAngleS(&shape_angle.y, mProcVar3.field_0x300e.y, 2, 0x2000, 0x800); + cLib_addCalcAngleS(&shape_angle.y, mProcVar4.field_0x3010, 2, 0x2000, 0x800); current.angle.y = shape_angle.y; setDoStatusContinuation(3); if (doTrigger()) { - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; mProcVar0.field_0x3008 = daAlinkHIO_wlAtBite_c0::m.field_0x28; } else if (mProcVar0.field_0x3008 != 0) { mProcVar0.field_0x3008--; @@ -6190,9 +6141,9 @@ int daAlink_c::procWolfEnemyHangBite() { if (mProcVar2.field_0x300c == 0) { if (checkAnmEnd(frameCtrl_p)) { - if (mProcVar3.field_0x300e.x != 0) { + if (mProcVar3.field_0x300e != 0) { setSingleAnimeWolfBaseSpeed(WANM_CATCH, field_0x3478, 3.0f); - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; mProcVar2.field_0x300c = 1; } else if (mProcVar0.field_0x3008 == 0) { return procWolfJumpAttackKickInit(); @@ -6212,15 +6163,15 @@ int daAlink_c::procWolfEnemyHangBite() { } if (frameCtrl_p->getRate() < 0.1f) { - if (mProcVar3.field_0x300e.x != 0) { - mProcVar3.field_0x300e.x = 0; + if (mProcVar3.field_0x300e != 0) { + mProcVar3.field_0x300e = 0; frameCtrl_p->setRate(field_0x3478); } } else { frameCtrl_p->setRate(field_0x3478); if (frameCtrl_p->checkPass(0.0f) || frameCtrl_p->checkPass(17.0f)) { - if (mProcVar3.field_0x300e.x == 0) { + if (mProcVar3.field_0x300e == 0) { if (frameCtrl_p->checkPass(0.0f)) { frameCtrl_p->setFrame(0.0f); } else { @@ -6230,7 +6181,7 @@ int daAlink_c::procWolfEnemyHangBite() { getNowAnmPackUnder(UNDER_0)->setFrame(frameCtrl_p->getFrame()); frameCtrl_p->setRate(0.0f); } else { - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; } } else if (frameCtrl_p->checkPass(14.0f) || frameCtrl_p->checkPass(36.0f)) { setWolfBiteDamage(enemy_p); @@ -6277,7 +6228,7 @@ int daAlink_c::procWolfGrabUpInit() { current.angle.y = shape_angle.y; mProcVar2.field_0x300c = shape_angle.y; field_0x37c8 = field_0x27f4->current.pos - field_0x3510; - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; if (fopAcM_GetName(field_0x27f4) != PROC_Obj_Drop && fopAcM_GetName(field_0x27f4) != PROC_Obj_Sword) @@ -6317,7 +6268,7 @@ int daAlink_c::procWolfGrabUp() { } if (frameCtrl_p->getFrame() >= field_0x3478) { - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; } if (checkAnmEnd(frameCtrl_p)) { @@ -6439,7 +6390,7 @@ int daAlink_c::procWolfGrabThrow() { /* 8013D930-8013DA8C 138270 015C+00 1/1 0/0 0/0 .text procWolfPushInit__9daAlink_cFv */ int daAlink_c::procWolfPushInit() { commonProcInit(PROC_WOLF_PUSH); - mProcVar3.field_0x300e.x = 18; + mProcVar3.field_0x300e = 18; s16 var_r5; if (fopAcM_CheckCarryType(field_0x27f4, fopAcM_CARRY_TYPE_1)) { @@ -6447,7 +6398,7 @@ int daAlink_c::procWolfPushInit() { var_r5 = 24; } else { mProcVar2.field_0x300c = 0; - var_r5 = mProcVar3.field_0x300e.x; + var_r5 = mProcVar3.field_0x300e; } setSingleAnimeWolf(WANM_PUSH_LIGHT, 1.0f, 0.0f, var_r5, 3.0f); mUnderFrameCtrl[0].setAttribute(0); @@ -6482,7 +6433,7 @@ int daAlink_c::procWolfPush() { if (frameCtrl->checkAnmEnd()) { if (mProcVar2.field_0x300c != 0) { setSingleAnimeWolf(WANM_PUSH_LIGHT, 1.0f, 0.0f, - mProcVar3.field_0x300e.x, 3.0f); + mProcVar3.field_0x300e, 3.0f); mUnderFrameCtrl[0].setAttribute(0); mProcVar2.field_0x300c = 0; } else { @@ -6642,12 +6593,12 @@ int daAlink_c::procWolfGanonCatchInit() { current.angle.y = shape_angle.y + 0x8000; mNormalSpeed = 50.0f; - mProcVar3.field_0x300e.z = 30; + mProcVar5.field_0x3012 = 30; mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; setFootEffectProcType(0); field_0x2f9d = 0x60; - mProcVar3.field_0x300e.y = 4; + mProcVar4.field_0x3010 = 4; return 1; } @@ -6677,18 +6628,18 @@ int daAlink_c::procWolfGanonCatch() { if (checkInputOnR()) { int direction = getDirectionFromAngle(mStickAngle); if (direction == DIR_LEFT || direction == DIR_RIGHT) { - mProcVar3.field_0x300e.y = direction; + mProcVar4.field_0x3010 = direction; } } if (cLib_chaseF(&mNormalSpeed, 0.0f, 1.0f)) { - if (mProcVar3.field_0x300e.z != 0) { - mProcVar3.field_0x300e.z--; + if (mProcVar5.field_0x3012 != 0) { + mProcVar5.field_0x3012--; } else { - if (mProcVar3.field_0x300e.y == DIR_LEFT) { + if (mProcVar4.field_0x3010 == DIR_LEFT) { setSingleAnimeWolfBase(WANM_PIG_GANON_THROW_LEFT_START); ganon_p->setThrowModeThrowLeft(); - } else if (mProcVar3.field_0x300e.y == DIR_RIGHT) { + } else if (mProcVar4.field_0x3010 == DIR_RIGHT) { setSingleAnimeWolfBase(WANM_PIG_GANON_THROW_RIGHT_START); ganon_p->setThrowModeThrowRight(); } else { @@ -6706,14 +6657,14 @@ int daAlink_c::procWolfGanonCatch() { } } else { if (checkAnmEnd(frameCtrl_p)) { - if (mProcVar3.field_0x300e.y == DIR_LEFT) { + if (mProcVar4.field_0x3010 == DIR_LEFT) { setSingleAnimeWolfBase(WANM_PIG_GANON_THROW_LEFT_END); } else { setSingleAnimeWolfBase(WANM_PIG_GANON_THROW_RIGHT_END); } } - if (mProcVar3.field_0x300e.x != 0) { + if (mProcVar3.field_0x300e != 0) { resetSpecialEvent(); procWolfWaitInit(); } @@ -6730,7 +6681,7 @@ int daAlink_c::procWolfChainReadyInit() { setSingleAnimeWolfParam(WANM_ATTACK_A_START, &daAlinkHIO_wlAtNjump_c0::m.field_0x0); mNormalSpeed = 0.0f; mProcVar2.field_0x300c = 0; - mProcVar3.field_0x300e.x = 0; + mProcVar3.field_0x300e = 0; return 1; } @@ -6744,10 +6695,10 @@ int daAlink_c::procWolfChainReady() { s16 target_angle_y = cLib_targetAngleY(¤t.pos, &chain->getJumpAimPos()); cLib_addCalcAngleS(&shape_angle.y, target_angle_y, 2, 0x2000, 0x800); current.angle.y = shape_angle.y; - } else if (mProcVar3.field_0x300e.x == 0) { + } else if (mProcVar3.field_0x300e == 0) { shape_angle.y = cLib_targetAngleY(¤t.pos, &chain->getJumpAimPos()); current.angle.y = shape_angle.y; - mProcVar3.field_0x300e.x = 1; + mProcVar3.field_0x300e = 1; cXyz vec1 = chain->getJumpAimPos() - field_0x34e0; f32 dist_xz = vec1.absXZ(); f32 dist = vec1.abs(); @@ -6781,7 +6732,7 @@ int daAlink_c::procWolfChainWaitInit() { current.pos = chain->getTopPos(); setSpecialGravity(0.0f, maxFallSpeed, 0); speed.y = 0.0f; - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; mProcVar0.field_0x3008 = daAlinkHIO_wlChain_c0::m.field_0x3C + 20; field_0x3478 = chain->getPullLength(); current.angle.y = shape_angle.y; @@ -6811,14 +6762,14 @@ int daAlink_c::procWolfChainWait() { return procWolfFallInit(2, daAlinkHIO_wlWallHang_c0::m.field_0x98); } - if (mProcVar3.field_0x300e.y == 0) { + if (mProcVar4.field_0x3010 == 0) { if (mProcVar0.field_0x3008 > 20) { mProcVar0.field_0x3008--; } else { field_0x3478 += daAlinkHIO_wlChain_c0::m.field_0x50; if (field_0x3478 > chain->getSwitchOffset()) { chain->onNowSwitchFlg(); - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; dComIfGp_getVibration().StartShock(7, 3, cXyz(0.0f, 1.0f, 0.0f)); } } @@ -6905,11 +6856,11 @@ int daAlink_c::procWolfDigThrough() { daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl; field_0x2f99 = 4; - if (mProcVar3.field_0x300e.x != 0) { - onSceneChangeArea(mProcVar3.field_0x300e.y, 0xFF, NULL); + if (mProcVar3.field_0x300e != 0) { + onSceneChangeArea(mProcVar4.field_0x3010, 0xFF, NULL); } else { if (checkAnmEnd(frameCtrl_p)) { - if (mProcVar3.field_0x300e.z != 0) { + if (mProcVar5.field_0x3012 != 0) { dComIfGs_setRestartRoom(current.pos, shape_angle.y, getStartRoomNo()); } @@ -6925,8 +6876,8 @@ int daAlink_c::procWolfDigThrough() { return 1; } - if (mProcVar3.field_0x300e.y >= 0 && frameCtrl_p->checkPass(21.0f)) { - mProcVar3.field_0x300e.x = 1; + if (mProcVar4.field_0x3010 >= 0 && frameCtrl_p->checkPass(21.0f)) { + mProcVar3.field_0x300e = 1; } } @@ -6944,21 +6895,21 @@ void daAlink_c::setSmellSave() { dComIfGs_offEventBit(0x2F04); // OFF: Got Medicine Scent } - dMsgObject_setSmellType(mProcVar3.field_0x300e.z); + dMsgObject_setSmellType(mProcVar5.field_0x3012); - if (mProcVar3.field_0x300e.z == SMELL_MEDICINE) { + if (mProcVar5.field_0x3012 == SMELL_MEDICINE) { dComIfGs_onEventBit(0x2F04); // ON: Got Medicine Scent - } else if (mProcVar3.field_0x300e.z == SMELL_CHILDREN) { + } else if (mProcVar5.field_0x3012 == SMELL_CHILDREN) { fopAcM_onSwitch(this, 102); - } else if (mProcVar3.field_0x300e.z == SMELL_YELIA_POUCH) { + } else if (mProcVar5.field_0x3012 == SMELL_YELIA_POUCH) { fopAcM_onSwitch(this, 103); - } else if (mProcVar3.field_0x300e.z == SMELL_FISH) { + } else if (mProcVar5.field_0x3012 == SMELL_FISH) { dComIfGs_onEventBit(0x6120); // ON: Got Reekfish scent - } else if (mProcVar3.field_0x300e.z == SMELL_POH) { + } else if (mProcVar5.field_0x3012 == SMELL_POH) { dComIfGs_onEventBit(0x6210); // ON: Got Poe scent } - setGetSubBgm(mProcVar3.field_0x300e.z); + setGetSubBgm(mProcVar5.field_0x3012); } /* 8013FA14-8013FC24 13A354 0210+00 1/1 0/0 0/0 .text procWolfGetSmellInit__9daAlink_cFv @@ -6983,7 +6934,7 @@ int daAlink_c::procWolfGetSmellInit() { field_0x280c.setData(field_0x27f4); static_cast(field_0x27f4)->field_0x588 = 1; static_cast(field_0x27f4)->field_0x587 = 0; - mProcVar3.field_0x300e.z = static_cast(field_0x27f4)->field_0x589; + mProcVar5.field_0x3012 = static_cast(field_0x27f4)->field_0x589; fopAcM_OnStatus(field_0x27f4, 0x800); dComIfGp_setPlayerStatus1(0, 0x4000000); @@ -6997,9 +6948,9 @@ int daAlink_c::procWolfGetSmellInit() { field_0x319c = -1; - if (mProcVar3.field_0x300e.z == SMELL_YELIA_POUCH) { + if (mProcVar5.field_0x3012 == SMELL_YELIA_POUCH) { field_0x319c = 0x2220; - } else if (mProcVar3.field_0x300e.z == SMELL_CHILDREN) { + } else if (mProcVar5.field_0x3012 == SMELL_CHILDREN) { field_0x319c = 0x2240; } @@ -7007,7 +6958,7 @@ int daAlink_c::procWolfGetSmellInit() { field_0x319c = -1; } - mProcVar3.field_0x300e.y = 0; + mProcVar4.field_0x3010 = 0; mNormalSpeed = 0.0f; field_0x3588 = l_wolfBaseAnime; onWolfEyeUp(); @@ -7024,7 +6975,7 @@ int daAlink_c::procWolfGetSmell() { dComIfGp_getEvent().reset(this); dComIfGp_clearPlayerStatus1(0, 0x4000000); - if (mProcVar3.field_0x300e.z == SMELL_YELIA_POUCH) { + if (mProcVar5.field_0x3012 == SMELL_YELIA_POUCH) { fopAcM_orderOtherEvent(this, "SMELL_1st", 0xFFFF, 0x400, 1); } else { fopAcM_orderOtherEvent(this, "SMELL_Child", 0xFFFF, 0x400, 1); @@ -7045,7 +6996,7 @@ int daAlink_c::procWolfGetSmell() { voiceStartLevel(Z2SE_WL_V_SNIFF); } - if (mProcVar3.field_0x300e.y != 0) { + if (mProcVar4.field_0x3010 != 0) { field_0x2f99 = 4; } @@ -7056,11 +7007,11 @@ int daAlink_c::procWolfGetSmell() { } resetSpecialEvent(); } else if (mMsgFlow.getChoiceNo() == 0 && - mProcVar3.field_0x300e.z != dComIfGs_getCollectSmell()) + mProcVar5.field_0x3012 != dComIfGs_getCollectSmell()) { setSmellSave(); } - } else if (mProcVar3.field_0x300e.y == 0) { + } else if (mProcVar4.field_0x3010 == 0) { if ((kytag3_p == NULL || (field_0x319c < 0 && kytag3_p->field_0x588 == 2)) || (mDemo.getDemoMode() == 0x37 && mDemo.getParam0() == 1)) { @@ -7071,7 +7022,7 @@ int daAlink_c::procWolfGetSmell() { fopAcM_OnStatus(kytag3_p, 0x800); } - mProcVar3.field_0x300e.y = 1; + mProcVar4.field_0x3010 = 1; dCam_getBody()->StartEventCamera(8, fopAcM_GetID(this), 0); field_0x2f99 = 12; diff --git a/src/d/actor/d_a_e_arrow.cpp b/src/d/actor/d_a_e_arrow.cpp index c4078961373..e213faaf862 100644 --- a/src/d/actor/d_a_e_arrow.cpp +++ b/src/d/actor/d_a_e_arrow.cpp @@ -9,6 +9,7 @@ #include "d/d_bomb.h" #include "d/d_item.h" #include "d/d_meter2.h" +#include "d/d_meter2_info.h" #include "d/d_msg_object.h" #include "d/d_s_play.h" @@ -1080,4 +1081,4 @@ static u8 data_8067EBF0[4]; static u8 data_8067EBF4[4]; #pragma pop -/* 8067E96C-8067E96C 0000EC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 8067E96C-8067E96C 0000EC 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/actor/d_a_obj_iceleaf.cpp b/src/d/actor/d_a_obj_iceleaf.cpp index c62f0f6189f..3132a07892d 100644 --- a/src/d/actor/d_a_obj_iceleaf.cpp +++ b/src/d/actor/d_a_obj_iceleaf.cpp @@ -1,170 +1,34 @@ /** * @file d_a_obj_iceleaf.cpp - * -*/ + * + */ #include "d/actor/d_a_obj_iceleaf.h" -#include "d/d_cc_d.h" -#include "dol2asm.h" - - -// -// Forward References: -// - -extern "C" static void CheckCreateHeap__FP10fopAc_ac_c(); -extern "C" void initBaseMtx__14daObjIceLeaf_cFv(); -extern "C" void setBaseMtx__14daObjIceLeaf_cFv(); -extern "C" void Create__14daObjIceLeaf_cFv(); -extern "C" void setAnmPos__14daObjIceLeaf_cFv(); -extern "C" void CreateHeap__14daObjIceLeaf_cFv(); -extern "C" void __dt__12J3DFrameCtrlFv(); -extern "C" void create__14daObjIceLeaf_cFv(); -extern "C" void __dt__8cM3dGCylFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void __dt__10dCcD_GSttsFv(); -extern "C" void __dt__12dBgS_AcchCirFv(); -extern "C" void __dt__12dBgS_ObjAcchFv(); -extern "C" void execute__14daObjIceLeaf_cFv(); -extern "C" void action__14daObjIceLeaf_cFv(); -extern "C" void modeDropWait__14daObjIceLeaf_cFv(); -extern "C" void modeDrop__14daObjIceLeaf_cFv(); -extern "C" void modePlayerWait__14daObjIceLeaf_cFv(); -extern "C" void modeRide__14daObjIceLeaf_cFv(); -extern "C" void event_proc_call__14daObjIceLeaf_cFv(); -extern "C" void actionWait__14daObjIceLeaf_cFv(); -extern "C" void actionOrderEvent__14daObjIceLeaf_cFv(); -extern "C" void actionEvent__14daObjIceLeaf_cFv(); -extern "C" void actionDead__14daObjIceLeaf_cFv(); -extern "C" void setFallSE__14daObjIceLeaf_cFv(); -extern "C" void draw__14daObjIceLeaf_cFv(); -extern "C" void _delete__14daObjIceLeaf_cFv(); -extern "C" static void daObjIceLeaf_Draw__FP14daObjIceLeaf_c(); -extern "C" static void daObjIceLeaf_Execute__FP14daObjIceLeaf_c(); -extern "C" static void daObjIceLeaf_Delete__FP14daObjIceLeaf_c(); -extern "C" static void daObjIceLeaf_Create__FP14daObjIceLeaf_c(); -extern "C" void __dt__10cCcD_GSttsFv(); -extern "C" static void func_80C25D4C(); -extern "C" static void func_80C25D54(); -extern "C" extern char const* const d_a_obj_iceleaf__stringBase0; - -// -// External References: -// - -extern "C" void mDoMtx_ZXYrotM__FPA4_fsss(); -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void transS__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void transM__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void play__14mDoExt_baseAnmFv(); -extern "C" void init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb(); -extern "C" void entry__13mDoExt_bckAnmFP12J3DModelDataf(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData(); -extern "C" void fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs(); -extern "C" void gndCheck__11fopAcM_gc_cFPC4cXyz(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void onSwitch__10dSv_info_cFii(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void reset__14dEvt_control_cFv(); -extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc(); -extern "C" void endCheck__16dEvent_manager_cFs(); -extern "C" void -set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void -setPoly__13dPa_control_cFUsR13cBgS_PolyInfoPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyziP18dPa_levelEcallBackScPC4cXyz(); -extern "C" void __ct__12dBgS_AcchCirFv(); -extern "C" void SetWall__12dBgS_AcchCirFff(); -extern "C" void __dt__9dBgS_AcchFv(); -extern "C" void __ct__9dBgS_AcchFv(); -extern "C" void Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz(); -extern "C" void SetObj__16dBgS_PolyPassChkFv(); -extern "C" void __ct__10dCcD_GSttsFv(); -extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c(); -extern "C" void __ct__12dCcD_GObjInfFv(); -extern "C" void ChkTgHit__12dCcD_GObjInfFv(); -extern "C" void GetTgHitObj__12dCcD_GObjInfFv(); -extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void cM_atan2s__Fff(); -extern "C" void __dt__13cBgS_PolyInfoFv(); -extern "C" void __dt__8cM3dGCirFv(); -extern "C" void SetC__8cM3dGCylFRC4cXyz(); -extern "C" void SetH__8cM3dGCylFf(); -extern "C" void SetR__8cM3dGCylFf(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; -extern "C" extern void* __vt__8dCcD_Cyl[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -extern "C" extern void* __vt__12cCcD_CylAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" extern void* __vt__9cCcD_Stts[8]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 mGndCheck__11fopAcM_gc_c[84]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" extern u8 struct_80C25F98[4]; - -// -// Declarations: -// +#include "SSystem/SComponent/c_math.h" +#include "d/actor/d_a_player.h" +#include "d/d_com_inf_game.h" +#include "d/d_s_play.h" /* 80C24718-80C24738 000078 0020+00 1/1 0/0 0/0 .text CheckCreateHeap__FP10fopAc_ac_c */ -static void CheckCreateHeap(fopAc_ac_c* param_0) { - // NONMATCHING +static int CheckCreateHeap(fopAc_ac_c* i_this) { + return ((daObjIceLeaf_c*)i_this)->CreateHeap(); } /* 80C24738-80C24774 000098 003C+00 1/1 0/0 0/0 .text initBaseMtx__14daObjIceLeaf_cFv */ void daObjIceLeaf_c::initBaseMtx() { - // NONMATCHING + mpModel->setBaseScale(scale); + setBaseMtx(); } -/* ############################################################################################## */ -/* 80C25D64-80C25D68 000000 0004+00 5/5 0/0 0/0 .rodata @3703 */ -SECTION_RODATA static u8 const lit_3703[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80C25D64, &lit_3703); - -/* 80C25D68-80C25D6C 000004 0004+00 1/1 0/0 0/0 .rodata @3704 */ -SECTION_RODATA static f32 const lit_3704 = -9.0f; -COMPILER_STRIP_GATE(0x80C25D68, &lit_3704); - -/* 80C25DA4-80C25DA4 000040 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80C25DA4 = "V_IceLeaf"; -#pragma pop - /* 80C25DB0-80C25DBC 000000 000C+00 2/2 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { +static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 80C25DBC-80C25DD0 00000C 0004+10 0/0 0/0 0/0 .data @1787 */ #pragma push #pragma force_active on -SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { +static u32 lit_1787[1 + 4 /* padding */] = { 0x02000201, /* padding */ 0x40080000, @@ -175,453 +39,436 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { #pragma pop /* 80C25DD0-80C25DD4 -00001 0004+00 7/7 0/0 0/0 .data l_arcName */ -SECTION_DATA static void* l_arcName = (void*)&d_a_obj_iceleaf__stringBase0; +static char* l_arcName = "V_IceLeaf"; /* 80C24774-80C249E4 0000D4 0270+00 2/2 0/0 0/0 .text setBaseMtx__14daObjIceLeaf_cFv */ void daObjIceLeaf_c::setBaseMtx() { - // NONMATCHING + if (mRide) { + daPy_py_c* player = dComIfGp_getLinkPlayer(); + s16 foot_angle = 0; + + if (!player->checkBoardNoFootAngle()) { + Vec left_vec; + Vec right_vec; + mDoMtx_multVec(player->getInvMtx(), player->getRightFootPosP(), &right_vec); + mDoMtx_multVec(player->getInvMtx(), player->getLeftFootPosP(), &left_vec); + + foot_angle = cM_atan2s(left_vec.y - right_vec.y, right_vec.z - left_vec.z); + } + + cXyz sp44(KREG_F(15), -9.0f, 0.0f); + + mDoMtx_stack_c::copy(player->getModelMtx()); + mDoMtx_stack_c::ZXYrotM(foot_angle, player->getBoardCutTurnOffsetAngleY(), 0); + mDoMtx_stack_c::YrotM(0x4000); + mDoMtx_stack_c::transM(sp44); + mDoMtx_stack_c::multVecZero(&eyePos); + } else { + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(shape_angle); + } + + mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); + + if (mpBck == NULL) { + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(shape_angle); + } else { + J3DAnmTransform* pbck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 4); + JUT_ASSERT(0x106, pbck != 0); + pbck->getTransform(0, &mTransformInfo); + + cXyz pos; + csXyz angle; + mDoMtx_stack_c::transS(mTransformInfo.mTranslate.x, mTransformInfo.mTranslate.y, + mTransformInfo.mTranslate.z); + mDoMtx_stack_c::transM(current.pos); + mDoMtx_stack_c::multVecZero(&pos); + + angle.x = shape_angle.x + mTransformInfo.mRotation.x; + angle.y = shape_angle.y + mTransformInfo.mRotation.y; + angle.z = shape_angle.z + mTransformInfo.mRotation.z; + mDoMtx_stack_c::transS(pos); + mDoMtx_stack_c::ZXYrotM(angle); + } + + MTXCopy(mDoMtx_stack_c::get(), mMtx); } -/* ############################################################################################## */ -/* 80C25D6C-80C25D70 000008 0004+00 0/1 0/0 0/0 .rodata @3757 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3757 = 30.0f; -COMPILER_STRIP_GATE(0x80C25D6C, &lit_3757); -#pragma pop - -/* 80C25D70-80C25D74 00000C 0004+00 0/1 0/0 0/0 .rodata @3758 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3758 = 100.0f; -COMPILER_STRIP_GATE(0x80C25D70, &lit_3758); -#pragma pop - -/* 80C25D74-80C25D78 000010 0004+00 0/1 0/0 0/0 .rodata @3759 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3759 = 500.0f; -COMPILER_STRIP_GATE(0x80C25D74, &lit_3759); -#pragma pop - /* 80C25DD4-80C25E18 000024 0044+00 1/1 0/0 0/0 .data l_cyl_src */ static dCcD_SrcCyl l_cyl_src = { { - {0x0, {{0x0, 0x0, 0x1f}, {0x400000, 0x11}, 0x78}}, // mObj - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjTg - {0x0}, // mGObjCo - }, // mObjInf + {0x0, {{0x0, 0x0, 0x1f}, {0x400000, 0x11}, 0x78}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x6}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf { - {0.0f, 0.0f, 0.0f}, // mCenter - 50.0f, // mRadius - 100.0f // mHeight - } // mCyl + {0.0f, 0.0f, 0.0f}, // mCenter + 50.0f, // mRadius + 100.0f // mHeight + } // mCyl }; /* 80C249E4-80C24BC4 000344 01E0+00 1/1 0/0 0/0 .text Create__14daObjIceLeaf_cFv */ -void daObjIceLeaf_c::Create() { - // NONMATCHING -} +// NONMATCHING - J3DTransformInfo operator= seems to be inline asm, needs work +int daObjIceLeaf_c::Create() { + J3DJoint* joint = mpModel->getModelData()->getJointNodePointer(0); + mTransformInfo = joint->getTransformInfo(); -/* 80C24BC4-80C24C9C 000524 00D8+00 2/2 0/0 0/0 .text setAnmPos__14daObjIceLeaf_cFv */ -void daObjIceLeaf_c::setAnmPos() { - // NONMATCHING -} + J3DTransformInfo trans_info(mTransformInfo); + trans_info.mRotation.x = 0; + trans_info.mRotation.y = 0; + trans_info.mRotation.z = 0; + trans_info.mTranslate.x = 0.0f; + trans_info.mTranslate.y = 0.0f; + trans_info.mTranslate.z = 0.0f; + joint->setTransformInfo(trans_info); -/* ############################################################################################## */ -/* 80C25D78-80C25D7C 000014 0004+00 4/5 0/0 0/0 .rodata @3806 */ -SECTION_RODATA static f32 const lit_3806 = 1.0f; -COMPILER_STRIP_GATE(0x80C25D78, &lit_3806); + initBaseMtx(); + fopAcM_SetMtx(this, mMtx); -/* 80C25E18-80C25E24 -00001 000C+00 0/1 0/0 0/0 .data @3975 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3975[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)modeDropWait__14daObjIceLeaf_cFv, -}; -#pragma pop + mAcchCir.SetWall(30.0f, 30.0f); + mAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1, &mAcchCir, + fopAcM_GetSpeed_p(this), NULL, NULL); -/* 80C25E24-80C25E30 -00001 000C+00 0/1 0/0 0/0 .data @3976 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3976[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)modeDrop__14daObjIceLeaf_cFv, -}; -#pragma pop + mStts.Init(0, 0xFF, this); + mCyl.Set(l_cyl_src); + mCyl.SetStts(&mStts); + mCyl.SetR(100.0f); + mCyl.SetH(500.0f); -/* 80C25E30-80C25E3C -00001 000C+00 0/1 0/0 0/0 .data @3977 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3977[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)modePlayerWait__14daObjIceLeaf_cFv, -}; -#pragma pop + fopAcM_setCullSizeBox2(this, mpModel->getModelData()); -/* 80C25E3C-80C25E48 -00001 000C+00 0/1 0/0 0/0 .data @3978 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3978[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)modeRide__14daObjIceLeaf_cFv, -}; -#pragma pop + mEvId = getEvId(); + mEventID = dComIfGp_getEventManager().getEventIdx(this, mEvId); -/* 80C25E48-80C25E78 000098 0030+00 0/1 0/0 0/0 .data l_func$3974 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_func_3974[48] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -#pragma pop + if (checkRideStatus() == 1) { + mRide = true; + mpBck = NULL; + setAnmPos(); + } -/* 80C25E78-80C25E84 -00001 000C+00 0/1 0/0 0/0 .data @4108 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4108[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)actionWait__14daObjIceLeaf_cFv, -}; -#pragma pop - -/* 80C25E84-80C25E90 -00001 000C+00 0/1 0/0 0/0 .data @4109 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4109[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)actionOrderEvent__14daObjIceLeaf_cFv, -}; -#pragma pop - -/* 80C25E90-80C25E9C -00001 000C+00 0/1 0/0 0/0 .data @4110 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4110[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)actionEvent__14daObjIceLeaf_cFv, -}; -#pragma pop - -/* 80C25E9C-80C25EA8 -00001 000C+00 0/1 0/0 0/0 .data @4111 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_4111[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)actionDead__14daObjIceLeaf_cFv, -}; -#pragma pop + return 1; +} -/* 80C25EA8-80C25ED8 0000F8 0030+00 0/1 0/0 0/0 .data l_func$4107 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_func_4107[48] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -#pragma pop +/* 80C24BC4-80C24C9C 000524 00D8+00 2/2 0/0 0/0 .text setAnmPos__14daObjIceLeaf_cFv */ +void daObjIceLeaf_c::setAnmPos() { + J3DAnmTransform* pbck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 4); + JUT_ASSERT(0x168, pbck != 0); + pbck->getTransform(0, &mTransformInfo); -/* 80C25ED8-80C25EF8 -00001 0020+00 1/0 0/0 0/0 .data l_daObjIceLeaf_Method */ -static actor_method_class l_daObjIceLeaf_Method = { - (process_method_func)daObjIceLeaf_Create__FP14daObjIceLeaf_c, - (process_method_func)daObjIceLeaf_Delete__FP14daObjIceLeaf_c, - (process_method_func)daObjIceLeaf_Execute__FP14daObjIceLeaf_c, - 0, - (process_method_func)daObjIceLeaf_Draw__FP14daObjIceLeaf_c, -}; + mDoMtx_stack_c::transS(mTransformInfo.mTranslate.x, mTransformInfo.mTranslate.y, + mTransformInfo.mTranslate.z); + mDoMtx_stack_c::transM(current.pos); + mDoMtx_stack_c::multVecZero(¤t.pos); -/* 80C25EF8-80C25F28 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_IceLeaf */ -extern actor_process_profile_definition g_profile_Obj_IceLeaf = { - fpcLy_CURRENT_e, // mLayerID - 7, // mListID - fpcPi_CURRENT_e, // mListPrio - PROC_Obj_IceLeaf, // mProcName - &g_fpcLf_Method.mBase, // sub_method - sizeof(daObjIceLeaf_c), // mSize - 0, // mSizeOther - 0, // mParameters - &g_fopAc_Method.base, // sub_method - 567, // mPriority - &l_daObjIceLeaf_Method, // sub_method - 0x00060000, // mStatus - fopAc_ACTOR_e, // mActorType - fopAc_CULLBOX_CUSTOM_e, // cullType -}; + shape_angle.x += mTransformInfo.mRotation.x; + shape_angle.y += mTransformInfo.mRotation.y; + shape_angle.z += mTransformInfo.mRotation.z; +} -/* 80C25F28-80C25F34 000178 000C+00 1/1 0/0 0/0 .data __vt__12dBgS_AcchCir */ -SECTION_DATA extern void* __vt__12dBgS_AcchCir[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dBgS_AcchCirFv, -}; +/* 80C24C9C-80C24DCC 0005FC 0130+00 1/1 0/0 0/0 .text CreateHeap__14daObjIceLeaf_cFv */ +int daObjIceLeaf_c::CreateHeap() { + J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 7); + JUT_ASSERT(0x189, modelData != 0); + mpModel = mDoExt_J3DModel__create(modelData, 0, 0x11000084); + if (mpModel == NULL) { + return 0; + } -/* 80C25F34-80C25F40 000184 000C+00 2/2 0/0 0/0 .data __vt__10cCcD_GStts */ -SECTION_DATA extern void* __vt__10cCcD_GStts[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10cCcD_GSttsFv, -}; + J3DAnmTransform* pbck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 4); + JUT_ASSERT(0x196, pbck != 0); -/* 80C25F40-80C25F4C 000190 000C+00 1/1 0/0 0/0 .data __vt__10dCcD_GStts */ -SECTION_DATA extern void* __vt__10dCcD_GStts[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10dCcD_GSttsFv, -}; + mpBck = new mDoExt_bckAnm(); + if (mpBck == NULL || !mpBck->init(pbck, TRUE, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, 0, -1, false)) { + return 0; + } -/* 80C25F4C-80C25F58 00019C 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGCyl */ -SECTION_DATA extern void* __vt__8cM3dGCyl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGCylFv, -}; + mpBck->setPlaySpeed(0.0f); + mpBck->setFrame(0.0f); + return 1; +} -/* 80C25F58-80C25F64 0001A8 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGAab */ -SECTION_DATA extern void* __vt__8cM3dGAab[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGAabFv, -}; +/* 80C24E14-80C24F8C 000774 0178+00 1/1 0/0 0/0 .text create__14daObjIceLeaf_cFv */ +int daObjIceLeaf_c::create() { + fopAcM_SetupActor(this, daObjIceLeaf_c); -/* 80C25F64-80C25F88 0001B4 0024+00 2/2 0/0 0/0 .data __vt__12dBgS_ObjAcch */ -SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dBgS_ObjAcchFv, - (void*)NULL, - (void*)NULL, - (void*)func_80C25D54, - (void*)NULL, - (void*)NULL, - (void*)func_80C25D4C, -}; + int phase_state = dComIfG_resLoad(&mPhase, l_arcName); + if (phase_state == cPhs_COMPLEATE_e) { + if (!fopAcM_entrySolidHeap(this, CheckCreateHeap, 0xDA0)) { + return cPhs_ERROR_e; + } -/* 80C25F88-80C25F94 0001D8 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */ -SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12J3DFrameCtrlFv, -}; + if (!Create()) { + return cPhs_ERROR_e; + } + } -/* 80C24C9C-80C24DCC 0005FC 0130+00 1/1 0/0 0/0 .text CreateHeap__14daObjIceLeaf_cFv */ -void daObjIceLeaf_c::CreateHeap() { - // NONMATCHING + return phase_state; } -/* 80C24DCC-80C24E14 00072C 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ -// J3DFrameCtrl::~J3DFrameCtrl() { -extern "C" void __dt__12J3DFrameCtrlFv() { - // NONMATCHING -} +/* 80C25158-80C25360 000AB8 0208+00 1/1 0/0 0/0 .text execute__14daObjIceLeaf_cFv */ +int daObjIceLeaf_c::execute() { + daPy_py_c* player = daPy_getPlayerActorClass(); -/* 80C24E14-80C24F8C 000774 0178+00 1/1 0/0 0/0 .text create__14daObjIceLeaf_cFv */ -void daObjIceLeaf_c::create() { - // NONMATCHING -} + event_proc_call(); + action(); -/* 80C24F8C-80C24FD4 0008EC 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */ -// cM3dGCyl::~cM3dGCyl() { -extern "C" void __dt__8cM3dGCylFv() { - // NONMATCHING -} + if (mDeleteActor) { + if (field_0x92b == 0) { + dComIfGp_particle_set(0x8C12, &eyePos, NULL, NULL); + dComIfGp_particle_set(0x8C13, &eyePos, NULL, NULL); -/* 80C24FD4-80C2501C 000934 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} + field_0x92b = 1; + player->seStartOnlyReverb(Z2SE_AL_SNOBO_ICEBREAK); + } -/* 80C2501C-80C25078 00097C 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */ -// dCcD_GStts::~dCcD_GStts() { -extern "C" void __dt__10dCcD_GSttsFv() { - // NONMATCHING -} + fopAcM_delete(this); + // "Ice Leaf: Deleted\n" + OS_REPORT("氷の葉:削除されました\n"); + } -/* 80C25078-80C250E8 0009D8 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */ -// dBgS_AcchCir::~dBgS_AcchCir() { -extern "C" void __dt__12dBgS_AcchCirFv() { - // NONMATCHING -} + if (mBreakEffect) { + dComIfGp_particle_set(0x8C12, &eyePos, NULL, NULL); + dComIfGp_particle_set(0x8C13, &eyePos, NULL, NULL); -/* 80C250E8-80C25158 000A48 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */ -// dBgS_ObjAcch::~dBgS_ObjAcch() { -extern "C" void __dt__12dBgS_ObjAcchFv() { - // NONMATCHING -} + mBreakEffect = false; + player->seStartOnlyReverb(Z2SE_AL_SNOBO_ICEBREAK); + } -/* 80C25158-80C25360 000AB8 0208+00 1/1 0/0 0/0 .text execute__14daObjIceLeaf_cFv */ -void daObjIceLeaf_c::execute() { - // NONMATCHING + setBaseMtx(); + return 1; } /* 80C25360-80C2541C 000CC0 00BC+00 1/1 0/0 0/0 .text action__14daObjIceLeaf_cFv */ void daObjIceLeaf_c::action() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80C25D7C-80C25D84 000018 0008+00 0/1 0/0 0/0 .rodata @4030 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4030[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80C25D7C, &lit_4030); -#pragma pop - -/* 80C25D84-80C25D8C 000020 0008+00 0/1 0/0 0/0 .rodata @4031 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4031[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80C25D84, &lit_4031); -#pragma pop - -/* 80C25D8C-80C25D94 000028 0008+00 0/1 0/0 0/0 .rodata @4032 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4032[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80C25D8C, &lit_4032); -#pragma pop + typedef void (daObjIceLeaf_c::*mode_func)(); + static mode_func l_func[] = { + &daObjIceLeaf_c::modeDropWait, + &daObjIceLeaf_c::modeDrop, + &daObjIceLeaf_c::modePlayerWait, + &daObjIceLeaf_c::modeRide, + }; -/* 80C25D94-80C25D98 000030 0004+00 0/1 0/0 0/0 .rodata @4033 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4033 = 250.0f; -COMPILER_STRIP_GATE(0x80C25D94, &lit_4033); -#pragma pop + (this->*l_func[mMode])(); +} /* 80C2541C-80C25614 000D7C 01F8+00 1/0 0/0 0/0 .text modeDropWait__14daObjIceLeaf_cFv */ void daObjIceLeaf_c::modeDropWait() { - // NONMATCHING -} + daPy_py_c* player = daPy_getPlayerActorClass(); -/* ############################################################################################## */ -/* 80C25D98-80C25D9C 000034 0004+00 0/1 0/0 0/0 .rodata @4093 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4093 = 12.0f; -COMPILER_STRIP_GATE(0x80C25D98, &lit_4093); -#pragma pop + if (dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[0x134])) { + bool start_drop = false; + if (player->current.pos.abs(current.pos) < 250.0f && + (player->checkFrontRollCrash() || player->checkWolfAttackReverse())) + { + start_drop = true; + } -/* 80C25D9C-80C25DA0 000038 0004+00 0/1 0/0 0/0 .rodata @4094 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4094 = 5.0f; -COMPILER_STRIP_GATE(0x80C25D9C, &lit_4094); -#pragma pop + if (mCyl.ChkTgHit()) { + cCcD_Obj* hit_obj = mCyl.GetTgHitObj(); + if (hit_obj != NULL && hit_obj->ChkAtType(AT_TYPE_IRON_BALL)) { + start_drop = true; + } + } -/* 80C25DA0-80C25DA4 00003C 0004+00 1/2 0/0 0/0 .rodata @4095 */ -SECTION_RODATA static f32 const lit_4095 = -1.0f; -COMPILER_STRIP_GATE(0x80C25DA0, &lit_4095); + if (start_drop) { + setAction(ACT_ORDER_EVENT_e); + } + } + + if (mRide) { + mpBck = NULL; + setAnmPos(); + } + + mCyl.SetC(current.pos); + dComIfG_Ccsp()->Set(&mCyl); +} /* 80C25614-80C258F8 000F74 02E4+00 1/0 0/0 0/0 .text modeDrop__14daObjIceLeaf_cFv */ void daObjIceLeaf_c::modeDrop() { - // NONMATCHING + if (mpBck->play()) { + J3DAnmTransform* pbck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 4); + JUT_ASSERT(0x2C8, pbck != 0); + pbck->getTransform(0, &mTransformInfo); + + mDoMtx_stack_c::transS(mTransformInfo.mTranslate.x, mTransformInfo.mTranslate.y, + mTransformInfo.mTranslate.z); + mDoMtx_stack_c::transM(current.pos); + mDoMtx_stack_c::multVecZero(¤t.pos); + + shape_angle.x += mTransformInfo.mRotation.x; + shape_angle.y += mTransformInfo.mRotation.y; + shape_angle.z += mTransformInfo.mRotation.z; + + attention_info.position = current.pos; + eyePos = current.pos; + + mpBck = NULL; + setMode(MODE_PLAYER_WAIT_e); + } + + if (mpBck != NULL && mpBck->getFrame() == 12) { + cXyz sp24(KREG_F(10) + 1.0f, KREG_F(10) + 1.0f, KREG_F(10) + 1.0f); + + J3DAnmTransform* pbck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 4); + JUT_ASSERT(0x2EB, pbck != 0); + pbck->getTransform(0, &mTransformInfo); + + cXyz sp30; + mDoMtx_stack_c::transS(mTransformInfo.mTranslate.x, mTransformInfo.mTranslate.y, + mTransformInfo.mTranslate.z); + mDoMtx_stack_c::transM(current.pos); + mDoMtx_stack_c::multVecZero(&sp30); + sp30.y += 5.0f; + + if (fopAcM_gc_c::gndCheck(&sp30)) { + dComIfGp_particle_setPolyColor(0x881F, *fopAcM_gc_c::getGroundCheck(), &sp30, &tevStr, + ¤t.angle, &sp24, 0, NULL, -1, NULL); + dComIfGp_particle_setPolyColor(0x8820, *fopAcM_gc_c::getGroundCheck(), &sp30, &tevStr, + ¤t.angle, &sp24, 0, NULL, -1, NULL); + + mFallSEPos = sp30; + mDoAud_seStart(Z2SE_OBJ_LEAF_FALL_DOWN, &mFallSEPos, 0, 0); + // "Ice Leaf: Falling SE\n" + OS_REPORT("氷の葉:落下SE\n"); + } + } } /* 80C258F8-80C25904 001258 000C+00 1/0 0/0 0/0 .text modePlayerWait__14daObjIceLeaf_cFv */ void daObjIceLeaf_c::modePlayerWait() { - // NONMATCHING + attention_info.flags = 0x80; } /* 80C25904-80C25908 001264 0004+00 1/0 0/0 0/0 .text modeRide__14daObjIceLeaf_cFv */ -void daObjIceLeaf_c::modeRide() { - /* empty function */ -} +void daObjIceLeaf_c::modeRide() {} /* 80C25908-80C259C4 001268 00BC+00 1/1 0/0 0/0 .text event_proc_call__14daObjIceLeaf_cFv */ void daObjIceLeaf_c::event_proc_call() { - // NONMATCHING + typedef void (daObjIceLeaf_c::*action_func)(); + static action_func l_func[] = { + &daObjIceLeaf_c::actionWait, + &daObjIceLeaf_c::actionOrderEvent, + &daObjIceLeaf_c::actionEvent, + &daObjIceLeaf_c::actionDead, + }; + + (this->*l_func[mAction])(); } /* 80C259C4-80C259C8 001324 0004+00 1/0 0/0 0/0 .text actionWait__14daObjIceLeaf_cFv */ -void daObjIceLeaf_c::actionWait() { - /* empty function */ -} +void daObjIceLeaf_c::actionWait() {} /* 80C259C8-80C25A68 001328 00A0+00 1/0 0/0 0/0 .text actionOrderEvent__14daObjIceLeaf_cFv */ void daObjIceLeaf_c::actionOrderEvent() { - // NONMATCHING + if (eventInfo.i_checkCommandDemoAccrpt()) { + setAction(ACT_EVENT_e); + mpBck->setPlaySpeed(1.0f); + setMode(MODE_DROP_e); + setFallSE(); + + fopAcM_onSwitch(this, getSwbit()); + } else { + fopAcM_orderOtherEventId(this, mEventID, mEvId, 0xFFFF, 0, 1); + eventInfo.i_onCondition(2); + } } /* 80C25A68-80C25AC4 0013C8 005C+00 1/0 0/0 0/0 .text actionEvent__14daObjIceLeaf_cFv */ void daObjIceLeaf_c::actionEvent() { - // NONMATCHING + if (dComIfGp_evmng_endCheck(mEventID)) { + setAction(ACT_DEAD_e); + dComIfGp_event_reset(); + } } /* 80C25AC4-80C25AC8 001424 0004+00 1/0 0/0 0/0 .text actionDead__14daObjIceLeaf_cFv */ -void daObjIceLeaf_c::actionDead() { - /* empty function */ -} +void daObjIceLeaf_c::actionDead() {} /* 80C25AC8-80C25BB8 001428 00F0+00 1/1 0/0 0/0 .text setFallSE__14daObjIceLeaf_cFv */ void daObjIceLeaf_c::setFallSE() { - // NONMATCHING + J3DAnmTransform* pbck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 4); + JUT_ASSERT(0x36C, pbck != 0); + pbck->getTransform(0, &mTransformInfo); + + mDoMtx_stack_c::transS(mTransformInfo.mTranslate.x, mTransformInfo.mTranslate.y, + mTransformInfo.mTranslate.z); + mDoMtx_stack_c::transM(current.pos); + mDoMtx_stack_c::multVecZero(&mFallStartSEPos); + + mDoAud_seStart(Z2SE_OBJ_LEAF_BEGIN_FALL, &mFallStartSEPos, 0, 0); + // "Ice Leaf: Fall start SE(%.2f,%.2f,%.2f)\n" + OS_REPORT("氷の葉:落下開始SE(%.2f,%.2f,%.2f)\n", mFallStartSEPos.x, mFallStartSEPos.y, + mFallStartSEPos.z); } /* 80C25BB8-80C25C50 001518 0098+00 1/1 0/0 0/0 .text draw__14daObjIceLeaf_cFv */ -void daObjIceLeaf_c::draw() { - // NONMATCHING +int daObjIceLeaf_c::draw() { + g_env_light.settingTevStruct(0, ¤t.pos, &tevStr); + g_env_light.setLightTevColorType_MAJI(mpModel, &tevStr); + + if (mpBck != NULL) { + mpBck->entry(mpModel->getModelData()); + } + + mDoExt_modelUpdateDL(mpModel); + mDoExt_bckAnmRemove(mpModel->getModelData()); + + return 1; } /* 80C25C50-80C25C84 0015B0 0034+00 1/1 0/0 0/0 .text _delete__14daObjIceLeaf_cFv */ -void daObjIceLeaf_c::_delete() { - // NONMATCHING +int daObjIceLeaf_c::_delete() { + dComIfG_resDelete(&mPhase, l_arcName); + return 1; } /* 80C25C84-80C25CA4 0015E4 0020+00 1/0 0/0 0/0 .text daObjIceLeaf_Draw__FP14daObjIceLeaf_c */ -static void daObjIceLeaf_Draw(daObjIceLeaf_c* param_0) { - // NONMATCHING +static int daObjIceLeaf_Draw(daObjIceLeaf_c* i_this) { + return i_this->draw(); } /* 80C25CA4-80C25CC4 001604 0020+00 1/0 0/0 0/0 .text daObjIceLeaf_Execute__FP14daObjIceLeaf_c */ -static void daObjIceLeaf_Execute(daObjIceLeaf_c* param_0) { - // NONMATCHING +static int daObjIceLeaf_Execute(daObjIceLeaf_c* i_this) { + return i_this->execute(); } /* 80C25CC4-80C25CE4 001624 0020+00 1/0 0/0 0/0 .text daObjIceLeaf_Delete__FP14daObjIceLeaf_c */ -static void daObjIceLeaf_Delete(daObjIceLeaf_c* param_0) { - // NONMATCHING +static int daObjIceLeaf_Delete(daObjIceLeaf_c* i_this) { + return i_this->_delete(); } /* 80C25CE4-80C25D04 001644 0020+00 1/0 0/0 0/0 .text daObjIceLeaf_Create__FP14daObjIceLeaf_c */ -static void daObjIceLeaf_Create(daObjIceLeaf_c* param_0) { - // NONMATCHING -} - -/* 80C25D04-80C25D4C 001664 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */ -// cCcD_GStts::~cCcD_GStts() { -extern "C" void __dt__10cCcD_GSttsFv() { - // NONMATCHING +static int daObjIceLeaf_Create(daObjIceLeaf_c* i_this) { + return i_this->create(); } -/* 80C25D4C-80C25D54 0016AC 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */ -static void func_80C25D4C() { - // NONMATCHING -} - -/* 80C25D54-80C25D5C 0016B4 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */ -static void func_80C25D54() { - // NONMATCHING -} +/* 80C25ED8-80C25EF8 -00001 0020+00 1/0 0/0 0/0 .data l_daObjIceLeaf_Method */ +static actor_method_class l_daObjIceLeaf_Method = { + (process_method_func)daObjIceLeaf_Create, (process_method_func)daObjIceLeaf_Delete, + (process_method_func)daObjIceLeaf_Execute, (process_method_func)NULL, + (process_method_func)daObjIceLeaf_Draw, +}; -/* 80C25DA4-80C25DA4 000040 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 80C25EF8-80C25F28 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_IceLeaf */ +extern actor_process_profile_definition g_profile_Obj_IceLeaf = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_Obj_IceLeaf, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(daObjIceLeaf_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 567, // mPriority + &l_daObjIceLeaf_Method, // sub_method + 0x00060000, // mStatus + fopAc_ACTOR_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType +}; diff --git a/src/d/d_com_inf_game.cpp b/src/d/d_com_inf_game.cpp index 1fded32d656..7c4a066280a 100644 --- a/src/d/d_com_inf_game.cpp +++ b/src/d/d_com_inf_game.cpp @@ -12,6 +12,7 @@ #include "d/d_timer.h" #include "d/d_map_path_dmap.h" #include "d/d_menu_fmap.h" +#include "d/d_meter2_info.h" #include "f_op/f_op_scene_mng.h" #include "m_Do/m_Do_Reset.h" #include "m_Do/m_Do_controller_pad.h" diff --git a/src/d/d_demo.cpp b/src/d/d_demo.cpp index 5a5072bce2f..d8dea7bc2b8 100644 --- a/src/d/d_demo.cpp +++ b/src/d/d_demo.cpp @@ -1282,7 +1282,7 @@ extern "C" void __dt__15dDemo_ambient_cFv() { /* 80039528-80039678 033E68 0150+00 1/0 0/0 0/0 .text * JSGFindObject__14dDemo_system_cCFPPQ26JStage7TObjectPCcQ26JStage8TEObject */ -bool dDemo_system_c::JSGFindObject(JStage::TObject** p_TObj, char const* actorName, +int dDemo_system_c::JSGFindObject(JStage::TObject** p_TObj, char const* actorName, JStage::TEObject objType) const { if (mpObject == NULL) { return true; @@ -1491,10 +1491,10 @@ void dDemo_c::reset() { } /* 80039F1C-80039F9C 03485C 0080+00 1/0 0/0 0/0 .text emitter_create__16dDemo_particle_cFUl */ -void dDemo_particle_c::emitter_create(u32 param_0) { +JPABaseEmitter* dDemo_particle_c::emitter_create(u32 param_0) { cXyz tmp(0.0f, 0.0f, 0.0f); int stayNo = dComIfGp_roomControl_getStayNo(); - dComIfGp_particle_set(param_0, &tmp, NULL, NULL, 0xFF, NULL, stayNo, NULL, NULL, NULL); + return dComIfGp_particle_set(param_0, &tmp, NULL, NULL, 0xFF, NULL, stayNo, NULL, NULL, NULL); } @@ -1559,4 +1559,4 @@ SECTION_DEAD static char const* const stringBase_8037981E = "デモデータ再 SECTION_DEAD static char const* const pad_8037983E = "\0"; #pragma pop -/* 803797F8-803797F8 005E58 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 803797F8-803797F8 005E58 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/d_menu_collect.cpp b/src/d/d_menu_collect.cpp index 61d8f4106e5..48e78def7b8 100644 --- a/src/d/d_menu_collect.cpp +++ b/src/d/d_menu_collect.cpp @@ -22,6 +22,7 @@ #include "d/d_pane_class.h" #include "d/d_item.h" #include "d/d_lib.h" +#include "d/d_meter2_info.h" #include "dol2asm.h" #include "dolphin/os.h" #include "dolphin/types.h" diff --git a/src/d/d_menu_ring.cpp b/src/d/d_menu_ring.cpp index 35b1723d8de..ae953edab74 100644 --- a/src/d/d_menu_ring.cpp +++ b/src/d/d_menu_ring.cpp @@ -19,6 +19,7 @@ #include "d/d_meter2.h" #include "d/d_meter2_draw.h" #include "d/d_meter_HIO.h" +#include "d/d_meter2_info.h" #include "d/d_msg_string.h" #include "m_Do/m_Do_controller_pad.h" #include "m_Do/m_Do_graphic.h" @@ -2097,4 +2098,4 @@ u8 dMenu_Ring_c::openExplain(u8 param_0) { static const u32 i_nameID[2] = {0x4DE, 0x4E0}; static const u32 i_expID[2] = {0x4DF, 0x4E1}; return mpItemExplain->openExplainTx(i_nameID[idx], i_expID[idx]); -} \ No newline at end of file +} diff --git a/src/d/d_meter2_draw.cpp b/src/d/d_meter2_draw.cpp index b28de03d18f..06e36170335 100644 --- a/src/d/d_meter2_draw.cpp +++ b/src/d/d_meter2_draw.cpp @@ -14,6 +14,7 @@ #include "d/d_item_data.h" #include "d/d_kantera_icon_meter.h" #include "d/d_meter_HIO.h" +#include "d/d_meter2_info.h" #include "d/d_msg_class.h" #include "d/d_msg_object.h" #include "d/d_pane_class.h" @@ -4066,4 +4067,4 @@ static u64 const tag_7759[] = { 'item_x_n', 'item_y_n', 'item_j_n', -}; \ No newline at end of file +}; diff --git a/src/d/d_msg_flow.cpp b/src/d/d_msg_flow.cpp index 08affd2b192..1597046dbd8 100644 --- a/src/d/d_msg_flow.cpp +++ b/src/d/d_msg_flow.cpp @@ -9,6 +9,7 @@ #include "d/d_item.h" #include "d/d_msg_object.h" #include "d/d_shop_system.h" +#include "d/d_meter2_info.h" #include "dol2asm.h" #include "f_op/f_op_msg_mng.h" #include "m_Do/m_Do_graphic.h" @@ -2470,4 +2471,4 @@ extern "C" void func_8024DAB0(void* _this, s32* param_0) { // NONMATCHING } -/* 80399CB0-80399CB0 026310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 80399CB0-80399CB0 026310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/d_msg_scrn_howl.cpp b/src/d/d_msg_scrn_howl.cpp index 6a0756051a3..cbc6986415c 100644 --- a/src/d/d_msg_scrn_howl.cpp +++ b/src/d/d_msg_scrn_howl.cpp @@ -10,6 +10,7 @@ #include "d/actor/d_a_alink.h" #include "d/d_meter2.h" #include "d/d_meter2_draw.h" +#include "d/d_meter2_info.h" #include "JSystem/JUtility/JUTTexture.h" #include "JSystem/JUtility/JUTAssert.h" #include "JSystem/J2DGraph/J2DGrafContext.h" @@ -1098,4 +1099,4 @@ u8 dMsgScrnHowl_c::getGuideDataType(int param_0) { } -/* 80399A20-80399A20 026080 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 80399A20-80399A20 026080 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */