From ae7e8f04e6a19855f6f89233bbd36bf0855ccc03 Mon Sep 17 00:00:00 2001 From: Ingo Ruhnke Date: Fri, 9 Apr 2004 02:20:51 +0000 Subject: [PATCH] - added new smalltux SVN-Revision: 438 --- data/images/shared/smalltux-jump-left.png | Bin 0 -> 3729 bytes data/images/shared/smalltux-jump-right.png | Bin 0 -> 3667 bytes src/gameloop.cpp | 32 ++++++++++++++++++++++------ src/menu.cpp | 3 ++- src/player.cpp | 33 ++++++++++++++++++++++++----- src/player.h | 10 +++++++-- 6 files changed, 63 insertions(+), 15 deletions(-) create mode 100644 data/images/shared/smalltux-jump-left.png create mode 100644 data/images/shared/smalltux-jump-right.png diff --git a/data/images/shared/smalltux-jump-left.png b/data/images/shared/smalltux-jump-left.png new file mode 100644 index 0000000000000000000000000000000000000000..209ea173d925b1dee665503f8d6e7e6e46606c53 GIT binary patch literal 3729 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 literal 0 HcmV?d00001 diff --git a/data/images/shared/smalltux-jump-right.png b/data/images/shared/smalltux-jump-right.png new file mode 100644 index 0000000000000000000000000000000000000000..3ff316e0525a89ae87137669db67d7e7c7f45108 GIT binary patch literal 3667 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 literal 0 HcmV?d00001 diff --git a/src/gameloop.cpp b/src/gameloop.cpp index 6718c1348..b4b4c8170 100644 --- a/src/gameloop.cpp +++ b/src/gameloop.cpp @@ -822,13 +822,31 @@ void loadshared(void) int i; /* Tuxes: */ - texture_load(&tux_right[0], datadir + "/images/shared/tux-right-0.png", USE_ALPHA); - texture_load(&tux_right[1], datadir + "/images/shared/tux-right-1.png", USE_ALPHA); - texture_load(&tux_right[2], datadir + "/images/shared/tux-right-2.png", USE_ALPHA); - - texture_load(&tux_left[0], datadir + "/images/shared/tux-left-0.png", USE_ALPHA); - texture_load(&tux_left[1], datadir + "/images/shared/tux-left-1.png", USE_ALPHA); - texture_load(&tux_left[2], datadir + "/images/shared/tux-left-2.png", USE_ALPHA); + texture_load(&smalltux_stand_left, datadir + "/images/shared/smalltux-left-6.png", USE_ALPHA); + texture_load(&smalltux_stand_right, datadir + "/images/shared/smalltux-right-6.png", USE_ALPHA); + + texture_load(&smalltux_jump_left, datadir + "/images/shared/smalltux-jump-left.png", USE_ALPHA); + texture_load(&smalltux_jump_right, datadir + "/images/shared/smalltux-jump-right.png", USE_ALPHA); + + tux_right.resize(8); + texture_load(&tux_right[0], datadir + "/images/shared/smalltux-right-1.png", USE_ALPHA); + texture_load(&tux_right[1], datadir + "/images/shared/smalltux-right-2.png", USE_ALPHA); + texture_load(&tux_right[2], datadir + "/images/shared/smalltux-right-3.png", USE_ALPHA); + texture_load(&tux_right[3], datadir + "/images/shared/smalltux-right-4.png", USE_ALPHA); + texture_load(&tux_right[4], datadir + "/images/shared/smalltux-right-5.png", USE_ALPHA); + texture_load(&tux_right[5], datadir + "/images/shared/smalltux-right-6.png", USE_ALPHA); + texture_load(&tux_right[6], datadir + "/images/shared/smalltux-right-7.png", USE_ALPHA); + texture_load(&tux_right[7], datadir + "/images/shared/smalltux-right-8.png", USE_ALPHA); + + tux_left.resize(8); + texture_load(&tux_left[0], datadir + "/images/shared/smalltux-left-1.png", USE_ALPHA); + texture_load(&tux_left[1], datadir + "/images/shared/smalltux-left-2.png", USE_ALPHA); + texture_load(&tux_left[2], datadir + "/images/shared/smalltux-left-3.png", USE_ALPHA); + texture_load(&tux_left[3], datadir + "/images/shared/smalltux-left-4.png", USE_ALPHA); + texture_load(&tux_left[4], datadir + "/images/shared/smalltux-left-5.png", USE_ALPHA); + texture_load(&tux_left[5], datadir + "/images/shared/smalltux-left-6.png", USE_ALPHA); + texture_load(&tux_left[6], datadir + "/images/shared/smalltux-left-7.png", USE_ALPHA); + texture_load(&tux_left[7], datadir + "/images/shared/smalltux-left-8.png", USE_ALPHA); texture_load(&firetux_right[0], datadir + "/images/shared/firetux-right-0.png", USE_ALPHA); texture_load(&firetux_right[1], datadir + "/images/shared/firetux-right-1.png", USE_ALPHA); diff --git a/src/menu.cpp b/src/menu.cpp index 35f602d2c..893962d94 100644 --- a/src/menu.cpp +++ b/src/menu.cpp @@ -31,7 +31,7 @@ #include "high_scores.h" /* (global) menu variables */ -MenuAction menuaction; +MenuAction menuaction = MENU_ACTION_NONE; bool show_menu; bool menu_change; texture_type checkbox, checkbox_checked, back, arrow_left, arrow_right; @@ -192,6 +192,7 @@ Menu::action() item[active_item].list->active_item = item[active_item].list->num_items-1; } break; + case MENU_ACTION_RIGHT: if(item[active_item].kind == MN_STRINGSELECT && item[active_item].list->num_items != 0) diff --git a/src/player.cpp b/src/player.cpp index f23dc6be8..6052cc4c9 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -20,8 +20,13 @@ #include "screen.h" texture_type tux_life; -texture_type tux_right[3]; -texture_type tux_left[3]; +std::vector tux_right; +std::vector tux_left; +texture_type smalltux_jump_left; +texture_type smalltux_jump_right; +texture_type smalltux_stand_left; +texture_type smalltux_stand_right; + texture_type bigtux_right[3]; texture_type bigtux_left[3]; texture_type bigtux_right_jump; @@ -597,13 +602,31 @@ Player::draw() if (!got_coffee) { - if (dir == RIGHT) + if (physic.get_velocity_y() > 0) { - texture_draw(&tux_right[frame_], base.x- scroll_x, base.y); + if (dir == RIGHT) + texture_draw(&smalltux_jump_right, base.x - scroll_x, base.y - 10); + else + texture_draw(&smalltux_jump_left, base.x - scroll_x, base.y - 10); } else { - texture_draw(&tux_left[frame_], base.x- scroll_x, base.y); + if (fabsf(physic.get_velocity_x()) < 1.0f) // standing + { + if (dir == RIGHT) + texture_draw(&smalltux_stand_right, base.x - scroll_x, base.y - 9); + else + texture_draw(&smalltux_stand_left, base.x - scroll_x, base.y - 9); + } + else // moving + { + if (dir == RIGHT) + texture_draw(&tux_right[(global_frame_counter/2) % tux_right.size()], + base.x - scroll_x, base.y - 9); + else + texture_draw(&tux_left[(global_frame_counter/2) % tux_left.size()], + base.x - scroll_x, base.y - 9); + } } } else diff --git a/src/player.h b/src/player.h index 7f481b9d7..89f9a92e6 100644 --- a/src/player.h +++ b/src/player.h @@ -37,6 +37,8 @@ #define SCORE_BRICK 5 #define SCORE_DISTRO 25 +#include + struct player_keymap_type { int jump; @@ -59,8 +61,12 @@ struct player_input_type void player_input_init(player_input_type* pplayer_input); extern texture_type tux_life; -extern texture_type tux_right[3]; -extern texture_type tux_left[3]; +extern std::vector tux_right; +extern std::vector tux_left; +extern texture_type smalltux_jump_left; +extern texture_type smalltux_jump_right; +extern texture_type smalltux_stand_left; +extern texture_type smalltux_stand_right; extern texture_type bigtux_right[3]; extern texture_type bigtux_left[3]; extern texture_type bigtux_right_jump; -- 2.11.0