d_a_fan kinda

This commit is contained in:
Jasper St. Pierre
2023-11-28 20:34:31 -08:00
parent a6a1801189
commit 2551f09ba2
5 changed files with 326 additions and 42 deletions
+46 -9
View File
@@ -1,22 +1,59 @@
#ifndef D_A_FAN_H
#define D_A_FAN_H
#include "f_op/f_op_actor.h"
#include "d/d_bg_s_movebg_actor.h"
#include "d/d_cc_d.h"
#include "m_Do/m_Do_ext.h"
class daFan_c : public fopAc_ac_c {
class daFan_c : public dBgS_MoveBgActor {
public:
BOOL Delete();
void CreateHeap();
s32 Create();
s32 _create();
BOOL Delete();
int CreateHeap();
int Create();
void set_mtx();
void set_wind_length(float);
void set_cps(float);
void Execute(float(**)[3][4]);
void set_wind_length(f32);
void set_cps(f32);
int Execute(Mtx**);
BOOL Draw();
public:
/* Place member variables here */
/* 0x2C8 */ request_of_phase_process_class mPhs;
/* 0x2D0 */ request_of_phase_process_class mWindPhs;
/* 0x2D8 */ J3DModel* mModel;
/* 0x2DC */ dCcD_Stts mStts;
/* 0x318 */ dCcD_Cps mCps;
/* 0x450 */ u32 field_0x450[13];
/* 0x484 */ mDoExt_btkAnm mBtkAnm;
/* 0x498 */ u32 mSwitchNo;
/* 0x49C */ u8 mType;
/* 0x4A0 */ cM3dGCpsS mCpsS;
/* 0x4BC */ s16 mFanAngle;
/* 0x4BE */ s16 mFanSpeed;
/* 0x4C0 */ u32 field_0x4c0;
/* 0x4C4 */ J3DModel* mWindModel;
/* 0x4C8 */ mDoExt_btkAnm mWindBtkAnm0;
/* 0x4C8 */ mDoExt_btkAnm mWindBtkAnm1;
/* 0x4C8 */ mDoExt_bckAnm mWindBckAnm;
/* 0x500 */ cXyz mWindScale;
/* 0x50C */ u32 mWindSePId;
static const char* m_arcname[3];
static const char m_arcname2[8];
static const s16 m_bdlidx[3];
static const s16 m_dzbidx[3];
static const f32 m_wind_length[3];
static const f32 m_wind_r[3];
static const Vec m_wind_model_scale[3];
static const s16 m_fan_speed[3];
static const u32 m_heapsize[3];
static const Vec m_cull_min[3];
static const Vec m_cull_max[3];
};
namespace daFan_prm {
inline u8 getType(daFan_c* ac) { return (fopAcM_GetParam(ac) >> 8) & 0x03; }
inline u8 getSwitchNo(daFan_c* ac) { return (fopAcM_GetParam(ac) >> 0) & 0xFF; }
};
#endif /* D_A_FAN_H */
+23
View File
@@ -0,0 +1,23 @@
#ifndef D_LEVEL_SE_H
#define D_LEVEL_SE_H
#include "f_op/f_op_kankyo.h"
#include "SSystem/SComponent/c_lib.h"
class dLevelSe_c : public kankyo_class {
public:
/* 0xF8 */ u32 field_0xf8;
/* 0xFC */ s8 mReverb;
/* 0xFD */ u8 mFlag;
/* 0xFE */ u8 field_0xfe;
/* 0xFF */ u8 field_0xff;
public:
inline void setReverb(u32 value, s8 reverb) {
field_0xf8 = value;
mReverb = reverb;
cLib_onBit(mFlag, (u8)4);
}
};
#endif /* D_LEVEL_SE_H */
+3
View File
@@ -4,6 +4,8 @@
#include "SSystem/SComponent/c_xyz.h"
#include "f_pc/f_pc_manager.h"
class kankyo_class;
struct fopKyM_prm_class {
/* 0x00 */ cXyz mPos;
/* 0x0C */ cXyz mScale;
@@ -15,6 +17,7 @@ typedef int (*fopKyM_CreateFunc)(void*);
void fopKyM_Delete(void* param_1);
int fopKyM_Create(s16 param_1, fopKyM_CreateFunc param_2, void* param_3);
int fopKyM_create(s16 i_procName, int i_param, cXyz* i_pos, cXyz* i_scale, fopKyM_CreateFunc i_createFunc);
kankyo_class* fopKyM_SearchByID(unsigned int id);
base_process_class* fopKyM_fastCreate(s16 param_0, int param_1, cXyz* param_2, cXyz* param_3,
fopKyM_CreateFunc);
int fopKyM_createWpillar(cXyz const* i_pos, f32 scaleXZ, f32 scaleY, int i_param);