projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-19990315-1-src
[rocksndiamonds.git]
/
src
/
game.c
diff --git
a/src/game.c
b/src/game.c
index 1fbb21a5cef1115e2672f62d0f3dd47f907f9da4..89ed530fcf9ba4d2cc551348dbe359bda6d7f121 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
@@
-1313,6
+1314,11
@@
void DynaExplode(int ex, int ey)
break;
element = Feld[x][y];
break;
element = Feld[x][y];
+
+ /* do not restart explosions of fields with active bombs */
+ if (element == EL_EXPLODING && IS_ACTIVE_BOMB(Store2[x][y]))
+ continue;
+
Explode(x, y, EX_PHASE_START, EX_BORDER);
if (element != EL_LEERRAUM &&
Explode(x, y, EX_PHASE_START, EX_BORDER);
if (element != EL_LEERRAUM &&
@@
-4579,6
+4585,8
@@
int DigField(struct PlayerInfo *player,
player->programmed_action = move_direction;
DOUBLE_PLAYER_SPEED(player);
player->programmed_action = move_direction;
DOUBLE_PLAYER_SPEED(player);
+ PlaySoundLevel(x, y, SND_GATE);
+
break;
case EL_EM_GATE_1X:
break;
case EL_EM_GATE_1X:
@@
-4594,6
+4602,8
@@
int DigField(struct PlayerInfo *player,
player->programmed_action = move_direction;
DOUBLE_PLAYER_SPEED(player);
player->programmed_action = move_direction;
DOUBLE_PLAYER_SPEED(player);
+ PlaySoundLevel(x, y, SND_GATE);
+
break;
case EL_SP_PORT1_LEFT:
break;
case EL_SP_PORT1_LEFT:
@@
-4635,6
+4645,8
@@
int DigField(struct PlayerInfo *player,
player->programmed_action = move_direction;
DOUBLE_PLAYER_SPEED(player);
player->programmed_action = move_direction;
DOUBLE_PLAYER_SPEED(player);
+ PlaySoundLevel(x, y, SND_GATE);
+
break;
case EL_AUSGANG_ZU:
break;
case EL_AUSGANG_ZU: