d_camera work (#2226)

This commit is contained in:
Caroline Madsen
2024-10-27 00:35:25 -04:00
committed by GitHub
parent 606178dc88
commit f5e80cf9fd
29 changed files with 1858 additions and 2121 deletions
+14 -4
View File
@@ -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;
+17 -6
View File
@@ -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 */