예제 #1
0
파일: ConfDlg.c 프로젝트: bsv798/pcsxr
void OnConf_Pad() {
	void *drv;
	PADconfigure conf;
	char Plugin[MAXPATHLEN];

	sprintf(Plugin, "%s/%s", Config.PluginsDir, Config.Pad1);
	drv = SysLoadLibrary(Plugin);
	if (drv == NULL) { printf("Error with file %s\n", Plugin); return; }

	while (gtk_events_pending()) gtk_main_iteration();

	conf = (GPUconfigure)SysLoadSym(drv, "PADconfigure");
	if (conf != NULL) {
		conf();
	}
	else
		SysInfoMessage (_("No configuration required"), _("This plugin doesn't need to be configured."));

	SysCloseLibrary(drv);

	if (strcmp(Config.Pad1, Config.Pad2) != 0) {
		sprintf(Plugin, "%s/%s", Config.PluginsDir, Config.Pad2);
		drv = SysLoadLibrary(Plugin);
		if (drv == NULL) { printf("Error with file %s\n", Plugin); return; }

		while (gtk_events_pending()) gtk_main_iteration();

		conf = (GPUconfigure)SysLoadSym(drv, "PADconfigure");
		if (conf != NULL) {
			conf();
		}

		SysCloseLibrary(drv);
	}
}
예제 #2
0
void ReleasePlugins() {
	if (Config.UseNet) {
		int ret = NET_close();
		if (ret < 0) Config.UseNet = FALSE;
	}
	NetOpened = FALSE;

	if (hCDRDriver != NULL || cdrIsoActive()) CDR_shutdown();
	if (hGPUDriver != NULL) GPU_shutdown();
	if (hSPUDriver != NULL) SPU_shutdown();
	if (hPAD1Driver != NULL) PAD1_shutdown();
	if (hPAD2Driver != NULL) PAD2_shutdown();

	if (Config.UseNet && hNETDriver != NULL) NET_shutdown(); 

	if (hCDRDriver != NULL) SysCloseLibrary(hCDRDriver); hCDRDriver = NULL;
	if (hGPUDriver != NULL) SysCloseLibrary(hGPUDriver); hGPUDriver = NULL;
	if (hSPUDriver != NULL) SysCloseLibrary(hSPUDriver); hSPUDriver = NULL;
	if (hPAD1Driver != NULL) SysCloseLibrary(hPAD1Driver); hPAD1Driver = NULL;
	if (hPAD2Driver != NULL) SysCloseLibrary(hPAD2Driver); hPAD2Driver = NULL;

	if (Config.UseNet && hNETDriver != NULL) {
		SysCloseLibrary(hNETDriver); hNETDriver = NULL;
	}

#ifdef ENABLE_SIO1API
	if (hSIO1Driver != NULL) {
		SIO1_shutdown();
		SysCloseLibrary(hSIO1Driver);
		hSIO1Driver = NULL;
	}
#endif
}
예제 #3
0
// for CD swap
int ReloadCdromPlugin()
{
	if (hCDRDriver != NULL || cdrIsoActive()) CDR_shutdown();
	if (hCDRDriver != NULL) SysCloseLibrary(hCDRDriver); hCDRDriver = NULL;

	if (UsingIso()) {
		LoadCDRplugin(NULL);
	} else {
		char Plugin[MAXPATHLEN];
		sprintf(Plugin, "%s/%s", Config.PluginsDir, Config.Cdr);
		if (LoadCDRplugin(Plugin) == -1) return -1;
	}

	return CDR_init();
}
예제 #4
0
파일: plugins.c 프로젝트: Almamu/c2c
void ReleasePlugins() {
	if (hCDRDriver != NULL || cdrIsoActive()) CDR_shutdown();
	if (hGPUDriver != NULL) GPU_shutdown();
	if (hSPUDriver != NULL) SPU_shutdown();
	if (hPAD1Driver != NULL) PAD1_shutdown();
	if (hPAD2Driver != NULL) PAD2_shutdown();

	if (hCDRDriver != NULL) SysCloseLibrary(hCDRDriver); hCDRDriver = NULL;
	if (hGPUDriver != NULL) SysCloseLibrary(hGPUDriver); hGPUDriver = NULL;
	if (hSPUDriver != NULL) SysCloseLibrary(hSPUDriver); hSPUDriver = NULL;
	if (hPAD1Driver != NULL) SysCloseLibrary(hPAD1Driver); hPAD1Driver = NULL;
	if (hPAD2Driver != NULL) SysCloseLibrary(hPAD2Driver); hPAD2Driver = NULL;

#ifdef ENABLE_SIO1API
	if (hSIO1Driver != NULL) {
		SIO1_shutdown();
		SysCloseLibrary(hSIO1Driver);
		hSIO1Driver = NULL;
	}
#endif
}
예제 #5
0
파일: plugins.c 프로젝트: avary/libpsx
void ReleasePlugins() {
    s32 ret;
#if 0 // TEMP!!!
    if (Config.UseNet) {
        ret = NET_close();
        if (ret < 0) Config.UseNet = FALSE;
    }
#endif
    NetOpened = FALSE;

    ret = CDR_close();
    if (ret < 0) {
        SysMessage("Error Closing CDR Plugin");
    }
    ret = SPU_close();
    if (ret < 0) {
        SysMessage("Error Closing SPU Plugin");
    }
    ret = PAD1_close();
    if (ret < 0) {
        SysMessage("Error Closing PAD1 Plugin");
    }
    ret = PAD2_close();
    if (ret < 0) {
        SysMessage("Error Closing PAD2 Plugin");
    }
    ret = GPU_close();
    if (ret < 0) {
        SysMessage("Error Closing GPU Plugin");
    }

#ifdef ENABLE_SIO1API
    ret = SIO1_close();
    if (ret < 0) {
        SysMessage("Error Closing SIO1 Plugin");
    }
#endif

    CDR_shutdown();
    GPU_shutdown();
    SPU_shutdown();
    PAD1_shutdown();
    PAD2_shutdown();
#ifdef ENABLE_SIO1API
    SIO1_shutdown();
#endif

#if 0

    if (hCDRDriver != NULL || cdrIsoActive()) CDR_shutdown();
    if (hGPUDriver != NULL) GPU_shutdown();
    if (hSPUDriver != NULL) SPU_shutdown();
    if (hPAD1Driver != NULL) PAD1_shutdown();
    if (hPAD2Driver != NULL) PAD2_shutdown();

    if (Config.UseNet && hNETDriver != NULL) NET_shutdown();

    if (hCDRDriver != NULL) SysCloseLibrary(hCDRDriver);
    hCDRDriver = NULL;
    if (hGPUDriver != NULL) SysCloseLibrary(hGPUDriver);
    hGPUDriver = NULL;
    if (hSPUDriver != NULL) SysCloseLibrary(hSPUDriver);
    hSPUDriver = NULL;
    if (hPAD1Driver != NULL) SysCloseLibrary(hPAD1Driver);
    hPAD1Driver = NULL;
    if (hPAD2Driver != NULL) SysCloseLibrary(hPAD2Driver);
    hPAD2Driver = NULL;

    if (Config.UseNet && hNETDriver != NULL) {
        SysCloseLibrary(hNETDriver);
        hNETDriver = NULL;
    }

#ifdef ENABLE_SIO1API
    if (hSIO1Driver != NULL) {
        SIO1_shutdown();
        SysCloseLibrary(hSIO1Driver);
        hSIO1Driver = NULL;
    }
#endif
#endif
}