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

@@ -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;