mirror of
https://github.com/GTAmodding/re3.git
synced 2024-11-15 17:19:00 +00:00
Timer, main
This commit is contained in:
parent
1587815fca
commit
08d78fb6ff
3 changed files with 53 additions and 59 deletions
|
@ -436,6 +436,7 @@ public:
|
|||
bool GetLeftShockJustDown() { return !!(NewState.LeftShock && !OldState.LeftShock); }
|
||||
bool GetRightShockJustDown() { return !!(NewState.RightShock && !OldState.RightShock); }
|
||||
bool GetStartJustDown() { return !!(NewState.Start && !OldState.Start); }
|
||||
bool GetSelectJustDown() { return !!(NewState.Select && !OldState.Select); }
|
||||
bool GetLeftStickXJustDown() { return !!(NewState.LeftStickX && !OldState.LeftStickX); }
|
||||
bool GetLeftStickYJustDown() { return !!(NewState.LeftStickY && !OldState.LeftStickY); }
|
||||
|
||||
|
@ -461,6 +462,7 @@ public:
|
|||
bool GetRightShoulder1(void) { return !!NewState.RightShoulder1; }
|
||||
bool GetRightShoulder2(void) { return !!NewState.RightShoulder2; }
|
||||
bool GetStart() { return !!NewState.Start; }
|
||||
bool GetSelect() { return !!NewState.Select; }
|
||||
int16 GetLeftStickX(void) { return NewState.LeftStickX; }
|
||||
int16 GetLeftStickY(void) { return NewState.LeftStickY; }
|
||||
int16 GetRightStickX(void) { return NewState.RightStickX; }
|
||||
|
@ -478,4 +480,4 @@ public:
|
|||
};
|
||||
|
||||
VALIDATE_SIZE(CPad, 0xFC);
|
||||
extern CPad Pads[MAX_PADS];
|
||||
extern CPad Pads[MAX_PADS];
|
||||
|
|
|
@ -7,6 +7,8 @@
|
|||
#include "Timer.h"
|
||||
#include "SpecialFX.h"
|
||||
|
||||
// --MIAMI: file done
|
||||
|
||||
uint32 CTimer::m_snTimeInMilliseconds;
|
||||
PauseModeTime CTimer::m_snTimeInMillisecondsPauseMode = 1;
|
||||
|
||||
|
@ -96,7 +98,7 @@ void CTimer::Update(void)
|
|||
|
||||
_oldPerfCounter = pc;
|
||||
|
||||
float updInCyclesScaled = updInCycles * ms_fTimeScale;
|
||||
float updInCyclesScaled = GetIsPaused() ? updInCycles : updInCyclesScaled * ms_fTimeScale;
|
||||
|
||||
// We need that real frame time to fix transparent menu bug.
|
||||
#ifndef FIX_HIGH_FPS_BUGS_ON_FRONTEND
|
||||
|
|
|
@ -644,7 +644,7 @@ ProcessSlowMode(void)
|
|||
|
||||
do
|
||||
{
|
||||
if ( CPad::GetPad(1)->GetLeftShoulder1JustDown() || CPad::GetPad(1)->GetRightShoulder1() )
|
||||
if ( CPad::GetPad(1)->GetSelectJustDown() || CPad::GetPad(1)->GetStart() )
|
||||
break;
|
||||
|
||||
if ( stop )
|
||||
|
@ -658,10 +658,7 @@ ProcessSlowMode(void)
|
|||
RwCameraBeginUpdate(Scene.camera);
|
||||
RwCameraEndUpdate(Scene.camera);
|
||||
|
||||
if ( CPad::GetPad(1)->GetLeftShoulder1JustDown() || CPad::GetPad(1)->GetRightShoulder1() )
|
||||
break;
|
||||
|
||||
} while (!CPad::GetPad(1)->GetRightShoulder1());
|
||||
} while (!CPad::GetPad(1)->GetSelectJustDown() && !CPad::GetPad(1)->GetStart());
|
||||
|
||||
|
||||
CPad::GetPad(0)->OldState.LeftStickX = lX;
|
||||
|
@ -714,22 +711,32 @@ int32 FrameSamples;
|
|||
|
||||
struct tZonePrint
|
||||
{
|
||||
char name[12];
|
||||
CRect rect;
|
||||
char name[11];
|
||||
char area[5];
|
||||
CRect rect;
|
||||
};
|
||||
|
||||
tZonePrint ZonePrint[] =
|
||||
{
|
||||
{ "suburban", CRect(-1639.4f, 1014.3f, -226.23f, -1347.9f) },
|
||||
{ "comntop", CRect(-223.52f, 203.62f, 616.79f, -413.6f) },
|
||||
{ "comnbtm", CRect(-227.24f, -413.6f, 620.51f, -911.84f) },
|
||||
{ "comse", CRect( 200.35f, -911.84f, 620.51f, -1737.3f) },
|
||||
{ "comsw", CRect(-223.52f, -911.84f, 200.35f, -1737.3f) },
|
||||
{ "industsw", CRect( 744.05f, -473.0f, 1067.5f, -1331.5f) },
|
||||
{ "industne", CRect( 1067.5f, 282.19f, 1915.3f, -473.0f) },
|
||||
{ "industnw", CRect( 744.05f, 324.95f, 1067.5f, -473.0f) },
|
||||
{ "industse", CRect( 1070.3f, -473.0f, 1918.1f, -1331.5f) },
|
||||
{ "no zone", CRect( 0.0f, 0.0f, 0.0f, 0.0f) }
|
||||
{ "DOWNTOWN", "GM", CRect(-1500.0f, 1500.0f, -300.0f, 980.0f)},
|
||||
{ "DOWNTOWS", "KB", CRect(-1200.0f, 980.0f, -300.0f, 435.0f)},
|
||||
{ "GOLF", "NT", CRect(-300.0f, 660.0f, 320.0f, -255.0f)},
|
||||
{ "LITTLEHA", "AG", CRect(-1250.0f, -310.0f, -746.0f, -926.0f)},
|
||||
{ "HAITI", "CJ", CRect(-1355.0f, 30.0f, -637.0f, -304.0f)},
|
||||
{ "HAITIN", "SM", CRect(-1355.0f, 435.0f, -637.0f, 30.0f)},
|
||||
{ "DOCKS", "AW", CRect(-1122.0f, -926.0f, -609.0f, -1575.0f)},
|
||||
{ "AIRPORT", "NT", CRect(-2000.0f, 200.0f, -871.0f, -2000.0f)},
|
||||
{ "STARISL", "CJ", CRect(-724.0f, -320.0f, -40.0f, -380.0f)},
|
||||
{ "CENT.ISLA", "NT", CRect(-163.0f, 1260.0f, 120.0f, 830.0f)},
|
||||
{ "MALL", "AW", CRect( 300.0f, 1266.0f, 483.0f, 995.0f)},
|
||||
{ "MANSION", "KB", CRect(-724.0f, -500.0f, -40.0f, -670.0f)},
|
||||
{ "NBEACH", "AS", CRect( 120.0f, 1340.0f, 900.0f, 600.0f)},
|
||||
{ "NBEACHBT", "AS", CRect( 200.0f, 680.0f, 660.0f, -50.0f)},
|
||||
{ "NBEACHW", "AS", CRect(-93.0f, 80.0f, 410.0f, -680.0f)},
|
||||
{ "OCEANDRV", "AC", CRect( 200.0f, -964.0f, 955.0f, -1797.0f)},
|
||||
{ "OCEANDN", "WS", CRect( 400.0f, 50.0f, 955.0f, -964.0f)},
|
||||
{ "WASHINGTN", "AC", CRect(-320.0f, -487.0f, 500.0f, -1200.0f)},
|
||||
{ "WASHINBTM", "AC", CRect(-255.0f, -1200.0f, 500.0f, -1690.0f)}
|
||||
};
|
||||
|
||||
#ifndef MASTER
|
||||
|
@ -737,14 +744,12 @@ void
|
|||
DisplayGameDebugText()
|
||||
{
|
||||
static bool bDisplayPosn = false;
|
||||
static bool bDisplayRate = false;
|
||||
static bool bDisplayCheatStr = false;
|
||||
static bool bDisplayCheatStr = false; // custom
|
||||
|
||||
#ifndef FINAL
|
||||
{
|
||||
SETTWEAKPATH("GameDebugText");
|
||||
TWEAKBOOL(bDisplayPosn);
|
||||
TWEAKBOOL(bDisplayRate);
|
||||
TWEAKBOOL(bDisplayCheatStr);
|
||||
}
|
||||
#endif
|
||||
|
@ -777,23 +782,8 @@ DisplayGameDebugText()
|
|||
FramesPerSecondCounter = 0.0f;
|
||||
FrameSamples = 0;
|
||||
}
|
||||
|
||||
if ( !TheCamera.WorldViewerBeingUsed
|
||||
&& CPad::GetPad(1)->GetSquare()
|
||||
&& CPad::GetPad(1)->GetTriangle()
|
||||
&& CPad::GetPad(1)->GetLeftShoulder2JustDown() )
|
||||
{
|
||||
bDisplayPosn = !bDisplayPosn;
|
||||
}
|
||||
|
||||
if ( CPad::GetPad(1)->GetSquare()
|
||||
&& CPad::GetPad(1)->GetTriangle()
|
||||
&& CPad::GetPad(1)->GetRightShoulder2JustDown() )
|
||||
{
|
||||
bDisplayRate = !bDisplayRate;
|
||||
}
|
||||
|
||||
if ( bDisplayPosn || bDisplayRate )
|
||||
if ( bDisplayPosn )
|
||||
{
|
||||
CVector pos = FindPlayerCoors();
|
||||
int32 ZoneId = ARRAY_SIZE(ZonePrint)-1; // no zone
|
||||
|
@ -810,43 +800,42 @@ DisplayGameDebugText()
|
|||
}
|
||||
|
||||
//NOTE: fps should be 30, but its 29 due to different fp2int conversion
|
||||
if ( bDisplayRate )
|
||||
sprintf(str, "X:%5.1f, Y:%5.1f, Z:%5.1f, F-%d, %s", pos.x, pos.y, pos.z, (int32)FramesPerSecond, ZonePrint[ZoneId].name);
|
||||
else
|
||||
sprintf(str, "X:%5.1f, Y:%5.1f, Z:%5.1f, %s", pos.x, pos.y, pos.z, ZonePrint[ZoneId].name);
|
||||
|
||||
sprintf(str, "X:%4.0f Y:%4.0f Z:%4.0f F-%d %s-%s", pos.x, pos.y, pos.z, (int32)FramesPerSecond,
|
||||
ZonePrint[ZoneId].name, ZonePrint[ZoneId].area);
|
||||
|
||||
AsciiToUnicode(str, ustr);
|
||||
|
||||
// Let's not scale those numbers, they look better that way :eyes:
|
||||
CFont::SetPropOff();
|
||||
CFont::SetPropOn();
|
||||
CFont::SetBackgroundOff();
|
||||
CFont::SetScale(0.7f, 1.5f);
|
||||
CFont::SetScale(SCREEN_SCALE_X(0.6f), SCREEN_SCALE_Y(0.8f));
|
||||
CFont::SetCentreOff();
|
||||
CFont::SetRightJustifyOff();
|
||||
CFont::SetJustifyOff();
|
||||
CFont::SetBackGroundOnlyTextOff();
|
||||
CFont::SetWrapx(640.0f);
|
||||
CFont::SetFontStyle(FONT_HEADING);
|
||||
|
||||
CFont::SetWrapx(SCREEN_STRETCH_X(DEFAULT_SCREEN_WIDTH));
|
||||
CFont::SetFontStyle(FONT_STANDARD);
|
||||
CFont::SetDropColor(CRGBA(0, 0, 0, 255));
|
||||
CFont::SetDropShadowPosition(2);
|
||||
CFont::SetColor(CRGBA(0, 0, 0, 255));
|
||||
CFont::PrintString(42.0f, 42.0f, ustr);
|
||||
CFont::PrintString(41.0f, 41.0f, ustr);
|
||||
|
||||
CFont::SetColor(CRGBA(255, 108, 0, 255));
|
||||
CFont::SetColor(CRGBA(205, 205, 0, 255));
|
||||
CFont::PrintString(40.0f, 40.0f, ustr);
|
||||
}
|
||||
|
||||
// custom
|
||||
if (bDisplayCheatStr)
|
||||
{
|
||||
sprintf(str, "%s", CPad::KeyBoardCheatString);
|
||||
AsciiToUnicode(str, ustr);
|
||||
|
||||
CFont::SetPropOff();
|
||||
CFont::SetPropOn();
|
||||
CFont::SetBackgroundOff();
|
||||
CFont::SetScale(0.7f, 1.5f);
|
||||
CFont::SetScale(SCREEN_SCALE_X(0.6f), SCREEN_SCALE_Y(0.8f));
|
||||
CFont::SetCentreOn();
|
||||
CFont::SetBackGroundOnlyTextOff();
|
||||
CFont::SetWrapx(640.0f);
|
||||
CFont::SetFontStyle(FONT_HEADING);
|
||||
CFont::SetWrapx(SCREEN_STRETCH_X(DEFAULT_SCREEN_WIDTH));
|
||||
CFont::SetFontStyle(FONT_STANDARD);
|
||||
|
||||
CFont::SetColor(CRGBA(0, 0, 0, 255));
|
||||
CFont::PrintString(SCREEN_SCALE_X(DEFAULT_SCREEN_WIDTH * 0.5f)+2.f, SCREEN_SCALE_FROM_BOTTOM(20.0f)+2.f, ustr);
|
||||
|
@ -968,7 +957,7 @@ Render2dStuff(void)
|
|||
CSceneEdit::Draw();
|
||||
else
|
||||
CHud::Draw();
|
||||
// TODO(Miami)
|
||||
|
||||
CSpecialFX::Render2DFXs();
|
||||
CUserDisplay::OnscnTimer.ProcessForDisplay();
|
||||
CMessages::Display();
|
||||
|
@ -1007,6 +996,9 @@ Render2dStuffAfterFade(void)
|
|||
DisplayGameDebugText();
|
||||
#endif
|
||||
|
||||
#ifdef MOBILE_IMPROVEMENTS
|
||||
if (CDraw::FadeValue != 0)
|
||||
#endif
|
||||
CHud::DrawAfterFade();
|
||||
CFont::DrawFonts();
|
||||
CCredits::Render();
|
||||
|
@ -1065,9 +1057,7 @@ Idle(void *arg)
|
|||
if(arg == nil)
|
||||
return;
|
||||
|
||||
// m_bRenderGameInMenu is there in III PS2 but I don't know about VC PS2.
|
||||
if((!FrontEndMenuManager.m_bMenuActive/* || FrontEndMenuManager.m_bRenderGameInMenu*/) &&
|
||||
TheCamera.GetScreenFadeStatus() != FADE_2)
|
||||
if(!FrontEndMenuManager.m_bMenuActive && TheCamera.GetScreenFadeStatus() != FADE_2)
|
||||
{
|
||||
#ifdef GTA_PC
|
||||
// This is from SA, but it's nice for windowed mode
|
||||
|
|
Loading…
Reference in a new issue