static unsigned __stdcall AnalyzingRoms(void*) { for (unsigned int z = 0; z < nBurnDrvCount; z++) { nBurnDrvActive = z; // See if we need to abort if (WaitForSingleObject(hEvent, 0) == WAIT_OBJECT_0) { ExitThread(0); } SendDlgItemMessage(hRomsDlg, IDC_WAIT_PROG, PBM_STEPIT, 0, 0); switch (BzipOpen(TRUE)) { case 0: gameAv[z] = 3; break; case 2: gameAv[z] = 1; break; case 1: gameAv[z] = 0; } BzipClose(); } avOk = true; PostMessage(hRomsDlg, WM_CLOSE, 0, 0); return 0; }
// Catch calls to BurnLoadRom() once the emulation has started; // Intialise the zip module before forwarding the call, and exit cleanly. static int DrvLoadRom(unsigned char* Dest, int* pnWrote, int i) { int nRet; BzipOpen(false); if ((nRet = BurnExtLoadRom(Dest, pnWrote, i)) != 0) { char szText[256] = ""; char* pszFilename; BurnDrvGetRomName(&pszFilename, i, 0); sprintf(szText, "Error loading %s, requested by %s.\n" "The emulation will likely suffer problems.", pszFilename, BurnDrvGetTextA(0)); } BzipClose(); BurnExtLoadRom = DrvLoadRom; //ScrnTitle(); return nRet; }
static int DrvBzipOpen() { BzipOpen(false); // If there is a problem with the romset, report it switch (BzipStatus()) { case BZIP_STATUS_BADDATA: { FBAPopupDisplay(PUF_TYPE_WARNING); break; } case BZIP_STATUS_ERROR: { FBAPopupDisplay(PUF_TYPE_ERROR); #if 0 || !defined FBA_DEBUG // Don't even bother trying to start the game if we know it won't work BzipClose(); return 1; #endif break; } default: { #if 0 && defined FBA_DEBUG FBAPopupDisplay(PUF_TYPE_INFO); #else FBAPopupDisplay(PUF_TYPE_INFO | PUF_TYPE_LOGONLY); #endif } } return 0; }
static int DrvBzipOpen() { BzipOpen(false); if (BzipStatus()) return 1; return 0; }
// Catch calls to BurnLoadRom() once the emulation has started; // Intialise the zip module before forwarding the call, and exit cleanly. static int __cdecl DrvLoadRom(unsigned char* Dest, int* pnWrote, int i) { int nRet; BzipOpen(false); if ((nRet = BurnExtLoadRom(Dest, pnWrote, i)) != 0) { char* pszFilename; BurnDrvGetRomName(&pszFilename, i, 0); } BzipClose(); return nRet; }
static int DoLibInit() // Do Init of Burn library driver { int nRet; BzipOpen(false); //ProgressCreate(); nRet = BurnDrvInit(); BzipClose(); if (nRet) { return 1; } else { return 0; } }
// Catch calls to BurnLoadRom() once the emulation has started; // Intialise the zip module before forwarding the call, and exit cleanly. static int __cdecl DrvLoadRom(unsigned char* Dest, int* pnWrote, int i) { int nRet; BzipOpen(false); if ((nRet = BurnExtLoadRom(Dest, pnWrote, i)) != 0) { char* pszFilename; BurnDrvGetRomName(&pszFilename, i, 0); FBAPopupAddText(PUF_TEXT_DEFAULT, MAKEINTRESOURCE(IDS_ERR_LOAD_REQUEST), pszFilename, BurnDrvGetText(DRV_NAME)); FBAPopupDisplay(PUF_TYPE_ERROR); } BzipClose(); BurnExtLoadRom = DrvLoadRom; ScrnTitle(); return nRet; }