From ebf6608e077c8d76d7f189c93a40e9f55ce630ff Mon Sep 17 00:00:00 2001 From: Andy Belle-Isle Date: Mon, 7 Sep 2015 12:49:05 -0400 Subject: Added New Header File and UI Class Added UI Class for controlling the UI of course :P Added gameHeader.h for variables that are accessed by multiple files/classes --- Makefile | 4 ++-- src/UIClass.cpp | 21 +++++++++++++++++++++ src/UIClass.h | 18 ++++++++++++++++++ src/gameHeader.h | 23 +++++++++++++++++++++++ src/main.cpp | 47 +++++++++++++++++++---------------------------- 5 files changed, 83 insertions(+), 30 deletions(-) create mode 100644 src/UIClass.cpp create mode 100644 src/UIClass.h create mode 100644 src/gameHeader.h diff --git a/Makefile b/Makefile index 85f2a82..d2fe513 100644 --- a/Makefile +++ b/Makefile @@ -3,10 +3,10 @@ FLAGS_WIN32 = -lopengl32 -lmingw32 #-lSDL2_Image FLAGS = -m32 -Iinclude -Wall -Werror -lSDL2main -lSDL2 all: - @g++ src/main.cpp -o main $(FLAGS_LINUX) $(FLAGS) + @g++ src/main.cpp src/UIClass.cpp -o main $(FLAGS_LINUX) $(FLAGS) win32: - @g++ -L lib/ src/main.cpp -o main.exe $(FLAGS_WIN32) $(FLAGS) + @g++ -L lib/ src/main.cpp src/UIClass.cpp -o main.exe $(FLAGS_WIN32) $(FLAGS) clean: rm main* diff --git a/src/UIClass.cpp b/src/UIClass.cpp new file mode 100644 index 0000000..711440a --- /dev/null +++ b/src/UIClass.cpp @@ -0,0 +1,21 @@ +#include "UIClass.h" + +void UIClass::handleEvents(){ + while(SDL_PollEvent(&e)){ + switch(e.type){ + case SDL_QUIT: + gameRunning=false; + break; + case SDL_KEYDOWN: + switch(e.key.keysym.sym){ + case 27: + gameRunning=false; + break; + default: + break; + } + default: + break; + } + } +} \ No newline at end of file diff --git a/src/UIClass.h b/src/UIClass.h new file mode 100644 index 0000000..956dbb8 --- /dev/null +++ b/src/UIClass.h @@ -0,0 +1,18 @@ +#ifndef UICLASS_H +#define UICLASS_H + +#include +#include +#include +#include + +extern SDL_Event e; +extern bool gameRunning; + +class UIClass{ + public: + void handleEvents(); + +}; + +#endif //UICLASS_H \ No newline at end of file diff --git a/src/gameHeader.h b/src/gameHeader.h new file mode 100644 index 0000000..f289527 --- /dev/null +++ b/src/gameHeader.h @@ -0,0 +1,23 @@ +///THIS FILE IS USED FOR VARIABLES THAT WILL BE ACCESED BY MULTIPLE CLASSES/FILES +#include +#include +#include +#include + +#include "UIClass.h" //This can access SDL_Event e, if it won't compile for you, move it down to right above the ui object definition I guess :P + +//SDL VARIABLES +SDL_Window *window = NULL; +SDL_Surface *renderSurface = NULL; +SDL_GLContext mainGLContext = NULL; + +//WINODWS VARIABLES +const float sh = SCREEN_HEIGHT; +const float sw = SCREEN_WIDTH; +bool gameRunning = true; +SDL_Event e; + +//OTHER VARIABLES +UIClass ui; + +//FUNCTIONS diff --git a/src/main.cpp b/src/main.cpp index 8b3036e..f152963 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -7,17 +7,12 @@ #define SCREEN_HEIGHT 720 //#define FULLSCREEN -SDL_Window *window = NULL; -SDL_Surface *renderSurface = NULL; -SDL_GLContext mainGLContext = NULL; -const float sh = SCREEN_HEIGHT; -const float sw = SCREEN_WIDTH; -bool gameRunning = true; +#include "gameHeader.h" + int main(int argc,char **argv){ - SDL_Event e; - //runs startup procedures + //runs start-up procedures if(SDL_Init(SDL_INIT_VIDEO) < 0){ std::cout << "SDL was not able to initialize! Error: " << SDL_GetError() << std::endl; }else{ @@ -25,7 +20,7 @@ int main(int argc,char **argv){ //Turn on double Buffering SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); //create the window - window = SDL_CreateWindow("Sword Swinger", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN | SDL_WINDOW_OPENGL + window = SDL_CreateWindow("Independent Study v. Alpha -1.0", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN | SDL_WINDOW_OPENGL #ifdef FULLSCREEN | SDL_WINDOW_FULLSCREEN #endif // FULLSCREEN @@ -33,36 +28,32 @@ int main(int argc,char **argv){ if(window == NULL){ std::cout << "The window failed to generate! Error: " << SDL_GetError() << std::endl; }else{ - //set opengl context + //set OpenGL context mainGLContext = SDL_GL_CreateContext(window); if(mainGLContext == NULL){ std::cout << "The OpenGL context failed to initialize! Error: " << SDL_GetError() << std::endl; } } } - // main loop + + + /************************** + **** GAMELOOP **** + **************************/ + glClearColor(1,1,1,0); while(gameRunning){ glClear(GL_COLOR_BUFFER_BIT); SDL_GL_SwapWindow(window); - while(SDL_PollEvent(&e)){ - switch(e.type){ - case SDL_QUIT: - gameRunning=false; - break; - case SDL_KEYDOWN: - switch(e.key.keysym.sym){ - case 27: - gameRunning=false; - break; - default: - break; - } - default: - break; - } - } + + ui.handleEvents(); } + + /************************** + **** CLOSE PROGRAM **** + **************************/ + + //closes the window and frees resources SDL_GL_DeleteContext(mainGLContext); SDL_DestroyWindow(window); -- cgit v1.2.3