#define OLC_PGE_APPLICATION #include "pixelGameEngine.h" #include "data.h" using namespace std; enum GAMESTATE{ CUTSCENE_1, GAMEWORLD }; #define WIDTH 256 #define HEIGHT 224 class SeasonsOfLoneliness : public olc::PixelGameEngine { public: SeasonsOfLoneliness() { sAppName = "Seasons of Loneliness"; } public: GAMESTATE GAME_STATE=CUTSCENE_1; int textInd=0; int transitionTime=0; float elapsedTime=0; const float TARGET_RATE = 1/60.0; std::string CUTSCENE_CONSOLE_TEXT = ""; bool OnUserCreate() override { SetPixelMode(olc::Pixel::ALPHA); //ConsoleCaptureStdOut(true); // Called once at the start, so create things here return true; } bool OnUserUpdate(float fElapsedTime) override { elapsedTime+=fElapsedTime; while (elapsedTime>TARGET_RATE) { elapsedTime-=TARGET_RATE; updateGame(); } drawGame(); // called once per frame return true; } void updateGame(){ switch (GAME_STATE) { case CUTSCENE_1:{ if (textIndWIDTH-32) { int tempIndex=textInd; while (CUTSCENE_CONSOLE_TEXT[--tempIndex]!=' ') { CUTSCENE_CONSOLE_TEXT.erase(tempIndex); } CUTSCENE_CONSOLE_TEXT.erase(tempIndex++); CUTSCENE_CONSOLE_TEXT+='\n'; while (tempIndex