2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-08 13:44:56 +00:00

Various level streaming fixes, remove support for uncooked rep

This commit is contained in:
2018-05-06 17:47:40 -07:00
parent 9d25d44fe8
commit f5ea144b47
30 changed files with 458 additions and 181 deletions

View File

@@ -74,12 +74,20 @@ void CMapWorld::SetWhichMapAreasLoaded(const IWorld& wld, int start, int count)
bool CMapWorld::IsMapAreasStreaming() const
{
bool ret = false;
for (CMapAreaData* data = x10_listHeads[1] ; data ; data = data->NextMapAreaData())
CMapAreaData* data = x10_listHeads[1];
while (data != nullptr)
{
if (data->IsLoaded())
{
CMapAreaData* next = data->NextMapAreaData();
const_cast<CMapWorld*>(this)->MoveMapAreaToList(data, EMapAreaList::Loaded);
data = next;
}
else
{
data = data->NextMapAreaData();
ret = true;
}
}
return ret;
}

View File

@@ -72,7 +72,7 @@ public:
{
TCachedToken<CMapArea> x0_area;
EMapAreaList x10_list;
CMapAreaData* x14_next;
CMapAreaData* x14_next = nullptr;
public:
CMapAreaData(CAssetId areaRes, EMapAreaList list, CMapAreaData* next);
void Lock() { x0_area.Lock(); }