diff --git a/ChangeLog b/ChangeLog index ba9d266..c5d81fd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,13 @@ Version 0.9.9 ============= + +fix2 +- fixed: player_findfreebomb + - trigger bomb + bomblaying illness have + let explode always a bomb at your place. + - sometimes you can drop more bombs as + allowed if you have to row-special + 2003-06-21: fix1 - fixed: bombs can only dropped on an empty field. Bug came with version 0.9.9 diff --git a/TODO b/TODO index 283cbf5..06126c5 100644 --- a/TODO +++ b/TODO @@ -1,11 +1,26 @@ +this version (fix2): +==================== -- network selection menu, there have to be an - other menu für chaning the map settings +- pushing bombs and wrong directin illness + + +always changes: +=============== - animated fire +- more players +- we need some more sound for picking up items. +- find better way for menus -- better gfx, more players, a better fire. -- we need some sound +next version: +============= -- find better way for menus.. +- gfx, source cleanup. player will now drawn in order they stay + tileset will change we can support 64x64pixel size and 64x92pixel size tilesets + no sdl_blit* calls from game_loop for the game gfx.. working on a new engine with + sorting the tiles and update rects. + +- keyboard/keybinput cleanup so all keyboard inputs will be read from there. + hopefully we will get so out of this menu problem that sometimes keys are ignored. + \ No newline at end of file diff --git a/src/game.c b/src/game.c index e3d6e91..5f65b41 100644 --- a/src/game.c +++ b/src/game.c @@ -181,6 +181,7 @@ game_loop () } else key_bomb = 0; + if ((keys[SDLK_LSHIFT] || keys[SDLK_RSHIFT]) && bman.players[bman.p_nr].special.type) { special_use (bman.p_nr); } @@ -198,7 +199,6 @@ game_loop () } chat_loop (&event); - restore_players_screen (); dead_playerani (); player_ilness_loop (bman.p_nr); diff --git a/src/main.c b/src/main.c index f8ae9f1..12df088 100644 --- a/src/main.c +++ b/src/main.c @@ -1,3 +1,4 @@ +/* $Id: main.c,v 1.15 2003/07/08 21:16:04 stpohle Exp $ */ #include "bomberclone.h" #include "network.h" @@ -6,6 +7,7 @@ #include "../config.h" #endif + _bomberclone bman; // Holds GameData Uint32 timestamp; // timestamp diff --git a/src/player.c b/src/player.c index 7eac348..834272f 100644 --- a/src/player.c +++ b/src/player.c @@ -759,22 +759,31 @@ player_set_gfx (_player * p, signed char gfx_nr) /* find a free bomb */ int player_findfreebomb (_player *player) { - int i, bombused = 0, res = -1; + int i, bombused = 0, res = -1, nr; /* check every free bomb from next entry of the last exploded bomb to the last exploded bomb */ + if (player->bomb_lastex < 0 || player->bomb_lastex >= MAX_BOMBS) + player->bomb_lastex = 0; - for (i = player->bomb_lastex + 1; (bombused < player->bombs_n && i != player->bomb_lastex && res == -1); i++) { - if (i < 0 || i >= MAX_BOMBS) // i out of range .. restart at bomb 0 - i = 0; - if (player->bombs[i].state == BS_off) - res = i; + for (i = 0; i < MAX_BOMBS; i++) { + nr = player->bomb_lastex + 1 + i; + if (nr < 0 || nr >= MAX_BOMBS) // i out of range .. restart at bomb 0 + nr -= MAX_BOMBS; + + if (player->bombs[i].state == BS_off) { /* check if this bomb is free */ + if (res == -1) + res = i; + } else bombused++; // count number of used bombs } if (res == -1 && i == player->bomb_lastex && player->bombs[i].state == BS_off) res = i; + + if (bombused >= player->bombs_n) + res = -1; /* all max number of bombs lay */ return res; }; diff --git a/src/single.c b/src/single.c index 5e87976..355242f 100644 --- a/src/single.c +++ b/src/single.c @@ -1,4 +1,4 @@ -/* $Id: single.c,v 1.32 2003/06/12 20:52:45 stpohle Exp $ */ +/* $Id: single.c,v 1.33 2003/07/08 21:16:04 stpohle Exp $ */ /* single player */ #include "basic.h" @@ -56,7 +56,7 @@ single_game_new () } bman.players[bman.p_nr].state = PSFM_alife; - player_set_gfx (&bman.players[bman.p_nr], 5); + player_set_gfx (&bman.players[bman.p_nr], 6); bman.last_ex_nr = 1; init_map_tileset (); diff --git a/tools/convert-player.sh b/tools/convert-player.sh index cc9a0ef..c46c242 100755 --- a/tools/convert-player.sh +++ b/tools/convert-player.sh @@ -1,15 +1,15 @@ # CROP Files -RES=214x295 -POS=+211+65 +RES=214x305 +POS=+211+89 -SRES=93x128 +SRES=90x128 SPOS=+0+0 -ARES=93x2560 +ARES=90x2560 APOS=+0+0 -FRES=372x2560 +FRES=360x2560 FPOS=+0+0 rm -rf crop*