d_a_sea start

This commit is contained in:
Jasper St. Pierre
2023-11-18 19:54:18 -08:00
parent a9c6b0fca2
commit 98da19dfac
5 changed files with 304 additions and 78 deletions
+1
View File
@@ -87,6 +87,7 @@ struct cXyz : Vec {
}
void setall(f32 f) { set(f, f, f); }
void zero() { x = y = z = 0.0f; }
void setMin(const cXyz& other) {
if (x > other.x) {
+18 -27
View File
@@ -13,9 +13,9 @@ public:
/* 0x54 */ /* vtable */
public:
void Pos2Index(f32, f32*);
void GetHeight(f32, f32);
void GetHeight(int, int);
int Pos2Index(f32, f32*);
u32 GetHeight(f32, f32);
u32 GetHeight(int, int);
void GetArea(int, int, f32*, f32*, f32*, f32*);
void SetInf();
virtual ~daSea_WaterHeightInfo_Mng() {}
@@ -26,7 +26,6 @@ struct daSea_WaveInfo__Table {
/* 0x00 */ f32 mHeight;
/* 0x04 */ f32 mKm;
/* 0x08 */ s16 mPhase;
/* 0x0A */ u8 m0A[0x0C - 0x0A];
/* 0x0C */ f32 mScaleX;
/* 0x10 */ f32 mScaleZ;
/* 0x14 */ int mCounterMax;
@@ -44,49 +43,49 @@ public:
daSea_WaveInfo();
virtual ~daSea_WaveInfo();
void AddCounter();
void GetRatio(int);
void GetKm(int);
void GetScale(f32);
f32 GetRatio(int);
f32 GetKm(int);
f32 GetScale(f32);
};
class daSea_packet_c : public J3DPacket {
public:
void create(cXyz&);
bool create(cXyz&);
void CleanUp();
daSea_packet_c();
void SetFlat();
void ClrFlat();
void CalcFlatInterTarget(cXyz&);
f32 CalcFlatInterTarget(cXyz&);
void CalcFlatInter();
void SetCullStopFlag();
void CheckRoomChange();
void execute(cXyz&);
void draw();
~daSea_packet_c();
~daSea_packet_c() {}
public:
/* 0x010 */ daSea_WaterHeightInfo_Mng mWaterHeightMgr;
/* 0x068 */ daSea_WaveInfo mWaveInfo;
/* 0x094 */ JGeometry::TVec3<f32> mPlayerPos;
/* 0x094 */ cXyz mPlayerPos;
/* 0x0A0 */ int mIdxX;
/* 0x0A4 */ int mIdxZ;
/* 0x0A8 */ f32 mFlatInter;
/* 0x0AC */ f32 mFlatTarget;
/* 0x0B0 */ f32 mFlatInterCounter;
/* 0x0B4 */ _GXTexObj mTexSea0;
/* 0x0D4 */ _GXTexObj mTexSea1;
/* 0x0F4 */ _GXTexObj mpTexWyurayura;
/* 0x0B4 */ GXTexObj mTexSea0;
/* 0x0D4 */ GXTexObj mTexSea1;
/* 0x0F4 */ GXTexObj mpTexWyurayura;
/* 0x114 */ f32 mDrawMinX;
/* 0x118 */ f32 mDrawMinZ;
/* 0x11C */ f32 mDrawMaxX;
/* 0x120 */ f32 mDrawMaxZ;
/* 0x124 */ float* mpHeightTable;
/* 0x128 */ JGeometry::TVec3<f32> mCurPos;
/* 0x134 */ JGeometry::TVec3<f32>* mpDrawVtx;
/* 0x138 */ u8 mbIsDelete;
/* 0x124 */ f32* mpHeightTable;
/* 0x128 */ cXyz mCurPos;
/* 0x134 */ cXyz* mpDrawVtx;
/* 0x138 */ u8 mInitFlag;
/* 0x139 */ u8 mCullStopFlag;
/* 0x13A */ u8 m13A;
/* 0x13B */ u8 m13B[0x13C - 0x13B];
/* 0x13B */ u8 m13B;
/* 0x13C */ int mRoomNo;
/* 0x140 */ int mFlags;
/* 0x144 */ s16 mAnimCounter;
@@ -97,19 +96,11 @@ public:
class sea_class;
void get_wave_max(int);
void calcMinMax(int, f32*, f32*);
void daSea_Init();
void daSea_ChkAreaBeforePos(f32, f32);
bool daSea_ChkArea(f32, f32);
f32 daSea_calcWave(f32, f32);
void daSea_GetPoly(void*, void (*)(void*, cXyz&, cXyz&, cXyz&), const cXyz&, const cXyz&);
void daSea_execute(cXyz&);
void daSea_Draw(sea_class*);
void daSea_Execute(sea_class*);
void daSea_IsDelete(sea_class*);
void daSea_Delete(sea_class*);
void CheckCreateHeap(fopAc_ac_c*);
void daSea_Create(fopAc_ac_c*);
#endif /* D_A_SEA_H */
+1
View File
@@ -219,6 +219,7 @@ struct dStage_Mult_info {
/* 0x4 */ f32 mTransY;
/* 0x8 */ s16 mAngle;
/* 0xA */ u8 mRoomNo;
/* 0xB */ u8 mWaveMax;
}; // Size: 0xC
class dStage_Multi_c {
+2 -2
View File
@@ -307,8 +307,8 @@ inline fopAc_ac_c* fopAcM_SearchByID(u32 id) {
return (fopAc_ac_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)fpcSch_JudgeByID, &id);
}
inline fopAc_ac_c* fopAcM_SearchByName(s16 proc_id) {
return (fopAc_ac_c*)fopAcIt_Judge(fpcSch_JudgeForPName, &proc_id);
inline fopAc_ac_c* fopAcM_SearchByName(s16 procName) {
return (fopAc_ac_c*)fopAcIt_Judge(fpcSch_JudgeForPName, &procName);
}
inline void dComIfGs_onItem(int bitNo, int roomNo);