diff --git a/game/game_window.hpp b/game/game_window.hpp index 1c9a1a8..b83d582 100644 --- a/game/game_window.hpp +++ b/game/game_window.hpp @@ -84,11 +84,12 @@ class GameWindow : public endofthejedi::GLWindow { m_renderer.drawCircle(pos.x, pos.y, 0.01, color.x, color.y, color.z, 6); } - void drawTrace(const game::Trace *trace) - { + void drawTrace(const game::Trace *trace) { for (const game::Trace::TracePoint &p : trace->points) { - glm::vec3 color = glm::vec3(0.1, 0.3, 1.0) / (1.0f + 500.0f*p.speed); - m_renderer.drawCircle(p.position.x, p.position.y, 0.005, color.x, color.y, color.z, 3); + glm::vec3 color = + glm::vec3(0.1, 0.3, 1.0) / (1.0f + 500.0f * p.speed); + m_renderer.drawCircle(p.position.x, p.position.y, 0.005, color.x, + color.y, color.z, 3); } } diff --git a/game/glclasses.cpp b/game/glclasses.cpp index 635dd7b..4776970 100644 --- a/game/glclasses.cpp +++ b/game/glclasses.cpp @@ -27,17 +27,34 @@ bool endofthejedi::Shader::check() { glGetProgramiv(m_program, GL_LINK_STATUS, &result); glGetProgramiv(m_program, GL_INFO_LOG_LENGTH, &len); if (len > 1) { - char* error = (char*)malloc(len); + char *error = (char *)malloc(len); glGetProgramInfoLog(m_program, len, NULL, error); std::string str(error); std::cout << str << "\n"; - } + std::cout << "checked program" + << "\n"; return (bool)result; } -bool endofthejedi::Shader::checkShader() { return false; } +bool endofthejedi::Shader::checkShader(GLuint shader) { + GLint len = 0; + GLint result = 0; + + glGetProgramiv(m_program, GL_LINK_STATUS, &result); + glGetProgramiv(m_program, GL_INFO_LOG_LENGTH, &len); + if (len > 1) { + char *error = (char *)malloc(len); + glGetShaderInfoLog(shader, 0, &len, error); + std::string str(error); + std::cout << str << "\n"; + } + std::cout << "checked shader" + << "\n"; + + return (bool)result; +} void endofthejedi::Shader::bind() { glUseProgram(m_program); } @@ -48,8 +65,9 @@ void endofthejedi::Shader::load(std::string path, GLenum shadertype) { const char *cheddardata = path.c_str(); glShaderSource(cheddar, 1, &cheddardata, NULL); glCompileShader(cheddar); + checkShader(cheddar); glAttachShader(m_program, cheddar); glLinkProgram(m_program); - glDeleteShader(cheddar); check(); + glDeleteShader(cheddar); } diff --git a/game/glclasses.hpp b/game/glclasses.hpp index bf983b0..46cbf77 100644 --- a/game/glclasses.hpp +++ b/game/glclasses.hpp @@ -44,7 +44,7 @@ class Shader { private: GLuint m_program; bool check(); - bool checkShader(); + bool checkShader(GLuint shader); protected: public: Shader(); diff --git a/game/main.cpp b/game/main.cpp index 2d703ad..bc79379 100644 --- a/game/main.cpp +++ b/game/main.cpp @@ -6,6 +6,8 @@ #include "game_window.hpp" #include "options.hpp" +uint64_t optionsFlags; + using namespace std; int main(int argc, char *argv[]) { diff --git a/game/options.hpp b/game/options.hpp index 5cd04a6..920831a 100644 --- a/game/options.hpp +++ b/game/options.hpp @@ -10,7 +10,7 @@ #define SET_FLAG(x,y) optionsFlags&=(~((1)<