mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-01 01:08:48 -04:00
@@ -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;
|
||||
|
||||
@@ -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(); }
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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];
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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) {
|
||||
|
||||
+15
-1
@@ -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];
|
||||
|
||||
@@ -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 */
|
||||
|
||||
+1616
-444
File diff suppressed because it is too large
Load Diff
@@ -4812,7 +4812,8 @@ extern "C" asm void abs__4cXyzCFv() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void cMtx_XrotM(f32 (*param_0)[4], s16 param_1) {
|
||||
// static asm void cMtx_XrotM(f32 (*param_0)[4], s16 param_1) {
|
||||
extern "C" asm void cMtx_XrotM__FPA4_fs() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/e/d_a_e_wb/d_a_e_wb/cMtx_XrotM__FPA4_fs.s"
|
||||
}
|
||||
|
||||
@@ -473,7 +473,8 @@ asm void daObjYobikusa_c::create_init() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_ObjAcch::~dBgS_ObjAcch() {
|
||||
// asm dBgS_ObjAcch::~dBgS_ObjAcch() {
|
||||
extern "C" asm void __dt__12dBgS_ObjAcchFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa/__dt__12dBgS_ObjAcchFv.s"
|
||||
}
|
||||
@@ -483,7 +484,8 @@ asm dBgS_ObjAcch::~dBgS_ObjAcch() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_AcchCir::~dBgS_AcchCir() {
|
||||
// asm dBgS_AcchCir::~dBgS_AcchCir() {
|
||||
extern "C" asm void __dt__12dBgS_AcchCirFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_yobikusa/d_a_obj_yobikusa/__dt__12dBgS_AcchCirFv.s"
|
||||
}
|
||||
|
||||
@@ -3,6 +3,9 @@
|
||||
// Translation Unit: d/bg/d_bg_s_acch
|
||||
//
|
||||
|
||||
// Temporary fix until the TU matches
|
||||
#define __dt__12dBgS_AcchCirFv_DEFINED
|
||||
|
||||
#include "d/bg/d_bg_s_acch.h"
|
||||
#include "d/bg/d_bg_s.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
Reference in New Issue
Block a user