diff options
author | drumsetmonkey <abelleisle@roadrunner.com> | 2016-01-07 08:47:59 -0500 |
---|---|---|
committer | drumsetmonkey <abelleisle@roadrunner.com> | 2016-01-07 08:47:59 -0500 |
commit | a85accc62dab6d3edc4fb4ffb991ce4c537394f6 (patch) | |
tree | d37eb193a7210ef88af7da5776acc881377c04bf /src | |
parent | e043a2432c4dacce56a308948188482fb230ff33 (diff) |
Player has a light
Diffstat (limited to 'src')
-rw-r--r-- | src/ui.cpp | 2 | ||||
-rw-r--r-- | src/world.cpp | 10 |
2 files changed, 9 insertions, 3 deletions
@@ -815,7 +815,7 @@ DONE: player->inv->sel++; break; case SDLK_f: - + player->light^=true; break; default: break; diff --git a/src/world.cpp b/src/world.cpp index c6ab6e1..6fc84f8 100644 --- a/src/world.cpp +++ b/src/world.cpp @@ -617,7 +617,10 @@ LOOP2: glUseProgram(shaderProgram); glUniform1i(glGetUniformLocation(shaderProgram, "sampler"), 0); glUniform1f(glGetUniformLocation(shaderProgram, "amb"), float(shade+50.0f)/100.0f); - if(light.size() == 0){ + if(p->light){ + glUniform2f(glGetUniformLocation(shaderProgram, "lightLocation"), p->loc.x - offset.x+SCREEN_WIDTH/2,p->loc.y); + glUniform3f(glGetUniformLocation(shaderProgram, "lightColor"), 1.0f,1.0f,1.0f); + }else if(light.size() == 0){ glUniform2f(glGetUniformLocation(shaderProgram, "lightLocation"), 0,-1000); glUniform3f(glGetUniformLocation(shaderProgram, "lightColor"), 0.0f,0.0f,0.0f); }else{ @@ -1211,7 +1214,10 @@ void IndoorWorld::draw(Player *p){ glUseProgram(shaderProgram); glUniform1i(glGetUniformLocation(shaderProgram, "sampler"), 0); glUniform1f(glGetUniformLocation(shaderProgram, "amb"), 0.0f); - if(light.size() == 0){ + if(p->light){ + glUniform2f(glGetUniformLocation(shaderProgram, "lightLocation"), p->loc.x - offset.x+SCREEN_WIDTH/2,p->loc.y); + glUniform3f(glGetUniformLocation(shaderProgram, "lightColor"), 1.0f,1.0f,1.0f); + }else if(light.size() == 0){ glUniform2f(glGetUniformLocation(shaderProgram, "lightLocation"), 0,-1000); glUniform3f(glGetUniformLocation(shaderProgram, "lightColor"), 0.0f,0.0f,0.0f); }else{ |