summaryrefslogtreecommitdiff
path: root/gaunt01/src/testApp.cpp
diff options
context:
space:
mode:
authorTim Redfern <tim@eclectronics.org>2012-04-18 17:40:55 +0100
committerTim Redfern <tim@eclectronics.org>2012-04-18 17:40:55 +0100
commitc4fc08cc7238dfa310ed56e65a24df22c6bbb625 (patch)
tree893cbeb6b5e135ae4e70b6754ba349bdf70021bc /gaunt01/src/testApp.cpp
parent3411448d999ce36b5fcb14ca4829435308cbd70a (diff)
trapdoor splashes etc
Diffstat (limited to 'gaunt01/src/testApp.cpp')
-rw-r--r--gaunt01/src/testApp.cpp52
1 files changed, 47 insertions, 5 deletions
diff --git a/gaunt01/src/testApp.cpp b/gaunt01/src/testApp.cpp
index 5f531a6..9e2a574 100644
--- a/gaunt01/src/testApp.cpp
+++ b/gaunt01/src/testApp.cpp
@@ -91,6 +91,9 @@ void testApp::setup(){
bgnum=1000;
firstframe=true;
+
+ light.setPosition(ofGetWidth(),0,ofGetHeight());
+ light.enable();
}
@@ -254,11 +257,13 @@ void testApp::update(){
ray=projector.castPixel(blobBase.x,blobBase.y);
bool hit = plane.intersect(ray,pp);
rp=pp.getRotated(cam_angle,ofVec3f(-1,0,0));
- players[blobsManager.blobs.at(i).id].setPosition(rp);
+ players[blobsManager.blobs.at(i).id].setScreenPosition(blobBase);
+ players[blobsManager.blobs.at(i).id].setWorldPosition(ofVec3f(rp.x,rp.y,0));
players[blobsManager.blobs.at(i).id].update(blob); //create model
}
}
if (trapDoor.checkUpdate(players)) updatePlane();
+ Bird.update(players);
}
//--------------------------------------------------------------
@@ -280,13 +285,22 @@ void testApp::draw(){
bindTexture(bgImg);
ground.draw();
unbindTexture(bgImg);
-
- Bird.update(players);
ofPushMatrix();
ofRotate(cam_angle,1,0,0);
Bird.drawShadow();
ofPopMatrix();
+
+ glDisable(GL_DEPTH_TEST);
+ ofSetHexColor(0xffffff);
+ ofPushMatrix();
+ ofRotate(cam_angle,1,0,0);
+ glEnable(GL_BLEND);
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+ trapDoor.drawSplash(cam_angle);
+ //trapDoor.splashFrames[0].draw(ofGetWidth()/2,ofGetHeight()/2);
+ glDisable(GL_BLEND);
+ ofPopMatrix();
glDisable(GL_DEPTH_TEST);
ofSetHexColor(0xffffff);
@@ -324,12 +338,14 @@ void testApp::draw(){
-
+ glEnable(GL_LIGHTING);
ofPushMatrix();
ofRotate(cam_angle,1,0,0);
Bird.draw();
ofPopMatrix();
+
+ glDisable(GL_LIGHTING);
break;
@@ -364,6 +380,7 @@ void testApp::draw(){
ofPushMatrix();
ofRotate(cam_angle,1,0,0);
trapDoor.draw();
+ trapDoor.drawDebug();
ofPopMatrix();
@@ -378,7 +395,7 @@ void testApp::draw(){
ofDrawBitmapString(numStr, blob.boundingRect.x, blob.boundingRect.y);
ofPushMatrix();
ofRotate(cam_angle,1,0,0);
- ofTranslate(players[blobsManager.blobs.at(i).id].getPosition());
+ ofTranslate(players[blobsManager.blobs.at(i).id].getWorldPosition());
ofBox(0,-10,0,20);
//TODO get this into plane axis
ofPopMatrix();
@@ -480,6 +497,31 @@ void testApp::keyPressed(int key){
Bird.currentseq="attack";
}
break;
+
+ case 'y':
+ light.setPosition(light.getX(),light.getY()-100,light.getZ());
+ printf("light at %f,%f,%f\n",light.getX(),light.getY(),light.getZ());
+ break;
+ case 'n':
+ light.setPosition(light.getX(),light.getY()+100,light.getZ());
+ printf("light at %f,%f,%f\n",light.getX(),light.getY(),light.getZ());
+ break;
+ case 'g':
+ light.setPosition(light.getX()-100,light.getY(),light.getZ());
+ printf("light at %f,%f,%f\n",light.getX(),light.getY(),light.getZ());
+ break;
+ case 'j':
+ light.setPosition(light.getX()+100,light.getY(),light.getZ());
+ printf("light at %f,%f,%f\n",light.getX(),light.getY(),light.getZ());
+ break;
+ case 'u':
+ light.setPosition(light.getX(),light.getY(),light.getZ()+100);
+ printf("light at %f,%f,%f\n",light.getX(),light.getY(),light.getZ());
+ break;
+ case 'b':
+ light.setPosition(light.getX(),light.getY(),light.getZ()-100);
+ printf("light at %f,%f,%f\n",light.getX(),light.getY(),light.getZ());
+ break;
}
}