mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-05-03 23:42:07 +00:00
Get rid of duplicated code in the extended seg parsing
This commit is contained in:
parent
3a02aa1c4e
commit
2925030f8f
1 changed files with 5 additions and 37 deletions
|
|
@ -1619,6 +1619,7 @@ static void P_LoadExtendedBSP(UINT8 *data, nodetype_t nodetype)
|
||||||
switch (nodetype)
|
switch (nodetype)
|
||||||
{
|
{
|
||||||
case NT_XGLN:
|
case NT_XGLN:
|
||||||
|
case NT_XGL3:
|
||||||
for (m = 0; m < subsectors[i].numlines; m++, k++)
|
for (m = 0; m < subsectors[i].numlines; m++, k++)
|
||||||
{
|
{
|
||||||
UINT16 linenum;
|
UINT16 linenum;
|
||||||
|
|
@ -1630,44 +1631,11 @@ static void P_LoadExtendedBSP(UINT8 *data, nodetype_t nodetype)
|
||||||
else
|
else
|
||||||
segs[k - 1].v2 = segs[k].v1;
|
segs[k - 1].v2 = segs[k].v1;
|
||||||
data += 4; // partner; can be ignored by software renderer;
|
data += 4; // partner; can be ignored by software renderer;
|
||||||
|
if (nodetype == NT_XGL3)
|
||||||
|
data += 2; // Line number is 32-bit in XGL3, but we're limited to 16 bits.
|
||||||
linenum = READUINT16(data);
|
linenum = READUINT16(data);
|
||||||
if (linenum == 0xFFFF)
|
segs[k].glseg = (linenum == 0xFFFF);
|
||||||
{
|
segs[k].linedef = (linenum == 0xFFFF) ? NULL : &lines[linenum];
|
||||||
segs[k].glseg = true;
|
|
||||||
segs[k].linedef = NULL;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
segs[k].glseg = false;
|
|
||||||
segs[k].linedef = &lines[linenum];
|
|
||||||
}
|
|
||||||
segs[k].side = READUINT8(data);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case NT_XGL3:
|
|
||||||
for (m = 0; m < subsectors[i].numlines; m++, k++)
|
|
||||||
{
|
|
||||||
UINT32 linenum;
|
|
||||||
UINT32 vert;
|
|
||||||
vert = READUINT32(data);
|
|
||||||
segs[k].v1 = &vertexes[vert];
|
|
||||||
if (m == 0)
|
|
||||||
segs[k + subsectors[i].numlines - 1].v2 = &vertexes[vert];
|
|
||||||
else
|
|
||||||
segs[k - 1].v2 = segs[k].v1;
|
|
||||||
data += 4; // partner; can be ignored by software renderer;
|
|
||||||
linenum = READUINT32(data);
|
|
||||||
if (linenum == 0xFFFFFFFF)
|
|
||||||
{
|
|
||||||
segs[k].glseg = true;
|
|
||||||
segs[k].linedef = NULL;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
segs[k].glseg = false;
|
|
||||||
segs[k].linedef = &lines[linenum];
|
|
||||||
}
|
|
||||||
segs[k].side = READUINT8(data);
|
segs[k].side = READUINT8(data);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue