# HG changeset patch # User terom # Date 1228681557 0 # Node ID 549783d71e51e0a30d65eeae835120c3b68c0fc4 # Parent eb497502640244d603e3379fba23d4532ccb645d add a handful of consts to PhysicsObject and modify draw to use getCoordinate, and replace old skin.png with new skin.png diff -r eb4975026402 -r 549783d71e51 data/share/skin.png Binary file data/share/skin.png has changed diff -r eb4975026402 -r 549783d71e51 data/skin.png Binary file data/skin.png has changed diff -r eb4975026402 -r 549783d71e51 src/GameState.cc --- a/src/GameState.cc Sun Dec 07 20:08:28 2008 +0000 +++ b/src/GameState.cc Sun Dec 07 20:25:57 2008 +0000 @@ -35,7 +35,7 @@ } void GameState::draw(Graphics *g, bool displayWeapon) { - PixelCoordinate camera = world.getPixelCoordinate(local_player->getPosition()) - world.getDimensions() / 2; + PixelCoordinate camera = local_player->getCoordinate() - world.getDimensions() / 2; // Draw world/terrain world.draw(g, camera); diff -r eb4975026402 -r 549783d71e51 src/PhysicsObject.cc --- a/src/PhysicsObject.cc Sun Dec 07 20:08:28 2008 +0000 +++ b/src/PhysicsObject.cc Sun Dec 07 20:25:57 2008 +0000 @@ -313,28 +313,32 @@ this->aim = aim; } -Vector PhysicsObject::getPosition () { - return this->position; +Vector PhysicsObject::getPosition (void) const { + return position; } - -Vector PhysicsObject::getVelocity () { - return this->velocity; + +PixelCoordinate PhysicsObject::getCoordinate (void) const { + return world.getPixelCoordinate(position); } -bool PhysicsObject::getFacing() { - return this->facingRight; +Vector PhysicsObject::getVelocity (void) const { + return velocity; } -float PhysicsObject::getAim() { - return this->aim; +bool PhysicsObject::getFacing (void) const { + return facingRight; } -Vector PhysicsObject::getDirection (void) { +float PhysicsObject::getAim (void) const { + return aim; +} + +Vector PhysicsObject::getDirection (void) const { return facingRight ? Vector(cos(aim), -sin(aim)) : Vector(-cos(aim), -sin(aim)); } -std::vector& PhysicsObject::getShape () { - return this->shape; +const std::vector& PhysicsObject::getShape () const { + return shape; } void PhysicsObject::setShape (std::vector shape) { diff -r eb4975026402 -r 549783d71e51 src/PhysicsObject.hh --- a/src/PhysicsObject.hh Sun Dec 07 20:08:28 2008 +0000 +++ b/src/PhysicsObject.hh Sun Dec 07 20:25:57 2008 +0000 @@ -162,28 +162,28 @@ * * @return Position vector */ - Vector getPosition (void); + Vector getPosition (void) const; /** * Get current object screen coordinates * * @return PixelCoordinate position */ - PixelCoordinate getCoordinate (void); + PixelCoordinate getCoordinate (void) const; /** * Get current object velocity. * * @return Velocity vector */ - Vector getVelocity(); + Vector getVelocity() const; /** * Return object shape. * * @return Polygon points */ - std::vector& getShape(); + const std::vector& getShape() const; /** * Set object shape. @@ -197,19 +197,19 @@ * * @return Object facing (true if facing right) */ - bool getFacing(); + bool getFacing() const; /** * Return object aim angle. * * @return Object aim angle */ - float getAim(); + float getAim() const; /** * Returns facing+aim as a unit vector */ - Vector getDirection (void); + Vector getDirection (void) const; /** * Mark object as destroyed, it will be delete'd later diff -r eb4975026402 -r 549783d71e51 src/Player.cc --- a/src/Player.cc Sun Dec 07 20:08:28 2008 +0000 +++ b/src/Player.cc Sun Dec 07 20:25:57 2008 +0000 @@ -215,11 +215,8 @@ // draw "crosshair", a half-line from our position to 10px away Vector crosshair = getDirection() * PLAYER_CROSSHAIR_LENGTH; - PixelCoordinate aim_start = state.world.getPixelCoordinate( - position + crosshair / 2) - camera; - - PixelCoordinate aim_end = state.world.getPixelCoordinate( - position + crosshair) - camera; + PixelCoordinate aim_start = getCoordinate() + world.getPixelCoordinate(crosshair / 2) - camera; + PixelCoordinate aim_end = getCoordinate() + world.getPixelCoordinate(crosshair) - camera; gc->draw_line(aim_start.x, aim_start.y, aim_end.x, aim_end.y, CL_Color::black); @@ -235,7 +232,7 @@ if (displayWeapon && getCurrentWeapon()) { const std::string weaponName = getCurrentWeapon()->getName(); - const PixelCoordinate pc = state.world.getPixelCoordinate(position) - camera; + PixelCoordinate pc = getCoordinate() - camera; // XXX: fix magic constants once we know how big the worm is g->getSimpleFont().draw( diff -r eb4975026402 -r 549783d71e51 src/Projectile.cc --- a/src/Projectile.cc Sun Dec 07 20:08:28 2008 +0000 +++ b/src/Projectile.cc Sun Dec 07 20:25:57 2008 +0000 @@ -46,7 +46,7 @@ CL_GraphicContext *gc = g->get_gc(); if (visible) { - PixelCoordinate pos = state.world.getPixelCoordinate(position) - camera; + PixelCoordinate pos = getCoordinate() - camera; CL_Quad projectile( pos.x + 1, pos.y + 1, diff -r eb4975026402 -r 549783d71e51 src/Rope.cc --- a/src/Rope.cc Sun Dec 07 20:08:28 2008 +0000 +++ b/src/Rope.cc Sun Dec 07 20:25:57 2008 +0000 @@ -124,13 +124,13 @@ if (state == ROPE_FOLDED) return; - PixelCoordinate player_pos = world.getPixelCoordinate(player.getPosition()) - camera; - PixelCoordinate self_pos = world.getPixelCoordinate(getPosition()) - camera; + PixelCoordinate player_pos = player.getCoordinate() - camera; + PixelCoordinate self_pos = getCoordinate() - camera; g->get_gc()->draw_line( - player_pos.x, player_pos.y, - self_pos.x, self_pos.y, - CL_Color::black + player_pos.x, player_pos.y, + self_pos.x, self_pos.y, + CL_Color::black ); }