X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fobject%2Fplayer.cpp;h=b332caee9cc440ac279553a43ec5c54ddf9c7df0;hb=9ba388a672ff024010e38b09e576edf8730bb454;hp=31cac1807761a38c46529425b3a36ed1e13b6e0a;hpb=3e86b3d0c8c9ed1137e8716fcecbcd0ca67bea7b;p=supertux.git diff --git a/src/object/player.cpp b/src/object/player.cpp index 31cac1807..b332caee9 100644 --- a/src/object/player.cpp +++ b/src/object/player.cpp @@ -51,6 +51,8 @@ #include "object/sprite_particle.hpp" #include "trigger/climbable.hpp" +//#define DO_SWIMMING + static const int TILES_FOR_BUTTJUMP = 3; static const float SHOOTING_TIME = .150f; /// time before idle animation starts @@ -112,16 +114,16 @@ TuxBodyParts::set_action(std::string action, int loops) } void -TuxBodyParts::draw(DrawingContext& context, const Vector& pos, int layer) +TuxBodyParts::draw(DrawingContext& context, const Vector& pos, int layer, Portable* grabbed_object) { if(head != NULL) - head->draw(context, pos, layer-1); + head->draw(context, pos, layer-2); if(body != NULL) - body->draw(context, pos, layer-3); + body->draw(context, pos, layer-4); if(arms != NULL) - arms->draw(context, pos, layer+10); + arms->draw(context, pos, layer-1 + (grabbed_object?10:0)); if(feet != NULL) - feet->draw(context, pos, layer-2); + feet->draw(context, pos, layer-3); } Player::Player(PlayerStatus* _player_status, const std::string& name) @@ -601,11 +603,13 @@ Player::handle_vertical_input() // swimming physic.set_acceleration_y(0); +#ifdef SWIMMING if (swimming) { if (controller->hold(Controller::UP) || controller->hold(Controller::JUMP)) physic.set_acceleration_y(-2000); physic.set_velocity_y(physic.get_velocity_y() * 0.94); } +#endif } void @@ -1022,7 +1026,7 @@ Player::draw(DrawingContext& context) else if (safe_timer.started() && size_t(game_time*40)%2) ; // don't draw Tux else - tux_body->draw(context, get_pos(), layer); + tux_body->draw(context, get_pos(), layer, grabbed_object); } @@ -1032,6 +1036,7 @@ Player::collision_tile(uint32_t tile_attributes) if(tile_attributes & Tile::HURTS) kill(false); +#ifdef SWIMMING if( swimming ){ if( tile_attributes & Tile::WATER ){ no_water = false; @@ -1045,6 +1050,7 @@ Player::collision_tile(uint32_t tile_attributes) sound_manager->play( "sounds/splash.ogg" ); } } +#endif } void