mirror of https://github.com/zeldaret/tp.git
d_camera almost matching (equivalent) (#2633)
This commit is contained in:
parent
3d5108e4df
commit
54f5a36264
|
|
@ -221,7 +221,7 @@ public:
|
|||
/* 80844590 */ int draw();
|
||||
/* 8084478C */ ~daHorse_c();
|
||||
|
||||
/* 80182D04 */ BOOL getLashDashStart() const { return checkResetStateFlg0(RFLG0_LASH_DASH_START); }
|
||||
/* 80182D04 */ u32 getLashDashStart() const { return checkResetStateFlg0(RFLG0_LASH_DASH_START); }
|
||||
|
||||
|
||||
bool checkNoBombProc() const { return m_procID == PROC_WAIT_e || m_procID == PROC_MOVE_e; }
|
||||
|
|
@ -257,7 +257,7 @@ public:
|
|||
daHoZelda_c* getZeldaActor() { return (daHoZelda_c*)m_zeldaActorKeep.getActor(); }
|
||||
void setZeldaActor(fopAc_ac_c* i_actor) { m_zeldaActorKeep.setData(i_actor); }
|
||||
|
||||
bool checkTurnStandCamera() const { return checkResetStateFlg0(RFLG0_TURN_STAND_CAMERA); }
|
||||
u32 checkTurnStandCamera() const { return checkResetStateFlg0(RFLG0_TURN_STAND_CAMERA); }
|
||||
BOOL checkTurnStand() const { return checkResetStateFlg0(RFLG0_TURN_STAND); }
|
||||
u32 checkRodeoMode() const { return checkStateFlg0(FLG0_RODEO_MODE); }
|
||||
bool checkCutTurnCancel() const { return checkEndResetStateFlg0(ERFLG0_CUT_TURN_CANCEL); }
|
||||
|
|
@ -266,7 +266,7 @@ public:
|
|||
BOOL checkHorseCallWait() const { return checkStateFlg0(FLG0_NO_DRAW_WAIT); }
|
||||
BOOL checkTurn() const { return m_procID == PROC_TURN_e && field_0x1720 == 0; }
|
||||
BOOL checkStop() const { return m_procID == PROC_STOP_e; }
|
||||
bool checkJump() const { return m_procID == PROC_JUMP_e; }
|
||||
BOOL checkJump() const { return m_procID == PROC_JUMP_e; }
|
||||
bool checkWait() const { return m_procID == PROC_WAIT_e; }
|
||||
bool checkLand() const { return m_procID == PROC_LAND_e && field_0x171a == 0; }
|
||||
bool checkGetOff() const { return fabsf(speedF) < 3.0f; }
|
||||
|
|
|
|||
|
|
@ -153,6 +153,8 @@ public:
|
|||
f32 CusCus() { return mCusCus; }
|
||||
f32 ParallelDist() { return mParallelDist; }
|
||||
f32 CurveWeight() { return mCurveWeight; }
|
||||
s16 MapToolCameraLongTimer() { return mMapToolCamLongTimer; }
|
||||
s16 MapToolCameraShortTimer() { return mMapToolCamShortTimer; }
|
||||
|
||||
/* 0x000 */ f32 mDrawNear;
|
||||
/* 0x004 */ f32 mDrawFar;
|
||||
|
|
@ -210,8 +212,8 @@ public:
|
|||
/* 0x0D0 */ f32 mLockonChangeCushion;
|
||||
/* 0x0D4 */ f32 field_0xd4;
|
||||
/* 0x0D8 */ f32 field_0xd8;
|
||||
/* 0x0DC */ u16 mMapToolCamShortTimer;
|
||||
/* 0x0DE */ u16 mMapToolCamLongTimer;
|
||||
/* 0x0DC */ s16 mMapToolCamShortTimer;
|
||||
/* 0x0DE */ s16 mMapToolCamLongTimer;
|
||||
/* 0x0E0 */ f32 field_0xe0;
|
||||
/* 0x0E4 */ f32 field_0xe4;
|
||||
/* 0x0E8 */ f32 field_0xe8;
|
||||
|
|
|
|||
|
|
@ -2,12 +2,13 @@
|
|||
#define D_D_CAMERA_H
|
||||
|
||||
#include "d/d_attention.h"
|
||||
#include "d/d_bg_s_lin_chk.h"
|
||||
#include "d/d_bg_s_gnd_chk.h"
|
||||
#include "d/d_bg_s_lin_chk.h"
|
||||
#include "d/d_cam_param.h"
|
||||
#include "d/d_drawlist.h"
|
||||
#include "d/d_spline_path.h"
|
||||
#include "d/d_stage.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
dAttention_c* dComIfGp_getAttention();
|
||||
|
|
@ -92,7 +93,7 @@ struct dCamera_event_param {
|
|||
|
||||
struct dCamera_event_data {
|
||||
/* 0x000 */ u8 field_0x0;
|
||||
/* 0x004 */ int field_0x4;
|
||||
/* 0x004 */ int mStaffIdx;
|
||||
/* 0x008 */ int field_0x8;
|
||||
/* 0x00C */ int field_0xc;
|
||||
/* 0x010 */ u8 field_0x10;
|
||||
|
|
@ -144,6 +145,8 @@ class dCamera_c {
|
|||
public:
|
||||
class dCamInfo_c {
|
||||
public:
|
||||
dCamInfo_c() {}
|
||||
~dCamInfo_c() {}
|
||||
/* 0x00 */ cXyz mCenter;
|
||||
/* 0x0C */ cXyz mEye;
|
||||
/* 0x18 */ f32 mFovy;
|
||||
|
|
@ -781,6 +784,16 @@ public:
|
|||
/* 0x20 */ cXyz field_0x20;
|
||||
};
|
||||
|
||||
struct ParaRailData {
|
||||
/* 0x00 */ int field_0x00;
|
||||
/* 0x04 */ fopAc_ac_c* field_0x04;
|
||||
/* 0x08 */ fopAc_ac_c* field_0x08;
|
||||
/* 0x0C */ u8 field_0x0c;
|
||||
/* 0x0D */ u8 field_0x0d;
|
||||
/* 0x0E */ cXyz field_0x10;
|
||||
/* 0x1C */ f32 field_0x1c;
|
||||
};
|
||||
|
||||
struct OneSideData {
|
||||
/* 0x00 */ int field_0x00;
|
||||
/* 0x04 */ u8 field_0x04[0x1c - 0x04];
|
||||
|
|
@ -813,6 +826,54 @@ public:
|
|||
/* 0x38 */ cXyz field_0x38;
|
||||
};
|
||||
|
||||
struct FixedPositionData {
|
||||
/* 0x00 */ int field_0x00;
|
||||
/* 0x04 */ s32 field_0x04;
|
||||
/* 0x08 */ f32 field_0x08;
|
||||
/* 0x08 */ f32 field_0x0c;
|
||||
/* 0x10 */ cXyz field_0x10;
|
||||
/* 0x1C */ cXyz field_0x1c;
|
||||
/* 0x28 */ u8 field_0x28;
|
||||
/* 0x2C */ int field_0x2c;
|
||||
/* 0x30 */ int field_0x30;
|
||||
};
|
||||
|
||||
struct RideData {
|
||||
/* 0x00 */ int field_0x00;
|
||||
/* 0x04 */ int prove;
|
||||
/* 0x08 */ int field_0x08;
|
||||
/* 0x0C */ u32 field_0x0c;
|
||||
/* 0x10 */ int field_0x10;
|
||||
/* 0x14 */ int field_0x14;
|
||||
/* 0x18 */ int field_0x18;
|
||||
/* 0x1C */ u8 field_0x1c;
|
||||
/* 0x1D */ u8 field_0x1d;
|
||||
/* 0x20 */ int field_0x20;
|
||||
/* 0x24 */ cXyz field_0x24;
|
||||
/* 0x30 */ cXyz field_0x30;
|
||||
/* 0x3C */ cXyz field_0x3c;
|
||||
/* 0x48 */ cSAngle field_0x48;
|
||||
/* 0x4C */ f32 field_0x4c;
|
||||
/* 0x50 */ f32 field_0x50;
|
||||
/* 0x54 */ f32 field_0x54;
|
||||
/* 0x58 */ f32 field_0x58;
|
||||
/* 0x5C */ cXyz field_0x5c;
|
||||
/* 0x68 */ cXyz field_0x68;
|
||||
/* 0x74 */ f32 field_0x74;
|
||||
/* 0x78 */ f32 field_0x78;
|
||||
/* 0x7C */ f32 field_0x7c;
|
||||
/* 0x80 */ f32 field_0x80;
|
||||
/* 0x84 */ cXyz field_0x84;
|
||||
/* 0x90 */ u8 field_0x90;
|
||||
/* 0x91 */ u8 field_0x91;
|
||||
/* 0x92 */ u8 field_0x92;
|
||||
/* 0x93 */ bool field_0x93;
|
||||
/* 0x94 */ fopAc_ac_c* field_0x94;
|
||||
/* 0x98 */ daHorse_c* field_0x98;
|
||||
/* 0x9C */ fopAc_ac_c* field_0x9c;
|
||||
/* 0xA0 */ fopAc_ac_c* field_0xa0;
|
||||
};
|
||||
|
||||
/* 80088A7C */ int StartEventCamera(int, int, ...);
|
||||
/* 80088BBC */ int EndEventCamera(int);
|
||||
/* 80088C24 */ int searchEventArgData(char*);
|
||||
|
|
@ -1102,7 +1163,7 @@ public:
|
|||
/* 0x164 */ int field_0x164;
|
||||
/* 0x168 */ u8 field_0x168;
|
||||
/* 0x16C */ int field_0x16c;
|
||||
/* 0x170 */ int field_0x170;
|
||||
/* 0x170 */ u32 field_0x170;
|
||||
/* 0x174 */ u32 mCurCamStyleTimer; // this might be a signed int in ShieldD
|
||||
/* 0x178 */ u32 mCameraID;
|
||||
/* 0x17C */ u32 mPadID;
|
||||
|
|
@ -1246,6 +1307,9 @@ 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,7 @@
|
|||
#include "cmath.h" // IWYU pragma: export
|
||||
#include "string.h" // IWYU pragma: export
|
||||
#include "d/d_com_inf_game.h" // IWYU pragma: export
|
||||
#include "d/d_bg_s_sph_chk.h" // IWYU pragma: export
|
||||
#include "d/d_bg_w.h" // IWYU pragma: export
|
||||
#include "m_Do/m_Do_graphic.h" // IWYU pragma: export
|
||||
#include "JSystem/J2DGraph/J2DOrthoGraph.h" // IWYU pragma: export
|
||||
|
|
|
|||
|
|
@ -156,6 +156,14 @@ public:
|
|||
#endif
|
||||
}
|
||||
|
||||
static void onWideZoom() {
|
||||
//TODO
|
||||
}
|
||||
|
||||
static void offWideZoom() {
|
||||
//TODO
|
||||
}
|
||||
|
||||
static GXTexObj mFrameBufferTexObj;
|
||||
static GXTexObj mZbufferTexObj;
|
||||
static bloom_c m_bloom;
|
||||
|
|
|
|||
1529
src/d/d_camera.cpp
1529
src/d/d_camera.cpp
File diff suppressed because it is too large
Load Diff
|
|
@ -114,8 +114,8 @@ bool dCamera_c::getEvIntData(int* i_data, char* i_event) {
|
|||
} else {
|
||||
*i_data = *(int*)mEventData.mEventParams[index].value;
|
||||
}
|
||||
} else if (dComIfGp_evmng_getMySubstanceNum(mEventData.field_0x4, i_event) != 0) {
|
||||
*i_data = *dComIfGp_evmng_getMyIntegerP(mEventData.field_0x4, i_event);
|
||||
} else if (dComIfGp_evmng_getMySubstanceNum(mEventData.mStaffIdx, i_event) != 0) {
|
||||
*i_data = *dComIfGp_evmng_getMyIntegerP(mEventData.mStaffIdx, i_event);
|
||||
} else {
|
||||
#if DEBUG
|
||||
if (mCurCamStyleTimer == 0 && mCamSetup.CheckFlag(0x40)) {
|
||||
|
|
@ -144,8 +144,8 @@ bool dCamera_c::getEvFloatData(f32* i_data, char* i_event) {
|
|||
}
|
||||
|
||||
*i_data = *(f32*)mEventData.mEventParams[index].value;
|
||||
} else if (dComIfGp_evmng_getMySubstanceNum(mEventData.field_0x4, i_event) != 0) {
|
||||
*i_data = *dComIfGp_evmng_getMyFloatP(mEventData.field_0x4, i_event);
|
||||
} else if (dComIfGp_evmng_getMySubstanceNum(mEventData.mStaffIdx, i_event) != 0) {
|
||||
*i_data = *dComIfGp_evmng_getMyFloatP(mEventData.mStaffIdx, i_event);
|
||||
} else {
|
||||
#if DEBUG
|
||||
if (mCurCamStyleTimer == 0 && mCamSetup.CheckFlag(0x40)) {
|
||||
|
|
@ -177,8 +177,8 @@ int dCamera_c::getEvFloatListData(f32** i_data, char* i_event) {
|
|||
|
||||
*i_data = (f32*)mEventData.mEventParams[index].value;
|
||||
num = mEventData.mEventParams[index].field_0x10;
|
||||
} else if ((num = dComIfGp_evmng_getMySubstanceNum(mEventData.field_0x4, i_event))) {
|
||||
*i_data = dComIfGp_evmng_getMyFloatP(mEventData.field_0x4, i_event);
|
||||
} else if ((num = dComIfGp_evmng_getMySubstanceNum(mEventData.mStaffIdx, i_event))) {
|
||||
*i_data = dComIfGp_evmng_getMyFloatP(mEventData.mStaffIdx, i_event);
|
||||
} else {
|
||||
#if DEBUG
|
||||
if (mCurCamStyleTimer == 0 && mCamSetup.CheckFlag(0x40)) {
|
||||
|
|
@ -210,8 +210,8 @@ int dCamera_c::getEvXyzListData(cXyz** i_data, char* i_event) {
|
|||
|
||||
*i_data = (cXyz*)mEventData.mEventParams[index].value;
|
||||
return mEventData.mEventParams[index].field_0x10;
|
||||
} else if ((num = dComIfGp_evmng_getMySubstanceNum(mEventData.field_0x4, i_event))) {
|
||||
*i_data = dComIfGp_evmng_getMyXyzP(mEventData.field_0x4, i_event);
|
||||
} else if ((num = dComIfGp_evmng_getMySubstanceNum(mEventData.mStaffIdx, i_event))) {
|
||||
*i_data = dComIfGp_evmng_getMyXyzP(mEventData.mStaffIdx, i_event);
|
||||
} else {
|
||||
#if DEBUG
|
||||
if (mCurCamStyleTimer == 0 && mCamSetup.CheckFlag(0x40)) {
|
||||
|
|
@ -242,8 +242,8 @@ char* dCamera_c::getEvStringPntData(char* i_event) {
|
|||
}
|
||||
|
||||
string = (char*)mEventData.mEventParams[index].value;
|
||||
} else if (dComIfGp_evmng_getMySubstanceNum(mEventData.field_0x4, i_event)) {
|
||||
string = dComIfGp_evmng_getMyStringP(mEventData.field_0x4, i_event);
|
||||
} else if (dComIfGp_evmng_getMySubstanceNum(mEventData.mStaffIdx, i_event)) {
|
||||
string = dComIfGp_evmng_getMyStringP(mEventData.mStaffIdx, i_event);
|
||||
} else {
|
||||
#if DEBUG
|
||||
if (mCurCamStyleTimer == 0 && mCamSetup.CheckFlag(0x40)) {
|
||||
|
|
@ -272,8 +272,8 @@ bool dCamera_c::getEvIntData(int* i_data, char* i_event, int param_2) {
|
|||
} else {
|
||||
*i_data = *(int*)mEventData.mEventParams[index].value;
|
||||
}
|
||||
} else if (dComIfGp_evmng_getMySubstanceNum(mEventData.field_0x4, i_event) != 0) {
|
||||
*i_data = *dComIfGp_evmng_getMyIntegerP(mEventData.field_0x4, i_event);
|
||||
} else if (dComIfGp_evmng_getMySubstanceNum(mEventData.mStaffIdx, i_event) != 0) {
|
||||
*i_data = *dComIfGp_evmng_getMyIntegerP(mEventData.mStaffIdx, i_event);
|
||||
} else {
|
||||
*i_data = param_2;
|
||||
#if DEBUG
|
||||
|
|
@ -302,8 +302,8 @@ bool dCamera_c::getEvFloatData(f32* i_data, char* i_event, f32 param_2) {
|
|||
} else {
|
||||
*i_data = *(f32*)mEventData.mEventParams[index].value;
|
||||
}
|
||||
} else if (dComIfGp_evmng_getMySubstanceNum(mEventData.field_0x4, i_event) != 0) {
|
||||
*i_data = *dComIfGp_evmng_getMyFloatP(mEventData.field_0x4, i_event);
|
||||
} else if (dComIfGp_evmng_getMySubstanceNum(mEventData.mStaffIdx, i_event) != 0) {
|
||||
*i_data = *dComIfGp_evmng_getMyFloatP(mEventData.mStaffIdx, i_event);
|
||||
} else {
|
||||
*i_data = param_2;
|
||||
#if DEBUG
|
||||
|
|
@ -331,8 +331,8 @@ bool dCamera_c::getEvXyzData(cXyz* i_data, char* i_event, cXyz param_2) {
|
|||
} else {
|
||||
*i_data = *(cXyz*)mEventData.mEventParams[index].value;
|
||||
}
|
||||
} else if (dComIfGp_evmng_getMySubstanceNum(mEventData.field_0x4, i_event) != 0) {
|
||||
*i_data = *dComIfGp_evmng_getMyXyzP(mEventData.field_0x4, i_event);
|
||||
} else if (dComIfGp_evmng_getMySubstanceNum(mEventData.mStaffIdx, i_event) != 0) {
|
||||
*i_data = *dComIfGp_evmng_getMyXyzP(mEventData.mStaffIdx, i_event);
|
||||
} else {
|
||||
*i_data = param_2;
|
||||
#if DEBUG
|
||||
|
|
@ -360,8 +360,8 @@ bool dCamera_c::getEvStringData(char* i_data, char* i_event, char* param_2) {
|
|||
} else {
|
||||
strcpy(i_data, (char*)mEventData.mEventParams[index].value);
|
||||
}
|
||||
} else if (dComIfGp_evmng_getMySubstanceNum(mEventData.field_0x4, i_event) != 0) {
|
||||
strcpy(i_data, dComIfGp_evmng_getMyStringP(mEventData.field_0x4, i_event));
|
||||
} else if (dComIfGp_evmng_getMySubstanceNum(mEventData.mStaffIdx, i_event) != 0) {
|
||||
strcpy(i_data, dComIfGp_evmng_getMyStringP(mEventData.mStaffIdx, i_event));
|
||||
} else {
|
||||
strcpy(i_data, param_2);
|
||||
#if DEBUG
|
||||
|
|
@ -391,8 +391,8 @@ char* dCamera_c::getEvStringPntData(char* i_event, char* param_1) {
|
|||
} else {
|
||||
string = (char*)mEventData.mEventParams[index].value;
|
||||
}
|
||||
} else if (dComIfGp_evmng_getMySubstanceNum(mEventData.field_0x4, i_event)) {
|
||||
string = dComIfGp_evmng_getMyStringP(mEventData.field_0x4, i_event);
|
||||
} else if (dComIfGp_evmng_getMySubstanceNum(mEventData.mStaffIdx, i_event)) {
|
||||
string = dComIfGp_evmng_getMyStringP(mEventData.mStaffIdx, i_event);
|
||||
} else {
|
||||
string = param_1;
|
||||
#if DEBUG
|
||||
|
|
@ -3427,8 +3427,8 @@ bool dCamera_c::fixedFramesEvCamera() {
|
|||
|
||||
int substanceNum;
|
||||
char* key = "Centers";
|
||||
if ((substanceNum = dComIfGp_evmng_getMySubstanceNum(mEventData.field_0x4, key)) != 0) {
|
||||
fframes_p->field_0x1c[1] = dComIfGp_evmng_getMyXyzP(mEventData.field_0x4, key);
|
||||
if ((substanceNum = dComIfGp_evmng_getMySubstanceNum(mEventData.mStaffIdx, key)) != 0) {
|
||||
fframes_p->field_0x1c[1] = dComIfGp_evmng_getMyXyzP(mEventData.mStaffIdx, key);
|
||||
if (fframes_p->field_0x38 > substanceNum) {
|
||||
fframes_p->field_0x38 = substanceNum;
|
||||
}
|
||||
|
|
@ -3438,8 +3438,8 @@ bool dCamera_c::fixedFramesEvCamera() {
|
|||
}
|
||||
|
||||
key = "Eyes";
|
||||
if ((substanceNum = dComIfGp_evmng_getMySubstanceNum(mEventData.field_0x4, key)) != 0) {
|
||||
fframes_p->field_0x1c[0] = dComIfGp_evmng_getMyXyzP(mEventData.field_0x4, key);
|
||||
if ((substanceNum = dComIfGp_evmng_getMySubstanceNum(mEventData.mStaffIdx, key)) != 0) {
|
||||
fframes_p->field_0x1c[0] = dComIfGp_evmng_getMyXyzP(mEventData.mStaffIdx, key);
|
||||
if (fframes_p->field_0x38 > substanceNum) {
|
||||
fframes_p->field_0x38 = substanceNum;
|
||||
}
|
||||
|
|
@ -3449,8 +3449,8 @@ bool dCamera_c::fixedFramesEvCamera() {
|
|||
}
|
||||
|
||||
key = "Fovys";
|
||||
if ((substanceNum = dComIfGp_evmng_getMySubstanceNum(mEventData.field_0x4, key)) != 0) {
|
||||
fframes_p->field_0x24 = dComIfGp_evmng_getMyFloatP(mEventData.field_0x4, key);
|
||||
if ((substanceNum = dComIfGp_evmng_getMySubstanceNum(mEventData.mStaffIdx, key)) != 0) {
|
||||
fframes_p->field_0x24 = dComIfGp_evmng_getMyFloatP(mEventData.mStaffIdx, key);
|
||||
if (fframes_p->field_0x38 > substanceNum) {
|
||||
fframes_p->field_0x38 = substanceNum;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue