diff options
| author | SND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2013-07-09 09:33:55 +0000 |
|---|---|---|
| committer | SND\MaddTheSane_cp <SND\MaddTheSane_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2013-07-09 09:33:55 +0000 |
| commit | c6c9d266fad98310bb6f0118362d8dc7e60ecfae (patch) | |
| tree | df4f355d09afe3c1deb2a839d56dd1095e073209 | |
| parent | a2e6c179be60efa937f1f51a45c53919bb44083d (diff) | |
| download | pcsxr-c6c9d266fad98310bb6f0118362d8dc7e60ecfae.tar.gz | |
Make the bladesio1 driver work on OS X:
Fix a bug where the wrong plug-in was being used in place of sio1, causing PCSXR to complain.
Fix a bug where bladesio1's config window would cause PCSXR to crash.
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@85936 e17a0e51-4ae3-4d35-97c3-1a29b211df97
| -rwxr-xr-x | macosx/Plugin.c | 26 | ||||
| -rwxr-xr-x | macosx/PluginList.m | 4 | ||||
| -rw-r--r-- | macosx/plugins/Bladesio1/English.lproj/Bladesio1PluginConfig.xib | 176 | ||||
| -rwxr-xr-x | macosx/plugins/Bladesio1/macsrc/PluginConfigController.m | 17 |
4 files changed, 126 insertions, 97 deletions
diff --git a/macosx/Plugin.c b/macosx/Plugin.c index bbfec3c8..e501a5f5 100755 --- a/macosx/Plugin.c +++ b/macosx/Plugin.c @@ -42,6 +42,13 @@ void gpuShowPic() { } void PADhandleKey(int key) { + //TODO: get these set up properly! + GPU_keypressed(key); +#ifdef ENABLE_SIO1API + SIO1_keypressed(key); +#endif + if (Config.UseNet) NET_keypressed(key); + } long PAD1__open(void) { @@ -52,8 +59,6 @@ long PAD2__open(void) { return PAD2_open(&gpuDisp); } -void OnFile_Exit(); - void SignalExit(int sig) { ClosePlugins(); OnFile_Exit(); @@ -88,6 +93,11 @@ int _OpenPlugins() { if (ret < 0) { SysMessage("%s", _("Error Opening PAD2 Plugin")); return -1; } PAD2_registerVibration(GPU_visualVibration); PAD2_registerCursor(GPU_cursor); +#ifdef ENABLE_SIO1API + ret = SIO1_open(&gpuDisp); + if (ret < 0) { SysMessage("%s", _("Error opening SIO1 plugin!")); return -1; } + SIO1_registerCallback(SIO1irq); +#endif if (Config.UseNet && !NetOpened) { netInfo info; @@ -174,6 +184,10 @@ void ClosePlugins() { if (ret < 0) { SysMessage("%s", _("Error Closing PAD2 Plugin")); return; } ret = GPU_close(); if (ret < 0) { SysMessage("%s", _("Error Closing GPU Plugin")); return; } +#ifdef ENABLE_SIO1API + ret = SIO1_close(); + if (ret < 0) { SysMessage(_("Error closing SIO1 plugin!")); return; } +#endif if (Config.UseNet) { NET_pause(); @@ -188,6 +202,9 @@ void ResetPlugins() { SPU_shutdown(); PAD1_shutdown(); PAD2_shutdown(); +#ifdef ENABLE_SIO1API + SIO1_shutdown(); +#endif if (Config.UseNet) NET_shutdown(); ret = CDR_init(); @@ -200,6 +217,11 @@ void ResetPlugins() { if (ret < 0) { SysMessage(_("PAD1init error: %d"), ret); return; } ret = PAD2_init(2); if (ret < 0) { SysMessage(_("PAD2init error: %d"), ret); return; } +#ifdef ENABLE_SIO1API + ret = SIO1_init(); + if (ret < 0) { SysMessage(_("SIO1init error: %d!"), ret); return; } +#endif + if (Config.UseNet) { ret = NET_init(); if (ret < 0) { SysMessage(_("NETinit error: %d"), ret); return; } diff --git a/macosx/PluginList.m b/macosx/PluginList.m index 621e7f3c..cd15da58 100755 --- a/macosx/PluginList.m +++ b/macosx/PluginList.m @@ -36,7 +36,7 @@ const static int typeList[] = {PSE_LT_GPU, PSE_LT_SPU, PSE_LT_CDR, PSE_LT_PAD, P NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; pluginList = [[NSMutableArray alloc] initWithCapacity:20]; - activeGpuPlugin = activeSpuPlugin = activeCdrPlugin = activePadPlugin = activeNetPlugin = nil; + activeGpuPlugin = activeSpuPlugin = activeCdrPlugin = activePadPlugin = activeNetPlugin = activeSIO1Plugin = nil; missingPlugins = NO; for (i = 0; i < sizeof(typeList) / sizeof(typeList[0]); i++) { @@ -200,7 +200,7 @@ const static int typeList[] = {PSE_LT_GPU, PSE_LT_SPU, PSE_LT_CDR, PSE_LT_PAD, P case PSE_LT_SPU: return activeSpuPlugin; break; case PSE_LT_PAD: return activePadPlugin; break; case PSE_LT_NET: return activeNetPlugin; break; - case PSE_LT_SIO1: return activeNetPlugin; break; + case PSE_LT_SIO1: return activeSIO1Plugin; break; } return nil; diff --git a/macosx/plugins/Bladesio1/English.lproj/Bladesio1PluginConfig.xib b/macosx/plugins/Bladesio1/English.lproj/Bladesio1PluginConfig.xib index 91239800..2ae3f8cf 100644 --- a/macosx/plugins/Bladesio1/English.lproj/Bladesio1PluginConfig.xib +++ b/macosx/plugins/Bladesio1/English.lproj/Bladesio1PluginConfig.xib @@ -1315,78 +1315,78 @@ <reference key="parent" ref="497434569"/> </object> <object class="IBObjectRecord"> - <int key="objectID">224</int> - <reference key="object" ref="406789566"/> - <reference key="parent" ref="537116407"/> + <int key="objectID">253</int> + <reference key="object" ref="1036876179"/> + <reference key="parent" ref="127793487"/> </object> <object class="IBObjectRecord"> - <int key="objectID">225</int> - <reference key="object" ref="462314221"/> - <reference key="parent" ref="82652069"/> + <int key="objectID">246</int> + <reference key="object" ref="842829921"/> + <reference key="parent" ref="127793487"/> </object> <object class="IBObjectRecord"> - <int key="objectID">226</int> - <reference key="object" ref="290329374"/> - <reference key="parent" ref="82652069"/> + <int key="objectID">245</int> + <reference key="object" ref="674129625"/> + <reference key="parent" ref="127793487"/> </object> <object class="IBObjectRecord"> - <int key="objectID">227</int> - <reference key="object" ref="885502674"/> - <reference key="parent" ref="82652069"/> + <int key="objectID">244</int> + <reference key="object" ref="870181243"/> + <reference key="parent" ref="127793487"/> </object> <object class="IBObjectRecord"> - <int key="objectID">228</int> - <reference key="object" ref="318007249"/> - <reference key="parent" ref="82652069"/> + <int key="objectID">252</int> + <reference key="object" ref="499697857"/> + <reference key="parent" ref="127793487"/> </object> <object class="IBObjectRecord"> - <int key="objectID">229</int> - <reference key="object" ref="666704347"/> - <reference key="parent" ref="82652069"/> + <int key="objectID">248</int> + <reference key="object" ref="447479180"/> + <reference key="parent" ref="127793487"/> </object> <object class="IBObjectRecord"> - <int key="objectID">230</int> - <reference key="object" ref="335368693"/> - <reference key="parent" ref="82652069"/> + <int key="objectID">247</int> + <reference key="object" ref="290637930"/> + <reference key="parent" ref="127793487"/> </object> <object class="IBObjectRecord"> - <int key="objectID">232</int> - <reference key="object" ref="380664884"/> - <reference key="parent" ref="82652069"/> + <int key="objectID">251</int> + <reference key="object" ref="427946131"/> + <reference key="parent" ref="127793487"/> </object> <object class="IBObjectRecord"> - <int key="objectID">233</int> - <reference key="object" ref="60527276"/> - <reference key="parent" ref="82652069"/> + <int key="objectID">249</int> + <reference key="object" ref="906287637"/> + <reference key="parent" ref="127793487"/> </object> <object class="IBObjectRecord"> - <int key="objectID">234</int> - <reference key="object" ref="145126621"/> - <reference key="parent" ref="82652069"/> + <int key="objectID">243</int> + <reference key="object" ref="391278904"/> + <reference key="parent" ref="127793487"/> </object> <object class="IBObjectRecord"> - <int key="objectID">235</int> - <reference key="object" ref="132721671"/> - <reference key="parent" ref="82652069"/> + <int key="objectID">250</int> + <reference key="object" ref="900601962"/> + <reference key="parent" ref="127793487"/> </object> <object class="IBObjectRecord"> - <int key="objectID">236</int> - <reference key="object" ref="89759382"/> - <reference key="parent" ref="82652069"/> + <int key="objectID">242</int> + <reference key="object" ref="919721277"/> + <reference key="parent" ref="127793487"/> </object> <object class="IBObjectRecord"> - <int key="objectID">237</int> - <reference key="object" ref="227679458"/> + <int key="objectID">256</int> + <reference key="object" ref="40692612"/> <reference key="parent" ref="82652069"/> </object> <object class="IBObjectRecord"> - <int key="objectID">238</int> - <reference key="object" ref="887624534"/> + <int key="objectID">239</int> + <reference key="object" ref="846592300"/> <reference key="parent" ref="82652069"/> </object> <object class="IBObjectRecord"> - <int key="objectID">239</int> - <reference key="object" ref="846592300"/> + <int key="objectID">233</int> + <reference key="object" ref="60527276"/> <reference key="parent" ref="82652069"/> </object> <object class="IBObjectRecord"> @@ -1395,84 +1395,84 @@ <reference key="parent" ref="82652069"/> </object> <object class="IBObjectRecord"> - <int key="objectID">241</int> - <reference key="object" ref="506743589"/> + <int key="objectID">238</int> + <reference key="object" ref="887624534"/> <reference key="parent" ref="82652069"/> </object> <object class="IBObjectRecord"> - <int key="objectID">242</int> - <reference key="object" ref="919721277"/> - <reference key="parent" ref="127793487"/> + <int key="objectID">236</int> + <reference key="object" ref="89759382"/> + <reference key="parent" ref="82652069"/> </object> <object class="IBObjectRecord"> - <int key="objectID">243</int> - <reference key="object" ref="391278904"/> - <reference key="parent" ref="127793487"/> + <int key="objectID">234</int> + <reference key="object" ref="145126621"/> + <reference key="parent" ref="82652069"/> </object> <object class="IBObjectRecord"> - <int key="objectID">244</int> - <reference key="object" ref="870181243"/> - <reference key="parent" ref="127793487"/> + <int key="objectID">228</int> + <reference key="object" ref="318007249"/> + <reference key="parent" ref="82652069"/> </object> <object class="IBObjectRecord"> - <int key="objectID">245</int> - <reference key="object" ref="674129625"/> - <reference key="parent" ref="127793487"/> + <int key="objectID">227</int> + <reference key="object" ref="885502674"/> + <reference key="parent" ref="82652069"/> </object> <object class="IBObjectRecord"> - <int key="objectID">247</int> - <reference key="object" ref="290637930"/> - <reference key="parent" ref="127793487"/> + <int key="objectID">235</int> + <reference key="object" ref="132721671"/> + <reference key="parent" ref="82652069"/> </object> <object class="IBObjectRecord"> - <int key="objectID">250</int> - <reference key="object" ref="900601962"/> - <reference key="parent" ref="127793487"/> + <int key="objectID">230</int> + <reference key="object" ref="335368693"/> + <reference key="parent" ref="82652069"/> </object> <object class="IBObjectRecord"> - <int key="objectID">251</int> - <reference key="object" ref="427946131"/> - <reference key="parent" ref="127793487"/> + <int key="objectID">229</int> + <reference key="object" ref="666704347"/> + <reference key="parent" ref="82652069"/> </object> <object class="IBObjectRecord"> - <int key="objectID">252</int> - <reference key="object" ref="499697857"/> - <reference key="parent" ref="127793487"/> + <int key="objectID">237</int> + <reference key="object" ref="227679458"/> + <reference key="parent" ref="82652069"/> </object> <object class="IBObjectRecord"> - <int key="objectID">253</int> - <reference key="object" ref="1036876179"/> - <reference key="parent" ref="127793487"/> + <int key="objectID">232</int> + <reference key="object" ref="380664884"/> + <reference key="parent" ref="82652069"/> </object> <object class="IBObjectRecord"> - <int key="objectID">254</int> - <reference key="object" ref="245057345"/> - <reference key="parent" ref="45529240"/> + <int key="objectID">226</int> + <reference key="object" ref="290329374"/> + <reference key="parent" ref="82652069"/> </object> <object class="IBObjectRecord"> - <int key="objectID">255</int> - <reference key="object" ref="997131426"/> - <reference key="parent" ref="83047673"/> + <int key="objectID">241</int> + <reference key="object" ref="506743589"/> + <reference key="parent" ref="82652069"/> </object> <object class="IBObjectRecord"> - <int key="objectID">256</int> - <reference key="object" ref="40692612"/> + <int key="objectID">225</int> + <reference key="object" ref="462314221"/> <reference key="parent" ref="82652069"/> </object> <object class="IBObjectRecord"> - <int key="objectID">246</int> - <reference key="object" ref="842829921"/> - <reference key="parent" ref="127793487"/> + <int key="objectID">255</int> + <reference key="object" ref="997131426"/> + <reference key="parent" ref="83047673"/> </object> <object class="IBObjectRecord"> - <int key="objectID">249</int> - <reference key="object" ref="906287637"/> - <reference key="parent" ref="127793487"/> + <int key="objectID">254</int> + <reference key="object" ref="245057345"/> + <reference key="parent" ref="45529240"/> </object> <object class="IBObjectRecord"> - <int key="objectID">248</int> - <reference key="object" ref="447479180"/> - <reference key="parent" ref="127793487"/> + <int key="objectID">224</int> + <reference key="object" ref="406789566"/> + <reference key="parent" ref="537116407"/> </object> </array> </object> diff --git a/macosx/plugins/Bladesio1/macsrc/PluginConfigController.m b/macosx/plugins/Bladesio1/macsrc/PluginConfigController.m index dbc85174..b1b4c08e 100755 --- a/macosx/plugins/Bladesio1/macsrc/PluginConfigController.m +++ b/macosx/plugins/Bladesio1/macsrc/PluginConfigController.m @@ -74,12 +74,19 @@ void AboutDlgProc() void ConfDlgProc() { - NSWindow *window; - - if (windowController == nil) { - windowController = [[PluginConfigController alloc] initWithWindowNibName:@"Bladesio1PluginConfig"]; + __block NSWindow *window; + __block PluginConfigController *tmpWindowController = nil; + + //We need this block due to the xib's use of auto layout + dispatch_sync(dispatch_get_main_queue(), ^{ + if (windowController == nil) { + tmpWindowController = [[PluginConfigController alloc] initWithWindowNibName:@"Bladesio1PluginConfig"]; + } + window = [(windowController ? windowController : tmpWindowController) window]; + }); + if (!windowController) { + windowController = tmpWindowController; } - window = [windowController window]; [windowController loadValues]; |
