From 2aa1bda97ef8423ff070911bac09b0fb36a35e02 Mon Sep 17 00:00:00 2001 From: oy Date: Sun, 27 Mar 2011 16:26:50 +0200 Subject: made mouse wheel change speed in demo player. Closes #524 --- src/game/client/components/menus_demo.cpp | 49 ++++++++++++++++++------------- 1 file changed, 28 insertions(+), 21 deletions(-) (limited to 'src/game') diff --git a/src/game/client/components/menus_demo.cpp b/src/game/client/components/menus_demo.cpp index c4bfb0e0..3d359178 100644 --- a/src/game/client/components/menus_demo.cpp +++ b/src/game/client/components/menus_demo.cpp @@ -135,6 +135,8 @@ void CMenus::RenderDemoPlayer(CUIRect MainView) DemoPlayer()->SetPos(0); } + bool IncreaseDemoSpeed = false, DecreaseDemoSpeed = false; + if(m_MenuActive) { // do buttons @@ -170,33 +172,15 @@ void CMenus::RenderDemoPlayer(CUIRect MainView) ButtonBar.VSplitLeft(Margins, 0, &ButtonBar); ButtonBar.VSplitLeft(ButtonbarHeight, &Button, &ButtonBar); static int s_SlowDownButton = 0; - if(DoButton_DemoPlayer_Sprite(&s_SlowDownButton, SPRITE_DEMOBUTTON_SLOWER, 0, &Button)) - { - if(pInfo->m_Speed > 4.0f) DemoPlayer()->SetSpeed(4.0f); - else if(pInfo->m_Speed > 2.0f) DemoPlayer()->SetSpeed(2.0f); - else if(pInfo->m_Speed > 1.0f) DemoPlayer()->SetSpeed(1.0f); - else if(pInfo->m_Speed > 0.75f) DemoPlayer()->SetSpeed(0.75f); - else if(pInfo->m_Speed > 0.5f) DemoPlayer()->SetSpeed(0.5f); - else if(pInfo->m_Speed > 0.25f) DemoPlayer()->SetSpeed(0.25f); - else if(pInfo->m_Speed > 0.1f) DemoPlayer()->SetSpeed(0.1f); - else DemoPlayer()->SetSpeed(0.05f); - } + if(DoButton_DemoPlayer_Sprite(&s_SlowDownButton, SPRITE_DEMOBUTTON_SLOWER, 0, &Button) || 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_DemoPlayer_Sprite(&s_FastForwardButton, SPRITE_DEMOBUTTON_FASTER, 0, &Button)) - { - if(pInfo->m_Speed < 0.1f) DemoPlayer()->SetSpeed(0.1f); - else if(pInfo->m_Speed < 0.25f) DemoPlayer()->SetSpeed(0.25f); - else if(pInfo->m_Speed < 0.5f) DemoPlayer()->SetSpeed(0.5f); - else if(pInfo->m_Speed < 0.75f) DemoPlayer()->SetSpeed(0.75f); - else if(pInfo->m_Speed < 1.0f) DemoPlayer()->SetSpeed(1.0f); - else if(pInfo->m_Speed < 2.0f) DemoPlayer()->SetSpeed(2.0f); - else if(pInfo->m_Speed < 4.0f) DemoPlayer()->SetSpeed(4.0f); - else DemoPlayer()->SetSpeed(8.0f); - } + IncreaseDemoSpeed = true; // speed meter ButtonBar.VSplitLeft(Margins*3, 0, &ButtonBar); @@ -221,6 +205,29 @@ void CMenus::RenderDemoPlayer(CUIRect MainView) Cursor.m_LineWidth = MainView.w; TextRender()->TextEx(&Cursor, aBuf, -1); } + + if(IncreaseDemoSpeed || Input()->KeyPresses(KEY_MOUSE_WHEEL_UP)) + { + if(pInfo->m_Speed < 0.1f) DemoPlayer()->SetSpeed(0.1f); + else if(pInfo->m_Speed < 0.25f) DemoPlayer()->SetSpeed(0.25f); + else if(pInfo->m_Speed < 0.5f) DemoPlayer()->SetSpeed(0.5f); + else if(pInfo->m_Speed < 0.75f) DemoPlayer()->SetSpeed(0.75f); + else if(pInfo->m_Speed < 1.0f) DemoPlayer()->SetSpeed(1.0f); + else if(pInfo->m_Speed < 2.0f) DemoPlayer()->SetSpeed(2.0f); + else if(pInfo->m_Speed < 4.0f) DemoPlayer()->SetSpeed(4.0f); + else DemoPlayer()->SetSpeed(8.0f); + } + else if(DecreaseDemoSpeed || Input()->KeyPresses(KEY_MOUSE_WHEEL_DOWN)) + { + if(pInfo->m_Speed > 4.0f) DemoPlayer()->SetSpeed(4.0f); + else if(pInfo->m_Speed > 2.0f) DemoPlayer()->SetSpeed(2.0f); + else if(pInfo->m_Speed > 1.0f) DemoPlayer()->SetSpeed(1.0f); + else if(pInfo->m_Speed > 0.75f) DemoPlayer()->SetSpeed(0.75f); + else if(pInfo->m_Speed > 0.5f) DemoPlayer()->SetSpeed(0.5f); + else if(pInfo->m_Speed > 0.25f) DemoPlayer()->SetSpeed(0.25f); + else if(pInfo->m_Speed > 0.1f) DemoPlayer()->SetSpeed(0.1f); + else DemoPlayer()->SetSpeed(0.05f); + } } static CUIRect gs_ListBoxOriginalView; -- cgit 1.4.1