mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-27 12:31:54 +00:00
Adapt setup of vertex-based slopes to UDMF
This commit is contained in:
parent
4d8275ab1d
commit
7e6ac2ac92
2 changed files with 51 additions and 24 deletions
|
|
@ -2678,6 +2678,48 @@ static void P_ConvertBinaryMap(void)
|
||||||
lines[i].special = 700;
|
lines[i].special = 700;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 704: //Slope front sector floor by 3 tagged vertices
|
||||||
|
case 705: //Slope front sector ceiling by 3 tagged vertices
|
||||||
|
case 714: //Slope back sector floor by 3 tagged vertices
|
||||||
|
case 715: //Slope back sector ceiling by 3 tagged vertices
|
||||||
|
{
|
||||||
|
if (lines[i].special == 704)
|
||||||
|
lines[i].args[0] = 0;
|
||||||
|
else if (lines[i].special == 705)
|
||||||
|
lines[i].args[0] = 1;
|
||||||
|
else if (lines[i].special == 714)
|
||||||
|
lines[i].args[0] = 2;
|
||||||
|
else if (lines[i].special == 715)
|
||||||
|
lines[i].args[0] = 3;
|
||||||
|
|
||||||
|
lines[i].args[1] = lines[i].tag;
|
||||||
|
|
||||||
|
if (lines[i].flags & ML_EFFECT6)
|
||||||
|
{
|
||||||
|
UINT8 side = lines[i].special >= 714;
|
||||||
|
|
||||||
|
if (side == 1 && lines[i].sidenum[1] == 0xffff)
|
||||||
|
CONS_Debug(DBG_GAMELOGIC, "P_ConvertBinaryMap: Line special %d (line #%s) missing 2nd side!\n", lines[i].special, sizeu1(i));
|
||||||
|
else
|
||||||
|
{
|
||||||
|
lines[i].args[2] = sides[lines[i].sidenum[side]].textureoffset >> FRACBITS;
|
||||||
|
lines[i].args[3] = sides[lines[i].sidenum[side]].rowoffset >> FRACBITS;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
lines[i].args[2] = lines[i].args[1];
|
||||||
|
lines[i].args[3] = lines[i].args[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (lines[i].flags & ML_NETONLY)
|
||||||
|
lines[i].args[4] |= SL_NOPHYSICS;
|
||||||
|
if (lines[i].flags & ML_NONET)
|
||||||
|
lines[i].args[4] |= SL_DYNAMIC;
|
||||||
|
|
||||||
|
lines[i].special = 704;
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -458,44 +458,32 @@ static void line_SpawnViaVertexes(const int linenum, const boolean spawnthinker)
|
||||||
line_t *line = lines + linenum;
|
line_t *line = lines + linenum;
|
||||||
side_t *side;
|
side_t *side;
|
||||||
pslope_t **slopetoset;
|
pslope_t **slopetoset;
|
||||||
UINT16 tag1, tag2, tag3;
|
UINT16 tag1 = line->args[1];
|
||||||
|
UINT16 tag2 = line->args[2];
|
||||||
|
UINT16 tag3 = line->args[3];
|
||||||
|
UINT8 flags = line->args[4];
|
||||||
|
|
||||||
UINT8 flags = 0;
|
switch(line->args[0])
|
||||||
if (line->flags & ML_NETONLY)
|
|
||||||
flags |= SL_NOPHYSICS;
|
|
||||||
if (line->flags & ML_NONET)
|
|
||||||
flags |= SL_DYNAMIC;
|
|
||||||
|
|
||||||
switch(line->special)
|
|
||||||
{
|
{
|
||||||
case 704:
|
case 0:
|
||||||
slopetoset = &line->frontsector->f_slope;
|
slopetoset = &line->frontsector->f_slope;
|
||||||
side = &sides[line->sidenum[0]];
|
side = &sides[line->sidenum[0]];
|
||||||
break;
|
break;
|
||||||
case 705:
|
case 1:
|
||||||
slopetoset = &line->frontsector->c_slope;
|
slopetoset = &line->frontsector->c_slope;
|
||||||
side = &sides[line->sidenum[0]];
|
side = &sides[line->sidenum[0]];
|
||||||
break;
|
break;
|
||||||
case 714:
|
case 2:
|
||||||
slopetoset = &line->backsector->f_slope;
|
slopetoset = &line->backsector->f_slope;
|
||||||
side = &sides[line->sidenum[1]];
|
side = &sides[line->sidenum[1]];
|
||||||
break;
|
break;
|
||||||
case 715:
|
case 3:
|
||||||
slopetoset = &line->backsector->c_slope;
|
slopetoset = &line->backsector->c_slope;
|
||||||
side = &sides[line->sidenum[1]];
|
side = &sides[line->sidenum[1]];
|
||||||
default:
|
default:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (line->flags & ML_EFFECT6)
|
|
||||||
{
|
|
||||||
tag1 = line->tag;
|
|
||||||
tag2 = side->textureoffset >> FRACBITS;
|
|
||||||
tag3 = side->rowoffset >> FRACBITS;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
tag1 = tag2 = tag3 = line->tag;
|
|
||||||
|
|
||||||
*slopetoset = MakeViaMapthings(tag1, tag2, tag3, flags, spawnthinker);
|
*slopetoset = MakeViaMapthings(tag1, tag2, tag3, flags, spawnthinker);
|
||||||
|
|
||||||
side->sector->hasslope = true;
|
side->sector->hasslope = true;
|
||||||
|
|
@ -561,9 +549,6 @@ void P_ResetDynamicSlopes(const boolean fromsave) {
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 704:
|
case 704:
|
||||||
case 705:
|
|
||||||
case 714:
|
|
||||||
case 715:
|
|
||||||
line_SpawnViaVertexes(i, !fromsave);
|
line_SpawnViaVertexes(i, !fromsave);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue