mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-23 06:54:16 -04:00
60fb257646
Co-authored-by: LagoLunatic <LagoLunatic@users.noreply.github.com>
128 lines
3.5 KiB
C++
128 lines
3.5 KiB
C++
#ifndef D_A_OBJ_TIDE_H
|
|
#define D_A_OBJ_TIDE_H
|
|
|
|
#include "d/d_bg_s_movebg_actor.h"
|
|
#include "d/d_a_obj.h"
|
|
|
|
class mDoExt_bckAnm;
|
|
class mDoExt_btkAnm;
|
|
class mDoExt_brkAnm;
|
|
|
|
namespace daObjTide {
|
|
namespace {
|
|
enum Type_e {
|
|
TYPE_0_e = 0,
|
|
TYPE_1_e = 1,
|
|
TYPE_2_e = 2,
|
|
TYPE_3_e = 3,
|
|
TYPE_4_e = 4,
|
|
TYPE_5_e = 5,
|
|
};
|
|
|
|
struct Attr_c {
|
|
/* 0x00 */ const char* arcName;
|
|
/* 0x04 */ s16 m04;
|
|
/* 0x06 */ s16 m06;
|
|
/* 0x08 */ s16 m08;
|
|
/* 0x0A */ s16 m0A;
|
|
/* 0x0C */ s16 m0C;
|
|
/* 0x10 */ u32 m10;
|
|
/* 0x14 */ s16 m14;
|
|
/* 0x16 */ s16 m16;
|
|
/* 0x18 */ u32 m18;
|
|
/* 0x1C */ u32 resSize;
|
|
/* 0x20 */ s16 m20;
|
|
/* 0x24 */ f32 m24;
|
|
/* 0x28 */ f32 m28;
|
|
/* 0x2C */ f32 m2C;
|
|
/* 0x30 */ f32 m30;
|
|
/* 0x34 */ s16 minX;
|
|
/* 0x36 */ s16 minY;
|
|
/* 0x38 */ s16 minZ;
|
|
/* 0x3A */ s16 maxX;
|
|
/* 0x3C */ s16 maxY;
|
|
/* 0x3E */ s16 maxZ;
|
|
/* 0x40 */ bool sch_flag;
|
|
/* 0x42 */ s16 m42;
|
|
/* 0x44 */ f32 m44;
|
|
}; // size = 0x48
|
|
}
|
|
|
|
class Act_c : public dBgS_MoveBgActor {
|
|
enum Prm_e {
|
|
PRM_SWSAVE_W = 8,
|
|
PRM_SWSAVE_S = 24,
|
|
|
|
PRM_TYPE_W = 3,
|
|
PRM_TYPE_S = 16,
|
|
};
|
|
|
|
public:
|
|
s32 prm_get_swSave() const { return daObj::PrmAbstract(this, PRM_SWSAVE_W, PRM_SWSAVE_S); }
|
|
Type_e prm_get_type() const { return Type_e(daObj::PrmAbstract(this, PRM_TYPE_W, PRM_TYPE_S)); }
|
|
|
|
virtual BOOL CreateHeap();
|
|
virtual BOOL Create();
|
|
cPhs_State Mthd_Create();
|
|
virtual BOOL Delete();
|
|
BOOL Mthd_Delete();
|
|
void set_mtx();
|
|
void init_mtx();
|
|
void move_to_aim(float, bool);
|
|
bool chk_demo_rescue() const;
|
|
bool gmtw_demo_up_start() const;
|
|
void mode_norm_init();
|
|
void mode_norm();
|
|
void mode_gmtw_pre_init();
|
|
void mode_gmtw_pre();
|
|
void mode_gmtw_init();
|
|
void mode_gmtw();
|
|
void mode_gmtw_demo_init();
|
|
void mode_gmtw_demo();
|
|
void se_init_gmtw();
|
|
void se_set_gmtw();
|
|
void se_start_gopo();
|
|
void se_start_out();
|
|
void se_start_up();
|
|
void se_stop_gopo();
|
|
void se_stop_out();
|
|
void se_stop_up();
|
|
void se_pos_up();
|
|
virtual BOOL Execute(Mtx**);
|
|
virtual BOOL Draw();
|
|
|
|
static Mtx M_tmp_mtx;
|
|
|
|
public:
|
|
/* 0x2C8 */ request_of_phase_process_class mPhase;
|
|
/* 0x2D0 */ J3DModel* mModel1;
|
|
/* 0x2D4 */ mDoExt_bckAnm* mBck1;
|
|
/* 0x2D8 */ mDoExt_brkAnm* mBrk1;
|
|
/* 0x2DC */ mDoExt_btkAnm* mBtk;
|
|
/* 0x2E0 */ J3DModel* mModel2;
|
|
/* 0x2E4 */ mDoExt_brkAnm* mBrk2;
|
|
/* 0x2E8 */ Type_e M_type;
|
|
/* 0x2EC */ s32 m2EC;
|
|
/* 0x2F0 */ f32 m2F0;
|
|
/* 0x2F4 */ s16 m2F4;
|
|
/* 0x2F6 */ u8 m2F6;
|
|
/* 0x2F7 */ bool m2F7;
|
|
/* 0x2F8 */ bool m2F8;
|
|
/* 0x2F9 */ bool m2F9;
|
|
/* 0x2FA */ bool m2FA;
|
|
/* 0x2FB */ bool m2FB;
|
|
/* 0x2FC */ fpc_ProcID M_id_gopo;
|
|
/* 0x300 */ fpc_ProcID M_id_out;
|
|
/* 0x304 */ fpc_ProcID M_id_up;
|
|
/* 0x308 */ bool m308;
|
|
/* 0x309 */ bool m309;
|
|
/* 0x30A */ bool m30A;
|
|
/* 0x30B */ bool m30B;
|
|
#if VERSION > VERSION_DEMO
|
|
/* 0x30C */ s32 m30C;
|
|
#endif
|
|
}; // size = 0x310
|
|
};
|
|
|
|
#endif /* D_A_OBJ_TIDE_H */
|