- added DavidPH's submission for specifying vertex heights directly in UDMF.
SVN r3037 (trunk)
This commit is contained in:
parent
f0f17e531c
commit
79c5080dda
7 changed files with 72 additions and 3 deletions
|
|
@ -390,6 +390,7 @@ class UDMFParser : public UDMFParserBase
|
|||
TArray<mapsidedef_t> ParsedSideTextures;
|
||||
TArray<sector_t> ParsedSectors;
|
||||
TArray<vertex_t> ParsedVertices;
|
||||
TArray<vertexdata_t> ParsedVertexDatas;
|
||||
|
||||
FDynamicColormap *fogMap, *normMap;
|
||||
|
||||
|
|
@ -1303,9 +1304,10 @@ public:
|
|||
//
|
||||
//===========================================================================
|
||||
|
||||
void ParseVertex(vertex_t *vt)
|
||||
void ParseVertex(vertex_t *vt, vertexdata_t *vd)
|
||||
{
|
||||
vt->x = vt->y = 0;
|
||||
vd->zCeiling = vd->zFloor = vd->flags = 0;
|
||||
sc.MustGetStringName("{");
|
||||
while (!sc.CheckString("}"))
|
||||
{
|
||||
|
|
@ -1320,9 +1322,21 @@ public:
|
|||
case NAME_X:
|
||||
vt->x = FLOAT2FIXED(strtod(value, NULL));
|
||||
break;
|
||||
|
||||
case NAME_Y:
|
||||
vt->y = FLOAT2FIXED(strtod(value, NULL));
|
||||
break;
|
||||
|
||||
case NAME_ZCeiling:
|
||||
vd->zCeiling = FLOAT2FIXED(strtod(value, NULL));
|
||||
vd->flags |= VERTEXFLAG_ZCeilingEnabled;
|
||||
break;
|
||||
|
||||
case NAME_ZFloor:
|
||||
vd->zFloor = FLOAT2FIXED(strtod(value, NULL));
|
||||
vd->flags |= VERTEXFLAG_ZFloorEnabled;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
@ -1520,8 +1534,10 @@ public:
|
|||
else if (sc.Compare("vertex"))
|
||||
{
|
||||
vertex_t vt;
|
||||
ParseVertex(&vt);
|
||||
vertexdata_t vd;
|
||||
ParseVertex(&vt, &vd);
|
||||
ParsedVertices.Push(vt);
|
||||
ParsedVertexDatas.Push(vd);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -1534,6 +1550,11 @@ public:
|
|||
vertexes = new vertex_t[numvertexes];
|
||||
memcpy(vertexes, &ParsedVertices[0], numvertexes * sizeof(*vertexes));
|
||||
|
||||
// Create the real vertex datas
|
||||
numvertexdatas = ParsedVertexDatas.Size();
|
||||
vertexdatas = new vertexdata_t[numvertexdatas];
|
||||
memcpy(vertexdatas, &ParsedVertexDatas[0], numvertexdatas * sizeof(*vertexdatas));
|
||||
|
||||
// Create the real sectors
|
||||
numsectors = ParsedSectors.Size();
|
||||
sectors = new sector_t[numsectors];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue