From 92f2b4dd85a2c976ea15e952ce64debbdb22500a Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Sat, 24 Aug 2024 07:13:50 -0500 Subject: [PATCH] Add countdown timer. --- assets/countdown.png | Bin 0 -> 872 bytes src/AnimationState.h | 1 + src/Hamster.cpp | 1 + src/HamsterGame.cpp | 12 ++++++++++++ src/HamsterGame.h | 2 ++ src/TODO.txt | 1 + 6 files changed, 17 insertions(+) create mode 100644 assets/countdown.png diff --git a/assets/countdown.png b/assets/countdown.png new file mode 100644 index 0000000000000000000000000000000000000000..2b83651c61f3bba435bd4bd455e3ad94a168150b GIT binary patch literal 872 zcmV-u1DE`XP)EX>4Tx04R}tkv&MmKpe$iQ^lec2P=p;WT;Mdu_BJ8ibb$c+6t{Ym|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfc5qU3krMxx6k5c1aNLh~_a1le0HIlBs@W3*RLwHd ziMW`{uZn%I2w(&Qh$1L4Q%`0Vv+x{W_we!cF2b|C&;29%C|}6A ztZ?4qtXAu+eNXeSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00BTrL_t(&-tAgJ4ul{K1h&sG`~P@qv5O1_zwebo{OrE5lTkUNA}is;G#3?9EYXxNp| zG1v{^oe~Uf#H_%=y%0L9)5y-Zpp;;Z*uR$@twu~njC@4dVF?Zy&H2nLXoNcKq6Aq} zJ4m}SO5~r7)jEg~Wh#y2{MPk+s1j7t>>wMWtFbwSQ)}0+qe+chZccG`>nWU)&6L{I yWH&nv&n6W-v@}3-rhU00000.f){ + Pixel timerColor{fmod(countdownTimer,1.f)<0.5f?GREEN:WHITE}; + timerColor.a=util::lerp(0.f,1.f,fmod(countdownTimer,1.f))*255; + DrawPartialRotatedDecal(SCREEN_FRAME.middle(),GetGFX("countdown.png").Decal(),0.f,{16.f,16.f},{int(countdownTimer)*32.f,0.f},{32,32},{4.f,4.f},timerColor); + } } const Terrain::TerrainType HamsterGame::GetTerrainTypeAtPos(const vf2d pos)const{ @@ -665,6 +673,10 @@ const int HamsterGame::GetRaceTime(){ return net.GetCurrentRaceTime(); } +const bool HamsterGame::RaceCountdownCompleted(){ + return countdownTimer==0.f; +} + int main() { HamsterGame game("Project Hamster"); diff --git a/src/HamsterGame.h b/src/HamsterGame.h index 260dec3..cc8076c 100644 --- a/src/HamsterGame.h +++ b/src/HamsterGame.h @@ -102,6 +102,7 @@ public: static void SavePB(const std::string&mapName,int ms); static void LoadPBs(); const int GetRaceTime(); + const bool RaceCountdownCompleted(); private: void UpdateGame(const float fElapsedTime); void DrawGame(); @@ -141,6 +142,7 @@ private: std::unordered_mapbgm; GameMode mode{GameMode::SINGLE_RACE}; HamsterNet net; + float countdownTimer{}; #ifndef __EMSCRIPTEN__ #ifndef __DEBUG__ SplashScreen splash; diff --git a/src/TODO.txt b/src/TODO.txt index ffe218f..2dad0a9 100644 --- a/src/TODO.txt +++ b/src/TODO.txt @@ -167,6 +167,7 @@ Hamster Jet Landing Sound Powerup Collection Sound Hamster Wheel Boost Sound Checkpoint Collection Sound +Countdown Sound Effect Hamster Jet Launch Command Sound Fail to Boost/Jet Launch command sound