diff --git a/achievement.cpp b/achievement.cpp index 3b1c916a..de30b28d 100644 --- a/achievement.cpp +++ b/achievement.cpp @@ -137,6 +137,7 @@ EX bool wrongMode(char flags) { if(land_structure != dls) return true; if(numplayers() > 1 && !multi::friendly_fire) return true; if(numplayers() > 1 && multi::pvp_mode) return true; + if(numplayers() > 1 && multi::split_screen) return true; if((numplayers() > 1) != (flags == rg::multi)) return true; return false; } @@ -781,7 +782,8 @@ EX void achievement_final(bool really_final) { if(NONSTDVAR) return; if(numplayers() > 1 && !multi::friendly_fire) return; - if(numplayers() > 1 && multi::pvp) return; + if(numplayers() > 1 && multi::pvp_mode) return; + if(numplayers() > 1 && multi::split_screen) return true; // determine the correct leaderboard ID for 'total score' // or return if no leaderboard for the current mode diff --git a/multi.cpp b/multi.cpp index 3e8b0418..1d0f8035 100644 --- a/multi.cpp +++ b/multi.cpp @@ -537,6 +537,8 @@ EX void showConfigureMultiplayer() { dialog::addInfo(XLAT("PvP grants infinite lives -- achievements disabled")); else if(friendly_fire) dialog::addInfo(XLAT("friendly fire off -- achievements disabled")); + else if(split_screen) + dialog::addInfo(XLAT("achievements disabled in split screen")); else dialog::addBreak(100); }