Mercurial > hg > forks > gldragon
changeset 94:5191f8e571d1
Add manual control mode.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 25 May 2021 00:58:02 +0300 |
parents | 9fee97e7c5b6 |
children | 59195e95c080 |
files | gldragon.cpp |
diffstat | 1 files changed, 18 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/gldragon.cpp Tue May 25 00:48:42 2021 +0300 +++ b/gldragon.cpp Tue May 25 00:58:02 2021 +0300 @@ -99,6 +99,7 @@ bool exitFlag = false, pauseFlag = false, + manualFlag = false, optShowHelp = false, optSetInputFilename = false, optUseShaders = false; @@ -330,13 +331,26 @@ { case SDLK_SPACE: case SDLK_p: - pauseFlag = !pauseFlag; + if (manualFlag) + pauseFlag = manualFlag = false; + else + pauseFlag = !pauseFlag; break; case SDLK_ESCAPE: case SDLK_q: exitFlag = true; break; + + case SDLK_RIGHT: + manualFlag = true; + cycleFrames++; + break; + + case SDLK_LEFT: + manualFlag = true; + cycleFrames--; + break; } } @@ -351,8 +365,8 @@ frameDelta = frameEnd - frameStart; - // Return true if a full rotation was done - if (!pauseFlag) + // Handle automatic mode + if (!pauseFlag && !manualFlag) { totalFrames++; cycleFrames++; @@ -392,7 +406,7 @@ } else { - SDL_Delay(100); + SDL_Delay(manualFlag ? 25 : 100); } }