mirror of
https://github.com/GTAmodding/re3.git
synced 2024-12-25 07:15:41 +00:00
push/pop memids
This commit is contained in:
parent
f60b450ee8
commit
fb97335d9f
7 changed files with 73 additions and 17 deletions
|
@ -98,10 +98,13 @@ CFileLoader::LoadLevel(const char *filename)
|
||||||
}else if(strncmp(line, "IPL", 3) == 0){
|
}else if(strncmp(line, "IPL", 3) == 0){
|
||||||
if(!objectsLoaded){
|
if(!objectsLoaded){
|
||||||
LoadingScreenLoadingFile("Collision");
|
LoadingScreenLoadingFile("Collision");
|
||||||
POP_MEMID();
|
PUSH_MEMID(MEMID_WORLD);
|
||||||
CObjectData::Initialise("DATA\\OBJECT.DAT");
|
CObjectData::Initialise("DATA\\OBJECT.DAT");
|
||||||
CStreaming::Init();
|
CStreaming::Init();
|
||||||
|
POP_MEMID();
|
||||||
|
PUSH_MEMID(MEMID_COLLISION);
|
||||||
CColStore::LoadAllCollision();
|
CColStore::LoadAllCollision();
|
||||||
|
POP_MEMID();
|
||||||
for(int i = 0; i < MODELINFOSIZE; i++)
|
for(int i = 0; i < MODELINFOSIZE; i++)
|
||||||
if(CModelInfo::GetModelInfo(i))
|
if(CModelInfo::GetModelInfo(i))
|
||||||
CModelInfo::GetModelInfo(i)->ConvertAnimFileIndex();
|
CModelInfo::GetModelInfo(i)->ConvertAnimFileIndex();
|
||||||
|
@ -110,12 +113,15 @@ CFileLoader::LoadLevel(const char *filename)
|
||||||
PUSH_MEMID(MEMID_WORLD);
|
PUSH_MEMID(MEMID_WORLD);
|
||||||
LoadingScreenLoadingFile(line + 4);
|
LoadingScreenLoadingFile(line + 4);
|
||||||
LoadScene(line + 4);
|
LoadScene(line + 4);
|
||||||
|
POP_MEMID();
|
||||||
}else if(strncmp(line, "SPLASH", 6) == 0){
|
}else if(strncmp(line, "SPLASH", 6) == 0){
|
||||||
#ifndef DISABLE_LOADING_SCREEN
|
#ifndef DISABLE_LOADING_SCREEN
|
||||||
LoadSplash(GetRandomSplashScreen());
|
LoadSplash(GetRandomSplashScreen());
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef GTA_PS2
|
||||||
}else if(strncmp(line, "CDIMAGE", 7) == 0){
|
}else if(strncmp(line, "CDIMAGE", 7) == 0){
|
||||||
CdStreamAddImage(line + 8);
|
CdStreamAddImage(line + 8);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,6 +29,7 @@ CAudioScriptObjectPool *CPools::ms_pAudioScriptObjectPool;
|
||||||
CColModelPool *CPools::ms_pColModelPool;
|
CColModelPool *CPools::ms_pColModelPool;
|
||||||
|
|
||||||
#if defined GTA_PS2 && !defined MASTER // or USE_CUSTOM_ALLOCATOR
|
#if defined GTA_PS2 && !defined MASTER // or USE_CUSTOM_ALLOCATOR
|
||||||
|
// not in VC. perhaps ifdef'ed away
|
||||||
#define CHECKMEM(msg) CMemCheck::AllocateMemCheckBlock(msg)
|
#define CHECKMEM(msg) CMemCheck::AllocateMemCheckBlock(msg)
|
||||||
#else
|
#else
|
||||||
#define CHECKMEM(msg)
|
#define CHECKMEM(msg)
|
||||||
|
|
|
@ -480,6 +480,14 @@ GetObjectName(int streamId)
|
||||||
return objname;
|
return objname;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef USE_CUSTOM_ALLOCATOR
|
||||||
|
RpAtomic*
|
||||||
|
RegisterAtomicMemPtrsCB(RpAtomic *atomic, void *data)
|
||||||
|
{
|
||||||
|
// empty because we expect models to be pre-instanced
|
||||||
|
return atomic;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
bool
|
bool
|
||||||
CStreaming::ConvertBufferToObject(int8 *buf, int32 streamId)
|
CStreaming::ConvertBufferToObject(int8 *buf, int32 streamId)
|
||||||
|
@ -514,9 +522,10 @@ CStreaming::ConvertBufferToObject(int8 *buf, int32 streamId)
|
||||||
|
|
||||||
// Set Txd and anims to use
|
// Set Txd and anims to use
|
||||||
CTxdStore::AddRef(mi->GetTxdSlot());
|
CTxdStore::AddRef(mi->GetTxdSlot());
|
||||||
|
#if GTA_VERSION > GTAVC_PS2
|
||||||
if(animId != -1)
|
if(animId != -1)
|
||||||
CAnimManager::AddAnimBlockRef(animId);
|
CAnimManager::AddAnimBlockRef(animId);
|
||||||
CTxdStore::SetCurrentTxd(mi->GetTxdSlot());
|
#endif
|
||||||
|
|
||||||
PUSH_MEMID(MEMID_STREAM_MODELS);
|
PUSH_MEMID(MEMID_STREAM_MODELS);
|
||||||
CTxdStore::SetCurrentTxd(mi->GetTxdSlot());
|
CTxdStore::SetCurrentTxd(mi->GetTxdSlot());
|
||||||
|
@ -542,8 +551,10 @@ CStreaming::ConvertBufferToObject(int8 *buf, int32 streamId)
|
||||||
// Txd and anims no longer needed unless we only read part of the file
|
// Txd and anims no longer needed unless we only read part of the file
|
||||||
if(ms_aInfoForModel[streamId].m_loadState != STREAMSTATE_STARTED){
|
if(ms_aInfoForModel[streamId].m_loadState != STREAMSTATE_STARTED){
|
||||||
CTxdStore::RemoveRefWithoutDelete(mi->GetTxdSlot());
|
CTxdStore::RemoveRefWithoutDelete(mi->GetTxdSlot());
|
||||||
|
#if GTA_VERSION > GTAVC_PS2
|
||||||
if(animId != -1)
|
if(animId != -1)
|
||||||
CAnimManager::RemoveAnimBlockRefWithoutDelete(animId);
|
CAnimManager::RemoveAnimBlockRefWithoutDelete(animId);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!success){
|
if(!success){
|
||||||
|
@ -580,7 +591,10 @@ CStreaming::ConvertBufferToObject(int8 *buf, int32 streamId)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}else if(streamId >= STREAM_OFFSET_COL && streamId < STREAM_OFFSET_ANIM){
|
}else if(streamId >= STREAM_OFFSET_COL && streamId < STREAM_OFFSET_ANIM){
|
||||||
if(!CColStore::LoadCol(streamId-STREAM_OFFSET_COL, mem.start, mem.length)){
|
PUSH_MEMID(MEMID_STREAM_COLLISION);
|
||||||
|
bool success = CColStore::LoadCol(streamId-STREAM_OFFSET_COL, mem.start, mem.length);
|
||||||
|
POP_MEMID();
|
||||||
|
if(!success){
|
||||||
debug("Failed to load %s.col\n", CColStore::GetColName(streamId - STREAM_OFFSET_COL));
|
debug("Failed to load %s.col\n", CColStore::GetColName(streamId - STREAM_OFFSET_COL));
|
||||||
RemoveModel(streamId);
|
RemoveModel(streamId);
|
||||||
ReRequestModel(streamId);
|
ReRequestModel(streamId);
|
||||||
|
@ -595,8 +609,10 @@ CStreaming::ConvertBufferToObject(int8 *buf, int32 streamId)
|
||||||
RwStreamClose(stream, &mem);
|
RwStreamClose(stream, &mem);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
PUSH_MEMID(MEMID_STREAM_ANIMATION);
|
||||||
CAnimManager::LoadAnimFile(stream, true, nil);
|
CAnimManager::LoadAnimFile(stream, true, nil);
|
||||||
CAnimManager::CreateAnimAssocGroups();
|
CAnimManager::CreateAnimAssocGroups();
|
||||||
|
POP_MEMID();
|
||||||
}
|
}
|
||||||
|
|
||||||
RwStreamClose(stream, &mem);
|
RwStreamClose(stream, &mem);
|
||||||
|
@ -678,8 +694,10 @@ CStreaming::FinishLoadingLargeFile(int8 *buf, int32 streamId)
|
||||||
POP_MEMID();
|
POP_MEMID();
|
||||||
mi->RemoveRef();
|
mi->RemoveRef();
|
||||||
CTxdStore::RemoveRefWithoutDelete(mi->GetTxdSlot());
|
CTxdStore::RemoveRefWithoutDelete(mi->GetTxdSlot());
|
||||||
|
#if GTA_VERSION > GTAVC_PS2
|
||||||
if(mi->GetAnimFileIndex() != -1)
|
if(mi->GetAnimFileIndex() != -1)
|
||||||
CAnimManager::RemoveAnimBlockRefWithoutDelete(mi->GetAnimFileIndex());
|
CAnimManager::RemoveAnimBlockRefWithoutDelete(mi->GetAnimFileIndex());
|
||||||
|
#endif
|
||||||
}else if(streamId >= STREAM_OFFSET_TXD && streamId < STREAM_OFFSET_COL){
|
}else if(streamId >= STREAM_OFFSET_TXD && streamId < STREAM_OFFSET_COL){
|
||||||
// Txd
|
// Txd
|
||||||
CTxdStore::AddRef(streamId - STREAM_OFFSET_TXD);
|
CTxdStore::AddRef(streamId - STREAM_OFFSET_TXD);
|
||||||
|
@ -693,7 +711,7 @@ CStreaming::FinishLoadingLargeFile(int8 *buf, int32 streamId)
|
||||||
|
|
||||||
RwStreamClose(stream, &mem);
|
RwStreamClose(stream, &mem);
|
||||||
|
|
||||||
ms_aInfoForModel[streamId].m_loadState = STREAMSTATE_LOADED; // only done if success on PS2
|
ms_aInfoForModel[streamId].m_loadState = STREAMSTATE_LOADED;
|
||||||
#ifndef USE_CUSTOM_ALLOCATOR
|
#ifndef USE_CUSTOM_ALLOCATOR
|
||||||
ms_memoryUsed += ms_aInfoForModel[streamId].GetCdSize() * CDSTREAM_SECTOR_SIZE;
|
ms_memoryUsed += ms_aInfoForModel[streamId].GetCdSize() * CDSTREAM_SECTOR_SIZE;
|
||||||
#endif
|
#endif
|
||||||
|
@ -701,11 +719,11 @@ CStreaming::FinishLoadingLargeFile(int8 *buf, int32 streamId)
|
||||||
if(!success){
|
if(!success){
|
||||||
RemoveModel(streamId);
|
RemoveModel(streamId);
|
||||||
ReRequestModel(streamId);
|
ReRequestModel(streamId);
|
||||||
UpdateMemoryUsed(); // directly after pop on PS2
|
UpdateMemoryUsed();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
UpdateMemoryUsed(); // directly after pop on PS2
|
UpdateMemoryUsed();
|
||||||
|
|
||||||
endTime = CTimer::GetCurrentTimeInCycles() / CTimer::GetCyclesPerMillisecond();
|
endTime = CTimer::GetCurrentTimeInCycles() / CTimer::GetCyclesPerMillisecond();
|
||||||
timeDiff = endTime - startTime;
|
timeDiff = endTime - startTime;
|
||||||
|
@ -2471,7 +2489,9 @@ CStreaming::UpdateMemoryUsed(void)
|
||||||
ms_memoryUsed =
|
ms_memoryUsed =
|
||||||
gMainHeap.GetMemoryUsed(MEMID_STREAM) +
|
gMainHeap.GetMemoryUsed(MEMID_STREAM) +
|
||||||
gMainHeap.GetMemoryUsed(MEMID_STREAM_MODELS) +
|
gMainHeap.GetMemoryUsed(MEMID_STREAM_MODELS) +
|
||||||
gMainHeap.GetMemoryUsed(MEMID_STREAM_TEXUTRES);
|
gMainHeap.GetMemoryUsed(MEMID_STREAM_TEXUTRES) +
|
||||||
|
gMainHeap.GetMemoryUsed(MEMID_STREAM_COLLISION) +
|
||||||
|
gMainHeap.GetMemoryUsed(MEMID_STREAM_ANIMATION);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ enum Config {
|
||||||
MAX_CDIMAGES = 8, // additional cdimages
|
MAX_CDIMAGES = 8, // additional cdimages
|
||||||
MAX_CDCHANNELS = 5,
|
MAX_CDCHANNELS = 5,
|
||||||
|
|
||||||
MODELINFOSIZE = 6500,
|
MODELINFOSIZE = 6500, // 4900 on PS2
|
||||||
TXDSTORESIZE = 1385,
|
TXDSTORESIZE = 1385,
|
||||||
COLSTORESIZE = 31,
|
COLSTORESIZE = 31,
|
||||||
EXTRADIRSIZE = 256,
|
EXTRADIRSIZE = 256,
|
||||||
|
|
|
@ -891,7 +891,7 @@ return;
|
||||||
CFont::PrintString(24.0f, y, gUString);
|
CFont::PrintString(24.0f, y, gUString);
|
||||||
y += 12.0f;
|
y += 12.0f;
|
||||||
|
|
||||||
sprintf(gString, "Render List: %d blocks, %d bytes", gMainHeap.GetBlocksUsed(MEMID_RENDERLIST), gMainHeap.GetMemoryUsed(MEMID_RENDERLIST));
|
sprintf(gString, "PreAlloc: %d blocks, %d bytes", gMainHeap.GetBlocksUsed(MEMID_PRE_ALLOC), gMainHeap.GetMemoryUsed(MEMID_PRE_ALLOC));
|
||||||
AsciiToUnicode(gString, gUString);
|
AsciiToUnicode(gString, gUString);
|
||||||
CFont::PrintString(24.0f, y, gUString);
|
CFont::PrintString(24.0f, y, gUString);
|
||||||
y += 12.0f;
|
y += 12.0f;
|
||||||
|
@ -916,11 +916,31 @@ return;
|
||||||
CFont::PrintString(24.0f, y, gUString);
|
CFont::PrintString(24.0f, y, gUString);
|
||||||
y += 12.0f;
|
y += 12.0f;
|
||||||
|
|
||||||
|
sprintf(gString, "Streamed LODs: %d blocks, %d bytes", gMainHeap.GetBlocksUsed(MEMID_STREAM_LODS), gMainHeap.GetMemoryUsed(MEMID_STREAM_LODS));
|
||||||
|
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));
|
sprintf(gString, "Streamed Textures: %d blocks, %d bytes", gMainHeap.GetBlocksUsed(MEMID_STREAM_TEXUTRES), gMainHeap.GetMemoryUsed(MEMID_STREAM_TEXUTRES));
|
||||||
AsciiToUnicode(gString, gUString);
|
AsciiToUnicode(gString, gUString);
|
||||||
CFont::PrintString(24.0f, y, gUString);
|
CFont::PrintString(24.0f, y, gUString);
|
||||||
y += 12.0f;
|
y += 12.0f;
|
||||||
|
|
||||||
|
sprintf(gString, "Streamed Collision: %d blocks, %d bytes", gMainHeap.GetBlocksUsed(MEMID_STREAM_COLLISION), gMainHeap.GetMemoryUsed(MEMID_STREAM_COLLISION));
|
||||||
|
AsciiToUnicode(gString, gUString);
|
||||||
|
CFont::PrintString(24.0f, y, gUString);
|
||||||
|
y += 12.0f;
|
||||||
|
|
||||||
|
sprintf(gString, "Streamed Animation: %d blocks, %d bytes", gMainHeap.GetBlocksUsed(MEMID_STREAM_ANIMATION), gMainHeap.GetMemoryUsed(MEMID_STREAM_ANIMATION));
|
||||||
|
AsciiToUnicode(gString, gUString);
|
||||||
|
CFont::PrintString(24.0f, y, gUString);
|
||||||
|
y += 12.0f;
|
||||||
|
|
||||||
|
sprintf(gString, "Ped Attr: %d blocks, %d bytes", gMainHeap.GetBlocksUsed(MEMID_PED_ATTR), gMainHeap.GetMemoryUsed(MEMID_PED_ATTR));
|
||||||
|
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));
|
sprintf(gString, "Animation: %d blocks, %d bytes", gMainHeap.GetBlocksUsed(MEMID_ANIMATION), gMainHeap.GetMemoryUsed(MEMID_ANIMATION));
|
||||||
AsciiToUnicode(gString, gUString);
|
AsciiToUnicode(gString, gUString);
|
||||||
CFont::PrintString(24.0f, y, gUString);
|
CFont::PrintString(24.0f, y, gUString);
|
||||||
|
@ -950,11 +970,6 @@ return;
|
||||||
AsciiToUnicode(gString, gUString);
|
AsciiToUnicode(gString, gUString);
|
||||||
CFont::PrintString(24.0f, y, gUString);
|
CFont::PrintString(24.0f, y, gUString);
|
||||||
y += 12.0f;
|
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
|
#endif
|
||||||
|
|
||||||
y = 132.0f;
|
y = 132.0f;
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
#include "General.h"
|
#include "General.h"
|
||||||
#include "Vehicle.h"
|
#include "Vehicle.h"
|
||||||
#include "World.h"
|
#include "World.h"
|
||||||
|
#include "MemoryHeap.h"
|
||||||
|
|
||||||
const int gcMaxSizeOfAtmQueue = 1;
|
const int gcMaxSizeOfAtmQueue = 1;
|
||||||
const int gcMaxSizeOfSeatQueue = 1;
|
const int gcMaxSizeOfSeatQueue = 1;
|
||||||
|
@ -18,8 +19,18 @@ std::vector<CVector> CPedShelterAttractor::ms_displacements;
|
||||||
|
|
||||||
CPedAttractorManager* GetPedAttractorManager()
|
CPedAttractorManager* GetPedAttractorManager()
|
||||||
{
|
{
|
||||||
static CPedAttractorManager manager;
|
// mobile just has a static here:
|
||||||
return &manager;
|
/*
|
||||||
|
static CPedAttractorManager pedAttrMgr;
|
||||||
|
return &pedAttrMgr;
|
||||||
|
*/
|
||||||
|
static CPedAttractorManager *pedAttrMgr;
|
||||||
|
if(pedAttrMgr == nil){
|
||||||
|
PUSH_MEMID(MEMID_PED_ATTR);
|
||||||
|
pedAttrMgr = new CPedAttractorManager;
|
||||||
|
POP_MEMID();
|
||||||
|
}
|
||||||
|
return pedAttrMgr;
|
||||||
}
|
}
|
||||||
|
|
||||||
CVehicleToEffect::CVehicleToEffect(CVehicle* pVehicle) : m_pVehicle(pVehicle)
|
CVehicleToEffect::CVehicleToEffect(CVehicle* pVehicle) : m_pVehicle(pVehicle)
|
||||||
|
@ -100,8 +111,10 @@ const C2dEffect* CPedAttractorManager::GetEffectForIceCreamVan(CVehicle* pVehicl
|
||||||
return assoc->ChooseEffect(pos);
|
return assoc->ChooseEffect(pos);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
PUSH_MEMID(MEMID_PED_ATTR);
|
||||||
CVehicleToEffect effect(pVehicle);
|
CVehicleToEffect effect(pVehicle);
|
||||||
vVehicleToEffect.push_back(effect);
|
vVehicleToEffect.push_back(effect);
|
||||||
|
POP_MEMID();
|
||||||
return effect.ChooseEffect(pos);
|
return effect.ChooseEffect(pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -645,6 +658,7 @@ CPedAttractor* CPedAttractorManager::RegisterPed(CPed* pPed, C2dEffect* pEffect,
|
||||||
pRegisteredAttractor->RegisterPed(pPed);
|
pRegisteredAttractor->RegisterPed(pPed);
|
||||||
return pRegisteredAttractor;
|
return pRegisteredAttractor;
|
||||||
}
|
}
|
||||||
|
PUSH_MEMID(MEMID_PED_ATTR);
|
||||||
switch (pEffect->pedattr.type) {
|
switch (pEffect->pedattr.type) {
|
||||||
case ATTRACTOR_ATM: vecAttractors.push_back(new CPedAtmAttractor(pEffect, matrix, gcMaxSizeOfAtmQueue, 1.0f, 30000.0f, 3000.0f, 0.2f, 0.15f, 0.1f, 0.1f)); break;
|
case ATTRACTOR_ATM: vecAttractors.push_back(new CPedAtmAttractor(pEffect, matrix, gcMaxSizeOfAtmQueue, 1.0f, 30000.0f, 3000.0f, 0.2f, 0.15f, 0.1f, 0.1f)); break;
|
||||||
case ATTRACTOR_SEAT: vecAttractors.push_back(new CPedSeatAttractor(pEffect, matrix, gcMaxSizeOfSeatQueue, 1.0f, 30000.0f, 3000.0f, 0.125f, 0.1f, 0.1f, 0.1f)); break;
|
case ATTRACTOR_SEAT: vecAttractors.push_back(new CPedSeatAttractor(pEffect, matrix, gcMaxSizeOfSeatQueue, 1.0f, 30000.0f, 3000.0f, 0.125f, 0.1f, 0.1f, 0.1f)); break;
|
||||||
|
@ -653,6 +667,7 @@ CPedAttractor* CPedAttractorManager::RegisterPed(CPed* pPed, C2dEffect* pEffect,
|
||||||
case ATTRACTOR_SHELTER: vecAttractors.push_back(new CPedShelterAttractor(pEffect, matrix, gcMaxSizeOfShelterQueue, 1.0f, 30000.0f, 3000.0f, 0.5f, 6.28f, 0.1f, 0.1f)); break;
|
case ATTRACTOR_SHELTER: vecAttractors.push_back(new CPedShelterAttractor(pEffect, matrix, gcMaxSizeOfShelterQueue, 1.0f, 30000.0f, 3000.0f, 0.5f, 6.28f, 0.1f, 0.1f)); break;
|
||||||
case ATTRACTOR_ICECREAM: vecAttractors.push_back(new CPedIceCreamAttractor(pEffect, matrix, gcMaxSizeOfIceCreamQueue, 1.0f, 30000.0f, 3000.0f, 0.2f, 0.3f, 0.1f, 0.1f)); break;
|
case ATTRACTOR_ICECREAM: vecAttractors.push_back(new CPedIceCreamAttractor(pEffect, matrix, gcMaxSizeOfIceCreamQueue, 1.0f, 30000.0f, 3000.0f, 0.2f, 0.3f, 0.1f, 0.1f)); break;
|
||||||
}
|
}
|
||||||
|
POP_MEMID();
|
||||||
if (pRegisteredAttractor)
|
if (pRegisteredAttractor)
|
||||||
pRegisteredAttractor->RegisterPed(pPed);
|
pRegisteredAttractor->RegisterPed(pPed);
|
||||||
return pRegisteredAttractor;
|
return pRegisteredAttractor;
|
||||||
|
|
|
@ -17,7 +17,6 @@
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
MEMID_FREE,
|
MEMID_FREE,
|
||||||
// IDs from LCS:
|
|
||||||
MEMID_GAME = 1, // "Game"
|
MEMID_GAME = 1, // "Game"
|
||||||
MEMID_WORLD = 2, // "World"
|
MEMID_WORLD = 2, // "World"
|
||||||
MEMID_ANIMATION = 3, // "Animation"
|
MEMID_ANIMATION = 3, // "Animation"
|
||||||
|
|
Loading…
Reference in a new issue