mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
d_camera debug almost matching (#3032)
This commit is contained in:
@@ -10518,8 +10518,8 @@ Cos__7cSAngleCFv = .text:0x80259FFC; // type:function size:0x4C scope:global ali
|
||||
__mi__7cSAngleCFv = .text:0x8025A048; // type:function size:0x10 scope:global align:4
|
||||
__pl__7cSAngleCFRC7cSAngle = .text:0x8025A058; // type:function size:0x14 scope:global align:4
|
||||
__mi__7cSAngleCFRC7cSAngle = .text:0x8025A06C; // type:function size:0x14 scope:global align:4
|
||||
__apl__7cSAngleFR7cSAngle = .text:0x8025A080; // type:function size:0x14 scope:global align:4
|
||||
__ami__7cSAngleFR7cSAngle = .text:0x8025A094; // type:function size:0x14 scope:global align:4
|
||||
__apl__7cSAngleFRC7cSAngle = .text:0x8025A080; // type:function size:0x14 scope:global align:4
|
||||
__ami__7cSAngleFRC7cSAngle = .text:0x8025A094; // type:function size:0x14 scope:global align:4
|
||||
__pl__7cSAngleCFs = .text:0x8025A0A8; // type:function size:0x10 scope:global align:4
|
||||
__mi__7cSAngleCFs = .text:0x8025A0B8; // type:function size:0x10 scope:global align:4
|
||||
__apl__7cSAngleFs = .text:0x8025A0C8; // type:function size:0x10 scope:global align:4
|
||||
|
||||
@@ -64475,7 +64475,7 @@ lbl_8074C86D = .sbss:0x8074C86D; // type:object size:0x1 data:byte hash:0xE376DC
|
||||
@LOCAL@listenPropertyEvent__10dEvM_HIO_cFPC16JORPropertyEvent@debug_data = .sbss:0x8074C878; // type:object size:0x4 scope:local data:4byte hash:0x8C84444C dhash:0xA4EAC8E3
|
||||
l_HIO_before = .sbss:0x8074C880; // type:object size:0x4 scope:global data:4byte hash:0x3759C8DE
|
||||
l_HIO_top = .sbss:0x8074C884; // type:object size:0x4 scope:global data:4byte hash:0xCA8DD4EC
|
||||
l_debugMode = .sbss:0x8074C888; // type:object size:0x4 scope:global data:4byte hash:0x5F325704
|
||||
l_debugMode = .sbss:0x8074C888; // type:object size:0x4 scope:local data:4byte hash:0x5F325704
|
||||
l_jumpTop = .sbss:0x8074C88C; // type:object size:0x4 scope:global align:4 data:float hash:0xEC66737F
|
||||
lbl_8074C890 = .sbss:0x8074C890; // type:object size:0x1 data:byte hash:0xB74E392C dhash:0xBD2F6E4C
|
||||
lbl_8074C891 = .sbss:0x8074C891; // type:object size:0x1 data:byte hash:0xC3C1301D dhash:0xBD2F6E4C
|
||||
@@ -64526,16 +64526,16 @@ m_dropAngleY__20daPy_boomerangMove_c = .sbss:0x8074C914; // type:object size:0x2
|
||||
m_eventKeepFlg__20daPy_boomerangMove_c = .sbss:0x8074C916; // type:object size:0x2 scope:global data:2byte hash:0x7AB48561 dhash:0x0892FF43
|
||||
Stage__22@unnamed@d_camera_cpp@ = .sbss:0x8074C918; // type:object size:0x4 scope:global data:4byte hash:0xB45C73E7 dhash:0xC45A5407
|
||||
WideTurnSaving__22@unnamed@d_camera_cpp@ = .sbss:0x8074C91C; // type:object size:0x4 scope:global align:4 data:float hash:0xA4CEF485 dhash:0x54B4F3A5
|
||||
lbl_8074C920 = .sbss:0x8074C920; // type:object size:0x1 data:byte hash:0x88EE1272 dhash:0xF8A332E3
|
||||
@LOCAL@chaseCamera__9dCamera_cFl@LatitudeLimitMax@4 = .sbss:0x8074C924; // type:object size:0x2 scope:local hash:0x63D10E5A dhash:0xE67A53CB
|
||||
lbl_8074C926 = .sbss:0x8074C926; // type:object size:0x1 data:byte hash:0x334E5811 dhash:0xB5076729
|
||||
l_debugMode = .sbss:0x8074C920; // type:object size:0x4 scope:local data:4byte hash:0x88EE1272 dhash:0xF8A332E3
|
||||
@LOCAL@chaseCamera__9dCamera_cFl@LatitudeLimitMax@0 = .sbss:0x8074C924; // type:object size:0x2 scope:local hash:0x63D10E5A dhash:0xE67A53CB
|
||||
@GUARD@railCamera__9dCamera_cFl@_120 = .sbss:0x8074C926; // type:object size:0x1 data:byte hash:0x334E5811 dhash:0xB5076729
|
||||
@LOCAL@railCamera__9dCamera_cFl@_120 = .sbss:0x8074C928; // type:object size:0x2 scope:local hash:0x24055AF9 dhash:0x18F891C1
|
||||
lbl_8074C92A = .sbss:0x8074C92A; // type:object size:0x1 data:byte hash:0xBCB1D8B3 dhash:0xAAE861CB
|
||||
@GUARD@paraRailCamera__9dCamera_cFl@_120 = .sbss:0x8074C92A; // type:object size:0x1 data:byte hash:0xBCB1D8B3 dhash:0xAAE861CB
|
||||
@LOCAL@paraRailCamera__9dCamera_cFl@_120 = .sbss:0x8074C92C; // type:object size:0x2 scope:local hash:0x234ABD5B dhash:0xA108EAA3
|
||||
lbl_8074C92E = .sbss:0x8074C92E; // type:object size:0x1 data:byte hash:0xDA185670 dhash:0xE724A005
|
||||
@LOCAL@rideCamera__9dCamera_cFl@LatMin@2 = .sbss:0x8074C930; // type:object size:0x2 scope:local hash:0xC57ADB58 dhash:0xC35AA72D
|
||||
lbl_8074C932 = .sbss:0x8074C932; // type:object size:0x1 data:byte hash:0xDA14946F dhash:0xE724A005
|
||||
@LOCAL@rideCamera__9dCamera_cFl@LatMax@3 = .sbss:0x8074C934; // type:object size:0x2 scope:local hash:0xC57F5747 dhash:0xC35AA72D
|
||||
@GUARD@rideCamera__9dCamera_cFl@LatMin = .sbss:0x8074C92E; // type:object size:0x1 data:byte hash:0xDA185670 dhash:0xE724A005
|
||||
@LOCAL@rideCamera__9dCamera_cFl@LatMin = .sbss:0x8074C930; // type:object size:0x2 scope:local hash:0xC57ADB58 dhash:0xC35AA72D
|
||||
@GUARD@rideCamera__9dCamera_cFl@LatMax@0 = .sbss:0x8074C932; // type:object size:0x1 data:byte hash:0xDA14946F dhash:0xE724A005
|
||||
@LOCAL@rideCamera__9dCamera_cFl@LatMax@0 = .sbss:0x8074C934; // type:object size:0x2 scope:local hash:0xC57F5747 dhash:0xC35AA72D
|
||||
sInstance__31JASGlobalInstance<10Z2Audience> = .sbss:0x8074C938; // type:object size:0x4 scope:global data:4byte hash:0xEDAF4FB8 dhash:0xC8923EFB
|
||||
@LOCAL@titleMsgCheck__14dFile_select_cFv@charspaceU@5 = .sbss:0x8074C940; // type:object size:0x8 scope:local hash:0xBAC0AB57 dhash:0x3D4E40C7
|
||||
@LOCAL@headerTxtSet__14dFile_select_cFUsUcUc@charspace@1 = .sbss:0x8074C948; // type:object size:0x8 scope:local hash:0xAF32C5AC dhash:0x2E781072
|
||||
|
||||
@@ -22,7 +22,7 @@ public:
|
||||
|
||||
virtual ~cM3dGPla() {}
|
||||
|
||||
f32 getPlaneFunc(const Vec* pPoint) const { return mD + VECDotProduct(&mNormal, pPoint); }
|
||||
f32 getPlaneFunc(const Vec* pPoint) const { return mD + PSVECDotProduct(&mNormal, pPoint); }
|
||||
cXyz* GetNP() { return &mNormal; }
|
||||
const cXyz* GetNP() const { return &mNormal; }
|
||||
f32 GetD() const { return mD; }
|
||||
|
||||
@@ -7435,7 +7435,7 @@ public:
|
||||
bool checkHorseRideOn() const { return mProcID == PROC_HORSE_RIDE; }
|
||||
bool checkHorseTurnMode() const { return mProcID == PROC_HORSE_TURN; }
|
||||
bool checkGrabUp() const { return mProcID == PROC_GRAB_UP; }
|
||||
bool checkSpinnerRideWait() const {
|
||||
s16 checkSpinnerRideWait() const {
|
||||
return mProcID == PROC_SPINNER_WAIT && mProcVar2.field_0x300c == 0;
|
||||
}
|
||||
bool checkCopyRodSwingMode() { return mProcID == PROC_COPY_ROD_SWING; }
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define D_A_E_RB_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "d/d_cc_uty.h"
|
||||
#include "d/d_bg_s_acch.h"
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define D_A_E_WS_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
#include "d/d_bg_s_acch.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "d/d_cc_uty.h"
|
||||
|
||||
+98
-34
@@ -1,6 +1,7 @@
|
||||
#ifndef D_D_CAM_PARAM_H
|
||||
#define D_D_CAM_PARAM_H
|
||||
|
||||
#include "JSystem/JHostIO/JORFile.h"
|
||||
#include "SSystem/SComponent/c_angle.h"
|
||||
|
||||
struct dCamMath {
|
||||
@@ -11,24 +12,44 @@ struct dCamMath {
|
||||
static f32 xyzHorizontalDistance(cXyz&, cXyz&);
|
||||
};
|
||||
|
||||
class dCstick_c {
|
||||
class dCstick_c
|
||||
#if DEBUG
|
||||
: public JORReflexible
|
||||
#endif
|
||||
{
|
||||
public:
|
||||
dCstick_c();
|
||||
bool Shift(u32);
|
||||
|
||||
/* 0x0 */ f32 mThresholdLow;
|
||||
/* 0x4 */ f32 mThresholdHigh;
|
||||
/* 0x8 */ int mInputSpeed;
|
||||
/* 0xC */ u8 field_0xc[4];
|
||||
/* 0x8 */ s32 mInputSpeed;
|
||||
/* 0xC */ u16 mIsDebugDisplay;
|
||||
#if DEBUG
|
||||
/* 0x10 */ s32 mDisplayPosX;
|
||||
/* 0x14 */ s32 mDisplayPosY;
|
||||
#endif
|
||||
|
||||
virtual ~dCstick_c() {}
|
||||
#if DEBUG
|
||||
virtual void genMessage(JORMContext*);
|
||||
#endif
|
||||
|
||||
bool CheckFlag(u16 i_flag) {
|
||||
return (i_flag & mIsDebugDisplay) ? true : false;
|
||||
}
|
||||
|
||||
f32 SwTHH() { return mThresholdHigh; }
|
||||
};
|
||||
|
||||
class dCamBGChk_c {
|
||||
class dCamBGChk_c
|
||||
#if DEBUG
|
||||
: public JORReflexible
|
||||
#endif
|
||||
{
|
||||
public:
|
||||
dCamBGChk_c();
|
||||
~dCamBGChk_c() {}
|
||||
|
||||
f32 WallUpDistance() { return mWallUpDistance; }
|
||||
f32 FwdDistance(s32 param_0) { return mChkInfo[param_0].mDistance; }
|
||||
@@ -44,6 +65,10 @@ public:
|
||||
f32 CornerAngleMax() { return mCornerAngleMax; }
|
||||
f32 FloorMargin() { return mFloorMargin; }
|
||||
|
||||
#if DEBUG
|
||||
virtual void genMessage(JORMContext*);
|
||||
#endif
|
||||
|
||||
// name is a guess for now
|
||||
struct ChkInfo {
|
||||
/* 0x0 */ f32 mDistance;
|
||||
@@ -67,10 +92,10 @@ public:
|
||||
|
||||
struct dCamStyleData {
|
||||
struct StyleData {
|
||||
/* 0x0 */ u32 field_0x0;
|
||||
/* 0x0 */ s32 field_0x0;
|
||||
/* 0x4 */ u16 field_0x4;
|
||||
/* 0x6 */ u16 field_0x6;
|
||||
/* 0x8 */ f32 field_0x8[28];
|
||||
/* 0x6 */ u16 mFlags;
|
||||
/* 0x8 */ f32 mParams[28];
|
||||
}; // Size: 0x78
|
||||
|
||||
/* 0x0 */ u8 field_0x0[4];
|
||||
@@ -78,7 +103,11 @@ struct dCamStyleData {
|
||||
/* 0x8 */ StyleData* mStyleData;
|
||||
};
|
||||
|
||||
class dCamParam_c {
|
||||
class dCamParam_c
|
||||
#if DEBUG
|
||||
: public JORReflexible
|
||||
#endif
|
||||
{
|
||||
public:
|
||||
dCamParam_c(s32);
|
||||
int Change(s32);
|
||||
@@ -92,40 +121,56 @@ public:
|
||||
void Arg0(u8 val) { mMapToolArg0 = val; }
|
||||
void Fovy(u8 val) { mMapToolFovy = val; }
|
||||
u8 Fovy() { return mMapToolFovy; }
|
||||
bool CheckFlag(u16 flag) { return (flag & mCurrentStyle->field_0x6) != 0; }
|
||||
bool CheckFlag(u16 flag) { return (flag & mCurrentStyle->mFlags) != 0 ? true : false; }
|
||||
f32 Val(s32 param_0, int param_1) {
|
||||
return mCamStyleData[param_0].field_0x8[param_1];
|
||||
return mCamStyleData[param_0].mParams[param_1];
|
||||
}
|
||||
void SetVal(s32 param_0, int param_1, f32 i_value) {
|
||||
mCamStyleData[param_0].field_0x8[param_1] = i_value;
|
||||
mCamStyleData[param_0].mParams[param_1] = i_value;
|
||||
}
|
||||
|
||||
/* 0x00 */ u8 mMapToolFovy;
|
||||
/* 0x01 */ u8 mMapToolArg0;
|
||||
/* 0x02 */ u8 mMapToolArg1;
|
||||
/* 0x04 */ int mMapToolArg2;
|
||||
/* 0x08 */ dCamStyleData::StyleData* mCamStyleData;
|
||||
/* 0x0C */ s32 mStyleNum;
|
||||
/* 0x10 */ dCamStyleData::StyleData* mCurrentStyle;
|
||||
/* 0x14 */ int mStyleID;
|
||||
/* 0x18 */ u8 field_0x18[4];
|
||||
/* 0x02 */ u8 mMapToolFovy;
|
||||
/* 0x03 */ u8 mMapToolArg0;
|
||||
/* 0x04 */ u8 mMapToolArg1;
|
||||
/* 0x08 */ s32 mMapToolArg2;
|
||||
/* 0x0C */ dCamStyleData::StyleData* mCamStyleData;
|
||||
/* 0x10 */ s32 mStyleNum;
|
||||
/* 0x14 */ dCamStyleData::StyleData* mCurrentStyle;
|
||||
/* 0x18 */ s32 mStyleID;
|
||||
/* 0x1C */ u16 field_0x1c;
|
||||
/* 0x1E */ s8 mpHIOChild;
|
||||
#if DEBUG
|
||||
/* 0x20 */ JORFile mFile;
|
||||
#endif
|
||||
|
||||
u32 Id(s32 i_style) { return mCamStyleData[i_style].field_0x0; }
|
||||
int Algorythmn(s32 i_style) { return mCamStyleData[i_style].field_0x4; }
|
||||
int Algorythmn() { return mCurrentStyle->field_0x4; }
|
||||
u16 Flag(s32 param_0, u16 param_1) { return mCamStyleData[param_0].field_0x6 & param_1; }
|
||||
void SetFlag(u16 i_flag) { mCurrentStyle->field_0x6 |= i_flag; }
|
||||
u16 Flag(s32 param_0, u16 param_1) { return mCamStyleData[param_0].mFlags & param_1; }
|
||||
void SetFlag(u16 i_flag) { mCurrentStyle->mFlags |= i_flag; }
|
||||
|
||||
virtual ~dCamParam_c();
|
||||
#if DEBUG
|
||||
virtual void genMessage(JORMContext*);
|
||||
virtual void listenPropertyEvent(const JORPropertyEvent*);
|
||||
int writeParamXML();
|
||||
void OpenFile();
|
||||
void PrintFile(char*, ...);
|
||||
void CloseFile();
|
||||
#endif
|
||||
};
|
||||
|
||||
class dCamSetup_c {
|
||||
class dCamSetup_c
|
||||
#if DEBUG
|
||||
: public JORReflexible
|
||||
#endif
|
||||
{
|
||||
public:
|
||||
dCamSetup_c();
|
||||
bool CheckLatitudeRange(s16*);
|
||||
f32 PlayerHideDist();
|
||||
|
||||
bool CheckFlag2(u16 i_flag) { return (i_flag & mFlags2) != 0; }
|
||||
bool CheckFlag2(u16 i_flag) { return (i_flag & mFlags2) != 0 ? true : false; }
|
||||
f32 WaitRollSpeed() { return mWaitRollSpeed; }
|
||||
int WaitRollTimer() { return mWaitRollTimer; }
|
||||
int ThrowTimer() { return mThrowTimer; }
|
||||
@@ -155,16 +200,30 @@ public:
|
||||
f32 CurveWeight() { return mCurveWeight; }
|
||||
s16 MapToolCameraLongTimer() { return mMapToolCamLongTimer; }
|
||||
s16 MapToolCameraShortTimer() { return mMapToolCamShortTimer; }
|
||||
void SetTypeTable(void* i_typeTable, s32 i_typeNum) {
|
||||
mTypeTable = i_typeTable;
|
||||
mTypeNum = i_typeNum;
|
||||
}
|
||||
s32 ForceType() { return mForceType; }
|
||||
s32 ModeSwitchType() { return mModeSwitchType; }
|
||||
f32 Far() { return mDrawFar; }
|
||||
f32 Near() { return mDrawNear; }
|
||||
|
||||
#if DEBUG
|
||||
virtual ~dCamSetup_c();
|
||||
|
||||
virtual void genMessage(JORMContext*);
|
||||
#endif
|
||||
|
||||
/* 0x000 */ f32 mDrawNear;
|
||||
/* 0x004 */ f32 mDrawFar;
|
||||
/* 0x008 */ u16 mDebugFlags;
|
||||
/* 0x00A */ u16 mFlags2;
|
||||
/* 0x00C */ int field_0xc;
|
||||
/* 0x010 */ int mModeSwitchType;
|
||||
/* 0x010 */ s32 mModeSwitchType;
|
||||
/* 0x014 */ void* mTypeTable;
|
||||
/* 0x018 */ int mTypeNum;
|
||||
/* 0x01C */ int mForceType;
|
||||
/* 0x018 */ s32 mTypeNum;
|
||||
/* 0x01C */ s32 mForceType;
|
||||
/* 0x020 */ f32 mCusCus;
|
||||
/* 0x024 */ f32 field_0x24;
|
||||
/* 0x028 */ f32 field_0x28;
|
||||
@@ -186,7 +245,7 @@ public:
|
||||
/* 0x068 */ f32 mTrimCineScopeHeight;
|
||||
/* 0x06C */ f32 field_0x6c;
|
||||
/* 0x070 */ f32 mForceLockOffDist;
|
||||
/* 0x074 */ int mForceLockOffTimer;
|
||||
/* 0x074 */ s32 mForceLockOffTimer;
|
||||
/* 0x078 */ f32 field_0x78;
|
||||
/* 0x07C */ f32 field_0x7c;
|
||||
/* 0x080 */ f32 field_0x80;
|
||||
@@ -194,7 +253,7 @@ public:
|
||||
/* 0x088 */ f32 mThrowVAngle;
|
||||
/* 0x08C */ f32 mThrowCtrOffset;
|
||||
/* 0x090 */ f32 mThrowCushion;
|
||||
/* 0x094 */ int mThrowTimer;
|
||||
/* 0x094 */ s32 mThrowTimer;
|
||||
/* 0x098 */ f32 mWindShakeCtr;
|
||||
/* 0x09C */ f32 field_0x9c;
|
||||
/* 0x0A0 */ f32 mWindShakeFvy;
|
||||
@@ -206,9 +265,9 @@ public:
|
||||
/* 0x0B8 */ f32 mManualStartCThreshold;
|
||||
/* 0x0BC */ f32 mManualEndVal;
|
||||
/* 0x0C0 */ f32 mChargeLatitude;
|
||||
/* 0x0C4 */ int mChargeTimer;
|
||||
/* 0x0C4 */ s32 mChargeTimer;
|
||||
/* 0x0C8 */ f32 mChargeBRatio;
|
||||
/* 0x0CC */ int mLockonChangeTimer;
|
||||
/* 0x0CC */ s32 mLockonChangeTimer;
|
||||
/* 0x0D0 */ f32 mLockonChangeCushion;
|
||||
/* 0x0D4 */ f32 field_0xd4;
|
||||
/* 0x0D8 */ f32 field_0xd8;
|
||||
@@ -223,8 +282,13 @@ public:
|
||||
/* 0x0F8 */ f32 field_0xf8;
|
||||
/* 0x0FC vtable */
|
||||
|
||||
#if !DEBUG
|
||||
virtual ~dCamSetup_c();
|
||||
#endif
|
||||
|
||||
#if DEBUG
|
||||
/* 0x100 */ s8 mpHIOChild;
|
||||
#endif
|
||||
/* 0x100 */ dCstick_c mCStick;
|
||||
/* 0x114 */ dCamBGChk_c mBGChk;
|
||||
/* 0x15C */ f32 field_0x15c;
|
||||
@@ -232,9 +296,9 @@ public:
|
||||
/* 0x164 */ int mWaitRollTimer;
|
||||
/* 0x168 */ f32 mWaitRollSpeed;
|
||||
/* 0x16C */ f32 field_0x16c;
|
||||
/* 0x170 */ int mScreensaverFirstWaitTimer;
|
||||
/* 0x174 */ int mScreensaverWaitTimer;
|
||||
/* 0x178 */ int mScreensaverExecTimer;
|
||||
/* 0x170 */ s32 mScreensaverFirstWaitTimer;
|
||||
/* 0x174 */ s32 mScreensaverWaitTimer;
|
||||
/* 0x178 */ s32 mScreensaverExecTimer;
|
||||
};
|
||||
|
||||
#endif /* D_D_CAM_PARAM_H */
|
||||
|
||||
+98
-60
@@ -32,8 +32,7 @@ struct dCamMapToolData {
|
||||
}
|
||||
|
||||
void Clr() {
|
||||
mArrowIndex = 0xFF;
|
||||
mCameraIndex = 0xFF;
|
||||
mCameraIndex = mArrowIndex = 0xFF;
|
||||
mFlags = 0;
|
||||
mpActor = NULL;
|
||||
mPathId = 0xFF;
|
||||
@@ -59,7 +58,7 @@ struct dCamForcusLine {
|
||||
/* 0x38 */ cXyz field_0x38;
|
||||
/* 0x44 */ GXColor field_0x44;
|
||||
/* 0x48 */ u8 field_0x48;
|
||||
/* 0x49 */ u8 field_0x49;
|
||||
/* 0x49 */ bool field_0x49;
|
||||
/* 0x4C */ int field_0x4c;
|
||||
/* 0x50 */ int field_0x50;
|
||||
/* 0x54 */ int field_0x54;
|
||||
@@ -73,17 +72,11 @@ struct dCamForcusLine {
|
||||
/* 0x6C */ f32 field_0x6c;
|
||||
};
|
||||
|
||||
struct dCamera_FakeAngle_system {
|
||||
/* 0x0 */ u8 field_0x0;
|
||||
/* 0x2 */ cSAngle field_0x2;
|
||||
/* 0x4 */ cSAngle field_0x4;
|
||||
};
|
||||
|
||||
struct dCamera_monitoring_things {
|
||||
/* 0x00 */ cXyz field_0x0;
|
||||
/* 0x0C */ f32 field_0xc;
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
/* 0x14 */ cXyz field_0x14;
|
||||
struct UnkManualCameraParam {
|
||||
f32 r;
|
||||
f32 v;
|
||||
f32 u;
|
||||
f32 fov;
|
||||
};
|
||||
|
||||
struct dCamera_event_param {
|
||||
@@ -92,23 +85,6 @@ struct dCamera_event_param {
|
||||
/* 0x14 */ int value;
|
||||
};
|
||||
|
||||
struct dCamera_event_data {
|
||||
/* 0x000 */ u8 field_0x0;
|
||||
/* 0x004 */ int mStaffIdx;
|
||||
/* 0x008 */ int field_0x8;
|
||||
/* 0x00C */ int field_0xc;
|
||||
/* 0x010 */ u8 field_0x10;
|
||||
/* 0x014 */ int field_0x14;
|
||||
/* 0x018 */ int field_0x18;
|
||||
/* 0x01C */ int field_0x1c;
|
||||
/* 0x020 */ int field_0x20;
|
||||
/* 0x024 */ int field_0x24;
|
||||
/* 0x028 */ u8 field_0x28[0x2C - 0x28];
|
||||
/* 0x02C */ dCamera_event_param mEventParams[8];
|
||||
/* 0x0EC */ dStage_MapEvent_dt_c* field_0xec;
|
||||
/* 0x0F0 */ d2DBSplinePath field_0xf0;
|
||||
}; // Size: 0x124
|
||||
|
||||
struct dCamera_type_data {
|
||||
/* 0x00 */ char name[24];
|
||||
/* 0x18 */ s16 field_0x18[2][11];
|
||||
@@ -170,22 +146,46 @@ public:
|
||||
/* 0x1C */ _stick mCStick;
|
||||
};
|
||||
|
||||
struct dCamera_event_data {
|
||||
/* 0x000 */ u8 field_0x0;
|
||||
/* 0x004 */ int mStaffIdx;
|
||||
/* 0x008 */ int field_0x8;
|
||||
/* 0x00C */ int field_0xc;
|
||||
/* 0x010 */ u8 field_0x10;
|
||||
/* 0x014 */ int field_0x14;
|
||||
/* 0x018 */ int field_0x18;
|
||||
/* 0x01C */ int field_0x1c;
|
||||
/* 0x020 */ int field_0x20;
|
||||
/* 0x024 */ int field_0x24;
|
||||
/* 0x028 */ u8 field_0x28[0x2C - 0x28];
|
||||
/* 0x02C */ dCamera_event_param mEventParams[8];
|
||||
/* 0x0EC */ dStage_MapEvent_dt_c* field_0xec;
|
||||
/* 0x0F0 */ d2DBSplinePath field_0xf0;
|
||||
}; // Size: 0x124
|
||||
|
||||
struct dCamera_monitoring_things {
|
||||
/* 0x00 */ cXyz field_0x0;
|
||||
/* 0x0C */ f32 field_0xc;
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
/* 0x04 */ struct {
|
||||
/* 0x00 */ cXyz field_0x0;
|
||||
} field_0x14;
|
||||
};
|
||||
|
||||
struct dCamera_FakeAngle_system {
|
||||
/* 0x0 */ u8 field_0x0;
|
||||
/* 0x2 */ cSAngle field_0x2;
|
||||
/* 0x4 */ cSAngle field_0x4;
|
||||
};
|
||||
|
||||
struct BG {
|
||||
class {
|
||||
public:
|
||||
struct {
|
||||
/* 0x00 */ bool field_0x0;
|
||||
/* 0x04 */ dBgS_CamGndChk field_0x4;
|
||||
/* 0x58 */ f32 field_0x58;
|
||||
} /* 0x000 */ field_0x0;
|
||||
class {
|
||||
public:
|
||||
/* 0x00 */ bool field_0x0;
|
||||
/* 0x04 */ dBgS_CamGndChk field_0x4;
|
||||
/* 0x58 */ f32 field_0x58;
|
||||
} /* 0x05C */ field_0x5c;
|
||||
} /* 0x000 */ field_0x0, field_0x5c;
|
||||
/* 0x0B8 */ u8 field_0xb8[0xC0 - 0xB8];
|
||||
class {
|
||||
public:
|
||||
struct {
|
||||
/* 0x00 */ u8 field_0x0;
|
||||
/* 0x01 */ u8 field_0x1;
|
||||
/* 0x04 */ cXyz field_0x4;
|
||||
@@ -201,8 +201,7 @@ public:
|
||||
/* 0x40 */ int field_0x40;
|
||||
/* 0x44 */ u8 field_0x44;
|
||||
} /* 0x0C0 */ field_0xc0;
|
||||
class {
|
||||
public:
|
||||
struct {
|
||||
/* 0x0 */ int field_0x0;
|
||||
/* 0x4 */ f32 field_0x4;
|
||||
/* 0x8 */ cXyz field_0x8;
|
||||
@@ -875,6 +874,23 @@ public:
|
||||
/* 0xA0 */ fopAc_ac_c* field_0xa0;
|
||||
};
|
||||
|
||||
struct ManualData {
|
||||
int field_0x00;
|
||||
cXyz field_0x04;
|
||||
cXyz field_0x10;
|
||||
f32 field_0x1c;
|
||||
f32 field_0x20;
|
||||
int field_0x24;
|
||||
u8 field_0x28;
|
||||
f32 field_0x2c;
|
||||
cSGlobe field_0x30;
|
||||
f32 field_0x38;
|
||||
f32 field_0x3c;
|
||||
int field_0x40;
|
||||
cSAngle field_0x44;
|
||||
f32 field_0x48;
|
||||
};
|
||||
|
||||
int StartEventCamera(int, int, ...);
|
||||
int EndEventCamera(int);
|
||||
int searchEventArgData(char*);
|
||||
@@ -940,6 +956,7 @@ public:
|
||||
void updateMonitor();
|
||||
bool checkForceLockTarget();
|
||||
void infoReport();
|
||||
void debugDrawInit();
|
||||
bool Run();
|
||||
bool NotRun();
|
||||
s16 V();
|
||||
@@ -948,6 +965,9 @@ public:
|
||||
bool SetTrimTypeForce(s32);
|
||||
void CalcTrimSize();
|
||||
int Draw();
|
||||
void debugDraw();
|
||||
int debugDrawPoint(cXyz&);
|
||||
int debugDrawLine(cXyz&, cXyz&);
|
||||
void setStageMapToolData();
|
||||
void setMapToolData();
|
||||
void SetTagData(fopAc_ac_c*, s32, u16, u8);
|
||||
@@ -973,6 +993,10 @@ public:
|
||||
bool pointInSight(cXyz*);
|
||||
f32 radiusActorInSight(fopAc_ac_c*, fopAc_ac_c*, fopAc_ac_c*);
|
||||
f32 radiusActorInSight(fopAc_ac_c*, fopAc_ac_c*, cXyz*, cXyz*, f32, s16, f32);
|
||||
f32 radiusActorInSight(fopAc_ac_c* param_0, fopAc_ac_c* param_1) {
|
||||
return radiusActorInSight(param_0, param_1, &mViewCache.mCenter, &mViewCache.mEye, mFovy,
|
||||
mBank, 0.05f);
|
||||
}
|
||||
f32 groundHeight(cXyz*);
|
||||
bool lineBGCheck(cXyz*, cXyz*, dBgS_LinChk*, u32);
|
||||
bool lineBGCheck(cXyz*, cXyz*, u32);
|
||||
@@ -1046,8 +1070,6 @@ public:
|
||||
cXyz talkBasePos(fopAc_ac_c* i_actor) { return i_actor->current.pos; }
|
||||
cXyz talkEyePos(fopAc_ac_c* i_actor) { return i_actor->eyePos; }
|
||||
|
||||
void debugDraw();
|
||||
|
||||
int CameraID() { return mCameraID; }
|
||||
|
||||
bool Active() { return mCurState == 0; }
|
||||
@@ -1062,7 +1084,7 @@ public:
|
||||
u32 setFlag(u32 i_flag) { return mEventFlags |= i_flag; }
|
||||
u32 clrFlag(u32 i_flag) { return mEventFlags &= ~i_flag; }
|
||||
|
||||
bool CheckFlag(u32 i_flag) { return mEventFlags & i_flag; }
|
||||
bool CheckFlag(u32 i_flag) { return (mEventFlags & i_flag) != 0 ? true : false; }
|
||||
|
||||
void ResetView() { setView(0.0f, 0.0f, FB_WIDTH, FB_HEIGHT); }
|
||||
|
||||
@@ -1114,12 +1136,25 @@ public:
|
||||
|
||||
int Gear() { return mGear; }
|
||||
|
||||
bool HideBGPartsOK() {
|
||||
return chkFlag(0x4);
|
||||
}
|
||||
|
||||
f32 Near4Debug() {
|
||||
return mCamSetup.Near();
|
||||
}
|
||||
f32 Far4Debug() {
|
||||
return mCamSetup.Far();
|
||||
}
|
||||
|
||||
static engine_fn engine_tbl[];
|
||||
|
||||
/* 0x000 */ camera_class* field_0x0;
|
||||
#if DEBUG
|
||||
cXyz dbg_field_0x04[16];
|
||||
u8 dbg_field_c4[0xDC - 0xC4];
|
||||
s8 dbg_field_0xc4[0x10];
|
||||
u32 dbg_field_0xd4;
|
||||
int dbg_field_0xd8;
|
||||
#endif
|
||||
struct {
|
||||
/* 0x00 */ int mRoomNo;
|
||||
@@ -1144,6 +1179,11 @@ public:
|
||||
/* 0x14 */ cXyz mEye;
|
||||
/* 0x20 */ cSAngle mBank;
|
||||
/* 0x24 */ f32 mFovy;
|
||||
#if defined(__MWERKS__) && __MWERKS__ < 0x4200
|
||||
// Static data members in an anonymous class are illegal in C++, but MWCC for GC accepts it.
|
||||
// However, MWCC for Wii does not so this was removed for the Shield release.
|
||||
static const int PatternLengthMax = 4;
|
||||
#endif
|
||||
}
|
||||
/* 0x05C */ mViewCache;
|
||||
/* 0x084 */ f32 field_0x84;
|
||||
@@ -1181,7 +1221,8 @@ public:
|
||||
/* 0x168 */ u8 field_0x168;
|
||||
/* 0x16C */ int field_0x16c;
|
||||
/* 0x170 */ u32 field_0x170;
|
||||
/* 0x174 */ u32 mCurCamStyleTimer; // this might be a signed int in ShieldD
|
||||
/* 0x174 */ u32 mCurCamStyleTimer; // something is weird about this field - it's sometimes (but
|
||||
// not always) treated as signed in ShieldD specifically
|
||||
/* 0x178 */ u32 mCameraID;
|
||||
/* 0x17C */ u32 mPadID;
|
||||
/* 0x180 */ fopAc_ac_c* mpPlayerActor;
|
||||
@@ -1205,16 +1246,16 @@ public:
|
||||
/* 0x1FC */ int mCStickUpLatch;
|
||||
/* 0x200 */ f32 mTriggerLeftLast;
|
||||
/* 0x204 */ f32 mTriggerLeftDelta;
|
||||
/* 0x208 */ u8 mHoldLockL;
|
||||
/* 0x209 */ u8 mTrigLockL;
|
||||
/* 0x20A */ u8 mLockLActive;
|
||||
/* 0x20B */ u8 mLockLJustActivated;
|
||||
/* 0x208 */ bool mHoldLockL;
|
||||
/* 0x209 */ bool mTrigLockL;
|
||||
/* 0x20A */ bool mLockLActive;
|
||||
/* 0x20B */ bool mLockLJustActivated;
|
||||
/* 0x20C */ f32 mTriggerRightLast;
|
||||
/* 0x210 */ f32 mTriggerRightDelta;
|
||||
/* 0x214 */ u8 mHoldLockR;
|
||||
/* 0x215 */ u8 mTrigLockR;
|
||||
/* 0x216 */ u8 mLockRActive;
|
||||
/* 0x217 */ u8 mLockRJustActivated;
|
||||
/* 0x214 */ bool mHoldLockR;
|
||||
/* 0x215 */ bool mTrigLockR;
|
||||
/* 0x216 */ bool mLockRActive;
|
||||
/* 0x217 */ bool mLockRJustActivated;
|
||||
/* 0x218 */ bool mHoldX;
|
||||
/* 0x219 */ bool mTrigX;
|
||||
/* 0x21A */ bool mHoldY;
|
||||
@@ -1324,9 +1365,6 @@ public:
|
||||
/* 0x968 */ f32 field_0x968;
|
||||
/* 0x96C */ f32 field_0x96c;
|
||||
/* 0x970 */ dCamSetup_c mCamSetup;
|
||||
#if DEBUG
|
||||
u8 unk_debug_0xbc4[0x10];
|
||||
#endif
|
||||
/* 0xAEC */ dCamParam_c mCamParam;
|
||||
/* 0xB0C */ u8 field_0xb0c;
|
||||
/* 0xB0D */ u8 field_0xb0d[0xd58 - 0xb0d];
|
||||
|
||||
@@ -13,6 +13,8 @@ enum dDbgCam_KeyAction {
|
||||
|
||||
class dDbgCamera_c;
|
||||
|
||||
extern dDbgCamera_c dDbgCamera;
|
||||
|
||||
class dDbgCamKey_c {
|
||||
public:
|
||||
dDbgCamKey_c() {}
|
||||
|
||||
+8
-4
@@ -186,8 +186,12 @@ struct stage_camera_class {
|
||||
|
||||
// AROB / RARO
|
||||
struct stage_arrow_data_class {
|
||||
/* 0x00 */ cXyz position;
|
||||
/* 0x0C */ csXyz angle;
|
||||
/* 0x00 */ f32 posX;
|
||||
/* 0x04 */ f32 posY;
|
||||
/* 0x08 */ f32 posZ;
|
||||
/* 0x0C */ s16 angleX;
|
||||
/* 0x0E */ s16 angleY;
|
||||
/* 0x10 */ s16 angleZ;
|
||||
/* 0x12 */ s16 field_0x12;
|
||||
}; // Size: 0x14
|
||||
|
||||
@@ -684,8 +688,8 @@ public:
|
||||
/* vt[91] */ virtual void setElst(dStage_Elst_c* i_Elst) { mElst = i_Elst; }
|
||||
/* vt[92] */ virtual dStage_Elst_c* getElst(void);
|
||||
|
||||
s16 getWorldRollAngleX() { return (s16)mWorldRollAngleX; }
|
||||
s16 getWorldRollDirAngleY() { return mWorldRollDirAngleY; }
|
||||
s16 getWorldRollAngleX() const { return (s16)mWorldRollAngleX; }
|
||||
s16 getWorldRollDirAngleY() const { return mWorldRollDirAngleY; }
|
||||
|
||||
public:
|
||||
/* 0x08 */ stage_camera_class* mCamera;
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
#include "d/d_bg_s_chk.h" // IWYU pragma: export
|
||||
#include "d/d_bg_w.h" // IWYU pragma: export
|
||||
#include "d/d_drawlist.h" // IWYU pragma: export
|
||||
#include "d/d_bg_s_sph_chk.h" // IWYU pragma: export
|
||||
#include "d/d_com_inf_game.h" // IWYU pragma: export
|
||||
#include "m_Do/m_Do_graphic.h" // IWYU pragma: export
|
||||
#include "JSystem/J2DGraph/J2DOrthoGraph.h" // IWYU pragma: export
|
||||
|
||||
@@ -55,8 +55,8 @@ int daTagMhint_c::create() {
|
||||
->m_entries[field_0x56d]
|
||||
.m_arrow_idx];
|
||||
|
||||
eyePos.set(arrow_data_p->position.x, arrow_data_p->position.y,
|
||||
arrow_data_p->position.z);
|
||||
eyePos.set(arrow_data_p->posX, arrow_data_p->posY,
|
||||
arrow_data_p->posZ);
|
||||
attention_info.position = eyePos;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,11 +25,10 @@ int daTagMmsg_c::create() {
|
||||
|
||||
if (!checkNoAttention()) {
|
||||
s32 roomNo = fopAcM_GetRoomNo(this);
|
||||
cXyz* tmp =
|
||||
stage_arrow_data_class* arrowData =
|
||||
&dComIfGp_getRoomArrow(roomNo)
|
||||
->m_entries[dComIfGp_getRoomCamera(roomNo)->m_entries[mAttention].m_arrow_idx]
|
||||
.position;
|
||||
eyePos.set(tmp->x, tmp->y, tmp->z);
|
||||
->m_entries[dComIfGp_getRoomCamera(roomNo)->m_entries[mAttention].m_arrow_idx];
|
||||
eyePos.set(arrowData->posX, arrowData->posY, arrowData->posZ);
|
||||
attention_info.position = eyePos;
|
||||
}
|
||||
|
||||
|
||||
@@ -55,11 +55,10 @@ int daTagMstop_c::create() {
|
||||
|
||||
if (!checkNoAttention()) {
|
||||
s32 room = fopAcM_GetRoomNo(this);
|
||||
cXyz* pos = &dComIfGp_getRoomArrow(room)
|
||||
->m_entries[dComIfGp_getRoomCamera(room)->m_entries[idx].m_arrow_idx]
|
||||
.position;
|
||||
stage_arrow_data_class* arrowData = &dComIfGp_getRoomArrow(room)
|
||||
->m_entries[dComIfGp_getRoomCamera(room)->m_entries[idx].m_arrow_idx];
|
||||
|
||||
eyePos.set(pos->x, pos->y, pos->z);
|
||||
eyePos.set(arrowData->posX, arrowData->posY, arrowData->posZ);
|
||||
attention_info.position = eyePos;
|
||||
}
|
||||
|
||||
|
||||
@@ -1498,8 +1498,8 @@ void daTbox_c::settingDropDemoCamera() {
|
||||
cXyz spA0;
|
||||
cXyz spAC;
|
||||
|
||||
spA0.x = stage_arrow_data->position.x;
|
||||
spA0.z = stage_arrow_data->position.z;
|
||||
spA0.x = stage_arrow_data->posX;
|
||||
spA0.z = stage_arrow_data->posZ;
|
||||
spAC.x = home.pos.x;
|
||||
spAC.z = home.pos.z;
|
||||
f32 var_f30 = spA0.abs(spAC);
|
||||
@@ -1510,16 +1510,16 @@ void daTbox_c::settingDropDemoCamera() {
|
||||
s16 angle;
|
||||
getDropSAngle(&angle);
|
||||
|
||||
spB8.x = stage_arrow_data->position.x;
|
||||
spB8.x = stage_arrow_data->posX;
|
||||
spB8.y = 0.0f;
|
||||
spB8.z = stage_arrow_data->position.z;
|
||||
spB8.z = stage_arrow_data->posZ;
|
||||
spB8 -= home.pos;
|
||||
|
||||
Mtx mtx;
|
||||
MTXRotAxisRad(mtx, &spC4, cM_s2rad(angle));
|
||||
mDoMtx_multVec(mtx, &spB8, &spB8);
|
||||
spB8 += home.pos;
|
||||
spB8.y = stage_arrow_data->position.y;
|
||||
spB8.y = stage_arrow_data->posY;
|
||||
|
||||
cXyz cam_eye;
|
||||
cXyz cam_center;
|
||||
@@ -1527,10 +1527,10 @@ void daTbox_c::settingDropDemoCamera() {
|
||||
cam_eye = spB8;
|
||||
cam_center = home.pos;
|
||||
|
||||
f32 var_f29 = cM_ssin(stage_arrow_data->angle.x);
|
||||
f32 var_f28 = cM_scos(stage_arrow_data->angle.x);
|
||||
f32 var_f29 = cM_ssin(stage_arrow_data->angleX);
|
||||
f32 var_f28 = cM_scos(stage_arrow_data->angleX);
|
||||
f32 dist = var_f30 * (var_f29 / var_f28);
|
||||
if (stage_arrow_data->angle.x > 0) {
|
||||
if (stage_arrow_data->angleX > 0) {
|
||||
dist = -dist;
|
||||
}
|
||||
|
||||
|
||||
+682
-48
File diff suppressed because it is too large
Load Diff
+2793
-1657
File diff suppressed because it is too large
Load Diff
@@ -2260,8 +2260,8 @@ bool dCamera_c::gameOverEvCamera() {
|
||||
}
|
||||
|
||||
if (!bVar9 && bVar3) {
|
||||
mViewCache.mCenter += mMonitor.field_0x14;
|
||||
mViewCache.mEye += (mMonitor.field_0x14 * 0.98f);
|
||||
mViewCache.mCenter += mMonitor.field_0x14.field_0x0;
|
||||
mViewCache.mEye += (mMonitor.field_0x14.field_0x0 * 0.98f);
|
||||
}
|
||||
|
||||
mViewCache.mDirection.Val(mViewCache.mEye - mViewCache.mCenter);
|
||||
|
||||
Reference in New Issue
Block a user