// Init game emulation (loading any needed roms) extern "C" INT32 BurnDrvInit() { INT32 nReturnValue; if (nBurnDrvActive >= nBurnDrvCount) { return 1; } #if defined (FBA_DEBUG) { TCHAR szText[1024] = _T(""); TCHAR* pszPosition = szText; TCHAR* pszName = BurnDrvGetText(DRV_FULLNAME); INT32 nName = 1; while ((pszName = BurnDrvGetText(DRV_NEXTNAME | DRV_FULLNAME)) != NULL) { nName++; } // Print the title bprintf(PRINT_IMPORTANT, _T("*** Starting emulation of %s - %s.\n"), BurnDrvGetText(DRV_NAME), BurnDrvGetText(DRV_FULLNAME)); // Then print the alternative titles if (nName > 1) { bprintf(PRINT_IMPORTANT, _T(" Alternative %s "), (nName > 2) ? _T("titles are") : _T("title is")); pszName = BurnDrvGetText(DRV_FULLNAME); nName = 1; while ((pszName = BurnDrvGetText(DRV_NEXTNAME | DRV_FULLNAME)) != NULL) { if (pszPosition + _tcslen(pszName) - 1022 > szText) { break; } if (nName > 1) { bprintf(PRINT_IMPORTANT, _T(SEPERATOR_1)); } bprintf(PRINT_IMPORTANT, _T("%s"), pszName); nName++; } bprintf(PRINT_IMPORTANT, _T(".\n")); } } #endif BurnSetRefreshRate(60.0); CheatInit(); HiscoreInit(); BurnStateInit(); BurnInitMemoryManager(); nReturnValue = pDriver[nBurnDrvActive]->Init(); // Forward to drivers function nMaxPlayers = pDriver[nBurnDrvActive]->Players; #if defined (FBA_DEBUG) if (!nReturnValue) { starttime = clock(); nFramesEmulated = 0; nFramesRendered = 0; nCurrentFrame = 0; } else { starttime = 0; } #endif return nReturnValue; }
// Init game emulation (loading any needed roms) extern "C" int BurnDrvInit() { int nReturnValue; if (nBurnDrvSelect >= nBurnDrvCount) return 1; #if defined (FBA_DEBUG) { char szText[1024] = ""; char* pszPosition = szText; char* pszName = BurnDrvGetText(DRV_FULLNAME); int nName = 1; while ((pszName = BurnDrvGetText(DRV_NEXTNAME | DRV_FULLNAME)) != NULL) nName++; // Print the title bprintf(PRINT_IMPORTANT, _T("*** Starting emulation of %s") _T(SEPERATOR_1) _T("%s.\n"), BurnDrvGetText(DRV_NAME), BurnDrvGetText(DRV_FULLNAME)); // Then print the alternative titles if (nName > 1) { bprintf(PRINT_IMPORTANT, " Alternative %s ", (nName > 2) ? "titles are" : "title is"); pszName = BurnDrvGetText(DRV_FULLNAME); nName = 1; while ((pszName = BurnDrvGetText(DRV_NEXTNAME | DRV_FULLNAME)) != NULL) { if (pszPosition + _tcslen(pszName) - 1022 > szText) break; if (nName > 1) bprintf(PRINT_IMPORTANT, _T(SEPERATOR_1)); bprintf(PRINT_IMPORTANT, "%s", pszName); nName++; } bprintf(PRINT_IMPORTANT, ".\n"); } } #endif BurnSetRefreshRate(60.0); #ifndef NO_CHEATS cheatInit(); #endif BurnStateInit(); #ifndef NO_COMBO if (BurnInitCombo) BurnInitCombo(); #endif #ifndef NO_AUTOFIRE if (BurnInitAutofire) BurnInitAutofire(); #endif nReturnValue = pDriver[nBurnDrvSelect]->Init(); // Forward to drivers function nMaxPlayers = pDriver[nBurnDrvSelect]->players; #if defined (FBA_DEBUG) if (!nReturnValue) { starttime = clock(); nFramesEmulated = 0; nFramesRendered = 0; nCurrentFrame = 0; } else starttime = 0; #endif return nReturnValue; }