Core/Maps: Improvements to terrain swap handling

* Fixed memory leak when unloading grids
* Handle child maps being entered
* Allow chaining more child maps (Draenor -> Tanaan Jungle -> Tanaan Jungle - No Hubs Phase)
This commit is contained in:
Shauren
2020-05-24 22:34:25 +02:00
parent ebb6f12db8
commit eba31dea27
12 changed files with 187 additions and 152 deletions

View File

@@ -243,10 +243,14 @@ namespace VMAP
if (!result.File)
{
int32 parentMapId = vm->getParentMapId(mapID);
if (parentMapId != -1)
while (parentMapId != -1)
{
result.Name = basePath + getTileFileName(parentMapId, tileX, tileY);
result.File = fopen(result.Name.c_str(), "rb");
if (result.File)
break;
parentMapId = vm->getParentMapId(uint32(parentMapId));
}
}