Something with streaming

This commit is contained in:
Shinovon 2026-05-12 08:00:13 +05:00
parent e3ad2108f1
commit 6992f313a9
5 changed files with 37 additions and 30 deletions

View file

@ -85,8 +85,6 @@ int32 islandLODcomSub;
int32 islandLODsubInd;
int32 islandLODsubCom;
#define STREAMING_MEM_SIZE (10 * 1024 * 1024)
bool
CStreamingInfo::GetCdPosnAndSize(uint32 &posn, uint32 &size)
{
@ -221,19 +219,13 @@ CStreaming::Init2(void)
#ifdef GTA_PC
#define MB (1024*1024)
#ifdef __SYMBIAN32__
extern bool moreVram;
if (moreVram) {
extern size_t _dwMemAvailPhys;
ms_memoryAvailable = (_dwMemAvailPhys - 10*MB)/2;
if(ms_memoryAvailable < 10*MB)
ms_memoryAvailable = 10*MB;
} else
ms_memoryAvailable = STREAMING_MEM_SIZE;
extern size_t streamingMemSize;
ms_memoryAvailable = streamingMemSize;
#else
extern size_t _dwMemAvailPhys;
ms_memoryAvailable = (_dwMemAvailPhys - 10 * MB) / 2;
if (ms_memoryAvailable < 10 * MB)
ms_memoryAvailable = 10 * MB;
extern size_t _dwMemAvailPhys;
ms_memoryAvailable = (_dwMemAvailPhys - 10 * MB) / 2;
if (ms_memoryAvailable < 10 * MB)
ms_memoryAvailable = 10 * MB;
#endif
desiredNumVehiclesLoaded = 12;
if(desiredNumVehiclesLoaded > MAXVEHICLESLOADED)
@ -647,7 +639,9 @@ CStreaming::ConvertBufferToObject(int8 *buf, int32 streamId)
if(ms_aInfoForModel[streamId].m_loadState != STREAMSTATE_STARTED){
ms_aInfoForModel[streamId].m_loadState = STREAMSTATE_LOADED;
#ifndef USE_CUSTOM_ALLOCATOR
ms_memoryUsed += ms_aInfoForModel[streamId].GetCdSize() * CDSTREAM_SECTOR_SIZE;
if(streamId < STREAM_OFFSET_TXD) {
ms_memoryUsed += ms_aInfoForModel[streamId].GetCdSize() * CDSTREAM_SECTOR_SIZE;
}
#endif
}
@ -713,7 +707,9 @@ CStreaming::FinishLoadingLargeFile(int8 *buf, int32 streamId)
ms_aInfoForModel[streamId].m_loadState = STREAMSTATE_LOADED; // only done if success on PS2
#ifndef USE_CUSTOM_ALLOCATOR
ms_memoryUsed += ms_aInfoForModel[streamId].GetCdSize() * CDSTREAM_SECTOR_SIZE;
if(streamId < STREAM_OFFSET_TXD) {
ms_memoryUsed += ms_aInfoForModel[streamId].GetCdSize() * CDSTREAM_SECTOR_SIZE;
}
#endif
if(!success){
@ -959,7 +955,9 @@ CStreaming::RemoveModel(int32 id)
#ifdef USE_CUSTOM_ALLOCATOR
UpdateMemoryUsed();
#else
ms_memoryUsed -= ms_aInfoForModel[id].GetCdSize()*CDSTREAM_SECTOR_SIZE;
if (id < STREAM_OFFSET_TXD) {
ms_memoryUsed -= ms_aInfoForModel[id].GetCdSize()*CDSTREAM_SECTOR_SIZE;
}
#endif
}
@ -2701,17 +2699,12 @@ CStreaming::MakeSpaceFor(int32 size)
#define MB (1024 * 1024)
if(ms_memoryAvailable == 0) {
#ifdef __SYMBIAN32__
extern bool moreVram;
if (moreVram) {
extern size_t _dwMemAvailPhys;
ms_memoryAvailable = (_dwMemAvailPhys - 10 * MB) / 2;
if(ms_memoryAvailable < 10 * MB) ms_memoryAvailable = 10 * MB;
} else
ms_memoryAvailable = STREAMING_MEM_SIZE;
extern size_t streamingMemSize;
ms_memoryAvailable = streamingMemSize;
#else
extern size_t _dwMemAvailPhys;
ms_memoryAvailable = (_dwMemAvailPhys - 10 * MB) / 2;
if (ms_memoryAvailable < 10 * MB) ms_memoryAvailable = 10 * MB;
extern size_t _dwMemAvailPhys;
ms_memoryAvailable = (_dwMemAvailPhys - 10 * MB) / 2;
if (ms_memoryAvailable < 10 * MB) ms_memoryAvailable = 10 * MB;
#endif
}
#undef MB