[Super-tux-commit] supertux/src player.cpp,1.63,1.64 player.h,1.41,1.42 resources.cpp,1.25,1.26 setu
Brought to you by:
wkendrick
From: Ingo R. <gr...@us...> - 2004-04-25 19:11:02
|
Update of /cvsroot/super-tux/supertux/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31036/src Modified Files: player.cpp player.h resources.cpp setup.cpp Log Message: - rewrote tux drawing code, added firetux Index: player.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/player.cpp,v retrieving revision 1.63 retrieving revision 1.64 diff -u -d -r1.63 -r1.64 --- player.cpp 25 Apr 2004 16:17:18 -0000 1.63 +++ player.cpp 25 Apr 2004 16:46:55 -0000 1.64 @@ -36,17 +36,7 @@ PlayerSprite smalltux; PlayerSprite largetux; - -Surface* firetux_right[3]; -Surface* firetux_left[3]; -Surface* bigfiretux_right[3]; -Surface* bigfiretux_left[3]; -Surface* bigfiretux_right_jump; -Surface* bigfiretux_left_jump; -Surface* duckfiretux_right; -Surface* duckfiretux_left; -Surface* skidfiretux_right; -Surface* skidfiretux_left; +PlayerSprite firetux; PlayerKeymap keymap; @@ -506,158 +496,80 @@ } else { + PlayerSprite* sprite; + if (size == SMALL) + sprite = &smalltux; + else if (got_coffee) + sprite = &firetux; + else + sprite = &largetux; + + if (skidding_timer.started()) { - if (!skidding_timer.started()) - { - if (physic.get_velocity_y() != 0) - { - if (dir == RIGHT) - smalltux.jump_right->draw(base.x - scroll_x, base.y); - else - smalltux.jump_left->draw(base.x - scroll_x, base.y); - } - else - { - if (fabsf(physic.get_velocity_x()) < 1.0f) // standing - { - if (dir == RIGHT) - smalltux.stand_right->draw( base.x - scroll_x, base.y - 9); - else - smalltux.stand_left->draw( base.x - scroll_x, base.y - 9); - } - else // moving - { - if (dir == RIGHT) - smalltux.walk_right->draw(base.x - scroll_x, base.y); - else - smalltux.walk_left->draw(base.x - scroll_x, base.y); - } - } - } + if (dir == RIGHT) + sprite->skid_right->draw(base.x - scroll_x, base.y); else + sprite->skid_left->draw(base.x - scroll_x, base.y); + } + else + { + if (duck) { if (dir == RIGHT) - smalltux.skid_right->draw(base.x - scroll_x, base.y); - else - smalltux.skid_left->draw(base.x - scroll_x, base.y); - } - - if (holding_something && physic.get_velocity_y() == 0) + sprite->duck_right->draw(base.x - scroll_x, base.y); + else + sprite->duck_left->draw(base.x - scroll_x, base.y); + } + else if (physic.get_velocity_y() != 0) { if (dir == RIGHT) - smalltux.grab_right->draw(base.x - scroll_x, base.y); - else - smalltux.grab_left->draw(base.x - scroll_x, base.y); - } - - if (invincible_timer.started()) - smalltux_star->draw(base.x - scroll_x, base.y); - } - else // Large Tux - { - if (!got_coffee) - { - if (!duck) - { - if (!skidding_timer.started()) - { - if (physic.get_velocity_y() == 0) - { - if (fabsf(physic.get_velocity_x()) < 1.0f) // standing - { - if (dir == RIGHT) - largetux.stand_right->draw(base.x - scroll_x, base.y); - else - largetux.stand_left->draw(base.x - scroll_x, base.y); - } - else // walking - { - if (dir == RIGHT) - largetux.walk_right->draw(base.x - scroll_x, base.y); - else - largetux.walk_left->draw(base.x - scroll_x, base.y); - } - } - else - { - if (dir == RIGHT) - largetux.jump_right->draw(base.x - scroll_x, base.y); - else - largetux.jump_left->draw(base.x - scroll_x, base.y); - } - } - else - { - if (dir == RIGHT) - largetux.skid_right->draw(base.x - scroll_x - 8, base.y); - else - largetux.skid_left->draw(base.x - scroll_x - 8, base.y); - } - } + sprite->jump_right->draw(base.x - scroll_x, base.y); else - { - if (dir == RIGHT) - largetux.duck_right->draw(base.x - scroll_x, base.y); - else - largetux.duck_left->draw(base.x - scroll_x, base.y); - } + sprite->jump_left->draw(base.x - scroll_x, base.y); } else { - /* Tux has coffee! */ - if (!duck) + if (fabsf(physic.get_velocity_x()) < 1.0f) // standing { - if (!skidding_timer.started()) - { - if (!jumping || physic.get_velocity_y() > 0) - { - if (dir == RIGHT) - bigfiretux_right[frame_]->draw(base.x- scroll_x - 8, base.y); - else - bigfiretux_left[frame_]->draw(base.x- scroll_x - 8, base.y); - } - else - { - if (dir == RIGHT) - bigfiretux_right_jump->draw(base.x- scroll_x - 8, base.y); - else - bigfiretux_left_jump->draw(base.x- scroll_x - 8, base.y); - } - } + if (dir == RIGHT) + sprite->stand_right->draw( base.x - scroll_x, base.y); else - { - if (dir == RIGHT) - skidfiretux_right->draw(base.x- scroll_x - 8, base.y); - else - skidfiretux_left->draw(base.x- scroll_x - 8, base.y); - } + sprite->stand_left->draw( base.x - scroll_x, base.y); } - else + else // moving { if (dir == RIGHT) - duckfiretux_right->draw( base.x- scroll_x - 8, base.y - 16); + sprite->walk_right->draw(base.x - scroll_x, base.y); else - duckfiretux_left->draw( base.x- scroll_x - 8, base.y - 16); + sprite->walk_left->draw(base.x - scroll_x, base.y); } } + } + + // Draw arm overlay graphics when Tux is holding something + if (holding_something && physic.get_velocity_y() == 0) + { + if (dir == RIGHT) + sprite->grab_right->draw(base.x - scroll_x, base.y); + else + sprite->grab_left->draw(base.x - scroll_x, base.y); + } - if (holding_something && !duck && physic.get_velocity_y() == 0) - { - if (dir == RIGHT) - largetux.grab_right->draw(base.x - scroll_x, base.y); - else - largetux.grab_left->draw(base.x - scroll_x, base.y); - } - - if (invincible_timer.started()) + // Draw blinking star overlay + if (invincible_timer.started()) + { + if (size == SMALL || duck) + smalltux_star->draw(base.x - scroll_x, base.y); + else largetux_star->draw(base.x - scroll_x, base.y); } - } - } - + } + } + if (debug_mode) - fillrect(base.x - scroll_x, base.y, 32, 32, 75,75,75, 150); + fillrect(base.x - scroll_x, base.y, + base.width, base.height, 75,75,75, 150); } void Index: player.h =================================================================== RCS file: /cvsroot/super-tux/supertux/src/player.h,v retrieving revision 1.41 retrieving revision 1.42 diff -u -d -r1.41 -r1.42 --- player.h 25 Apr 2004 16:17:18 -0000 1.41 +++ player.h 25 Apr 2004 16:46:55 -0000 1.42 @@ -100,17 +100,7 @@ extern PlayerSprite smalltux; extern PlayerSprite largetux; - -extern Surface* firetux_right[3]; -extern Surface* firetux_left[3]; -extern Surface* bigfiretux_right[3]; -extern Surface* bigfiretux_left[3]; -extern Surface* bigfiretux_right_jump; -extern Surface* bigfiretux_left_jump; -extern Surface* duckfiretux_right; -extern Surface* duckfiretux_left; -extern Surface* skidfiretux_right; -extern Surface* skidfiretux_left; +extern PlayerSprite firetux; class Player { Index: setup.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/setup.cpp,v retrieving revision 1.56 retrieving revision 1.57 diff -u -d -r1.56 -r1.57 --- setup.cpp 25 Apr 2004 14:27:49 -0000 1.56 +++ setup.cpp 25 Apr 2004 16:46:55 -0000 1.57 @@ -496,10 +496,8 @@ if (access(slotfile, F_OK) != 0) { - std::cout << "Draw intro" << std::endl; draw_intro(); } - std::cout << "XXXDraw intro" << std::endl; WorldMapNS::WorldMap worldmap; Index: resources.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/resources.cpp,v retrieving revision 1.25 retrieving revision 1.26 diff -u -d -r1.25 -r1.26 --- resources.cpp 25 Apr 2004 16:17:18 -0000 1.25 +++ resources.cpp 25 Apr 2004 16:46:55 -0000 1.26 @@ -83,56 +83,22 @@ largetux.duck_left = sprite_manager->load("largetux-duck-left"); largetux.duck_right = sprite_manager->load("largetux-duck-right"); - duckfiretux_right = new Surface(datadir + - "/images/shared/duckfiretux-right.png", - USE_ALPHA); - - duckfiretux_left = new Surface(datadir + - "/images/shared/duckfiretux-left.png", - USE_ALPHA); - - firetux_right[0] = new Surface(datadir + "/images/shared/firetux-right-0.png", USE_ALPHA); - firetux_right[1] = new Surface(datadir + "/images/shared/firetux-right-1.png", USE_ALPHA); - firetux_right[2] = new Surface(datadir + "/images/shared/firetux-right-2.png", USE_ALPHA); - - firetux_left[0] = new Surface(datadir + "/images/shared/firetux-left-0.png", USE_ALPHA); - firetux_left[1] = new Surface(datadir + "/images/shared/firetux-left-1.png", USE_ALPHA); - firetux_left[2] = new Surface(datadir + "/images/shared/firetux-left-2.png", USE_ALPHA); - - bigfiretux_right[0] = new Surface(datadir + "/images/shared/bigfiretux-right-0.png", - USE_ALPHA); - - bigfiretux_right[1] = new Surface(datadir + "/images/shared/bigfiretux-right-1.png", - USE_ALPHA); - - bigfiretux_right[2] = new Surface(datadir + "/images/shared/bigfiretux-right-2.png", - USE_ALPHA); - - bigfiretux_right_jump = new Surface(datadir + "/images/shared/bigfiretux-right-jump.png", USE_ALPHA); - - bigfiretux_left[0] = new Surface(datadir + "/images/shared/bigfiretux-left-0.png", - USE_ALPHA); - - bigfiretux_left[1] = new Surface(datadir + "/images/shared/bigfiretux-left-1.png", - USE_ALPHA); - - bigfiretux_left[2] = new Surface(datadir + "/images/shared/bigfiretux-left-2.png", - USE_ALPHA); - - bigfiretux_left_jump = new Surface(datadir + "/images/shared/bigfiretux-left-jump.png", USE_ALPHA); - - skidfiretux_right = new Surface(datadir + - "/images/shared/skidfiretux-right.png", - USE_ALPHA); - - skidfiretux_left = new Surface(datadir + - "/images/shared/skidfiretux-left.png", - USE_ALPHA); - + firetux.stand_left = sprite_manager->load("firetux-stand-left"); + firetux.stand_right = sprite_manager->load("firetux-stand-right"); + firetux.walk_left = sprite_manager->load("firetux-walk-left"); + firetux.walk_right = sprite_manager->load("firetux-walk-right"); + firetux.jump_left = sprite_manager->load("firetux-jump-left"); + firetux.jump_right = sprite_manager->load("firetux-jump-right"); + firetux.kick_left = sprite_manager->load("firetux-kick-left"); + firetux.kick_right = sprite_manager->load("firetux-kick-right"); + firetux.skid_right = sprite_manager->load("firetux-skid-right"); + firetux.skid_left = sprite_manager->load("firetux-skid-left"); + firetux.grab_left = sprite_manager->load("firetux-grab-left"); + firetux.grab_right = sprite_manager->load("firetux-grab-right"); + firetux.duck_left = sprite_manager->load("firetux-duck-left"); + firetux.duck_right = sprite_manager->load("firetux-duck-right"); /* Water: */ - - img_water = new Surface(datadir + "/images/shared/water.png", IGNORE_ALPHA); img_waves[0] = new Surface(datadir + "/images/shared/waves-0.png", |