mirror of
https://github.com/zeldaret/tp
synced 2026-07-08 22:44:44 -04:00
d_a_obj_lv1Candle01, d_a_obj_lv2Candle OK (#1978)
Co-authored-by: hatal175 <hatal175@users.noreply.github.com>
This commit is contained in:
@@ -485,6 +485,7 @@ public:
|
||||
void OffCoSPrmBit(u32 flag) { mObjCo.OffSPrmBit(flag); }
|
||||
void SetAtType(u32 type) { mObjAt.SetType(type); }
|
||||
void OnAtSetBit() { mObjAt.OnSPrmBit(1); }
|
||||
u32 MskTgSPrm(u32 mask) const { return mObjTg.MskSPrm(mask); }
|
||||
void SetAtAtp(int atp) { mObjAt.SetAtp(atp); }
|
||||
void OffCoSetBit() { mObjCo.ClrSet(); }
|
||||
void SetTgType(u32 type) { mObjTg.SetType(type); }
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "d/cc/d_cc_d.h"
|
||||
#include "m_Do/m_Do_hostIO.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class daLv1Cdl00_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
@@ -35,14 +34,14 @@ public:
|
||||
/* 0x574 */ dCcD_Stts mStts;
|
||||
/* 0x5B0 */ dCcD_Cyl mCyl;
|
||||
/* 0x6EC */ cXyz mTorchPos;
|
||||
/* 0x6F8 */ bool mIsOn;
|
||||
/* 0x6F9 */ u8 mSwitch;
|
||||
/* 0x6FA */ u8 mStartsOn;
|
||||
/* 0x6F8 */ bool mIsLit;
|
||||
/* 0x6F9 */ u8 mIsSwitch;
|
||||
/* 0x6FA */ u8 mSwType;
|
||||
/* 0x6FC */ cXyz mLightPos;
|
||||
/* 0x708 */ u8 field_0x708;
|
||||
/* 0x70C */ f32 field_0x70c;
|
||||
/* 0x708 */ u8 mLightType;
|
||||
/* 0x70C */ f32 mIntensity;
|
||||
/* 0x710 */ LIGHT_INFLUENCE mLight;
|
||||
/* 0x730 */ u8 field_0x730;
|
||||
/* 0x730 */ u8 mTgHit;
|
||||
/* 0x734 */ Z2SoundObjSimple mSound;
|
||||
|
||||
static dCcD_SrcGObjInf const mCcDObjInfo;
|
||||
|
||||
@@ -1,6 +1,51 @@
|
||||
#ifndef D_A_OBJ_LV1CANDLE01_H
|
||||
#define D_A_OBJ_LV1CANDLE01_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "SSystem/SComponent/c_phase.h"
|
||||
#include "d/bg/d_bg_s_movebg_actor.h"
|
||||
#include "d/cc/d_cc_d.h"
|
||||
#include "m_Do/m_Do_hostIO.h"
|
||||
|
||||
class daLv1Cdl01_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
/* 80C56CAC */ daLv1Cdl01_HIO_c();
|
||||
/* 80C5777C */ ~daLv1Cdl01_HIO_c() {}
|
||||
|
||||
/* 0x4 */ u8 field_0x4;
|
||||
/* 0x5 */ u8 field_0x5;
|
||||
};
|
||||
|
||||
class daLv1Cdl01_c : public dBgS_MoveBgActor {
|
||||
public:
|
||||
/* 80C56D20 */ void setBaseMtx();
|
||||
/* 80C56DA8 */ int CreateHeap();
|
||||
/* 80C56E14 */ cPhs__Step create();
|
||||
/* 80C570D8 */ void lightInit();
|
||||
/* 80C57164 */ void setLight();
|
||||
/* 80C57194 */ void cutLight();
|
||||
/* 80C571C4 */ void pointLightProc();
|
||||
/* 80C57274 */ int Execute(f32 (**)[3][4]);
|
||||
/* 80C575F4 */ int Draw();
|
||||
/* 80C57698 */ int Delete();
|
||||
|
||||
/* 0x5A0 */ request_of_phase_process_class mPhase;
|
||||
/* 0x5A8 */ J3DModel* mpModel;
|
||||
/* 0x5AC */ dCcD_Stts mStts;
|
||||
/* 0x5E8 */ dCcD_Cyl mCyl;
|
||||
/* 0x724 */ cXyz mTorchPos;
|
||||
/* 0x730 */ bool mIsLit;
|
||||
/* 0x731 */ u8 mTimer;
|
||||
/* 0x734 */ cXyz mLightPos;
|
||||
/* 0x740 */ u8 mLightType;
|
||||
/* 0x744 */ f32 mIntensity;
|
||||
/* 0x748 */ LIGHT_INFLUENCE mLight;
|
||||
/* 0x768 */ u8 mTgHit;
|
||||
/* 0x76C */ Z2SoundObjSimple mSound;
|
||||
|
||||
static dCcD_SrcGObjInf const mCcDObjInfo;
|
||||
static dCcD_SrcCyl mCcDCyl;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daLv1Cdl01_c) == 0x78C);
|
||||
|
||||
#endif /* D_A_OBJ_LV1CANDLE01_H */
|
||||
|
||||
@@ -1,6 +1,79 @@
|
||||
#ifndef D_A_OBJ_LV2CANDLE_H
|
||||
#define D_A_OBJ_LV2CANDLE_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "SSystem/SComponent/c_phase.h"
|
||||
#include "d/cc/d_cc_d.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "m_Do/m_Do_hostIO.h"
|
||||
#include "rel/d/a/obj/d_a_obj_lv4CandleTag/d_a_obj_lv4CandleTag.h"
|
||||
|
||||
class daLv2Candle_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
/* 8058E04C */ daLv2Candle_HIO_c();
|
||||
/* 8058F050 */ ~daLv2Candle_HIO_c() {}
|
||||
|
||||
/* 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;
|
||||
};
|
||||
|
||||
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); }
|
||||
|
||||
/* 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);
|
||||
|
||||
#endif /* D_A_OBJ_LV2CANDLE_H */
|
||||
|
||||
@@ -1,6 +1,72 @@
|
||||
#ifndef D_A_OBJ_LV4CANDLETAG_H
|
||||
#define D_A_OBJ_LV4CANDLETAG_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "d/event/d_event_lib.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "m_Do/m_Do_hostIO.h"
|
||||
|
||||
struct unknown {
|
||||
u8 unk[8];
|
||||
};
|
||||
|
||||
// dalv4CandleTag_c should inherit fopAc_ac_c, unknown, and dEvLib_callback_c
|
||||
// but this causes issues with weak function ordering
|
||||
class dalv4CandleTag_c : public fopAc_ac_c {
|
||||
public:
|
||||
enum Mode {
|
||||
MODE_WATCH,
|
||||
MODE_NG,
|
||||
MODE_NG_WAIT,
|
||||
MODE_END,
|
||||
};
|
||||
|
||||
// dalv4CandleTag_c() : dEvLib_callback_c(this) {}
|
||||
~dalv4CandleTag_c() {}
|
||||
|
||||
// These members are not real, remove once inheritance issue is resolved
|
||||
unknown mBase2;
|
||||
dEvLib_callback_c mBase3;
|
||||
void* mVtable;
|
||||
|
||||
/* 80C5D4B8 */ void setBaseMtx();
|
||||
/* 80C5D4F0 */ cPhs__Step create();
|
||||
/* 80C5D5D4 */ int Execute();
|
||||
/* 80C5D618 */ void procMain();
|
||||
/* 80C5D6D4 */ void init_modeWatch();
|
||||
/* 80C5D6E0 */ void modeWatch();
|
||||
/* 80C5D78C */ void init_modeNG();
|
||||
/* 80C5D814 */ void modeNG();
|
||||
/* 80C5D8A0 */ void init_modeNGWait();
|
||||
/* 80C5D8AC */ void modeNGWait();
|
||||
/* 80C5D8FC */ void init_modeEnd();
|
||||
/* 80C5D908 */ void modeEnd();
|
||||
/* 80C5D90C */ int eventStart();
|
||||
/* 80C5D930 */ int Draw();
|
||||
/* 80C5D938 */ int Delete();
|
||||
|
||||
u8 getSwTop() { return fopAcM_GetParamBit(this, 0, 8); }
|
||||
u8 getSwOK() { return fopAcM_GetParamBit(this, 8, 8); }
|
||||
u8 getSwNG() { return fopAcM_GetParamBit(this, 0x10, 8); }
|
||||
u8 getSwTotal() { return fopAcM_GetParamBit(this, 0x18, 8); }
|
||||
int getEventID() { return shape_angle.x & 0xff; }
|
||||
u8 getNGSwStat() { return i_fopAcM_isSwitch(this, mSwNG); }
|
||||
|
||||
/* 0x584 */ u8 mMode;
|
||||
/* 0x585 */ u8 mSwTop;
|
||||
/* 0x586 */ u8 mSwOK;
|
||||
/* 0x587 */ u8 mSwNG;
|
||||
/* 0x588 */ u8 mSwTotal;
|
||||
/* 0x589 */ u8 mTimer;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(dalv4CandleTag_c) == 0x58C);
|
||||
|
||||
class dalv4CandleTag_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
/* 80C5D44C */ dalv4CandleTag_HIO_c();
|
||||
/* 80C5D9C0 */ ~dalv4CandleTag_HIO_c() {}
|
||||
|
||||
u8 mTimer;
|
||||
};
|
||||
|
||||
#endif /* D_A_OBJ_LV4CANDLETAG_H */
|
||||
|
||||
Reference in New Issue
Block a user