- fixed: The thing id in Hexen map things needs to be treated as a signed short. This is how Hexen defined it and

how older ZDooms before the implementation of UDMF used them internally.


SVN r2263 (trunk)
This commit is contained in:
Christoph Oelckers 2010-04-02 07:24:57 +00:00
parent 69c777df4c
commit 7da0badf3c

View file

@ -227,10 +227,10 @@ struct mapseg_t
{ {
WORD v1; WORD v1;
WORD v2; WORD v2;
short angle; SWORD angle;
WORD linedef; WORD linedef;
short side; SWORD side;
short offset; SWORD offset;
}; };
@ -242,11 +242,11 @@ struct mapseg_t
struct mapnode_t struct mapnode_t
{ {
short x,y,dx,dy; // partition line SWORD x,y,dx,dy; // partition line
short bbox[2][4]; // bounding box for each child SWORD bbox[2][4]; // bounding box for each child
// If NF_SUBSECTOR is or'ed in, it's a subsector, // If NF_SUBSECTOR is or'ed in, it's a subsector,
// else it's a node of another subtree. // else it's a node of another subtree.
unsigned short children[2]; WORD children[2];
}; };
@ -256,23 +256,23 @@ struct mapnode_t
// plus skill/visibility flags and attributes. // plus skill/visibility flags and attributes.
struct mapthing_t struct mapthing_t
{ {
short x; SWORD x;
short y; SWORD y;
short angle; SWORD angle;
short type; SWORD type;
short options; SWORD options;
}; };
// [RH] Hexen-compatible MapThing. // [RH] Hexen-compatible MapThing.
struct mapthinghexen_t struct mapthinghexen_t
{ {
unsigned short thingid; SWORD thingid;
short x; SWORD x;
short y; SWORD y;
short z; SWORD z;
short angle; SWORD angle;
short type; SWORD type;
short flags; SWORD flags;
BYTE special; BYTE special;
BYTE args[5]; BYTE args[5];
}; };