Things spawning over copied slopes now properly align on the new plane

While I believe the opposite behavior was intentional at first, it has proven to be problematic and makes alignment a tedious task for copied planes.

Signed-off-by: Nev3r <apophycens@gmail.com>
This commit is contained in:
Nev3r 2019-04-20 19:03:50 +02:00
parent b3ac590e5e
commit 7c17ed0aa6
2 changed files with 14 additions and 13 deletions

View File

@ -599,8 +599,7 @@ void P_ResetDynamicSlopes(const UINT32 fromsave) {
dynthinklist = NULL;
dynthinknum = 0;
// We'll handle copy slopes later, after all the tag lists have been made.
// Yes, this means copied slopes won't affect things' spawning heights. Too bad for you.
/// Generates line special-defined slopes.
for (i = 0; i < numlines; i++)
{
switch (lines[i].special)
@ -627,11 +626,21 @@ void P_ResetDynamicSlopes(const UINT32 fromsave) {
break;
}
}
/// Copies slopes from tagged sectors via line specials.
/// \note Doesn't actually copy, but instead they share the same pointers.
for (i = 0; i < numlines; i++)
switch (lines[i].special)
{
case 720:
case 721:
case 722:
P_CopySectorSlope(&lines[i]);
default:
break;
}
}
// ============================================================================
//
// Various utilities related to slopes

View File

@ -7351,14 +7351,6 @@ void P_SpawnSpecials(INT32 fromnetsave)
sectors[s].extra_colormap = sectors[s].spawn_extra_colormap = sides[lines[i].sidenum[0]].colormap_data;
break;
#ifdef ESLOPE // Slope copy specials. Handled here for sanity.
case 720:
case 721:
case 722:
P_CopySectorSlope(&lines[i]);
break;
#endif
default:
break;
}