mirror of
https://github.com/zeldaret/tp
synced 2026-06-18 15:36:07 -04:00
4dc0cd9d09
* 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
95 lines
2.6 KiB
C++
95 lines
2.6 KiB
C++
#ifndef D_A_OBJ_ONSENTARU_H
|
|
#define D_A_OBJ_ONSENTARU_H
|
|
|
|
#include "f_op/f_op_actor_mng.h"
|
|
#include "d/d_bg_s_acch.h"
|
|
#include "d/d_cc_d.h"
|
|
|
|
/**
|
|
* @ingroup actors-objects
|
|
* @class daOnsTaru_c
|
|
* @brief Hotspring Water Barrel
|
|
*
|
|
* @details
|
|
*
|
|
*/
|
|
class daOnsTaru_c : public fopAc_ac_c {
|
|
public:
|
|
enum MODE_e {
|
|
MODE_WAIT_e,
|
|
MODE_CARRY_e,
|
|
MODE_DROP_e,
|
|
MODE_BREAK_e,
|
|
MODE_SINK_e,
|
|
};
|
|
|
|
/* 80CA86C0 */ void setBaseMtx();
|
|
/* 80CA87B4 */ int create();
|
|
/* 80CA8C20 */ static int createHeapCallBack(fopAc_ac_c*);
|
|
/* 80CA8C4C */ BOOL chkSinkAll();
|
|
/* 80CA8C70 */ BOOL chkWaterLineIn();
|
|
/* 80CA8C94 */ void bgCheck();
|
|
/* 80CA9184 */ void mode_proc_call();
|
|
/* 80CA929C */ void mode_init_wait();
|
|
/* 80CA92CC */ void mode_proc_wait();
|
|
/* 80CA92F0 */ void mode_init_carry();
|
|
/* 80CA9320 */ void mode_proc_carry();
|
|
/* 80CA93C0 */ void mode_init_drop();
|
|
/* 80CA9400 */ void mode_proc_drop();
|
|
/* 80CA9424 */ void mode_init_break();
|
|
/* 80CA9514 */ void mode_proc_break();
|
|
/* 80CA9518 */ void mode_init_sink();
|
|
/* 80CA9530 */ void mode_proc_sink();
|
|
/* 80CA9620 */ void breakEffSet();
|
|
|
|
/* 80CA8748 */ virtual int CreateHeap();
|
|
/* 80CA8F38 */ virtual int Execute();
|
|
/* 80CA98B8 */ virtual int Draw();
|
|
/* 80CA995C */ virtual int Delete();
|
|
|
|
int getSw() { return fopAcM_GetParamBit(this, 0, 8); }
|
|
int getSw2() { return fopAcM_GetParamBit(this, 8, 8); }
|
|
|
|
static dCcD_SrcGObjInf const mCcDObjInfo;
|
|
static dCcD_SrcCyl mCcDCyl;
|
|
|
|
/* 0x56C */ request_of_phase_process_class mPhase;
|
|
/* 0x574 */ J3DModel* mpModel;
|
|
/* 0x578 */ u8 mMode;
|
|
/* 0x579 */ bool mIsCarryNow;
|
|
/* 0x57C */ cXyz mGrabOffset;
|
|
/* 0x588 */ cXyz mPrevPos;
|
|
/* 0x594 */ cXyz field_0x594;
|
|
/* 0x5A0 */ u8 mInWater;
|
|
/* 0x5A4 */ dBgS_ObjAcch mAcch;
|
|
/* 0x77C */ dBgS_AcchCir mAcchCir;
|
|
/* 0x7BC */ dCcD_Stts mCcStts;
|
|
/* 0x7F8 */ dCcD_Cyl mCcCyl;
|
|
/* 0x934 */ s16 mTimer;
|
|
/* 0x936 */ bool mStartTimer;
|
|
/* 0x938 */ u32 mHamonEmtrID;
|
|
/* 0x93C */ u8 field_0x93c;
|
|
/* 0x93D */ u8 mTempStat;
|
|
/* 0x93E */ u8 field_0x93e;
|
|
/* 0x93F */ u8 field_0x93F[0x944 - 0x93F];
|
|
/* 0x944 */ f32 mCollisionRadius;
|
|
};
|
|
|
|
STATIC_ASSERT(sizeof(daOnsTaru_c) == 0x948);
|
|
|
|
class daOnsTaru_HIO_c : public fOpAcm_HIO_entry_c {
|
|
public:
|
|
/* 80CA85CC */ daOnsTaru_HIO_c();
|
|
/* 80CA9A78 */ virtual ~daOnsTaru_HIO_c() {}
|
|
|
|
void genMessage(JORMContext*);
|
|
|
|
/* 0x04 */ s16 mCoolTime;
|
|
/* 0x06 */ u8 mVibration;
|
|
/* 0x08 */ f32 mSmokeScale;
|
|
/* 0x0C */ f32 mCollisionRadius;
|
|
};
|
|
|
|
|
|
#endif /* D_A_OBJ_ONSENTARU_H */
|