Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 74 additions & 11 deletions include/d/actor/d_a_obj_lv8Lift.h
Original file line number Diff line number Diff line change
@@ -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"

/**
Expand All @@ -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();
Expand All @@ -41,21 +56,69 @@ class daL8Lift_c : public fopAc_ac_c {
/* 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;
};


Expand Down
Loading