# HG changeset patch # User Matti Hamalainen # Date 1621893482 -10800 # Node ID 5191f8e571d1750646d401d41d48ca0a84a827f8 # Parent 9fee97e7c5b68ddd0f014055510a91d240831c38 Add manual control mode. diff -r 9fee97e7c5b6 -r 5191f8e571d1 gldragon.cpp --- 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); } }