mirror of
https://github.com/zeldaret/tp
synced 2026-07-08 14:36:36 -04:00
d_camera work (#2226)
This commit is contained in:
@@ -63,6 +63,9 @@ struct cAngle {
|
||||
/* Converts Radian value into Degree value */
|
||||
static f32 r2d(f32 r) { return Radian_to_Degree(r); }
|
||||
|
||||
/* Converts Degree value into Radian value */
|
||||
static f32 d2r(f32 d) { return Degree_to_Radian(d); }
|
||||
|
||||
/* Converts Degree value to s16 angle */
|
||||
static s16 d2s(f32 d) { return Degree_to_SAngle(d); }
|
||||
|
||||
@@ -111,16 +114,23 @@ public:
|
||||
void Val(const cXyz&);
|
||||
cXyz Xyz(void) const;
|
||||
void Globe(class cSGlobe*) const;
|
||||
|
||||
void R(f32 i_radial) { mRadial = i_radial; }
|
||||
void U(cSAngle const& i_angle) { mAngle2 = i_angle.Val(); }
|
||||
void V(cSAngle const& i_angle) { mAngle1 = i_angle.Val(); }
|
||||
};
|
||||
|
||||
class cSGlobe {
|
||||
public:
|
||||
float mRadius;
|
||||
cSAngle mAzimuth; // original: V
|
||||
cSAngle mInclination; // original: U
|
||||
cSAngle mInclination; // original: V
|
||||
cSAngle mAzimuth; // original: U
|
||||
|
||||
cSGlobe() {}
|
||||
|
||||
void R(f32 i_radius) { mRadius = i_radius; }
|
||||
void U(cSAngle const& i_azimuth) { mAzimuth = i_azimuth.Val(); }
|
||||
|
||||
cSGlobe(const cSGlobe&);
|
||||
cSGlobe(float, short, short);
|
||||
cSGlobe(float, const cSAngle&, const cSAngle&);
|
||||
@@ -132,8 +142,8 @@ public:
|
||||
void Val(float, const cSAngle&, const cSAngle&);
|
||||
void Val(const cXyz&);
|
||||
float R(void) const { return mRadius; }
|
||||
const cSAngle& V(void) const { return mAzimuth; }
|
||||
const cSAngle& U(void) const { return mInclination; }
|
||||
const cSAngle& V(void) const { return mInclination; }
|
||||
const cSAngle& U(void) const { return mAzimuth; }
|
||||
cXyz Xyz(void) const;
|
||||
void Polar(cSPolar*) const;
|
||||
cXyz Norm(void) const;
|
||||
|
||||
@@ -9,13 +9,20 @@ class cBgS_LinChk : public cBgS_Chk, public cBgS_PolyInfo {
|
||||
public:
|
||||
/* 0x024 */ cM3dGLin mLin;
|
||||
/* 0x040 */ cXyz field_0x40;
|
||||
/* 0x04C */ u32 field_0x4c;
|
||||
/* 0x04C */ u32 mStts;
|
||||
/* 0x050 */ bool mPreWallChk;
|
||||
/* 0x051 */ bool mPreGroundChk;
|
||||
/* 0x052 */ bool mPreRoofChk;
|
||||
/* 0x053 */ bool mFrontFlag;
|
||||
/* 0x054 */ bool mBackFlag;
|
||||
|
||||
enum Status {
|
||||
STTS_HIT = 0x10,
|
||||
STTS_ROOF_OFF = 0x20000000,
|
||||
STTS_WALL_OFF = 0x40000000,
|
||||
STTS_GROUND_OFF = 0x80000000,
|
||||
};
|
||||
|
||||
public:
|
||||
cBgS_LinChk();
|
||||
void ct();
|
||||
@@ -25,9 +32,9 @@ public:
|
||||
|
||||
virtual ~cBgS_LinChk();
|
||||
|
||||
void ClrHit() { field_0x4c &= ~16; }
|
||||
void SetHit() { field_0x4c |= 16; }
|
||||
u32 ChkHit() const { return field_0x4c & 16; }
|
||||
void ClrHit() { mStts &= ~STTS_HIT; }
|
||||
void SetHit() { mStts |= STTS_HIT; }
|
||||
u32 ChkHit() const { return mStts & STTS_HIT; }
|
||||
void SetCross(const cXyz& pos) { mLin.SetEnd(pos); }
|
||||
cXyz& i_GetCross() { return mLin.GetEnd(); }
|
||||
cXyz* GetCrossP() { return &mLin.GetEndP(); }
|
||||
@@ -40,8 +47,12 @@ public:
|
||||
bool GetPreGroundChk() const { return mPreGroundChk; }
|
||||
bool GetPreRoofChk() const { return mPreRoofChk; }
|
||||
cXyz* GetStartP() { return &mLin.GetStartP(); }
|
||||
void ClrSttsRoofOff() { field_0x4c &= ~0x20000000; }
|
||||
void ClrSttsWallOff() { field_0x4c &= ~0x40000000; }
|
||||
void ClrSttsRoofOff() { mStts &= ~STTS_ROOF_OFF; }
|
||||
void SetSttsRoofOff() { mStts |= STTS_ROOF_OFF; }
|
||||
void ClrSttsWallOff() { mStts &= ~STTS_WALL_OFF; }
|
||||
void SetSttsWallOff() { mStts |= STTS_WALL_OFF; }
|
||||
void ClrSttsGroundOff() { mStts &= ~STTS_GROUND_OFF; }
|
||||
void SetSttsGroundOff() { mStts |= STTS_GROUND_OFF; }
|
||||
};
|
||||
|
||||
#endif /* C_BG_S_LIN_CHK_H */
|
||||
|
||||
Reference in New Issue
Block a user