Core: Vmaps update 4.3 (#1021)

Vmaps update from 4.2 to 4.3
This commit is contained in:
Nefertumm
2019-01-03 14:27:11 -03:00
committed by Barbz
parent 676d5cd431
commit 59d4e1d3a8
4 changed files with 17 additions and 12 deletions

View File

@@ -12,8 +12,8 @@
namespace VMAP
{
const char VMAP_MAGIC[] = "VMAP_4.2";
const char RAW_VMAP_MAGIC[] = "VMAP042"; // used in extracted vmap files with raw data
const char VMAP_MAGIC[] = "VMAP_4.3";
const char RAW_VMAP_MAGIC[] = "VMAP043"; // used in extracted vmap files with raw data
const char GAMEOBJECT_MODELS[] = "GameObjectModels.dtree";
// defined in TileAssembler.cpp currently...

View File

@@ -64,7 +64,7 @@ bool preciseVectorData = false;
//static const char * szWorkDirMaps = ".\\Maps";
const char* szWorkDirWmo = "./Buildings";
const char* szRawVMAPMagic = "VMAP042";
const char* szRawVMAPMagic = "VMAP043";
// Local testing functions

View File

@@ -338,8 +338,9 @@ int WMOGroup::ConvertToVMAPGroupWmo(FILE *output, WMORoot *rootWMO, bool precise
for (int i=0; i<nTriangles; ++i)
{
// Skip no collision triangles
if (MOPY[2*i]&WMO_MATERIAL_NO_COLLISION ||
!(MOPY[2*i]&(WMO_MATERIAL_HINT|WMO_MATERIAL_COLLIDE_HIT)) )
bool isRenderFace = (MOPY[2 * i] & WMO_MATERIAL_RENDER) && !(MOPY[2 * i] & WMO_MATERIAL_DETAIL);
bool isCollision = MOPY[2 * i] & WMO_MATERIAL_COLLISION || isRenderFace;
if (!isCollision)
continue;
// Use this triangle
for (int j=0; j<3; ++j)

View File

@@ -15,13 +15,17 @@
#include "loadlib/loadlib.h"
// MOPY flags
#define WMO_MATERIAL_NOCAMCOLLIDE 0x01
#define WMO_MATERIAL_DETAIL 0x02
#define WMO_MATERIAL_NO_COLLISION 0x04
#define WMO_MATERIAL_HINT 0x08
#define WMO_MATERIAL_RENDER 0x10
#define WMO_MATERIAL_COLLIDE_HIT 0x20
#define WMO_MATERIAL_WALL_SURFACE 0x40
enum MopyFlags
{
WHO_MATERIAL_UNK01 = 0x01,
WMO_MATERIAL_NOCAMCOLLIDE = 0x02,
WMO_MATERIAL_DETAIL = 0x04,
WMO_MATERIAL_COLLISION = 0x08,
WMO_MATERIAL_HINT = 0x10,
WMO_MATERIAL_RENDER = 0x20,
WMO_MATERIAL_WALL_SURFACE = 0x40, // Guessed
WMO_MATERIAL_COLLIDE_HIT = 0x80,
};
class WMOInstance;
class WMOManager;