aboutsummaryrefslogtreecommitdiff
path: root/gameloop/src
diff options
context:
space:
mode:
Diffstat (limited to 'gameloop/src')
-rw-r--r--gameloop/src/eventManager.cpp0
-rw-r--r--gameloop/src/loopManager.cpp37
-rw-r--r--gameloop/src/main.cpp17
-rw-r--r--gameloop/src/window.cpp48
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();
+}