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); } }
void plugin_call_rearmed_cbs(void) { extern void *hGPUDriver; void (*rearmed_set_cbs)(const struct rearmed_cbs *cbs); rearmed_set_cbs = SysLoadSym(hGPUDriver, "GPUrearmedCallbacks"); if (rearmed_set_cbs != NULL) rearmed_set_cbs(&pl_rearmed_cbs); }