summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorCarco_21 <144170194+carter-ktb21@users.noreply.github.com>2025-04-05 18:43:38 -0400
committerGitHub <noreply@github.com>2025-04-05 15:43:38 -0700
commit7f689a5cb8365b670044bdcfa9c17036555bdb45 (patch)
treefa7276a16d4535645dbdd412c3703f65184dd84d /include
parentd640fb8b9dd7cf99b8f118c760da63b0e3e57b89 (diff)
d_a_obj_lv8Lift almost matching (#2376)
* Initial Work * General work * d_a_obj_lv8Lift almost matching
Diffstat (limited to 'include')
-rw-r--r--include/d/actor/d_a_obj_lv8Lift.h85
1 files changed, 74 insertions, 11 deletions
diff --git a/include/d/actor/d_a_obj_lv8Lift.h b/include/d/actor/d_a_obj_lv8Lift.h
index a64d6c36da..33bbbd6dfc 100644
--- a/include/d/actor/d_a_obj_lv8Lift.h
+++ b/include/d/actor/d_a_obj_lv8Lift.h
@@ -1,6 +1,8 @@
#ifndef D_A_OBJ_LV8LIFT_H
#define D_A_OBJ_LV8LIFT_H
+#include "d/d_bg_s_acch.h"
+#include "d/d_bg_s_movebg_actor.h"
#include "f_op/f_op_actor_mng.h"
/**
@@ -11,14 +13,27 @@
* @details
*
*/
-class daL8Lift_c : public fopAc_ac_c {
+class daL8Lift_c : public dBgS_MoveBgActor {
public:
+ enum MODE_e {
+ MODE_ACC_e,
+ MODE_MOVE_e,
+ MODE_BRK_e,
+ MODE_WAIT_e,
+ MODE_WAIT_INIT_e,
+ MODE_ON_ANM_e,
+ MODE_MOVE_WAIT_e,
+ MODE_STOP_e,
+ MODE_INIT_SET_e,
+ MODE_INIT_SET2_e
+ };
+
/* 80C887D8 */ void setBaseMtx();
- /* 80C88860 */ void CreateHeap();
- /* 80C88928 */ void create();
+ /* 80C88860 */ int CreateHeap();
+ /* 80C88928 */ int create();
/* 80C88D6C */ void lightSet();
- /* 80C88DBC */ void rideCallBack(dBgW*, fopAc_ac_c*, fopAc_ac_c*);
- /* 80C88DD4 */ void Execute(f32 (**)[3][4]);
+ /* 80C88DBC */ static void rideCallBack(dBgW*, fopAc_ac_c*, fopAc_ac_c*);
+ /* 80C88DD4 */ int Execute(f32 (**)[3][4]);
/* 80C88E34 */ void moveLift();
/* 80C890B8 */ void modeAcc();
/* 80C89198 */ void init_modeMove();
@@ -41,21 +56,69 @@ public:
/* 80C89A58 */ void modeInitSet2();
/* 80C89A78 */ void liftReset();
/* 80C89ADC */ void setNextPoint();
- /* 80C89C10 */ void Draw();
- /* 80C89DC8 */ void Delete();
+ /* 80C89C10 */ int Draw();
+ /* 80C89DC8 */ int Delete();
+
+ u8 getPthID() { return fopAcM_GetParamBit(this, 0, 8); }
+ u8 getMoveSpeed() { return fopAcM_GetParamBit(this, 8, 4); }
+ int getSw() { return fopAcM_GetParamBit(this, 12, 8); }
- static u8 const mSpeed[64];
+ static f32 const mSpeed[16];
private:
- /* 0x568 */ u8 field_0x568[0x830 - 0x568];
+ /* 0x5A0 */ request_of_phase_process_class mPhase;
+ /* 0x5A8 */ J3DModel* mpModel;
+ /* 0x5AC */ mDoExt_btkAnm mBtk;
+ /* 0x5C4 */ u8 field_0x5c4;
+ /* 0x5C5 */ u8 field_0x5c5;
+ /* 0x5C6 */ u8 mPathID;
+ /* 0x5C7 */ s8 mPathDirection;
+ /* 0x5C8 */ s16 mCurrentPoint;
+ /* 0x5CA */ u8 field_0x5ca;
+ /* 0x5CB */ u8 field_0x5cb;
+ /* 0x5CC */ cXyz mTargetPos;
+ /* 0x5D8 */ cXyz mPrevTargetPos;
+ /* 0x5E4 */ f32 mMoveSpeed;
+ /* 0x5E8 */ u8 mMode;
+ /* 0x5E9 */ u8 mSwbit;
+ /* 0x5EA */ u8 mIsSwitch;
+ /* 0x5EB */ u8 field_0x5eb;
+ /* 0x5EC */ dBgS_AcchCir mAcchCir;
+ /* 0x62C */ dBgS_ObjAcch mAcch;
+ /* 0x804 */ u8 field_0x804;
+ /* 0x805 */ u8 field_0x805;
+ /* 0x806 */ u8 field_0x806;
+ /* 0x807 */ u8 field_0x807;
+ /* 0x808 */ u8 field_0x808;
+ /* 0x809 */ u8 mStopDisappearTimer;
+ /* 0x80A */ u8 mPlayerRide;
+ /* 0x80B */ u8 mPrevPlayerRide;
+ /* 0x80C */ u8 mNoRideOffSwTimer;
+ /* 0x80D */ u8 mLightSet;
+ /* 0x80E */ u8 field_0x80e;
+ /* 0x80F */ u8 field_0x80f;
+ /* 0x810 */ LIGHT_INFLUENCE mLight;
};
STATIC_ASSERT(sizeof(daL8Lift_c) == 0x830);
-class daL8Lift_HIO_c {
+class daL8Lift_HIO_c : public mDoHIO_entry_c {
public:
/* 80C8872C */ daL8Lift_HIO_c();
- /* 80C89EA4 */ ~daL8Lift_HIO_c();
+ /* 80C89EA4 */ virtual ~daL8Lift_HIO_c() {}
+
+ void genMessage(JORMContext*);
+
+ /* 0x04 */ u8 mStopDisappearTime;
+ /* 0x05 */ u8 mStartMoveTime;
+ /* 0x06 */ u8 mColorAnmFrame;
+ /* 0x07 */ u8 mColorR;
+ /* 0x08 */ u8 mColorG;
+ /* 0x09 */ u8 mColorB;
+ /* 0x0C */ f32 mLightRadius;
+ /* 0x10 */ u8 mLightColorR;
+ /* 0x11 */ u8 mLightColorG;
+ /* 0x12 */ u8 mLightColorB;
};