// Verifies the Sample set while calling SetSampleAuditResults int Mame32VerifySampleSet(int game) { audit_record *audit; int audit_records; int res; // perform the audit audit_records = audit_samples(game, &audit); res = ProcessAuditResults(game, audit, audit_records); if (audit_records > 0) free(audit); SetSampleAuditResults(game, res); return res; }
// Verifies the Sample set while calling SetSampleAuditResults int MameUIVerifySampleSet(int game) { audit_record *audit; int audit_records; int res; // perform the audit audit_records = audit_samples(MameUIGlobal(), drivers[game], &audit); res = ProcessAuditResults(game, audit, audit_records); if (audit_records > 0) global_free(audit); SetSampleAuditResults(game, res); return res; }
/* Generic function for evaluating a sampleset. Some platforms may wish to call audit_samples() instead and implement their own reporting (like MacMAME). */ int audit_verify_samples (int game, verify_printf_proc verify_printf) { missing_sample *aud; int count; count = audit_samples (game, &aud); if (count==-1) return NOTFOUND; else if (count==0) return CORRECT; /* list missing samples */ while (count--) { verify_printf ("%-8s: %s NOT FOUND\n", drivers[game]->name, aud->name); aud++; } return INCORRECT; }
static int info_verifysamples(core_options *options, const char *gamename) { int correct = 0; int incorrect = 0; int notfound = FALSE; int drvindex; /* now iterate over drivers */ for (drvindex = 0; drivers[drvindex]; drvindex++) if (mame_strwildcmp(gamename, drivers[drvindex]->name) == 0) { audit_record *audit; int audit_records; int res; /* audit the samples in this set */ audit_records = audit_samples(options, drivers[drvindex], &audit); res = audit_summary(drivers[drvindex], audit_records, audit, TRUE); if (audit_records > 0) free(audit); else continue; /* if not found, print a message and set the flag */ if (res == NOTFOUND) { mame_printf_error("sampleset \"%s\" not found!\n", drivers[drvindex]->name); notfound = TRUE; } /* else display information about what we discovered */ else { mame_printf_info("sampleset %s ", drivers[drvindex]->name); /* switch off of the result */ switch (res) { case INCORRECT: mame_printf_info("is bad\n"); incorrect++; break; case CORRECT: mame_printf_info("is good\n"); correct++; break; case BEST_AVAILABLE: mame_printf_info("is best available\n"); correct++; break; } } } /* clear out any cached files */ zip_file_cache_clear(); /* if we didn't get anything at all because of an unsupported set, display message */ if (correct + incorrect == 0) { if (!notfound) mame_printf_error("sampleset \"%s\" not supported!\n", gamename); return MAMERR_NO_SUCH_GAME; } /* otherwise, print a summary */ else { mame_printf_info("%d samplesets found, %d were OK.\n", correct + incorrect, correct); return (incorrect > 0) ? MAMERR_MISSING_FILES : MAMERR_NONE; } }