about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorFujnky <larsfunke1996@gmail.com>2010-09-03 22:30:46 +0200
committeroy <Tom_Adams@web.de>2010-09-04 16:23:20 +0200
commit4123f28bbaa169ba8bb273f813fd7165e4f3a867 (patch)
tree47402b9d6344170ff1b9e2b8813c1b1362eb1fbf /src
parent538d968349faaec96ca010cc3fa0efdc13a05aed (diff)
downloadzcatch-4123f28bbaa169ba8bb273f813fd7165e4f3a867.tar.gz
zcatch-4123f28bbaa169ba8bb273f813fd7165e4f3a867.zip
Improved demo player another bit.
* Replaced the reset button by more common stop button
* Made the demo player automatically reset after demo ended
Diffstat (limited to 'src')
-rw-r--r--src/game/client/components/menus_demo.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/game/client/components/menus_demo.cpp b/src/game/client/components/menus_demo.cpp
index ef9ac62d..82be758d 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);
 		}