void OnOK(HWND hW) { char * biosFILE=GetSelBIOS(hW,IDC_LISTBIOS); if (biosFILE==NULL) { MessageBox(hW,"BIOS not selected!","Error",MB_OK|MB_ICONERROR); } else { strcpy(Config.Bios, biosFILE); } SaveConfig(); CleanUpCombos(hW); if (!ConfPlug) { NeedReset = 1; ReleasePlugins(); LoadPlugins(); } EndDialog(hW,TRUE); }
int LoadPlugins(void) { int ret; const char *cdrfilename=NULL; ReleasePlugins(); LoadMcds(Config.Mcd1, Config.Mcd2); ret = CDR_init(); if (ret < 0) { printf ("Error initializing CD-ROM plugin: %d\n", ret); return -1; } ret = GPU_init(); if (ret < 0) { printf ("Error initializing GPU plugin: %d\n", ret); return -1; } ret = SPU_init(); if (ret < 0) { printf ("Error initializing SPU plugin: %d\n", ret); return -1; } #ifdef spu_pcsxrearmed //senquack - NOTE: this is an important function to call, as SPU // IRQs will not be acknowledged otherwise, leading to repeating sound // problems in games like NFS3, Grandia, Fifa98, and some games will // lack music like Chrono Cross FMV music, THPS2 etc. // Only spu_pcsxrearmed supports this (older SPU plugins all had // problems with sound in these games.. TODO: add support?) SPU_registerCallback(AcknowledgeSPUIRQ); //senquack - pcsx_rearmed SPU plugin schedules its own updates: SPU_registerScheduleCb(ScheduleSPUUpdate); #endif cdrfilename=GetIsoFile(); if (cdrfilename[0] != '\0') { ret=CDR_open(); if (ret < 0) { printf ("Error opening CD-ROM: %s\n", cdrfilename); return -1; } } printf("Plugins loaded.\n"); return 0; }
int LoadPlugins() { int ret; char Plugin[MAXPATHLEN]; ReleasePlugins(); SysLibError(); if (UsingIso()) { LoadCDRplugin(NULL); } else { sprintf(Plugin, "%s/%s", Config.PluginsDir, Config.Cdr); if (LoadCDRplugin(Plugin) == -1) return -1; } sprintf(Plugin, "%s/%s", Config.PluginsDir, Config.Gpu); if (LoadGPUplugin(Plugin) == -1) return -1; sprintf(Plugin, "%s/%s", Config.PluginsDir, Config.Spu); if (LoadSPUplugin(Plugin) == -1) return -1; sprintf(Plugin, "%s/%s", Config.PluginsDir, Config.Pad1); if (LoadPAD1plugin(Plugin) == -1) return -1; sprintf(Plugin, "%s/%s", Config.PluginsDir, Config.Pad2); if (LoadPAD2plugin(Plugin) == -1) return -1; if (strcmp("Disabled", Config.Net) == 0 || strcmp("", Config.Net) == 0) Config.UseNet = FALSE; else { Config.UseNet = TRUE; sprintf(Plugin, "%s/%s", Config.PluginsDir, Config.Net); if (LoadNETplugin(Plugin) == -1) Config.UseNet = FALSE; } #ifdef ENABLE_SIO1API sprintf(Plugin, "%s/%s", Config.PluginsDir, Config.Sio1); if (LoadSIO1plugin(Plugin) == -1) return -1; #endif ret = CDR_init(); if (ret < 0) { SysMessage (_("Error initializing CD-ROM plugin: %d"), ret); return -1; } ret = GPU_init(); if (ret < 0) { SysMessage (_("Error initializing GPU plugin: %d"), ret); return -1; } ret = SPU_init(); if (ret < 0) { SysMessage (_("Error initializing SPU plugin: %d"), ret); return -1; } ret = PAD1_init(1); if (ret < 0) { SysMessage (_("Error initializing Controller 1 plugin: %d"), ret); return -1; } ret = PAD2_init(2); if (ret < 0) { SysMessage (_("Error initializing Controller 2 plugin: %d"), ret); return -1; } if (Config.UseNet) { ret = NET_init(); if (ret < 0) { SysMessage (_("Error initializing NetPlay plugin: %d"), ret); return -1; } } #ifdef ENABLE_SIO1API ret = SIO1_init(); if (ret < 0) { SysMessage (_("Error initializing SIO1 plugin: %d"), ret); return -1; } #endif SysPrintf(_("Plugins loaded.\n")); return 0; }
int emuClose(){ ReleasePlugins(); psxShutdown(); }