mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-07-09 04:30:49 -04:00
work on daAlink horse, hvyboots, cut (#1981)
* work on alink_cut, alink_horse, alink_hvyboots * remove asm
This commit is contained in:
+31
-27
@@ -634,6 +634,7 @@ public:
|
||||
/* 0x19B */ ANM_DIVE,
|
||||
/* 0x19C */ ANM_ODOROKU, // ?
|
||||
/* 0x19D */ ANM_ASHIMOTO, // ?
|
||||
/* 0x19E */ ANM_MAX,
|
||||
};
|
||||
|
||||
enum daAlink_UPPER {
|
||||
@@ -1910,12 +1911,12 @@ public:
|
||||
/* 800E23FC */ void concatMagneBootMtx();
|
||||
/* 800E243C */ void concatMagneBootInvMtx();
|
||||
/* 800E247C */ void multVecMagneBootInvMtx(cXyz*);
|
||||
/* 800E24B0 */ int commonMagneLineCheck(cXyz*, cXyz*);
|
||||
/* 800E24B0 */ bool commonMagneLineCheck(cXyz*, cXyz*);
|
||||
/* 800E251C */ BOOL checkBootsMoveAnime(int);
|
||||
/* 800E2580 */ void setHeavyBoots(int);
|
||||
/* 800E2580 */ int setHeavyBoots(int);
|
||||
/* 800E2738 */ s16 getMagneBootsLocalAngleY(s16, int);
|
||||
/* 800E2808 */ void setMagneBootsMtx(cBgS_PolyInfo*, int);
|
||||
/* 800E2DC4 */ void cancelMagneBootsOn();
|
||||
/* 800E2DC4 */ int cancelMagneBootsOn();
|
||||
/* 800E2F88 */ int checkMagneBootsFly();
|
||||
/* 800E3048 */ int procBootsEquipInit();
|
||||
/* 800E30DC */ int procBootsEquip();
|
||||
@@ -1953,7 +1954,7 @@ public:
|
||||
/* 800E5170 */ void checkNextActionGrab();
|
||||
/* 800E53AC */ void initGrabNextMode();
|
||||
/* 800E53F8 */ void setGrabItemThrow();
|
||||
/* 800E57AC */ void checkUpperGrabItemThrow(f32);
|
||||
/* 800E57AC */ BOOL checkUpperGrabItemThrow(f32);
|
||||
/* 800E5830 */ void putObjLineCheck(dBgS_LinChk&, cXyz*, fopAc_ac_c*);
|
||||
/* 800E5B6C */ void grabLineCheck(cXyz*, cXyz*);
|
||||
/* 800E5BB4 */ void setGrabItemActor(fopAc_ac_c*);
|
||||
@@ -2033,14 +2034,14 @@ public:
|
||||
/* 800EC3D8 */ int procSumouWinLose();
|
||||
/* 800EC538 */ int procSumouShikoInit();
|
||||
/* 800EC5F4 */ int procSumouShiko();
|
||||
/* 800EC76C */ void checkHorseZeldaBowMode();
|
||||
/* 800EC7B0 */ void setHorseZeldaDamage();
|
||||
/* 800EC7DC */ BOOL checkHorseDashAccept();
|
||||
/* 800EC814 */ BOOL checkCowGame();
|
||||
/* 800EC76C */ static BOOL checkHorseZeldaBowMode();
|
||||
/* 800EC7B0 */ static void setHorseZeldaDamage();
|
||||
/* 800EC7DC */ static BOOL checkHorseDashAccept();
|
||||
/* 800EC814 */ static BOOL checkCowGame();
|
||||
/* 800EC87C */ int getReinRideDirection();
|
||||
/* 800EC8F8 */ void checkReinRideBgCheck();
|
||||
/* 800EC8F8 */ int checkReinRideBgCheck();
|
||||
/* 800ECA3C */ void commonInitForceRideRein();
|
||||
/* 800ECAAC */ void initForceRideBoar();
|
||||
/* 800ECAAC */ int initForceRideBoar();
|
||||
/* 800ECB58 */ void initForceRideHorse();
|
||||
/* 800ECBD0 */ void rideGetOff();
|
||||
/* 800ECD90 */ BOOL checkHorseNotDamageReaction() const;
|
||||
@@ -2056,32 +2057,32 @@ public:
|
||||
/* 800ED1F0 */ void checkHorseNotGrab() const;
|
||||
/* 800ED310 */ void setHorseStirrup();
|
||||
/* 800ED4B8 */ void changeBoarRunRide();
|
||||
/* 800ED4DC */ void setSyncHorsePos();
|
||||
/* 800ED78C */ void setSyncBoarPos();
|
||||
/* 800ED90C */ void setSyncBoarRunPos();
|
||||
/* 800EDA24 */ void setSyncRidePos();
|
||||
/* 800ED4DC */ int setSyncHorsePos();
|
||||
/* 800ED78C */ int setSyncBoarPos();
|
||||
/* 800ED90C */ int setSyncBoarRunPos();
|
||||
/* 800EDA24 */ BOOL setSyncRidePos();
|
||||
/* 800EDA78 */ void setHorseTurnAnime();
|
||||
/* 800EDB48 */ void getBaseHorseAnime(daAlink_c::daAlink_ANM*);
|
||||
/* 800EDD6C */ void checkHorseSpecialProc();
|
||||
/* 800EDE8C */ void checkHorseServiceWaitAnime();
|
||||
/* 800EDEEC */ void setSyncHorse(int);
|
||||
/* 800EE64C */ void setSyncBoar(int);
|
||||
/* 800EE918 */ void setSyncRide(int);
|
||||
/* 800EDD6C */ int checkHorseSpecialProc();
|
||||
/* 800EDE8C */ BOOL checkHorseServiceWaitAnime();
|
||||
/* 800EDEEC */ int setSyncHorse(int);
|
||||
/* 800EE64C */ int setSyncBoar(int);
|
||||
/* 800EE918 */ int setSyncRide(int);
|
||||
/* 800EEAE8 */ void setBaseHorseAnimeFrame();
|
||||
/* 800EEC98 */ void setBaseBoarAnime();
|
||||
/* 800EED98 */ void setBaseRideAnime();
|
||||
/* 800EEE30 */ void checkHorseSwordUpSpped();
|
||||
/* 800EEE30 */ bool checkHorseSwordUpSpped();
|
||||
/* 800EEE5C */ void setHorseSwordUp(int);
|
||||
/* 800EEF30 */ void setRideSubjectAngle(s16);
|
||||
/* 800EEF30 */ int setRideSubjectAngle(s16);
|
||||
/* 800EF050 */ void setBodyAngleRideReadyAnime();
|
||||
/* 800EF0E8 */ void checkHorseGetOffWallCheck(cXyz*, cXyz*, s16);
|
||||
/* 800EF198 */ void checkHorseGetOffDirection();
|
||||
/* 800EF0E8 */ BOOL checkHorseGetOffWallCheck(cXyz*, cXyz*, s16);
|
||||
/* 800EF198 */ int checkHorseGetOffDirection();
|
||||
/* 800EF35C */ void boarForceGetOff();
|
||||
/* 800EF394 */ void horseGetOffEnd();
|
||||
/* 800EF450 */ void checkNextActionHorse();
|
||||
/* 800EF598 */ void checkHorseGetOff();
|
||||
/* 800EF450 */ int checkNextActionHorse();
|
||||
/* 800EF598 */ BOOL checkHorseGetOff();
|
||||
/* 800EF6B0 */ void checkHorseGetOffAndSetDoStatus();
|
||||
/* 800EF884 */ void setHorseGetOff(int);
|
||||
/* 800EF884 */ int setHorseGetOff(int);
|
||||
/* 800EF95C */ int procHorseRideInit();
|
||||
/* 800EFDC4 */ int procHorseRide();
|
||||
/* 800F038C */ int procHorseGetOffInit(int);
|
||||
@@ -3167,9 +3168,12 @@ public:
|
||||
BOOL checkGrabAnimeSide() const { return checkUpperAnime(0x50); }
|
||||
BOOL checkGrabAnimeCarry() const { return checkUpperAnime(0x60); }
|
||||
bool checkHorseUnderDashStartAnime() const { return checkUnderAnime(0xDD); }
|
||||
bool checkHorseUnderLashAnime() const { return checkUnderAnime(0x1B3); }
|
||||
bool checkUpperHorseLieAnime() const { return checkUpperAnime(0x265); }
|
||||
bool checkHorseTiredAnime() const { return checkUpperAnime(0x263); }
|
||||
bool checkHorseSwordUpAnime() const { return checkUpperAnime(0xCC); }
|
||||
bool checkHorseUnderItemAnime() const { return checkUnderAnime(0x19); }
|
||||
bool checkHorseWalkStartAnm() const { return checkUnderMove0BckNoArc(ANM_WSTARTH); }
|
||||
bool checkIronBallPreSwingAnime() const { return checkUpperAnime(0x19A); }
|
||||
bool checkIronBallSwingAnime() const { return checkUpperAnime(0x19B); }
|
||||
bool checkDashDamageAnime() const { return checkUpperAnime(0xAD); }
|
||||
@@ -3389,7 +3393,7 @@ private:
|
||||
/* 0x006D4 */ void* field_0x06d4;
|
||||
/* 0x006D8 */ void* field_0x06d8;
|
||||
/* 0x006DC */ void* field_0x06dc;
|
||||
/* 0x006E0 */ void* field_0x06e0;
|
||||
/* 0x006E0 */ J3DShape* field_0x06e0;
|
||||
/* 0x006E4 */ J3DShape* field_0x06e4;
|
||||
/* 0x006E8 */ J3DShape* field_0x06e8;
|
||||
/* 0x006EC */ J3DShape* field_0x06ec;
|
||||
|
||||
@@ -249,6 +249,8 @@ public:
|
||||
FLG1_UNK_8000 = 0x8000,
|
||||
FLG1_THROW_DAMAGE = 0x4000,
|
||||
FLG1_UNK_2000 = 0x2000,
|
||||
FLG1_UNK_1000 = 0x1000,
|
||||
FLG1_UNK_800 = 0x800,
|
||||
FLG1_UNK_80 = 0x80,
|
||||
FLG1_UNK_40 = 0x40,
|
||||
FLG1_UNK_20 = 0x20,
|
||||
@@ -256,6 +258,8 @@ public:
|
||||
FLG1_UNK_4 = 4,
|
||||
FLG1_UNK_2 = 2,
|
||||
FLG1_UNK_1 = 1,
|
||||
|
||||
FLG1_UNK_1800 = 0x1800,
|
||||
};
|
||||
|
||||
enum daPy_FLG2 {
|
||||
@@ -304,6 +308,7 @@ public:
|
||||
FLG3_UNK_4000 = 0x4000,
|
||||
FLG3_UNK_200 = 0x200,
|
||||
FLG3_UNK_100 = 0x100,
|
||||
FLG3_UNK_80 = 0x80,
|
||||
FLG3_UNK_40 = 0x40,
|
||||
FLG3_UNK_20 = 0x20,
|
||||
FLG3_UNK_10 = 0x10,
|
||||
@@ -360,6 +365,7 @@ public:
|
||||
ERFLG2_UNK_100 = 0x100,
|
||||
ERFLG2_UNK_40 = 0x40,
|
||||
ERFLG2_UNK_20 = 0x20,
|
||||
ERFLG2_UNK_2 = 2,
|
||||
};
|
||||
|
||||
enum daPy_RFLG0 {
|
||||
@@ -369,6 +375,7 @@ public:
|
||||
RFLG0_FRONT_ROLL_CRASH = 0x2000,
|
||||
RFLG0_ENEMY_ATTN_LOCK = 0x1000,
|
||||
RFLG0_UNK_400 = 0x400,
|
||||
RFLG0_UNK_200 = 0x200,
|
||||
RFLG0_UNK_100 = 0x100,
|
||||
RFLG0_UNK_80 = 0x80,
|
||||
RFLG0_UNK_40 = 0x40,
|
||||
@@ -750,6 +757,7 @@ public:
|
||||
void i_offNoResetFlg3(int pFlg) { mNoResetFlg3 &= ~pFlg; }
|
||||
|
||||
void i_offResetFlg0(int flag) { mResetFlg0 &= ~flag; }
|
||||
void i_offResetFlg1(int flag) { mResetFlg1 &= ~flag; }
|
||||
void i_onResetFlg0(int flag) { mResetFlg0 |= flag; }
|
||||
void i_onResetFlg1(int flag) { mResetFlg1 |= flag; }
|
||||
|
||||
@@ -818,4 +826,6 @@ public:
|
||||
static daMidna_c* m_midnaActor;
|
||||
};
|
||||
|
||||
int daPy_addCalcShort(s16* param_0, s16 param_1, s16 param_2, s16 param_3, s16 param_4);
|
||||
|
||||
#endif /* D_A_D_A_PLAYER_H */
|
||||
|
||||
@@ -249,6 +249,9 @@ public:
|
||||
bool checkHeadLockFlg() const { return mFlags & 0x80; }
|
||||
bool checkDownFlg() const { return mFlags & 0x1; }
|
||||
cXyz& getDownPos() { return mDownPos; }
|
||||
cXyz& getHeadLockPos() { return mHeadLockPos; }
|
||||
|
||||
void onCutDownHitFlg() { mFlags |= 2; }
|
||||
|
||||
/* 0x568 */ cXyz mDownPos;
|
||||
/* 0x574 */ cXyz mHeadLockPos;
|
||||
|
||||
@@ -125,6 +125,10 @@ inline void mDoAud_startFogWipeTrigger(const Vec* param_0) {
|
||||
g_mEnvSeMgr.startFogWipeTrigger((Vec*)param_0);
|
||||
}
|
||||
|
||||
inline void mDoAud_changeSubBgmStatus(s32 param_0) {
|
||||
Z2AudioMgr::getInterface()->changeSubBgmStatus(param_0);
|
||||
}
|
||||
|
||||
inline void mDoAud_mEnvse_framework() {
|
||||
g_mEnvSeMgr.framework();
|
||||
}
|
||||
|
||||
@@ -314,6 +314,10 @@ public:
|
||||
*/
|
||||
static void copy(const Mtx m) { MTXCopy(m, now); }
|
||||
|
||||
static void rotAxisRadS(const Vec* axis, f32 rad) {
|
||||
MTXRotAxisRad(now, axis, rad);
|
||||
}
|
||||
|
||||
static Mtx now;
|
||||
static Mtx buffer[16];
|
||||
static Mtx* next;
|
||||
|
||||
@@ -1,6 +1,184 @@
|
||||
#ifndef D_A_B_GND_H
|
||||
#define D_A_B_GND_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "d/bg/d_bg_s_acch.h"
|
||||
#include "d/cc/d_cc_d.h"
|
||||
#include "d/cc/d_cc_uty.h"
|
||||
#include "d/msg/d_msg_flow.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
struct g_himo_s {
|
||||
/* 80601D40 */ ~g_himo_s();
|
||||
/* 80601DA0 */ g_himo_s();
|
||||
|
||||
/* 0x0 */ cXyz field_0x0[16];
|
||||
};
|
||||
|
||||
class b_gnd_class : public fopEn_enemy_c {
|
||||
public:
|
||||
/* 80601960 */ b_gnd_class();
|
||||
|
||||
bool checkAttackChance() { return field_0x2740 != 0; }
|
||||
|
||||
/* 0x05AC */ request_of_phase_process_class mPhaseReq;
|
||||
/* 0x05B4 */ request_of_phase_process_class mHorsePhaseReq;
|
||||
/* 0x05BC */ s16 field_0x05bc;
|
||||
/* 0x05BE */ u8 field_0x05be;
|
||||
/* 0x05BF */ u8 field_0x05BF[0x05C0 - 0x05BF];
|
||||
/* 0x05C0 */ cXyz field_0x05c0;
|
||||
/* 0x05CC */ s16 field_0x05cc;
|
||||
/* 0x05CE */ u8 field_0x05CE[0x05D0 - 0x05CE];
|
||||
/* 0x05D0 */ mDoExt_McaMorfSO* mpMorf;
|
||||
/* 0x05D4 */ mDoExt_McaMorfSO* mpHorseMorf;
|
||||
/* 0x05D8 */ mDoExt_McaMorf* field_0x05d8;
|
||||
/* 0x05DC */ Z2CreatureEnemy mZ2Creature;
|
||||
/* 0x0680 */ Z2CreatureEnemy field_0x0680;
|
||||
/* 0x0724 */ mDoExt_brkAnm* field_0x0724;
|
||||
/* 0x0728 */ mDoExt_btkAnm* field_0x0728[6];
|
||||
/* 0x0740 */ u8 field_0x0740[0x0744 - 0x0740];
|
||||
/* 0x0744 */ mDoExt_btpAnm* field_0x0744;
|
||||
/* 0x0748 */ int field_0x0748;
|
||||
/* 0x074C */ mDoExt_btpAnm* field_0x074c;
|
||||
/* 0x0750 */ mDoExt_btkAnm* field_0x0750;
|
||||
/* 0x0754 */ u8 field_0x0754[0x0758 - 0x0754];
|
||||
/* 0x0758 */ int mAnmID;
|
||||
/* 0x075C */ int mHorseAnmID;
|
||||
/* 0x0760 */ f32 field_0x0760;
|
||||
/* 0x0764 */ u8 field_0x0764[0x0768 - 0x0764];
|
||||
/* 0x0768 */ J3DModel* field_0x0768;
|
||||
/* 0x076C */ J3DModel* field_0x076c;
|
||||
/* 0x0770 */ u8 field_0x0770[0x0772 - 0x0770];
|
||||
/* 0x0772 */ s16 field_0x0772;
|
||||
/* 0x0774 */ dKy_tevstr_c field_0x0774;
|
||||
/* 0x0AFC */ s16 field_0x0afc;
|
||||
/* 0x0AFE */ s16 mActionID;
|
||||
/* 0x0B00 */ s16 field_0x0b00;
|
||||
/* 0x0B02 */ u8 field_0x0B02[0x0B94 - 0x0B02];
|
||||
/* 0x0B94 */ J3DModel* field_0x0b94[36];
|
||||
/* 0x0C24 */ s16 field_0x0c24;
|
||||
/* 0x0C26 */ s16 field_0x0c26;
|
||||
/* 0x0C28 */ s16 field_0x0c28;
|
||||
/* 0x0C2A */ u8 field_0x0C2A[0x0C2C - 0x0C2A];
|
||||
/* 0x0C2C */ J3DModel* field_0x0c2c[2];
|
||||
/* 0x0C34 */ u8 field_0x0C34[0x0C38 - 0x0C34];
|
||||
/* 0x0C38 */ f32 field_0x0c38;
|
||||
/* 0x0C3C */ s16 field_0x0c3c;
|
||||
/* 0x0C3E */ u8 field_0x0C3E[0x0C40 - 0x0C3E];
|
||||
/* 0x0C40 */ u32 field_0x0c40;
|
||||
/* 0x0C44 */ s16 field_0x0c44[10];
|
||||
/* 0x0C58 */ s16 field_0x0c58;
|
||||
/* 0x0C5A */ s16 field_0x0c5a;
|
||||
/* 0x0C5C */ u8 field_0x0C5C[0x0C60 - 0x0C5C];
|
||||
/* 0x0C60 */ int field_0x0c60;
|
||||
/* 0x0C64 */ int field_0x0c64;
|
||||
/* 0x0C68 */ s16 field_0x0c68;
|
||||
/* 0x0C6A */ s16 field_0x0c6a;
|
||||
/* 0x0C6C */ f32 field_0x0c6c;
|
||||
/* 0x0C70 */ s16 field_0x0c70;
|
||||
/* 0x0C72 */ s16 field_0x0c72;
|
||||
/* 0x0C74 */ s16 field_0x0c74;
|
||||
/* 0x0C76 */ u8 field_0x0C76[0x0C7D - 0x0C76];
|
||||
/* 0x0C7D */ u8 field_0x0c7d;
|
||||
/* 0x0C7E */ u8 field_0x0C7E[0x0C80 - 0x0C7E];
|
||||
/* 0x0C80 */ cXyz field_0x0c80;
|
||||
/* 0x0C8C */ s16 field_0x0c8c;
|
||||
/* 0x0C8E */ s16 field_0x0c8e;
|
||||
/* 0x0C90 */ s16 field_0x0c90;
|
||||
/* 0x0C92 */ s16 field_0x0c92;
|
||||
/* 0x0C94 */ dBgS_AcchCir field_0x0c94;
|
||||
/* 0x0CD4 */ dBgS_ObjAcch field_0x0cd4;
|
||||
/* 0x0EAC */ s16 field_0x0eac;
|
||||
/* 0x0EAE */ u8 field_0x0EAE[0x0EB0 - 0x0EAE];
|
||||
/* 0x0EB0 */ f32 field_0x0eb0;
|
||||
/* 0x0EB4 */ cXyz field_0x0eb4;
|
||||
/* 0x0EC0 */ csXyz field_0x0ec0;
|
||||
/* 0x0EC6 */ u8 field_0x0EC6[0x0EC8 - 0x0EC6];
|
||||
/* 0x0EC8 */ dCcD_Stts field_0x0ec8;
|
||||
/* 0x0F04 */ dCcD_Sph field_0x0f04[2];
|
||||
/* 0x1174 */ dCcD_Sph field_0x1174[4];
|
||||
/* 0x1654 */ dCcD_Stts field_0x1654;
|
||||
/* 0x1690 */ dCcD_Sph field_0x1690[3];
|
||||
/* 0x1A38 */ dCcD_Sph field_0x1a38;
|
||||
/* 0x1B70 */ dCcD_Sph field_0x1b70;
|
||||
/* 0x1CA8 */ dCcD_Cyl field_0x1ca8;
|
||||
/* 0x1DE4 */ dCcU_AtInfo mAtInfo;
|
||||
/* 0x1E08 */ u8 field_0x1E08[0x1E0A - 0x1E08];
|
||||
/* 0x1E0A */ u16 field_0x1e0a;
|
||||
/* 0x1E0C */ u16 field_0x1e0c;
|
||||
/* 0x1E0E */ u8 field_0x1E0E[0x1E0F - 0x1E0E];
|
||||
/* 0x1E0F */ s8 field_0x1e0f;
|
||||
/* 0x1E10 */ f32 field_0x1e10;
|
||||
/* 0x1E14 */ cXyz field_0x1e14;
|
||||
/* 0x1E20 */ cXyz field_0x1e20;
|
||||
/* 0x1E2C */ Z2SoundObjSimple field_0x1e2c;
|
||||
/* 0x1E4C */ f32 field_0x1e4c;
|
||||
/* 0x1E50 */ csXyz field_0x1e50;
|
||||
/* 0x1E56 */ u8 field_0x1e56[5];
|
||||
/* 0x1E5B */ u8 field_0x1E5B[0x1E5C - 0x1E5B];
|
||||
/* 0x1E5C */ cXyz field_0x1e5c[5];
|
||||
/* 0x1E98 */ cXyz field_0x1e98[5];
|
||||
/* 0x1ED4 */ cXyz field_0x1ed4[5];
|
||||
/* 0x1F10 */ Z2SoundObjSimple field_0x1f10[5];
|
||||
/* 0x1FB0 */ u8 field_0x1FB0[0x1FB4 - 0x1FB0];
|
||||
/* 0x1FB4 */ fopAc_ac_c* mMantChild;
|
||||
/* 0x1FB8 */ cXyz field_0x1fb8;
|
||||
/* 0x1FC4 */ int field_0x1fc4;
|
||||
/* 0x1FC8 */ s16 field_0x1fc8;
|
||||
/* 0x1FCA */ s16 field_0x1fca;
|
||||
/* 0x1FCC */ s16 field_0x1fcc;
|
||||
/* 0x1FCE */ u8 field_0x1FCE[0x1FD0 - 0x1FCE];
|
||||
/* 0x1FD0 */ f32 field_0x1fd0;
|
||||
/* 0x1FD4 */ s16 field_0x1fd4;
|
||||
/* 0x1FD6 */ s16 field_0x1fd6;
|
||||
/* 0x1FD8 */ cXyz field_0x1fd8[2];
|
||||
/* 0x1FF0 */ g_himo_s field_0x1ff0[2];
|
||||
/* 0x2170 */ mDoExt_3DlineMat1_c field_0x2170[2];
|
||||
/* 0x21E8 */ mDoExt_3DlineMat1_c field_0x21e8;
|
||||
/* 0x2224 */ dKy_tevstr_c field_0x2224;
|
||||
/* 0x25AC */ u32 field_0x25ac;
|
||||
/* 0x25B0 */ u32 field_0x25b0;
|
||||
/* 0x25B4 */ u32 field_0x25b4;
|
||||
/* 0x25B8 */ u32 field_0x25b8;
|
||||
/* 0x25BC */ u32 field_0x25bc;
|
||||
/* 0x25C0 */ u32 field_0x25c0;
|
||||
/* 0x25C4 */ u32 field_0x25c4;
|
||||
/* 0x25C8 */ u32 field_0x25c8;
|
||||
/* 0x25CC */ u32 field_0x25cc;
|
||||
/* 0x25D0 */ u32 field_0x25d0;
|
||||
/* 0x25D4 */ u8 field_0x25D4[0x25D8 - 0x25D4];
|
||||
/* 0x25D8 */ u32 field_0x25d8;
|
||||
/* 0x25DC */ u32 field_0x25dc;
|
||||
/* 0x25E0 */ u32 field_0x25e0;
|
||||
/* 0x25E4 */ u32 field_0x25e4[3];
|
||||
/* 0x25F0 */ u8 field_0x25F0[0x2688 - 0x25F0];
|
||||
/* 0x2688 */ u32 field_0x2688;
|
||||
/* 0x268C */ u32 field_0x268c[3];
|
||||
/* 0x2698 */ u8 field_0x2698[0x269C - 0x2698];
|
||||
/* 0x269C */ cXyz field_0x269c;
|
||||
/* 0x26A8 */ cXyz field_0x26a8[2];
|
||||
/* 0x26C0 */ s16 field_0x26c0;
|
||||
/* 0x26C2 */ s16 field_0x26c2;
|
||||
/* 0x26C4 */ s16 field_0x26c4;
|
||||
/* 0x26C6 */ s16 field_0x26c6;
|
||||
/* 0x26C8 */ cXyz field_0x26c8;
|
||||
/* 0x26D4 */ cXyz field_0x26d4;
|
||||
/* 0x26E0 */ cXyz field_0x26e0;
|
||||
/* 0x26EC */ cXyz field_0x26ec;
|
||||
/* 0x26F8 */ cXyz field_0x26f8;
|
||||
/* 0x2704 */ cXyz field_0x2704;
|
||||
/* 0x2710 */ cXyz field_0x2710;
|
||||
/* 0x271C */ s16 field_0x271c;
|
||||
/* 0x271E */ u8 field_0x271E[0x272C - 0x271E];
|
||||
/* 0x272C */ s16 field_0x272c;
|
||||
/* 0x272E */ u8 field_0x272E[0x2730 - 0x272E];
|
||||
/* 0x2730 */ f32 field_0x2730;
|
||||
/* 0x2734 */ f32 field_0x2734;
|
||||
/* 0x2738 */ u8 field_0x2738;
|
||||
/* 0x2739 */ u8 field_0x2739[0x273C - 0x2739];
|
||||
/* 0x273C */ f32 field_0x273c;
|
||||
/* 0x2740 */ u8 field_0x2740;
|
||||
/* 0x2741 */ u8 field_0x2741[0x2744 - 0x2741];
|
||||
/* 0x2744 */ dMsgFlow_c mMsgFlow;
|
||||
};
|
||||
|
||||
#endif /* D_A_B_GND_H */
|
||||
|
||||
@@ -34,6 +34,7 @@ private:
|
||||
/* 0x0 */ u8 field_0x0[0xE4];
|
||||
}; // Size: 0xE4
|
||||
|
||||
class daHoZelda_c;
|
||||
class daHorse_c : public fopAc_ac_c {
|
||||
public:
|
||||
enum daHorse_ERFLG0 {
|
||||
@@ -41,6 +42,8 @@ public:
|
||||
/* 0x010 */ MOVE_ACCEPT = 0x10,
|
||||
/* 0x080 */ RIDE_RUN_FLG = 0x80,
|
||||
/* 0x100 */ CUT_TURN_CANCEL = 0x100,
|
||||
|
||||
ERFLG0_UNK_18 = 0x18,
|
||||
};
|
||||
|
||||
enum daHorse_RFLG0 {
|
||||
@@ -153,7 +156,7 @@ public:
|
||||
|
||||
bool checkNoBombProc() const { return field_0x16b4 == 0 || field_0x16b4 == 1; }
|
||||
bool checkResetStateFlg0(daHorse_RFLG0 flag) const { return mResetStateFlg0 & flag; }
|
||||
bool checkEndResetStateFlg0(daHorse_ERFLG0 flag) { return mEndResetStateFlg0 & flag; }
|
||||
bool checkEndResetStateFlg0(daHorse_ERFLG0 flag) const { return mEndResetStateFlg0 & flag; }
|
||||
bool checkStateFlg0(daHorse_FLG0 flag) const { return mStateFlg0 & flag; }
|
||||
f32 getNormalMaxSpeedF() { return mNormalMaxSpeedF; }
|
||||
f32 getLashMaxSpeedF() { return mLashMaxSpeedF; }
|
||||
@@ -169,10 +172,29 @@ public:
|
||||
void onEndResetStateFlg0(daHorse_ERFLG0 i_flag) { mEndResetStateFlg0 |= i_flag;}
|
||||
void offNoDrawWait() { offStateFlg0(NO_DRAW_WAIT); }
|
||||
int checkSpecialWallHit(const cXyz& param_0) { return (this->*mpCheckSpecialWallHitFn)(param_0); }
|
||||
MtxP getSaddleMtx() { return field_0x570->i_getAnmMtx(21); }
|
||||
MtxP getRootMtx() { return field_0x570->i_getAnmMtx(0); }
|
||||
f32 getAnmFrameMax(int i_idx) const { return field_0x5b0[i_idx].getEnd(); }
|
||||
f32 getAnmFrame(int i_idx) const { return field_0x5b0[i_idx].getFrame(); }
|
||||
s16 getAimNeckAngleY() const { return mAimNeckAngleY; }
|
||||
f32 getMorfFrame() const { return mMorfFrame; }
|
||||
f32 getBlendRate() { return field_0x594[1].getRatio(); }
|
||||
u16 getAnmIdx(int i_idx) const { return mAnmIdx[i_idx]; }
|
||||
|
||||
daHoZelda_c* i_getZeldaActor() { return (daHoZelda_c*)mZeldaActorKeep.getActor(); }
|
||||
|
||||
bool checkTurnStandCamera() const { return checkResetStateFlg0(TURN_STAND_CAMERA); }
|
||||
bool checkTurnStand() const { return checkResetStateFlg0(TURN_STAND); }
|
||||
bool checkRodeoMode() const { return checkStateFlg0(RODEO_MODE); }
|
||||
bool checkCutTurnCancel() const { return checkEndResetStateFlg0(CUT_TURN_CANCEL); }
|
||||
bool checkTurnCancelKeep() const { return checkStateFlg0(TURN_CANCEL_KEEP); }
|
||||
bool checkTurn() const { return field_0x16b4 == 3 && field_0x1720 == 0; }
|
||||
bool checkStop() const { return field_0x16b4 == 2; }
|
||||
bool checkJump() const { return field_0x16b4 == 4; }
|
||||
bool checkWait() const { return field_0x16b4 == 0; }
|
||||
bool checkLand() const { return field_0x16b4 == 5 && field_0x171a == 0; }
|
||||
bool checkGetOff() const { return fabsf(speedF) < 3.0f; }
|
||||
bool checkEnemySearch() { return checkResetStateFlg0(ENEMY_SEARCH); }
|
||||
|
||||
void onTagJump(f32 param_0, f32 param_1, f32 param_2) {
|
||||
field_0x1768 = param_0;
|
||||
@@ -181,6 +203,10 @@ public:
|
||||
onEndResetStateFlg0(ERFLG0_UNK_1);
|
||||
}
|
||||
|
||||
void onMoveAccept() { onEndResetStateFlg0(MOVE_ACCEPT); }
|
||||
void onPlayerLash() { onEndResetStateFlg0(ERFLG0_UNK_18); }
|
||||
void offPlayerBackRideLash() { offStateFlg0(PLAYER_BACK_RIDE_LASH); }
|
||||
|
||||
static u8 const m_footJointTable[8];
|
||||
static f32 const m_callLimitDistance2;
|
||||
|
||||
@@ -216,7 +242,9 @@ public:
|
||||
/* 0x16B8 */ u8 field_0x16b8;
|
||||
/* 0x16B9 */ u8 field_0x16b9[2];
|
||||
/* 0x16BB */ u8 mRodeoPointCnt;
|
||||
/* 0x16BC */ u8 field_0x16bc[0x36];
|
||||
/* 0x16BC */ u8 field_0x16bc[0x16C4 - 0x16BC];
|
||||
/* 0x16C4 */ u16 mAnmIdx[3];
|
||||
/* 0x16CA */ u8 field_0x16ca[0x16F2 - 0x16CA];
|
||||
/* 0x16F2 */ s16 mAimNeckAngleY;
|
||||
/* 0x16F4 */ u8 field_0x16f4[0x8];
|
||||
/* 0x16FC */ s16 mDemoMoveAngle;
|
||||
@@ -225,7 +253,11 @@ public:
|
||||
/* 0x1704 */ u8 field_0x1704[2];
|
||||
/* 0x1706 */ s16 mCowHitAngle;
|
||||
/* 0x1708 */ s16 mCowHit;
|
||||
/* 0x170A */ u8 field_0x170a[0x1E];
|
||||
/* 0x170A */ u8 field_0x170a[0x171A - 0x170A];
|
||||
/* 0x171A */ s16 field_0x171a;
|
||||
/* 0x171C */ u8 field_0x171c[0x1720 - 0x171C];
|
||||
/* 0x1720 */ s16 field_0x1720;
|
||||
/* 0x1722 */ u8 field_0x1722[0x1728 - 0x1722];
|
||||
/* 0x1728 */ int field_0x1728;
|
||||
/* 0x172C */ u8 field_0x172c[0x14];
|
||||
/* 0x1740 */ u32 field_0x1740;
|
||||
|
||||
@@ -2,5 +2,94 @@
|
||||
#define D_A_HOZELDA_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
class daHoZelda_matAnm_c : public J3DMaterialAnm {
|
||||
public:
|
||||
/* 80845EAC */ void init();
|
||||
|
||||
/* 80848D54 */ virtual ~daHoZelda_matAnm_c();
|
||||
/* 80845EDC */ virtual void calc(J3DMaterial*) const;
|
||||
|
||||
static bool mEyeMoveFlg;
|
||||
static u8 mMorfFrame;
|
||||
|
||||
/* 0x0F4 */ f32 field_0xf4;
|
||||
/* 0x0F8 */ f32 field_0xf8;
|
||||
/* 0x0FC */ f32 mNowOffsetX;
|
||||
/* 0x100 */ f32 mNowOffsetY;
|
||||
};
|
||||
|
||||
class daHoZelda_hio_c;
|
||||
|
||||
class daHoZelda_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 80846000 */ void createHeap();
|
||||
/* 80846718 */ void modelCallBack(u16);
|
||||
/* 808469B0 */ void create();
|
||||
/* 80846DB0 */ ~daHoZelda_c();
|
||||
/* 80846F4C */ void setDoubleAnime(f32, f32, f32, u16, u16, f32);
|
||||
/* 8084718C */ void setUpperAnime(u16);
|
||||
/* 80847234 */ void resetUpperAnime();
|
||||
/* 808472C0 */ void setSingleAnime(u16, f32, f32, s16, f32);
|
||||
/* 80847430 */ void animePlay();
|
||||
/* 80847574 */ void setEyeBtp(u16);
|
||||
/* 808475F0 */ void setEyeBtk(u16, u8);
|
||||
/* 80847670 */ void setNormalFace();
|
||||
/* 808476B0 */ void setAnm();
|
||||
/* 80847E44 */ void setBowModel();
|
||||
/* 80847F54 */ void setMatrix();
|
||||
/* 80848058 */ void shootArrow();
|
||||
/* 80848090 */ void deleteArrow();
|
||||
/* 80848118 */ void setBowBck(u16);
|
||||
/* 8084819C */ void setRideOffset();
|
||||
/* 80848204 */ void clearEyeMove();
|
||||
/* 80848254 */ void setEyeMove(cXyz const*, s16, s16);
|
||||
/* 808484B8 */ void setNeckAngle();
|
||||
/* 80848774 */ void searchBodyAngle();
|
||||
/* 808489CC */ void execute();
|
||||
/* 80848B64 */ void draw();
|
||||
|
||||
u8 checkBowMode() const { return field_0x6d8; }
|
||||
void setDamageInit() { field_0x6db = 1; }
|
||||
|
||||
/* 0x568 */ request_of_phase_process_class mPhase;
|
||||
/* 0x570 */ J3DModel* mpZeldaModel;
|
||||
/* 0x574 */ J3DModel* mpBowModel;
|
||||
/* 0x578 */ mDoExt_btpAnm mEyeBtp;
|
||||
/* 0x590 */ mDoExt_btkAnm mEyeBtk;
|
||||
/* 0x5A8 */ mDoExt_MtxCalcAnmBlendTblOld* field_0x5a8;
|
||||
/* 0x5AC */ mDoExt_AnmRatioPack field_0x5ac[3];
|
||||
/* 0x5C4 */ mDoExt_MtxCalcOldFrame* field_0x5c4;
|
||||
/* 0x5C8 */ daPy_frameCtrl_c field_0x5c8[3];
|
||||
/* 0x610 */ daHoZelda_matAnm_c* field_0x610[2];
|
||||
/* 0x618 */ Z2Creature mSound;
|
||||
/* 0x6A8 */ mDoExt_bckAnm mBowBck;
|
||||
/* 0x6C4 */ daPy_actorKeep_c mArrowAcKeep;
|
||||
/* 0x6CC */ daPy_actorKeep_c field_0x6cc;
|
||||
/* 0x6D4 */ daHoZelda_hio_c* mpHIO;
|
||||
/* 0x6D8 */ u8 field_0x6d8;
|
||||
/* 0x6D9 */ u8 field_0x6d9;
|
||||
/* 0x6DA */ u8 field_0x6da;
|
||||
/* 0x6DB */ u8 field_0x6db;
|
||||
/* 0x6DC */ u8 field_0x6DC[0x6DD - 0x6DC];
|
||||
/* 0x6DD */ u8 field_0x6dd;
|
||||
/* 0x6DE */ u8 field_0x6de;
|
||||
/* 0x6DF */ u8 field_0x6df;
|
||||
/* 0x6E0 */ s8 mReverb;
|
||||
/* 0x6E1 */ u8 field_0x6E1[0x6E4 - 0x6E1];
|
||||
/* 0x6E4 */ u16 field_0x6e4;
|
||||
/* 0x6E6 */ u16 field_0x6e6;
|
||||
/* 0x6E8 */ u16 mUpperAnmID;
|
||||
/* 0x6EA */ s16 mBowAnmID;
|
||||
/* 0x6EC */ s16 field_0x6ec;
|
||||
/* 0x6EE */ s16 field_0x6ee;
|
||||
/* 0x6F0 */ u8 field_0x6F0[0x6F2 - 0x6F0];
|
||||
/* 0x6F2 */ s16 field_0x6f2;
|
||||
/* 0x6F4 */ s16 field_0x6f4;
|
||||
/* 0x6F6 */ u8 field_0x6F6[0x6F8 - 0x6F6];
|
||||
/* 0x6F8 */ Vec field_0x6f8;
|
||||
/* 0x704 */ Vec* mpRideOffset;
|
||||
};
|
||||
|
||||
#endif /* D_A_HOZELDA_H */
|
||||
|
||||
@@ -80,6 +80,8 @@ public:
|
||||
|
||||
s16 getAngleY() { return shape_angle.y + field_0xa7e; }
|
||||
|
||||
void forceDelete() { mDeleteFlg = 1; }
|
||||
|
||||
private:
|
||||
/* 0x568 */ J3DModel* mpModel;
|
||||
/* 0x56C */ mDoExt_bckAnm mBck;
|
||||
|
||||
@@ -19,9 +19,22 @@ public:
|
||||
void setPlayerRide();
|
||||
void getOff();
|
||||
BOOL checkDownDamage();
|
||||
u8 checkNormalRideMode() const;
|
||||
BOOL checkNormalRideMode() const;
|
||||
void setRunRideMode();
|
||||
|
||||
MtxP getRideMtx() { return field_0x5e0->getModel()->i_getAnmMtx(15); }
|
||||
f32 nowAnimeFrame() const { return field_0x5e0->getFrame(); }
|
||||
s16 getWaitRollAngle() const { return mWaitRollAngle; }
|
||||
bool checkGetOff() const { return speedF < 3.0f; }
|
||||
|
||||
J3DModel* getModel() {
|
||||
if (field_0x5e0 != NULL) {
|
||||
return field_0x5e0->getModel();
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
private:
|
||||
/* 0x05AC */ request_of_phase_process_class mPhase;
|
||||
/* 0x05B4 */ s16 field_0x5b4;
|
||||
@@ -144,6 +157,7 @@ private:
|
||||
/* 0x1722 */ s8 field_0x1722;
|
||||
/* 0x1723 */ u8 field_0x1723[0x17c4 - 0x1723];
|
||||
/* 0x17C4 */ u32 field_0x17c4;
|
||||
/* 0x17C8 */ u8 field_0x17c8[0x17D0 - 0x17C8];
|
||||
/* 0x17D0 */ u32 field_0x17d0[4];
|
||||
/* 0x17E0 */ u8 field_0x17e0;
|
||||
/* 0x17E1 */ u8 field_0x17e1;
|
||||
|
||||
@@ -1,6 +1,54 @@
|
||||
#ifndef D_A_OBJ_ICELEAF_H
|
||||
#define D_A_OBJ_ICELEAF_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/cc/d_cc_d.h"
|
||||
|
||||
class daObjIceLeaf_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 80C24738 */ void initBaseMtx();
|
||||
/* 80C24774 */ void setBaseMtx();
|
||||
/* 80C249E4 */ void Create();
|
||||
/* 80C24BC4 */ void setAnmPos();
|
||||
/* 80C24C9C */ void CreateHeap();
|
||||
/* 80C24E14 */ void create();
|
||||
/* 80C25158 */ void execute();
|
||||
/* 80C25360 */ void action();
|
||||
/* 80C2541C */ void modeDropWait();
|
||||
/* 80C25614 */ void modeDrop();
|
||||
/* 80C258F8 */ void modePlayerWait();
|
||||
/* 80C25904 */ void modeRide();
|
||||
/* 80C25908 */ void event_proc_call();
|
||||
/* 80C259C4 */ void actionWait();
|
||||
/* 80C259C8 */ void actionOrderEvent();
|
||||
/* 80C25A68 */ void actionEvent();
|
||||
/* 80C25AC4 */ void actionDead();
|
||||
/* 80C25AC8 */ void setFallSE();
|
||||
/* 80C25BB8 */ void draw();
|
||||
/* 80C25C50 */ void _delete();
|
||||
|
||||
void offRide() { mRide = false; }
|
||||
void setBreakEffect() { mBreakEffect = true; }
|
||||
|
||||
/* 0x568 */ request_of_phase_process_class mPhase;
|
||||
/* 0x570 */ J3DModel* mpModel;
|
||||
/* 0x574 */ dBgS_ObjAcch mAcch;
|
||||
/* 0x74C */ dBgS_AcchCir mAcchCir;
|
||||
/* 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;
|
||||
/* 0x92B */ u8 field_0x92b;
|
||||
/* 0x92C */ s16 mEventID;
|
||||
/* 0x930 */ Mtx field_0x930;
|
||||
/* 0x960 */ u8 mRide;
|
||||
/* 0x961 */ u8 field_0x961;
|
||||
/* 0x962 */ u8 mBreakEffect;
|
||||
/* 0x964 */ cXyz field_0x964;
|
||||
/* 0x970 */ cXyz field_0x970;
|
||||
};
|
||||
|
||||
#endif /* D_A_OBJ_ICELEAF_H */
|
||||
|
||||
@@ -6,6 +6,10 @@ namespace std {
|
||||
float fabs(float num) {
|
||||
return fabsf(num);
|
||||
}
|
||||
|
||||
float abs(float num) {
|
||||
return fabsf(num);
|
||||
}
|
||||
} // namespace std
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user