Files
dusklight/include/d/actor/d_a_obj_lv2Candle.h
T
LagoLunatic 0ff06d2974 Debug version now builds OK and all_source compiles (#2343)
* 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
2025-03-22 18:00:51 -07:00

90 lines
2.5 KiB
C++

#ifndef D_A_OBJ_LV2CANDLE_H
#define D_A_OBJ_LV2CANDLE_H
#include "d/d_cc_d.h"
#include "m_Do/m_Do_hostIO.h"
#include "d/actor/d_a_obj_lv4CandleTag.h"
/**
* @ingroup actors-objects
* @class daLv2Candle_c
* @brief Goron Mines Torch
*
* @details
*
*/
class daLv2Candle_c : public fopAc_ac_c {
public:
/* 8058E13C */ void setBaseMtx();
/* 8058E1C4 */ int CreateHeap();
/* 8058E244 */ cPhs__Step create();
/* 8058E5BC */ u8 isSwitch();
/* 8058E608 */ static int createHeapCallBack(fopAc_ac_c*);
/* 8058E628 */ static void* searchDemoTagAct(void*, void*);
/* 8058E678 */ void lightInit();
/* 8058E720 */ void setLight();
/* 8058E750 */ void cutLight();
/* 8058E780 */ void pointLightProc();
/* 8058E99C */ int Execute();
/* 8058EEC8 */ int Draw();
/* 8058EF6C */ int Delete();
int getOffType() { return fopAcM_GetParamBit(this, 0x18, 4); }
u8 getModelType() { return fopAcM_GetParamBit(this, 0x14, 4); }
u8 getLightAnm() { return fopAcM_GetParamBit(this, 0x10, 4); }
u8 getLightType() { return fopAcM_GetParamBit(this, 0xc, 4); }
u8 getSwType() { return fopAcM_GetParamBit(this, 8, 4); }
u8 getSw() { return fopAcM_GetParamBit(this, 0, 8); }
private:
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ J3DModel* mpModel;
/* 0x574 */ dCcD_Stts mStts;
/* 0x5B0 */ dCcD_Cyl mCyl;
/* 0x6EC */ cXyz mTorchPos;
/* 0x6F8 */ u8 mSw;
/* 0x6F9 */ bool mIsLit;
/* 0x6FA */ u8 mIsSwitch;
/* 0x6FB */ u8 mTimer;
/* 0x6FC */ u8 mSwType;
/* 0x6FD */ u8 mModelType;
/* 0x6FE */ u8 mLightAnm;
/* 0x700 */ cXyz mLightPos;
/* 0x70C */ u8 mLightType;
/* 0x70D */ u8 mAnmTimer;
/* 0x70E */ u8 mAnmStage;
/* 0x710 */ f32 mIntensity;
/* 0x714 */ LIGHT_INFLUENCE mLight;
/* 0x734 */ dalv4CandleTag_c* field_0x734;
/* 0x738 */ u8 mTgHit;
/* 0x73C */ Z2SoundObjSimple mSound;
static dCcD_SrcGObjInf const mCcDObjInfo;
static dCcD_SrcCyl mCcDCyl;
};
STATIC_ASSERT(sizeof(daLv2Candle_c) == 0x75C);
class daLv2Candle_HIO_c : public mDoHIO_entry_c {
public:
/* 8058E04C */ daLv2Candle_HIO_c();
/* 8058F050 */ ~daLv2Candle_HIO_c() {}
void genMessage(JORMContext*);
/* 0x04 */ u8 mTimer;
/* 0x08 */ f32 mPow;
/* 0x0C */ f32 mAnmMaxStep;
/* 0x10 */ f32 mAnmIntensity[6];
/* 0x28 */ u8 mAnmTimers[6];
/* 0x2E */ u8 mColor1R;
/* 0x2F */ u8 mColor1G;
/* 0x30 */ u8 mColor1B;
/* 0x31 */ u8 mColor2R;
/* 0x32 */ u8 mColor2G;
/* 0x33 */ u8 mColor2B;
};
#endif /* D_A_OBJ_LV2CANDLE_H */