aboutsummaryrefslogtreecommitdiff
path: root/libpcsxcore/plugins.c
diff options
context:
space:
mode:
authornotaz2011-02-08 18:21:17 +0200
committernotaz2011-02-10 02:07:54 +0200
commit1df403c52368a3930b67dedabf8c0e1d522f1cc3 (patch)
tree2c5b522c3626332d287704a3a1800aa9f923d809 /libpcsxcore/plugins.c
parentcdb31c9557f464b452ce6dc78b58b7e73cd423d8 (diff)
downloadpcsx_rearmed-1df403c52368a3930b67dedabf8c0e1d522f1cc3.tar.gz
pcsx_rearmed-1df403c52368a3930b67dedabf8c0e1d522f1cc3.tar.bz2
pcsx_rearmed-1df403c52368a3930b67dedabf8c0e1d522f1cc3.zip
add cd swap functionality
Diffstat (limited to 'libpcsxcore/plugins.c')
-rw-r--r--libpcsxcore/plugins.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/libpcsxcore/plugins.c b/libpcsxcore/plugins.c
index f965e0d..57e7ef2 100644
--- a/libpcsxcore/plugins.c
+++ b/libpcsxcore/plugins.c
@@ -794,6 +794,23 @@ void ReleasePlugins() {
#endif
}
+// 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();
+}
+
void SetIsoFile(const char *filename) {
if (filename == NULL) {
IsoFile[0] = '\0';