mirror of
https://github.com/ZDoom/ZDRay.git
synced 2025-02-09 07:41:03 +00:00
- parse all needed fields from things for slope definition.
This commit is contained in:
parent
03a95e090f
commit
bb488236d1
3 changed files with 43 additions and 9 deletions
|
@ -214,8 +214,8 @@ struct MapThing2
|
||||||
short angle;
|
short angle;
|
||||||
short type;
|
short type;
|
||||||
short flags;
|
short flags;
|
||||||
char special;
|
uint8_t special;
|
||||||
char args[5];
|
uint8_t args[5];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct IntThing
|
struct IntThing
|
||||||
|
@ -228,8 +228,8 @@ struct IntThing
|
||||||
short angle;
|
short angle;
|
||||||
short type;
|
short type;
|
||||||
short flags;
|
short flags;
|
||||||
char special;
|
int special;
|
||||||
char args[5];
|
int args[5];
|
||||||
|
|
||||||
short pitch; // UDMF
|
short pitch; // UDMF
|
||||||
float height; // UDMF
|
float height; // UDMF
|
||||||
|
|
|
@ -43,7 +43,20 @@ enum
|
||||||
PO_ANCHOR_TYPE = 9300,
|
PO_ANCHOR_TYPE = 9300,
|
||||||
PO_SPAWN_TYPE,
|
PO_SPAWN_TYPE,
|
||||||
PO_SPAWNCRUSH_TYPE,
|
PO_SPAWNCRUSH_TYPE,
|
||||||
PO_SPAWNHURT_TYPE
|
PO_SPAWNHURT_TYPE,
|
||||||
|
|
||||||
|
// Thing numbers used to define slopes
|
||||||
|
SMT_VavoomFloor = 1500,
|
||||||
|
SMT_VavoomCeiling = 1501,
|
||||||
|
SMT_VertexFloorZ = 1504,
|
||||||
|
SMT_VertexCeilingZ = 1505,
|
||||||
|
SMT_SlopeFloorPointLine = 9500,
|
||||||
|
SMT_SlopeCeilingPointLine = 9501,
|
||||||
|
SMT_SetFloorSlope = 9502,
|
||||||
|
SMT_SetCeilingSlope = 9503,
|
||||||
|
SMT_CopyFloorPlane = 9510,
|
||||||
|
SMT_CopyCeilingPlane = 9511,
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
FLevel::FLevel ()
|
FLevel::FLevel ()
|
||||||
|
|
|
@ -171,9 +171,6 @@ void FProcessor::ParseThing(IntThing *th)
|
||||||
const char *value;
|
const char *value;
|
||||||
const char *key = ParseKey(value);
|
const char *key = ParseKey(value);
|
||||||
|
|
||||||
// The only properties we need from a thing are
|
|
||||||
// x, y, angle and type.
|
|
||||||
|
|
||||||
if (!stricmp(key, "x"))
|
if (!stricmp(key, "x"))
|
||||||
{
|
{
|
||||||
th->x = CheckFixed(key);
|
th->x = CheckFixed(key);
|
||||||
|
@ -196,7 +193,31 @@ void FProcessor::ParseThing(IntThing *th)
|
||||||
}
|
}
|
||||||
if (!stricmp(key, "height"))
|
if (!stricmp(key, "height"))
|
||||||
{
|
{
|
||||||
th->height = CheckFloat(key);
|
th->height = CheckInt(key);
|
||||||
|
}
|
||||||
|
if (!stricmp(key, "special"))
|
||||||
|
{
|
||||||
|
th->special = CheckInt(key);
|
||||||
|
}
|
||||||
|
if (!stricmp(key, "arg0"))
|
||||||
|
{
|
||||||
|
th->args[0] = CheckInt(key);
|
||||||
|
}
|
||||||
|
if (!stricmp(key, "arg1"))
|
||||||
|
{
|
||||||
|
th->args[1] = CheckInt(key);
|
||||||
|
}
|
||||||
|
if (!stricmp(key, "arg2"))
|
||||||
|
{
|
||||||
|
th->args[2] = CheckInt(key);
|
||||||
|
}
|
||||||
|
if (!stricmp(key, "arg3"))
|
||||||
|
{
|
||||||
|
th->args[3] = CheckInt(key);
|
||||||
|
}
|
||||||
|
if (!stricmp(key, "arg4"))
|
||||||
|
{
|
||||||
|
th->args[4] = CheckInt(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
// now store the key in its unprocessed form
|
// now store the key in its unprocessed form
|
||||||
|
|
Loading…
Reference in a new issue