Make it so Linedef type 422 instead sets `cusval` when the titlemap is in action.

I have no idea why it wasn't like this before, but oh well.
This commit is contained in:
GoldenTails 2020-06-21 03:06:42 -05:00
parent 8063814f1c
commit d609cfc9e3
1 changed files with 15 additions and 6 deletions

View File

@ -2951,13 +2951,13 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec)
// If titlemap, set the camera ref for title's thinker // If titlemap, set the camera ref for title's thinker
// This is not revoked until overwritten; awayviewtics is ignored // This is not revoked until overwritten; awayviewtics is ignored
if (titlemapinaction) if (titlemapinaction)
{
titlemapcameraref = altview; titlemapcameraref = altview;
return; else
{
P_SetTarget(&mo->player->awayviewmobj, altview);
mo->player->awayviewtics = P_AproxDistance(line->dx, line->dy)>>FRACBITS;
} }
P_SetTarget(&mo->player->awayviewmobj, altview);
mo->player->awayviewtics = P_AproxDistance(line->dx, line->dy)>>FRACBITS;
if (line->flags & ML_NOCLIMB) // lets you specify a vertical angle if (line->flags & ML_NOCLIMB) // lets you specify a vertical angle
{ {
@ -2971,10 +2971,19 @@ static void P_ProcessLineSpecial(line_t *line, mobj_t *mo, sector_t *callsec)
aim *= (ANGLE_90>>8); aim *= (ANGLE_90>>8);
aim /= 90; aim /= 90;
aim <<= 8; aim <<= 8;
mo->player->awayviewaiming = (angle_t)aim; if (titlemapinaction)
titlemapcameraref->cusval = (angle_t)aim;
else
mo->player->awayviewaiming = (angle_t)aim;
} }
else else
mo->player->awayviewaiming = 0; // straight ahead {
// straight ahead
if (titlemapinaction)
titlemapcameraref->cusval = 0;
else
mo->player->awayviewaiming = 0;
}
} }
break; break;