mirror of
https://github.com/ddnet/ddnet.git
synced 2024-09-20 09:34:19 +00:00
Hide demo player fully
This commit is contained in:
parent
1e1ef2843d
commit
ca9b68b317
|
@ -54,10 +54,10 @@ void CMenus::RenderDemoPlayer(CUIRect MainView)
|
||||||
const float Margins = 5.0f;
|
const float Margins = 5.0f;
|
||||||
float TotalHeight;
|
float TotalHeight;
|
||||||
|
|
||||||
if(m_MenuActive)
|
if(!m_MenuActive)
|
||||||
TotalHeight = SeekBarHeight+ButtonbarHeight+NameBarHeight+Margins*3;
|
return;
|
||||||
else
|
|
||||||
TotalHeight = SeekBarHeight+Margins*2;
|
TotalHeight = SeekBarHeight+ButtonbarHeight+NameBarHeight+Margins*3;
|
||||||
|
|
||||||
MainView.HSplitBottom(TotalHeight, 0, &MainView);
|
MainView.HSplitBottom(TotalHeight, 0, &MainView);
|
||||||
MainView.VSplitLeft(50.0f, 0, &MainView);
|
MainView.VSplitLeft(50.0f, 0, &MainView);
|
||||||
|
@ -72,15 +72,10 @@ void CMenus::RenderDemoPlayer(CUIRect MainView)
|
||||||
int CurrentTick = pInfo->m_CurrentTick - pInfo->m_FirstTick;
|
int CurrentTick = pInfo->m_CurrentTick - pInfo->m_FirstTick;
|
||||||
int TotalTicks = pInfo->m_LastTick - pInfo->m_FirstTick;
|
int TotalTicks = pInfo->m_LastTick - pInfo->m_FirstTick;
|
||||||
|
|
||||||
if(m_MenuActive)
|
MainView.HSplitTop(SeekBarHeight, &SeekBar, &ButtonBar);
|
||||||
{
|
ButtonBar.HSplitTop(Margins, 0, &ButtonBar);
|
||||||
MainView.HSplitTop(SeekBarHeight, &SeekBar, &ButtonBar);
|
ButtonBar.HSplitBottom(NameBarHeight, &ButtonBar, &NameBar);
|
||||||
ButtonBar.HSplitTop(Margins, 0, &ButtonBar);
|
NameBar.HSplitTop(4.0f, 0, &NameBar);
|
||||||
ButtonBar.HSplitBottom(NameBarHeight, &ButtonBar, &NameBar);
|
|
||||||
NameBar.HSplitTop(4.0f, 0, &NameBar);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
SeekBar = MainView;
|
|
||||||
|
|
||||||
// do seekbar
|
// do seekbar
|
||||||
{
|
{
|
||||||
|
@ -157,76 +152,73 @@ void CMenus::RenderDemoPlayer(CUIRect MainView)
|
||||||
|
|
||||||
bool IncreaseDemoSpeed = false, DecreaseDemoSpeed = false;
|
bool IncreaseDemoSpeed = false, DecreaseDemoSpeed = false;
|
||||||
|
|
||||||
if(m_MenuActive)
|
// do buttons
|
||||||
|
CUIRect Button;
|
||||||
|
|
||||||
|
// combined play and pause button
|
||||||
|
ButtonBar.VSplitLeft(ButtonbarHeight, &Button, &ButtonBar);
|
||||||
|
static int s_PlayPauseButton = 0;
|
||||||
|
if(!pInfo->m_Paused)
|
||||||
{
|
{
|
||||||
// do buttons
|
if(DoButton_Sprite(&s_PlayPauseButton, IMAGE_DEMOBUTTONS, SPRITE_DEMOBUTTON_PAUSE, false, &Button, CUI::CORNER_ALL))
|
||||||
CUIRect Button;
|
|
||||||
|
|
||||||
// combined play and pause button
|
|
||||||
ButtonBar.VSplitLeft(ButtonbarHeight, &Button, &ButtonBar);
|
|
||||||
static int s_PlayPauseButton = 0;
|
|
||||||
if(!pInfo->m_Paused)
|
|
||||||
{
|
|
||||||
if(DoButton_Sprite(&s_PlayPauseButton, IMAGE_DEMOBUTTONS, SPRITE_DEMOBUTTON_PAUSE, false, &Button, CUI::CORNER_ALL))
|
|
||||||
DemoPlayer()->Pause();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if(DoButton_Sprite(&s_PlayPauseButton, IMAGE_DEMOBUTTONS, SPRITE_DEMOBUTTON_PLAY, false, &Button, CUI::CORNER_ALL))
|
|
||||||
DemoPlayer()->Unpause();
|
|
||||||
}
|
|
||||||
|
|
||||||
// stop button
|
|
||||||
|
|
||||||
ButtonBar.VSplitLeft(Margins, 0, &ButtonBar);
|
|
||||||
ButtonBar.VSplitLeft(ButtonbarHeight, &Button, &ButtonBar);
|
|
||||||
static int s_ResetButton = 0;
|
|
||||||
if(DoButton_Sprite(&s_ResetButton, IMAGE_DEMOBUTTONS, SPRITE_DEMOBUTTON_STOP, false, &Button, CUI::CORNER_ALL))
|
|
||||||
{
|
|
||||||
m_pClient->OnReset();
|
|
||||||
DemoPlayer()->Pause();
|
DemoPlayer()->Pause();
|
||||||
DemoPlayer()->SetPos(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
// slowdown
|
|
||||||
ButtonBar.VSplitLeft(Margins, 0, &ButtonBar);
|
|
||||||
ButtonBar.VSplitLeft(ButtonbarHeight, &Button, &ButtonBar);
|
|
||||||
static int s_SlowDownButton = 0;
|
|
||||||
if(DoButton_Sprite(&s_SlowDownButton, IMAGE_DEMOBUTTONS, SPRITE_DEMOBUTTON_SLOWER, 0, &Button, CUI::CORNER_ALL) || Input()->KeyPresses(KEY_MOUSE_WHEEL_DOWN))
|
|
||||||
DecreaseDemoSpeed = true;
|
|
||||||
|
|
||||||
// fastforward
|
|
||||||
ButtonBar.VSplitLeft(Margins, 0, &ButtonBar);
|
|
||||||
ButtonBar.VSplitLeft(ButtonbarHeight, &Button, &ButtonBar);
|
|
||||||
static int s_FastForwardButton = 0;
|
|
||||||
if(DoButton_Sprite(&s_FastForwardButton, IMAGE_DEMOBUTTONS, SPRITE_DEMOBUTTON_FASTER, 0, &Button, CUI::CORNER_ALL))
|
|
||||||
IncreaseDemoSpeed = true;
|
|
||||||
|
|
||||||
// speed meter
|
|
||||||
ButtonBar.VSplitLeft(Margins*3, 0, &ButtonBar);
|
|
||||||
char aBuffer[64];
|
|
||||||
if(pInfo->m_Speed >= 1.0f)
|
|
||||||
str_format(aBuffer, sizeof(aBuffer), "x%.0f", pInfo->m_Speed);
|
|
||||||
else
|
|
||||||
str_format(aBuffer, sizeof(aBuffer), "x%.2f", pInfo->m_Speed);
|
|
||||||
UI()->DoLabel(&ButtonBar, aBuffer, Button.h*0.7f, -1);
|
|
||||||
|
|
||||||
// close button
|
|
||||||
ButtonBar.VSplitRight(ButtonbarHeight*3, &ButtonBar, &Button);
|
|
||||||
static int s_ExitButton = 0;
|
|
||||||
if(DoButton_DemoPlayer(&s_ExitButton, Localize("Close"), 0, &Button))
|
|
||||||
Client()->Disconnect();
|
|
||||||
|
|
||||||
// demo name
|
|
||||||
char aDemoName[64] = {0};
|
|
||||||
DemoPlayer()->GetDemoName(aDemoName, sizeof(aDemoName));
|
|
||||||
char aBuf[128];
|
|
||||||
str_format(aBuf, sizeof(aBuf), Localize("Demofile: %s"), aDemoName);
|
|
||||||
CTextCursor Cursor;
|
|
||||||
TextRender()->SetCursor(&Cursor, NameBar.x, NameBar.y, Button.h*0.5f, TEXTFLAG_RENDER|TEXTFLAG_STOP_AT_END);
|
|
||||||
Cursor.m_LineWidth = MainView.w;
|
|
||||||
TextRender()->TextEx(&Cursor, aBuf, -1);
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(DoButton_Sprite(&s_PlayPauseButton, IMAGE_DEMOBUTTONS, SPRITE_DEMOBUTTON_PLAY, false, &Button, CUI::CORNER_ALL))
|
||||||
|
DemoPlayer()->Unpause();
|
||||||
|
}
|
||||||
|
|
||||||
|
// stop button
|
||||||
|
|
||||||
|
ButtonBar.VSplitLeft(Margins, 0, &ButtonBar);
|
||||||
|
ButtonBar.VSplitLeft(ButtonbarHeight, &Button, &ButtonBar);
|
||||||
|
static int s_ResetButton = 0;
|
||||||
|
if(DoButton_Sprite(&s_ResetButton, IMAGE_DEMOBUTTONS, SPRITE_DEMOBUTTON_STOP, false, &Button, CUI::CORNER_ALL))
|
||||||
|
{
|
||||||
|
m_pClient->OnReset();
|
||||||
|
DemoPlayer()->Pause();
|
||||||
|
DemoPlayer()->SetPos(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// slowdown
|
||||||
|
ButtonBar.VSplitLeft(Margins, 0, &ButtonBar);
|
||||||
|
ButtonBar.VSplitLeft(ButtonbarHeight, &Button, &ButtonBar);
|
||||||
|
static int s_SlowDownButton = 0;
|
||||||
|
if(DoButton_Sprite(&s_SlowDownButton, IMAGE_DEMOBUTTONS, SPRITE_DEMOBUTTON_SLOWER, 0, &Button, CUI::CORNER_ALL) || Input()->KeyPresses(KEY_MOUSE_WHEEL_DOWN))
|
||||||
|
DecreaseDemoSpeed = true;
|
||||||
|
|
||||||
|
// fastforward
|
||||||
|
ButtonBar.VSplitLeft(Margins, 0, &ButtonBar);
|
||||||
|
ButtonBar.VSplitLeft(ButtonbarHeight, &Button, &ButtonBar);
|
||||||
|
static int s_FastForwardButton = 0;
|
||||||
|
if(DoButton_Sprite(&s_FastForwardButton, IMAGE_DEMOBUTTONS, SPRITE_DEMOBUTTON_FASTER, 0, &Button, CUI::CORNER_ALL))
|
||||||
|
IncreaseDemoSpeed = true;
|
||||||
|
|
||||||
|
// speed meter
|
||||||
|
ButtonBar.VSplitLeft(Margins*3, 0, &ButtonBar);
|
||||||
|
char aBuffer[64];
|
||||||
|
if(pInfo->m_Speed >= 1.0f)
|
||||||
|
str_format(aBuffer, sizeof(aBuffer), "x%.0f", pInfo->m_Speed);
|
||||||
|
else
|
||||||
|
str_format(aBuffer, sizeof(aBuffer), "x%.2f", pInfo->m_Speed);
|
||||||
|
UI()->DoLabel(&ButtonBar, aBuffer, Button.h*0.7f, -1);
|
||||||
|
|
||||||
|
// close button
|
||||||
|
ButtonBar.VSplitRight(ButtonbarHeight*3, &ButtonBar, &Button);
|
||||||
|
static int s_ExitButton = 0;
|
||||||
|
if(DoButton_DemoPlayer(&s_ExitButton, Localize("Close"), 0, &Button))
|
||||||
|
Client()->Disconnect();
|
||||||
|
|
||||||
|
// demo name
|
||||||
|
char aDemoName[64] = {0};
|
||||||
|
DemoPlayer()->GetDemoName(aDemoName, sizeof(aDemoName));
|
||||||
|
char aBuf[128];
|
||||||
|
str_format(aBuf, sizeof(aBuf), Localize("Demofile: %s"), aDemoName);
|
||||||
|
CTextCursor Cursor;
|
||||||
|
TextRender()->SetCursor(&Cursor, NameBar.x, NameBar.y, Button.h*0.5f, TEXTFLAG_RENDER|TEXTFLAG_STOP_AT_END);
|
||||||
|
Cursor.m_LineWidth = MainView.w;
|
||||||
|
TextRender()->TextEx(&Cursor, aBuf, -1);
|
||||||
|
|
||||||
if(IncreaseDemoSpeed || Input()->KeyPresses(KEY_MOUSE_WHEEL_UP))
|
if(IncreaseDemoSpeed || Input()->KeyPresses(KEY_MOUSE_WHEEL_UP))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue