summaryrefslogtreecommitdiffstats
path: root/src/core/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/main.cpp')
-rw-r--r--src/core/main.cpp91
1 files changed, 68 insertions, 23 deletions
diff --git a/src/core/main.cpp b/src/core/main.cpp
index 666758c8..a1c64a6d 100644
--- a/src/core/main.cpp
+++ b/src/core/main.cpp
@@ -58,6 +58,7 @@
#include "Console.h"
#include "timebars.h"
#include "GenericGameStorage.h"
+#include "MemoryCard.h"
#include "SceneEdit.h"
#include "debugmenu.h"
@@ -73,6 +74,9 @@ float FramesPerSecond = 30.0f;
bool gbPrintShite = false;
bool gbModelViewer;
+#ifdef TIMEBARS
+bool gbShowTimebars;
+#endif
int32 frameCount;
@@ -95,7 +99,6 @@ void TheGame(void);
void DebugMenuPopulate(void);
#endif
-
void
ValidateVersion()
{
@@ -189,14 +192,27 @@ DoFade(void)
if(CTimer::GetIsPaused())
return;
+#ifdef PS2_MENU
+ if(TheMemoryCard.JustLoadedDontFadeInYet){
+ TheMemoryCard.JustLoadedDontFadeInYet = false;
+ TheMemoryCard.TimeStartedCountingForFade = CTimer::GetTimeInMilliseconds();
+ }
+#else
if(JustLoadedDontFadeInYet){
JustLoadedDontFadeInYet = false;
TimeStartedCountingForFade = CTimer::GetTimeInMilliseconds();
}
+#endif
+#ifdef PS2_MENU
+ if(TheMemoryCard.StillToFadeOut){
+ if(CTimer::GetTimeInMilliseconds() - TheMemoryCard.TimeStartedCountingForFade > TheMemoryCard.TimeToStayFadedBeforeFadeOut){
+ TheMemoryCard.StillToFadeOut = false;
+#else
if(StillToFadeOut){
if(CTimer::GetTimeInMilliseconds() - TimeStartedCountingForFade > TimeToStayFadedBeforeFadeOut){
StillToFadeOut = false;
+#endif
TheCamera.Fade(3.0f, FADE_IN);
TheCamera.ProcessFade();
TheCamera.ProcessMusicFade();
@@ -238,7 +254,11 @@ DoFade(void)
fadeColor.a = alpha;
}
- if(TheCamera.m_WideScreenOn){
+ if(TheCamera.m_WideScreenOn
+#ifdef CUTSCENE_BORDERS_SWITCH
+ && CMenuManager::m_PrefsCutsceneBorders
+#endif
+ ){
// what's this?
float y = SCREEN_HEIGHT/2 * TheCamera.m_ScreenReductionPercentage/100.0f;
rect.left = 0.0f;
@@ -451,12 +471,16 @@ ResetLoadingScreenBar()
NumberOfChunksLoaded = 0.0f;
}
-// TODO: compare with PS2
void
LoadingScreen(const char *str1, const char *str2, const char *splashscreen)
{
CSprite2d *splash;
+#ifdef DISABLE_LOADING_SCREEN
+ if (str1 && str2)
+ return;
+#endif
+
#ifndef RANDOMSPLASH
if(CGame::frenchGame || CGame::germanGame || !CGame::nastyGame)
splashscreen = "mainsc2";
@@ -842,7 +866,11 @@ Render2dStuff(void)
CReplay::Display();
CPickups::RenderPickUpText();
- if(TheCamera.m_WideScreenOn)
+ if(TheCamera.m_WideScreenOn
+#ifdef CUTSCENE_BORDERS_SWITCH
+ && CMenuManager::m_PrefsCutsceneBorders
+#endif
+ )
TheCamera.DrawBordersForWideScreen();
CPed *player = FindPlayerPed();
@@ -896,17 +924,16 @@ Render2dStuff(void)
void
RenderMenus(void)
{
-#ifdef PS2
- if (FrontEndMenuManager.m_bWantToDraw)
+ if (FrontEndMenuManager.m_bMenuActive)
{
+#ifdef PS2
gMainHeap.PushMemId(_TODOCONST(17));
+#endif
FrontEndMenuManager.DrawFrontEnd();
+#ifdef PS2
gMainHeap.PopMemId();
- }
-#else
- if(FrontEndMenuManager.m_bMenuActive)
- FrontEndMenuManager.DrawFrontEnd();
#endif
+ }
}
void
@@ -983,14 +1010,25 @@ Idle(void *arg)
#endif
if(CGame::bDemoMode && CTimer::GetTimeInMilliseconds() > (3*60 + 30)*1000 && !CCutsceneMgr::IsCutsceneProcessing()){
+#ifdef PS2_MENU
+ TheMemoryCard.m_bWantToLoad = false;
+ FrontEndMenuManager.m_bWantToRestart = true;
+#else
FrontEndMenuManager.m_bWantToRestart = true;
FrontEndMenuManager.m_bWantToLoad = false;
+#endif
return;
}
+#ifdef PS2_MENU
+ if ( FrontEndMenuManager.m_bWantToRestart || TheMemoryCard.b_FoundRecentSavedGameWantToLoad )
+#else
if(FrontEndMenuManager.m_bWantToRestart || b_FoundRecentSavedGameWantToLoad)
+#endif
+ {
return;
-
+ }
+
SetLightsWithTimeOfDayColour(Scene.world);
if(arg == nil)
@@ -1050,7 +1088,7 @@ Idle(void *arg)
#ifdef TIMEBARS
tbStartTimer(0, "RenderMotionBlur");
#endif
- if((TheCamera.m_BlurType == MBLUR_NONE || TheCamera.m_BlurType == MBLUR_NORMAL) &&
+ if((TheCamera.m_BlurType == MOTION_BLUR_NONE || TheCamera.m_BlurType == MOTION_BLUR_LIGHT_SCENE) &&
TheCamera.m_ScreenReductionPercentage > 0.0f)
TheCamera.SetMotionBlurAlpha(150);
TheCamera.RenderMotionBlur();
@@ -1086,6 +1124,11 @@ Idle(void *arg)
tbEndTimer("RenderMenus");
tbStartTimer(0, "DoFade");
#endif
+
+#ifdef PS2_MENU
+ if ( TheMemoryCard.m_bWantToLoad )
+ return;
+#endif
DoFade();
#ifdef TIMEBARS
tbEndTimer("DoFade");
@@ -1097,8 +1140,10 @@ Idle(void *arg)
#endif
CCredits::Render();
+
#ifdef TIMEBARS
- tbDisplay();
+ if (gbShowTimebars)
+ tbDisplay();
#endif
DoRWStuffEndOfFrame();
@@ -1270,6 +1315,7 @@ TheModelViewer(void)
}
#endif
+#ifdef PS2
void TheGame(void)
{
printf("Into TheGame!!!\n");
@@ -1291,12 +1337,12 @@ void TheGame(void)
LoadingScreen("Starting Game", NULL, splash);
#ifdef GTA_PS2
- if ( TheMemoryCard.CheckCardInserted(_TODOCONST(0)) == _TODOCONST(26)
- && TheMemoryCard.ChangeDirectory(_TODOCONST(0), TheMemoryCard.field154)
- && TheMemoryCard.FindMostRecentFileName(_TODOCONST(0), TheMemoryCard.field37) == 1
- && TheMemoryCard.CheckDataNotCorrupt(TheMemoryCard.field37))
+ if ( TheMemoryCard.CheckCardInserted(CARD_ONE) == CMemoryCard::NO_ERR_SUCCESS
+ && TheMemoryCard.ChangeDirectory(CARD_ONE, TheMemoryCard.Cards[CARD_ONE].dir)
+ && TheMemoryCard.FindMostRecentFileName(CARD_ONE, TheMemoryCard.MostRecentFile) == true
+ && TheMemoryCard.CheckDataNotCorrupt(TheMemoryCard.MostRecentFile))
{
- strcpy(TheMemoryCard.LoadFileName, TheMemoryCard.field37);
+ strcpy(TheMemoryCard.LoadFileName, TheMemoryCard.MostRecentFile);
TheMemoryCard.b_FoundRecentSavedGameWantToLoad = true;
if (CMenuManager::m_PrefsLanguage != TheMemoryCard.GetLanguageToLoad())
@@ -1399,7 +1445,7 @@ void TheGame(void)
RenderDebugShit();
RenderEffects();
- if ((TheCamera.m_BlurType == MBLUR_NONE || TheCamera.m_BlurType == MBLUR_NORMAL) && TheCamera.m_ScreenReductionPercentage > 0.0f)
+ if ((TheCamera.m_BlurType == MOTION_BLUR_NONE || TheCamera.m_BlurType == MOTION_BLUR_LIGHT_SCENE) && TheCamera.m_ScreenReductionPercentage > 0.0f)
TheCamera.SetMotionBlurAlpha(150);
TheCamera.RenderMotionBlur();
@@ -1781,8 +1827,6 @@ void GameInit()
}
}
-// Not used anyway. PS2 main() port
-#ifdef _WIN32
int
main(int argc, char *argv[])
{
@@ -1793,9 +1837,10 @@ main(int argc, char *argv[])
SystemInit();
#ifdef PS2
- int32 state = TheMemoryCard.CheckCardStateAtGameStartUp(_TODOCONST(0));
+ int32 r = TheMemoryCard.CheckCardStateAtGameStartUp(CARD_ONE);
- if ( state == _TODOCONST(2) || state == _TODOCONST(1) && state != _TODOCONST(3) && state != _TODOCONST(0) )
+ if ( r == CMemoryCard::ERR_DIRNOENTRY || r == CMemoryCard::ERR_NOFORMAT
+ && r != CMemoryCard::ERR_OPENNOENTRY && r != CMemoryCard::ERR_NONE )
{
GameInit();