mirror of
https://github.com/halpz/re3.git
synced 2024-12-25 18:05:27 +00:00
streaming fixes
This commit is contained in:
parent
2ce925caba
commit
225b8953fd
|
@ -1151,12 +1151,9 @@ CStreaming::RemoveModel(int32 id)
|
|||
void
|
||||
CStreaming::RemoveUnusedBuildings(eLevelName level)
|
||||
{
|
||||
if(level != LEVEL_INDUSTRIAL)
|
||||
RemoveBuildings(LEVEL_INDUSTRIAL);
|
||||
if(level != LEVEL_COMMERCIAL)
|
||||
RemoveBuildings(LEVEL_COMMERCIAL);
|
||||
if(level != LEVEL_SUBURBAN)
|
||||
RemoveBuildings(LEVEL_SUBURBAN);
|
||||
for(int i = LEVEL_INDUSTRIAL; i < NUM_LEVELS; i++)
|
||||
if(level != i)
|
||||
RemoveBuildings((eLevelName)i);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -1279,12 +1276,9 @@ CStreaming::RemoveUnusedBigBuildings(eLevelName level)
|
|||
{
|
||||
ISLAND_LOADING_IS(LOW)
|
||||
{
|
||||
if(level != LEVEL_INDUSTRIAL)
|
||||
RemoveBigBuildings(LEVEL_INDUSTRIAL);
|
||||
if(level != LEVEL_COMMERCIAL)
|
||||
RemoveBigBuildings(LEVEL_COMMERCIAL);
|
||||
if(level != LEVEL_SUBURBAN)
|
||||
RemoveBigBuildings(LEVEL_SUBURBAN);
|
||||
for(int i = LEVEL_INDUSTRIAL; i < NUM_LEVELS; i++)
|
||||
if(level != i)
|
||||
RemoveBuildings((eLevelName)i);
|
||||
}
|
||||
RemoveIslandsNotUsed(level);
|
||||
}
|
||||
|
@ -1324,8 +1318,11 @@ CStreaming::RemoveIslandsNotUsed(eLevelName level)
|
|||
}
|
||||
#ifdef NO_ISLAND_LOADING
|
||||
if(FrontEndMenuManager.m_PrefsIslandLoading == CMenuManager::ISLAND_LOADING_HIGH) {
|
||||
DeleteIsland(pIslandLODmainlandEntity);
|
||||
DeleteIsland(pIslandLODbeachEntity);
|
||||
DeleteIsland(pIslandLODindustEntity);
|
||||
DeleteIsland(pIslandLODcomIndEntity);
|
||||
DeleteIsland(pIslandLODcomSubEntity);
|
||||
DeleteIsland(pIslandLODsubIndEntity);
|
||||
DeleteIsland(pIslandLODsubComEntity);
|
||||
} else
|
||||
#endif
|
||||
switch(level){
|
||||
|
|
|
@ -213,3 +213,10 @@ public:
|
|||
|
||||
static void PrintStreamingBufferState();
|
||||
};
|
||||
|
||||
// LCS(TODO): put them into CStreaming::mspInst
|
||||
extern int32 islandLODindust;
|
||||
extern int32 islandLODcomInd;
|
||||
extern int32 islandLODcomSub;
|
||||
extern int32 islandLODsubInd;
|
||||
extern int32 islandLODsubCom;
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
#include "RwHelper.h"
|
||||
#include "ModelIndices.h"
|
||||
#include "Timer.h"
|
||||
#include "Streaming.h"
|
||||
#include "Entity.h"
|
||||
#include "Object.h"
|
||||
#include "World.h"
|
||||
|
@ -623,10 +624,15 @@ CEntity::SetupBigBuilding(void)
|
|||
m_level = CTheZones::GetLevelFromPosition(&GetPosition());
|
||||
if(mi->m_lodDistances[0] <= 2000.0f)
|
||||
bStreamBIGBuilding = true;
|
||||
if(mi->m_lodDistances[0] > 2500.0f || mi->m_ignoreDrawDist)
|
||||
if(m_modelIndex == islandLODindust ||
|
||||
m_modelIndex == islandLODcomInd ||
|
||||
m_modelIndex == islandLODcomSub ||
|
||||
m_modelIndex == islandLODsubInd ||
|
||||
m_modelIndex == islandLODsubCom ||
|
||||
mi->m_lodDistances[0] > 5000.0f || mi->m_ignoreDrawDist)
|
||||
m_level = LEVEL_GENERIC;
|
||||
else if(m_level == LEVEL_GENERIC)
|
||||
printf("%s isn't in a level\n", mi->GetModelName());
|
||||
// else if(m_level == LEVEL_GENERIC)
|
||||
// printf("%s isn't in a level\n", mi->GetModelName());
|
||||
}
|
||||
|
||||
float WindTabel[] = {
|
||||
|
|
Loading…
Reference in a new issue