diff options
Diffstat (limited to 'src/save')
-rw-r--r-- | src/save/GenericGameStorage.cpp | 22 | ||||
-rw-r--r-- | src/save/GenericGameStorage.h | 1 | ||||
-rw-r--r-- | src/save/PCSave.cpp | 6 | ||||
-rw-r--r-- | src/save/PCSave.h | 2 |
4 files changed, 16 insertions, 15 deletions
diff --git a/src/save/GenericGameStorage.cpp b/src/save/GenericGameStorage.cpp index 1e2d5da7..52c1aef7 100644 --- a/src/save/GenericGameStorage.cpp +++ b/src/save/GenericGameStorage.cpp @@ -29,6 +29,7 @@ #include "Radar.h" #include "Restart.h" #include "Script.h" +#include "SetPieces.h" #include "Stats.h" #include "Streaming.h" #include "Timer.h" @@ -88,6 +89,7 @@ do {\ #define WriteSaveDataBlock(save_func)\ do {\ + size = 0;\ buf = work_buff;\ reserved = 0;\ MakeSpaceForSizeInBufferPointer(presize, buf, postsize);\ @@ -201,6 +203,7 @@ GenericSave(int file) // Save the rest WriteSaveDataBlock(CPools::SavePedPool); WriteSaveDataBlock(CGarages::Save); + WriteSaveDataBlock(CGameLogic::Save); WriteSaveDataBlock(CPools::SaveVehiclePool); WriteSaveDataBlock(CPools::SaveObjectPool); WriteSaveDataBlock(ThePaths.Save); @@ -216,6 +219,7 @@ GenericSave(int file) WriteSaveDataBlock(cAudioScriptObject::SaveAllAudioScriptObjects); WriteSaveDataBlock(CWorld::Players[CWorld::PlayerInFocus].SavePlayerInfo); WriteSaveDataBlock(CStats::SaveStats); + WriteSaveDataBlock(CSetPieces::Save); WriteSaveDataBlock(CStreaming::MemoryCardSave); WriteSaveDataBlock(CPedType::Save); @@ -325,6 +329,8 @@ GenericLoad() LoadSaveDataBlock(); ReadDataFromBlock("Loading Garages \n", CGarages::Load); LoadSaveDataBlock(); + ReadDataFromBlock("Loading GameLogic \n", CGameLogic::Load); + LoadSaveDataBlock(); ReadDataFromBlock("Loading Vehicles \n", CPools::LoadVehiclePool); LoadSaveDataBlock(); CProjectileInfo::RemoveAllProjectiles(); @@ -358,12 +364,14 @@ GenericLoad() LoadSaveDataBlock(); ReadDataFromBlock("Loading Stats \n", CStats::LoadStats); LoadSaveDataBlock(); + ReadDataFromBlock("Loading Set Pieces \n", CSetPieces::Load); + LoadSaveDataBlock(); ReadDataFromBlock("Loading Streaming Stuff \n", CStreaming::MemoryCardLoad); LoadSaveDataBlock(); ReadDataFromBlock("Loading PedType Stuff \n", CPedType::Load); - DMAudio.SetMusicMasterVolume(CMenuManager::m_PrefsMusicVolume); - DMAudio.SetEffectsMasterVolume(CMenuManager::m_PrefsSfxVolume); + DMAudio.SetMusicMasterVolume(FrontEndMenuManager.m_PrefsMusicVolume); + DMAudio.SetEffectsMasterVolume(FrontEndMenuManager.m_PrefsSfxVolume); if (!CloseFile(file)) { PcSaveHelper.nErrorCode = SAVESTATUS_ERR_LOAD_CLOSE; return false; @@ -562,17 +570,9 @@ RestoreForStartLoad() ReadDataFromBufferPointer(_buf, TheCamera.GetMatrix().GetPosition().x); ReadDataFromBufferPointer(_buf, TheCamera.GetMatrix().GetPosition().y); ReadDataFromBufferPointer(_buf, TheCamera.GetMatrix().GetPosition().z); -#ifndef NO_ISLAND_LOADING CStreaming::RemoveUnusedBigBuildings(CGame::currLevel); CStreaming::RemoveUnusedBuildings(CGame::currLevel); -#endif - CCollision::SortOutCollisionAfterLoad(); -#ifndef NO_ISLAND_LOADING - CStreaming::RequestBigBuildings(CGame::currLevel); - CStreaming::LoadAllRequestedModels(false); - CStreaming::HaveAllBigBuildingsLoaded(CGame::currLevel); - CGame::TidyUpMemory(true, false); -#endif + if (CloseFile(file)) { return true; } else { diff --git a/src/save/GenericGameStorage.h b/src/save/GenericGameStorage.h index ee8a52a1..069ba7cd 100644 --- a/src/save/GenericGameStorage.h +++ b/src/save/GenericGameStorage.h @@ -1,5 +1,6 @@ #pragma once +#include "Game.h" #include "PCSave.h" #define SLOT_COUNT (8) diff --git a/src/save/PCSave.cpp b/src/save/PCSave.cpp index 3103c7ab..da8134fc 100644 --- a/src/save/PCSave.cpp +++ b/src/save/PCSave.cpp @@ -33,7 +33,7 @@ C_PcSave::DeleteSlot(int32 slot) return true; } -bool +int8 C_PcSave::SaveSlot(int32 slot) { MakeValidSaveName(slot); @@ -48,10 +48,10 @@ C_PcSave::SaveSlot(int32 slot) if (GenericSave(file)) { if (!!CFileMgr::CloseFile(file)) nErrorCode = SAVESTATUS_ERR_SAVE_CLOSE; - return true; + return 0; } - return false; + return 2; } PcSaveHelper.nErrorCode = SAVESTATUS_ERR_SAVE_CREATE; return false; diff --git a/src/save/PCSave.h b/src/save/PCSave.h index 4a2d9a66..2e85867a 100644 --- a/src/save/PCSave.h +++ b/src/save/PCSave.h @@ -32,7 +32,7 @@ public: C_PcSave() : nErrorCode(SAVESTATUS_SUCCESSFUL) {} void PopulateSlotInfo(); bool DeleteSlot(int32 slot); - bool SaveSlot(int32 slot); + int8 SaveSlot(int32 slot); bool PcClassSaveRoutine(int32 a2, uint8 *data, uint32 size); static void SetSaveDirectory(const char *path); }; |