mirror of
https://github.com/zeldaret/tp
synced 2026-05-26 23:47:46 -04:00
d_envse mostly OK. more work on kankyo_rain (#1969)
* d_envse OK, work on kankyo_rain * remove asm
This commit is contained in:
@@ -19,7 +19,6 @@ public:
|
||||
const cXyz& GetPointP() { return m_pos; }
|
||||
u32 GetWallPrecheck() const { return mWallPrecheck; }
|
||||
|
||||
private:
|
||||
/* 0x24 */ cXyz m_pos;
|
||||
/* 0x30 */ u32 mFlags;
|
||||
/* 0x34 */ f32 mNowY;
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "MSL_C/math.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "dolphin/mtx/vec.h"
|
||||
|
||||
class cM3dGAab;
|
||||
class cM3dGCps;
|
||||
@@ -95,4 +96,8 @@ inline bool cM3d_IsZero_inverted(f32 param_0) {
|
||||
return !(fabsf(param_0) < G_CM3D_F_ABS_MIN);
|
||||
}
|
||||
|
||||
inline f32 cM3d_LenSq(const Vec* a, const Vec* b) {
|
||||
return VECSquareDistance(a, b);
|
||||
}
|
||||
|
||||
#endif
|
||||
@@ -20,6 +20,8 @@ public:
|
||||
void CalcPos(Vec*, f32) const;
|
||||
void CalcVec(Vec* pOut) const { VECSubtract(&this->mEnd, &this->mStart, pOut); }
|
||||
void SetEnd(const cXyz&);
|
||||
|
||||
void set(const Vec& i_start, const Vec& i_end) { SetStartEnd(i_start, i_end); }
|
||||
const cXyz& GetStartP(void) const { return mStart; }
|
||||
cXyz& GetStartP(void) { return mStart; }
|
||||
const cXyz& GetEndP(void) const { return mEnd; }
|
||||
|
||||
@@ -80,6 +80,11 @@ struct Z2EnvSeMgr : public JASGlobalInstance<Z2EnvSeMgr> {
|
||||
/* 802CA794 */ void startLv3WaterSe(s8);
|
||||
|
||||
void setWindType(u8 i_type) { mWindType = i_type; }
|
||||
void registSmellSePos(Vec* param_0) { registEtcSePos(param_0); }
|
||||
void startSmellSe(s8 param_0) { startEtcSe(param_0); }
|
||||
void initSmellSe(u8 param_0, u8 param_1, u8 param_2, u8 param_3) {
|
||||
initEtcSe(param_0, param_1, param_2, param_3);
|
||||
}
|
||||
|
||||
/* 0x000 */ Z2EnvSeAutoPan field_0x0;
|
||||
/* 0x01C */ Z2EnvSeAutoPan field_0x1c;
|
||||
|
||||
@@ -11,7 +11,7 @@ struct dBgPc;
|
||||
struct dBgS_CaptPoly;
|
||||
|
||||
struct KC_PrismData {
|
||||
/* 0x0 */ f32 field_0x0;
|
||||
/* 0x0 */ u16 field_0x0[2];
|
||||
/* 0x4 */ u16 field_0x4;
|
||||
/* 0x6 */ u16 field_0x6;
|
||||
/* 0x8 */ u16 field_0x8;
|
||||
@@ -27,8 +27,12 @@ struct pkcdata {
|
||||
/* 0x0C */ KC_PrismData* m_block_data;
|
||||
/* 0x10 */ u8 field_0x10[4];
|
||||
/* 0x14 */ Vec m_area_min_pos;
|
||||
/* 0x20 */ u8 field_0x20[4];
|
||||
/* 0x20 */ u32 field_0x20;
|
||||
/* 0x24 */ u32 field_0x24;
|
||||
/* 0x28 */ u32 field_0x28;
|
||||
/* 0x2C */ u32 field_0x2c;
|
||||
/* 0x30 */ u32 field_0x30;
|
||||
/* 0x34 */ u32 field_0x34;
|
||||
};
|
||||
|
||||
struct KCol_Header {
|
||||
|
||||
@@ -322,7 +322,7 @@ public:
|
||||
/* 80181560 */ void ForceLockOff(unsigned int);
|
||||
/* 8018159C */ void ForceLockOff(fopAc_ac_c*);
|
||||
/* 80181E20 */ void Up();
|
||||
/* 80181E64 */ void Eye();
|
||||
/* 80181E64 */ cXyz Eye();
|
||||
/* 80181E98 */ cXyz Center();
|
||||
/* 8018295C */ void footHeightOf(fopAc_ac_c*);
|
||||
/* 80182964 */ void push_any_key();
|
||||
|
||||
+18
-1
@@ -1,6 +1,23 @@
|
||||
#ifndef D_D_ENVSE_H
|
||||
#define D_D_ENVSE_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_kankyo.h"
|
||||
|
||||
class dStage_SoundInfo_c;
|
||||
|
||||
class dEnvSe_c : public kankyo_class {
|
||||
public:
|
||||
/* 80182FD8 */ int execute_common(dStage_SoundInfo_c*, s8*, u8);
|
||||
/* 80183480 */ int execute();
|
||||
|
||||
/* 0x0F8 */ u8 field_0xf8[0x0FC - 0x0F8];
|
||||
/* 0x0FC */ s8 field_0xfc;
|
||||
/* 0x0FD */ s8 field_0xfd;
|
||||
/* 0x0FE */ s8 field_0xfe;
|
||||
/* 0x0FF */ s8 field_0xff;
|
||||
/* 0x100 */ u8 field_0x100[0x104 - 0x100];
|
||||
/* 0x104 */ int mRoomNo;
|
||||
/* 0x108 */ int field_0x108;
|
||||
};
|
||||
|
||||
#endif /* D_D_ENVSE_H */
|
||||
|
||||
+2
-1
@@ -19,7 +19,8 @@ struct dPath {
|
||||
inline int dPath_ChkClose(dPath* i_path) { return (i_path->m_closed & 1); }
|
||||
|
||||
dPath* dPath_GetRoomPath(int path_index, int room_no);
|
||||
dStage_dPnt_c* dPath_GetPnt(dPath const* path, int pnt_index);
|
||||
dPath* dPath_GetNextRoomPath(dPath const* i_path, int room_no);
|
||||
dStage_dPnt_c* dPath_GetPnt(dPath const* i_path, int pnt_index);
|
||||
u8 dPath_GetPolyRoomPathVec(cBgS_PolyInfo const& poly, cXyz* p_pathVec, int* param_2);
|
||||
|
||||
#endif /* D_D_PATH_H */
|
||||
|
||||
+2
-2
@@ -270,8 +270,8 @@ struct stage_sound_data {
|
||||
|
||||
struct dStage_SoundInfo_c {
|
||||
// SOND
|
||||
/* 0x0 */ int field_0x0;
|
||||
/* 0x4 */ stage_sound_data* field_0x4;
|
||||
/* 0x0 */ int num;
|
||||
/* 0x4 */ stage_sound_data* entries;
|
||||
};
|
||||
|
||||
class dStage_FileList_dt_c {
|
||||
|
||||
@@ -122,7 +122,7 @@ struct SNOW_EFF {
|
||||
/* 80056D58 */ ~SNOW_EFF();
|
||||
/* 80056D94 */ SNOW_EFF();
|
||||
|
||||
/* 0x00 */ u8 mStatus;
|
||||
/* 0x00 */ s8 mStatus;
|
||||
/* 0x04 */ cXyz mPosition;
|
||||
/* 0x10 */ cXyz mBasePos;
|
||||
/* 0x1C */ f32 mPosWaveX;
|
||||
@@ -130,7 +130,7 @@ struct SNOW_EFF {
|
||||
/* 0x24 */ f32 mGravity;
|
||||
/* 0x28 */ f32 mWindSpeed;
|
||||
/* 0x2C */ f32 mScale;
|
||||
/* 0x30 */ u8 field_0x30[4];
|
||||
/* 0x30 */ f32 field_0x30;
|
||||
/* 0x34 */ s16 mTimer;
|
||||
}; // Size: 0x38
|
||||
|
||||
@@ -144,7 +144,7 @@ public:
|
||||
/* 0x6D74 */ cXyz field_0x6d74;
|
||||
/* 0x6D80 */ f32 field_0x6d80;
|
||||
/* 0x6D84 */ f32 field_0x6d84;
|
||||
/* 0x6D88 */ u16 field_0x6d88;
|
||||
/* 0x6D88 */ s16 field_0x6d88;
|
||||
/* 0x6D8A */ u16 field_0x6d8a;
|
||||
/* 0x6D8C */ u32 field_0x6d8c;
|
||||
/* 0x6D90 */ u8 field_0x6d90;
|
||||
@@ -264,7 +264,10 @@ struct EF_ODOUR_EFF {
|
||||
/* 0x00 */ u8 mStatus;
|
||||
/* 0x04 */ cXyz mPosition;
|
||||
/* 0x10 */ cXyz mBasePos;
|
||||
/* 0x1C */ u8 field_0x1c[0x14];
|
||||
/* 0x1C */ u8 field_0x1c[0x24 - 0x1C];
|
||||
/* 0x24 */ f32 field_0x24;
|
||||
/* 0x28 */ f32 field_0x28;
|
||||
/* 0x2C */ f32 field_0x2c;
|
||||
}; // Size: 0x30
|
||||
|
||||
class dKankyo_odour_Packet : public J3DPacket {
|
||||
|
||||
@@ -153,4 +153,64 @@ inline void mDoAud_mEnvse_setWindType(u8 i_type) {
|
||||
g_mEnvSeMgr.setWindType(i_type);
|
||||
}
|
||||
|
||||
inline void mDoAud_mEnvse_initStaticEnvSe(u8 param_0, u8 param_1, u8 param_2, u8 param_3, const Vec* param_4) {
|
||||
g_mEnvSeMgr.initStaticEnvSe(param_0, param_1, param_2, param_3, (Vec*)param_4);
|
||||
}
|
||||
|
||||
inline void mDoAud_mEnvse_startStaticEnvSe(s8 i_reverb) {
|
||||
g_mEnvSeMgr.startStaticEnvSe(i_reverb);
|
||||
}
|
||||
|
||||
inline void mDoAud_mEnvse_initRiverSe(u8 param_0, u8 param_1, u8 param_2, u8 param_3) {
|
||||
g_mEnvSeMgr.initRiverSe(param_0, param_1, param_2, param_3);
|
||||
}
|
||||
|
||||
inline void mDoAud_mEnvse_registRiverSePos(const Vec* i_pos) {
|
||||
g_mEnvSeMgr.registRiverSePos((Vec*)i_pos);
|
||||
}
|
||||
|
||||
inline void mDoAud_mEnvse_startRiverSe(s8 i_reverb) {
|
||||
g_mEnvSeMgr.startRiverSe(i_reverb);
|
||||
}
|
||||
|
||||
inline void mDoAud_mEnvse_initFallSe(u8 param_0, u8 param_1, u8 param_2, u8 param_3) {
|
||||
g_mEnvSeMgr.initFallSe(param_0, param_1, param_2, param_3);
|
||||
}
|
||||
|
||||
inline void mDoAud_mEnvse_registFallSePos(const Vec* i_pos) {
|
||||
g_mEnvSeMgr.registFallSePos((Vec*)i_pos);
|
||||
}
|
||||
|
||||
inline void mDoAud_mEnvse_startFallSe(s8 i_reverb) {
|
||||
g_mEnvSeMgr.startFallSe(i_reverb);
|
||||
}
|
||||
|
||||
inline void mDoAud_mEnvse_initSmellSe(u8 param_0, u8 param_1, u8 param_2, u8 param_3) {
|
||||
g_mEnvSeMgr.initSmellSe(param_0, param_1, param_2, param_3);
|
||||
}
|
||||
|
||||
inline void mDoAud_mEnvse_registSmellSePos(const Vec* i_pos) {
|
||||
g_mEnvSeMgr.registSmellSePos((Vec*)i_pos);
|
||||
}
|
||||
|
||||
inline void mDoAud_mEnvse_startSmellSe(s8 i_reverb) {
|
||||
g_mEnvSeMgr.startSmellSe(i_reverb);
|
||||
}
|
||||
|
||||
inline void mDoAud_mEnvse_registWindowPos(const Vec* i_pos) {
|
||||
g_mEnvSeMgr.registWindowPos((Vec*)i_pos);
|
||||
}
|
||||
|
||||
inline void mDoAud_initLv3WaterSe(u8 param_0, u8 param_1, u8 param_2, u8 param_3) {
|
||||
g_mEnvSeMgr.initLv3WaterSe(param_0, param_1, param_2, param_3);
|
||||
}
|
||||
|
||||
inline void mDoAud_registLv3WaterSePos(u8 param_0, const Vec* i_pos) {
|
||||
g_mEnvSeMgr.registLv3WaterSePos(param_0, (Vec*)i_pos);
|
||||
}
|
||||
|
||||
inline void mDoAud_startLv3WaterSe(s8 i_reverb) {
|
||||
g_mEnvSeMgr.startLv3WaterSe(i_reverb);
|
||||
}
|
||||
|
||||
#endif /* M_DO_M_DO_AUDIO_H */
|
||||
|
||||
Reference in New Issue
Block a user