diff options
Diffstat (limited to 'src/client/shipdrawer.cc')
-rw-r--r-- | src/client/shipdrawer.cc | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/src/client/shipdrawer.cc b/src/client/shipdrawer.cc deleted file mode 100644 index 074dbd8..0000000 --- a/src/client/shipdrawer.cc +++ /dev/null @@ -1,113 +0,0 @@ -/* - shipdrawer.cc - This file is part of the Osirion project and is distributed under - the terms and conditions of the GNU General Public License version 2 -*/ - -#include "client/shipdrawer.h" -#include "render/render.h" -#include "render/box.h" - -#include <iostream> - -namespace client { - -using namespace render; - -using math::Vector3f; -using math::Color; - -Vector3f v0(1.0f, -1.0f, -1.0f); -Vector3f v1(1.0f, 1.0f, -1.0f); -Vector3f v2(1.0f, 1.0f, 1.0f); -Vector3f v3(1.0f, -1.0f, 1.0f); - -Vector3f v4(-1.0f, -1.0f, -1.0f); -Vector3f v5(-1.0f, 1.0f, -1.0f); -Vector3f v6(-1.0f, 1.0f, 1.0f); -Vector3f v7(-1.0f, -1.0f, 1.0f); - -ShipDrawer::ShipDrawer(game::Ship *s) -{ - angle = 0; - ship = s; -} - -ShipDrawer::~ShipDrawer() -{ -} - -void ShipDrawer::draw(float elapsed) -{ - gl::push(); - - gl::rotate(ship->yaw(), 0.0f, 1.0f, 0.0f ); - - Vector3f tl(0.25, 0.125, 0.125); - Vector3f br(-0.25, -0.125, -0.125); - - Box box(tl, br); - box.draw(); - - tl = Vector3f(0, 0.07, 0.25); - br = Vector3f(-0.5, -0.07, 0.125); - Box engine1(tl, br); - engine1.topcolor = Color(0.7, 0.7, 0.7); - engine1.bottomcolor = engine1.topcolor * 0.5; - engine1.draw(); - - tl = Vector3f(0, 0.07, -0.125); - br = Vector3f(-0.5, -0.07, -0.25); - Box engine2(tl, br); - engine2.topcolor = engine1.topcolor; - engine2.bottomcolor = engine1.bottomcolor; - engine2.draw(); - - tl = Vector3f(0.4, 0.07, 0.07); - br = Vector3f(0.25, -0.07, -0.07); - Box cockpit(tl, br); - cockpit.topcolor = engine1.topcolor; - cockpit.bottomcolor = engine1.bottomcolor; - cockpit.draw(); - - if(ship->thrust() > 0 ) { - gl::color(1.0f,0 ,0 ); - gl::begin(gl::Lines); - gl::vertex(-0.5f, 0, 0.185); - gl::vertex(-0.5f-0.25f*ship->thrust(), 0, 0.185); - - gl::vertex(-0.5f, 0, -0.185f); - gl::vertex(-0.5f-0.25f*ship->thrust(), 0, -0.185f); - gl::end(); - } - - // shield rotation - gl::rotate(angle, 0.0f, 1.0f, 0.0f ); - angle += 180.0f * elapsed; - if( angle > 360.0f ) { - angle -= 360.0f; - } - - // draw the shield - gl::color(Color(0.0f, 1.0f ,0.0f , 0.5f)); - - gl::begin(gl::LineStrip); - gl::vertex(v0); - gl::vertex(v1); - gl::vertex(v2); - gl::vertex(v3); - gl::vertex(v0); - gl::end(); - - gl::begin(gl::LineStrip); - gl::vertex(v4); - gl::vertex(v5); - gl::vertex(v6); - gl::vertex(v7); - gl::vertex(v4); - gl::end(); - - gl::pop(); -} - -} |