X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame.c;h=d4cc5ea8e0c5572bb737e62cb9202bdad128b344;hb=ef596d6fab46df4658603046b589b3e21bda9bca;hp=abc56d238a167278eb7769778ba0edc4e5269c40;hpb=7b65f3fc5f03b81a39d84dc4b5dce661a32640b3;p=rocksndiamonds.git diff --git a/src/game.c b/src/game.c index abc56d23..d4cc5ea8 100644 --- a/src/game.c +++ b/src/game.c @@ -5134,19 +5134,37 @@ void NewHighScore(int level_nr, boolean tape_saved) scores.last_added = addScoreEntry(&scores, &new_entry, one_per_name); - if (scores.last_added >= 0) - { - SaveScore(level_nr); + if (scores.last_added < 0) + return; - // store last added local score entry (before merging server scores) - scores.last_added_local = scores.last_added; - } + SaveScore(level_nr); - if (game.LevelSolved_SaveTape) + // store last added local score entry (before merging server scores) + scores.last_added_local = scores.last_added; + + if (!game.LevelSolved_SaveTape) + return; + + SaveScoreTape(level_nr); + + if (setup.ask_for_using_api_server) { - SaveScoreTape(level_nr); - SaveServerScore(level_nr, tape_saved); + setup.use_api_server = + Request("Upload your score and tape to the high score server?", REQ_ASK); + + if (!setup.use_api_server) + Request("Not using high score server! Use setup menu to enable again!", + REQ_CONFIRM); + + runtime.use_api_server = setup.use_api_server; + + // after asking for using API server once, do not ask again + setup.ask_for_using_api_server = FALSE; + + SaveSetup_ServerSetup(); } + + SaveServerScore(level_nr, tape_saved); } void MergeServerScore(void)