diff --git a/regress/ckmame-missing-list-changed.vtest b/regress/ckmame-missing-list-changed.vtest index 65a0e9c7..1949e4f7 100644 --- a/regress/ckmame-missing-list-changed.vtest +++ b/regress/ckmame-missing-list-changed.vtest @@ -1,8 +1,11 @@ description write list of missing games to file, changed return 0 -arguments --missing-list missing-list --no-report-missing --report-changes +arguments -F --missing-list missing-list --no-report-missing --report-changes file mame.db mame.db file missing-list dummy missing-list.txt +file roms/zero.zip {} zero-ok.zip +file roms/zero-4.zip {} zero-ok.zip +file roms/.ckmame.db {} stdout missing: 1 -> 17 (+17/-1) end-of-inline-data diff --git a/src/Tree.cc b/src/Tree.cc index 65cd0c7c..452dff43 100644 --- a/src/Tree.cc +++ b/src/Tree.cc @@ -192,7 +192,7 @@ void Tree::process(GameArchives *archives) { ret = fix_game(game.get(), archives[0], &res); } - if (ret == 0 && (res.game == GS_CORRECT || res.game == GS_OLD || res.game == GS_FIXABLE)) { + if (ret == 0 && (res.game == GS_CORRECT || res.game == GS_CORRECT_MIA|| res.game == GS_OLD || res.game == GS_FIXABLE)) { ckmame_cache->complete_games.insert(game->name); } diff --git a/src/ckmame.cc b/src/ckmame.cc index a8a0b8dd..334519df 100644 --- a/src/ckmame.cc +++ b/src/ckmame.cc @@ -354,7 +354,7 @@ bool CkMame::execute(const std::vector &arguments) { write_lines(configuration.complete_list, new_complete); } } - if (!configuration.missing_list.empty()) { + if (!configuration.missing_list.empty() && configuration.fix_romset) { if (new_missing.empty()) { std::filesystem::remove(configuration.missing_list, ec); // TODO: throw all errors except ENOENT, if anyone can figure out how that's done in C++