mirror of
https://github.com/GTAmodding/re3.git
synced 2025-07-06 16:04:42 +00:00
merge attempt
This commit is contained in:
commit
8d1996833b
68 changed files with 2149 additions and 316 deletions
|
@ -63,6 +63,7 @@
|
|||
#include "timebars.h"
|
||||
#include "GenericGameStorage.h"
|
||||
#include "MemoryCard.h"
|
||||
#include "MemoryHeap.h"
|
||||
#include "SceneEdit.h"
|
||||
#include "debugmenu.h"
|
||||
#include "Clock.h"
|
||||
|
@ -110,6 +111,18 @@ void TheGame(void);
|
|||
void DebugMenuPopulate(void);
|
||||
#endif
|
||||
|
||||
#ifndef FINAL
|
||||
bool gbPrintMemoryUsage;
|
||||
#endif
|
||||
|
||||
#ifdef GTA_PS2
|
||||
#define WANT_TO_LOAD TheMemoryCard.m_bWantToLoad
|
||||
#define FOUND_GAME_TO_LOAD TheMemoryCard.b_FoundRecentSavedGameWantToLoad
|
||||
#else
|
||||
#define WANT_TO_LOAD FrontEndMenuManager.m_bWantToLoad
|
||||
#define FOUND_GAME_TO_LOAD b_FoundRecentSavedGameWantToLoad
|
||||
#endif
|
||||
|
||||
#ifdef NEW_RENDERER
|
||||
bool gbNewRenderer;
|
||||
#define CLEARMODE (rwCAMERACLEARZ | rwCAMERACLEARSTENCIL)
|
||||
|
@ -392,6 +405,63 @@ PluginAttach(void)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
#ifdef GTA_PS2
|
||||
#define NUM_PREALLOC_ATOMICS 3245
|
||||
#define NUM_PREALLOC_CLUMPS 101
|
||||
#define NUM_PREALLOC_FRAMES 2821
|
||||
#define NUM_PREALLOC_GEOMETRIES 1404
|
||||
#define NUM_PREALLOC_TEXDICTS 106
|
||||
#define NUM_PREALLOC_TEXTURES 1900
|
||||
#define NUM_PREALLOC_MATERIALS 3300
|
||||
bool preAlloc;
|
||||
|
||||
void
|
||||
PreAllocateRwObjects(void)
|
||||
{
|
||||
int i;
|
||||
void **tmp = new void*[0x8000];
|
||||
preAlloc = true;
|
||||
|
||||
for(i = 0; i < NUM_PREALLOC_ATOMICS; i++)
|
||||
tmp[i] = RpAtomicCreate();
|
||||
for(i = 0; i < NUM_PREALLOC_ATOMICS; i++)
|
||||
RpAtomicDestroy((RpAtomic*)tmp[i]);
|
||||
|
||||
for(i = 0; i < NUM_PREALLOC_CLUMPS; i++)
|
||||
tmp[i] = RpClumpCreate();
|
||||
for(i = 0; i < NUM_PREALLOC_CLUMPS; i++)
|
||||
RpClumpDestroy((RpClump*)tmp[i]);
|
||||
|
||||
for(i = 0; i < NUM_PREALLOC_FRAMES; i++)
|
||||
tmp[i] = RwFrameCreate();
|
||||
for(i = 0; i < NUM_PREALLOC_FRAMES; i++)
|
||||
RwFrameDestroy((RwFrame*)tmp[i]);
|
||||
|
||||
for(i = 0; i < NUM_PREALLOC_GEOMETRIES; i++)
|
||||
tmp[i] = RpGeometryCreate(0, 0, 0);
|
||||
for(i = 0; i < NUM_PREALLOC_GEOMETRIES; i++)
|
||||
RpGeometryDestroy((RpGeometry*)tmp[i]);
|
||||
|
||||
for(i = 0; i < NUM_PREALLOC_TEXDICTS; i++)
|
||||
tmp[i] = RwTexDictionaryCreate();
|
||||
for(i = 0; i < NUM_PREALLOC_TEXDICTS; i++)
|
||||
RwTexDictionaryDestroy((RwTexDictionary*)tmp[i]);
|
||||
|
||||
for(i = 0; i < NUM_PREALLOC_TEXTURES; i++)
|
||||
tmp[i] = RwTextureCreate(RwRasterCreate(0, 0, 0, 0));
|
||||
for(i = 0; i < NUM_PREALLOC_TEXDICTS; i++)
|
||||
RwTextureDestroy((RwTexture*)tmp[i]);
|
||||
|
||||
for(i = 0; i < NUM_PREALLOC_MATERIALS; i++)
|
||||
tmp[i] = RpMaterialCreate();
|
||||
for(i = 0; i < NUM_PREALLOC_MATERIALS; i++)
|
||||
RpMaterialDestroy((RpMaterial*)tmp[i]);
|
||||
|
||||
delete[] tmp;
|
||||
preAlloc = false;
|
||||
}
|
||||
#endif
|
||||
|
||||
static RwBool
|
||||
Initialise3D(void *param)
|
||||
{
|
||||
|
@ -765,6 +835,170 @@ tZonePrint ZonePrint[] =
|
|||
};
|
||||
|
||||
#ifndef MASTER
|
||||
|
||||
void
|
||||
PrintMemoryUsage(void)
|
||||
{
|
||||
// little hack
|
||||
if(CPools::GetPtrNodePool() == nil)
|
||||
return;
|
||||
|
||||
// Style taken from LCS, modified for III
|
||||
// CFont::SetFontStyle(FONT_PAGER);
|
||||
CFont::SetFontStyle(FONT_BANK);
|
||||
CFont::SetBackgroundOff();
|
||||
CFont::SetWrapx(640.0f);
|
||||
// CFont::SetScale(0.5f, 0.75f);
|
||||
CFont::SetScale(0.4f, 0.75f);
|
||||
CFont::SetCentreOff();
|
||||
CFont::SetCentreSize(640.0f);
|
||||
CFont::SetJustifyOff();
|
||||
CFont::SetPropOn();
|
||||
CFont::SetColor(CRGBA(200, 200, 200, 200));
|
||||
CFont::SetBackGroundOnlyTextOff();
|
||||
CFont::SetDropShadowPosition(0);
|
||||
|
||||
float y;
|
||||
|
||||
#ifdef USE_CUSTOM_ALLOCATOR
|
||||
y = 24.0f;
|
||||
sprintf(gString, "Total: %d blocks, %d bytes", gMainHeap.m_totalBlocksUsed, gMainHeap.m_totalMemUsed);
|
||||
AsciiToUnicode(gString, gUString);
|
||||
CFont::PrintString(24.0f, y, gUString);
|
||||
y += 12.0f;
|
||||
|
||||
sprintf(gString, "Game: %d blocks, %d bytes", gMainHeap.GetBlocksUsed(MEMID_GAME), gMainHeap.GetMemoryUsed(MEMID_GAME));
|
||||
AsciiToUnicode(gString, gUString);
|
||||
CFont::PrintString(24.0f, y, gUString);
|
||||
y += 12.0f;
|
||||
|
||||
sprintf(gString, "World: %d blocks, %d bytes", gMainHeap.GetBlocksUsed(MEMID_WORLD), gMainHeap.GetMemoryUsed(MEMID_WORLD));
|
||||
AsciiToUnicode(gString, gUString);
|
||||
CFont::PrintString(24.0f, y, gUString);
|
||||
y += 12.0f;
|
||||
|
||||
sprintf(gString, "Render: %d blocks, %d bytes", gMainHeap.GetBlocksUsed(MEMID_RENDER), gMainHeap.GetMemoryUsed(MEMID_RENDER));
|
||||
AsciiToUnicode(gString, gUString);
|
||||
CFont::PrintString(24.0f, y, gUString);
|
||||
y += 12.0f;
|
||||
|
||||
sprintf(gString, "Render List: %d blocks, %d bytes", gMainHeap.GetBlocksUsed(MEMID_RENDERLIST), gMainHeap.GetMemoryUsed(MEMID_RENDERLIST));
|
||||
AsciiToUnicode(gString, gUString);
|
||||
CFont::PrintString(24.0f, y, gUString);
|
||||
y += 12.0f;
|
||||
|
||||
sprintf(gString, "Default Models: %d blocks, %d bytes", gMainHeap.GetBlocksUsed(MEMID_DEF_MODELS), gMainHeap.GetMemoryUsed(MEMID_DEF_MODELS));
|
||||
AsciiToUnicode(gString, gUString);
|
||||
CFont::PrintString(24.0f, y, gUString);
|
||||
y += 12.0f;
|
||||
|
||||
sprintf(gString, "Textures: %d blocks, %d bytes", gMainHeap.GetBlocksUsed(MEMID_TEXTURES), gMainHeap.GetMemoryUsed(MEMID_TEXTURES));
|
||||
AsciiToUnicode(gString, gUString);
|
||||
CFont::PrintString(24.0f, y, gUString);
|
||||
y += 12.0f;
|
||||
|
||||
sprintf(gString, "Streaming: %d blocks, %d bytes", gMainHeap.GetBlocksUsed(MEMID_STREAM), gMainHeap.GetMemoryUsed(MEMID_STREAM));
|
||||
AsciiToUnicode(gString, gUString);
|
||||
CFont::PrintString(24.0f, y, gUString);
|
||||
y += 12.0f;
|
||||
|
||||
sprintf(gString, "Streamed Models: %d blocks, %d bytes", gMainHeap.GetBlocksUsed(MEMID_STREAM_MODELS), gMainHeap.GetMemoryUsed(MEMID_STREAM_MODELS));
|
||||
AsciiToUnicode(gString, gUString);
|
||||
CFont::PrintString(24.0f, y, gUString);
|
||||
y += 12.0f;
|
||||
|
||||
sprintf(gString, "Streamed Textures: %d blocks, %d bytes", gMainHeap.GetBlocksUsed(MEMID_STREAM_TEXUTRES), gMainHeap.GetMemoryUsed(MEMID_STREAM_TEXUTRES));
|
||||
AsciiToUnicode(gString, gUString);
|
||||
CFont::PrintString(24.0f, y, gUString);
|
||||
y += 12.0f;
|
||||
|
||||
sprintf(gString, "Animation: %d blocks, %d bytes", gMainHeap.GetBlocksUsed(MEMID_ANIMATION), gMainHeap.GetMemoryUsed(MEMID_ANIMATION));
|
||||
AsciiToUnicode(gString, gUString);
|
||||
CFont::PrintString(24.0f, y, gUString);
|
||||
y += 12.0f;
|
||||
|
||||
sprintf(gString, "Pools: %d blocks, %d bytes", gMainHeap.GetBlocksUsed(MEMID_POOLS), gMainHeap.GetMemoryUsed(MEMID_POOLS));
|
||||
AsciiToUnicode(gString, gUString);
|
||||
CFont::PrintString(24.0f, y, gUString);
|
||||
y += 12.0f;
|
||||
|
||||
sprintf(gString, "Collision: %d blocks, %d bytes", gMainHeap.GetBlocksUsed(MEMID_COLLISION), gMainHeap.GetMemoryUsed(MEMID_COLLISION));
|
||||
AsciiToUnicode(gString, gUString);
|
||||
CFont::PrintString(24.0f, y, gUString);
|
||||
y += 12.0f;
|
||||
|
||||
sprintf(gString, "Game Process: %d blocks, %d bytes", gMainHeap.GetBlocksUsed(MEMID_GAME_PROCESS), gMainHeap.GetMemoryUsed(MEMID_GAME_PROCESS));
|
||||
AsciiToUnicode(gString, gUString);
|
||||
CFont::PrintString(24.0f, y, gUString);
|
||||
y += 12.0f;
|
||||
|
||||
sprintf(gString, "Script: %d blocks, %d bytes", gMainHeap.GetBlocksUsed(MEMID_SCRIPT), gMainHeap.GetMemoryUsed(MEMID_SCRIPT));
|
||||
AsciiToUnicode(gString, gUString);
|
||||
CFont::PrintString(24.0f, y, gUString);
|
||||
y += 12.0f;
|
||||
|
||||
sprintf(gString, "Cars: %d blocks, %d bytes", gMainHeap.GetBlocksUsed(MEMID_CARS), gMainHeap.GetMemoryUsed(MEMID_CARS));
|
||||
AsciiToUnicode(gString, gUString);
|
||||
CFont::PrintString(24.0f, y, gUString);
|
||||
y += 12.0f;
|
||||
|
||||
sprintf(gString, "Frontend: %d blocks, %d bytes", gMainHeap.GetBlocksUsed(MEMID_FRONTEND), gMainHeap.GetMemoryUsed(MEMID_FRONTEND));
|
||||
AsciiToUnicode(gString, gUString);
|
||||
CFont::PrintString(24.0f, y, gUString);
|
||||
y += 12.0f;
|
||||
#endif
|
||||
|
||||
y = 132.0f;
|
||||
AsciiToUnicode("Pools usage:", gUString);
|
||||
CFont::PrintString(400.0f, y, gUString);
|
||||
y += 12.0f;
|
||||
|
||||
sprintf(gString, "PtrNode: %d/%d", CPools::GetPtrNodePool()->GetNoOfUsedSpaces(), CPools::GetPtrNodePool()->GetSize());
|
||||
AsciiToUnicode(gString, gUString);
|
||||
CFont::PrintString(400.0f, y, gUString);
|
||||
y += 12.0f;
|
||||
|
||||
sprintf(gString, "EntryInfoNode: %d/%d", CPools::GetEntryInfoNodePool()->GetNoOfUsedSpaces(), CPools::GetEntryInfoNodePool()->GetSize());
|
||||
AsciiToUnicode(gString, gUString);
|
||||
CFont::PrintString(400.0f, y, gUString);
|
||||
y += 12.0f;
|
||||
|
||||
sprintf(gString, "Ped: %d/%d", CPools::GetPedPool()->GetNoOfUsedSpaces(), CPools::GetPedPool()->GetSize());
|
||||
AsciiToUnicode(gString, gUString);
|
||||
CFont::PrintString(400.0f, y, gUString);
|
||||
y += 12.0f;
|
||||
|
||||
sprintf(gString, "Vehicle: %d/%d", CPools::GetVehiclePool()->GetNoOfUsedSpaces(), CPools::GetVehiclePool()->GetSize());
|
||||
AsciiToUnicode(gString, gUString);
|
||||
CFont::PrintString(400.0f, y, gUString);
|
||||
y += 12.0f;
|
||||
|
||||
sprintf(gString, "Building: %d/%d", CPools::GetBuildingPool()->GetNoOfUsedSpaces(), CPools::GetBuildingPool()->GetSize());
|
||||
AsciiToUnicode(gString, gUString);
|
||||
CFont::PrintString(400.0f, y, gUString);
|
||||
y += 12.0f;
|
||||
|
||||
sprintf(gString, "Treadable: %d/%d", CPools::GetTreadablePool()->GetNoOfUsedSpaces(), CPools::GetTreadablePool()->GetSize());
|
||||
AsciiToUnicode(gString, gUString);
|
||||
CFont::PrintString(400.0f, y, gUString);
|
||||
y += 12.0f;
|
||||
|
||||
sprintf(gString, "Object: %d/%d", CPools::GetObjectPool()->GetNoOfUsedSpaces(), CPools::GetObjectPool()->GetSize());
|
||||
AsciiToUnicode(gString, gUString);
|
||||
CFont::PrintString(400.0f, y, gUString);
|
||||
y += 12.0f;
|
||||
|
||||
sprintf(gString, "Dummy: %d/%d", CPools::GetDummyPool()->GetNoOfUsedSpaces(), CPools::GetDummyPool()->GetSize());
|
||||
AsciiToUnicode(gString, gUString);
|
||||
CFont::PrintString(400.0f, y, gUString);
|
||||
y += 12.0f;
|
||||
|
||||
sprintf(gString, "AudioScriptObjects: %d/%d", CPools::GetAudioScriptObjectPool()->GetNoOfUsedSpaces(), CPools::GetAudioScriptObjectPool()->GetSize());
|
||||
AsciiToUnicode(gString, gUString);
|
||||
CFont::PrintString(400.0f, y, gUString);
|
||||
y += 12.0f;
|
||||
}
|
||||
|
||||
void
|
||||
DisplayGameDebugText()
|
||||
{
|
||||
|
@ -777,8 +1011,10 @@ DisplayGameDebugText()
|
|||
TWEAKBOOL(bDisplayPosn);
|
||||
TWEAKBOOL(bDisplayCheatStr);
|
||||
}
|
||||
#endif
|
||||
|
||||
if(gbPrintMemoryUsage)
|
||||
PrintMemoryUsage();
|
||||
#endif
|
||||
|
||||
char str[200];
|
||||
wchar ustr[200];
|
||||
|
@ -1136,13 +1372,9 @@ RenderMenus(void)
|
|||
{
|
||||
if (FrontEndMenuManager.m_bMenuActive)
|
||||
{
|
||||
#ifdef PS2
|
||||
gMainHeap.PushMemId(_TODOCONST(17));
|
||||
#endif
|
||||
PUSH_MEMID(MEMID_FRONTEND);
|
||||
FrontEndMenuManager.DrawFrontEnd();
|
||||
#ifdef PS2
|
||||
gMainHeap.PopMemId();
|
||||
#endif
|
||||
POP_MEMID();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1182,21 +1414,12 @@ Idle(void *arg)
|
|||
tbEndTimer("DMAudio.Service");
|
||||
|
||||
if(CGame::bDemoMode && CTimer::GetTimeInMilliseconds() > (3*60 + 30)*1000 && !CCutsceneMgr::IsCutsceneProcessing()){
|
||||
#ifdef PS2_MENU
|
||||
TheMemoryCard.m_bWantToLoad = false;
|
||||
WANT_TO_LOAD = 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
|
||||
if(FrontEndMenuManager.m_bWantToRestart || FOUND_GAME_TO_LOAD)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -1242,12 +1465,12 @@ Idle(void *arg)
|
|||
|
||||
if(CWeather::LightningFlash && !CCullZones::CamNoRain()){
|
||||
if(!DoRWStuffStartOfFrame_Horizon(255, 255, 255, 255, 255, 255, 255))
|
||||
return;
|
||||
goto popret;
|
||||
}else{
|
||||
if(!DoRWStuffStartOfFrame_Horizon(CTimeCycle::GetSkyTopRed(), CTimeCycle::GetSkyTopGreen(), CTimeCycle::GetSkyTopBlue(),
|
||||
CTimeCycle::GetSkyBottomRed(), CTimeCycle::GetSkyBottomGreen(), CTimeCycle::GetSkyBottomBlue(),
|
||||
255))
|
||||
return;
|
||||
goto popret;
|
||||
}
|
||||
|
||||
DefinedState();
|
||||
|
@ -1295,7 +1518,7 @@ Idle(void *arg)
|
|||
CVisibilityPlugins::SetRenderWareCamera(Scene.camera);
|
||||
RwCameraClear(Scene.camera, &gColourTop, CLEARMODE);
|
||||
if(!RsCameraBeginUpdate(Scene.camera))
|
||||
return;
|
||||
goto popret;
|
||||
}
|
||||
|
||||
tbStartTimer(0, "RenderMenus");
|
||||
|
@ -1304,7 +1527,7 @@ Idle(void *arg)
|
|||
|
||||
#ifdef PS2_MENU
|
||||
if ( TheMemoryCard.m_bWantToLoad )
|
||||
return;
|
||||
goto popret;
|
||||
#endif
|
||||
|
||||
tbStartTimer(0, "DoFade");
|
||||
|
@ -1324,8 +1547,13 @@ Idle(void *arg)
|
|||
|
||||
DoRWStuffEndOfFrame();
|
||||
|
||||
POP_MEMID(); // MEMID_RENDER
|
||||
|
||||
if(g_SlowMode)
|
||||
ProcessSlowMode();
|
||||
return;
|
||||
|
||||
popret: POP_MEMID(); // MEMID_RENDER
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -1478,14 +1706,13 @@ TheModelViewer(void)
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef PS2
|
||||
|
||||
#ifdef GTA_PS2
|
||||
void TheGame(void)
|
||||
{
|
||||
printf("Into TheGame!!!\n");
|
||||
|
||||
#ifdef GTA_PS2
|
||||
gMainHeap.PushMemId(_TODOCONST(1));
|
||||
#endif
|
||||
PUSH_MEMID(MEMID_GAME); // NB: not popped
|
||||
|
||||
CTimer::Initialise();
|
||||
|
||||
|
@ -1523,78 +1750,50 @@ void TheGame(void)
|
|||
|
||||
while (true)
|
||||
{
|
||||
#ifdef PS2
|
||||
if (TheMemoryCard.m_bWantToLoad)
|
||||
#else
|
||||
if (FrontEndMenuManager.m_bWantToLoad)
|
||||
#endif
|
||||
if (WANT_TO_LOAD)
|
||||
{
|
||||
Const char *splash1 = GetLevelSplashScreen(CGame::currLevel);
|
||||
LoadSplash(splash1);
|
||||
}
|
||||
|
||||
#ifdef PS2
|
||||
TheMemoryCard.m_bWantToLoad = false;
|
||||
#else
|
||||
FrontEndMenuManager.m_bWantToLoad = false;
|
||||
#endif
|
||||
WANT_TO_LOAD = false;
|
||||
|
||||
CTimer::Update();
|
||||
|
||||
#ifdef PS2
|
||||
while (!(FrontEndMenuManager.m_bWantToRestart || TheMemoryCard.b_FoundRecentSavedGameWantToLoad))
|
||||
#else
|
||||
while (!(FrontEndMenuManager.m_bWantToRestart || b_FoundRecentSavedGameWantToLoad))
|
||||
#endif
|
||||
while (!(FrontEndMenuManager.m_bWantToRestart || FOUND_GAME_TO_LOAD))
|
||||
{
|
||||
CSprite2d::InitPerFrame();
|
||||
CFont::InitPerFrame();
|
||||
|
||||
#ifdef GTA_PS2
|
||||
gMainHeap.PushMemId(_TODOCONST(12));
|
||||
#endif
|
||||
CPointLights::NumLights = 0;
|
||||
PUSH_MEMID(MEMID_GAME_PROCESS)
|
||||
CPointLights::InitPerFrame();
|
||||
CGame::Process();
|
||||
#ifdef GTA_PS2
|
||||
gMainHeap.PopMemId();
|
||||
#endif
|
||||
POP_MEMID();
|
||||
|
||||
DMAudio.Service();
|
||||
|
||||
if (CGame::bDemoMode && CTimer::GetTimeInMilliseconds() > (3*60 + 30)*1000 && !CCutsceneMgr::IsCutsceneProcessing())
|
||||
{
|
||||
#ifdef PS2
|
||||
TheMemoryCard.m_bWantToLoad = false;
|
||||
#else
|
||||
FrontEndMenuManager.m_bWantToLoad = false;
|
||||
#endif
|
||||
WANT_TO_LOAD = false;
|
||||
FrontEndMenuManager.m_bWantToRestart = true;
|
||||
break;
|
||||
}
|
||||
|
||||
#ifdef PS2
|
||||
if (FrontEndMenuManager.m_bWantToRestart || TheMemoryCard.b_FoundRecentSavedGameWantToLoad)
|
||||
#else
|
||||
if (FrontEndMenuManager.m_bWantToRestart || b_FoundRecentSavedGameWantToLoad)
|
||||
#endif
|
||||
if (FrontEndMenuManager.m_bWantToRestart || FOUND_GAME_TO_LOAD)
|
||||
break;
|
||||
|
||||
SetLightsWithTimeOfDayColour(Scene.world);
|
||||
#ifdef GTA_PS2
|
||||
gMainHeap.PushMemId(_TODOCONST(15));
|
||||
#endif
|
||||
|
||||
PUSH_MEMID(MEMID_RENDER);
|
||||
|
||||
// m_bRenderGameInMenu is there in III PS2 but I don't know about VC PS2.
|
||||
if (!FrontEndMenuManager.m_bMenuActive || /*FrontEndMenuManager.m_bRenderGameInMenu == true && */TheCamera.GetScreenFadeStatus() != FADE_2 )
|
||||
{
|
||||
#ifdef GTA_PS2
|
||||
gMainHeap.PushMemId(_TODOCONST(11));
|
||||
#endif
|
||||
|
||||
PUSH_MEMID(MEMID_RENDERLIST);
|
||||
CRenderer::ConstructRenderList();
|
||||
CRenderer::PreRender();
|
||||
#ifdef GTA_PS2
|
||||
gMainHeap.PopMemId();
|
||||
#endif
|
||||
POP_MEMID();
|
||||
|
||||
if (CWeather::LightningFlash && !CCullZones::CamNoRain())
|
||||
DoRWStuffStartOfFrame_Horizon(255, 255, 255, 255, 255, 255, 255);
|
||||
|
@ -1626,15 +1825,9 @@ void TheGame(void)
|
|||
|
||||
RenderMenus();
|
||||
|
||||
#ifdef PS2
|
||||
if (TheMemoryCard.m_bWantToLoad)
|
||||
#else
|
||||
if (FrontEndMenuManager.m_bWantToLoad)
|
||||
#endif
|
||||
if (WANT_TO_LOAD)
|
||||
{
|
||||
#ifdef GTA_PS2
|
||||
gMainHeap.PopMemId();
|
||||
#endif
|
||||
POP_MEMID(); // MEMID_RENDER
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1651,9 +1844,7 @@ void TheGame(void)
|
|||
|
||||
CTimer::Update();
|
||||
|
||||
#ifdef GTA_PS2
|
||||
gMainHeap.PopMemId();
|
||||
#endif
|
||||
POP_MEMID(): // MEMID_RENDER
|
||||
|
||||
if (g_SlowMode)
|
||||
ProcessSlowMode();
|
||||
|
@ -1665,24 +1856,12 @@ void TheGame(void)
|
|||
CGame::ShutDownForRestart();
|
||||
CTimer::Stop();
|
||||
|
||||
#ifdef PS2
|
||||
if (FrontEndMenuManager.m_bWantToRestart || TheMemoryCard.b_FoundRecentSavedGameWantToLoad)
|
||||
#else
|
||||
if (FrontEndMenuManager.m_bWantToRestart || b_FoundRecentSavedGameWantToLoad)
|
||||
#endif
|
||||
if (FrontEndMenuManager.m_bWantToRestart || FOUND_GAME_TO_LOAD)
|
||||
{
|
||||
#ifdef PS2
|
||||
if (TheMemoryCard.b_FoundRecentSavedGameWantToLoad)
|
||||
#else
|
||||
if (b_FoundRecentSavedGameWantToLoad)
|
||||
#endif
|
||||
if (FOUND_GAME_TO_LOAD)
|
||||
{
|
||||
FrontEndMenuManager.m_bWantToRestart = true;
|
||||
#ifdef PS2
|
||||
TheMemoryCard.m_bWantToLoad = true;
|
||||
#else
|
||||
FrontEndMenuManager.m_bWantToLoad = true;
|
||||
#endif
|
||||
WANT_TO_LOAD = true;
|
||||
}
|
||||
|
||||
CGame::InitialiseWhenRestarting();
|
||||
|
@ -1705,7 +1884,7 @@ void SystemInit()
|
|||
mwInit();
|
||||
#endif
|
||||
|
||||
#ifdef GTA_PS2
|
||||
#ifdef USE_CUSTOM_ALLOCATOR
|
||||
InitMemoryMgr();
|
||||
#endif
|
||||
|
||||
|
@ -1735,7 +1914,7 @@ void SystemInit()
|
|||
#ifdef GTA_PS2
|
||||
CFileMgr::InitCd();
|
||||
|
||||
Char modulepath[256];
|
||||
char modulepath[256];
|
||||
|
||||
strcpy(modulepath, "cdrom0:\\");
|
||||
strcat(modulepath, "SYSTEM\\");
|
||||
|
@ -1822,7 +2001,7 @@ void SystemInit()
|
|||
//
|
||||
#endif
|
||||
|
||||
#ifdef PS2
|
||||
#ifdef GTA_PS2
|
||||
TheMemoryCard.Init();
|
||||
#endif
|
||||
}
|
||||
|
@ -1851,7 +2030,7 @@ void GameInit()
|
|||
#endif
|
||||
CdStreamInit(MAX_CDCHANNELS);
|
||||
|
||||
#ifdef PS2
|
||||
#ifdef GTA_PS2
|
||||
Initialise3D(); //no params
|
||||
#else
|
||||
//TODO
|
||||
|
@ -1958,21 +2137,18 @@ void GameInit()
|
|||
CreateDebugFont();
|
||||
|
||||
#ifdef GTA_PS2
|
||||
AddIntcHandler(_TODOCONST(2), VBlankCounter, 0);
|
||||
AddIntcHandler(INTC_VBLANK_S, VBlankCounter, 0);
|
||||
#endif
|
||||
|
||||
CameraSize(Scene.camera, NULL, DEFAULT_VIEWWINDOW, DEFAULT_ASPECT_RATIO);
|
||||
|
||||
CSprite2d::SetRecipNearClip();
|
||||
CTxdStore::Initialise();
|
||||
#ifdef GTA_PS2
|
||||
gMainHeap.PushMemId(_TODOCONST(9));
|
||||
#endif
|
||||
|
||||
PUSH_MEMID(MEMID_TEXTURES);
|
||||
CFont::Initialise();
|
||||
CHud::Initialise();
|
||||
#ifdef GTA_PS2
|
||||
gMainHeap.PopMemId();
|
||||
#endif
|
||||
POP_MEMID();
|
||||
|
||||
ValidateVersion();
|
||||
|
||||
|
@ -2000,11 +2176,10 @@ main(int argc, char *argv[])
|
|||
|
||||
SystemInit();
|
||||
|
||||
#ifdef PS2
|
||||
#ifdef GTA_PS2
|
||||
int32 r = TheMemoryCard.CheckCardStateAtGameStartUp(CARD_ONE);
|
||||
|
||||
if ( r == CMemoryCard::ERR_DIRNOENTRY || r == CMemoryCard::ERR_NOFORMAT
|
||||
&& r != CMemoryCard::ERR_OPENNOENTRY && r != CMemoryCard::ERR_NONE )
|
||||
if ( r == CMemoryCard::ERR_DIRNOENTRY || r == CMemoryCard::ERR_NOFORMAT )
|
||||
{
|
||||
GameInit();
|
||||
|
||||
|
@ -2014,6 +2189,8 @@ main(int argc, char *argv[])
|
|||
CFont::Initialise();
|
||||
|
||||
FrontEndMenuManager.DrawMemoryCardStartUpMenus();
|
||||
}else if(r == CMemoryCard::ERR_OPENNOENTRY || r == CMemoryCard::ERR_NONE){
|
||||
// eh?
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -2024,12 +2201,18 @@ main(int argc, char *argv[])
|
|||
|
||||
InitMPEGPlayer();
|
||||
|
||||
#ifdef GTA_PAL
|
||||
PlayMPEG("cdrom0:\\MOVIES\\DMAPAL.PSS;1", false);
|
||||
|
||||
if (CGame::frenchGame || CGame::germanGame)
|
||||
PlayMPEG("cdrom0:\\MOVIES\\INTROPAF.PSS;1", true);
|
||||
else
|
||||
PlayMPEG("cdrom0:\\MOVIES\\INTROPAL.PSS;1", true);
|
||||
#else
|
||||
PlayMPEG("cdrom0:\\MOVIES\\DMANTSC.PSS;1", false);
|
||||
|
||||
PlayMPEG("cdrom0:\\MOVIES\\INTRNTSC.PSS;1", true);
|
||||
#endif
|
||||
|
||||
ShutdownMPEGPlayer();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue