diff --git a/data/demo_buttons.png b/data/demo_buttons.png index 47a5c2f11e..5f39410268 100644 Binary files a/data/demo_buttons.png and b/data/demo_buttons.png differ diff --git a/datasrc/content.py b/datasrc/content.py index a11988b4cd..92e71b96e9 100644 --- a/datasrc/content.py +++ b/datasrc/content.py @@ -368,7 +368,7 @@ def FileList(format, num): container.sprites.Add(Sprite("demobutton_play", set_demobuttons, 0,0,1,1)) container.sprites.Add(Sprite("demobutton_pause", set_demobuttons, 1,0,1,1)) -container.sprites.Add(Sprite("demobutton_reset", set_demobuttons, 2,0,1,1)) +container.sprites.Add(Sprite("demobutton_stop", set_demobuttons, 2,0,1,1)) container.sprites.Add(Sprite("demobutton_slower", set_demobuttons, 3,0,1,1)) container.sprites.Add(Sprite("demobutton_faster", set_demobuttons, 4,0,1,1)) diff --git a/src/game/client/components/menus_demo.cpp b/src/game/client/components/menus_demo.cpp index ef9ac62d10..82be758dc9 100644 --- a/src/game/client/components/menus_demo.cpp +++ b/src/game/client/components/menus_demo.cpp @@ -59,6 +59,9 @@ void CMenus::RenderDemoPlayer(CUIRect MainView) CUIRect SeekBar, ButtonBar; + int CurrentTick = pInfo->m_CurrentTick - pInfo->m_FirstTick; + int TotalTicks = pInfo->m_LastTick - pInfo->m_FirstTick; + if(m_MenuActive) { MainView.HSplitTop(SeekBarHeight, &SeekBar, &ButtonBar); @@ -75,9 +78,6 @@ void CMenus::RenderDemoPlayer(CUIRect MainView) RenderTools()->DrawUIRect(&SeekBar, vec4(0,0,0,0.5f), CUI::CORNER_ALL, 5.0f); - int CurrentTick = pInfo->m_CurrentTick - pInfo->m_FirstTick; - int TotalTicks = pInfo->m_LastTick - pInfo->m_FirstTick; - float Amount = CurrentTick/(float)TotalTicks; CUIRect FilledBar = SeekBar; @@ -120,7 +120,12 @@ void CMenus::RenderDemoPlayer(CUIRect MainView) if(Inside) UI()->SetHotItem(id); } - + + if(CurrentTick == TotalTicks) + { + DemoPlayer()->Pause(); + DemoPlayer()->SetPos(0); + } if(m_MenuActive) { @@ -141,11 +146,14 @@ void CMenus::RenderDemoPlayer(CUIRect MainView) DemoPlayer()->Unpause(); } + // stop button + ButtonBar.VSplitLeft(Margins, 0, &ButtonBar); ButtonBar.VSplitLeft(ButtonbarHeight, &Button, &ButtonBar); static int s_ResetButton = 0; - if(DoButton_DemoPlayer_Sprite(&s_ResetButton, SPRITE_DEMOBUTTON_RESET, false, &Button)) + if(DoButton_DemoPlayer_Sprite(&s_ResetButton, SPRITE_DEMOBUTTON_STOP, false, &Button)) { + DemoPlayer()->Pause(); DemoPlayer()->SetPos(0); }