mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-05-24 15:00:55 -04:00
0ff06d2974
* Fix missing arg to JUT_ASSERT * Fix some MWCC version diff errors * Compile m_Do_ext, d_demo, actor_mng * Add VSCode task to quickly switch between versions * Unlink magLift for debug * Update the hash of the debug dol The old cbea5fa... hash here was for the dol generated by the alf2dol.py script, which produces incorrect alignment. The dol with the new hash can be obtained by using `dtk elf2dol` to convert the debug .alf file to a dol. The DOL now builds OK. * Fix all debug REL dtor splits All RELs now also build OK, meaning `ninja build/ShieldD/ok` now succeeds. * Add genMessage declarations to all HIO subclasses * Fixing more compilation errors * m_Do_mtx 100% on debug Cannot be linked due to weak function name mangling? * Improve various matches * Fix all remaining compilation errors * Fix new compilation errors from main * Fix retail regression * Link f_pc_profile_lst
105 lines
2.9 KiB
C++
105 lines
2.9 KiB
C++
#ifndef D_A_OBJ_WDSTICK_H
|
|
#define D_A_OBJ_WDSTICK_H
|
|
|
|
#include "d/d_bg_s_acch.h"
|
|
#include "d/d_cc_d.h"
|
|
#include "f_op/f_op_actor_mng.h"
|
|
|
|
/**
|
|
* @ingroup actors-objects
|
|
* @class daWdStick_c
|
|
* @brief Wooden Stick
|
|
*
|
|
* @details
|
|
*
|
|
*/
|
|
class daWdStick_c : public fopAc_ac_c {
|
|
public:
|
|
typedef void (daWdStick_c::*modeFunc)();
|
|
|
|
enum Mode {
|
|
MODE_WAIT,
|
|
MODE_CARRY,
|
|
MODE_DROP,
|
|
MODE_ROLL,
|
|
MODE_SINK,
|
|
};
|
|
|
|
/* 80D31BD0 */ void setBaseMtx();
|
|
/* 80D31C58 */ virtual int CreateHeap();
|
|
/* 80D31CC4 */ int create();
|
|
/* 80D32168 */ static int createHeapCallBack(fopAc_ac_c*);
|
|
/* 80D32194 */ void lightInit();
|
|
/* 80D32198 */ void setLight();
|
|
/* 80D3219C */ void setFire();
|
|
/* 80D3269C */ virtual int Execute();
|
|
/* 80D32DB4 */ void bgCheck();
|
|
/* 80D33348 */ void setBoundSe();
|
|
/* 80D333F4 */ void mode_proc_call();
|
|
/* 80D3350C */ void mode_init_wait();
|
|
/* 80D3353C */ void mode_proc_wait();
|
|
/* 80D33588 */ void mode_init_carry();
|
|
/* 80D335AC */ void mode_proc_carry();
|
|
/* 80D3386C */ void mode_init_drop();
|
|
/* 80D33890 */ void mode_proc_drop();
|
|
/* 80D338DC */ void mode_init_roll();
|
|
/* 80D338F4 */ void mode_proc_roll();
|
|
/* 80D33D44 */ BOOL chkWaterLineIn();
|
|
/* 80D33D68 */ void mode_init_sink();
|
|
/* 80D33D8C */ void mode_proc_sink();
|
|
/* 80D33EB0 */ virtual int Draw();
|
|
/* 80D33F14 */ virtual int Delete();
|
|
|
|
static dCcD_SrcGObjInf const mCcDObjInfo;
|
|
static dCcD_SrcSph mCcDSph;
|
|
|
|
private:
|
|
/* 0x56C */ request_of_phase_process_class mPhase;
|
|
/* 0x574 */ J3DModel* mModel;
|
|
/* 0x578 */ u8 mMode;
|
|
/* 0x579 */ bool misCarrying;
|
|
/* 0x57C */ cXyz field_0x57c;
|
|
/* 0x588 */ u8 field_0x588[0x594 - 0x588];
|
|
/* 0x594 */ cXyz field_0x594;
|
|
/* 0x5A0 */ dBgS_ObjAcch mAcch;
|
|
/* 0x778 */ dBgS_AcchCir mAcchCir;
|
|
/* 0x7B8 */ dCcD_Stts mStts;
|
|
/* 0x7F4 */ dCcD_Sph mSph1;
|
|
/* 0x92C */ dCcD_Sph mSph2;
|
|
/* 0xA64 */ cXyz field_0xa64;
|
|
/* 0xA70 */ cXyz field_0xa70;
|
|
/* 0xA7C */ cXyz field_0xa7c;
|
|
/* 0xA88 */ cXyz field_0xa88;
|
|
/* 0xA94 */ cXyz field_0xa94;
|
|
/* 0xAA0 */ cXyz field_0xaa0;
|
|
/* 0xAAC */ u8 field_0xaac;
|
|
/* 0xAAD */ u8 field_0xaad;
|
|
/* 0xAAE */ u16 field_0xaae;
|
|
/* 0xAB0 */ u16 field_0xab0;
|
|
/* 0xAB4 */ cXyz field_0xab4;
|
|
/* 0xAC0 */ cXyz field_0xac0;
|
|
/* 0xACC */ cXyz field_0xacc;
|
|
/* 0xAD8 */ cXyz field_0xad8;
|
|
/* 0xAE4 */ u32 field_0xae4[2];
|
|
/* 0xAEC */ u32 field_0xaec[2];
|
|
/* 0xAF4 */ u8 field_0xaf4;
|
|
};
|
|
|
|
STATIC_ASSERT(sizeof(daWdStick_c) == 0xaf8);
|
|
|
|
class daWdStick_HIO_c : public mDoHIO_entry_c {
|
|
public:
|
|
/* 80D31B4C */ daWdStick_HIO_c();
|
|
/* 80D34030 */ virtual ~daWdStick_HIO_c() {}
|
|
|
|
void genMessage(JORMContext*);
|
|
|
|
/* 0x04 */ u8 field_0x04;
|
|
/* 0x05 */ u8 field_0x05;
|
|
/* 0x06 */ s16 field_0x06;
|
|
/* 0x08 */ u8 field_0x08;
|
|
};
|
|
|
|
|
|
#endif /* D_A_OBJ_WDSTICK_H */
|