X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.c;h=d4860369384bee8c3a33cf2f685e70d89d1429c4;hb=bb33b871657d1af6beda881e33b536512815aa9b;hp=48482c90e6f63224a69ad8c888811f974a00aa82;hpb=0c27626bae90cb1eeea4939de0130a49b9aac507;p=rocksndiamonds.git diff --git a/src/game.c b/src/game.c index 48482c90..d4860369 100644 --- a/src/game.c +++ b/src/game.c @@ -897,15 +897,16 @@ int NewHiScore() #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 - 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 @@ -1113,13 +1114,22 @@ void Explode(int ex, int ey, int phase, int mode) 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); + Feld[ex][ey] = center_element; } - for (y=ey-1; y