X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.c;h=13ae62bb51347d394f92fcb9647febd254b49ce9;hb=6ea6dac4068909e5adc06102dd215539c64afef8;hp=c19a74da3a3a696727ecf48a25697668f828edc1;hpb=ef86a9fafe44eeffdda3a301ca4a2f586602f481;p=rocksndiamonds.git diff --git a/src/game.c b/src/game.c index c19a74da..13ae62bb 100644 --- a/src/game.c +++ b/src/game.c @@ -289,10 +289,26 @@ void InitGame() /* when in single player mode, eliminate all but the first active player */ if (!options.network && !setup.team_mode) + { for(i=0; ijx, jy = player->jy; + + if (player->active) + { + player->active = FALSE; + StorePlayer[jx][jy] = 0; + Feld[jx][jy] = EL_LEERRAUM; + } + } + } + } + } for(i=0; i= 0) @@ -556,7 +572,7 @@ boolean NewHiScore() LoadScore(level_nr); - if (!strcmp(setup.alias_name,EMPTY_ALIAS) || + if (!strcmp(setup.player_name, EMPTY_ALIAS) || local_player->score < highscore[MAX_SCORE_ENTRIES-1].Score) return(-1); @@ -572,7 +588,7 @@ boolean NewHiScore() #ifdef ONE_PER_NAME for(l=k;lscore; position = k; break; } #ifdef ONE_PER_NAME - else if (!strcmp(setup.alias_name,highscore[k].Name)) + else if (!strncmp(setup.player_name, highscore[k].Name, MAX_NAMELEN - 1)) break; /* Spieler schon mit besserer Punktzahl in der Liste */ #endif @@ -2921,7 +2938,7 @@ void GameActions() int sieb_x = 0, sieb_y = 0; int i, x,y, element; byte *recorded_player_action; - byte summarized_player_action; + byte summarized_player_action = 0; if (game_status != PLAYING) return; @@ -3357,8 +3374,8 @@ boolean MoveFigure(struct PlayerInfo *player, int dx, int dy) scroll_x = jx-MIDPOSX + (scroll_x < jx-MIDPOSX ? -offset : +offset); /* don't scroll over playfield boundaries */ - if (scroll_x < -1 || scroll_x > lev_fieldx - SCR_FIELDX + 2) - scroll_x = (scroll_x < -1 ? -1 : lev_fieldx - SCR_FIELDX + 2); + if (scroll_x < -1 || scroll_x > lev_fieldx - SCR_FIELDX + 1) + scroll_x = (scroll_x < -1 ? -1 : lev_fieldx - SCR_FIELDX + 1); /* don't scroll more than one field at a time */ scroll_x = old_scroll_x + SIGN(scroll_x - old_scroll_x); @@ -3375,8 +3392,8 @@ boolean MoveFigure(struct PlayerInfo *player, int dx, int dy) scroll_y = jy-MIDPOSY + (scroll_y < jy-MIDPOSY ? -offset : +offset); /* don't scroll over playfield boundaries */ - if (scroll_y < -1 || scroll_y > lev_fieldy - SCR_FIELDY + 2) - scroll_y = (scroll_y < -1 ? -1 : lev_fieldy - SCR_FIELDY + 2); + if (scroll_y < -1 || scroll_y > lev_fieldy - SCR_FIELDY + 1) + scroll_y = (scroll_y < -1 ? -1 : lev_fieldy - SCR_FIELDY + 1); /* don't scroll more than one field at a time */ scroll_y = old_scroll_y + SIGN(scroll_y - old_scroll_y);