tp/include/d/actor/d_a_obj_so.h

115 lines
3.3 KiB
C++

#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"
/**
* @ingroup actors-objects
* @class obj_so_class
* @brief Monkey Cage (Saru Ori)
*
* @details
*
*/
class obj_so_class {
public:
/* 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 */ 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;
/* 0x0DC8 */ f32 field_0xdc8;
/* 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;
/* 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() {
for (int i = 0; i < 8; i++) {
if (field_0x1a98[i] == 2) {
return true;
}
}
return false;
}
};
STATIC_ASSERT(sizeof(obj_so_class) == 0x1bd0);
class daObj_So_HIO_c : public JORReflexible {
public:
daObj_So_HIO_c();
virtual ~daObj_So_HIO_c() {}
void genMessage(JORMContext*);
/* 0x04 */ s8 field_0x4;
/* 0x08 */ f32 mScale;
};
#endif /* D_A_OBJ_SO_H */