mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-19 17:05:44 +01:00
Core/VMaps: Fix debug assert caused by invalid vmaps
Fix debug assert thrown by G3D caused by models with empty bounding box being exported by vmap4assembler and imported by worldserver. This change will skip those models, proper investigation on the issue of why the bounding box is empty is still required.
(cherry picked from commit a7ca78b2fe)
This commit is contained in:
@@ -391,6 +391,18 @@ namespace VMAP
|
||||
}
|
||||
}
|
||||
|
||||
if (bounds.isEmpty())
|
||||
{
|
||||
std::cout << "\nModel " << std::string(buff, name_length) << " has empty bounding box" << std::endl;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!bounds.isFinite())
|
||||
{
|
||||
std::cout << "\nModel " << std::string(buff, name_length) << " has invalid bounding box" << std::endl;
|
||||
continue;
|
||||
}
|
||||
|
||||
fwrite(&displayId, sizeof(uint32), 1, model_list_copy);
|
||||
fwrite(&name_length, sizeof(uint32), 1, model_list_copy);
|
||||
fwrite(&buff, sizeof(char), name_length, model_list_copy);
|
||||
|
||||
@@ -78,6 +78,12 @@ void LoadGameObjectModelList()
|
||||
break;
|
||||
}
|
||||
|
||||
if (v1.isNaN() || v2.isNaN())
|
||||
{
|
||||
VMAP_ERROR_LOG("misc", "File '%s' Model '%s' has invalid v1%s v2%s values!", VMAP::GAMEOBJECT_MODELS, std::string(buff, name_length).c_str(), v1.toString().c_str(), v2.toString().c_str());
|
||||
continue;
|
||||
}
|
||||
|
||||
model_list.insert
|
||||
(
|
||||
ModelList::value_type( displayId, GameobjectModelData(std::string(buff, name_length), AABox(v1, v2)) )
|
||||
|
||||
Reference in New Issue
Block a user