mirror of
https://github.com/zeldaret/tp
synced 2026-05-23 15:01:53 -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
104 lines
3.0 KiB
C++
104 lines
3.0 KiB
C++
#ifndef D_A_OBJ_DROP_H
|
|
#define D_A_OBJ_DROP_H
|
|
|
|
#include "f_op/f_op_actor_mng.h"
|
|
#include "d/d_particle.h"
|
|
#include "d/d_cc_d.h"
|
|
#include "d/d_bg_s_acch.h"
|
|
|
|
/**
|
|
* @ingroup actors-objects
|
|
* @class daObjDrop_c
|
|
* @brief Tear of Light
|
|
*
|
|
* @details
|
|
*
|
|
*/
|
|
class daObjDrop_c : public fopAc_ac_c {
|
|
public:
|
|
enum MODE_e {
|
|
MODE_INIT_e,
|
|
MODE_PARENT_WAIT_e,
|
|
MODE_NO_PARENT_e,
|
|
MODE_WAIT_e,
|
|
};
|
|
|
|
enum DEMOMODE_e {
|
|
DEMOMODE_COMPLETE_WAIT_e,
|
|
DEMOMODE_ORDER_COMPLETE_DEMO_e,
|
|
DEMOMODE_COMPLETE_DEMO_e,
|
|
DEMOMODE_WAIT_COMPLETE_GET_DEMO_e,
|
|
DEMOMODE_COMPLETE_GET_DEMO_e,
|
|
};
|
|
|
|
/* 80BDFD8C */ int Create();
|
|
/* 80BDFE58 */ int create();
|
|
/* 80BE0358 */ void dropGet();
|
|
/* 80BE0430 */ BOOL checkGetArea();
|
|
/* 80BE05DC */ void checkCompleteDemo();
|
|
/* 80BE0658 */ void createLineEffect();
|
|
/* 80BE071C */ void removeLineEffect();
|
|
/* 80BE077C */ void createBodyEffect();
|
|
/* 80BE0840 */ void removeBodyEffect();
|
|
/* 80BE08A0 */ int modeInit();
|
|
/* 80BE0994 */ int modeNoParent();
|
|
/* 80BE09F4 */ int modeParentWait();
|
|
/* 80BE0C08 */ int modeWait();
|
|
/* 80BE1928 */ int actionCompleteWait();
|
|
/* 80BE1930 */ int actionOrderCompleteDemo();
|
|
/* 80BE19D0 */ int actionCompleateDemo();
|
|
/* 80BE1ACC */ int actionWaitCompleteGetDemo();
|
|
/* 80BE1B5C */ int actionCompleteGetDemo();
|
|
/* 80BE1BC4 */ int execute();
|
|
/* 80BE1DCC */ int _delete();
|
|
|
|
u8 getYmSwbit() { return fopAcM_GetParamBit(this, 8, 8); }
|
|
u8 getSave() { return fopAcM_GetParamBit(this, 0, 6); }
|
|
|
|
void setDemoMode(u8 i_mode) { mDemoMode = i_mode; }
|
|
void setMode(u8 i_mode) { mMode = i_mode; }
|
|
u8 chkDemoMode() { return mDemoMode; }
|
|
|
|
/* 0x568 */ cXyz mLinePos[3];
|
|
/* 0x58C */ cXyz mLineMovePos[3];
|
|
/* 0x5B0 */ csXyz mTargetAngle[3];
|
|
/* 0x5C2 */ s16 mTargetRelAngle[3];
|
|
/* 0x5C8 */ u8 mLineIsCross[3];
|
|
/* 0x5CC */ JPABaseEmitter* mpLineEffEmtrs[3];
|
|
/* 0x5D8 */ dPa_followEcallBack mLineEffCallbacks[3];
|
|
/* 0x614 */ JPABaseEmitter* mpBodyEffEmtrs[6];
|
|
/* 0x62C */ dPa_followEcallBack mBodyEffCallbacks[6];
|
|
/* 0x6A4 */ int mCounter;
|
|
/* 0x6A8 */ fpc_ProcID mPtI_Id;
|
|
/* 0x6AC */ u32 field_0x6ac;
|
|
/* 0x6B0 */ u8 mMode;
|
|
/* 0x6B1 */ s8 mModeTimer;
|
|
/* 0x6B2 */ u8 mModeAction;
|
|
/* 0x6B3 */ u8 field_0x6B3[0x6B5 - 0x6B3];
|
|
/* 0x6B5 */ u8 mDeleteTimer;
|
|
/* 0x6B6 */ u8 mDrawInTimer;
|
|
/* 0x6B7 */ u8 field_0x6b7;
|
|
/* 0x6B8 */ u8 mAppear;
|
|
/* 0x6B9 */ u8 mSetCollectDrop;
|
|
/* 0x6BA */ u8 mDemoMode;
|
|
/* 0x6BB */ u8 mFadeoutTimer;
|
|
/* 0x6BC */ u8 field_0x6bc;
|
|
/* 0x6C0 */ Z2SoundObjSimple mSound;
|
|
/* 0x6E0 */ dBgS_AcchCir mAcchCir;
|
|
/* 0x720 */ dBgS_ObjAcch mAcch;
|
|
/* 0x8F8 */ dCcD_Stts mCcStts;
|
|
/* 0x934 */ dCcD_Sph mCcSph;
|
|
/* 0xA6C */ cXyz mTargetPos;
|
|
/* 0xA78 */ u8 field_0xa78[0xA7C - 0xA78];
|
|
};
|
|
|
|
STATIC_ASSERT(sizeof(daObjDrop_c) == 0xa7c);
|
|
|
|
class daObjDrop_HIO_c {
|
|
public:
|
|
u8 pad[0x17];
|
|
/* 0x17 */ u8 field_0x17;
|
|
};
|
|
|
|
#endif /* D_A_OBJ_DROP_H */
|