summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorhatal175 <hatal175@users.noreply.github.com>2023-02-05 06:52:14 +0200
committerGitHub <noreply@github.com>2023-02-05 06:52:14 +0200
commit1124554ae104b23f052fe57652f42a0d5689286d (patch)
tree8b8d079b8f0b271671934ba97912b8ebc818186b /include
parent0f1c72772500a2098c81ef34c0bee41d0df4063e (diff)
parentcede55ba30101ba7cadba9766adbd41eb76b6f36 (diff)
Merge pull request #269 from Pheenoh/d_a_do
d_a_do work
Diffstat (limited to 'include')
-rw-r--r--include/JSystem/J3DGraphAnimator/J3DModel.h1
-rw-r--r--include/JSystem/JParticle/JPAParticle.h4
-rw-r--r--include/d/bg/d_bg_s_acch.h8
-rw-r--r--include/d/msg/d_msg_flow.h1
-rw-r--r--include/f_pc/f_pc_executor.h6
-rw-r--r--include/m_Do/m_Do_ext.h1
-rw-r--r--include/m_Do/m_Do_mtx.h16
-rw-r--r--include/rel/d/a/d_a_do/d_a_do.h192
8 files changed, 223 insertions, 6 deletions
diff --git a/include/JSystem/J3DGraphAnimator/J3DModel.h b/include/JSystem/J3DGraphAnimator/J3DModel.h
index 2211663f84..3c20380ef5 100644
--- a/include/JSystem/J3DGraphAnimator/J3DModel.h
+++ b/include/JSystem/J3DGraphAnimator/J3DModel.h
@@ -84,6 +84,7 @@ public:
// is there a better way to handle inlines with same name as non-inlines?
MtxP i_getAnmMtx(int p1) { return mMtxBuffer->getAnmMtx(p1); }
+ void i_setAnmMtx(int p1, Mtx mtx) { mMtxBuffer->setAnmMtx(p1, mtx); }
/* 0x04 */ J3DModelData* mModelData;
/* 0x08 */ u32 mFlags;
diff --git a/include/JSystem/JParticle/JPAParticle.h b/include/JSystem/JParticle/JPAParticle.h
index 6c5e7a8506..f1a04a8d86 100644
--- a/include/JSystem/JParticle/JPAParticle.h
+++ b/include/JSystem/JParticle/JPAParticle.h
@@ -237,6 +237,10 @@ public:
void setRate(f32 rate) { mRate = rate; }
void setEmitterCallBackPtr(JPAEmitterCallBack* ptr) { mpEmtrCallBack = ptr; }
void setGlobalRTMatrix(const Mtx m) { JPASetRMtxTVecfromMtx(m, mGlobalRot, &mGlobalTrs); }
+ // void setGlobalScale(const JGeometry::TVec3<f32>& scale) {
+ // mGlobalScl = scale;
+ // mGlobalPScl = scale;
+ // }
f32 get_r_f() { return mRndm.get_rndm_f(); }
f32 get_r_zp() { return mRndm.get_rndm_zp(); }
diff --git a/include/d/bg/d_bg_s_acch.h b/include/d/bg/d_bg_s_acch.h
index a00f1768ae..5b7f637866 100644
--- a/include/d/bg/d_bg_s_acch.h
+++ b/include/d/bg/d_bg_s_acch.h
@@ -38,7 +38,11 @@ public:
/* 80075F58 */ void SetWall(f32, f32);
/* 80075F80 */ void SetWallHDirect(f32);
+ #ifdef __dt__12dBgS_AcchCirFv_DEFINED
/* 80077414 */ virtual ~dBgS_AcchCir();
+ #else
+ /* 80077414 */ virtual ~dBgS_AcchCir() {}
+ #endif
f32 GetWallH() { return m_wall_h; }
f32 GetWallR() { return m_wall_r; }
@@ -108,7 +112,7 @@ public:
/* 800D00DC */ void ClrGroundHit();
/* 80141404 */ bool ChkGroundHit() const;
- /* 80075F94 */ virtual ~dBgS_Acch();
+ /* 80075F94 */ virtual ~dBgS_Acch() {}
cXyz* GetPos() { return pm_pos; }
cXyz* GetOldPos() { return pm_old_pos; }
@@ -205,7 +209,7 @@ public:
SetObj();
}
- /* 80BB336C */ virtual ~dBgS_ObjAcch();
+ /* 80BB336C */ virtual ~dBgS_ObjAcch() {}
};
class dBgS_StatueAcch : public dBgS_Acch {
diff --git a/include/d/msg/d_msg_flow.h b/include/d/msg/d_msg_flow.h
index 1e0b907502..378fb187a1 100644
--- a/include/d/msg/d_msg_flow.h
+++ b/include/d/msg/d_msg_flow.h
@@ -160,6 +160,7 @@ public:
void onNonStopJunpFlowFlag() { mNonStopJunpFlowFlag = 1; }
int getSelectNum() { return query005(NULL, NULL, 0); }
s16 getChoiceNo() { return mChoiceNo; }
+ void setMsg(u32 msg) { mMsg = msg; }
static queryFunc mQueryList[53];
static eventFunc mEventList[43];
diff --git a/include/f_pc/f_pc_executor.h b/include/f_pc/f_pc_executor.h
index 3a0390d7e1..d3999bf46f 100644
--- a/include/f_pc/f_pc_executor.h
+++ b/include/f_pc/f_pc_executor.h
@@ -16,9 +16,9 @@ s32 fpcEx_Execute(base_process_class* pProc);
s32 fpcEx_ToExecuteQ(base_process_class* pProc);
void fpcEx_Handler(fpcLnIt_QueueFunc pFunc);
-// inline base_process_class* fpcM_Search(fpcLyIt_JudgeFunc pFunc, void* pUserData) {
-// return fpcEx_Search(pFunc, pUserData);
-// }
+inline base_process_class* i_fpcM_Search(fpcLyIt_JudgeFunc pFunc, void* pUserData) {
+ return fpcEx_Search(pFunc, pUserData);
+}
extern "C" {
void fpcEx_IsExist__FUi(void);
diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h
index 3f9d17c756..faa63921f4 100644
--- a/include/m_Do/m_Do_ext.h
+++ b/include/m_Do/m_Do_ext.h
@@ -20,6 +20,7 @@ public:
f32 getFrame() { return mFrameCtrl.getFrame(); }
f32 getEndFrame() { return mFrameCtrl.getEnd(); }
void setFrame(f32 frame) { mFrameCtrl.setFrame(frame); }
+
bool isStop() {
bool stopped = true;
if (!mFrameCtrl.checkState(1) && mFrameCtrl.getRate() != 0.0f) {
diff --git a/include/m_Do/m_Do_mtx.h b/include/m_Do/m_Do_mtx.h
index f4829044d0..a2612c2498 100644
--- a/include/m_Do/m_Do_mtx.h
+++ b/include/m_Do/m_Do_mtx.h
@@ -15,8 +15,9 @@ void mDoMtx_ZXYrotM(Mtx, s16, s16, s16);
void mDoMtx_ZrotS(Mtx, s16);
void mDoMtx_YrotS(Mtx, s16);
void mDoMtx_XrotS(Mtx, s16);
-void mDoMtx_XrotM(Mtx mtx, s16 x);
+void mDoMtx_XrotM(Mtx, s16);
void mDoMtx_YrotM(Mtx, s16);
+void mDoMtx_ZrotM(Mtx, s16);
void mDoMtx_MtxToRot(CMtxP, csXyz*);
void mDoMtx_lookAt(f32 (*param_0)[4], Vec const* param_1, Vec const* param_2, s16 param_3);
void mDoMtx_lookAt(f32 (*param_0)[4], Vec const* param_1, Vec const* param_2, Vec const* param_3,
@@ -40,6 +41,19 @@ inline void mDoMtx_trans(Mtx m, f32 x, f32 y, f32 z) {
PSMTXTrans(m, x, y, z);
}
+inline void cMtx_XrotM(Mtx mtx, s16 x) {
+ mDoMtx_XrotM(mtx, x);
+}
+
+inline void cMtx_YrotM(Mtx mtx, s16 y) {
+ mDoMtx_YrotM(mtx, y);
+}
+
+inline void cMtx_ZrotM(Mtx mtx, s16 z) {
+ mDoMtx_ZrotM(mtx, z);
+}
+
+
inline void mDoMtx_multVecZero(MtxP param_0, Vec* param_1) {
param_1->x = param_0[0][3];
param_1->y = param_0[1][3];
diff --git a/include/rel/d/a/d_a_do/d_a_do.h b/include/rel/d/a/d_a_do/d_a_do.h
index d957b0c775..aa58cbabff 100644
--- a/include/rel/d/a/d_a_do/d_a_do.h
+++ b/include/rel/d/a/d_a_do/d_a_do.h
@@ -2,5 +2,197 @@
#define D_A_DO_H
#include "dolphin/types.h"
+#include "d/a/d_a_player.h"
+#include "d/a/d_a_item_static.h"
+#include "d/bg/d_bg_s_acch.h"
+#include "d/cc/d_cc_d.h"
+#include "d/msg/d_msg_flow.h"
+#include "d/particle/d_particle.h"
+#include "f_op/f_op_actor.h"
+#include "m_Do/m_Do_mtx.h"
+#include "m_Do/m_Do_ext.h"
+#include "m_Do/m_Do_controller_pad.h"
+#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
+#include "SSystem/SComponent/c_phase.h"
+#include "Z2AudioLib/Z2SoundObject.h"
+
+enum daDo_Anm {
+ ANM_BULBUL = 6,
+ ANM_CARRY_B,
+ ANM_CLIFF,
+ ANM_CLIFF_WT,
+ ANM_DEFEND,
+ ANM_DOWN,
+ ANM_DOWN_WT,
+ ANM_JOYFUL,
+ ANM_RUN,
+ ANM_SIT,
+ ANM_SIT_WAIT,
+ ANM_STEP,
+ ANM_STEP_2,
+ ANM_SWIM,
+ ANM_TO_CARRY_B,
+ ANM_WAIT,
+ ANM_WALK
+};
+
+enum daDo_Action {
+ ACT_STAY,
+ ACT_WALK,
+ ACT_WALK_RUN,
+ ACT_RUN,
+ ACT_RUN_WALK,
+ ACT_FOOD,
+ ACT_WAIT_1,
+ ACT_WAIT_2,
+ ACT_SIT,
+ ACT_A_SWIM = 10,
+ ACT_SWIM = 20,
+ ACT_HELP,
+ ACT_BOAT,
+ ACT_HANG = 30,
+ ACT_CARRY = 35,
+ ACT_MESSAGE = 39
+};
+
+struct daDo_HIO_tmp {
+ /* 0x00 */ u8 field_0x00[4];
+ /* 0x04 */ s8 field_0x04;
+ /* 0x05 */ u8 field_0x05[3];
+ /* 0x08 */ f32 mBaseSize;
+ /* 0x0C */ f32 mWalkSpeed;
+ /* 0x10 */ f32 mRunSpeed;
+ /* 0x14 */ f32 mSwimSpeed;
+ /* 0x18 */ f32 mPlayerRecogniztionDist;
+ /* 0x1C */ u8 field_0x1c;
+ /* 0x1D */ u8 mSwimming;
+ /* 0x1E */ u16 mWaterHuntAnimType;
+};
+
+class daDo_HIO_c {
+public:
+/* 80667D4C */ daDo_HIO_c();
+/* 8066ED40 */ virtual ~daDo_HIO_c();
+
+public:
+/* 0x04 */ s8 field_0x04;
+/* 0x05 */ u8 field_0x05[3];
+/* 0x08 */ f32 mBaseSize;
+/* 0x0C */ f32 mWalkSpeed;
+/* 0x10 */ f32 mRunSpeed;
+/* 0x14 */ f32 mSwimSpeed;
+/* 0x18 */ f32 mPlayerRecogniztionDist;
+/* 0x1C */ u8 field_0x1c;
+/* 0x1D */ u8 mSwimming;
+/* 0x1E */ u16 mWaterHuntAnimType;
+};
+
+class do_class : public fopEn_enemy_c {
+public:
+ /* 0x5AC */ request_of_phase_process_class mPhase;
+ /* 0x5B4 */ u8 field_0x5b4;
+ /* 0x5B5 */ u8 field_0x5b5;
+ /* 0x5B6 */ u8 field_0x5b6;
+ /* 0x5B7 */ u8 field_0x5b7;
+ /* 0x5B8 */ cXyz field_0x5b8;
+ /* 0x5C4 */ u8 field_0x5c4[4];
+ /* 0x5C8 */ f32 mDistFromPlayer;
+ /* 0x5CC */ s16 mAngleYFromPlayer;
+ /* 0x5CE */ u8 field_0x5ce[2];
+ /* 0x5D8 */ mDoExt_McaMorf* mpMorf;
+ /* 0x5D4 */ mDoExt_btkAnm* mpBtk;
+ /* 0x5D8 */ mDoExt_btpAnm* mpBtp;
+ /* 0x5DC */ s8 field_0x5dc;
+ /* 0x5DD */ u8 field_0x5dd;
+ /* 0x5DE */ s16 field_0x5de;
+ /* 0x5E0 */ s16 field_0x5e0;
+ /* 0x5E2 */ u8 field_0x5e2;
+ /* 0x5E3 */ u8 field_0x5e3;
+ /* 0x5E4 */ u32 mAnmID;
+ /* 0x5E8 */ f32 field_0x5e8;
+ /* 0x5EC */ f32 field_0x5ec;
+ /* 0x5F0 */ s16 field_0x5f0;
+ /* 0x5F2 */ s16 mAction;
+ /* 0x5F4 */ s16 field_0x5f4;
+ /* 0x5F6 */ s16 mStayStatus; // probably a better name for this
+ /* 0x5F8 */ u32 mShadowKey;
+ /* 0x5FC */ s16 field_0x5fc[4];
+ /* 0x604 */ u16 field_0x604;
+ /* 0x606 */ s16 field_0x606;
+ /* 0x608 */ f32 field_0x608;
+ /* 0x60C */ s16 field_0x60c;
+ /* 0x60E */ csXyz field_0x60e;
+ /* 0x614 */ s16 field_0x614;
+ /* 0x616 */ u8 field_0x616;
+ /* 0x617 */ u8 field_0x617;
+ /* 0x618 */ cXyz mUnkPos; // something to do with the dog's eye position
+ /* 0x624 */ s16 field_0x624;
+ /* 0x626 */ csXyz field_0x626;
+ /* 0x62C */ u8 field_0x62c[18];
+ /* 0x63E */ csXyz field_0x63e;
+ /* 0x644 */ f32 field_0x644;
+ /* 0x648 */ f32 field_0x648;
+ /* 0x64C */ f32 field_0x64c;
+ /* 0x650 */ f32 field_0x650;
+ /* 0x654 */ s16 field_0x654;
+ /* 0x656 */ s16 field_0x656;
+ /* 0x658 */ f32 mEyePosYDistFromPlayer;
+ /* 0x65C */ f32 field_0x65c;
+ /* 0x660 */ s16 field_0x660;
+ /* 0x662 */ u8 field_0x662[2];
+ /* 0x664 */ cXyz field_0x664;
+ /* 0x670 */ f32 field_0x670;
+ /* 0x674 */ cXyz field_0x674;
+ /* 0x680 */ u32 mItemActorID;
+ /* 0x684 */ u32 mFoodActorID;
+ /* 0x688 */ u8 field_0x688;
+ /* 0x689 */ u8 field_0x689;
+ /* 0x68A */ u8 field_0x68a;
+ /* 0x68B */ u8 field_0x68b;
+ /* 0x68C */ cXyz field_0x68c;
+ /* 0x698 */ cXyz field_0x698;
+ /* 0x6A4 */ u8 field_0x6a4[10];
+ /* 0x6AE */ s8 field_0x6ae;
+ /* 0x6B0 */ s16 field_0x6b0;
+ /* 0x6B2 */ u8 field_0x6b2[2];
+ /* 0x6B4 */ f32 field_0x6b4;
+ /* 0x6B8 */ u8 field_0x6b8;
+ /* 0x6B9 */ u8 field_0x6b9[3];
+ /* 0x6BC */ dBgS_AcchCir mBgS_AcchCir;
+ /* 0x6FC */ dBgS_ObjAcch mBgS_Acch;
+ /* 0x8D4 */ dCcD_Stts mStts;
+ /* 0x910 */ dCcD_Sph mCcSph1;
+ /* 0xA48 */ dCcD_Sph mCcSph2;
+ /* 0xB80 */ cXyz field_0xb80;
+ /* 0xB8C */ cXyz field_0xb8c;
+ /* 0xB98 */ cXyz field_0xb98;
+ /* 0xBA4 */ cXyz field_0xba4;
+ /* 0xBB0 */ cXyz field_0xbb0;
+ /* 0xBBC */ cXyz field_0xbbc;
+ /* 0xBC8 */ u8 field_0xb4c[4];
+ /* 0xBCC */ u32 field_0xbcc;
+ /* 0xBD0 */ u8 field_0xbd0[4];
+ /* 0xBD4 */ u32 field_0xbd4[4];
+ /* 0xBE4 */ Z2SoundObjSimple mSound;
+ /* 0xC04 */ u8 field_0xc04;
+ /* 0xC05 */ s8 field_0xc05;
+ /* 0xC06 */ s16 field_0xc06;
+ /* 0xC08 */ s16 field_0xc08;
+ /* 0xC0A */ u8 field_0xc0a[2];
+ /* 0xC0C */ dMsgFlow_c mMsg;
+ /* 0xC58 */ u8 field_0xc58[40];
+ /* 0xC80 */ u8 field_0xc80;
+ /* 0xC81 */ u8 field_0xc81[3];
+ /* 0xC84 */ cXyz field_0xc84;
+ /* 0xC90 */ cXyz field_0xc90;
+ /* 0xC9C */ cXyz field_0xc9c;
+ /* 0xCA8 */ cXyz field_0xca8;
+ /* 0xCB4 */ cXyz field_0xcb4;
+ /* 0xCC0 */ u8 field_0xcc0;
+
+public:
+ /* 8066EAE4 */ do_class();
+
+};
#endif /* D_A_DO_H */