Debug Messages because of the crash

origin
stpohle 23 years ago
parent 5839c3b3be
commit b6cb595011

@ -11,15 +11,16 @@ draw_bomb (_bomb * bomb)
{ {
SDL_Rect src, SDL_Rect src,
dest; dest;
int x=bomb->pos.x >> 8, int x = bomb->pos.x >> 8,
y= bomb->pos.y >> 8; y = bomb->pos.y >> 8;
if (x < 0 || y < 0 || x >= bman.fieldsize.x || y >= bman.fieldsize.y) { if (x < 0 || y < 0 || x >= bman.fieldsize.x || y >= bman.fieldsize.y) {
d_fatal ("Draw Bomb out of range [%d,%d]\n", x,y); d_fatal ("Draw Bomb out of range [%d,%d]\n", x, y);
return; return;
} }
if (bomb->state != BS_trigger || ((bomb->state == BS_trigger) && (bomb->to<BOMB_TIMEOUT*TIME_FACTOR))) { if (bomb->state != BS_trigger
|| ((bomb->state == BS_trigger) && (bomb->to < BOMB_TIMEOUT * TIME_FACTOR))) {
/* check the framenumber */ /* check the framenumber */
if (bomb->frameto-- == 0) { if (bomb->frameto-- == 0) {
bomb->frameto = ANI_BOMBTIMEOUT; bomb->frameto = ANI_BOMBTIMEOUT;
@ -33,8 +34,8 @@ draw_bomb (_bomb * bomb)
dest.w = src.w = gfx.bomb.image->w; dest.w = src.w = gfx.bomb.image->w;
dest.h = src.h = gfx.block.y; dest.h = src.h = gfx.block.y;
dest.x = gfx.offset.x + (x* gfx.block.x); dest.x = gfx.offset.x + (x * gfx.block.x);
dest.y = gfx.offset.y + (y* gfx.block.y); dest.y = gfx.offset.y + (y * gfx.block.y);
src.x = 0; src.x = 0;
src.y = src.h * bomb->frame; src.y = src.h * bomb->frame;
@ -71,26 +72,31 @@ bomb_explode (int p, int b, int net)
void void
bomb_move (_bomb *bomb) bomb_move (_bomb * bomb)
{ {
_point npos; _point npos;
if (bomb->pos.x==bomb->moveto.x) { if (bomb->pos.x == bomb->moveto.x) {
if (bomb->pos.y==bomb->moveto.y) { if (bomb->pos.y == bomb->moveto.y) {
bomb->moves=0;return;} bomb->moves = 0;
if (bomb->pos.y>bomb->moveto.y) { return;
npos.y=bomb->pos.y-bomb->moves; //move bomb up }
npos.x=bomb->pos.x; if (bomb->pos.y > bomb->moveto.y) {
} else { npos.y = bomb->pos.y - bomb->moves; //move bomb up
npos.y=bomb->pos.y+bomb->moves; // move bomb down npos.x = bomb->pos.x;
npos.x=bomb->pos.x; }
} else {
} else { npos.y = bomb->pos.y + bomb->moves; // move bomb down
if (bomb->pos.x>bomb->moveto.x) { npos.x = bomb->pos.x;
npos.x=bomb->pos.x-bomb->moves; //move bomb left }
npos.y=bomb->pos.y; }
} else { else {
npos.x=bomb->pos.x+bomb->moves; // move bomb right if (bomb->pos.x > bomb->moveto.x) {
npos.y=bomb->pos.y; npos.x = bomb->pos.x - bomb->moves; //move bomb left
npos.y = bomb->pos.y;
}
else {
npos.x = bomb->pos.x + bomb->moves; // move bomb right
npos.y = bomb->pos.y;
} }
} }
} }
@ -109,7 +115,7 @@ bomb_loop ()
if ((bman.players[p].state & PSFM_used) != 0) { if ((bman.players[p].state & PSFM_used) != 0) {
for (i = 0; i < MAX_BOMBS; i++) { for (i = 0; i < MAX_BOMBS; i++) {
bomb = &player->bombs[i]; bomb = &player->bombs[i];
switch (bomb->state){ switch (bomb->state) {
case BS_ticking: case BS_ticking:
case BS_trigger: case BS_trigger:
if (GT_MP_PTPM || bman.gametype == GT_single) { if (GT_MP_PTPM || bman.gametype == GT_single) {
@ -120,7 +126,7 @@ bomb_loop ()
} }
else { else {
if (--bomb->to == 0) { // bomb did not explode -> resend bombdata if (--bomb->to == 0) { // bomb did not explode -> resend bombdata
if (bomb->state==BS_ticking) if (bomb->state == BS_ticking)
bomb->to = BOMB_TIMEOUT * TIME_FACTOR; bomb->to = BOMB_TIMEOUT * TIME_FACTOR;
else else
bomb->to = SPECIAL_TRIGGER_TIMEOUT * TIME_FACTOR; bomb->to = SPECIAL_TRIGGER_TIMEOUT * TIME_FACTOR;
@ -163,8 +169,8 @@ get_bomb_on (int x, int y, _point bombs[])
if ((bman.players[p].state & PSFM_used) != 0) { if ((bman.players[p].state & PSFM_used) != 0) {
for (b = 0; b < MAX_BOMBS; b++) { for (b = 0; b < MAX_BOMBS; b++) {
bomb = &bman.players[p].bombs[b]; bomb = &bman.players[p].bombs[b];
if (bomb->state == BS_ticking || bomb->state==BS_trigger) { if (bomb->state == BS_ticking || bomb->state == BS_trigger) {
if (bomb->pos.x >>8 == x && bomb->pos.y>>8 == y) { if (bomb->pos.x >> 8 == x && bomb->pos.y >> 8 == y) {
bombs[i].x = p; bombs[i].x = p;
bombs[i].y = b; bombs[i].y = b;
i++; i++;
@ -278,7 +284,7 @@ restore_explosion (_bomb * bomb)
gfx.block.x * (bomb->firer[up] + bomb->firer[down] + 1)); gfx.block.x * (bomb->firer[up] + bomb->firer[down] + 1));
/* delete field from the bfield map */ /* delete field from the bfield map */
bman.bfield[bpos.x ][bpos.y] = 0; bman.bfield[bpos.x][bpos.y] = 0;
}; };
@ -328,7 +334,7 @@ explosion_check_field (int x, int y, int p, int b)
bman.field[x][y].frame = 1; bman.field[x][y].frame = 1;
draw_stone (x, y); draw_stone (x, y);
field_update(x, y); field_update (x, y);
} }
return bman.field[x][y].type; return bman.field[x][y].type;
@ -343,7 +349,8 @@ draw_explosion (_bomb * bomb)
r, r,
dx, dx,
dy; dy;
_point p, bpos; _point p,
bpos;
bpos.x = bomb->pos.x >> 8; bpos.x = bomb->pos.x >> 8;
bpos.y = bomb->pos.y >> 8; bpos.y = bomb->pos.y >> 8;

@ -1,4 +1,4 @@
/* $Id: field.c,v 1.31 2003/06/07 19:35:42 stpohle Exp $ */ /* $Id: field.c,v 1.32 2003/06/07 19:52:45 stpohle Exp $ */
/* field.c - procedures which are needed to control the field */ /* field.c - procedures which are needed to control the field */
#include <stdlib.h> #include <stdlib.h>
@ -24,8 +24,6 @@ draw_stone (int x, int y)
return; return;
} }
printf ("Draw Stone [%d,%d]\n", x,y);
src.w = dest.w = gfx.block.x; src.w = dest.w = gfx.block.x;
src.h = dest.h = gfx.block.y; src.h = dest.h = gfx.block.y;
@ -43,8 +41,6 @@ draw_stone (int x, int y)
srcbg.x = (x % gfx.field[FT_nothing].frames) * gfx.block.x; srcbg.x = (x % gfx.field[FT_nothing].frames) * gfx.block.x;
srcbg.y = (y % gfx.field[FT_nothing].frames) * gfx.block.y; srcbg.y = (y % gfx.field[FT_nothing].frames) * gfx.block.y;
printf (" Draw Background\n");
SDL_BlitSurface (gfx.field[FT_nothing].image, &srcbg, gfx.screen, &dest); SDL_BlitSurface (gfx.field[FT_nothing].image, &srcbg, gfx.screen, &dest);
} }
@ -91,27 +87,22 @@ draw_stone (int x, int y)
src.y = stone->frame * gfx.block.y; src.y = stone->frame * gfx.block.y;
} }
printf (" Draw Stone or Powerup Background Type=%d i=%d d=%d\n", stone->type, i, d);
if (srcimg != NULL) if (srcimg != NULL)
SDL_BlitSurface (srcimg, &src, gfx.screen, &dest); SDL_BlitSurface (srcimg, &src, gfx.screen, &dest);
if (i >= FT_death) { /* draw now the powerup itself */ if (i >= FT_death) { /* draw now the powerup itself */
printf (" Draw Stone the Powerup itself\n");
srcimg = gfx.field[i].image; srcimg = gfx.field[i].image;
src.y = 0; src.y = 0;
SDL_BlitSurface (srcimg, &src, gfx.screen, &dest); SDL_BlitSurface (srcimg, &src, gfx.screen, &dest);
} }
// draw explosions if there is any // draw explosions if there is any
printf (" Draw Explosion if there is any\n");
for (d = 0, i = 0; d < 4; d++) for (d = 0, i = 0; d < 4; d++)
if (stone->ex[d].count > 0) { if (stone->ex[d].count > 0) {
i = 1; // mark that there is already an explosion i = 1; // mark that there is already an explosion
draw_fire (x, y, d, -1); draw_fire (x, y, d, -1);
} }
printf (" function ok.\n");
return; return;
}; };

Loading…
Cancel
Save