mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-28 15:11:55 +00:00
Change type signs of some members in doomdata.h, add USHORT/ULONG to m_swap.h for setup code to use for getting sector/sidedef/linedef/vertex/etc numbers
I did this to attempt to fix a map so large it was acting very weird; sadly I have no idea if it's purely the number of stuff in the map or whether the nodebuilder mucks everything up anyway
This commit is contained in:
parent
ab0445ae28
commit
fc1bcb38c2
3 changed files with 22 additions and 17 deletions
|
@ -74,14 +74,14 @@ typedef struct
|
||||||
INT16 textureoffset, rowoffset;
|
INT16 textureoffset, rowoffset;
|
||||||
char toptexture[8], bottomtexture[8], midtexture[8];
|
char toptexture[8], bottomtexture[8], midtexture[8];
|
||||||
// Front sector, towards viewer.
|
// Front sector, towards viewer.
|
||||||
INT16 sector;
|
UINT16 sector;
|
||||||
} ATTRPACK mapsidedef_t;
|
} ATTRPACK mapsidedef_t;
|
||||||
|
|
||||||
// A LineDef, as used for editing, and as input
|
// A LineDef, as used for editing, and as input
|
||||||
// to the BSP builder.
|
// to the BSP builder.
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
INT16 v1, v2;
|
UINT16 v1, v2;
|
||||||
INT16 flags;
|
INT16 flags;
|
||||||
INT16 special;
|
INT16 special;
|
||||||
INT16 tag;
|
INT16 tag;
|
||||||
|
@ -163,9 +163,9 @@ typedef struct
|
||||||
// using partition lines selected by BSP builder.
|
// using partition lines selected by BSP builder.
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
INT16 v1, v2;
|
UINT16 v1, v2;
|
||||||
INT16 angle;
|
INT16 angle;
|
||||||
INT16 linedef;
|
UINT16 linedef;
|
||||||
INT16 side;
|
INT16 side;
|
||||||
INT16 offset;
|
INT16 offset;
|
||||||
} ATTRPACK mapseg_t;
|
} ATTRPACK mapseg_t;
|
||||||
|
|
|
@ -39,4 +39,8 @@
|
||||||
#define LONG(x) ((INT32)(x))
|
#define LONG(x) ((INT32)(x))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Unsigned versions
|
||||||
|
#define USHORT(x) (UINT16)SHORT(x)
|
||||||
|
#define ULONG(x) (UINT32)LONG(x)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -425,7 +425,8 @@ static void P_LoadSegs(lumpnum_t lumpnum)
|
||||||
{
|
{
|
||||||
UINT8 *data;
|
UINT8 *data;
|
||||||
size_t i;
|
size_t i;
|
||||||
INT32 linedef, side;
|
UINT16 linedef;
|
||||||
|
INT32 side;
|
||||||
mapseg_t *ml;
|
mapseg_t *ml;
|
||||||
seg_t *li;
|
seg_t *li;
|
||||||
line_t *ldef;
|
line_t *ldef;
|
||||||
|
@ -440,8 +441,8 @@ static void P_LoadSegs(lumpnum_t lumpnum)
|
||||||
li = segs;
|
li = segs;
|
||||||
for (i = 0; i < numsegs; i++, li++, ml++)
|
for (i = 0; i < numsegs; i++, li++, ml++)
|
||||||
{
|
{
|
||||||
li->v1 = &vertexes[SHORT(ml->v1)];
|
li->v1 = &vertexes[USHORT(ml->v1)];
|
||||||
li->v2 = &vertexes[SHORT(ml->v2)];
|
li->v2 = &vertexes[USHORT(ml->v2)];
|
||||||
|
|
||||||
#ifdef HWRENDER // not win32 only 19990829 by Kin
|
#ifdef HWRENDER // not win32 only 19990829 by Kin
|
||||||
// used for the hardware render
|
// used for the hardware render
|
||||||
|
@ -455,7 +456,7 @@ static void P_LoadSegs(lumpnum_t lumpnum)
|
||||||
|
|
||||||
li->angle = (SHORT(ml->angle))<<FRACBITS;
|
li->angle = (SHORT(ml->angle))<<FRACBITS;
|
||||||
li->offset = (SHORT(ml->offset))<<FRACBITS;
|
li->offset = (SHORT(ml->offset))<<FRACBITS;
|
||||||
linedef = SHORT(ml->linedef);
|
linedef = USHORT(ml->linedef);
|
||||||
ldef = &lines[linedef];
|
ldef = &lines[linedef];
|
||||||
li->linedef = ldef;
|
li->linedef = ldef;
|
||||||
li->side = side = SHORT(ml->side);
|
li->side = side = SHORT(ml->side);
|
||||||
|
@ -496,8 +497,8 @@ static inline void P_LoadSubsectors(lumpnum_t lumpnum)
|
||||||
for (i = 0; i < numsubsectors; i++, ss++, ms++)
|
for (i = 0; i < numsubsectors; i++, ss++, ms++)
|
||||||
{
|
{
|
||||||
ss->sector = NULL;
|
ss->sector = NULL;
|
||||||
ss->numlines = SHORT(ms->numsegs);
|
ss->numlines = USHORT(ms->numsegs);
|
||||||
ss->firstline = SHORT(ms->firstseg);
|
ss->firstline = USHORT(ms->firstseg);
|
||||||
#ifdef FLOORSPLATS
|
#ifdef FLOORSPLATS
|
||||||
ss->splats = NULL;
|
ss->splats = NULL;
|
||||||
#endif
|
#endif
|
||||||
|
@ -775,7 +776,7 @@ static void P_LoadNodes(lumpnum_t lumpnum)
|
||||||
no->dy = SHORT(mn->dy)<<FRACBITS;
|
no->dy = SHORT(mn->dy)<<FRACBITS;
|
||||||
for (j = 0; j < 2; j++)
|
for (j = 0; j < 2; j++)
|
||||||
{
|
{
|
||||||
no->children[j] = SHORT(mn->children[j]);
|
no->children[j] = USHORT(mn->children[j]);
|
||||||
for (k = 0; k < 4; k++)
|
for (k = 0; k < 4; k++)
|
||||||
no->bbox[j][k] = SHORT(mn->bbox[j][k])<<FRACBITS;
|
no->bbox[j][k] = SHORT(mn->bbox[j][k])<<FRACBITS;
|
||||||
}
|
}
|
||||||
|
@ -1163,8 +1164,8 @@ static void P_LoadLineDefs(lumpnum_t lumpnum)
|
||||||
ld->flags = SHORT(mld->flags);
|
ld->flags = SHORT(mld->flags);
|
||||||
ld->special = SHORT(mld->special);
|
ld->special = SHORT(mld->special);
|
||||||
ld->tag = SHORT(mld->tag);
|
ld->tag = SHORT(mld->tag);
|
||||||
v1 = ld->v1 = &vertexes[SHORT(mld->v1)];
|
v1 = ld->v1 = &vertexes[USHORT(mld->v1)];
|
||||||
v2 = ld->v2 = &vertexes[SHORT(mld->v2)];
|
v2 = ld->v2 = &vertexes[USHORT(mld->v2)];
|
||||||
ld->dx = v2->x - v1->x;
|
ld->dx = v2->x - v1->x;
|
||||||
ld->dy = v2->y - v1->y;
|
ld->dy = v2->y - v1->y;
|
||||||
|
|
||||||
|
@ -1203,8 +1204,8 @@ static void P_LoadLineDefs(lumpnum_t lumpnum)
|
||||||
ld->bbox[BOXTOP] = v1->y;
|
ld->bbox[BOXTOP] = v1->y;
|
||||||
}
|
}
|
||||||
|
|
||||||
ld->sidenum[0] = SHORT(mld->sidenum[0]);
|
ld->sidenum[0] = USHORT(mld->sidenum[0]);
|
||||||
ld->sidenum[1] = SHORT(mld->sidenum[1]);
|
ld->sidenum[1] = USHORT(mld->sidenum[1]);
|
||||||
|
|
||||||
{
|
{
|
||||||
// cph 2006/09/30 - fix sidedef errors right away.
|
// cph 2006/09/30 - fix sidedef errors right away.
|
||||||
|
@ -1381,7 +1382,7 @@ static void P_LoadSideDefs2(lumpnum_t lumpnum)
|
||||||
sd->rowoffset = SHORT(msd->rowoffset)<<FRACBITS;
|
sd->rowoffset = SHORT(msd->rowoffset)<<FRACBITS;
|
||||||
|
|
||||||
{ /* cph 2006/09/30 - catch out-of-range sector numbers; use sector 0 instead */
|
{ /* cph 2006/09/30 - catch out-of-range sector numbers; use sector 0 instead */
|
||||||
UINT16 sector_num = SHORT(msd->sector);
|
UINT16 sector_num = USHORT(msd->sector);
|
||||||
|
|
||||||
if (sector_num >= numsectors)
|
if (sector_num >= numsectors)
|
||||||
{
|
{
|
||||||
|
@ -1394,7 +1395,7 @@ static void P_LoadSideDefs2(lumpnum_t lumpnum)
|
||||||
// refined to allow colormaps to work as wall textures if invalid as colormaps
|
// refined to allow colormaps to work as wall textures if invalid as colormaps
|
||||||
// but valid as textures.
|
// but valid as textures.
|
||||||
|
|
||||||
sd->sector = sec = §ors[SHORT(msd->sector)];
|
sd->sector = sec = §ors[USHORT(msd->sector)];
|
||||||
|
|
||||||
// Colormaps!
|
// Colormaps!
|
||||||
switch (sd->special)
|
switch (sd->special)
|
||||||
|
|
Loading…
Reference in a new issue