diff options
Diffstat (limited to 'gameloop/src')
-rw-r--r-- | gameloop/src/eventManager.cpp | 0 | ||||
-rw-r--r-- | gameloop/src/loopManager.cpp | 37 | ||||
-rw-r--r-- | gameloop/src/main.cpp | 17 | ||||
-rw-r--r-- | gameloop/src/window.cpp | 48 |
4 files changed, 102 insertions, 0 deletions
diff --git a/gameloop/src/eventManager.cpp b/gameloop/src/eventManager.cpp new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/gameloop/src/eventManager.cpp diff --git a/gameloop/src/loopManager.cpp b/gameloop/src/loopManager.cpp new file mode 100644 index 0000000..ef2decf --- /dev/null +++ b/gameloop/src/loopManager.cpp @@ -0,0 +1,37 @@ +#include "loopManager.h" +LoopManager::LoopManager(){ +} +void LoopManager::processInput(){ + SDL_Event event; + SDL_PollEvent(&event); + switch(event.type){ + case SDL_QUIT: + gameRunning = false; + break; + case SDL_KEYDOWN: + if(event.key.keysym.sym == SDLK_ESCAPE){ + gameRunning = false; + } + break; + } +} +void LoopManager::loop(){ + while(gameRunning){ + //processInput(); + //update(); + //render(); + } + window.destroyWindow(); +} +void LoopManager::setup(){ + gameRunning = window.initWindow(); +} +void LoopManager::render(){ + if(gameRunning){ + SDL_SetRenderDrawColor(window.getRenderer(),255,0,0,255); + SDL_RenderClear(window.getRenderer()); + } +} +void LoopManager::update(){ + +} diff --git a/gameloop/src/main.cpp b/gameloop/src/main.cpp new file mode 100644 index 0000000..76d0c84 --- /dev/null +++ b/gameloop/src/main.cpp @@ -0,0 +1,17 @@ +//Using SDL and standard IO +#include <SDL2/SDL.h> +#include <stdio.h> +//#include "window.h" +#include "loopManager.h" +//Screen dimension constants + + +//Starts up SDL and creates window + +int main( int argc, char* args[] ) +{ + LoopManager gameLoop; + gameLoop.setup(); + gameLoop.loop(); + return 0; +} diff --git a/gameloop/src/window.cpp b/gameloop/src/window.cpp new file mode 100644 index 0000000..11424dd --- /dev/null +++ b/gameloop/src/window.cpp @@ -0,0 +1,48 @@ +#include "window.h" + +WindowManager::WindowManager(){ + if( !initWindow() ) + { + printf( "Failed to initialize!\n" ); + } +} +WindowManager::~WindowManager(){ + destroyWindow(); +} +bool WindowManager::init() +{ +} +bool WindowManager::loadMedia() +{ +} +void WindowManager::close() +{ + +} +SDL_Renderer* WindowManager::getRenderer(){ + return renderer; +} +void WindowManager::update(){ +} +bool WindowManager::initWindow(){ + if(SDL_Init(SDL_INIT_EVERYTHING) != 0){ + fprintf(stderr,"Error inititalising SDL.\n"); + return false; + } + window = SDL_CreateWindow("Gameloop POC",SDL_WINDOWPOS_CENTERED,SDL_WINDOWPOS_CENTERED,SCREEN_WIDTH,SCREEN_HEIGHT,SDL_WINDOW_RESIZABLE); + if(!window){ + fprintf(stderr,"Error creating SDL Window. \n"); + return false; + } + renderer = SDL_CreateRenderer(window,-1,0); + if(!renderer){ + fprintf(stderr,"Error creating SDL renderer. \n"); + return false; + } + return true; +} +void WindowManager::destroyWindow(){ + SDL_DestroyRenderer(renderer); + SDL_DestroyWindow(window); + SDL_Quit(); +} |