From 23b58dcc63cbadbf8d2a614c903652477cdc00c9 Mon Sep 17 00:00:00 2001 From: drumsetmonkey Date: Tue, 27 Oct 2015 22:36:15 -0400 Subject: [PATCH] Improved entity loop, updated tree textures --- assets/antree.png | Bin 12764 -> 22140 bytes include/common.h | 6 +++ main.cpp | 95 ++++++++++++++++++++++++---------------------- 3 files changed, 55 insertions(+), 46 deletions(-) diff --git a/assets/antree.png b/assets/antree.png index 3d6aad49d78a957e2aa8b365c723c56c2f9ef6f1..1503d6ce0d85d5c3be29a2940cccb531634d84b5 100644 GIT binary patch literal 22140 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 literal 12764 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 Pid-|bx>A1W*028oI%)5_ diff --git a/include/common.h b/include/common.h index e46cf86..1da279c 100644 --- a/include/common.h +++ b/include/common.h @@ -26,6 +26,12 @@ */ #include +/* + * This flag lets the compiler know that we are using shaders +*/ + + #define SHADERS + /* * Create a basic 2-point structure for coordinate saving */ diff --git a/main.cpp b/main.cpp index 03c618f..13ad289 100644 --- a/main.cpp +++ b/main.cpp @@ -309,30 +309,34 @@ int main(int argc, char *argv[]){ * Initializes our shaders so that the game has shadows. */ - /*GLuint fragShader; - GLuint shaderProgram; + #ifdef SHADERS + std::cout << "Initializing shaders!" << std::endl; - const GLchar *shaderSource = "shader.frag"; - GLint bufferln = GL_FALSE; + GLuint fragShader; + GLuint shaderProgram; - fragShader = glCreateShader(GL_FRAGMENT_SHADER); - glShaderSource(fragShader, 1, &shaderSource, NULL); - glCompileShader(fragShader); + const GLchar *shaderSource = "shader.frag"; + GLint bufferln = GL_FALSE; - shaderProgram = glCreateProgram(); - - glGetShaderiv(fragShader, GL_COMPILE_STATUS, &bufferln); - - if(bufferln == GL_TRUE){ - std::cout << "Error compiling shader" << std::endl; - } - - glAttachShader(shaderProgram, fragShader); - glLinkProgram(shaderProgram); - glValidateProgram(shaderProgram); + fragShader = glCreateShader(GL_FRAGMENT_SHADER); + glShaderSource(fragShader, 1, &shaderSource, NULL); + glCompileShader(fragShader); - glEnable(GL_DEPTH_TEST); - glEnable(GL_MULTISAMPLE);*/ + shaderProgram = glCreateProgram(); + + glGetShaderiv(fragShader, GL_COMPILE_STATUS, &bufferln); + + if(bufferln == GL_TRUE){ + std::cout << "Error compiling shader" << std::endl; + } + + glAttachShader(shaderProgram, fragShader); + glLinkProgram(shaderProgram); + glValidateProgram(shaderProgram); + #endif //SHADERS + + //glEnable(GL_DEPTH_TEST); //THIS DOESN'T WORK ON LINUX + glEnable(GL_MULTISAMPLE); /* * Open the names file containing potential names for NPCs and store it in the names file @@ -448,15 +452,15 @@ void mainLoop(void){ player->loc.y+= player->vel.y *deltaTime; player->loc.x+=(player->vel.x*player->speed)*deltaTime; - for(int i=0;itype == NPCT || - entity[i]->type == MOBT ){ - entity[i]->loc.x += entity[i]->vel.x * deltaTime; - entity[i]->loc.y += entity[i]->vel.y * deltaTime; + if(e->type == NPCT || + e->type == MOBT ){ + e->loc.x += e->vel.x * deltaTime; + e->loc.y += e->vel.y * deltaTime; - if(entity[i]->vel.x < 0)entity[i]->left = true; - else if(entity[i]->vel.x > 0)entity[i]->left = false; + if(e->vel.x < 0)e->left = true; + else if(e->vel.x > 0)e->left = false; } } @@ -513,7 +517,6 @@ void render(){ * glLoadIdentity This scales the current matrix back to the origin so the * translations are seen normally on a stack. */ - glMatrixMode(GL_PROJECTION); //set the matrix mode as projection so we can set the ortho size and the camera settings later on glPushMatrix(); //push the matrix to the top of the matrix stack glLoadIdentity(); //replace the entire matrix stack with the updated GL_PROJECTION mode @@ -665,22 +668,22 @@ void logic(){ * */ - for(unsigned int i=0;ialive)std::cout<<"Entity "<alive)std::cout<<"Entity "<inWorld == currentWorld && - entity[i]->alive){ + if(e->inWorld == currentWorld && + e->alive){ /* * Switch on the entity's type and handle them accordingly. */ - switch(entity[i]->type){ + switch(e->type){ case NPCT: // Handle NPCs @@ -691,15 +694,15 @@ void logic(){ * */ - if(entity[i]->canMove) - NPCp(entity[i])->wander((rand() % 120 + 30), &entity[i]->vel); + if(e->canMove) + NPCp(e)->wander((rand() % 120 + 30), &e->vel); /* * Don't bother handling the NPC if another has already been handled. */ if(NPCSelected){ - entity[i]->near=false; + e->near=false; break; } @@ -707,10 +710,10 @@ void logic(){ * Check if the NPC is under the mouse. */ - if(ui::mouse.x >= entity[i]->loc.x && - ui::mouse.x <= entity[i]->loc.x + entity[i]->width && - ui::mouse.y >= entity[i]->loc.y && - ui::mouse.y <= entity[i]->loc.y + entity[i]->width ){ + if(ui::mouse.x >= e->loc.x && + ui::mouse.x <= e->loc.x + e->width && + ui::mouse.y >= e->loc.y && + ui::mouse.y <= e->loc.y + e->width ){ /* * Check of the NPC is close enough to the player for interaction to be @@ -722,14 +725,14 @@ void logic(){ * */ - if(pow((entity[i]->loc.x - player->loc.x),2) + pow((entity[i]->loc.y - player->loc.y),2) <= pow(40*HLINE,2)){ + if(pow((e->loc.x - player->loc.x),2) + pow((e->loc.y - player->loc.y),2) <= pow(40*HLINE,2)){ /* * Set Entity->near so that this NPC's name is drawn under them, and toggle NPCSelected * so this NPC is the only one that's clickable. */ - entity[i]->near=true; + e->near=true; NPCSelected=true; /* @@ -739,7 +742,7 @@ void logic(){ if(SDL_GetMouseState(NULL, NULL) & SDL_BUTTON(SDL_BUTTON_RIGHT)){ - NPCp(entity[i])->interact(); + NPCp(e)->interact(); //Mix_PlayChannel( -1, horn, 0); // Audio feedback } @@ -749,7 +752,7 @@ void logic(){ * Hide the NPC's name if the mouse isn't on the NPC. */ - }else entity[i]->near=false; + }else e->near=false; break; // End case NPCT @@ -759,10 +762,10 @@ void logic(){ * Run the Mob's AI function. */ - switch(entity[i]->subtype){ + switch(e->subtype){ case MS_RABBIT: case MS_BIRD: - Mobp(entity[i])->wander((rand()%240 + 15)); // Make the mob wander + Mobp(e)->wander((rand()%240 + 15)); // Make the mob wander break; } -- 2.39.5