aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Belle-Isle <abelleisle@roadrunner.com>2015-09-07 12:49:05 -0400
committerAndy Belle-Isle <abelleisle@roadrunner.com>2015-09-07 12:49:05 -0400
commitebf6608e077c8d76d7f189c93a40e9f55ce630ff (patch)
tree732d496d76df6f3833421e12d9c6ada76116798c
parent47091d3e2d7a2460c2111725b7c344d2df9eb699 (diff)
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
-rw-r--r--Makefile4
-rw-r--r--src/UIClass.cpp21
-rw-r--r--src/UIClass.h18
-rw-r--r--src/gameHeader.h23
-rw-r--r--src/main.cpp47
5 files changed, 83 insertions, 30 deletions
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 <iostream>
+#include <cstdlib>
+#include <SDL2/SDL.h>
+#include <SDL2/SDL_opengl.h>
+
+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 <iostream>
+#include <cstdlib>
+#include <SDL2/SDL.h>
+#include <SDL2/SDL_opengl.h>
+
+#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);