projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-19990317-1-src
[rocksndiamonds.git]
/
src
/
game.c
diff --git
a/src/game.c
b/src/game.c
index 48482c90e6f63224a69ad8c888811f974a00aa82..d4860369384bee8c3a33cf2f685e70d89d1429c4 100644
(file)
--- a/
src/game.c
+++ b/
src/game.c
@@
-897,15
+897,16
@@
int NewHiScore()
#ifdef ONE_PER_NAME
put_into_list:
#endif
#ifdef ONE_PER_NAME
put_into_list:
#endif
- strncpy(highscore[k].Name, setup.player_name, MAX_
NAMELEN - 1
);
- highscore[k].Name[MAX_
NAMELEN - 1
] = '\0';
+ strncpy(highscore[k].Name, setup.player_name, MAX_
PLAYER_NAME_LEN
);
+ highscore[k].Name[MAX_
PLAYER_NAME_LEN
] = '\0';
highscore[k].Score = local_player->score;
position = k;
break;
}
#ifdef ONE_PER_NAME
highscore[k].Score = local_player->score;
position = k;
break;
}
#ifdef ONE_PER_NAME
- else if (!strncmp(setup.player_name, highscore[k].Name, MAX_NAMELEN - 1))
+ else if (!strncmp(setup.player_name, highscore[k].Name,
+ MAX_PLAYER_NAME_LEN))
break; /* player already there with a higher score */
#endif
break; /* player already there with a higher score */
#endif
@@
-1113,13
+1114,22
@@
void Explode(int ex, int ey, int phase, int mode)
if (IS_MOVING(ex, ey) || IS_BLOCKED(ex, ey))
{
if (IS_MOVING(ex, ey) || IS_BLOCKED(ex, ey))
{
+ /* put moving element to center field (and let it explode there) */
center_element = MovingOrBlocked2Element(ex, ey);
RemoveMovingField(ex, ey);
center_element = MovingOrBlocked2Element(ex, ey);
RemoveMovingField(ex, ey);
+ Feld[ex][ey] = center_element;
}
}
- for (y=ey-1; y<
ey+2; y++) for(x=ex-1; x<ex+2
; x++)
+ for (y=ey-1; y<
=ey+1; y++) for(x=ex-1; x<=ex+1
; x++)
{
{
- int element = Feld[x][y];
+ int element;
+
+ if (!IN_LEV_FIELD(x, y) ||
+ ((mode != EX_NORMAL || center_element == EL_AMOEBA2DIAM) &&
+ (x != ex || y != ey)))
+ continue;
+
+ element = Feld[x][y];
if (IS_MOVING(x, y) || IS_BLOCKED(x, y))
{
if (IS_MOVING(x, y) || IS_BLOCKED(x, y))
{
@@
-1127,11
+1137,7
@@
void Explode(int ex, int ey, int phase, int mode)
RemoveMovingField(x, y);
}
RemoveMovingField(x, y);
}
- if (!IN_LEV_FIELD(x, y) || IS_MASSIVE(element) || element == EL_BURNING)
- continue;
-
- if ((mode != EX_NORMAL || center_element == EL_AMOEBA2DIAM) &&
- (x != ex || y != ey))
+ if (IS_MASSIVE(element) || element == EL_BURNING)
continue;
if (element == EL_EXPLODING)
continue;
if (element == EL_EXPLODING)