Re-implement spectator vertical look

- Hold lookback to pivot the spectator's vertical aiming angle
    - Forward/backwards item throw/trick input aims up/down
    - Overrides forwards/backwards movement while lookback is held
    - Changes the spectator text to indicate that it's in aiming mode
This commit is contained in:
toaster 2023-01-21 23:46:14 +00:00
parent dfd13b5a7a
commit e6e1d6b042
2 changed files with 23 additions and 7 deletions

View file

@ -1105,6 +1105,7 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer)
forward = 0; forward = 0;
cmd->turning = 0; cmd->turning = 0;
cmd->aiming = 0;
if (joystickvector.xaxis != 0) if (joystickvector.xaxis != 0)
{ {
@ -1123,6 +1124,12 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer)
cmd->buttons |= BT_BRAKE; cmd->buttons |= BT_BRAKE;
} }
if (G_PlayerInputDown(forplayer, gc_lookback, 0))
{
cmd->aiming -= joystickvector.yaxis;
}
else
{
if (joystickvector.yaxis < 0) if (joystickvector.yaxis < 0)
{ {
forward += MAXPLMOVE; forward += MAXPLMOVE;
@ -1133,6 +1140,7 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer)
forward -= MAXPLMOVE; forward -= MAXPLMOVE;
} }
} }
}
else else
{ {
// forward with key or button // SRB2kart - we use an accel/brake instead of forward/backward. // forward with key or button // SRB2kart - we use an accel/brake instead of forward/backward.

View file

@ -1109,11 +1109,19 @@ static void ST_overlayDrawer(void)
{ {
V_DrawString(2, BASEVIDHEIGHT-40, V_HUDTRANSHALF|V_SPLITSCREEN|V_YELLOWMAP|V_SNAPTOLEFT|V_SNAPTOBOTTOM, M_GetText("- SPECTATING -")); V_DrawString(2, BASEVIDHEIGHT-40, V_HUDTRANSHALF|V_SPLITSCREEN|V_YELLOWMAP|V_SNAPTOLEFT|V_SNAPTOBOTTOM, M_GetText("- SPECTATING -"));
V_DrawString(2, BASEVIDHEIGHT-30, V_HUDTRANSHALF|V_SPLITSCREEN|V_SNAPTOLEFT|V_SNAPTOBOTTOM, itemtxt); V_DrawString(2, BASEVIDHEIGHT-30, V_HUDTRANSHALF|V_SPLITSCREEN|V_SNAPTOLEFT|V_SNAPTOBOTTOM, itemtxt);
if (stplyr->cmd.buttons & BT_LOOKBACK)
{
V_DrawString(2, BASEVIDHEIGHT-20, V_HUDTRANSHALF|V_SPLITSCREEN|V_SNAPTOLEFT|V_SNAPTOBOTTOM, M_GetText("Lookback - Camera pivot"));
V_DrawString(2, BASEVIDHEIGHT-10, V_HUDTRANSHALF|V_SPLITSCREEN|V_SNAPTOLEFT|V_SNAPTOBOTTOM, M_GetText("Aim forward/backward"));
}
else
{
V_DrawString(2, BASEVIDHEIGHT-20, V_HUDTRANSHALF|V_SPLITSCREEN|V_SNAPTOLEFT|V_SNAPTOBOTTOM, M_GetText("Accelerate - Float")); V_DrawString(2, BASEVIDHEIGHT-20, V_HUDTRANSHALF|V_SPLITSCREEN|V_SNAPTOLEFT|V_SNAPTOBOTTOM, M_GetText("Accelerate - Float"));
V_DrawString(2, BASEVIDHEIGHT-10, V_HUDTRANSHALF|V_SPLITSCREEN|V_SNAPTOLEFT|V_SNAPTOBOTTOM, M_GetText("Brake - Sink")); V_DrawString(2, BASEVIDHEIGHT-10, V_HUDTRANSHALF|V_SPLITSCREEN|V_SNAPTOLEFT|V_SNAPTOBOTTOM, M_GetText("Brake - Sink"));
} }
} }
} }
}
} }
void ST_DrawDemoTitleEntry(void) void ST_DrawDemoTitleEntry(void)