-
Notifications
You must be signed in to change notification settings - Fork 46
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
18 changed files
with
3,123 additions
and
312 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
#ifndef C_M3D_G_CPS_H | ||
#define C_M3D_G_CPS_H | ||
|
||
#include "SSystem/SComponent/c_m3d.h" | ||
#include "SSystem/SComponent/c_m3d_g_lin.h" | ||
#include "global.h" | ||
|
||
struct cM3dGCpsS { | ||
/* 0x00 */ Vec mStart; | ||
/* 0x0C */ Vec mEnd; | ||
/* 0x18 */ f32 mRadius; | ||
}; // Size: 0x1C | ||
|
||
class cM3dGCps : public cM3dGLin { | ||
public: | ||
/* 0x1C */ f32 mRadius; | ||
|
||
cM3dGCps(void); | ||
virtual ~cM3dGCps(void); | ||
void Set(const cXyz&, const cXyz&, f32); | ||
void Set(const cM3dGCpsS&); | ||
void SetCps(const cM3dGCps&); | ||
bool Cross(cM3dGCps const* other, cXyz* xyz) const { | ||
return cM3d_Cross_CpsCps(*this, *other, xyz); | ||
} | ||
bool Cross(cM3dGCyl const* cyl, cXyz* xyz) const { return cM3d_Cross_CpsCyl(*this, *cyl, xyz); } | ||
bool Cross(cM3dGSph const* sph, cXyz* xyz) const { return cM3d_Cross_CpsSph(*this, *sph, xyz); } | ||
void SetR(f32 r) { mRadius = r; } | ||
|
||
}; // Size = 0x20 | ||
|
||
STATIC_ASSERT(0x20 == sizeof(cM3dGCps)); | ||
|
||
#endif /* C_M3D_G_CPS_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
#ifndef C_M3D_G_LIN_H | ||
#define C_M3D_G_LIN_H | ||
|
||
#include "SSystem/SComponent/c_xyz.h" | ||
#include "global.h" | ||
|
||
// Line | ||
class cM3dGLin { | ||
// private: | ||
public: | ||
/* 0x00 */ cXyz mStart; | ||
/* 0x0C */ cXyz mEnd; | ||
/* 0x18 vtable */ | ||
|
||
cM3dGLin() {} | ||
cM3dGLin(const cXyz&, const cXyz&); | ||
virtual ~cM3dGLin() {} | ||
void SetStartEnd(const cXyz&, const cXyz&); | ||
void SetStartEnd(const Vec&, const Vec&); | ||
void CalcPos(Vec*, f32) const; | ||
void CalcVec(Vec* pOut) const { VECSubtract(&this->mEnd, &this->mStart, pOut); } | ||
void SetEnd(const cXyz&); | ||
const cXyz& GetStartP(void) const { return mStart; } | ||
cXyz& GetStartP(void) { return mStart; } | ||
const cXyz& GetEndP(void) const { return mEnd; } | ||
cXyz& GetEndP(void) { return mEnd; } | ||
cXyz& GetEnd() { return mEnd; } | ||
}; // Size = 0x1C | ||
|
||
STATIC_ASSERT(0x1C == sizeof(cM3dGLin)); | ||
|
||
#endif /* C_M3D_G_LIN_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
#ifndef D_BG_D_BG_S_H | ||
#define D_BG_D_BG_S_H | ||
|
||
#include "global.h" | ||
#include "SSystem/SComponent/c_sxyz.h" | ||
|
||
class cBgS_LinChk; | ||
class cBgS_GndChk; | ||
class cBgS_PolyInfo; | ||
class cM3dGPla; | ||
class cBgS_ShdwDraw; | ||
class dBgW; | ||
class fopAc_ac_c; | ||
class dBgW_Base; | ||
class dBgS_Acch; | ||
class dBgS_RoofChk; | ||
class dBgS_SplGrpChk; | ||
class dBgS_SphChk; | ||
|
||
class cBgS_ChkElm { | ||
public: | ||
/* 0x00 */ dBgW_Base* m_bgw_base_ptr; | ||
/* 0x04 */ bool m_used; | ||
/* 0x08 */ u32 m_actor_id; | ||
/* 0x0C */ fopAc_ac_c* m_actor_ptr; | ||
/* 0x10 vtable */ | ||
|
||
public: | ||
cBgS_ChkElm() { this->Init(); } | ||
void Init(); | ||
void Release(); | ||
|
||
virtual ~cBgS_ChkElm() {} | ||
virtual void Regist2(dBgW_Base*, unsigned int, void*); | ||
|
||
bool ChkUsed() const { return m_used; } | ||
}; // Size: 0x14 | ||
|
||
STATIC_ASSERT(sizeof(cBgS_ChkElm) == 0x14); | ||
|
||
class cBgS { | ||
public: | ||
/* 0x0000 */ cBgS_ChkElm m_chk_element[256]; | ||
/* 0x1400 vtable */ | ||
|
||
public: | ||
cBgS() {} | ||
bool Regist(dBgW_Base*, unsigned int, void*); | ||
int Release(dBgW_Base*); | ||
bool LineCross(cBgS_LinChk*); | ||
f32 GroundCross(cBgS_GndChk*); | ||
static void* ConvDzb(void*); | ||
fopAc_ac_c* GetActorPointer(int) const; | ||
dBgW_Base* GetBgWBasePointer(cBgS_PolyInfo const&) const; | ||
bool ChkPolySafe(cBgS_PolyInfo const&); | ||
s32 GetGrpRoomId(cBgS_PolyInfo const&) const; | ||
bool GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const; | ||
bool GetTriPnt(cBgS_PolyInfo const&, cXyz*, cXyz*, cXyz*) const; | ||
void ShdwDraw(cBgS_ShdwDraw*); | ||
u32 GetGrpInf(cBgS_PolyInfo const&) const; | ||
|
||
virtual ~cBgS() {} | ||
virtual void Ct(); | ||
virtual void Dt(); | ||
}; // Size: 0x1404 | ||
|
||
class dBgS_Acch; | ||
|
||
class dBgS : public cBgS { | ||
public: | ||
dBgS() {} | ||
~dBgS() {} | ||
void Ct(); | ||
void Dt(); | ||
void ClrMoveFlag(); | ||
void Move(); | ||
bool Regist(dBgW_Base*, fopAc_ac_c*); | ||
bool ChkMoveBG(cBgS_PolyInfo const&); | ||
bool ChkMoveBG_NoDABg(cBgS_PolyInfo const&); | ||
s32 GetExitId(cBgS_PolyInfo const&); | ||
s32 GetPolyColor(cBgS_PolyInfo const&); | ||
BOOL GetHorseNoEntry(cBgS_PolyInfo const&); | ||
int GetSpecialCode(cBgS_PolyInfo const&); | ||
int GetMagnetCode(cBgS_PolyInfo const&); | ||
int GetMonkeyBarsCode(cBgS_PolyInfo const&); | ||
u32 GetUnderwaterRoofCode(cBgS_PolyInfo const&); | ||
s32 GetWallCode(cBgS_PolyInfo const&); | ||
int GetPolyAtt0(cBgS_PolyInfo const&); | ||
int GetPolyAtt1(cBgS_PolyInfo const&); | ||
int GetGroundCode(cBgS_PolyInfo const&); | ||
s32 GetCamMoveBG(cBgS_PolyInfo const&); | ||
s32 GetRoomCamId(cBgS_PolyInfo const&); | ||
s32 GetRoomPathId(cBgS_PolyInfo const&); | ||
s32 GetRoomPathPntNo(cBgS_PolyInfo const&); | ||
u8 GetGrpSoundId(cBgS_PolyInfo const&); | ||
u32 ChkGrpInf(cBgS_PolyInfo const&, u32); | ||
s32 GetRoomId(cBgS_PolyInfo const&); | ||
bool GetPolyAttackThrough(cBgS_PolyInfo const&); | ||
u32 ChkPolyHSStick(cBgS_PolyInfo const&); | ||
void WallCorrect(dBgS_Acch*); | ||
void WallCorrectSort(dBgS_Acch*); | ||
f32 RoofChk(dBgS_RoofChk*); | ||
bool SplGrpChk(dBgS_SplGrpChk*); | ||
bool SphChk(dBgS_SphChk*, void*); | ||
void MoveBgCrrPos(cBgS_PolyInfo const&, bool, cXyz*, csXyz*, csXyz*, bool, bool); | ||
void MoveBgTransPos(cBgS_PolyInfo const&, bool, cXyz*, csXyz*, csXyz*); | ||
void MoveBgMatrixCrrPos(cBgS_PolyInfo const&, bool, cXyz*, csXyz*, csXyz*); | ||
void RideCallBack(cBgS_PolyInfo const&, fopAc_ac_c*); | ||
void ArrowStickCallBack(cBgS_PolyInfo const&, fopAc_ac_c*, cXyz&); | ||
|
||
bool WaterChk(dBgS_SplGrpChk* chk) { return SplGrpChk(chk); } | ||
}; // Size: 0x1404 | ||
|
||
#endif /* D_BG_D_BG_S_H */ |
Oops, something went wrong.