summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author smf- <smf-@users.noreply.github.com>2009-04-13 15:17:00 +0000
committer smf- <smf-@users.noreply.github.com>2009-04-13 15:17:00 +0000
commit545285d8fa97951f084723e7573c2515efd8d6a5 (patch)
treec03e7fcb345041de36bc5bdf7758d075ceeba8c8 /src
parent0e88d1dc260a541797de4d43d7dd9e7e7132e350 (diff)
ignores optional and no dump roms when checking whether all roms exist in the parent.
Diffstat (limited to 'src')
-rw-r--r--src/emu/audit.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/emu/audit.c b/src/emu/audit.c
index 52b7619fa68..dc7b8343887 100644
--- a/src/emu/audit.c
+++ b/src/emu/audit.c
@@ -74,8 +74,13 @@ int audit_images(core_options *options, const game_driver *gamedrv, UINT32 valid
for (rom = rom_first_file(region); rom != NULL; rom = rom_next_file(rom))
if (ROMREGION_ISROMDATA(region) || ROMREGION_ISDISKDATA(region))
{
- if (source_is_gamedrv && allshared && !rom_used_by_parent(gamedrv, rom, NULL))
- allshared = FALSE;
+ if (source_is_gamedrv && !ROM_ISOPTIONAL(rom) && !ROM_NOGOODDUMP(rom))
+ {
+ anyrequired = TRUE;
+
+ if (allshared && !rom_used_by_parent(gamedrv, rom, NULL))
+ allshared = FALSE;
+ }
records++;
}
}
@@ -96,8 +101,6 @@ int audit_images(core_options *options, const game_driver *gamedrv, UINT32 valid
const char *regiontag = ROMREGION_ISLOADBYNAME(region) ? ROM_GETNAME(region) : NULL;
for (rom = rom_first_file(region); rom; rom = rom_next_file(rom))
{
- int shared = rom_used_by_parent(gamedrv, rom, NULL);
-
/* audit a file */
if (ROMREGION_ISROMDATA(region))
{
@@ -109,19 +112,14 @@ int audit_images(core_options *options, const game_driver *gamedrv, UINT32 valid
{
audit_one_disk(options, rom, gamedrv, validation, record);
}
-
+
else
{
continue;
}
- if (record->status != AUDIT_STATUS_NOT_FOUND)
- {
- if (source_is_gamedrv && (!shared || allshared))
- anyfound = TRUE;
- }
- else if (record->substatus != SUBSTATUS_NOT_FOUND_NODUMP && record->substatus != SUBSTATUS_NOT_FOUND_OPTIONAL)
- anyrequired = TRUE;
+ if (source_is_gamedrv && record->status != AUDIT_STATUS_NOT_FOUND && (allshared || !rom_used_by_parent(gamedrv, rom, NULL)))
+ anyfound = TRUE;
record++;
}