diff options
| author | SushiTee <weichel.sascha@gmail.com> | 2010-09-26 14:53:20 +0200 |
|---|---|---|
| committer | oy <Tom_Adams@web.de> | 2010-09-26 18:00:29 +0200 |
| commit | 5faec7c80dd2d22884a63cbbe556965949d2a9df (patch) | |
| tree | 54669b108a2804c1247d5d17eb8b7086e606be3b /src/game/client/components/items.cpp | |
| parent | 4e608965ef2ceff44731cd3cbb585ccca6c6065d (diff) | |
| download | zcatch-5faec7c80dd2d22884a63cbbe556965949d2a9df.tar.gz zcatch-5faec7c80dd2d22884a63cbbe556965949d2a9df.zip | |
changed pickup animation speed for demos according to demospeed (fixes issue 72)
Diffstat (limited to 'src/game/client/components/items.cpp')
| -rw-r--r-- | src/game/client/components/items.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/game/client/components/items.cpp b/src/game/client/components/items.cpp index b29bee99..b4d696f7 100644 --- a/src/game/client/components/items.cpp +++ b/src/game/client/components/items.cpp @@ -1,4 +1,5 @@ #include <engine/graphics.h> +#include <engine/demo.h> #include <game/generated/protocol.h> #include <game/generated/client_data.h> @@ -111,8 +112,21 @@ void CItems::RenderPickup(const CNetObj_Pickup *pPrev, const CNetObj_Pickup *pCu Graphics()->QuadsSetRotation(Angle); float Offset = Pos.y/32.0f + Pos.x/32.0f; - Pos.x += cosf(Client()->LocalTime()*2.0f+Offset)*2.5f; - Pos.y += sinf(Client()->LocalTime()*2.0f+Offset)*2.5f; + if(Client()->State() == IClient::STATE_DEMOPLAYBACK) + { + const IDemoPlayer::CInfo *pInfo = DemoPlayer()->BaseInfo(); + + if(!pInfo->m_Paused) + { + Pos.x += cosf(Client()->LocalTime()*pInfo->m_Speed*2.0f+Offset)*2.5f; + Pos.y += sinf(Client()->LocalTime()*pInfo->m_Speed*2.0f+Offset)*2.5f; + } + } + else + { + Pos.x += cosf(Client()->LocalTime()*2.0f+Offset)*2.5f; + Pos.y += sinf(Client()->LocalTime()*2.0f+Offset)*2.5f; + } RenderTools()->DrawSprite(Pos.x, Pos.y, Size); Graphics()->QuadsEnd(); } |