mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-05-28 07:54:51 -04:00
Continued monkey work (monkey business if you will) - Monkey-related TUs (#2469)
* Initial work * Work on ori2 and others * Work on npc_ks_home * Work on npc_ks_demo_022 * Chugging through * Started on demo_camera * More demo_camera work * 51% equivalent * General cleanup * Fixed compile error in d_a_e_mk * Small d_a_e_mk fix * d_a_e_fs fix * PR cleanup * Started work on d_a_obj_sw * d_a_obj_sw work * Small fixes * d_a_obj_so work * d_a_obj_so almost equivalent and small work on d_a_npc_ks * Work on npc_ks_guide_00 * Work on guide functions * 80% matching * Almost have all functions worked on * All functions worked on * Initial d_a_npc_saru work * Tiny bit more work * daNpc_Saru almost matching * fixed array issue * obj_kago work * d_a_obj_kago almost matching * sare_npc brief fix * PR cleanup
This commit is contained in:
@@ -134,6 +134,7 @@ public:
|
||||
void setFriendFlag(u8 i_flag) { mFriendFlag |= i_flag; }
|
||||
u8 getFriendFlag() { return mFriendFlag; }
|
||||
u8 getSwitchBit() { return mSwitchBit; }
|
||||
u8 isHide() { return mIsHide; }
|
||||
|
||||
private:
|
||||
/* 0x5AC */ request_of_phase_process_class mPhase;
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "d/actor/d_a_npc.h"
|
||||
#include "d/actor/d_a_obj_so.h"
|
||||
#include "d/actor/d_a_obj_sw.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-npcs
|
||||
@@ -15,16 +16,14 @@
|
||||
*/
|
||||
class npc_ks_class {
|
||||
public:
|
||||
/* 0x000 */ fopAc_ac_c actor;
|
||||
/* 0x568 */ u8 field_0x568[0x570 - 0x568];
|
||||
/* 0x570 */ u8 field_0x570;
|
||||
/* 0x571 */ u8 field_0x571[0x5b4 - 0x571];
|
||||
/* 0x000 */ fopEn_enemy_c actor;
|
||||
/* 0x5AC */ request_of_phase_process_class mPhase;
|
||||
/* 0x5B4 */ u8 mRoomMonkeyID;
|
||||
/* 0x5B5 */ u8 field_0x5b5;
|
||||
/* 0x5B6 */ u8 field_0x5b6;
|
||||
/* 0x5B7 */ u8 field_0x5b7;
|
||||
/* 0x5B8 */ int field_0x5b8;
|
||||
/* 0x5BC */ int field_0x5bc;
|
||||
/* 0x5BC */ int bitTRB;
|
||||
/* 0x5C0 */ char* mResName;
|
||||
/* 0x5C4 */ f32 field_0x5c4;
|
||||
/* 0x5C8 */ s16 field_0x5c8;
|
||||
@@ -34,7 +33,7 @@ public:
|
||||
/* 0x5D8 */ mDoExt_btpAnm* mBtp1;
|
||||
/* 0x5DC */ mDoExt_btpAnm* mBtp2;
|
||||
/* 0x5E0 */ s16 field_0x5e0;
|
||||
/* 0x5E2 */ u8 field_0x5e2[2];
|
||||
/* 0x5E2 */ s16 field_0x5e2;
|
||||
/* 0x5E4 */ s8 field_0x5e4;
|
||||
/* 0x5E5 */ u8 field_0x5e5;
|
||||
/* 0x5E6 */ s16 field_0x5e6;
|
||||
@@ -56,7 +55,7 @@ public:
|
||||
/* 0x610 */ s16 field_0x610;
|
||||
/* 0x614 */ cXyz field_0x614;
|
||||
/* 0x620 */ s8 field_0x620;
|
||||
/* 0x621 */ u8 field_0x621;
|
||||
/* 0x621 */ s8 field_0x621;
|
||||
/* 0x622 */ u8 field_0x622;
|
||||
/* 0x623 */ u8 field_0x623;
|
||||
/* 0x624 */ cXyz field_0x624;
|
||||
@@ -89,7 +88,9 @@ public:
|
||||
/* 0x98C */ dCcD_Cyl field_0x98c;
|
||||
/* 0xAC8 */ u8 field_0xac8[0xaec - 0xac8];
|
||||
/* 0xAEC */ s8 field_0xaec;
|
||||
/* 0xAED */ u8 field_0xaed[0xaf4 - 0xaed];
|
||||
/* 0xAED */ u8 field_0xaed;
|
||||
/* 0xAEE */ s16 field_0xaee;
|
||||
/* 0xAF0 */ s16 field_0xaf0;
|
||||
/* 0xAF4 */ dMsgFlow_c mMsgFlow;
|
||||
/* 0xB40 */ u8 field_0xb40;
|
||||
/* 0xB41 */ u8 field_0xb41;
|
||||
@@ -126,9 +127,16 @@ public:
|
||||
/* 0xBFC */ J3DModel* field_0xbfc;
|
||||
/* 0xC00 */ J3DModel* field_0xc00;
|
||||
/* 0xC04 */ cXyz field_0xc04;
|
||||
/* 0xC10 */ u8 field_0xc10[0xc17 - 0xc10];
|
||||
/* 0xC10 */ f32 field_0xc10;
|
||||
/* 0xC14 */ s16 field_0xc14;
|
||||
/* 0xC16 */ s8 field_0xc16;
|
||||
/* 0xC17 */ s8 field_0xc17;
|
||||
/* 0xC18 */ u8 field_0xc18[0xc20 - 0xc18];
|
||||
/* 0xC18 */ dPath* field_0xc18;
|
||||
/* 0xC1C */ u8 field_0xc1c;
|
||||
|
||||
u32 fopAcM_checkHawkCarryNow(fopAc_ac_c* param_1) {
|
||||
return fopAcM_checkStatus(param_1, 0x80000000);
|
||||
}
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(npc_ks_class) == 0xc20);
|
||||
|
||||
+126
-40
@@ -6,70 +6,156 @@
|
||||
/**
|
||||
* @ingroup actors-npcs
|
||||
* @class daNpc_Saru_c
|
||||
* @brief Monkey (Ook?)
|
||||
* @brief Monkey NPC
|
||||
*
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
class daNpc_Saru_c : public fopAc_ac_c {
|
||||
|
||||
#ifdef DEBUG
|
||||
class daNpc_Saru_HIO_c : public mDoHIO_entry_c {
|
||||
|
||||
};
|
||||
#endif
|
||||
|
||||
class daNpc_Saru_Param_c {
|
||||
public:
|
||||
/* 80AC448C */ virtual ~daNpc_Saru_Param_c() {};
|
||||
|
||||
struct Data {
|
||||
/* 0x00 */ f32 field_0x00;
|
||||
/* 0x04 */ f32 mGravity;
|
||||
/* 0x08 */ f32 field_0x08;
|
||||
/* 0x0C */ f32 field_0x0c;
|
||||
/* 0x10 */ f32 mWeight;
|
||||
/* 0x14 */ f32 mCylH;
|
||||
/* 0x18 */ f32 mWallH;
|
||||
/* 0x1C */ f32 mWallR;
|
||||
/* 0x20 */ f32 mBodyDownAngle;
|
||||
/* 0x24 */ f32 mBodyUpAngle;
|
||||
/* 0x28 */ f32 mBodyRightAngle;
|
||||
/* 0x2C */ f32 mBodyLeftAngle;
|
||||
/* 0x30 */ f32 mHeadDownAngle;
|
||||
/* 0x34 */ f32 mHeadUpAngle;
|
||||
/* 0x38 */ f32 mHeadRightAngle;
|
||||
/* 0x3C */ f32 mHeadLeftAngle;
|
||||
/* 0x40 */ f32 field_0x40;
|
||||
/* 0x44 */ f32 mMorfFrames;
|
||||
/* 0x48 */ s16 field_0x48;
|
||||
/* 0x4A */ s16 field_0x4a;
|
||||
/* 0x4C */ s16 field_0x4c;
|
||||
/* 0x4E */ s16 field_0x4e;
|
||||
/* 0x50 */ f32 mAttnFovy;
|
||||
/* 0x54 */ f32 field_0x54;
|
||||
/* 0x58 */ f32 field_0x58;
|
||||
/* 0x5C */ f32 field_0x5c;
|
||||
/* 0x60 */ s16 field_0x60;
|
||||
/* 0x62 */ s16 field_0x62;
|
||||
/* 0x64 */ f32 field_0x64;
|
||||
/* 0x68 */ f32 field_0x68;
|
||||
/* 0x6C */ f32 field_0x6c;
|
||||
/* 0x70 */ f32 field_0x70;
|
||||
/* 0x74 */ f32 field_0x74;
|
||||
/* 0x78 */ f32 field_0x78;
|
||||
/* 0x7C */ f32 field_0x7c;
|
||||
/* 0x80 */ f32 field_0x80;
|
||||
/* 0x84 */ f32 field_0x84;
|
||||
/* 0x88 */ f32 field_0x88;
|
||||
/* 0x8C */ s16 field_0x8c;
|
||||
/* 0x8E */ s16 field_0x8e;
|
||||
};
|
||||
|
||||
static const Data m;
|
||||
};
|
||||
|
||||
class daNpc_Saru_c : public daNpcT_c {
|
||||
public:
|
||||
typedef int (daNpc_Saru_c::*cutFunc)(int);
|
||||
typedef int (daNpc_Saru_c::*actionFunc)(void*);
|
||||
|
||||
enum Type {
|
||||
TYPE_0,
|
||||
TYPE_1,
|
||||
TYPE_2,
|
||||
TYPE_3,
|
||||
};
|
||||
|
||||
/* 80AC042C */ ~daNpc_Saru_c();
|
||||
/* 80AC0578 */ void create();
|
||||
/* 80AC082C */ void CreateHeap();
|
||||
/* 80AC0A54 */ void Delete();
|
||||
/* 80AC0A88 */ void Execute();
|
||||
/* 80AC0AA8 */ void Draw();
|
||||
/* 80AC0AEC */ void createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80AC0B0C */ void ctrlJointCallBack(J3DJoint*, int);
|
||||
/* 80AC0B64 */ void srchYm(void*, void*);
|
||||
/* 80AC0C0C */ void getType();
|
||||
/* 80AC0C58 */ void isDelete();
|
||||
/* 80AC0578 */ int create();
|
||||
/* 80AC082C */ int CreateHeap();
|
||||
/* 80AC0A54 */ int Delete();
|
||||
/* 80AC0A88 */ int Execute();
|
||||
/* 80AC0AA8 */ int Draw();
|
||||
/* 80AC0AEC */ static int createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80AC0B0C */ static int ctrlJointCallBack(J3DJoint*, int);
|
||||
/* 80AC0B64 */ static void* srchYm(void*, void*);
|
||||
/* 80AC0C0C */ u8 getType();
|
||||
/* 80AC0C58 */ int isDelete();
|
||||
/* 80AC0CE8 */ void reset();
|
||||
/* 80AC0EA4 */ void afterJntAnm(int);
|
||||
/* 80AC0F28 */ void checkChangeEvt();
|
||||
/* 80AC0F28 */ BOOL checkChangeEvt();
|
||||
/* 80AC0FDC */ void setParam();
|
||||
/* 80AC1110 */ void setAfterTalkMotion();
|
||||
/* 80AC1170 */ void srchActors();
|
||||
/* 80AC11D4 */ void evtTalk();
|
||||
/* 80AC1274 */ void evtCutProc();
|
||||
/* 80AC11D4 */ BOOL evtTalk();
|
||||
/* 80AC1274 */ BOOL evtCutProc();
|
||||
/* 80AC133C */ void action();
|
||||
/* 80AC14E4 */ void beforeMove();
|
||||
/* 80AC15B4 */ void setAttnPos();
|
||||
/* 80AC18A0 */ void setCollision();
|
||||
/* 80AC1A20 */ bool drawDbgInfo();
|
||||
/* 80AC1A20 */ int drawDbgInfo();
|
||||
/* 80AC1A28 */ void drawOtherMdl();
|
||||
/* 80AC1B30 */ void selectAction();
|
||||
/* 80AC1B78 */ void chkAction(int (daNpc_Saru_c::*)(void*));
|
||||
/* 80AC1BA4 */ void setAction(int (daNpc_Saru_c::*)(void*));
|
||||
/* 80AC1B30 */ int selectAction();
|
||||
/* 80AC1B78 */ BOOL chkAction(int (daNpc_Saru_c::*)(void*));
|
||||
/* 80AC1BA4 */ int setAction(int (daNpc_Saru_c::*)(void*));
|
||||
/* 80AC1C4C */ void setSe();
|
||||
/* 80AC216C */ void cutFindMonkey(int);
|
||||
/* 80AC2368 */ void cutHelpMe(int);
|
||||
/* 80AC2598 */ void cutYmLook(int);
|
||||
/* 80AC28A4 */ void wait(void*);
|
||||
/* 80AC2FD8 */ void talk(void*);
|
||||
/* 80AC4394 */ daNpc_Saru_c(daNpcT_faceMotionAnmData_c const*, daNpcT_motionAnmData_c const*,
|
||||
daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int,
|
||||
daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int,
|
||||
daNpcT_evtData_c const*, char**);
|
||||
/* 80AC216C */ int cutFindMonkey(int);
|
||||
/* 80AC2368 */ int cutHelpMe(int);
|
||||
/* 80AC2598 */ int cutYmLook(int);
|
||||
/* 80AC28A4 */ int wait(void*);
|
||||
/* 80AC2FD8 */ int talk(void*);
|
||||
/* 80AC4394 */ daNpc_Saru_c(daNpcT_faceMotionAnmData_c const* param_1, daNpcT_motionAnmData_c const* param_2,
|
||||
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_3, int param_4,
|
||||
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_5, int param_6,
|
||||
daNpcT_evtData_c const* param_7, char** param_8) :
|
||||
daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8)
|
||||
{}
|
||||
/* 80AC4474 */ s32 getHeadJointNo();
|
||||
/* 80AC447C */ s32 getNeckJointNo();
|
||||
/* 80AC4484 */ bool getBackboneJointNo();
|
||||
/* 80AC4484 */ s32 getBackboneJointNo();
|
||||
|
||||
static void* mCutNameList[4];
|
||||
static u8 mCutList[48];
|
||||
u32 getFlowNodeNo() {
|
||||
u16 rv = home.angle.x;
|
||||
if (rv == 0xffff) {
|
||||
return -1;
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
u8 getPathID() { return (fopAcM_GetParam(this) & 0xff0000) >> 16; }
|
||||
u8 getBitSW() { return (fopAcM_GetParam(this) & 0xff00) >> 8; }
|
||||
|
||||
static char* mCutNameList[4];
|
||||
static cutFunc mCutList[4];
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0xfe0 - 0x568];
|
||||
#ifdef DEBUG
|
||||
/* 0xE90 */ daNpc_Saru_HIO_c* field_0xe90;
|
||||
#endif
|
||||
/* 0xE40 */ u8 field_0xe40[0xe44 - 0xe40];
|
||||
/* 0xE44 */ J3DModel* field_0xe44[2];
|
||||
/* 0xE4C */ dCcD_Cyl field_0xe4c;
|
||||
/* 0xF88 */ u8 mType;
|
||||
/* 0xF8C */ daNpcT_ActorMngr_c mActrMngr[1];
|
||||
/* 0xF94 */ daNpcT_Path_c mPath;
|
||||
/* 0xFBC */ actionFunc field_0xfbc;
|
||||
/* 0xFC8 */ actionFunc field_0xfc8;
|
||||
/* 0xFD4 */ int field_0xfd4;
|
||||
/* 0xFD8 */ u8 field_0xfd8;
|
||||
/* 0xFD9 */ u8 field_0xfd9;
|
||||
/* 0xFDC */ int field_0xfdc;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpc_Saru_c) == 0xfe0);
|
||||
|
||||
class daNpc_Saru_Param_c {
|
||||
public:
|
||||
/* 80AC448C */ ~daNpc_Saru_Param_c();
|
||||
|
||||
static u8 const m[144];
|
||||
};
|
||||
|
||||
|
||||
#endif /* D_A_NPC_SARU_H */
|
||||
|
||||
+132
-12
@@ -1,6 +1,9 @@
|
||||
#ifndef D_A_OBJ_KAGO_H
|
||||
#define D_A_OBJ_KAGO_H
|
||||
|
||||
#include "SSystem/SComponent/c_math.h"
|
||||
#include "d/d_bg_s_acch.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
/**
|
||||
@@ -13,34 +16,151 @@
|
||||
*/
|
||||
class daObj_Kago_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 80C31AEC */ ~daObj_Kago_c();
|
||||
/* 80C31D5C */ void create();
|
||||
/* 80C323D0 */ void CreateHeap();
|
||||
/* 80C324B0 */ void Delete();
|
||||
/* 80C324E4 */ void Execute();
|
||||
/* 80C332D0 */ void Draw();
|
||||
/* 80C333F0 */ void createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80C33410 */ void isDelete();
|
||||
/* 80C31D5C */ cPhs__Step create();
|
||||
/* 80C323D0 */ int CreateHeap();
|
||||
/* 80C324B0 */ int Delete();
|
||||
/* 80C324E4 */ int Execute();
|
||||
/* 80C332D0 */ int Draw();
|
||||
/* 80C333F0 */ static int createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80C33410 */ BOOL isDelete();
|
||||
/* 80C334B4 */ void setEnvTevColor();
|
||||
/* 80C33510 */ void setRoomNo();
|
||||
/* 80C33554 */ void reset();
|
||||
/* 80C3359C */ void setMtx();
|
||||
/* 80C33620 */ void getWallAngle(s16, s16*);
|
||||
/* 80C33620 */ int getWallAngle(s16, s16*);
|
||||
/* 80C337B0 */ void setGoalPosAndAngle();
|
||||
/* 80C338D0 */ void setSmokePrtcl();
|
||||
/* 80C33958 */ void setWaterPrtcl();
|
||||
/* 80C33A58 */ void setHamonPrtcl();
|
||||
|
||||
u8 getType() {
|
||||
int iVar1 = fopAcM_GetParam(this) & 0xFF;
|
||||
u8 rv;
|
||||
|
||||
switch ((subtype & 127)) {
|
||||
case 0:
|
||||
switch (iVar1) {
|
||||
case 0:
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
|
||||
case 1:
|
||||
switch (iVar1) {
|
||||
case 0:
|
||||
return 1;
|
||||
|
||||
case 1:
|
||||
return 2;
|
||||
|
||||
case 2:
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
|
||||
return 4;
|
||||
}
|
||||
|
||||
void setMtx(Mtx param_1) {
|
||||
cXyz sp18;
|
||||
field_0xba2 = 1;
|
||||
mDoMtx_stack_c::copy(param_1);
|
||||
mDoMtx_stack_c::multVecZero(&sp18);
|
||||
current.pos = sp18;
|
||||
old.pos = current.pos;
|
||||
field_0x574->setBaseTRMtx(param_1);
|
||||
}
|
||||
|
||||
u32 fopAcM_checkHawkCarryNow(fopAc_ac_c* actor) {
|
||||
return fopAcM_checkStatus(actor, 0x80000000);
|
||||
}
|
||||
|
||||
void popup(f32 param_1, f32 param_2, cXyz* param_3) {
|
||||
if (param_3 != NULL) {
|
||||
current.pos = *param_3;
|
||||
old.pos = current.pos;
|
||||
}
|
||||
|
||||
int iVar1 = cM_deg2s(param_2);
|
||||
speed.setall(0.0f);
|
||||
speed.y = param_1 * cM_ssin(iVar1);
|
||||
speedF = param_1 * cM_scos(iVar1);
|
||||
field_0xb44 = 6;
|
||||
field_0xb70 = 0x4000;
|
||||
field_0xb9e = 1;
|
||||
field_0xb68 = 0.0f;
|
||||
}
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0xba8 - 0x568];
|
||||
/* 0x568 */ u8 field_0x568[0x56c - 0x568];
|
||||
/* 0x56C */ request_of_phase_process_class mPhase;
|
||||
/* 0x574 */ J3DModel* field_0x574;
|
||||
/* 0x578 */ dBgS_ObjAcch mObjAcch;
|
||||
/* 0x750 */ dCcD_Stts mStts;
|
||||
/* 0x78C */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x7CC */ cBgS_GndChk field_0x7cc;
|
||||
/* 0x808 */ dCcD_Cyl field_0x808[2];
|
||||
/* 0xA80 */ cM3dGLin field_0xa80;
|
||||
/* 0xA9C */ dBgS_LinChk field_0xa9c;
|
||||
/* 0xB0C */ f32 field_0xb0c;
|
||||
/* 0xB10 */ u8 mType;
|
||||
/* 0xB14 */ cXyz field_0xb14;
|
||||
/* 0xB20 */ cXyz field_0xb20;
|
||||
/* 0xB2C */ csXyz field_0xb2c;
|
||||
/* 0xB32 */ u8 field_0xb32[0xb44 - 0xb32];
|
||||
/* 0xB44 */ int field_0xb44;
|
||||
/* 0xB48 */ int field_0xb48;
|
||||
/* 0xB4C */ int field_0xb4c;
|
||||
/* 0xB50 */ f32 field_0xb50;
|
||||
/* 0xB54 */ f32 mGroundH;
|
||||
/* 0xB58 */ f32 mWaterY;
|
||||
/* 0xB5C */ u8 field_0xb5c[0xb64 - 0xb5c];
|
||||
/* 0xB64 */ f32 field_0xb64;
|
||||
/* 0xB68 */ f32 field_0xb68;
|
||||
/* 0xB6C */ s16 field_0xb6c;
|
||||
/* 0xB6E */ s16 field_0xb6e;
|
||||
/* 0xB70 */ s16 field_0xb70;
|
||||
/* 0xB72 */ u8 field_0xb72[0xb74 - 0xb72];
|
||||
/* 0xB74 */ s16 field_0xb74;
|
||||
/* 0xB76 */ s16 field_0xb76;
|
||||
/* 0xB78 */ u32 field_0xb78;
|
||||
/* 0xB7C */ u32 mWaterPrtcls[4];
|
||||
/* 0xB8C */ u32 mHamonPrtcl;
|
||||
/* 0xB90 */ u8 field_0xb90[0xb94 - 0xb90];
|
||||
/* 0xB94 */ u32 field_0xb94;
|
||||
/* 0xB98 */ u32 field_0xb98;
|
||||
/* 0xB9C */ u8 field_0xb9c;
|
||||
/* 0xB9D */ u8 field_0xb9d;
|
||||
/* 0xB9E */ u8 field_0xb9e;
|
||||
/* 0xB9F */ u8 field_0xb9f;
|
||||
/* 0xBA0 */ u8 field_0xba0;
|
||||
/* 0xBA1 */ u8 field_0xba1;
|
||||
/* 0xBA2 */ u8 field_0xba2;
|
||||
/* 0xBA3 */ u8 field_0xba3;
|
||||
// vtable
|
||||
/* 80C31AEC */ virtual ~daObj_Kago_c();
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daObj_Kago_c) == 0xba8);
|
||||
|
||||
class daObj_Kago_Param_c {
|
||||
public:
|
||||
/* 80C33C14 */ ~daObj_Kago_Param_c();
|
||||
/* 80C33C14 */ virtual ~daObj_Kago_Param_c() {}
|
||||
|
||||
static u8 const m[44];
|
||||
struct Data {
|
||||
/* 0x00 */ f32 field_0x00;
|
||||
/* 0x04 */ f32 mGravity;
|
||||
/* 0x08 */ f32 field_0x08;
|
||||
/* 0x0C */ f32 field_0x0c;
|
||||
/* 0x10 */ f32 mWeight;
|
||||
/* 0x14 */ f32 field_0x14;
|
||||
/* 0x18 */ f32 mWallH;
|
||||
/* 0x1C */ f32 mWallR;
|
||||
/* 0x20 */ f32 field_0x20;
|
||||
/* 0x24 */ f32 field_0x24;
|
||||
/* 0x28 */ f32 field_0x28;
|
||||
};
|
||||
static const Data m;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
#ifndef D_A_OBJ_SO_H
|
||||
#define D_A_OBJ_SO_H
|
||||
|
||||
#include "d/d_bg_s_acch.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "d/d_cc_uty.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
/**
|
||||
@@ -11,28 +14,79 @@
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
class obj_so_class : public fopAc_ac_c {
|
||||
class obj_so_class {
|
||||
public:
|
||||
/* 0x0568 */ u8 field_0x568[0x8fc - 0x568];
|
||||
/* 0x08FC */ f32 field_0x8fc;
|
||||
/* 0x0900 */ f32 field_0x900;
|
||||
/* 0x0904 */ u8 field_0x904[0x91c - 0x904];
|
||||
/* 0x091C */ int field_0x91c;
|
||||
/* 0x0920 */ cXyz field_0x920[12];
|
||||
/* 0x09B0 */ u8 field_0x9b0[0xdac - 0x9b0];
|
||||
/* 0x0000 */ fopAc_ac_c actor;
|
||||
/* 0x0568 */ request_of_phase_process_class mPhase;
|
||||
/* 0x0570 */ u8 field_0x570;
|
||||
/* 0x0571 */ u8 field_0x571;
|
||||
/* 0x0574 */ J3DModel* field_0x574;
|
||||
/* 0x0578 */ u8 field_0x578[0x594 - 0x578];
|
||||
/* 0x0594 */ J3DModel* field_0x594[26];
|
||||
/* 0x05FC */ s8 field_0x5fc[26];
|
||||
/* 0x0618 */ cXyz field_0x618[26];
|
||||
/* 0x0750 */ f32 field_0x750[26];
|
||||
/* 0x07B8 */ cXyz field_0x7b8[26];
|
||||
/* 0x08F0 */ cXyz field_0x8f0[26];
|
||||
/* 0x0A28 */ csXyz field_0xa28[26];
|
||||
/* 0x0AC4 */ csXyz field_0xac4[26];
|
||||
/* 0x0B60 */ s16 field_0xb60[2];
|
||||
/* 0x0B64 */ u8 field_0xb64[0xb94 - 0xb64];
|
||||
/* 0x0B94 */ s16 field_0xb94[2];
|
||||
/* 0x0B98 */ u8 field_0xb98[0xbc8 - 0xb98];
|
||||
/* 0x0BC8 */ s16 field_0xbc8[2];
|
||||
/* 0x0BCC */ u8 field_0xbcc[0xbfc - 0xbcc];
|
||||
/* 0x0BFC */ s16 field_0xbfc[2];
|
||||
/* 0x0C00 */ u8 field_0xc00[0xc30 - 0xc00];
|
||||
/* 0x0C30 */ s8 field_0xc30[26];
|
||||
/* 0x0C4C */ u32 field_0xc4c[26];
|
||||
/* 0x0CB4 */ u32 field_0xcb4[26];
|
||||
/* 0x0D1C */ Z2Creature mSound;
|
||||
/* 0x0DAC */ s16 field_0xdac;
|
||||
/* 0x0DAE */ s16 field_0xdae;
|
||||
/* 0x0DB0 */ u8 field_0xdb0[0xdc4 - 0xdb0];
|
||||
/* 0x0DB0 */ s16 field_0xdb0;
|
||||
/* 0x0DB2 */ s16 field_0xdb2[2];
|
||||
/* 0x0DB6 */ s16 field_0xdb6;
|
||||
/* 0x0DB8 */ s16 field_0xdb8;
|
||||
/* 0x0DBA */ s16 field_0xdba;
|
||||
/* 0x0DBC */ s16 field_0xdbc;
|
||||
/* 0x0DBE */ s16 field_0xdbe;
|
||||
/* 0x0DC0 */ s16 field_0xdc0;
|
||||
/* 0x0DC2 */ s16 field_0xdc2;
|
||||
/* 0x0DC4 */ s8 field_0xdc4;
|
||||
/* 0x0DC5 */ u8 field_0xdc5[0xdc8 - 0xdc5];
|
||||
/* 0x0DC8 */ f32 field_0xdc8;
|
||||
/* 0x0DCC */ u8 field_0xdcc[0x1054 - 0xdcc];
|
||||
/* 0x0DCC */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x0E0C */ dBgS_ObjAcch mObjAcch;
|
||||
/* 0x0FE4 */ u8 field_0xfe4[0xfec - 0xfe4];
|
||||
/* 0x0FEC */ Mtx mBgMtx[2];
|
||||
/* 0x104C */ dBgW* mBgW[2];
|
||||
/* 0x1054 */ s8 field_0x1054;
|
||||
/* 0x1055 */ u8 field_0x1055[0x1a98 - 0x1055];
|
||||
/* 0x1A98 */ s8 field_0x1a98[7];
|
||||
/* 0x1A9F */ u8 field_0x1a9f[0x1bd0 - 0x1a9f];
|
||||
/* 0x1056 */ s16 field_0x1056;
|
||||
/* 0x1058 */ dCcD_Stts mStts;
|
||||
/* 0x1094 */ dCcU_AtInfo mAtInfo;
|
||||
/* 0x10B8 */ dCcD_Cyl field_0x10b8[8];
|
||||
/* 0x1A98 */ s8 field_0x1a98[8];
|
||||
/* 0x1AA0 */ J3DModel* field_0x1aa0[8];
|
||||
/* 0x1AC0 */ cXyz field_0x1ac0[8];
|
||||
/* 0x1B20 */ s16 field_0x1b20[8];
|
||||
/* 0x1B30 */ s16 field_0x1b30[8];
|
||||
/* 0x1B40 */ s16 field_0x1b40[8];
|
||||
/* 0x1B50 */ s16 field_0x1b50[8];
|
||||
/* 0x1B60 */ s8 field_0x1b60;
|
||||
/* 0x1B64 */ Mtx mMtx;
|
||||
/* 0x1B94 */ fpc_ProcID field_0x1b94;
|
||||
/* 0x1B98 */ u32 field_0x1b98;
|
||||
/* 0x1B9C */ u32 field_0x1b9c;
|
||||
/* 0x1BA0 */ s16 mDemoMode;
|
||||
/* 0x1BA2 */ s16 field_0x1ba2;
|
||||
/* 0x1BA4 */ cXyz mDemoCamEye;
|
||||
/* 0x1BB0 */ cXyz mDemoCamCenter;
|
||||
/* 0x1BBC */ f32 mDemoCamFovy;
|
||||
/* 0x1BC0 */ f32 field_0x1bc0;
|
||||
/* 0x1BC4 */ u8 field_0x1bc4[0x1bcc - 0x1bc4];
|
||||
/* 0x1BCC */ u8 field_0x1bcc;
|
||||
|
||||
bool partBreak() {
|
||||
u8 partBreak() {
|
||||
for (int i = 0; i < 8; i++) {
|
||||
if (field_0x1a98[i] == 2) return 1;
|
||||
}
|
||||
@@ -42,10 +96,15 @@ public:
|
||||
|
||||
STATIC_ASSERT(sizeof(obj_so_class) == 0x1bd0);
|
||||
|
||||
class daObj_So_HIO_c {
|
||||
class daObj_So_HIO_c : public JORReflexible {
|
||||
public:
|
||||
/* 80CE03CC */ daObj_So_HIO_c();
|
||||
/* 80CE3928 */ ~daObj_So_HIO_c();
|
||||
/* 80CE3928 */ virtual ~daObj_So_HIO_c() {}
|
||||
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
/* 0x04 */ s8 field_0x4;
|
||||
/* 0x08 */ f32 mScale;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -1058,6 +1058,7 @@ u8 dComIfGs_getSelectMixItemNoArrowIndex(int i_selmixItemIdx);
|
||||
BOOL dComIfGs_isStageTbox(int i_stageNo, int i_no);
|
||||
s8 dComIfGs_PolyDamageOff_Check();
|
||||
void dComIfGs_shake_kandelaar();
|
||||
int dComIfGs_shake_kandelaar_check();
|
||||
void dComIfGs_Grass_hide_Set(s8 param_0);
|
||||
void dComIfGs_onGetMagicUseFlag();
|
||||
void dComIfG_playerStatusD();
|
||||
|
||||
+3337
-1124
File diff suppressed because it is too large
Load Diff
+1117
-1455
File diff suppressed because it is too large
Load Diff
+660
-1055
File diff suppressed because it is too large
Load Diff
+1081
-1093
File diff suppressed because it is too large
Load Diff
@@ -2443,10 +2443,10 @@ void dComIfGs_shake_kandelaar() {
|
||||
g_dComIfG_gameInfo.field_0x1ddfa = 1;
|
||||
}
|
||||
|
||||
bool dComIfGs_shake_kandelaar_check() {
|
||||
bool check = false;
|
||||
int dComIfGs_shake_kandelaar_check() {
|
||||
int check = 0;
|
||||
if (g_dComIfG_gameInfo.field_0x1ddfa == 2) {
|
||||
check = true;
|
||||
check = 1;
|
||||
}
|
||||
return check;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user