mirror of
https://github.com/zeldaret/tww.git
synced 2026-08-04 17:09:45 -04:00
5063d3433c
* zeldaret/tww#385 d_a_obj_drift * configure changes * GZLJ01 * D44J01 * Not matching D44J01 * demo support * variable cleanup * revert new helper * revert again * Attempt 2 * Try to fix non-deterministic issue * Revert tide fix * debug mapping * more map fixes * Update src/d/actor/d_a_obj_drift.cpp Co-authored-by: LagoLunatic <LagoLunatic@users.noreply.github.com> * review comments --------- Co-authored-by: LagoLunatic <LagoLunatic@users.noreply.github.com>
84 lines
2.4 KiB
C++
84 lines
2.4 KiB
C++
#ifndef D_A_OBJ_DRIFT_H
|
|
#define D_A_OBJ_DRIFT_H
|
|
|
|
#include "SSystem/SComponent/c_xyz.h"
|
|
#include "d/d_bg_s_movebg_actor.h"
|
|
#include "dolphin/types.h"
|
|
#include "f_op/f_op_actor.h"
|
|
#include "d/d_bg_w.h"
|
|
|
|
namespace daObjDrift {
|
|
class Act_c : public dBgS_MoveBgActor {
|
|
public:
|
|
enum Mode {
|
|
MODE_WAIT = 0x0,
|
|
MODE_ROT = 0x1,
|
|
};
|
|
|
|
enum Prm_e {
|
|
PRM_TYPE_W = 3,
|
|
PRM_TYPE_S = 0,
|
|
};
|
|
|
|
int prm_get_type() const {
|
|
return daObj::PrmAbstract(this, PRM_TYPE_W, PRM_TYPE_S);
|
|
}
|
|
|
|
virtual BOOL CreateHeap();
|
|
virtual BOOL Create();
|
|
cPhs_State Mthd_Create();
|
|
void make_flower();
|
|
void calc_flower_param(cXyz*, csXyz*);
|
|
void set_flower_current();
|
|
virtual BOOL Delete();
|
|
BOOL Mthd_Delete();
|
|
void mode_wait_init();
|
|
void mode_wait();
|
|
void mode_rot_init();
|
|
void mode_rot();
|
|
void set_mtx();
|
|
void init_mtx();
|
|
static void rideCB(dBgW*, fopAc_ac_c*, fopAc_ac_c*);
|
|
void set_current();
|
|
virtual BOOL Execute(Mtx**);
|
|
virtual BOOL Draw();
|
|
|
|
static const char M_arcname[];
|
|
static const dCcD_SrcCyl M_cyl_src;
|
|
|
|
public:
|
|
/* 0x2C8 */ request_of_phase_process_class mPhase;
|
|
/* 0x2D0 */ J3DModel* mModel;
|
|
/* 0x2D4 */ dCcD_Stts mStts;
|
|
/* 0x310 */ dCcD_Cyl mCyl;
|
|
/* 0x440 */ int mType;
|
|
/* 0x444 */ Mtx mMtx;
|
|
/* 0x474 */ fpc_ProcID mFlowerPid;
|
|
/* 0x478 */ s32 mMode;
|
|
/* 0x47C */ f32 mRideYOff;
|
|
/* 0x480 */ f32 mTiltTargetZ;
|
|
/* 0x484 */ f32 mTiltTargetX;
|
|
/* 0x488 */ f32 mTiltVelZ;
|
|
/* 0x48C */ f32 mTiltVelX;
|
|
/* 0x490 */ f32 mTiltZ;
|
|
/* 0x494 */ f32 mTiltX;
|
|
/* 0x498 */ s16 mWavePhaseX;
|
|
/* 0x49A */ s16 mWavePhaseY;
|
|
/* 0x49C */ s16 mWavePhaseZ;
|
|
/* 0x49E */ bool mRideFlag;
|
|
/* 0x49F */ u8 field_0x49F;
|
|
/* 0x4A0 */ s16 mTargetAngleY;
|
|
/* 0x4A2 */ s16 mAngleChaseY;
|
|
/* 0x4A4 */ cXyz mHitDir;
|
|
/* 0x4B0 */ cXyz field_0x4B0;
|
|
/* 0x4BC */ cXyz mPrevPos;
|
|
/* 0x4C8 */ f32 field_0x4C8;
|
|
/* 0x4CC */ f32 field_0x4CC;
|
|
/* 0x4D0 */ f32 field_0x4D0;
|
|
/* 0x4D4 */ f32 field_0x4D4;
|
|
/* 0x4D8 */ f32 mRotTimer;
|
|
};
|
|
};
|
|
|
|
#endif /* D_A_OBJ_DRIFT_H */
|