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:
Carco_21
2025-06-07 12:41:01 -04:00
committed by GitHub
parent c5e1f75ad6
commit f179f0b449
11 changed files with 6552 additions and 4809 deletions
+1
View File
@@ -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;
+18 -10
View File
@@ -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
View File
@@ -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
View File
@@ -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;
};
+76 -17
View File
@@ -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;
};
+1
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
+1117 -1455
View File
File diff suppressed because it is too large Load Diff
+660 -1055
View File
File diff suppressed because it is too large Load Diff
+1081 -1093
View File
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -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;
}