mirror of
https://github.com/zeldaret/tww.git
synced 2026-07-08 21:54:50 -04:00
24708b315d
* initial work on daWarpgn_c * 76% of .text matching * d_a_warpgn matching for retail * fixed initWarpArrive for GZLJ01 * d_a_warpgn matching for both demo and retail; reformat field names * Update configure.py * Update d_a_warpgn.cpp * unlink from demo and commit suggestions from review
79 lines
2.1 KiB
C++
79 lines
2.1 KiB
C++
#ifndef D_A_WARPGN_H
|
|
#define D_A_WARPGN_H
|
|
|
|
#include "JSystem/JParticle/JPAEmitter.h"
|
|
#include "f_op/f_op_actor.h"
|
|
#include "f_op/f_op_actor_mng.h"
|
|
#include "m_Do/m_Do_ext.h"
|
|
|
|
class daWarpgn_c : public fopAc_ac_c {
|
|
public:
|
|
void set_mtx(); // weak but not inlined?
|
|
|
|
bool _delete();
|
|
BOOL CreateHeap();
|
|
void CreateInit();
|
|
cPhs_State _create();
|
|
bool _execute();
|
|
BOOL normal_execute();
|
|
BOOL demo_execute();
|
|
void demo_proc();
|
|
void initWait(int);
|
|
BOOL actWait(int);
|
|
void initStartWarp(int);
|
|
BOOL actStartWarp(int);
|
|
void initWarp(int);
|
|
BOOL actWarp(int);
|
|
void initWarpArrive(int);
|
|
BOOL actWarpArrive(int);
|
|
void initWarpArriveEnd(int);
|
|
BOOL actWarpArriveEnd(int);
|
|
void initAppear(int);
|
|
BOOL actAppear(int);
|
|
void eventOrder();
|
|
void checkOrder();
|
|
void anim_play(int);
|
|
void set_end_anim();
|
|
BOOL check_warp();
|
|
BOOL checkValidWarp();
|
|
bool _draw();
|
|
|
|
static const char m_arcname[];
|
|
static const u32 m_heapsize;
|
|
|
|
public:
|
|
/* 0x290 */ request_of_phase_process_class mPhs;
|
|
/* 0x298 */ J3DModel* mpModel;
|
|
/* 0x29C */ mDoExt_btkAnm* mpBtkAnm1;
|
|
/* 0x2A0 */ mDoExt_btkAnm* mpBtkAnm2;
|
|
/* 0x2A4 */ mDoExt_brkAnm* mpBrkAnm;
|
|
/* 0x2A8 */ mDoExt_bckAnm* mpBckAnm;
|
|
/* 0x2AC */ JPABaseEmitter* mpEmitter1;
|
|
/* 0x2B0 */ JPABaseEmitter* mpEmitter2;
|
|
/* 0x2B4 */ JPABaseEmitter* mpEmitter3;
|
|
/* 0x2B8 */ u32 mSwitchNo;
|
|
/* 0x2BC */ u8 mIsSwitch;
|
|
/* 0x2BD */ u8 m2BD[0x2C0 - 0x2BD];
|
|
/* 0x2C0 */ u32 mSceneNo;
|
|
/* 0x2C4 */ s32 m2C4;
|
|
/* 0x2C8 */ s16 mEvtToMajyuuWarpIdx;
|
|
/* 0x2CA */ s16 mEvtAppearWarpIdx;
|
|
/* 0x2CC */ s32 mStaffId;
|
|
/* 0x2D0 */ u32 mDemoShape;
|
|
/* 0x2D4 */ int mTimer;
|
|
/* 0x2D8 */ dKy_tevstr_c mTevStr;
|
|
/* 0x388 */ bool m388;
|
|
/* 0x389 */ u8 m389[0x38C - 0x389];
|
|
}; // Size: 0x38C
|
|
|
|
namespace daWarpgn_prm {
|
|
inline u32 getSwitchNo(daWarpgn_c* i_this) {
|
|
return (fopAcM_GetParam(i_this) >> 8) & 0xFF;
|
|
}
|
|
inline u32 getSceneNo(daWarpgn_c* i_this) {
|
|
return fopAcM_GetParam(i_this) & 0xFF;
|
|
}
|
|
} // namespace daWarpgn_prm
|
|
|
|
#endif /* D_A_WARPGN_H */
|