initial Android support
[pcsx_rearmed.git] / libpcsxcore / plugins.c
index f965e0d..57078ba 100644 (file)
@@ -702,6 +702,7 @@ int LoadPlugins() {
        char Plugin[MAXPATHLEN];\r
 \r
        ReleasePlugins();\r
        char Plugin[MAXPATHLEN];\r
 \r
        ReleasePlugins();\r
+       SysLibError();\r
 \r
        if (UsingIso()) {\r
                LoadCDRplugin(NULL);\r
 \r
        if (UsingIso()) {\r
                LoadCDRplugin(NULL);\r
@@ -794,6 +795,23 @@ void ReleasePlugins() {
 #endif\r
 }\r
 \r
 #endif\r
 }\r
 \r
+// for CD swap\r
+int ReloadCdromPlugin()\r
+{\r
+       if (hCDRDriver != NULL || cdrIsoActive()) CDR_shutdown();\r
+       if (hCDRDriver != NULL) SysCloseLibrary(hCDRDriver); hCDRDriver = NULL;\r
+\r
+       if (UsingIso()) {\r
+               LoadCDRplugin(NULL);\r
+       } else {\r
+               char Plugin[MAXPATHLEN];\r
+               sprintf(Plugin, "%s/%s", Config.PluginsDir, Config.Cdr);\r
+               if (LoadCDRplugin(Plugin) == -1) return -1;\r
+       }\r
+\r
+       return CDR_init();\r
+}\r
+\r
 void SetIsoFile(const char *filename) {\r
        if (filename == NULL) {\r
                IsoFile[0] = '\0';\r
 void SetIsoFile(const char *filename) {\r
        if (filename == NULL) {\r
                IsoFile[0] = '\0';\r