/* Callback for the Audit property sheet */ INT_PTR CALLBACK GameAuditDialogProc(HWND hDlg,UINT Msg,WPARAM wParam,LPARAM lParam) { switch (Msg) { case WM_INITDIALOG: FlushFileCaches(); hAudit = hDlg; Static_SetText(GetDlgItem(hDlg, IDC_PROP_TITLE), GameInfoTitle(rom_index)); SetTimer(hDlg, 0, 1, NULL); return 1; case WM_TIMER: KillTimer(hDlg, 0); { int iStatus; LPCSTR lpStatus; iStatus = Mame32VerifyRomSet(rom_index); lpStatus = DriverUsesRoms(rom_index) ? StatusString(iStatus) : "None required"; SetWindowText(GetDlgItem(hDlg, IDC_PROP_ROMS), lpStatus); iStatus = Mame32VerifySampleSet(rom_index); lpStatus = DriverUsesSamples(rom_index) ? StatusString(iStatus) : "None required"; SetWindowText(GetDlgItem(hDlg, IDC_PROP_SAMPLES), lpStatus); } ShowWindow(hDlg, SW_SHOW); break; } return 0; }
static void ProcessNextRom() { int retval; char buffer[200]; retval = Mame32VerifyRomSet(rom_index); switch (retval) { case BEST_AVAILABLE: /* correct, incorrect or separate count? */ case CORRECT: case MISSING_OPTIONAL: roms_correct++; sprintf(buffer, "%i", roms_correct); SendDlgItemMessage(hAudit, IDC_ROMS_CORRECT, WM_SETTEXT, 0, (LPARAM)buffer); sprintf(buffer, "%i", roms_correct + roms_incorrect); SendDlgItemMessage(hAudit, IDC_ROMS_TOTAL, WM_SETTEXT, 0, (LPARAM)buffer); break; case NOTFOUND: break; case INCORRECT: roms_incorrect++; sprintf(buffer, "%i", roms_incorrect); SendDlgItemMessage(hAudit, IDC_ROMS_INCORRECT, WM_SETTEXT, 0, (LPARAM)buffer); sprintf(buffer, "%i", roms_correct + roms_incorrect); SendDlgItemMessage(hAudit, IDC_ROMS_TOTAL, WM_SETTEXT, 0, (LPARAM)buffer); break; } rom_index++; SendDlgItemMessage(hAudit, IDC_ROMS_PROGRESS, PBM_SETPOS, rom_index, 0); if (rom_index == GetNumGames()) { sample_index = 0; rom_index = -1; } }