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 372d782282
commit 3318b5e936
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
11 changed files with 6552 additions and 4809 deletions

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;

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);

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 */

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;
};

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;
};

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();

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

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;
}