Core/Maps

* Corrected liquid type extraction in maps - MCLQ chunk must be parsed together with MH2O (they stack)
* Fixed liquid detection in WMO objects
* Implemented LiquidType.dbc use, players will now get proper auras in special liquids
* Turned off slime damage by default (Naxxramas uses periodic damage aura for this purpose)
* Implemented liquid type overrides basing on area/zone
* Renamed final temp_gameobject_models to GameObjectModels.dtree (the temporary one produced by vmap extractor remains unaffected)

Note: Map and Vmap re-extraction is required
This commit is contained in:
Shauren
2012-03-07 13:09:35 +01:00
parent 9f93681625
commit e5d23103f3
17 changed files with 310 additions and 160 deletions
@@ -233,7 +233,7 @@ namespace VMAP
{
floor = info.ground_Z;
ASSERT(floor < std::numeric_limits<float>::max());
type = info.hitModel->GetLiquidType();
type = info.hitModel->GetLiquidType(); // entry from LiquidType.dbc
if (reqLiquidType && !(type & reqLiquidType))
return false;
if (info.hitInstance->GetLiquidLevel(pos, info, level))
+1 -1
View File
@@ -335,7 +335,7 @@ namespace VMAP
void TileAssembler::exportGameobjectModels()
{
FILE* model_list = fopen((iSrcDir + "/" + GAMEOBJECT_MODELS).c_str(), "rb");
FILE* model_list = fopen((iSrcDir + "/" + "temp_gameobject_models").c_str(), "rb");
FILE* model_list_copy = fopen((iDestDir + "/" + GAMEOBJECT_MODELS).c_str(), "wb");
if (!model_list || !model_list_copy)
return;
+1 -2
View File
@@ -392,9 +392,8 @@ namespace VMAP
uint32 GroupModel::GetLiquidType() const
{
// convert to type mask, matching MAP_LIQUID_TYPE_* defines in Map.h
if (iLiquid)
return (1 << iLiquid->GetType());
return iLiquid->GetType();
return 0;
}
+3 -3
View File
@@ -24,9 +24,9 @@
namespace VMAP
{
const char VMAP_MAGIC[] = "VMAP_4.0";
const char RAW_VMAP_MAGIC[] = "VMAP004"; // used in extracted vmap files with raw data
const char GAMEOBJECT_MODELS[] = "temp_gameobject_models";
const char VMAP_MAGIC[] = "VMAP_4.1";
const char RAW_VMAP_MAGIC[] = "VMAP041"; // used in extracted vmap files with raw data
const char GAMEOBJECT_MODELS[] = "GameObjectModels.dtree";
// defined in TileAssembler.cpp currently...
bool readChunk(FILE* rf, char *dest, const char *compare, uint32 len);