aboutsummaryrefslogtreecommitdiffstats
path: root/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'main.cpp')
-rw-r--r--main.cpp42
1 files changed, 14 insertions, 28 deletions
diff --git a/main.cpp b/main.cpp
index 717fc1e..187f102 100644
--- a/main.cpp
+++ b/main.cpp
@@ -167,25 +167,6 @@ void logic(void);
void render(void);
void mainLoop(void);
-std::string readFile(const char *filePath) {
- std::string content;
- std::ifstream fileStream(filePath, std::ios::in);
-
- if(!fileStream.is_open()) {
- std::cerr << "Could not read file " << filePath << ". File does not exist." << std::endl;
- return "cancer";
- }
-
- std::string line = "";
- while(!fileStream.eof()) {
- std::getline(fileStream, line);
- content.append(line + "\n");
- }
-
- fileStream.close();
- return content;
-}
-
/*
* This offset is used as the player offset in the world drawing so
* everything can be moved according to the player
@@ -254,7 +235,6 @@ int main(/*int argc, char *argv[]*/){
Mix_AllocateChannels(8);
// Run Mix_Quit when main returns
- atexit(Mix_CloseAudio);
atexit(Mix_Quit);
/*
@@ -358,21 +338,21 @@ int main(/*int argc, char *argv[]*/){
std::cout << "Initializing shaders!" << std::endl;
- fragShader = glCreateShader(GL_FRAGMENT_SHADER);
-
- std::string shaderFileContents = readFile("frig.frag");
- const GLchar *shaderSource = shaderFileContents.c_str();
+ const GLchar *shaderSource = readFile("test.frag");
- GLint bufferln = GL_FALSE;
- int logLength;
+ GLint bufferln = 0;
+ int logLength;
+ fragShader = glCreateShader(GL_FRAGMENT_SHADER);
glShaderSource(fragShader, 1, &shaderSource, NULL);
glCompileShader(fragShader);
glGetShaderiv(fragShader, GL_COMPILE_STATUS, &bufferln);
glGetShaderiv(fragShader, GL_INFO_LOG_LENGTH, &logLength);
- std::vector<char>fragShaderError((logLength > 1) ? logLength : 1);
+
+ std::vector<char> fragShaderError ((logLength > 1) ? logLength : 1);
+
glGetShaderInfoLog(fragShader, logLength, NULL, &fragShaderError[0]);
std::cout << &fragShaderError[0] << std::endl;
@@ -391,6 +371,7 @@ int main(/*int argc, char *argv[]*/){
glGetProgramInfoLog(shaderProgram, logLength, NULL, &programError[0]);
std::cout << &programError[0] << std::endl;
+ delete[] shaderSource;
//glEnable(GL_DEPTH_TEST); //THIS DOESN'T WORK ON LINUX
glEnable(GL_MULTISAMPLE);
@@ -435,7 +416,7 @@ int main(/*int argc, char *argv[]*/){
**** GAMELOOP ****
**************************/
- gameRunning=true;
+ gameRunning = true;
while(gameRunning){
mainLoop();
}
@@ -449,9 +430,14 @@ int main(/*int argc, char *argv[]*/){
*/
Mix_HaltMusic();
+ Mix_CloseAudio();
fb.close();
+ destroyInventory();
+ ui::destroyFonts();
+ Texture::freeTextures();
+
SDL_GL_DeleteContext(mainGLContext);
SDL_DestroyWindow(window);