Files
tww/include/d/actor/d_a_warpgn.h
T
Roland 24708b315d d_a_warpgn (#910)
* 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
2025-12-23 23:51:56 -05:00

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