diff --git a/src/SB/Core/x/xMath.h b/src/SB/Core/x/xMath.h index 8f1ca7f..3d26a7e 100644 --- a/src/SB/Core/x/xMath.h +++ b/src/SB/Core/x/xMath.h @@ -22,10 +22,11 @@ // #define PI _771_1 // #define ONEEIGHTY _778_0 #define PI 3.1415927f +#define PI_DOUBLE 3.141592653589793 #define ONEEIGHTY 180.0f -#define DEG2RAD(x) ((PI) * (x) / (ONEEIGHTY)) -#define RAD2DEG(x) ((ONEEIGHTY) * (x) / (PI)) +#define DEG2RAD(x) ((PI_DOUBLE) * (x) / (ONEEIGHTY)) +#define RAD2DEG(x) ((ONEEIGHTY) * (x) / (PI_DOUBLE)) #define FLOAT_MAX 1e38f #define FLOAT_MIN -1e38f diff --git a/src/SB/Core/x/xSGT.cpp b/src/SB/Core/x/xSGT.cpp deleted file mode 100644 index 13e03b2..0000000 --- a/src/SB/Core/x/xSGT.cpp +++ /dev/null @@ -1,75 +0,0 @@ -S32 xSGT_LoadPrefsCB(void* vp, st_XSAVEGAME_DATA* xsgdata, st_XSAVEGAME_READCONTEXT* rctxt, U32 ui, - S32 i) -{ - U32 stereo; - - xSGReadData(xsgdata, rctxt, &stereo, 1); - xSGReadData(xsgdata, rctxt, &gSnd.categoryVolFader[2], 1); - xSGReadData(xsgdata, rctxt, &gSnd.categoryVolFader[0], 1); - xSGReadData(xsgdata, rctxt, &globals.option_vibration, 1); - if (globals.option_vibration != 0) - { - xPadRumbleEnable(globals.currentActivePad, 1); - } - else - { - xPadRumbleEnable(globals.currentActivePad, 0); - } - return 1; -} - -S32 xSGT_LoadLoadCB(void* vp, st_XSAVEGAME_DATA* xsgdata, st_XSAVEGAME_READCONTEXT* rctxt, U32 ui, - S32 i) -{ - char bigbuf[32] = {}; - S32 compdiff = 0; - - xSGReadData(xsgdata, rctxt, bigbuf, 1, strlen(currSceneStr)); - if (strlen(currSceneStr) != strlen(bigbuf)) - { - compdiff = 1; - } - if (compdiff == 0) - { - strcpy(sceneRead, bigbuf); - } - - return compdiff == 0; -} - -S32 xSGT_SaveProcPrefsCB(void* vp, st_XSAVEGAME_DATA* xsgdata, st_XSAVEGAME_WRITECONTEXT* wctxt) -{ - int sum = 0; - sum += xSGWriteData(xsgdata, wctxt, &gSnd.stereo, 1); - sum += xSGWriteData(xsgdata, wctxt, &gSnd.categoryVolFader[2], 1); - sum += xSGWriteData(xsgdata, wctxt, &gSnd.categoryVolFader[0], 1); - sum += xSGWriteData(xsgdata, wctxt, &globals.option_vibration, 1); - return sum + 1; -} - -S32 xSGT_SaveInfoPrefsCB(void* p1, st_XSAVEGAME_DATA* data, S32* i, S32* j) -{ - *i = 16; - *j = *i * 2; - return 1; -} - -S32 xSGT_SaveProcCB(void* vp, st_XSAVEGAME_DATA* xsgdata, st_XSAVEGAME_WRITECONTEXT* wctxt) -{ - if (globals.sceneCur->sceneID == 'PG12') - { - strcpy(currSceneStr, xUtil_idtag2string('HB01', 0)); - } - else - { - strcpy(currSceneStr, xUtil_idtag2string(globals.sceneCur->sceneID, 0)); - } - return xSGWriteData(xsgdata, wctxt, currSceneStr, 1, strlen(currSceneStr)) + 1; -} - -S32 xSGT_SaveInfoCB(void* vp, st_XSAVEGAME_DATA* xsgdata, S32* need, S32* most) -{ - *need = xSGWriteStrLen(currSceneStr); - *most = *need << 1; - return 1; -} diff --git a/src/SB/Core/x/xWad3.cpp b/src/SB/Core/x/xWad3.cpp index e78e2e1..c1f8143 100644 --- a/src/SB/Core/x/xWad3.cpp +++ b/src/SB/Core/x/xWad3.cpp @@ -1611,7 +1611,7 @@ extern volatile U32 rndseed; // made this volatile so xrand() matches F32 xDangleClamp(F32 a) { F32 rad360 = 2 * PI; - F32 rem = xfmod(a, rad360); + F32 rem = fmod(a, 2 * PI_DOUBLE); if (rem >= PI) { @@ -1646,7 +1646,7 @@ F32 xAngleClampFast(F32 a) F32 xAngleClamp(F32 a) { F32 rad360 = 2 * PI; - F32 rem = xfmod(a, rad360); + F32 rem = fmod(a, 2 * PI_DOUBLE); if (rem < 0.0f) { diff --git a/src/SB/Core/x/xsavegame.cpp b/src/SB/Core/x/xsavegame.cpp new file mode 100644 index 0000000..e69de29 diff --git a/src/SB/Game/zCamera.h b/src/SB/Game/zCamera.h index de3144e..ef329d8 100644 --- a/src/SB/Game/zCamera.h +++ b/src/SB/Game/zCamera.h @@ -38,68 +38,73 @@ struct zCamTweakLook F32 pitch; }; -extern F32 zcam_overrot_tmr; -extern S32 zcam_near; -extern S32 zcam_mode; -extern S32 zcam_bbounce; -extern S32 zcam_lbbounce; -extern S32 zcam_convers; -extern S32 zcam_lconvers; -extern S32 zcam_longbounce; -extern S32 zcam_highbounce; -extern S32 zcam_cutscene; -extern S32 zcam_reward; -extern xVec3* zcam_playervel; -extern S32 zcam_fly; -extern S32 zcam_flypaused; -extern void* zcam_flydata; -extern U32 zcam_flysize; -extern F32 zcam_flytime; -extern U32 zcam_flyasset_current; -extern xCamAsset* zcam_dest; -extern F32 zcam_tmr; -extern F32 zcam_ttm; -extern F32 zcam_fovcurr; -extern F32 zcam_fovdest; - +// unknown if these are even used? extern xCamera zcam_backupcam; extern xCamera zcam_backupconvers; extern xQuat zcam_quat; -extern F32 zcam_pad_pyaw_scale; -extern F32 zcam_pad_pitch_scale; -extern F32 zcam_near_d; -extern F32 zcam_near_h; -extern F32 zcam_near_pitch; -extern F32 zcam_far_d; -extern F32 zcam_far_h; -extern F32 zcam_far_pitch; -extern F32 zcam_wall_d; -extern F32 zcam_wall_h; -extern F32 zcam_wall_pitch; -extern F32 zcam_above_d; -extern F32 zcam_above_h; -extern F32 zcam_above_pitch; -extern F32 zcam_below_d; -extern F32 zcam_below_h; -extern F32 zcam_below_pitch; -extern F32 zcam_highbounce_d; -extern F32 zcam_highbounce_h; -extern F32 zcam_highbounce_pitch; -extern F32 zcam_overrot_min; -extern F32 zcam_overrot_mid; -extern F32 zcam_overrot_max; -extern F32 zcam_overrot_rate; -extern F32 zcam_overrot_tstart; -extern F32 zcam_overrot_tend; -extern F32 zcam_overrot_velmin; -extern F32 zcam_overrot_velmax; -extern F32 zcam_overrot_tmanual; -extern F32 zcam_mintgtheight; - - +// .sbss +F32 zcam_overrot_tmr; +S32 zcam_near; U8 zcam_centering; U8 zcam_lastcentering; +S32 zcam_mode; +S32 zcam_bbounce; +S32 zcam_lbbounce; +S32 zcam_convers; +S32 zcam_lconvers; +S32 zcam_longbounce; +S32 zcam_highbounce; +S32 zcam_cutscene; +S32 zcam_reward; +xVec3* zcam_playervel; +S32 zcam_fly; +S32 zcam_flypaused; +void* zcam_flydata; +U32 zcam_flysize; +F32 zcam_flytime; +F32 zcam_flyrate; +S32 zcam_flyJustStopped; +xCamAsset* zcam_dest; +F32 zcam_tmr; +F32 zcam_ttm; +F32 zcam_fovcurr; +F32 zcam_fovdest; +U32 zcam_flyasset_current; +S32 sCamTweakCount; +// .sdata + +F32 zcam_pad_pyaw_scale = 0.18124573f; // unknown math +F32 zcam_pad_pitch_scale = 1.0f / 52; +F32 zcam_near_d = 3.0f; +F32 zcam_near_h = 1.8f; +F32 zcam_near_pitch = DEG2RAD(10); +F32 zcam_far_d = 5.0f; +F32 zcam_far_h = 3.0f; +F32 zcam_far_pitch = DEG2RAD(15); +F32 zcam_wall_d = 7.5f; +F32 zcam_wall_h = 2.0f; +F32 zcam_wall_pitch = DEG2RAD(18); +F32 zcam_above_d = 0.2f; +F32 zcam_above_h = 2.2f; +F32 zcam_above_pitch = DEG2RAD(70); +F32 zcam_below_d = 0.6f; +F32 zcam_below_h = 0.2f; +F32 zcam_below_pitch = DEG2RAD(-70); +F32 zcam_highbounce_d = 0.2f; +F32 zcam_highbounce_h = 5.0f; +F32 zcam_highbounce_pitch = DEG2RAD(89); +F32 zcam_overrot_min = DEG2RAD(25); +F32 zcam_overrot_mid = DEG2RAD(90); +F32 zcam_overrot_max = DEG2RAD(170); +F32 zcam_overrot_rate = 0.1f; +F32 zcam_overrot_tstart = 1.5f; +F32 zcam_overrot_tend = 2.5f; +F32 zcam_overrot_velmin = 3.0f; +F32 zcam_overrot_velmax = 5.0f; +F32 zcam_overrot_tmanual = 1.5f; +F32 zcam_mintgtheight = FLOAT_MIN; + bool sNearToggleEnabled; F32 sCamTweakLerp; F32 sCamTweakTime; diff --git a/src/SB/Game/zFX.cpp b/src/SB/Game/zFX.cpp new file mode 100644 index 0000000..d16759d --- /dev/null +++ b/src/SB/Game/zFX.cpp @@ -0,0 +1 @@ +#include "zFX.h" diff --git a/src/SB/Game/zFX.h b/src/SB/Game/zFX.h index e9a5b44..ad32856 100644 --- a/src/SB/Game/zFX.h +++ b/src/SB/Game/zFX.h @@ -77,7 +77,7 @@ struct popper_data F32* weight; }; -extern U32 gFXSurfaceFlags; +U32 gFXSurfaceFlags; void on_spawn_bubble_wall(const tweak_info& tweak); void zFX_SceneEnter(RpWorld* world); diff --git a/src/SB/Game/zFXRibbonPool.cpp b/src/SB/Game/zFXRibbonPool.cpp new file mode 100644 index 0000000..90ebb25 --- /dev/null +++ b/src/SB/Game/zFXRibbonPool.cpp @@ -0,0 +1 @@ +#include "zFXRibbonPool.h" diff --git a/src/SB/Game/zFXRibbonPool.h b/src/SB/Game/zFXRibbonPool.h new file mode 100644 index 0000000..54d3460 --- /dev/null +++ b/src/SB/Game/zFXRibbonPool.h @@ -0,0 +1,4 @@ +#ifndef ZFXRIBBONPOOL_H +#define ZFXRIBBONPOOL_H + +#endif diff --git a/src/SB/Game/zFire.h b/src/SB/Game/zFire.h new file mode 100644 index 0000000..6273fcb --- /dev/null +++ b/src/SB/Game/zFire.h @@ -0,0 +1,4 @@ +#ifndef ZFIRE_H +#define ZFIRE_H + +#endif diff --git a/src/SB/Game/zFlameEmitter.cpp b/src/SB/Game/zFlameEmitter.cpp new file mode 100644 index 0000000..3e7ac54 --- /dev/null +++ b/src/SB/Game/zFlameEmitter.cpp @@ -0,0 +1 @@ +#include "zFlameEmitter.h" diff --git a/src/SB/Game/zFlameEmitter.h b/src/SB/Game/zFlameEmitter.h new file mode 100644 index 0000000..f616136 --- /dev/null +++ b/src/SB/Game/zFlameEmitter.h @@ -0,0 +1,4 @@ +#ifndef ZFLAMEEMITTER_H +#define ZFLAMEEMITTER_H + +#endif diff --git a/src/SB/Game/zGame.h b/src/SB/Game/zGame.h index 2aa9cf9..c75e844 100644 --- a/src/SB/Game/zGame.h +++ b/src/SB/Game/zGame.h @@ -4,12 +4,12 @@ #include "zEntPlayer.h" #include "zGameState.h" -extern eSNDCurrentPlayer gPendingPlayer; -extern F32 sTimeElapsed; -extern U32 gLevelChanged; -extern U32 startPressed; -extern U8 sHackSmoothedUpdate; -extern U32 gBusStopIsRunning; +//extern eSNDCurrentPlayer gPendingPlayer; +F32 sTimeElapsed; +U32 gLevelChanged; +U32 startPressed = -1; +//extern U8 sHackSmoothedUpdate; +//extern U32 gBusStopIsRunning; enum _tagGameVidMode { @@ -106,9 +106,8 @@ enum eGameWhereAmI eGameWhere_SetupPlayerEnd }; -extern iTime sTimeCurrent; -extern iTime sTimeLast; -extern F32 sTimeElapsed; +iTime sTimeCurrent; +iTime sTimeLast; void zGameSetupPlayer(); void xDrawBegin(); diff --git a/src/SB/Game/zLasso.cpp b/src/SB/Game/zLasso.cpp new file mode 100644 index 0000000..e27e625 --- /dev/null +++ b/src/SB/Game/zLasso.cpp @@ -0,0 +1 @@ +#include "zLasso.h" diff --git a/src/SB/Game/zMain.cpp b/src/SB/Game/zMain.cpp index e69de29..9f53879 100644 --- a/src/SB/Game/zMain.cpp +++ b/src/SB/Game/zMain.cpp @@ -0,0 +1 @@ +#include "zMain.h" diff --git a/src/SB/Game/zMenuSB.cpp b/src/SB/Game/zMenuSB.cpp new file mode 100644 index 0000000..6ff5516 --- /dev/null +++ b/src/SB/Game/zMenuSB.cpp @@ -0,0 +1 @@ +#include "zMenuSB.h" diff --git a/src/SB/Game/zMenuSB.h b/src/SB/Game/zMenuSB.h new file mode 100644 index 0000000..12a1cac --- /dev/null +++ b/src/SB/Game/zMenuSB.h @@ -0,0 +1,4 @@ +#ifndef ZMENUSB_H +#define ZMENUSB_H + +#endif diff --git a/src/SB/Game/zMovePoint.cpp b/src/SB/Game/zMovePoint.cpp new file mode 100644 index 0000000..8ad60c7 --- /dev/null +++ b/src/SB/Game/zMovePoint.cpp @@ -0,0 +1 @@ +#include "zMovePoint.h" diff --git a/src/SB/Game/zMusic.cpp b/src/SB/Game/zMusic.cpp new file mode 100644 index 0000000..ea9ecf4 --- /dev/null +++ b/src/SB/Game/zMusic.cpp @@ -0,0 +1 @@ +#include "zMusic.h" diff --git a/src/SB/Game/zNPC.cpp b/src/SB/Game/zNPC.cpp new file mode 100644 index 0000000..533b14b --- /dev/null +++ b/src/SB/Game/zNPC.cpp @@ -0,0 +1 @@ +#include "zNPC.h" diff --git a/src/SB/Game/zNPC.h b/src/SB/Game/zNPC.h new file mode 100644 index 0000000..dabd57c --- /dev/null +++ b/src/SB/Game/zNPC.h @@ -0,0 +1,4 @@ +#ifndef ZNPC_H +#define ZNPC_H + +#endif diff --git a/src/SB/Game/zNPCTypes.cpp b/src/SB/Game/zNPCTypes.cpp new file mode 100644 index 0000000..70f13a9 --- /dev/null +++ b/src/SB/Game/zNPCTypes.cpp @@ -0,0 +1 @@ +#include "zNPCTypes.h" diff --git a/src/SB/Game/zParEmitter.cpp b/src/SB/Game/zParEmitter.cpp new file mode 100644 index 0000000..9bf9e67 --- /dev/null +++ b/src/SB/Game/zParEmitter.cpp @@ -0,0 +1 @@ +#include "zParEmitter.h" diff --git a/src/SB/Game/zParPTank.cpp b/src/SB/Game/zParPTank.cpp new file mode 100644 index 0000000..ffa7116 --- /dev/null +++ b/src/SB/Game/zParPTank.cpp @@ -0,0 +1 @@ +#include "zParPTank.h" diff --git a/src/SB/Game/zPendulum.cpp b/src/SB/Game/zPendulum.cpp new file mode 100644 index 0000000..595b490 --- /dev/null +++ b/src/SB/Game/zPendulum.cpp @@ -0,0 +1 @@ +#include "zPendulum.h" diff --git a/src/SB/Game/zPickupTable.cpp b/src/SB/Game/zPickupTable.cpp new file mode 100644 index 0000000..56b8a5b --- /dev/null +++ b/src/SB/Game/zPickupTable.cpp @@ -0,0 +1 @@ +#include "zPickupTable.h" diff --git a/src/SB/Game/zPlatform.cpp b/src/SB/Game/zPlatform.cpp new file mode 100644 index 0000000..6a57d8d --- /dev/null +++ b/src/SB/Game/zPlatform.cpp @@ -0,0 +1 @@ +#include "zPlatform.h" diff --git a/src/SB/Game/zPlayer.cpp b/src/SB/Game/zPlayer.cpp index 6cd7ed5..7dbec6a 100644 --- a/src/SB/Game/zPlayer.cpp +++ b/src/SB/Game/zPlayer.cpp @@ -1,9 +1 @@ #include "zPlayer.h" - -void zPlayerReset(zEnt* ent) -{ -} - -void zPlayerRender(zEnt* ent) -{ -} diff --git a/src/SB/Game/zPlayerBase.cpp b/src/SB/Game/zPlayerBase.cpp new file mode 100644 index 0000000..857809c --- /dev/null +++ b/src/SB/Game/zPlayerBase.cpp @@ -0,0 +1,9 @@ +#include "zPlayerBase.h" + +void zPlayerReset(zEnt* ent) +{ +} + +void zPlayerRender(zEnt* ent) +{ +} diff --git a/src/SB/Game/zPlayerBase.h b/src/SB/Game/zPlayerBase.h new file mode 100644 index 0000000..ed3d2c8 --- /dev/null +++ b/src/SB/Game/zPlayerBase.h @@ -0,0 +1,4 @@ +#ifndef ZPLAYERBASE_H +#define ZPLAYERBASE_H + +#endif diff --git a/src/SB/Game/zPortal.cpp b/src/SB/Game/zPortal.cpp new file mode 100644 index 0000000..99359cf --- /dev/null +++ b/src/SB/Game/zPortal.cpp @@ -0,0 +1 @@ +#include "zPortal.h" diff --git a/src/SB/Game/zRaceTimer.cpp b/src/SB/Game/zRaceTimer.cpp new file mode 100644 index 0000000..e69de29 diff --git a/src/SB/Game/zRaceTimer.h b/src/SB/Game/zRaceTimer.h new file mode 100644 index 0000000..14acb62 --- /dev/null +++ b/src/SB/Game/zRaceTimer.h @@ -0,0 +1,4 @@ +#ifndef ZRACETIMER_H +#define ZRACETIMER_H + +#endif diff --git a/src/SB/Game/zReactiveAnimation.h b/src/SB/Game/zReactiveAnimation.h new file mode 100644 index 0000000..786d619 --- /dev/null +++ b/src/SB/Game/zReactiveAnimation.h @@ -0,0 +1,4 @@ +#ifndef ZREACTIVEANIMATION_H +#define ZREACTIVEANIMATION_H + +#endif diff --git a/src/SB/Game/zReference.cpp b/src/SB/Game/zReference.cpp new file mode 100644 index 0000000..dfd03cc --- /dev/null +++ b/src/SB/Game/zReference.cpp @@ -0,0 +1 @@ +#include "zReference.h" diff --git a/src/SB/Game/zReference.h b/src/SB/Game/zReference.h new file mode 100644 index 0000000..7be9602 --- /dev/null +++ b/src/SB/Game/zReference.h @@ -0,0 +1,4 @@ +#ifndef ZREFERENCE_H +#define ZREFERENCE_H + +#endif diff --git a/src/SB/Game/zRing.cpp b/src/SB/Game/zRing.cpp new file mode 100644 index 0000000..e69de29 diff --git a/src/SB/Game/zRing.h b/src/SB/Game/zRing.h new file mode 100644 index 0000000..c4fd9e4 --- /dev/null +++ b/src/SB/Game/zRing.h @@ -0,0 +1 @@ +#include "zRing.h" diff --git a/src/SB/Game/zRingControl.cpp b/src/SB/Game/zRingControl.cpp new file mode 100644 index 0000000..63e5e0f --- /dev/null +++ b/src/SB/Game/zRingControl.cpp @@ -0,0 +1 @@ +#include "zRingControl.h" diff --git a/src/SB/Game/zRingControl.h b/src/SB/Game/zRingControl.h new file mode 100644 index 0000000..aedeaeb --- /dev/null +++ b/src/SB/Game/zRingControl.h @@ -0,0 +1,4 @@ +#ifndef ZRINGCONTROL_H +#define ZRINGCONTROL_H + +#endif diff --git a/src/SB/Game/zSaveLoad.cpp b/src/SB/Game/zSaveLoad.cpp index e8adf84..92f8e38 100644 --- a/src/SB/Game/zSaveLoad.cpp +++ b/src/SB/Game/zSaveLoad.cpp @@ -1,6 +1,173 @@ +#include "iTRC.h" + +#include "xSnd.h" + #include "zSaveLoad.h" -#include "iTRC.h" +U32 saveSuccess; +F32 time_last; +F32 time_current; +F32 time_elapsed = 0.01f; +iTime t0; +iTime t1; +S32 promptSel; +S32 badCard; +S32 sAvailable; +S32 sNeeded; +S32 sAccessType; +U8 preAutoSaving; + +S32 currentCard = -1; +S32 currentGame = -1; +F32 dontPoll = 1.0f; +S32 autoSaveCard = -1; + +char currSceneStr[32] = "TEMP"; +char sceneRead[32] = "0000"; +zSaveLoadUI zSaveLoadUITable[62] = { { 0, 0, "ld gameslot group" }, + { 1, 0, "ld memcards group" }, + { 2, 0, "ld format prompt group" }, + { 3, 0, "ld mc missing group" }, + { 4, 0, "mnu3 ld mc1" }, + { 5, 0, "mnu3 ld mc2" }, + { 6, 0, "ld gameslot 0" }, + { 7, 0, "ld gameslot 1" }, + { 8, 0, "ld gameslot 2" }, + { 9, 0, "ld gameslot 3" }, + { 10, 0, "ld gameslot 4" }, + { 11, 0, "ld gameslot 5" }, + { 12, 0, "ld gameslot 6" }, + { 13, 0, "ld gameslot 7" }, + { 14, 0, "ld format prompt" }, + { 15, 0, "ld format yes" }, + { 16, 0, "ld format no" }, + { 17, 0, "ld mc missing" }, + { 18, 0, "ld nogames" }, + { 19, 0, "ld nogames" }, + { 20, 0, "mnu3 start group" }, + { 21, 0, "sv gameslot group" }, + { 22, 0, "sv memcards group" }, + { 23, 0, "sv mc1" }, + { 24, 0, "sv mc2" }, + { 25, 0, "sv gameslot 0" }, + { 26, 0, "sv gameslot 1" }, + { 27, 0, "sv gameslot 2" }, + { 28, 0, "sv gameslot 3" }, + { 29, 0, "sv gameslot 4" }, + { 30, 0, "sv gameslot 5" }, + { 31, 0, "sv gameslot 6" }, + { 32, 0, "sv gameslot 7" }, + { 33, 0, "sv format prompt" }, + { 34, 0, "sv overwrite" }, + { 35, 0, "sv overwrite damaged" }, + { 36, 0, "sv mc missing" }, + { 37, 0, "sv nospace" }, + { 38, 0, "sv nospacegame" }, + { 39, 0, "ld mc dontremove" }, + { 40, 0, "sv mc dontremove" }, + { 41, 0, "mnu4 mc dontremove" }, + { 42, 0, "ld badload" }, + { 43, 0, "sv badsave" }, + { 44, 0, "mnu3 badformat" }, + { 45, 0, "mnu3 badformatnocard" }, + { 46, 0, "mnu4 badformat" }, + { 47, 0, "mnu4 badformatnocard" }, + { 48, 0, "mnu3 format confirm" }, + { 49, 0, "mnu4 format confirm" }, + { 50, 0, "sv format group" }, + { 51, 0, "mnu3 disk free" }, + { 52, 0, "mnu4 disk free" }, + { 53, 0, "sv card damaged" }, + { 54, 0, "sv badsavenocard" }, + { 55, 0, "ld damaged card" }, + { 56, 0, "sv damaged card" }, + { 57, 0, "ld wrong device" }, + { 58, 0, "sv wrong device" }, + { 59, 0, "ld damaged save" }, + { 60, 0, "ld damaged save game" }, + { 0, 0, NULL } }; + +char* thumbIconMap[15] = { "ThumbIconHB", "ThumbIconJF", "ThumbIconBB", "ThumbIconGL", + "ThumbIconB1", "ThumbIconRB", "ThumbIconBC", "ThumbIconSM", + "ThumbIconB2", "ThumbIconKF", "ThumbIconGY", "ThumbIconDB", + "ThumbIconB3", "ThumbIconHB", "ThumbIconHB" }; + +S32 xSGT_LoadPrefsCB(void* vp, st_XSAVEGAME_DATA* xsgdata, st_XSAVEGAME_READCONTEXT* rctxt, U32 ui, + S32 i) +{ + U32 stereo; + + xSGReadData(xsgdata, rctxt, &stereo, 1); + xSGReadData(xsgdata, rctxt, &gSnd.categoryVolFader[2], 1); + xSGReadData(xsgdata, rctxt, &gSnd.categoryVolFader[0], 1); + xSGReadData(xsgdata, rctxt, &globals.option_vibration, 1); + if (globals.option_vibration != 0) + { + xPadRumbleEnable(globals.currentActivePad, 1); + } + else + { + xPadRumbleEnable(globals.currentActivePad, 0); + } + return 1; +} + +S32 xSGT_LoadLoadCB(void* vp, st_XSAVEGAME_DATA* xsgdata, st_XSAVEGAME_READCONTEXT* rctxt, U32 ui, + S32 i) +{ + char bigbuf[32] = {}; + S32 compdiff = 0; + + xSGReadData(xsgdata, rctxt, bigbuf, 1, strlen(currSceneStr)); + if (strlen(currSceneStr) != strlen(bigbuf)) + { + compdiff = 1; + } + if (compdiff == 0) + { + strcpy(sceneRead, bigbuf); + } + + return compdiff == 0; +} + +S32 xSGT_SaveProcPrefsCB(void* vp, st_XSAVEGAME_DATA* xsgdata, st_XSAVEGAME_WRITECONTEXT* wctxt) +{ + int sum = 0; + sum += xSGWriteData(xsgdata, wctxt, &gSnd.stereo, 1); + sum += xSGWriteData(xsgdata, wctxt, &gSnd.categoryVolFader[2], 1); + sum += xSGWriteData(xsgdata, wctxt, &gSnd.categoryVolFader[0], 1); + sum += xSGWriteData(xsgdata, wctxt, &globals.option_vibration, 1); + return sum + 1; +} + +S32 xSGT_SaveInfoPrefsCB(void* p1, st_XSAVEGAME_DATA* data, S32* i, S32* j) +{ + *i = 16; + *j = *i * 2; + return 1; +} + +S32 xSGT_SaveProcCB(void* vp, st_XSAVEGAME_DATA* xsgdata, st_XSAVEGAME_WRITECONTEXT* wctxt) +{ + if (globals.sceneCur->sceneID == 'PG12') + { + strcpy(currSceneStr, xUtil_idtag2string('HB01', 0)); + } + else + { + strcpy(currSceneStr, xUtil_idtag2string(globals.sceneCur->sceneID, 0)); + } + return xSGWriteData(xsgdata, wctxt, currSceneStr, 1, strlen(currSceneStr)) + 1; +} + +S32 xSGT_SaveInfoCB(void* vp, st_XSAVEGAME_DATA* xsgdata, S32* need, S32* most) +{ + *need = xSGWriteStrLen(currSceneStr); + *most = *need << 1; + return 1; +} + void zSaveLoad_DispatchCB(U32 dispatchEvent, const F32* toParam) { diff --git a/src/SB/Game/zScene.cpp b/src/SB/Game/zScene.cpp index e9951b4..a454cea 100644 --- a/src/SB/Game/zScene.cpp +++ b/src/SB/Game/zScene.cpp @@ -750,7 +750,7 @@ void zSceneInit(U32 theSceneID, S32 reloadInProgress) xClimateInit(&gClimate); zSceneInitEnvironmentalSoundEffect(); - sHackSmoothedUpdate = 1; + //sHackSmoothedUpdate = 1; //FootstepHackSceneEnter(); zEntPickup_SceneEnter(); diff --git a/src/SB/Game/zScript.cpp b/src/SB/Game/zScript.cpp new file mode 100644 index 0000000..70dde74 --- /dev/null +++ b/src/SB/Game/zScript.cpp @@ -0,0 +1 @@ +#include "zScript.h" diff --git a/src/SB/Game/zScript.h b/src/SB/Game/zScript.h new file mode 100644 index 0000000..e07b624 --- /dev/null +++ b/src/SB/Game/zScript.h @@ -0,0 +1,4 @@ +#ifndef ZSCRIPT_H +#define ZSCRIPT_H + +#endif diff --git a/src/SB/Game/zShrapnel.cpp b/src/SB/Game/zShrapnel.cpp new file mode 100644 index 0000000..9bef813 --- /dev/null +++ b/src/SB/Game/zShrapnel.cpp @@ -0,0 +1 @@ +#include "zShrapnel.h" diff --git a/src/SB/Game/zSpotlight.cpp b/src/SB/Game/zSpotlight.cpp new file mode 100644 index 0000000..68eea66 --- /dev/null +++ b/src/SB/Game/zSpotlight.cpp @@ -0,0 +1 @@ +#include "zSpotlight.h" diff --git a/src/SB/Game/zSpotlight.h b/src/SB/Game/zSpotlight.h new file mode 100644 index 0000000..8659710 --- /dev/null +++ b/src/SB/Game/zSpotlight.h @@ -0,0 +1,4 @@ +#ifndef ZSPOTLIGHT_H +#define ZSPOTLIGHT_H + +#endif diff --git a/src/SB/Game/zStreamedSound.cpp b/src/SB/Game/zStreamedSound.cpp new file mode 100644 index 0000000..6a616c5 --- /dev/null +++ b/src/SB/Game/zStreamedSound.cpp @@ -0,0 +1 @@ +#include "zStreamedSound.h" diff --git a/src/SB/Game/zTaxi.cpp b/src/SB/Game/zTaxi.cpp new file mode 100644 index 0000000..22db812 --- /dev/null +++ b/src/SB/Game/zTaxi.cpp @@ -0,0 +1 @@ +#include "zTaxi.h" diff --git a/src/SB/Game/zTaxi.h b/src/SB/Game/zTaxi.h new file mode 100644 index 0000000..1521fd1 --- /dev/null +++ b/src/SB/Game/zTaxi.h @@ -0,0 +1,4 @@ +#ifndef ZTAXI_H +#define ZTAXI_H + +#endif diff --git a/src/SB/Game/zThrown.cpp b/src/SB/Game/zThrown.cpp new file mode 100644 index 0000000..9d6248b --- /dev/null +++ b/src/SB/Game/zThrown.cpp @@ -0,0 +1 @@ +#include "zThrown.h" diff --git a/src/SB/Game/zThrown.h b/src/SB/Game/zThrown.h new file mode 100644 index 0000000..ae9f6a2 --- /dev/null +++ b/src/SB/Game/zThrown.h @@ -0,0 +1,4 @@ +#ifndef ZTHROWN_H +#define ZTHROWN_H + +#endif diff --git a/src/SB/Game/zUI.h b/src/SB/Game/zUI.h index e7beaaf..ab0f7d3 100644 --- a/src/SB/Game/zUI.h +++ b/src/SB/Game/zUI.h @@ -1,10 +1,12 @@ #ifndef ZUI_H #define ZUI_H -#include "zEnt.h" - -#include "xMgr.h" +#include "xGroup.h" #include "xIni.h" +#include "xMgr.h" +#include "zConditional.h" +#include "zEnt.h" +#include "zTextbox.h" #include "zWadUI.h" struct zUIAsset : xDynAsset diff --git a/src/SB/Game/zUICustom.cpp b/src/SB/Game/zUICustom.cpp index 9ebaf50..a6d0880 100644 --- a/src/SB/Game/zUICustom.cpp +++ b/src/SB/Game/zUICustom.cpp @@ -1,3 +1,4 @@ +#include "zUI.h" #include "zUICustom.h" unsigned char zUICustomConditionallyDisabled::PreRender() diff --git a/src/SB/Game/zVentType.cpp b/src/SB/Game/zVentType.cpp new file mode 100644 index 0000000..e69de29 diff --git a/src/SB/Game/zVentType.h b/src/SB/Game/zVentType.h new file mode 100644 index 0000000..17ef635 --- /dev/null +++ b/src/SB/Game/zVentType.h @@ -0,0 +1,4 @@ +#ifndef ZVENTTYPE_H +#define ZVENTTYPE_H + +#endif diff --git a/src/SB/Game/zWad2.cpp b/src/SB/Game/zWad2.cpp index 4397a4f..2b7f1ba 100644 --- a/src/SB/Game/zWad2.cpp +++ b/src/SB/Game/zWad2.cpp @@ -9,7 +9,6 @@ char buffer[16]; // Why is there a duplicate in dwarf? //char buffer[16]; F32 scale; -U32 gFXSurfaceFlags; basic_rect screen_bounds; // are these both correct? basic_rect default_adjust; xFXRing sPatrickStunRing[3]; @@ -47,18 +46,13 @@ F32 thresh; S32 sMemDepthJustHIPStartPlayer; U32 sPlayerMarkerStartID; F32 sGameOverTimer; -F32 sTimeElapsed; F32 gRealTimeElapsed; -S64 sTimeLast; -S64 sTimeCurrent; -U32 gLevelChanged; S32 g_hiphopReloadHIP; S32 g_hiphopForcePortal; S32 g_hiphopResetOnly; S32 g_hiphopEnabled; xColor_tag sFadeColor; U32 gzAsyncSceneID; -U32 startPressed; xColor_tag black; xColor_tag clear; U32 gSoak; @@ -410,16 +404,24 @@ void (*cb_dispatch)(xBase*, xBase*, U32, F32*, xBase*, U32); // +#include "zNPCTypes.cpp" #include "zNPCMgr.cpp" +#include "zNPC.cpp" +#include "zMusic.cpp" +#include "zMovePoint.cpp" +#include "zMenuSB.cpp" #include "zMenu.cpp" #include "zLOD.cpp" #include "zLightWeight.cpp" #include "zLightning.cpp" #include "zLightEffect.cpp" #include "zLight.cpp" -// zPat / zLasso +#include "zLasso.cpp" #include "zGrid.cpp" #include "zGoo.cpp" #include "zGameState.cpp" #include "zGameExtras.cpp" #include "zGame.cpp" +#include "zFXRibbonPool.cpp" +#include "zFX.cpp" +#include "zFlameEmitter.cpp" diff --git a/src/SB/Game/zWad2.h b/src/SB/Game/zWad2.h index dd2f7fc..1ccb1ee 100644 --- a/src/SB/Game/zWad2.h +++ b/src/SB/Game/zWad2.h @@ -3,21 +3,21 @@ #include +#include "xCounter.h" +#include "xDebug.h" #include "xPartition.h" -#include "zNPCMgr.h" -#include "zNMECommon.h" +#include "xWad5.h" + +#include "zFMV.h" #include "zGame.h" #include "zGameExtras.h" +#include "zNPCMgr.h" #include "zLight.h" #include "zLightning.h" -#include "xDebug.h" #include "zLOD.h" -#include "xCounter.h" -#include "zFMV.h" -#include "zUI.h" #include "zMusic.h" - -#include "xWad5.h" +#include "zNMECommon.h" +#include "zUI.h" // Dwarf data says that most of these are only used here in zWad2.cpp diff --git a/src/SB/Game/zWad3.cpp b/src/SB/Game/zWad3.cpp index b7514f7..06d5c4f 100644 --- a/src/SB/Game/zWad3.cpp +++ b/src/SB/Game/zWad3.cpp @@ -1,105 +1,30 @@ #include "zWad3.h" #include "zVolume.cpp" +#include "zVentType.cpp" #include "zVent.cpp" #include "zVar.cpp" +#include "zThrown.cpp" +#include "zTaxi.cpp" #include "zSurface.cpp" +#include "zStreamedSound.cpp" +#include "zSpotlight.cpp" +#include "zShrapnel.cpp" +#include "zScript.cpp" #include "zScene.cpp" - -// xSGT / zSaveLoad - -U32 saveSuccess; -F32 time_last; -F32 time_current; -F32 time_elapsed = 0.01f; -iTime t0; -iTime t1; -S32 promptSel; -S32 badCard; -S32 sAvailable; -S32 sNeeded; -S32 sAccessType; -U8 preAutoSaving; - -S32 currentCard = -1; -S32 currentGame = -1; -F32 dontPoll = 1.0f; -S32 autoSaveCard = -1; - -char currSceneStr[32] = "TEMP"; -char sceneRead[32] = "0000"; -zSaveLoadUI zSaveLoadUITable[62] = { { 0, 0, "ld gameslot group" }, - { 1, 0, "ld memcards group" }, - { 2, 0, "ld format prompt group" }, - { 3, 0, "ld mc missing group" }, - { 4, 0, "mnu3 ld mc1" }, - { 5, 0, "mnu3 ld mc2" }, - { 6, 0, "ld gameslot 0" }, - { 7, 0, "ld gameslot 1" }, - { 8, 0, "ld gameslot 2" }, - { 9, 0, "ld gameslot 3" }, - { 10, 0, "ld gameslot 4" }, - { 11, 0, "ld gameslot 5" }, - { 12, 0, "ld gameslot 6" }, - { 13, 0, "ld gameslot 7" }, - { 14, 0, "ld format prompt" }, - { 15, 0, "ld format yes" }, - { 16, 0, "ld format no" }, - { 17, 0, "ld mc missing" }, - { 18, 0, "ld nogames" }, - { 19, 0, "ld nogames" }, - { 20, 0, "mnu3 start group" }, - { 21, 0, "sv gameslot group" }, - { 22, 0, "sv memcards group" }, - { 23, 0, "sv mc1" }, - { 24, 0, "sv mc2" }, - { 25, 0, "sv gameslot 0" }, - { 26, 0, "sv gameslot 1" }, - { 27, 0, "sv gameslot 2" }, - { 28, 0, "sv gameslot 3" }, - { 29, 0, "sv gameslot 4" }, - { 30, 0, "sv gameslot 5" }, - { 31, 0, "sv gameslot 6" }, - { 32, 0, "sv gameslot 7" }, - { 33, 0, "sv format prompt" }, - { 34, 0, "sv overwrite" }, - { 35, 0, "sv overwrite damaged" }, - { 36, 0, "sv mc missing" }, - { 37, 0, "sv nospace" }, - { 38, 0, "sv nospacegame" }, - { 39, 0, "ld mc dontremove" }, - { 40, 0, "sv mc dontremove" }, - { 41, 0, "mnu4 mc dontremove" }, - { 42, 0, "ld badload" }, - { 43, 0, "sv badsave" }, - { 44, 0, "mnu3 badformat" }, - { 45, 0, "mnu3 badformatnocard" }, - { 46, 0, "mnu4 badformat" }, - { 47, 0, "mnu4 badformatnocard" }, - { 48, 0, "mnu3 format confirm" }, - { 49, 0, "mnu4 format confirm" }, - { 50, 0, "sv format group" }, - { 51, 0, "mnu3 disk free" }, - { 52, 0, "mnu4 disk free" }, - { 53, 0, "sv card damaged" }, - { 54, 0, "sv badsavenocard" }, - { 55, 0, "ld damaged card" }, - { 56, 0, "sv damaged card" }, - { 57, 0, "ld wrong device" }, - { 58, 0, "sv wrong device" }, - { 59, 0, "ld damaged save" }, - { 60, 0, "ld damaged save game" }, - { 0, 0, NULL } }; - -char* thumbIconMap[15] = { "ThumbIconHB", "ThumbIconJF", "ThumbIconBB", "ThumbIconGL", - "ThumbIconB1", "ThumbIconRB", "ThumbIconBC", "ThumbIconSM", - "ThumbIconB2", "ThumbIconKF", "ThumbIconGY", "ThumbIconDB", - "ThumbIconB3", "ThumbIconHB", "ThumbIconHB" }; - -#include "xSGT.cpp" #include "zSaveLoad.cpp" - +#include "zRingControl.cpp" +#include "zRing.cpp" #include "zRewardsMgr.cpp" #include "zRenderState.cpp" +#include "zReference.cpp" +#include "zRaceTimer.cpp" +#include "zPortal.cpp" #include "zPlayerSB.cpp" +#include "zPlayerBase.cpp" #include "zPlayer.cpp" +#include "zPlatform.cpp" +#include "zPickupTable.cpp" +#include "zPendulum.cpp" +#include "zParPTank.cpp" +#include "zParEmitter.cpp" diff --git a/src/SB/Game/zWadUI.cpp b/src/SB/Game/zWadUI.cpp index 333ecd5..89ce43c 100644 --- a/src/SB/Game/zWadUI.cpp +++ b/src/SB/Game/zWadUI.cpp @@ -1,4 +1,3 @@ -#include "zWadUI.h" #include "zUI.h" // I believe this is correct? diff --git a/src/SB/Game/zWadUI.h b/src/SB/Game/zWadUI.h index ead6298..26263e8 100644 --- a/src/SB/Game/zWadUI.h +++ b/src/SB/Game/zWadUI.h @@ -1,16 +1,4 @@ #ifndef ZWADUI_H #define ZWADUI_H -#include "zEnt.h" - -#include "xMgr.h" -#include "xIni.h" -#include "xDynAsset.h" -#include "iColor.h" -#include "xCM.h" -#include "xGroup.h" -#include "zTextbox.h" -#include "zVar.h" -#include "zConditional.h" - #endif