mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-01-24 02:01:17 +00:00
Uncap console opening/closing animation
This commit is contained in:
parent
e6780f2bee
commit
256d9b5fdb
1 changed files with 20 additions and 14 deletions
|
@ -643,33 +643,39 @@ static void CON_ChangeHeight(void)
|
||||||
//
|
//
|
||||||
static void CON_MoveConsole(void)
|
static void CON_MoveConsole(void)
|
||||||
{
|
{
|
||||||
fixed_t conspeed;
|
static fixed_t fracmovement = 0;
|
||||||
|
|
||||||
Lock_state();
|
Lock_state();
|
||||||
|
|
||||||
conspeed = FixedDiv(cons_speed.value*vid.fdupy, FRACUNIT);
|
|
||||||
|
|
||||||
// instant
|
// instant
|
||||||
if (!cons_speed.value)
|
if (!cons_speed.value)
|
||||||
{
|
{
|
||||||
con_curlines = con_destlines;
|
con_curlines = con_destlines;
|
||||||
|
Unlock_state();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// up/down move to dest
|
// Not instant - Increment fracmovement fractionally
|
||||||
if (con_curlines < con_destlines)
|
fracmovement += FixedMul(cons_speed.value*vid.fdupy, renderdeltatics);
|
||||||
|
|
||||||
|
if (con_curlines < con_destlines) // Move the console downwards
|
||||||
{
|
{
|
||||||
con_curlines += FixedInt(conspeed);
|
con_curlines += FixedInt(fracmovement); // Move by fracmovement's integer value
|
||||||
if (con_curlines > con_destlines)
|
if (con_curlines > con_destlines) // If we surpassed the destination...
|
||||||
con_curlines = con_destlines;
|
con_curlines = con_destlines; // ...clamp to it!
|
||||||
}
|
}
|
||||||
else if (con_curlines > con_destlines)
|
else // Move the console upwards
|
||||||
{
|
{
|
||||||
con_curlines -= FixedInt(conspeed);
|
con_curlines -= FixedInt(fracmovement);
|
||||||
if (con_curlines < con_destlines)
|
if (con_curlines < con_destlines)
|
||||||
con_curlines = con_destlines;
|
con_curlines = con_destlines;
|
||||||
|
|
||||||
|
if (con_destlines == 0) // If the console is being closed, not just moved up...
|
||||||
|
con_tick = 0; // ...don't show the blinking cursor
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fracmovement %= FRACUNIT; // Reset fracmovement's integer value, but keep the fraction
|
||||||
|
|
||||||
Unlock_state();
|
Unlock_state();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -752,10 +758,6 @@ void CON_Ticker(void)
|
||||||
CON_ChangeHeight();
|
CON_ChangeHeight();
|
||||||
}
|
}
|
||||||
|
|
||||||
// console movement
|
|
||||||
if (con_destlines != con_curlines)
|
|
||||||
CON_MoveConsole();
|
|
||||||
|
|
||||||
// clip the view, so that the part under the console is not drawn
|
// clip the view, so that the part under the console is not drawn
|
||||||
con_clipviewtop = -1;
|
con_clipviewtop = -1;
|
||||||
if (cons_backpic.value) // clip only when using an opaque background
|
if (cons_backpic.value) // clip only when using an opaque background
|
||||||
|
@ -1866,6 +1868,10 @@ void CON_Drawer(void)
|
||||||
CON_ClearHUD();
|
CON_ClearHUD();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// console movement
|
||||||
|
if (con_curlines != con_destlines)
|
||||||
|
CON_MoveConsole();
|
||||||
|
|
||||||
if (con_curlines > 0)
|
if (con_curlines > 0)
|
||||||
CON_DrawConsole();
|
CON_DrawConsole();
|
||||||
else if (gamestate == GS_LEVEL
|
else if (gamestate == GS_LEVEL
|
||||||
|
|
Loading…
Reference in a new issue