mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-15 17:22:12 +00:00
* Restart Metal recording from beginning if retry is used.
* Disable lives when Metal recording (and have a big flashing REC instead, because I'm a riot). * Correct some minor directionchar issues (some introduced in this branch, some not).
This commit is contained in:
parent
04f400e048
commit
fc22d1adc3
3 changed files with 20 additions and 10 deletions
|
@ -2755,6 +2755,8 @@ void G_DoReborn(INT32 playernum)
|
|||
LUAh_MapChange(gamemap);
|
||||
#endif
|
||||
G_DoLoadLevel(true);
|
||||
if (metalrecording)
|
||||
G_BeginMetal();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -2922,7 +2924,7 @@ boolean G_GametypeUsesLives(void)
|
|||
{
|
||||
// Coop, Competitive
|
||||
if ((gametype == GT_COOP || gametype == GT_COMPETITION)
|
||||
&& !modeattacking // No lives in Time Attack
|
||||
&& !(modeattacking || metalrecording) // No lives in Time Attack
|
||||
//&& !G_IsSpecialStage(gamemap)
|
||||
&& !(maptol & TOL_NIGHTS)) // No lives in NiGHTS
|
||||
return true;
|
||||
|
@ -5510,8 +5512,10 @@ void G_BeginMetal(void)
|
|||
{
|
||||
mobj_t *mo = players[consoleplayer].mo;
|
||||
|
||||
#if 0
|
||||
if (demo_p)
|
||||
return;
|
||||
#endif
|
||||
|
||||
demo_p = demobuffer;
|
||||
|
||||
|
|
16
src/p_user.c
16
src/p_user.c
|
@ -11463,6 +11463,13 @@ void P_PlayerThink(player_t *player)
|
|||
player->drawangle = player->mo->angle;
|
||||
else if (P_PlayerInPain(player))
|
||||
;
|
||||
else if (player->powers[pw_justsprung]) // restricted, potentially by lua
|
||||
{
|
||||
#ifdef SPRINGSPIN
|
||||
if (player->powers[pw_justsprung] & (1<<15))
|
||||
player->drawangle += (player->powers[pw_justsprung] & ~(1<<15))*(ANG2+ANG1);
|
||||
#endif
|
||||
}
|
||||
else if (player->powers[pw_carry] && player->mo->tracer) // carry
|
||||
{
|
||||
switch (player->powers[pw_carry])
|
||||
|
@ -11500,13 +11507,6 @@ void P_PlayerThink(player_t *player)
|
|||
break;
|
||||
}
|
||||
}
|
||||
else if (player->powers[pw_justsprung])
|
||||
{
|
||||
#ifdef SPRINGSPIN
|
||||
if (player->powers[pw_justsprung] & (1<<15))
|
||||
player->drawangle += (player->powers[pw_justsprung] & ~(1<<15))*(ANG2+ANG1);
|
||||
#endif
|
||||
}
|
||||
else if ((player->skidtime > (TICRATE/2 - 2) || ((player->pflags & (PF_SPINNING|PF_STARTDASH)) == PF_SPINNING)) && (abs(player->rmomx) > 5*player->mo->scale || abs(player->rmomy) > 5*player->mo->scale)) // spin/skid force
|
||||
player->drawangle = R_PointToAngle2(0, 0, player->rmomx, player->rmomy);
|
||||
else if (((player->charability2 == CA2_GUNSLINGER || player->charability2 == CA2_MELEE) && player->panim == PA_ABILITY2) || player->pflags & PF_STASIS || player->skidtime)
|
||||
|
@ -11578,7 +11578,7 @@ void P_PlayerThink(player_t *player)
|
|||
statenum_t stat = player->mo->state-states;
|
||||
if (stat == S_PLAY_WAIT)
|
||||
P_SetPlayerMobjState(player->mo, S_PLAY_STND);
|
||||
else if (stat == S_PLAY_STND)
|
||||
else if (stat == S_PLAY_STND && player->mo->tics != -1)
|
||||
player->mo->tics++;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -837,7 +837,13 @@ static void ST_drawLivesArea(void)
|
|||
}
|
||||
|
||||
// Lives number
|
||||
if (G_GametypeUsesLives() || gametype == GT_RACE)
|
||||
if (metalrecording)
|
||||
{
|
||||
if (((2*leveltime)/TICRATE) & 1)
|
||||
V_DrawRightAlignedString(hudinfo[HUD_LIVES].x+58, hudinfo[HUD_LIVES].y+8,
|
||||
hudinfo[HUD_LIVES].f|V_PERPLAYER|V_REDMAP|V_HUDTRANS, "REC");
|
||||
}
|
||||
else if (G_GametypeUsesLives() || gametype == GT_RACE)
|
||||
{
|
||||
// x
|
||||
V_DrawScaledPatch(hudinfo[HUD_LIVES].x+22, hudinfo[HUD_LIVES].y+10,
|
||||
|
|
Loading…
Reference in a new issue