From e8b40c07a3c10521e247645d772ca0d1a38151e0 Mon Sep 17 00:00:00 2001 From: "fires.gc" Date: Tue, 22 Jul 2008 09:02:26 +0000 Subject: [PATCH] git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@51 8ced0084-cf51-0410-be5f-012b33b47a6e --- .../Plugin_nJoy_SDL/Plugin_nJoy_SDL.sln | 20 - .../Plugin_nJoy_SDL/Plugin_nJoy_SDL.vcproj | 559 ++++++++++++++++++ .../Plugin_nJoy_SDL/Res/Plugin_nJoy_SDL.rc | 158 +++++ .../Plugin_nJoy_SDL/Res/controller.bmp | Bin 0 -> 384310 bytes Source/Plugins/Plugin_nJoy_SDL/Res/njoy.bmp | Bin 0 -> 36054 bytes Source/Plugins/Plugin_nJoy_SDL/Res/resource.h | 60 ++ Source/Plugins/Plugin_nJoy_SDL/Src/config.cpp | 520 ++++++++++++++++ Source/Plugins/Plugin_nJoy_SDL/Src/config.h | 67 +++ Source/Plugins/Plugin_nJoy_SDL/Src/nJoy.cpp | 445 ++++++++++++++ Source/Plugins/Plugin_nJoy_SDL/Src/nJoy.h | 116 ++++ Source/Plugins/Plugin_nJoy_SDL/readme.txt | 115 ++++ 11 files changed, 2040 insertions(+), 20 deletions(-) delete mode 100644 Source/Plugins/Plugin_nJoy_SDL/Plugin_nJoy_SDL.sln create mode 100644 Source/Plugins/Plugin_nJoy_SDL/Plugin_nJoy_SDL.vcproj create mode 100644 Source/Plugins/Plugin_nJoy_SDL/Res/Plugin_nJoy_SDL.rc create mode 100644 Source/Plugins/Plugin_nJoy_SDL/Res/controller.bmp create mode 100644 Source/Plugins/Plugin_nJoy_SDL/Res/njoy.bmp create mode 100644 Source/Plugins/Plugin_nJoy_SDL/Res/resource.h create mode 100644 Source/Plugins/Plugin_nJoy_SDL/Src/config.cpp create mode 100644 Source/Plugins/Plugin_nJoy_SDL/Src/config.h create mode 100644 Source/Plugins/Plugin_nJoy_SDL/Src/nJoy.cpp create mode 100644 Source/Plugins/Plugin_nJoy_SDL/Src/nJoy.h create mode 100644 Source/Plugins/Plugin_nJoy_SDL/readme.txt diff --git a/Source/Plugins/Plugin_nJoy_SDL/Plugin_nJoy_SDL.sln b/Source/Plugins/Plugin_nJoy_SDL/Plugin_nJoy_SDL.sln deleted file mode 100644 index afec1cc6ca..0000000000 --- a/Source/Plugins/Plugin_nJoy_SDL/Plugin_nJoy_SDL.sln +++ /dev/null @@ -1,20 +0,0 @@ -ïğż -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Plugin_nJoy_SDL", "Plugin_nJoy_SDL\Plugin_nJoy_SDL.vcproj", "{521498BE-6089-4780-8223-E67C22F4E068}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {521498BE-6089-4780-8223-E67C22F4E068}.Debug|Win32.ActiveCfg = Debug|Win32 - {521498BE-6089-4780-8223-E67C22F4E068}.Debug|Win32.Build.0 = Debug|Win32 - {521498BE-6089-4780-8223-E67C22F4E068}.Release|Win32.ActiveCfg = Release|Win32 - {521498BE-6089-4780-8223-E67C22F4E068}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/Source/Plugins/Plugin_nJoy_SDL/Plugin_nJoy_SDL.vcproj b/Source/Plugins/Plugin_nJoy_SDL/Plugin_nJoy_SDL.vcproj new file mode 100644 index 0000000000..fda17af388 --- /dev/null +++ b/Source/Plugins/Plugin_nJoy_SDL/Plugin_nJoy_SDL.vcproj @@ -0,0 +1,559 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/Plugins/Plugin_nJoy_SDL/Res/Plugin_nJoy_SDL.rc b/Source/Plugins/Plugin_nJoy_SDL/Res/Plugin_nJoy_SDL.rc new file mode 100644 index 0000000000..824e357d42 --- /dev/null +++ b/Source/Plugins/Plugin_nJoy_SDL/Res/Plugin_nJoy_SDL.rc @@ -0,0 +1,158 @@ +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// Dutch (Netherlands) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NLD) +#ifdef _WIN32 +LANGUAGE LANG_DUTCH, SUBLANG_DUTCH +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_CONFIG DIALOGEX 0, 0, 411, 282 +STYLE DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_SYSMENU +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + COMBOBOX IDC_JOYNAME,8,18,317,30,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Controller:",IDC_STATIC,3,7,405,28 + CONTROL 102,IDC_STATIC,"Static",SS_BITMAP | SS_REALSIZEIMAGE | SS_SUNKEN,65,46,281,187 + CONTROL "Controller attached",IDC_JOYATTACH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,330,19,73,10 + PUSHBUTTON "",IDC_SHOULDERL,46,50,15,10,0,WS_EX_STATICEDGE + PUSHBUTTON "",IDC_B,350,50,15,10,0,WS_EX_STATICEDGE + PUSHBUTTON "",IDC_SHOULDERR,350,66,15,10,0,WS_EX_STATICEDGE + PUSHBUTTON "",IDC_Z,350,90,15,10,0,WS_EX_STATICEDGE + PUSHBUTTON "",IDC_Y,350,106,15,10,0,WS_EX_STATICEDGE + PUSHBUTTON "",IDC_X,350,150,15,10,0,WS_EX_STATICEDGE + PUSHBUTTON "",IDC_A,350,173,15,10,0,WS_EX_STATICEDGE + PUSHBUTTON "",IDC_SX,351,217,15,10,0,WS_EX_STATICEDGE + PUSHBUTTON "",IDC_START,197,236,15,10,0,WS_EX_STATICEDGE + PUSHBUTTON "",IDC_DPAD,46,183,15,10,0,WS_EX_STATICEDGE + PUSHBUTTON "",IDC_MX,46,135,15,10,0,WS_EX_STATICEDGE + CTEXT "",IDTEXT_SHOULDERL,4,49,40,12,WS_BORDER + CTEXT "",IDTEXT_B,368,49,40,12,WS_BORDER + CTEXT "",IDTEXT_SHOULDERR,368,65,40,12,WS_BORDER + CTEXT "",IDTEXT_Z,368,89,40,12,WS_BORDER + CTEXT "",IDTEXT_Y,368,105,40,12,WS_BORDER + CTEXT "",IDTEXT_X,368,149,40,12,WS_BORDER + CTEXT "",IDTEXT_A,368,172,40,12,WS_BORDER + CTEXT "",IDTEXT_MX,4,134,40,12,WS_BORDER + CTEXT "",IDTEXT_DPAD,4,182,40,12,WS_BORDER + CTEXT "",IDTEXT_START,185,248,40,12,WS_BORDER + CTEXT "",IDTEXT_MY,3,157,40,12,WS_BORDER + LTEXT "X-axis",IDC_STATIC,4,124,20,8 + LTEXT "Y-axis",IDC_STATIC,4,147,20,8 + CTEXT "",IDTEXT_SX,368,216,40,12,WS_BORDER + CTEXT "",IDTEXT_SY,367,239,40,12,WS_BORDER + LTEXT "X-axis",IDC_STATIC,368,206,20,8 + LTEXT "Y-axis",IDC_STATIC,368,229,20,8 + PUSHBUTTON "",IDC_SY,351,240,15,10,0,WS_EX_STATICEDGE + PUSHBUTTON "",IDC_MY,46,158,15,10,0,WS_EX_STATICEDGE + GROUPBOX "Extra settings",IDC_STATIC,3,236,95,43 + LTEXT "Deadzone",IDC_STATIC,11,248,33,8 + LTEXT "Half press",IDC_STATIC,11,263,33,8 + COMBOBOX IDC_DEADZONE,45,246,48,30,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_HALFPRESS,45,261,48,30,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP + LTEXT "www.multigesture.net",IDC_STATIC,336,271,72,8 +END + +IDD_ABOUT DIALOGEX 0, 0, 133, 227 +STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION +CAPTION "About: nJoy Input Plugin" +FONT 8, "MS Shell Dlg", 400, 0, 0x1 +BEGIN + DEFPUSHBUTTON "OK",IDOK,75,209,50,14 + CONTROL 104,IDC_STATIC,"Static",SS_BITMAP,0,0,133,37 + GROUPBOX "Plugin info:",IDC_STATIC,7,39,120,42 + GROUPBOX "Special thanks to:",IDC_STATIC,7,84,120,24 + GROUPBOX "Greetings to:",IDC_STATIC,7,112,120,95 + LTEXT "",IDC_ABOUT_TEXT,13,51,108,24 + LTEXT "F|RES and ector.",IDC_STATIC,13,95,108,8 + LTEXT "Static",IDC_ABOUT_TEXT2,13,123,111,82 + LTEXT "BETA RELEASE",IDC_ABOUT_TEXT3,10,211,62,13 +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO +BEGIN + IDD_CONFIG, DIALOG + BEGIN + LEFTMARGIN, 3 + RIGHTMARGIN, 408 + TOPMARGIN, 7 + BOTTOMMARGIN, 279 + END +END +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Bitmap +// + +IDB_BITMAP1 BITMAP "controller.bmp" +IDB_BITMAP2 BITMAP "njoy.bmp" +#endif // Dutch (Netherlands) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/Source/Plugins/Plugin_nJoy_SDL/Res/controller.bmp b/Source/Plugins/Plugin_nJoy_SDL/Res/controller.bmp new file mode 100644 index 0000000000000000000000000000000000000000..71af2c83b0730ecef16c0d9ae9d6d125e6bfb539 GIT binary patch literal 384310 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 e$x zMtKC$Lc8+r|NsAAUcX$~Slt%rJ}KN|dW_G6aNmicJ`+Q|r+_wH_<~wV!CqZHZe2d0 zdvH2DL5s$lot+yT9Kf4oQQLPWR#E0wkrvi*MwSVBW@(02>E+IE_D{<;;B z1{>o{FGks14{$mi?tD1S{z#I|k$B6)36@8aY>uYdA5C>Sp5S&i+2?A!`?V;ugE4wj zv(4fw9PC={Y}y?iIvkzb9bB3nok1HJy*3y!r#YCj@#<4DtjosRNN1MV|N6 z2(M|8-snXhXe`ekG?16%4+&(*SRPuDw=_F!S#AUbt;ml;F7nowCTyxm-dvHgrZ9d< zM&!JtplRVAQ^P!_hI&j1@d6cCA%4?C1Ez+6iac-u2Wsx&@6S#T^M#avkm(KxdqzaS zoY>Impn*J}DUktFq5^w@ye0&J%ex34$oSn%@c7-TqL`Wav4;mke|B?M)$A0%IjLdO zlY^%v`b~+04BmN9i1g`?1YOrQBRX(;Oi*8lZ@sHSp@n&=wN167bD513a(S0yX`5wX zgSEU%hfUh18C#`+_Dk4gn%UJlIJUaGcl&zx`gwNxxODkC^#!>02e|k7yF*Gk_;Qne zKbMK1)s^nO{+=Da-YwoA z8Zq<%ZS;Z6X+TKONTN4r=SCN-i3ckFyxr;9pPk_6IW^dCZfwN*!tBLaDU)NvW~at2 zNKc%Z5IrR(d}>_uq?pLAkdU6R(9ZDCnvlSClgPPm3{r{_PeQUH@#;xc`RnDgRqc&E zap7%2UK1lgHwR7(^@i*-gOqo@{+>O49$lcp2e)<)*A^Gh;yduRXw>q~)GErzI@-iK z$;cwx)GEi)G1k!DPs7|wDbz-@CER*VqTQ)@^Gh*i7ox3CMcN(>w>uK)a4g#Kc(mh* zXvY#y+yk44*`ig3IX;d~>}{aU8W!3>L8DY~U)mR>cs9*qtzZ7z=OZjSAq?j1g$ ztwixcK2`p=H_nI7pi zH59Zyd0L3y^pHUE$~#C&2kF~R3Gta57dAIOyg$%$Qn=rYxX}Jkp9#UBn^-19fX;IV zoo@^-?^YH@&nk#JzLw0(1JDu=Mg7_BeYK$SE-f5Oc^Ba`H9BB!V)&GZz*aBUDtnu9 zJKG9-(6;I_Tc=W6ry^^I0xSDGE4v)XdBxb~D?mM2Q=2R^P&YQ+#5%{)vC!VV!^^A3 z+Y4M7y7&6K^#!>01vvKwAiA-j30d%}x?W%BeqW~^UzbjA*Jcm58W-0JN7n*7mmE8n zN_+P@2hUP#=SV#hD+Lu|DAMG7jq6@g}A@_70Wq9(ArBpetP* zT|1pUn;e`#M{;|3^!kC8vrY~L9fmU{%x7YdXRp6o7kDPO%i9^`3~x7383)?s16mUg zD)>Otwe*{>nB?z0J0fIhYQoxrtXWCXQ{yA%XC}=`ikTi4IW;zNa!h1jczAC_cyCx( zWoXd)c{4w~c#4)jXu+j*c?WUx>h7M#px{XnpvE2OJ|oDef2jAAU{E`v$Il(y#B=TN zaBFjOZFa`epG`BhjMcMGFtE=wHp{a#&or|MP_uVdb#>S33N|_zYjZ5l`b3=hv1F^W znYNb_tS*F@or|zO7io7k%KluG?fG!4^U>C4QyfplT3rdXyd2?jI??+`y#1jloz0nM z(M49FH4bjA?l#>%_T63{ogV&uz8<|Gf;( z^eEWeMJ#x_HoS|eCB$b& zWZ>+W&}k6?{h^>H-n5wD{y@-t1^hhsS!rSOvLcq|hR-UDJG*%$Bw8sXDJt)FPi~u; z>_0m#bXrp2)Oeq%@qUwHd?rSDPl)vHkMy1v8#FsHyeH7R*2%8Q-nPccxys(D%*L_8 z&auqavDn4|)TOnugBE$%%DWU3YtSMl3%e{c&~3A24zBece*OM_eZF4Z-flg=sLSlcnZt#>vpTB#zuWK)8H-&4ft3$1$eWjygxua9Dy-SXRTe_oLhLuB{ zj81uFhryF6XHJzaajb0Z)UJW<={?GB%rg)k_XpY?{^xHu`mXHtOog80al*(pmi zlBUIl&q^Sn39Os4#|qdt0!CKy50%h z!5+QAo|D3S`vW~Dg?RM`c}@aty7K7@@apmb4diury0p2wg7%hy=PMcR;QEg zFU4D*O|U&1Z+$l2`dot5#U#s1Db{C_oleC$or<)%6lrrU+WvBk!;yG{rUc`pLT85# zZ<~o8PJLdk?H=GQkKXP*zHYt#?tS1HHh2>c(#nH0@j&HWsMnM*uPNbPQzJlKT4=8} z%5P>&z^s@+&_r!~03?v-B?Zh+3Yeb^S%eH4$Xk>VyeKndNml6M%#g)dp-ZyEmgh#U z%#T`G7`3V-VpVa}n$nmxrLk*DP-vtn;PmnE!=NjeE4M04m0nWv7uAKK!dG)p`MWQ0%oR$ z&dCa2loL9qIN`$X&15G7WQ`P+cZcTAoE#T8D?MO(vhS35uW1SXQ{sKW<(=2$82{-B zA-!S#HE#Ch_O?~_PE~g9l{W5GHg44p_7(Q_<#rCGHugo9b_Eu;c^39L;KiAcEoJFu zpdDt(rq*$0w(+JmDW;aW=GN8r_MPsoQ+#~-{Sf_DP|M%XtB)T<40n-JpBDa6>s)x_A_(jwHwDJwjzqojCgf8W;m z^Y^V>b$H#n1FP3;U$l7Dv}rS1TH16^e z^CPG}@9}X5alPCogO0NBf)sP0bDTgI(Rxny_ritXxARO5^qCq6D%v1tc2D&80-bsW z9=V$k?71{Oesw|m?D)tTagmF&(iWs8_r}NcCB)1~O6m;>?v03O2o2pbnQD7uk<%6~ zHY6+JlBKTrx~8&PU+4aCzrFyEet-9#0Qc???+HQP{ej-S{$8LJ$l&%Jc%y|gXv)IT zso4>9`csazZM>Ofl(kNhfpwm)N20lby`h?}Y;c6Zx_Gk_5f(=x&5lNzAB(X#8D?}W z()3KK+xcYA{b5$yVr=(ES{#TlKNx3oD#`v_g5#MO>r?Tz=aL*Q#@n5bv$>FLe?3g+ zf{RLhf~(;~Z^wDo!IQkK8~h!5d_8-?sL#&}g8KcuCj@%H5okm&2t2MA`6yoIfOx=fwpsj0;&1A3QH9ctL95{PckNnE?wj z0~e(SFG>#v?Y;m{+Ct`SSLQ~o%!^u`AG5YFZe4Nw`jUhVrHLCVmaJmK!-O z+OI#@qd&-dQlQV2K)@6r5==oxPhMJrL~LkTSrlOcX-~6$#H?R z(*vic_)m-Xof_{uITo}Y1ynpI1Wk<%=?L_$b#y6OAp>O)X08>|5R4d%ZpTJVAS;A;nxTsH6i8+kpmm!P{c`{9Jo{-MYM8 zK*v3LxYWD37u&lO*gF@wxMw*y#hO~gm|0|bc{gWe&24VpG-Jlz#fuLvU%qY5oK<~& z>wEh)_D|T**S~ej)I$pvo?X4>!nzIT)^0qqWW~bPj_jZia}`x7E^cv7PBUrQFf+>> zH;)2Gr*b>{CP$}M2Zts*`*vs7Zcon%0lw411Ez-ibqBb1`+~|iP{$VBzXq?8aRr@Y z0dDAl5AbmZ?d0_Vt%HHDzk?KcpjMtQIpy7?0B=ZnH#N|AdQ`xQoa7ZbDRUB|7o;UF z&Q6<~k~k+lbz)5Pgs8~2;GnwTpbZnLbFvumTmA_v1s10JYagT z@5CUl4nJ31p ztK(7T$D_aX#Megty^xSIwoKI;-3@SG%jP3o_mnX?Zxx>SV0#X;4XL zcQ)1NA~zCL&j!+mBp?vOITN$xI8CrR$NdY zXxFV5=yt~-A82_O0_y65n{v>S4$}04xPhJ|ZOgmki{?&_4Vaw~I3pzh)VPZSHSQ+I z_{~TNnUx$iF*2~h-L=ZmzRJO&#?iUT-nr7&rP|)P#=)V|!2#T>bttm3FSNA7)xJwM z1|4>iZ*5cO=GyJ&-S6ww>*><#3mU3}BmzjRPYCp!8sI(I*P|bF1ejN=hg+3{UAe7I zsjFL-i+h@bQ;elmfSy5yr{|=S(v>~ETc=N7KVjnhhK4DnWmC(`ClnTTWo1t*ESgbN zJhh;3YC+-bvhw*=)eEa@ws!O!ojd>HhE3>0e^8Pd=LmDHfsd~WaqT6%ok z`}{oneLefV+#v{3@IeOQ@CNlAf1hF(YpAVVX0T3+40)|(LB=H@)r-@DJ(wJX3K zG!Gc$(-+{~16s@k-D}a}3O=FJ$+^YRrQX50*v>J-(l)`$DBaXL$Jix6$52no+EagO zg3-A+lk+iFC!)-cN17gwwm2PWdMeKHVuJk%Z{uYix=X$FSNa;PbJJMqsvG1g}yEKWw6pN_FS7h`!L%JRCu&R##wx-?^-4lmoTAj>9i-)_(ptw)a!2tgWp zy}q73zV1EX6`;MKc?^#}KaW0t&ptm-a5?DFALs$=^SVz7@|qs(Gb6-jW|+^ca9>Cu z&x-b$9_>3b)^}Ed@7yH+1<3&mQv(*I1ujShA>^fbkkxt6hF)IO>VlXxg|Tak;?|T# zuP%;STN1aWDt&Wh#?q|lsgXXQ@zhOblKz7V0iHdWkB2jDf^Jg znGyao!u_TMdqJjdA-AAS4)U5D<~KVbY@d49QLS|=#E-Q$hQ<`#N_a^dU zA59lU?Ypxp7Eg)|0QYADrpJRelTD2BnHn23J2_%jVt99u52##oumfH3t*c9$w^t9Sk?%3l&#e!k3 zJ|2^NeENKSTHM{s9UKbn9gCb@vfVu*Y-}A>RQ!yM+jDYO_V=%tIB{-MbAMibe_noX zPVR*Kf*BQ+3+fvdHZ?Eo>R36Uf7QeZOMAN)cC^o^ubWU-HmkC7dPT*|nwoW!C!gN3 z`SiA}o94|eOv^M>QRil0kYMFhQ>cJZinb+2`Cu6J>6a&wv(;y)?G zr_UeM0tFRwU}u9F;5Hq&i3i>t3EBq^+RX3e-skDo@8u3D?_-N|5hl zSl@PPu-}}-h$Y!cbCRRyrp2u&%9)>$JT)<9PEt~LNJw2^z=Xp5*SBw>B?vljA=!Wq z7QwB!c3@w#k7tjM`;;)>ZqR6hXMZ5LOY7&=?d{p=>Cx`)-t6WAx@{I*-ZeS8RM1Vvs zMRT#6){+p5&Ax`~Jat#NYOM6p+8b_mG|cpPkipSlgX3Ywr$UWR1sh-V(K_pfj3)J)rbO()227ylQ zoEq#oE!1OrxCbPVXT*3-i}#)x?>!qli7`LXe_>+a!sMX&DFO3S0#GJxGehCs+vPbC zkX9b3)C29oh*?__4_c>EnYyMpera~Zj7Z-p!Jd->L8lCWF1`o}01fJa7pcHne4ru^ z;s)fB4#J)h?ms=ucXE*D^e|sYsW&G&XiBhmf3Vl=gs|Dk;ge(hC&&BGNQIVnbIVdM z?imE*cURW0oD}0fGtGZmlK=GhpeeBd6C?em$A`>Gj+zo3*zD<2Zfjp@?@;69T(=Y*GC9z_&)*HXaR*w4 z;_uey<<;rtQS0DRYVTC!>XGH@5p8X6DkZHUAQ0>7I;*K^d4K=Z>gx8qyteG@uAJOS zrKJm+o7Yd8w0FUR)9cn>+OhrIo*kF=@4m2i=jokWPHfwFc;o6_D;6)CGHFSF@64u# znYA^m`+83-TXucR)(cy=F6r(`@(t9LRS;t5fjy5tYbaHO=@@#Z< z?)CPX4DLWp2=wd^0QE{BWnaI)XTP6Uj}K@oc$XJw=TNVoN58MhTHa^$qCrgO1-#4D+27 z?=~gQV|twT>^Pr!aefP90~W>y&I9kXU66`cjSSg?0V(nz<=v|M=+y-=tBYdR6vwVD ziCbF|4<_R_R3t7+37s9~2QKnFK`AXba9U6hXc7au#}-uBO%3sZL^Py~Lna}2dxKW< zh5Ael@tzUxH#;hDTA1&IVDITML35JBrzZqYi4TC3cS{SR7L=!5KD?Kh1Or)R0a1y} zhKT(C|DU4v-L0+bC&u{CNcEeN;5RKkcxqh0q$vLx@nN%*B71_os~te69#+{q*Ezd_ z$~#AgYA44!7f^Xu?dVhiZr|ZA?`oYKTHIZ`L1$xm^!mE?`@2pI0-bIGFYln+Cw!b+ zUEON!-O3$Y^BvuzEo^O6)Fs$?lm&$fA|qDxPng}*)SjE$mX+0>l{K}hYW3vF2Ue^& zzkU0;ZQG8lU9)rH!i_U$Y@RWB+wAGv=ginOfA*o}i%+asabn%7bGvpNU%z(Og88fa zdKa}cZRqbmx_I%q^{ek5*t>V>lG5a4S1W6MbuBR=5jI99J|-4LZXPc+jdB;)W>?o9 z7kAJELMUjJJfz42RmA}w69T*@_2tT1ayLFTmN*r`deosp4^(a~$BQRe_fcuFFk z0m%l$tEZOA8Kt>ZZuX#o1wXeQKaXC2Pf&U1$hA`SIrdBjb1DxGxpcxmkm(A^WDb1*>XfWOv(Ae|%rng@flkB6Ha^VQqv zskPoiYi+#4p#Y=Jp4zM3)Ytgy9P-uP@2?9g?EJJ3`D-5y(mfuibJR=!n6LIpH--FM zYx^EouL&NG;2{o_Qm@+^x{L{}-Phyo30{%~y0D_x$Gykfwb$FV-N&WL&#B4J5sVxl zf!rEo*A;Hx9pN-F(q%@J*Ze5IMbZ8XV*}s=x>EKju z2ijOx1lnlf0KTlpHXU@{r!8oH*2F5+%%;QBz0=dZ%iFaFwDiPnVxUWZfK#78Xg}=4 zK+lPRp8ftF-9E0JUQYE6&Q%WXnU?l0%IZ?gY+MWs(gMO|DQQc)ySs~v>rzwelau?4 zidJ=XA6mZr^!9E0SFTt#aYBDpWmjoQcWG&VS;@kxvL$s@OY5tbH`c9fZ{E<|zM;E) z)6_|O=FdK}e)ZXnYj@3`y?R2=s{ZZ+OXi;6y8hPTeFxXAZY;?6u(Yx_FjQ1l<`)p; zWMow0jCbkxOI8E_4#^C z@%NeJ>ooy#aDXqUyaSyPK>YZfzc-|PhbZsD0vBY&%}$M(pOv&MKXY1AOlzP|qmM_f zlXHDS;_F+t;fa9G3`jPhv!(z4|9^b;SZ7pdqnkq~=)wp0ZeNccU$1U2Pl|FmY`im!Z9@#S#W}_7Ogrr~c6n&*@YCMmqp{aVW3R8qz5vaG z-m3fj)DMRk9P!fL=%%*bQE^3p;Wjt*wH}&ld~~)1865T1I^eH!I7shUfbJ20?V}-j zr$Y6Pdl?-JG&<)jUy)|w)aT+e*~_lW6S_JbbS@dJZ`$Kvf1mB#^5Tr0PSB8^a9S!_4|4 z>}N!}&x`V15F0orF>r38-+~msg((3GQ-c?#2QSPBTmtUWF3S#IksGlxFLG6W)aruh z<#~~-3ZvH)$AK5+MXxQ3URxfsxh!RMUfkT+fXTt06a2g;`1qZgA`=Xxn1hg*S|}>-ZXDV>Gd6fuTF{gf|EV#)6Qg{m#fQyIjOhspu5xxQw{vK8 zbZ$ULPPGmWH4Y9{_Kp>{jwM$1#h@iA_C+=}S!PzrM%Jkojw!}AsfK2i&Q7599DXjK z6Q~0~=T?In?f$NPLC$?aPSZoYrUiIT4)E#l^r&-ou5$3quys=tm0)0IWME*B787mC z%3Rvn(Uy}_lay4SnmW0%a@T?dS9a|>xo+*!_O_n9-1f|jwv6=l%#5DAoZh_L$preb@t+v;pTIm~-zbYMSdO3Pzvu=k8$ zpD7_;6Tl~HgL>kiBMd+%6o87n0IvxF-hI9veLn6}0=%dAdr$W9z`7U(Bpcw3Mo#zl zpC05t*&o!I1=X~nz6(<#=VipsNRC{TlR7^mrOns3#?htB+BU_+Hs3R3Zf)DqwOb!u z9e`2~k`*!2BJD(8KY#J$?)^hc*3^W=q**#uI5?NvIaE73x45~rySa6`yY+c{G*g(aMY*#f1>a#aaBP0@CfLPKXo`7Da_UIyyk2G7axo0;diI0LjOZ%J0j(wvax zd7&%vLsu4rt;~yBl^+f1+paB&gUs8mD@s~hoU|l6d}5SGM}SkiuSct=Z>x__ho4U` z_!9TYLB7+1p>rlv!JS-qe|CBp=p+@;s9z{zG8f##^_w3XIx{k0Vu;7W%$Qke;nR|X z=VnDL%8poAoqhM>8RC-%uELJe{_O3e`)9_6fXchnfT=OQQ)2yQCPhq-k81b#s|1~^ z)Gji1r=_)JX0~LcPbw*%QdT;(ylir5$>h?K z>6I088|qi}bg!GxzkcF`RXyD+ySsMJopWi+=2Pp|?q9a##D;a3_w2g7clVCP3v08| z;yk?qot$+w)P?wX<@xwyOsyK7{TiJedi~s{hWSqp@tG9l1uE~te5QtaO$_z~6?x#< zTWGJ=$Gz9jV?u!U1b?qSA9qkO=jS!qm$LFMIdXnR+{~oN1(``R5@MP>JZhX=Y8+jw z9X*RI9n*{~WAse2oIUz-3N}ofa&p6#Yp2h?ctFi_jBzDU`jmH%Z{5Ce_S})R>lU_m zG{hzrxO%3WTICvBRoS{$fuO8s)7bB)allXGfREY%U$sL4>c>J14}0pZcUE8NqOsc7V2h{j z1{cj$ZkikYwT}B~9r4pV;-_&Oj7|iopA1tu1@-ktCT6q5hzUMsZWycj&zzC8o3}Q zY(a|W{50>m;8T%7Gq#z~@@{28_^QHi%<>LY>J=ugD@j~c7&{};uif9F(cQ7l8&ux4 z`FM5udiQ~E{+t?wy}W}Id|1o7xzWM1V}d4zc+N}=nVT6kBQIT>1jsAcb9jAhf)j80yyT=P=RVb#j1rx3^cFi)*=qQ<9^r z3^zY31A_n$PpGfYjF#rUtnA8&h~lWIX*D%xHf=h+apR(nj^@nF`qY%>jI_$Q*qX$I z&ivekZLQnp%sRAU*~#_mj;&pDWYx+&ix+L2F@0%w*PNz?1x<~MTADXcow9Gi{B1L) zub((!%e1MNwr@SVdE<%oYfo%kfAjFcYX|qQnK`v0IVCkT)ZN}*PeVh7hu2M6qtwx} z-o?4u)v+(Ydq!m7lu(~3A>Px&e5QngZXN&?dEj{r@IW4DFK4%p+r&VhNr66~)pNcc z6a75MEAK%4*cF(bdYAvhx6-Z@QAKSf8k)XJvH*1pEpzRlI6$!UKj^J? zz+2^zpW3k?y(6AF8yu9EJE<-UFx}#zx5{39uDkXce~puV8b|%qkNK&e03o%L{;H<} z6;21}UkQ+O_J9rZhROI=1g6`;Xa_?|)uW@(C^e~O`G)PKP zE-Y2AYc%QXw(IJ4>}YptZ*ggBb!lmFX=!n829a)UtsWii-fe9@Ev-J?-98g1drq9< z)HlJhv(uodS*5a6pgKdLIntyr%wu*;(1OIkg(?0EKt*2A;`HF9*`dpG!&Vf8t;h$p z?~seUHHEQj3S(Cn#H}kySYMX7C_Aht#I?@VuF1or(bKch(;ak*hmS`e=(J?$dWAgBVty1$l{#HrSGJBh0RP0oRZ={BR*hOa_H=osNT?k3I~T0&@G6rSj)RQN5@)6$7%-G0zMETp`f0Ny(dVh6kTf^Hk}==bw#bakn4ajkUo zaMCm6VrFG$U~n`wYsxQZ$;z$@3oj23pHx|SX49tgTer@vudj@cuSrU-PfM*zjBn1$ zST(W#>YiQC&z*U8_VmM($FJ<$b9VdIQ(HEj+p+D!t{tbhZa%bn<;KaAmUXl*>uBFS zch1SxtM<;Hx2&Um=iE8xwro1Tee036tIuxVdgJiHYljak=;+Lgiiz^`_i=L6l9n+M zmx{Nvt95g)b+GUB@thtNG9}b+Qi#`-5b#bQ@L6mVgS;jNd4acxdx7?x`M6C80FA*- z3hoL*SV+xM-#%MiR2p8U;1&!i`_)ZJ+UzifLG&^ZwM*Q5A*#3}!YI}!jd&fo> z&qfc|R&Td1fA9W4zX<`p6F|3H_;mVsH@JJ$I5`(uT4kA-W|^Cp*x5Ds`AtYlo|Tus zw4rWofA6-%3lD8vfBwM!M>lT0xc}h83o;k(kzL-se*E;woqIP{#stx>dHu3DlnjokZ>8-0kk#=;|6_WT3>W z>ZDugslUoqZI_4Ies7Hf-s%Uv)em~A9P&~*?5lPnK=-h_)_Nz^74BMVBJ6hi7_G5Y zo#Upx+E4wIuljKiQa$0TddgSzw6Dr3U-`4a26sX%51UEEMQK~My1BGFdcyC4f|Poo z!p_s9$-|}7*QdkNr_9bK#ZEsy$RH)#y0qQ0w%?+m*QUP1s;0@jvB|2V)v=?)skPm) zwcVkm-Jz|+v8}_Yy~DY++qS9CqNUfmy~m-W$ECB!t-IT^yW6d`OS`I3u(W`yHcq)W z+-+8L;DW?}1u4M`(?S-dgLa!O%?@3f9kMh#1ilD)Wgckv1-$HASrEOhBz|Ra?DTm5 zW^bn&C&yYB*LqjCCU^H%5BDw~k3N4dNJK-%^3X~>tmWN|aQ}Jnp;IG#dP3Y6&j|t0#vNqyAgDnE zDe{8dL2E1nJ-fW!s~sH6T-=IW+!ckz7#J8-C8hJCW4j89iXtNm!$RA#vyZJ=bNk@I zxy{YB$;nj-38m37b*U+HTAI#p-}>gtrI(j3T-vo`$HMumCr@15*}k~5V@X%X>WTeZ zXU{yabjk6xYtC=naCG^y4U;CW>gnDwYvzH43%1RezNoEr)6D6Yc5XkrZOh@ct8W}W z_~7iRlN&d+6&7bl$HWB$IvN=1i%Yue=vO$o*V#L_xO+?r4VoP04?27;)N^W>*R%+~ zso}n$PHwRG#6Ta=u${jbcv-0jWHreoKhKH2q_yv+`T0!?^qcGtT4p>o#BX{;z~Z!+ zW!XtfvJ&Se#q%2VLgMxdbqNgUO%+JkRT2{WMzJ7gI z=ep_BH_w@~XW6pjn>JtCzwge8;}6cBy?g1xgR7UH+`Rts-krCP9(;QK^xNx~kZkbf z?W>P3pTB+f{zsD{mhwb`})>4wydbCnO{&e zBR#V(Hoh$=tl8JE$=$WW#-_;Bq{!5y+{&`r#=6?pw%XC5!NsN3-5qqbwu@`0vulU5 zYm2*EyBDb4QRn7b<>p-M>`>%nUj-}gnq6I6U0vER$~(|PJW!G6+HMCr=RMWZQddaT zMm^2bXn~u?Zg#)ZXp)m?6-Z5E|17BwCA4V{klZ8nW<=1rZZ&7I~g9iT34 zTaPse^;)*}nz!~^w)WVycH6ghIe<{NU0aV$TfcSB6wCI>+V$OHmDQZJnc`j1meV6b z=OzZsPYzy~3OXMYw9Pg>cwu_rvg~lkBIM;c5y)sscIfi_@RcPo3$r46L%gdU?W&xe zYuw!G+}xVn+}b@odVEmIJNUI{XaygndpkYMZ+e*Dj4;1BF~QTL{Ck4kXQqZO$c>$! z9l0boYE4_&>-$746h$uMkl9o!?;hTtn*eIxO-}ZklN>TXBWiL?P@|_ynVoI9y(5X` zon5+_U8=E7p0z`xr(3t5+oS+TP-`yG9bVo+4#t@Px@Xg~&(EX9!==K}so2dU#@Jkd zjYEi+H`dFyE4QE_F(o%FG&eqW)%2;i_U&Igd2&@kLQPUqX>@dDeEiA@{kIMue0Tlo z)qQ)G_4jrZ<~L?#bmZsu7vxVXFPmLkGq1jGVN>Js&W?2x`ghNrb9m{J!%LU!m^E|L zl*v11&pNzx$-2pt7PPk>T(RuZ?wuz#ZMd{|_tiuDAD%kBe&+1Pyn@`=*a$ZdYYj~k zWtA)oyE+HA24}ZUU!O@~{!_wzrbK#8kMx-y=?^OM!a!5Epi`6seI^9@^!a;rdAauc zdVo5l{$6C4casBsr-u5?hzwkk9=kjzX-Q_nthk6SU(b3+r+Pc*dOMc}C&y-2=Q;j<(GXwsjtE^&ajG-d;_9J}rTMEx~~;AwkViVQsOI z9r4kf2{E1V(cMXLeW{7(SIj-XVs2k@LSJ%1cS1}@Y*cGhcuQzdb8uiwkbjfEPo0-X zm5XzkqkWZ~b)$_{qpfw5t#z}lRf~;PyNyk|gKev;Q=6Mpw})%Lx94PE@2S4tlf6Cr zJv=6Qc}?*0>U4K+b8%^Pb8T~XYjp9bb8@Y5aIST7t#Nj(c6O_C^Q?Aqt#oh%-5KWU z+Unxm=Iqqv=F;Th+~n@sS1?f5b{($5omDO$7rpS`U*RxWll4ZsciGnH~=o@z=fUiX&g=`d>U8Mr za_;PQ>FBlZm|)p9*`RH*ZqG!k-l?{oGjtj!3)a+g)Mv=FMVZft@|_jyKQAe0K`Ll> zEqIS@5MpLsoKfVVqvnXLu*1miE z7+&7ZO$}X;8QmA|SL0$|ZV$Ta8b^8OT<_#m>xgLIm0CL#S~_N#+ohS>rWjcjJGi#` zdiQ`Xny>@4383u`mds#24S<6|r0 z<67e5+fz~|fLvQc0j`r2PJ^L3fIJtV&?zwX|PMN%C-rW6*7cFRS zUDnrgcH5RK`}UmNvia(v{Vy(DI=6k-q}uw*jLgi)C?6YJEjhVZUDG-T&sqnUCO5Z< zVg6I2{inzJ%#87emv>V_eJ2O|O#+=~>(?LX-RbGl>jPS~Hzfenr6pfIac*%RW`6Xw+!>e(6O zG0o3wil5gcU(X4?9-yO*z?XIOd$>&Sbe-ts*5~fr?c&hoY~SPR2+0N$-JBvMDKaC2>Tcdc`Cu61*6aq_IQc5HR@Xm|E( zwsUQDaBs8$jo%@acP_0?PF-%!&7Lku<((_|It$lMd*^mXmue3$TWKv_F;{23ekbjn zPAUi8)DF6<9d=Va?52F!Rr#>H$_anN!vSXN0!_9Cnd}MFKj5c*BtY||kLn3;<&)mZ zU{dL{x8hlE#WOxiXF?1v1ZZC~k!rD4(l7V0YH@LH_Hb--b8T~TMK13;J>09E+)^CO z<0DM->zs?b?1~!o8(NJzIxJh;Y@3>$n;P94n%(Q$9BVtR>s#%c8l9V(9hzJ0TiWbf zJ8j##9Xk6gdnfAm^qO~f*>rZ>gUZ2)mfaJr`g$BYrs}oNQEi{8-rA{LQ^s47#yvU2 zb6TX&?D&BBDM6sQ+KiCJ7zkVl21EDZW(CYm_n(&@G9w|RGr+sn-K)mUv(DA6-qo$y z&8@=|THZ|t?Ky)k$|F$Th51bh@t&IyIyu^}BiMOEqd%(KD0%W~K!#$cmYf64M;uSMKOoT9nbIr!}CnT-=Bwx*@mCnuN2#pOhVRi>tNm6c9!Y?xMGKe?)E zYI()9(z1CqwX3_jHcy$beq!&^j@Eq(7o6L?dFTB3yXG(2zhc?unKR}$Htd)+^Zwz3 zm-g;DyKncs)2AMuJ+pS^jP~N9x~$B!pg?DRJ!4hX7#rJ02iG9Jw6q60z4 zTSxd!10ztcHWYM6L2rP2kH6Q1AfGO8*9ifjK50LA2yc>~=OjN*&~z<$As%F?4njhX zMFAB+LB7+1d}js*P7Cy#7UVZI*l$XR@2u$HrRlK?vXT~Mr%s6pZ}xC&aB*sMb_SJt z&Y)YeKqnx%fOm|#xU{;0a~kS>l8}pZL47NCw@wdt26-pAm0fA-o2oGgwXRsAY15r zd^|uW33|GA!Vu&t^maG5Ha9m=-w@PGb%l5kH2L7-0$O5%lmcrV-Rm4(YwbZ7&NjQa zg0#3eH+g`{yGHOXi)I&>R?u~^?j7zPRW`QOp6&@&R=R?!_DVS+I$OMzj(R8_^N>I6 zr*u3><+QibF%RXVzN#k!l}`t#p7K>W=B04NL;i%1!Z}ani=FFD{bYyVvO}#d>xvd?Ax7OyB+;%-5l$K?3z7nrnq@e^bD+Zb#=8- zkBze|t97mEu&?Q~s%o~XZgi+`wr^~;ZEUk?Y`1ReuxjeGZ0<2{=&-13wQgv$ZtSpb z>auF;vTE+OYU#0R?X_&_u>d2>)?TZ&KI_g2mi<$7yZiLJ`;7Z1ne-)d!SmBXmZXI&P7Pj^60|Tma6wW41kH`}0W*ST$NSGu3YnW2 z+!y3p<>6HB>00LIRN>)L=j~DL>I8}C$pIb{13V@MdQS}Uoe<>L8|XhV$ZuK*`f>0x z!u)1~FRPsq=|49@YEwx}R^Mw0LR zobZL&vD1QrhP5YFukO#wD~pTC3=J+#N!+(~)sqWn_bpj6v7oRaDY-NYwo-a{S%kAwk>LET0fy@=bY&)x;vJ2b{t!?=JL*+yB99r zy==+;rAtxiQhC?u;ojxx4k=$cJYbjhLKesRx_4tB z&>jYVPc#ye4SGR^rU#sauFC;$IDss~29xgatp&&otmR!B^~*btHW&9gTZaZ0*8)ce z7e#$z@c?IyX6Dp*ElQJrJ~NYtkI&P*`&JJqQ2RovBj~m#lErCzNyWwxx=QZ z)2gM*s-@ekwZ{a6dX3xqjN1B)T6+!J`wY4!7N$(V+zDe3W zeFpt~W|JmaPMT`aHASv@fjF%{-BGc35()fqA$RO;+zDI?3qz~JL(*Ibxak(Qhm z6p$GjG^f4w;+|a_CQoWhOD&I!Ne%R$P+#-t-03U3cTTCOXiiBf4hzo<4xUe2Z#x6Yinf9~wd8`mFzn|Kpzsyj=H%M#*UOiW$0baQMR z8eQCK9qoGpz2?P*&5jA05fuPI(oar z2$=-m2ZCtF!5egRD(_r8njBp~C*L@@wz|0{n_C)6SQx2fdFU_qR^RKZdC*hssJqHB z54B@%>IdCb4tpt|bXPj*u6)Wv<+Q8HNjJ3wUMeqBH-}aO`9q*$ z%g(y9EhM87jGfxNoZ4LM8eLrLJ$#y-T>AYydORI^oZNa`LQ^fA9E@~QlI<#MylPuq zs#`2-+e{kT%o|&6S~_f6+HIQJEE-x&Yg_cInzSn#G;5j_8{4GoTcqk+CF@!x>RQF? zTErXL#2VX08{0*jJH(nh#ag>0+Ipng`=mQ2$aVFr^!Dpcm}od*ihlo8_1r1|(CoON z88Ly=q6518eCnK>s~qg>9Gx0nU0Y%O*o)@+YDl&L;<+OZLBz;(k5a;)0*%4p*J@ z0Bz4QM~6Ny#|}rw24{~-PtRsImp(6-NiL3)U4yD@{d|l~+yg9&Dje#X9UD9C8am7x zI}97z4QiV7DjO9lo1`k6q{sTs4h^exHsj`8&x{RXx80;Gza zyeCA5&q#D#njE$uF?fDL(7gD7xpDq;VxeeWtlykizqxS%bK`?&#sp0X_nRE<+vDe3 zYv)*DV_WUuSZZTaVq*)5=o(ko?!bWlz<>$9zSD#JX9oFC4+5=4h0M%CNYMOjsPFVp zpBZ7G@@{r)FzD)=sDOp3QLBrR)=p}nyrhGeKv8-3_QkXLMajzx!&j8XEy#*#3-T;+ zv@3IPAfvp?u&~RwwQcconGozTDagGqz;#lX@6-rCNO?Cc(tlc{KbY+UTCC*mUTx=4 z=I&{usKm#>XrQQClaR(>6g ztJ>T9^7C`T!%Jdfw#=G!@5qr;>o=_K?VaDyu%e@LU4Q?^snga@oH)O^d3JO2@pWsj z?Ao$(-mEj5)^A@huO%;c!|YkFuU@}-{K%Q@TMn&SF}=2W)s#t(E}g%B`TYGWm!93c z{^8MsGrM-Knml=VPtT0%>hgp%cQY$nHO&-zhiX^XMkj}fLB6wNL+8W=&yEElc#$_H z+#h^?ly5(1#L5G7saT-TL`vItadXq+=cgx4j0|aXbE$WBY;<-ewS5O2#X~Cf+TC5- z+#K87oX|?W4o^2s)Ct}JjYdMUL8qr1G6I|CjNG{E@Nn+(f_9l9Wg;?(TnK{oy3nFO z+X&iD>(=k!)#u>U>};FuZ0}`c?VuR%t2!xAca4wcAveXdUJ6%&6t4v+opo0_=%aGR zU;VPT@&zyTQ(+btGXifk)Lfl3{drISr@VxB!DiaY1uq z1Lwp9%#QY-73Bv)(f;#d1LnpC&WiS*5fv~q8gy;;tk~fG@URLempn`BYA^4u=$Ogr z>5zzSjf}4H@~(1q?ez7T78*1)zG`j)XAyK z-=ja!bxNrF#9;Tyq2ALX{UJpjyu6zn>Rs>Z+~nw7@8FVZZL7#HD8$C;WntT1R8*Uh znh_kBFP8=Iz-mZXOSHRtA>-MaPs zmMts0dscRKZJ01|(}aoJr_b0qYtG(aTf_$e2`%zxr%}I@$mzFp&BBa69nY{82v>X>Uj{$4wxwg7Gwz`6fyf!z`x{x+E zr*?N|$n+u_3E2vYMnbXyyd;G(Kz(GVc6Ss6Z$%=PZk^zL^~fT$EALv|9GjdRI~}~c z>|I-(ZJWGYi)@|z)f}BwBD{6$ee_m%Y3=t@J{hKPI$Y_vzsk`d<+Gux*Fw~;MjBiy z@_*7(^kri2(}wyR$#Ey#jkh=`^}Fjt1zH$YT069PyL9+Cw7598Ir+A^c{RD)H+s9a zx;XT?dRN%{xa#P*dMaks>6Nz1<<$t~R`O?*a;6tCXO%H$lrrX&Gvrk=mTc_Tw*GedP7LrptFZ5u;PD?@b)6xFnX%E8JuhKe?Z%62en zW2kBe3AVQ})%G%0PT-1+<4bVTo*Es#INEnkOyKP3fLT%gGb8sFswxBke|6`LnaTu@Tn z6BX9x?LIlgZ&qaBlwj{^sQYJUK*sOF{ilWdPLK4T6BjZoHh6k;z|x$UUGu4S-vCAB z-T(jpH}uu7C=Op$o-i{dw9(H6UfwmkI5#^x6FWa^;gD)(UFqu58|2*=;5;qdV@jCU zZ}-G`o0)>l=x2a7hb^M!I-+7MGMK#b<{ErTO_xt*N@Q zYsZ%9)4TKY>Qj?be7yRrD()OUcxKI-H7zYO%E~gs!`g}pFYelPc;(6^t!*18PuVhM z>dt914$NP$efo^O3m2`JIH4jrXf$sbI(S|}*xYz%kq2txMFmWc3Yr`iI5F67BCNcd7UEB>@@_&zFg43N z4>w3z(*f$MIzvh*aKQ(f9)&cr;AFd-dz%|*0dTuJRJPsS4N~59xVv|{dvv&afc8td zyLWoHc6d5>c)~if9xk2WUNfXDLni51-g!2A+SfVRHQ9Q0I(c_GJ9N4_^*Z?!yE^$< zTUx64nkiH}t1l1I*b}9)Csyr1xa!Fe`7@C!H)1qyg=w6LF+GxKeJ)J%mbcbH8_k(! zYFTdDUMW`24esvKJ>1%zEn7V8nmxRmU4ptjeLFmCYCN3VJ=}Xd{ZmZrOx5Lm!{n1o z1kx**lS>#=OBmBj8PiG`a;q6~YZ&s%mDlbu(*iD_dO~TWt$l zT@y=316x%)W7!zc+-Z%+qUfAy6Nzit*5r^ys~rG&CQ$lPwJbM z65HkHIw8;lOZzU|Zw}a^sh~2{Z%%yZocPcw5x$GEBKI$uMtRE)VgjY*-KNA06Ws|3SU!dpY5cg>jo|D47CPw&9iwp$c*zGed%6n>*@ARm^9v{zUC)au#=PFk( zLn#?%HWoQKxy*pDp5pSt*qGD+|0FNZdCg5XckkFVdBTL^LP+~=YJKh9BZrPIU9z#G zV^KpxVN6tSS@F3|8xJjByuPn*+vLf+rcXPtV9vos^Y_l5duYkhj8n?Hli& zKYn`a+P*a_x6YomXV$DO{k@$fh3-yH8nOx@dM35bo^{SH-Tt0);zH&pMa+r~nv)PR zKP7ZdLg0*8ziAP^pt*|>@BToK2?3rH13@R9U>(1MEKfmOl`_oN`N z8Bqbtv*PAwB+gEbn-UY=;^|)R?AYMs)Z`3WgVOBmj2tzf^(d|`$W1xqVLMo}&JDrv zaO?0u;<~$axVyG_y0o}EwSZOvyMU%~-Q7D~-CEr3+dLebT^*WToIpn#d3d)txkJjk zJ`cBcNBd3}rwKk@UGA=(uFlNv@ z+*({*o533`TAkfmon2dn>%N_I@Nl(HMx0oxx2NwI=6z>7`wH)fp=E8 zxm0_AmOZw)`Z=f=8yJa2rSrv?F{GC;WE3-GlrUtKF=mxB=2S4|Rx;#QG8I%Y{Tzm{B-Ruw>lxvpvt#{dMEimgXBgye zAkfyG{s_<6@j;XP+-F9FHG2E_=;%fG_^q8a^XRITN7k%5yn5Bqb!(1oSa)p0x>M`d zpIW!>%$6+|cJ8>iWy|TMOXuX|wYa&>4e_5G=mjb(!$7CQ&x;J05$p+>ub39XPV={t+l6}19G}K+&v1QYg{>i09 zZJC)VK3H?S1_#+uJLX658`}POMpda@ERpJw4kdPd+er&hEK0POe&h zdhP1%v*z>{mX${*teZ09>CMY`P8~nLWBajHt0t9I%xP(Ve(CC~>(?*t*?ny7+L;Xv zlWJ^BKKga;|$Ci{Cq z$~ZWQyaW%myz_*Yce9dXr^Q9KdU;T@yhAEw;6+cXr!%;`b8K;OYI6Y<4eib@UEc1s z4z?|x?kygkCDyiOwoWx}-jMRH(b2KP!=v5Rt-;Q|&Do{L&ArpjwbRYD%N;aP+v(}t z;q3&Tv<1zLz)Cs@nVC1 zWIL!9K)mLpQ17TzZl{v#q@EP06B1_Zooeq=;qBJq>(Sxr(c$0@FO-oPbsmlrJe{iS zJdI_wO)SJ>vbYl}7&1y2Gm9CsNQf-$FpA*X^NzlyP-nz5jop`e|tt{!r0i)P+rfNTh5eQ!BEo3P}>0-xohlTZ0uyN1h@4d&AsY2 zP@}K9ouQ_isjiu+v5lp99z$XgL$tMSS5Uw#aCtX1+-FLd_moi3)}3kL{-7=W!Jd;t z{U=6*dn+nBX==~vpR#|=>ccCSA6dQf*xJ=6)~`LeVcn^X>(6Z5aAMv1}F z&K);*?A$kP#>|9-X?~v5K#NpB8!M-Tc+HCNof+yqEzB3RIu%^r&5I3L5Fa)tDsX0e z_>mP0C@<+CCNMx^Xh@S~amn4qWkvCExe?)Me!kPHDlTu`v}NkVspTa-`FT0PfnCLg zC)Te$v1;Y+DO0yhn$%NL)R>yGYtHPm>({NH(7$cUl%q?R99gmW_{wGb7A>09&`=qd z*qU8%cI%Fxuby5zwEyzX9S4^zY0J%9+&kg*%{wozU%Rk-*TEGlrc_nWXllH3=G4=h z*Y91u`1H<=_b;D3zkBoOmQ9COtvIz}#j%BRmv(n%Cng$cXq$-3CK{R7y1F&FIZh7q znV%FfCn01`Ldd-2kU5D#a}ok(#|F-h1ua#X66P~G#AiyV-_#I)T;(04q?-m_X$&D} z1p0v((Dog)yjze7YTwbPyaU|{=kDC%3fiCF`hJ8j*2t=xN^T-x0o>)k*D*2T82X_n3rX3!bQXd{mpGv^o!+azo2 zY6rJQcb9fw$8K-?UN?scPHqz&y^)JKIJ?o)sn^3L)5Km)Lf*znEIx-lp@Jd3lmS}U zl{03SGv-z>Cx>}Y4)LBG;xjqeZ)PCq!tBma|3qsu4KB{M+`QxKHXUBI>hP-NN7t-6 zzHSYqusgMJ{i)5Hj%?g;c;kj+TeqCrw)Og+J=b^a+T7X#+BX^EKP}V`G&39KJ1xX} zR=6MJ5YXvizB42I=f(ujj|-h06*x62=)~G(kkX2BayXQCO8%6&Gs47S9EqP z?Py=#)jhkRzOSUDG&Zg>DQVS|sjseGdw1vhr9Hc@?%KJ2^5puojIE0ne|h%e(S`FD z_wL!fXi-OA-rV-K$CoZVy>ac~^(!y#-+uq{$G4smUY@jW-?h0rx4FBtxVbdCxHLGqG&s37xVTli_!ii@#T!^g7+AzuIc9hVHD?t< z%DcMQqGutv7w?;RQHh1?nclUM=chI^P50?&5#};13Av35}-ZeOaCahas zUEAGUi7xM4+8sPQY`xm-o!XpiT3xMM-E7-k?ONO%8{M2BUTbvrXmWLJ^>*s;cIk8X z?DKT%^>plUx9@Rv>UZ;;;O-0B+Y8=31~2T|++15h! zmL0gT%c*3@tpcI^YKFoZhC*;*SKP=@(!@~G%uw6GRMpIqSI(YY!Cu(JR?^B)+Q^V! z%8*&aP*}}a(ac)Y&RpHXT-C^2)d=d|R<|>N+H@TZHDFZR#aP?TP}9cL)X&^JjiGa@ zP=q&cqMg;W$bjjQe&9M7a<+v}e}K>8(7;In-gTjVI^z5;Ci;7pEIPS#`JtstkE}s$ z+-=%$e9NZ&n>HNWwBhL1&4)K`IJI@l)dL5PFIhA*KDx)>ds;}qj9|Z+p?(vCJg0)k z2d9H?CJ<`Nfh?$9(lfzg`%hlMdI67fsRb6#PT5()#PFQev ze(uRND|XMDIkUWUL3M3wdRlp0%$7N`&u`hZZN{`6)2DBlGI?fI)q>`x<11I3ShZ@+ zqzRKNE1ENMD-)BeQ&T#Miq_4Zb@%kKFOTkB-n;YK{=FyHuI(=_?kX<1di40`=Pz%b zIDUTD&UI6#Hl(Gknlk0p&Fhb@Uwv}t`r9WDKD>JR=*E>Jn>QX?yZX$kl}DE@T-D#( zmR}g;?5->-X(%jOXz$SIY&S93b74x9r9!xp55E=UQTn-DxVJ_J(UO%Cyy z8s?9yeTT2S3jtk$JQ-5nWydedPKK0sZQfq>;9-O&Cu)q}Ve8L=rdeHGTS3QTxYxV6 z*SdJrIJ;-r`-JM5$6Gr$B&08D@7=p><=z#m4z1g`f7QBuOIGZjwO~n2b8SF)x`jiz zgL8wcYonWci@SS=hg+wIYnK~jEDyP)gRrSn-qks{G&nj#+IJo9Ze8Bk#_urtv#ri< zb&f8T4z4whpfbJ5*}d7(y~WPG&EB=!5nA4LIXHJaJNLUg^}4yY*!VTud$%}yc6fSs z`uMc_c(r)BAs2ISc9*wHlbfr(f|jrtUqF;db`e8bIdf(is9Bd?&Im2+su}WX8S){8 zT|EP&uq$n5C~an_?qH~CXDh7cN-tweDq+a3W+<*@%qwF~Enq0DVJdH7sc2)WZfCA( z=csLC2Py7gsOe;=?PLU@F2=ep#)clonoj2W35=~%7^chvCVF*BGP<~KFmZ%U}o zq#&OO{@#6lUcLTa^8@^Qe7!Q<9py!MigS{8ESh&_$&!<+RvZC0?oPluv!^$%KeBQC zz76Y-Zr*fu`?eFCHXYlv@${bES9kB&*ih5%=RGAT0JI!0#CKwd&qVOWJ&^KlW`zIj zsK9x#A@gHHX2gbG-M0(5h@gZ`>G<8JH?MY2X`7!N)gI_k;b2?q=v3?A((LTk;_lky z?9k%kidNXQg10e&)}}av%DY-8*9u$5Vk`R!N9V3UUx-hpM|w|*@|hMJG%YG%R!ktM zyh{k28s!Tb`F3)sbal6ulVfLO5D^iw($(`bx6TWTo>)`gkds}Nno=AS)sT|BZ^4`+ z%NH%KuUk}IGrhd5COL6#Tg$QaYj@3^vt!2e19RtXo;YzuXUESKr#{GcWAf_3`1|&rj~%zi{%x_RSZ!Ze8BhRhyK!X3Dg8_a8jHefP?tgNN6x zoz>XbmXmXI{rZm&?mfD8<>iArA74EA`1%>7ygRXe?b(&9jxJxkamu9r;<6}jKQ$S7 zH9r0vYnvt)yD8zmi_>BjrA2{Idc@+4h(&4P^OHj7Cx*?A4F+wx2m_5>P74j3h-3T? zQsjX;utC0%h8`&01p7_LDDUQ_CC*5QZu9nply{Ae&e-=?kThR`t-R}S1C8jnxVSdC zdDgpoRXDj7T03~^n1tInPpfV`uw?n3g^TwsUbJieoXvCRY+JBk|MKOh)~&y~b=$r< z^XlUg3hf;$9h_@jT$@4T_n^LQ7icWc8C#c@(({&$&wuTygL7+bD zB=Esy{h;#ByVuuyf~(t<$Ov~$WgTVd_Qs0+tCpT#vhd^@&}7B&b!*VdyF(k+pW3qN z^0w`lwrxAJb?b>;J8vF6baMXezR2*2e!jDU1EvT2O$_z#3-Or=>(W9lwSWxa%}$88 zePlnRWT2eHQr@AR8->ipWWRgTY=G^T4E0!NxzHGz9343SG zJi2Jnjv3Q8OqslM;rt_OSKmE;?9rLaPtIR{cl+Mw#}8lLxpw8`!Nc1(oZPTxZGT@| zdfK$|ihIXS{Ce~D+J#G(4;|XNXhC;j;l#4?N2gAGfA-|@wJYx)KluFW*{8QJ9^bll zbnB*58`oc4z2@MO1)HZ$nOssH?d7MXqNXMylJDry;_fsfDqu-^?4s1D#p%&Yv!fSh zMlH#RT$~!YFgapgLio&>;OP+oGoylLhKFD+?;zb<$gBmV;F}ugGaH<4W`M>-d?tr@ z&x#3JnH|44Ck0&I#n7R=>vr>K1??krZgBIcbM+{)c1Slex6ss?-qyKm>52{0r|q6Q zbKjil2j@)NGk^BZd9(H{S+Hl}+=I)PoY}m7`=Ys3zP`nv;XLO?SGP9MQWduzSJzI^ z+y$gfhfGph-c^IkyLw0021gfC%exk5w`LcIRyX^0ch?RVw{}O@HV5YpC%aZhw|YB& zNO{-b;@0Tm+34)k?CRMOVAtX6(COvW>F(0)?%3nu*z4(lT+G4Q6TO^^?HtslR7F&U zqtXP6$`~@s*t5!+aw-^d!97_>%Pzl`p`ebTs2(&0QP#p(-U>oxEez$I3^lz>xiw7b z)l9jqOwBWRs@j+{iWySN8Ol3ZYWkQfyBR7v87ezKYwqg6gB1AMLFFBIvSQ6ia1-z3`nAV4u0OG9)|mkC}>7-K!1pTUzq>QaL{NBv7VLDYa67fvn^c7u~k9gJP+=Fk=F4H2Ii6EHQ# ze=6w0Gr#Ha0kaZAX2pk22=Z-lacXsRNwTpQWM*b$W|Ehebulpwb8t=!4C*Yc=q<18 zC@iW^ODzo#pIcjVapU@Zb7s!3t6AFCGNZbpEh~LlXWQ{r%lFTpyRo--|C~9;mM+=9 zaKY9Y(|637eR|!RD?7H{+P~-4fxTDvY(KYs1< z`{>S%Q%5gv-@d%7yFNXA?aUb;9zA&T@cxrKH($Sa_T~NS?{8i{x_Iu?mQCljZalMb z?cOExH%^{3xwIn6J3vE8#X(D_*4e$^+ih-Q@UqMp2wI*M13^nOqZg$`%uf!R6(2Y! zA$U$=@U#fuNxq(wVCSPi3OEoM=rbkIXKIiy1WgO}1EG+BX~BN8Li}fi_)ZP>o)sOq zBr9%7Uh2Zk#5u{aojzWmgBu({XOy>s8{Mt0poJO`60}^-)fMY{6i_b}w%!=dhE6OX zwes5BTw9!++Fe~*om`q-JxZM2W3BD2lvI0*i?__2xoh6sEz_p%nLBIGoSFOP%-T0^ z&aOGL_AHpUZ_$F?3+EqPx$NA|EsMK)A}wt4>|N@d-FrN}J6&8r$I^Ltbhx>Jt#j>g zcSUOJxq@dczy+V1J7@(Ts8tARrooF3@M09uTturYqLTrdMR9g+aByvObZKyKYIbpH zb9HNWcJA-O~kjX%0Lf|m-qwtzMoyJB`wKqAi0t$&$I}Jt(wPFVsFtzo65Ii<0F z|Kj;aS1vrdYWa~>E03;Tb!5%zW9!x)Tfgq`x-}=ZY(Bne>}#B%gK;gOBOjb0;^^g_BecA0baJV8 zf~u+XuW^TC(`a(j_NXEkChh*@>0QPpw^jV)e=`v!>5&YG_Ky zZpkm+w0z~OClB5~dvNR2k*oW6?43JrLUD0#S=sr0dpoCj`z*4w;t{GBv_`64H_Gppp)9Em@H76z~R&sllMrpQeTQPYdy% z9PB?W*l%{Q|C|t?Y2fm1aaP>Y{M1ERiF1=!)bM~y=bLZ?^xN!fH z#Rpd`JGF8B(JfoEg2UrXt*h)^y4}6HU0hq79Ki({WI-~x)B{i5g7=((n|tm^<(;bs z)?)?5YR24JaCz6jkl)CV*T_)Z#8}$IRMx@>Deo%U87kTts=7dH z?kam2azV-%%e%Ow1_#J=q?n+8)NbJ_Zo#XQ-dR z&@h3arH8qugQt2jL;EzwNpqPhJGu0=MH-y!LD#AT`GSwDaqIK*?DBS-?CD

29x~ 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 rlbE1RiL*d|s9v(aV;`p(azq4=WjUAhA?AUa9ib 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[x].Name)); + } + + char buffer [8]; + CB = GetDlgItem(hDlg, IDC_DEADZONE); + SendMessage(CB, CB_RESETCONTENT, 0, 0); + for(int x = 1; x <= 100; x++) + { + sprintf (buffer, "%d %%", x); + SendMessage(CB, CB_ADDSTRING, 0, reinterpret_cast((LPCTSTR)buffer)); + } + + SetControllerAll(hDlg, controller); + return TRUE; + } + else + { + HWND CB = GetDlgItem(hDlg, IDC_JOYNAME); + SendMessage(CB, CB_ADDSTRING, 0, (LPARAM)"No Joystick detected!"); + SendMessage(CB, CB_SETCURSEL, 0, 0); + return FALSE; + } + break; + + case WM_COMMAND: + switch (LOWORD(wParam)) + { + case IDC_JOYNAME: + { + // Selected a different joystick + if(HIWORD(wParam) == CBN_SELCHANGE) + { + joysticks[controller].ID = (int)SendMessage(GetDlgItem(hDlg, IDC_JOYNAME), CB_GETCURSEL, 0, 0); + } + return TRUE; + } + break; + + case IDC_SHOULDERL: + case IDC_SHOULDERR: + case IDC_A: + case IDC_B: + case IDC_X: + case IDC_Y: + case IDC_Z: + case IDC_START: + { + GetButtons(hDlg, LOWORD(wParam), controller); + return TRUE; + } + break; + + case IDC_DPAD: + { + GetHats(hDlg, LOWORD(wParam), controller); + return TRUE; + } + break; + + case IDC_SX: + case IDC_SY: + case IDC_MX: + case IDC_MY: + { + GetAxis(hDlg, LOWORD(wParam), controller); + return TRUE; + } + break; + } + break; + + case WM_DESTROY: + GetControllerAll(hDlg, controller); + break; + } + return FALSE; +} + +// Wait for button press +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ +bool GetButtons(HWND hDlg, int buttonid, int controller) +{ + buttonid += 1000; + + SDL_Joystick *joy; + joy=SDL_JoystickOpen(joysticks[controller].ID); + + char format[128]; + int buttons = SDL_JoystickNumButtons(joy); + bool waiting = true; + bool succeed = false; + int pressed = 0; + + int counter1 = 0; + int counter2 = 10; + + sprintf(format, "[%d]", counter2); + SetDlgItemText(hDlg, buttonid, format); + + while(waiting) + { + SDL_JoystickUpdate(); + for(int b = 0; b < buttons; b++) + { + if(SDL_JoystickGetButton(joy, b)) + { + pressed = b; + waiting = false; + succeed = true; + break; + } + } + + counter1++; + if(counter1==100) + { + counter1=0; + counter2--; + + sprintf(format, "[%d]", counter2); + SetDlgItemText(hDlg, buttonid, format); + + if(counter2<0) + waiting = false; + } + Sleep(10); + } + + if(succeed) + sprintf(format, "%d", pressed); + else + sprintf(format, "-1", pressed); + SetDlgItemText(hDlg, buttonid, format); + + if(SDL_JoystickOpened(joysticks[controller].ID)) + SDL_JoystickClose(joy); + + return true; +} + +// Wait for D-Pad +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻ +bool GetHats(HWND hDlg, int buttonid, int controller) +{ + buttonid += 1000; + + SDL_Joystick *joy; + joy=SDL_JoystickOpen(joysticks[controller].ID); + + char format[128]; + int hats = SDL_JoystickNumHats(joy); + bool waiting = true; + bool succeed = false; + int pressed = 0; + + int counter1 = 0; + int counter2 = 10; + + sprintf(format, "[%d]", counter2); + SetDlgItemText(hDlg, buttonid, format); + + while(waiting) + { + SDL_JoystickUpdate(); + for(int b = 0; b < hats; b++) + { + if(SDL_JoystickGetHat(joy, b)) + { + pressed = b; + waiting = false; + succeed = true; + break; + } + } + + counter1++; + if(counter1==100) + { + counter1=0; + counter2--; + + sprintf(format, "[%d]", counter2); + SetDlgItemText(hDlg, buttonid, format); + + if(counter2<0) + waiting = false; + } + Sleep(10); + } + + if(succeed) + sprintf(format, "%d", pressed); + else + sprintf(format, "-1", pressed); + SetDlgItemText(hDlg, buttonid, format); + + if(SDL_JoystickOpened(joysticks[controller].ID)) + SDL_JoystickClose(joy); + + return true; +} + +// Wait for Analog +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ +bool GetAxis(HWND hDlg, int buttonid, int controller) +{ + buttonid += 1000; + + SDL_Joystick *joy; + joy=SDL_JoystickOpen(joysticks[controller].ID); + + char format[128]; + int axes = SDL_JoystickNumAxes(joy); + bool waiting = true; + bool succeed = false; + int pressed = 0; + Sint16 value; + + int counter1 = 0; + int counter2 = 10; + + sprintf(format, "[%d]", counter2); + SetDlgItemText(hDlg, buttonid, format); + + while(waiting) + { + SDL_JoystickUpdate(); + for(int b = 0; b < axes; b++) + { + value = SDL_JoystickGetAxis(joy, b); + if(value < -10000 || value > 10000) + { + pressed = b; + waiting = false; + succeed = true; + break; + } + } + + counter1++; + if(counter1==100) + { + counter1=0; + counter2--; + + sprintf(format, "[%d]", counter2); + SetDlgItemText(hDlg, buttonid, format); + + if(counter2<0) + waiting = false; + } + Sleep(10); + } + + if(succeed) + sprintf(format, "%d", pressed); + else + sprintf(format, "-1", pressed); + SetDlgItemText(hDlg, buttonid, format); + + if(SDL_JoystickOpened(joysticks[controller].ID)) + SDL_JoystickClose(joy); + + return true; +} + +// Set dialog items +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ +void SetControllerAll(HWND hDlg, int controller) +{ + SendMessage(GetDlgItem(hDlg, IDC_JOYNAME), CB_SETCURSEL, joysticks[controller].ID, 0); + + SetButton(hDlg, IDTEXT_SHOULDERL, joysticks[controller].buttons[CTL_L_SHOULDER]); + SetButton(hDlg, IDTEXT_SHOULDERR, joysticks[controller].buttons[CTL_R_SHOULDER]); + SetButton(hDlg, IDTEXT_A, joysticks[controller].buttons[CTL_A_BUTTON]); + SetButton(hDlg, IDTEXT_B, joysticks[controller].buttons[CTL_B_BUTTON]); + SetButton(hDlg, IDTEXT_X, joysticks[controller].buttons[CTL_X_BUTTON]); + SetButton(hDlg, IDTEXT_Y, joysticks[controller].buttons[CTL_Y_BUTTON]); + SetButton(hDlg, IDTEXT_Z, joysticks[controller].buttons[CTL_Z_TRIGGER]); + SetButton(hDlg, IDTEXT_START, joysticks[controller].buttons[CTL_START]); + + SetButton(hDlg, IDTEXT_DPAD, joysticks[controller].dpad); + + SetButton(hDlg, IDTEXT_MX, joysticks[controller].axis[CTL_MAIN_X]); + SetButton(hDlg, IDTEXT_MY, joysticks[controller].axis[CTL_MAIN_Y]); + SetButton(hDlg, IDTEXT_SX, joysticks[controller].axis[CTL_SUB_X]); + SetButton(hDlg, IDTEXT_SY, joysticks[controller].axis[CTL_SUB_Y]); + + SendDlgItemMessage(hDlg, IDC_JOYATTACH, BM_SETCHECK, joysticks[controller].enabled, 0); + + SendMessage(GetDlgItem(hDlg, IDC_DEADZONE), CB_SETCURSEL, joysticks[controller].deadzone, 0); +} + +// Get dialog items +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ +void GetControllerAll(HWND hDlg, int controller) +{ + joysticks[controller].ID = (int)SendMessage(GetDlgItem(hDlg, IDC_JOYNAME), CB_GETCURSEL, 0, 0); + + joysticks[controller].buttons[CTL_L_SHOULDER] = GetButton(hDlg, IDTEXT_SHOULDERL); + joysticks[controller].buttons[CTL_R_SHOULDER] = GetButton(hDlg, IDTEXT_SHOULDERR); + joysticks[controller].buttons[CTL_A_BUTTON] = GetButton(hDlg, IDTEXT_A); + joysticks[controller].buttons[CTL_B_BUTTON] = GetButton(hDlg, IDTEXT_B); + joysticks[controller].buttons[CTL_X_BUTTON] = GetButton(hDlg, IDTEXT_X); + joysticks[controller].buttons[CTL_Y_BUTTON] = GetButton(hDlg, IDTEXT_Y); + joysticks[controller].buttons[CTL_Z_TRIGGER] = GetButton(hDlg, IDTEXT_Z); + joysticks[controller].buttons[CTL_START] = GetButton(hDlg, IDTEXT_START); + + joysticks[controller].dpad = GetButton(hDlg, IDTEXT_DPAD); + + joysticks[controller].axis[CTL_MAIN_X] = GetButton(hDlg, IDTEXT_MX); + joysticks[controller].axis[CTL_MAIN_Y] = GetButton(hDlg, IDTEXT_MY); + joysticks[controller].axis[CTL_SUB_X] = GetButton(hDlg, IDTEXT_SX); + joysticks[controller].axis[CTL_SUB_Y] = GetButton(hDlg, IDTEXT_SY); + + joysticks[controller].enabled = (int)SendMessage(GetDlgItem(hDlg, IDC_JOYATTACH), BM_GETCHECK, 0, 0); + + joysticks[controller].deadzone = (int)SendMessage(GetDlgItem(hDlg, IDC_DEADZONE), CB_GETCURSEL, 0, 0); +} + +// Set text in static text item +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ +void SetButton(HWND hDlg, int item, int value) +{ + char format[8]; + sprintf(format, "%d", value); + SetDlgItemText(hDlg, item, format); +} + +// Get text from static text item +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ +int GetButton(HWND hDlg, int item) +{ + char format[8]; + GetDlgItemText(hDlg, item, format, sizeof(format)); + return atoi(format); +} + +////////////////////////////////////////////////////////////////////////////////////////// +// About dialog functions +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ + +void OpenAbout(HINSTANCE hInst, HWND _hParent) +{ + DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUT), _hParent, (DLGPROC)AboutDlg); +} + +BOOL CALLBACK AboutDlg(HWND abouthWnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + char format[0xFFF]; + + switch (message) + { + case WM_INITDIALOG: + sprintf(format,"nJoy v"INPUT_VERSION" by Falcon4ever\n" + "Release: "RELDAY"/"RELMONTH"/"RELYEAR"\n" + "www.multigesture.net"); + SetDlgItemText(abouthWnd,IDC_ABOUT_TEXT,format); + + sprintf(format, THANKYOU); + SetDlgItemText(abouthWnd,IDC_ABOUT_TEXT2,format); + + sprintf(format, INPUT_STATE); + SetDlgItemText(abouthWnd,IDC_ABOUT_TEXT3,format); + break; + + case WM_COMMAND: + if (LOWORD(wParam) == IDOK) + { + EndDialog(abouthWnd, LOWORD(wParam)); + return TRUE; + } + break; + } + + return FALSE; +} diff --git a/Source/Plugins/Plugin_nJoy_SDL/Src/config.h b/Source/Plugins/Plugin_nJoy_SDL/Src/config.h new file mode 100644 index 0000000000..784d75e98e --- /dev/null +++ b/Source/Plugins/Plugin_nJoy_SDL/Src/config.h @@ -0,0 +1,67 @@ +////////////////////////////////////////////////////////////////////////////////////////// +// Project description +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ +// Name: nJoy +// Description: A Dolphin Compatible Input Plugin +// +// Author: Falcon4ever (nJoy@falcon4ever.com) +// Site: www.multigesture.net +// Copyright (C) 2003-2008 Dolphin Project. +// +////////////////////////////////////////////////////////////////////////////////////////// +// +// Licensetype: GNU General Public License (GPL) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, version 2.0. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License 2.0 for more details. +// +// A copy of the GPL 2.0 should have been included with the program. +// If not, see http://www.gnu.org/licenses/ +// +// Official SVN repository and contact information can be found at +// http://code.google.com/p/dolphin-emu/ +// +////////////////////////////////////////////////////////////////////////////////////////// + +#include // includes basic windows functionality +#include +#include +#include // includes the common control header + +#include "../Res/resource.h" // includes GUI IDs + +#pragma comment(lib, "comctl32.lib") + +////////////////////////////////////////////////////////////////////////////////////////// +// Config dialog functions +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ + +int OpenConfig(HINSTANCE hInst, HWND _hParent); +BOOL ControllerTab(HWND hDlg, UINT message, UINT wParam, LONG lParam, int controller); +BOOL APIENTRY ControllerTab1(HWND hDlg, UINT message, UINT wParam, LONG lParam); +BOOL APIENTRY ControllerTab2(HWND hDlg, UINT message, UINT wParam, LONG lParam); +BOOL APIENTRY ControllerTab3(HWND hDlg, UINT message, UINT wParam, LONG lParam); +BOOL APIENTRY ControllerTab4(HWND hDlg, UINT message, UINT wParam, LONG lParam); + +bool GetButtons(HWND hDlg, int buttonid, int controller); +bool GetHats(HWND hDlg, int buttonid, int controller); +bool GetAxis(HWND hDlg, int buttonid, int controller); + +void GetControllerAll(HWND hDlg, int controller); +void SetControllerAll(HWND hDlg, int controller); + +int GetButton(HWND hDlg, int item); +void SetButton(HWND hDlg, int item, int value); + +////////////////////////////////////////////////////////////////////////////////////////// +// About dialog functions +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ + +void OpenAbout(HINSTANCE hInst, HWND _hParent); +BOOL CALLBACK AboutDlg(HWND abouthWnd, UINT message, WPARAM wParam, LPARAM lParam); diff --git a/Source/Plugins/Plugin_nJoy_SDL/Src/nJoy.cpp b/Source/Plugins/Plugin_nJoy_SDL/Src/nJoy.cpp new file mode 100644 index 0000000000..4e7e7cf74d --- /dev/null +++ b/Source/Plugins/Plugin_nJoy_SDL/Src/nJoy.cpp @@ -0,0 +1,445 @@ +////////////////////////////////////////////////////////////////////////////////////////// +// Project description +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ +// Name: nJoy +// Description: A Dolphin Compatible Input Plugin +// +// Author: Falcon4ever (nJoy@falcon4ever.com) +// Site: www.multigesture.net +// Copyright (C) 2003-2008 Dolphin Project. +// +////////////////////////////////////////////////////////////////////////////////////////// +// +// Licensetype: GNU General Public License (GPL) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, version 2.0. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License 2.0 for more details. +// +// A copy of the GPL 2.0 should have been included with the program. +// If not, see http://www.gnu.org/licenses/ +// +// Official SVN repository and contact information can be found at +// http://code.google.com/p/dolphin-emu/ +// +////////////////////////////////////////////////////////////////////////////////////////// + +#include "nJoy.h" + +////////////////////////////////////////////////////////////////////////////////////////// +// Variables +// ŻŻŻŻŻŻŻŻŻ + +FILE *pFile; +HINSTANCE nJoy_hInst = NULL; +CONTROLLER_INFO *joyinfo = 0; +CONTROLLER_STATE joystate[4]; +CONTROLLER_MAPPING joysticks[4]; +bool emulator_running = FALSE; + +////////////////////////////////////////////////////////////////////////////////////////// +// DllMain +// ŻŻŻŻŻŻŻ +BOOL APIENTRY DllMain( HINSTANCE hinstDLL, // DLL module handle + DWORD dwReason, // reason called + LPVOID lpvReserved) // reserved +{ + InitCommonControls(); + + nJoy_hInst = hinstDLL; + return TRUE; +} + +////////////////////////////////////////////////////////////////////////////////////////// +// Input Plugin Functions (from spec's) +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ + +// Get properties of plugin +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ +void GetDllInfo(PLUGIN_INFO* _PluginInfo) +{ + _PluginInfo->Version = 0x0100; + _PluginInfo->Type = PLUGIN_TYPE_PAD; + + #ifndef _DEBUG + sprintf(_PluginInfo->Name, "nJoy v"INPUT_VERSION " by Falcon4ever"); + #else + sprintf(_PluginInfo->Name, "nJoy v"INPUT_VERSION" (Debug) by Falcon4ever"); + #endif +} + +// Call about dialog +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ +void DllAbout(HWND _hParent) +{ + OpenAbout(nJoy_hInst, _hParent); +} + +// Call config dialog +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ +void DllConfig(HWND _hParent) +{ + if(SDL_Init(SDL_INIT_JOYSTICK ) < 0) + { + MessageBox(NULL, SDL_GetError(), "Could not initialize SDL!", MB_ICONERROR); + return; + } + + LoadConfig(); + if(OpenConfig(nJoy_hInst, _hParent)) + SaveConfig(); +} + +// Init PAD (start emulation) +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ +void PAD_Initialize(SPADInitialize _PADInitialize) +{ + emulator_running = TRUE; + #ifdef _DEBUG + DEBUG_INIT(); + #endif + + if(SDL_Init(SDL_INIT_JOYSTICK ) < 0) + { + MessageBox(NULL, SDL_GetError(), "Could not initialize SDL!", MB_ICONERROR); + return; + } + + LoadConfig(); // Load joystick mapping + + if(joysticks[0].enabled) + joystate[0].joy = SDL_JoystickOpen(joysticks[0].ID); + if(joysticks[1].enabled) + joystate[1].joy = SDL_JoystickOpen(joysticks[1].ID); + if(joysticks[2].enabled) + joystate[2].joy = SDL_JoystickOpen(joysticks[2].ID); + if(joysticks[3].enabled) + joystate[3].joy = SDL_JoystickOpen(joysticks[3].ID); +} + +// Shutdown PAD (stop emulation) +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ +void PAD_Shutdown() +{ + if(joysticks[0].enabled) + SDL_JoystickClose(joystate[0].joy); + if(joysticks[1].enabled) + SDL_JoystickClose(joystate[1].joy); + if(joysticks[2].enabled) + SDL_JoystickClose(joystate[2].joy); + if(joysticks[3].enabled) + SDL_JoystickClose(joystate[3].joy); + + SDL_Quit(); + + #ifdef _DEBUG + DEBUG_QUIT(); + #endif + + delete [] joyinfo; + + emulator_running = FALSE; +} + +// Set PAD status +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻ +void PAD_GetStatus(BYTE _numPAD, SPADStatus* _pPADStatus) +{ + if(!joysticks[_numPAD].enabled) + return; + + // clear pad status + memset(_pPADStatus, 0, sizeof(SPADStatus)); + + // get pad status + GetJoyState(_numPAD); + + // Reset! + int base = 0x80; + _pPADStatus->stickY = base; + _pPADStatus->stickX = base; + _pPADStatus->substickX = base; + _pPADStatus->substickY = base; + _pPADStatus->button |= PAD_USE_ORIGIN; + + // Set analog controllers + // Set Deadzones perhaps out of function + int deadzone = ((float)(128.00/100.00)) * (float)(joysticks[_numPAD].deadzone+1); + int deadzone2 = ((float)(-128.00/100.00)) * (float)(joysticks[_numPAD].deadzone+1); + + // Adjust range + // The value returned by SDL_JoystickGetAxis is a signed integer (-32768 to 32768) + // The value used for the gamecube controller is an unsigned char (0 to 255) + int main_stick_x = (joystate[_numPAD].axis[CTL_MAIN_X]>>8); + int main_stick_y = (joystate[_numPAD].axis[CTL_MAIN_Y]>>8); + int sub_stick_x = (joystate[_numPAD].axis[CTL_SUB_X]>>8); + int sub_stick_y = (joystate[_numPAD].axis[CTL_SUB_Y]>>8); + + // Quick fix + if(main_stick_x > 127) + main_stick_x = 127; + if(main_stick_y > 127) + main_stick_y = 127; + if(sub_stick_x > 127) + sub_stick_x = 127; + if(sub_stick_y > 127) + sub_stick_y = 127; + + if(main_stick_x < -128) + main_stick_x = -128; + if(main_stick_y < -128) + main_stick_y = -128; + if(sub_stick_x < -128) + sub_stick_x = -128; + if(sub_stick_y < -128) + sub_stick_y = -128; + + // Send values to Dolpin + if ((main_stick_x < deadzone2) || (main_stick_x > deadzone)) _pPADStatus->stickX += main_stick_x; + if ((main_stick_y < deadzone2) || (main_stick_y > deadzone)) _pPADStatus->stickY -= main_stick_y; + if ((sub_stick_x < deadzone2) || (sub_stick_x > deadzone)) _pPADStatus->substickX += sub_stick_x; + if ((sub_stick_y < deadzone2) || (sub_stick_y > deadzone)) _pPADStatus->substickY -= sub_stick_y; + + // Set buttons + if (joystate[_numPAD].buttons[CTL_L_SHOULDER]) _pPADStatus->button|=PAD_TRIGGER_L; + if (joystate[_numPAD].buttons[CTL_R_SHOULDER]) _pPADStatus->button|=PAD_TRIGGER_R; + if (joystate[_numPAD].buttons[CTL_A_BUTTON]) _pPADStatus->button|=PAD_BUTTON_A; + if (joystate[_numPAD].buttons[CTL_B_BUTTON]) _pPADStatus->button|=PAD_BUTTON_B; + if (joystate[_numPAD].buttons[CTL_X_BUTTON]) _pPADStatus->button|=PAD_BUTTON_X; + if (joystate[_numPAD].buttons[CTL_Y_BUTTON]) _pPADStatus->button|=PAD_BUTTON_Y; + if (joystate[_numPAD].buttons[CTL_Z_TRIGGER]) _pPADStatus->button|=PAD_TRIGGER_Z; + if (joystate[_numPAD].buttons[CTL_START]) _pPADStatus->button|=PAD_BUTTON_START; + + // Set D-pad + if(joystate[_numPAD].dpad == SDL_HAT_LEFTUP || joystate[_numPAD].dpad == SDL_HAT_UP || joystate[_numPAD].dpad == SDL_HAT_RIGHTUP ) _pPADStatus->button|=PAD_BUTTON_UP; + if(joystate[_numPAD].dpad == SDL_HAT_LEFTUP || joystate[_numPAD].dpad == SDL_HAT_LEFT || joystate[_numPAD].dpad == SDL_HAT_LEFTDOWN ) _pPADStatus->button|=PAD_BUTTON_LEFT; + if(joystate[_numPAD].dpad == SDL_HAT_LEFTDOWN || joystate[_numPAD].dpad == SDL_HAT_DOWN || joystate[_numPAD].dpad == SDL_HAT_RIGHTDOWN ) _pPADStatus->button|=PAD_BUTTON_DOWN; + if(joystate[_numPAD].dpad == SDL_HAT_RIGHTUP || joystate[_numPAD].dpad == SDL_HAT_RIGHT || joystate[_numPAD].dpad == SDL_HAT_RIGHTDOWN ) _pPADStatus->button|=PAD_BUTTON_RIGHT; + + _pPADStatus->err = PAD_ERR_NONE; +} + +// Set PAD rumble +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻ +void PAD_Rumble(BYTE _numPAD, unsigned int _uType, unsigned int _uStrength) +{ + // not supported by SDL +} + +// Set PAD attached pads +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ +unsigned int PAD_GetAttachedPads() +{ + unsigned int connected = 0; + + LoadConfig(); + + if(joysticks[0].enabled) + connected |= 1; + if(joysticks[1].enabled) + connected |= 2; + if(joysticks[2].enabled) + connected |= 4; + if(joysticks[3].enabled) + connected |= 8; + + return connected; +} + +// Savestates +// ŻŻŻŻŻŻŻŻŻŻ +unsigned int SaveLoadState(char *ptr, BOOL save) +{ + // not used + return 0; +} + +////////////////////////////////////////////////////////////////////////////////////////// +// Custom Functions +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ + +// Request joystick state +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ +void GetJoyState(int controller) +{ + SDL_JoystickUpdate(); + + joystate[controller].axis[CTL_MAIN_X] = SDL_JoystickGetAxis(joystate[controller].joy, joysticks[controller].axis[CTL_MAIN_X]); + joystate[controller].axis[CTL_MAIN_Y] = SDL_JoystickGetAxis(joystate[controller].joy, joysticks[controller].axis[CTL_MAIN_Y]); + joystate[controller].axis[CTL_SUB_X] = SDL_JoystickGetAxis(joystate[controller].joy, joysticks[controller].axis[CTL_SUB_X]); + joystate[controller].axis[CTL_SUB_Y] = SDL_JoystickGetAxis(joystate[controller].joy, joysticks[controller].axis[CTL_SUB_Y]); + + joystate[controller].buttons[CTL_L_SHOULDER] = SDL_JoystickGetButton(joystate[controller].joy, joysticks[controller].buttons[CTL_L_SHOULDER]); + joystate[controller].buttons[CTL_R_SHOULDER] = SDL_JoystickGetButton(joystate[controller].joy, joysticks[controller].buttons[CTL_R_SHOULDER]); + joystate[controller].buttons[CTL_A_BUTTON] = SDL_JoystickGetButton(joystate[controller].joy, joysticks[controller].buttons[CTL_A_BUTTON]); + joystate[controller].buttons[CTL_B_BUTTON] = SDL_JoystickGetButton(joystate[controller].joy, joysticks[controller].buttons[CTL_B_BUTTON]); + joystate[controller].buttons[CTL_X_BUTTON] = SDL_JoystickGetButton(joystate[controller].joy, joysticks[controller].buttons[CTL_X_BUTTON]); + joystate[controller].buttons[CTL_Y_BUTTON] = SDL_JoystickGetButton(joystate[controller].joy, joysticks[controller].buttons[CTL_Y_BUTTON]); + joystate[controller].buttons[CTL_Z_TRIGGER] = SDL_JoystickGetButton(joystate[controller].joy, joysticks[controller].buttons[CTL_Z_TRIGGER]); + joystate[controller].buttons[CTL_START] = SDL_JoystickGetButton(joystate[controller].joy, joysticks[controller].buttons[CTL_START]); + + joystate[controller].dpad = SDL_JoystickGetHat(joystate[controller].joy, joysticks[controller].dpad); +} + +// Search attached devices +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ +int Search_Devices() +{ + // load config + #ifdef _DEBUG + DEBUG_INIT(); + #endif + + int numjoy = SDL_NumJoysticks(); + + if(numjoy == 0) + { + MessageBox(NULL, "No Joystick detected!", NULL, MB_ICONWARNING); + return 0; + } + + if(joyinfo) + { + delete [] joyinfo; + joyinfo = new CONTROLLER_INFO [numjoy]; + } + else + { + joyinfo = new CONTROLLER_INFO [numjoy]; + } + + #ifdef _DEBUG + fprintf(pFile, "Scanning for devices\n"); + fprintf(pFile, "ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ\n"); + #endif + + for(int i = 0; i < numjoy; i++ ) + { + joyinfo[i].joy = SDL_JoystickOpen(i); + joyinfo[i].ID = i; + joyinfo[i].NumAxes = SDL_JoystickNumAxes(joyinfo[i].joy); + joyinfo[i].NumButtons = SDL_JoystickNumButtons(joyinfo[i].joy); + joyinfo[i].NumBalls = SDL_JoystickNumBalls(joyinfo[i].joy); + joyinfo[i].NumHats = SDL_JoystickNumHats(joyinfo[i].joy); + joyinfo[i].Name = SDL_JoystickName(i); + + #ifdef _DEBUG + fprintf(pFile, "ID: %d\n", i); + fprintf(pFile, "Name: %s\n", joyinfo[i].Name); + fprintf(pFile, "Buttons: %d\n", joyinfo[i].NumButtons); + fprintf(pFile, "Axes: %d\n", joyinfo[i].NumAxes); + fprintf(pFile, "Hats: %d\n", joyinfo[i].NumHats); + fprintf(pFile, "Balls: %d\n\n", joyinfo[i].NumBalls); + #endif + + // Close if opened + if(SDL_JoystickOpened(i)) + SDL_JoystickClose(joyinfo[i].joy); + } + + return numjoy; +} + +// Enable output log +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ +void DEBUG_INIT() +{ + if(pFile) + return; + + char dateStr [9]; + _strdate( dateStr); + char timeStr [9]; + _strtime( timeStr ); + + pFile = fopen ("nJoy-debug.txt","wt"); + fprintf(pFile, "nJoy v"INPUT_VERSION" Debug\n"); + fprintf(pFile, "Date: %s\nTime: %s\n", dateStr, timeStr); + fprintf(pFile, "ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ\n"); +} + +// Disable output log +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ +void DEBUG_QUIT() +{ + if(!pFile) + return; + + char timeStr [9]; + _strtime(timeStr); + + fprintf(pFile, "_______________\n"); + fprintf(pFile, "Time: %s", timeStr); + fclose(pFile); +} + +// Save settings to file +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ +void SaveConfig() +{ + IniFile file; + file.Load("nJoy"); + + for (int i=0; i<4; i++) + { + char SectionName[32]; + sprintf(SectionName, "PAD%i", i+1); + + file.Set(SectionName, "l_shoulder", joysticks[i].buttons[CTL_L_SHOULDER]); + file.Set(SectionName, "r_shoulder", joysticks[i].buttons[CTL_R_SHOULDER]); + file.Set(SectionName, "a_button", joysticks[i].buttons[CTL_A_BUTTON]); + file.Set(SectionName, "b_button", joysticks[i].buttons[CTL_B_BUTTON]); + file.Set(SectionName, "x_button", joysticks[i].buttons[CTL_X_BUTTON]); + file.Set(SectionName, "y_button", joysticks[i].buttons[CTL_Y_BUTTON]); + file.Set(SectionName, "z_trigger", joysticks[i].buttons[CTL_Z_TRIGGER]); + file.Set(SectionName, "start_button", joysticks[i].buttons[CTL_START]); + file.Set(SectionName, "dpad", joysticks[i].dpad); + file.Set(SectionName, "main_x", joysticks[i].axis[CTL_MAIN_X]); + file.Set(SectionName, "main_y", joysticks[i].axis[CTL_MAIN_Y]); + file.Set(SectionName, "sub_x", joysticks[i].axis[CTL_SUB_X]); + file.Set(SectionName, "sub_y", joysticks[i].axis[CTL_SUB_Y]); + file.Set(SectionName, "enabled", joysticks[i].enabled); + file.Set(SectionName, "deadzone", joysticks[i].deadzone); + file.Set(SectionName, "halfpress", joysticks[i].halfpress); + file.Set(SectionName, "joy_id", joysticks[i].ID); + } + + file.Save("nJoy"); +} + +// Load settings from file +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ +void LoadConfig() +{ + IniFile file; + file.Load("nJoy"); + + for (int i=0; i<4; i++) + { + char SectionName[32]; + sprintf(SectionName, "PAD%i", i+1); + + file.Get(SectionName, "l_shoulder", &joysticks[i].buttons[CTL_L_SHOULDER], 4); + file.Get(SectionName, "r_shoulder", &joysticks[i].buttons[CTL_R_SHOULDER], 5); + file.Get(SectionName, "a_button", &joysticks[i].buttons[CTL_A_BUTTON], 0); + file.Get(SectionName, "b_button", &joysticks[i].buttons[CTL_B_BUTTON], 1); + file.Get(SectionName, "x_button", &joysticks[i].buttons[CTL_X_BUTTON], 3); + file.Get(SectionName, "y_button", &joysticks[i].buttons[CTL_Y_BUTTON], 2); + file.Get(SectionName, "z_trigger", &joysticks[i].buttons[CTL_Z_TRIGGER], 7); + file.Get(SectionName, "start_button", &joysticks[i].buttons[CTL_START], 9); + file.Get(SectionName, "dpad", &joysticks[i].dpad, 0); + file.Get(SectionName, "main_x", &joysticks[i].axis[CTL_MAIN_X], 0); + file.Get(SectionName, "main_y", &joysticks[i].axis[CTL_MAIN_Y], 1); + file.Get(SectionName, "sub_x", &joysticks[i].axis[CTL_SUB_X], 2); + file.Get(SectionName, "sub_y", &joysticks[i].axis[CTL_SUB_Y], 3); + file.Get(SectionName, "enabled", &joysticks[i].enabled, 1); + file.Get(SectionName, "deadzone", &joysticks[i].deadzone, 9); + file.Get(SectionName, "halfpress", &joysticks[i].halfpress, 0); + file.Get(SectionName, "joy_id", &joysticks[i].ID, 0); + } +} diff --git a/Source/Plugins/Plugin_nJoy_SDL/Src/nJoy.h b/Source/Plugins/Plugin_nJoy_SDL/Src/nJoy.h new file mode 100644 index 0000000000..532957dbb4 --- /dev/null +++ b/Source/Plugins/Plugin_nJoy_SDL/Src/nJoy.h @@ -0,0 +1,116 @@ +////////////////////////////////////////////////////////////////////////////////////////// +// Project description +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ +// Name: nJoy +// Description: A Dolphin Compatible Input Plugin +// +// Author: Falcon4ever (nJoy@falcon4ever.com) +// Site: www.multigesture.net +// Copyright (C) 2003-2008 Dolphin Project. +// +////////////////////////////////////////////////////////////////////////////////////////// +// +// Licensetype: GNU General Public License (GPL) +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, version 2.0. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License 2.0 for more details. +// +// A copy of the GPL 2.0 should have been included with the program. +// If not, see http://www.gnu.org/licenses/ +// +// Official SVN repository and contact information can be found at +// http://code.google.com/p/dolphin-emu/ +// +////////////////////////////////////////////////////////////////////////////////////////// + +#define _CRT_SECURE_NO_WARNINGS + +#define WIN32_LEAN_AND_MEAN +#include +#include +#include +#include +#include // includes SDL + +#include "pluginspecs_pad.h" +#include "config.h" +#include "IniFile.h" + +#pragma comment(lib, "SDL.lib") +// #pragma comment(lib, "SDLmain.lib") + +////////////////////////////////////////////////////////////////////////////////////////// +// Define +// ŻŻŻŻŻŻ + +#define INPUT_VERSION "0.3" +#define INPUT_STATE "PUBLIC RELEASE" +#define RELDAY "21" +#define RELMONTH "07" +#define RELYEAR "2008" +#define THANKYOU "`plot`, Absolute0, Aprentice, Bositman, Brice, ChaosCode, CKemu, CoDeX, Dave2001, dn, drk||Raziel, Florin, Gent, Gigaherz, Hacktarux, JegHegy, Linker, Linuzappz, Martin64, Muad, Knuckles, Raziel, Refraction, Rudy_x, Shadowprince, Snake785, Saqib, vEX, yaz0r, Zilmar, Zenogais and ZeZu." + +struct CONTROLLER_STATE{ // GC PAD INFO/STATE + int buttons[8]; // Amount of buttons (A B X Y Z, L-Trigger R-Trigger Start) might need to change the triggers buttons + int dpad; // 1 HAT (8 directions + neutral) + int axis[4]; // 2 x 2 Axes (Main & Sub) + SDL_Joystick *joy; // SDL joystick device +}; + +struct CONTROLLER_MAPPING{ // GC PAD MAPPING + int buttons[8]; // Amount of buttons (A B X Y Z, L-Trigger R-Trigger Start) might need to change the triggers buttons + int dpad; // 1 HAT (8 directions + neutral) + int axis[4]; // 2 x 2 Axes (Main & Sub) + int enabled; // Pad attached? + int deadzone; // Deadzone... what else? + int halfpress; // Not implemented + int ID; // SDL joystick device ID +}; + +struct CONTROLLER_INFO{ // CONNECTED WINDOWS DEVICES INFO + int NumAxes; // Amount of Axes + int NumButtons; // Amount of Buttons + int NumBalls; // Amount of Balls + int NumHats; // Amount of Hats (POV) + const char *Name; // Joypad/stickname + int ID; // SDL joystick device ID + SDL_Joystick *joy; // SDL joystick device +}; + +enum +{ + CTL_MAIN_X = 0, + CTL_MAIN_Y, + CTL_SUB_X, + CTL_SUB_Y, +}; + +enum +{ + CTL_L_SHOULDER = 0, + CTL_R_SHOULDER, + CTL_A_BUTTON, + CTL_B_BUTTON, + CTL_X_BUTTON, + CTL_Y_BUTTON, + CTL_Z_TRIGGER, + CTL_START +}; + +////////////////////////////////////////////////////////////////////////////////////////// +// Custom Functions +// ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ + +void GetJoyState(int controller); +int Search_Devices(); +void DEBUG_INIT(); +void DEBUG_QUIT(); + +void SaveConfig(); +void LoadConfig(); \ No newline at end of file diff --git a/Source/Plugins/Plugin_nJoy_SDL/readme.txt b/Source/Plugins/Plugin_nJoy_SDL/readme.txt new file mode 100644 index 0000000000..099408bbb7 --- /dev/null +++ b/Source/Plugins/Plugin_nJoy_SDL/readme.txt @@ -0,0 +1,115 @@ +nJoy v0.3 by Falcon4ever 2008 +A Dolphin Compatible Input Plugin +Copyright (C) 2003-2008 Dolphin Project. + +Changelog +========================================================================== + +0.3: 3nd version of nJoy + - Release: July 2008 + - Support for four players + - Misc. improvements + +0.2: 2nd version of nJoy + - Release: 14th July 2005 + - Now using SDL instead of DirectInput9 + - Config/INI support + - Adjustable deadzone + - First public release + +0.1: First version of nJoy + - Private Release: january 2005 + - Using DirectInput9 + - Specially made for the Logitech Rumblepad 2, but other joypads work too + - Advanced debug window, activated during gameplay + - No deadzone configurable + - No config/Ini + +The Author +========================================================================== +* Falcon4ever (nJoy@falcon4ever.com) + +System and Software Requirements +========================================================================== +Dolphin + The latest Dolphin release, avaible at www.dolphin-emu.com + +SDL.dll (SDL-1.2.13) + (included with this release) + latest version avaible at www.libsdl.org + +A Joystick + A Windows 9x compatible input device + + +Plugin Information +========================================================================== +nJoy was written in C++, compiled with Microsoft Visual Studio 2005 Professional Edition. +nJoy uses SDL for joysticks, mouse and keyboard. +For the graphical interface plain Win32 code was used. + +How to install +========================================================================== +Just unzip the content of the zipfile to your dolphin plugin dir and place +sdl.dll in the root dir. + +example config: +[C:] + | + +-Dolphin Dir + +-DolphinWx.exe File + +-SDL.dll File + | + +-Plugins Dir + +-nJoy.dll File + + +FAQ +========================================================================== + +What's SDL??? + SDL is the Simple DirectMedia Layer written by Sam Lantinga. + It provides an API for audio, video, input ... + For more information go to http://www.libsdl.org/ + +Where can I download the latest releases??? + nJoy will be released @ www.multigesture.net + +Can I mirror this file??? + Sure, just don't forget to add a link to: + www.multigesture.net OR www.dolphin-emu.com + ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ +Why should I use nJoy instead of the default input plugin??? + At this moment the default plugin only supports keyboard input. + nJoy supports Joysticks. And besides that, if you have an GC-adapter + you can use your original GC controllers with dolphin ! + +Could you add [insert feature here] please??? + no. + +But perhaps... + NO! + +Hmm... There is coming smoke out of my pc, wtf? + err, this plugin comes without any warranty, + use it at own risk :) + +What should I do if my question isn't listed here??? + Just panic, call 911 or leave a message on: + (1) Emutalk http://www.emutalk.net/forumdisplay.php?f=100 + (2) NGemu http://forums.ngemu.com/dolphin-discussion/ + +Thanks / Greetings +========================================================================== + +Special Thanks too: +F|RES & ector + +Greetings too: +`plot`, Absolute0, Aprentice, Bositman, Brice, ChaosCode, CKemu, +CoDeX, Dave2001, dn, drk||Raziel, Florin, Gent, Gigaherz, Hacktarux, +icepir8, JegHegy, Linker, Linuzappz, Martin64, Muad, Knuckles, Raziel, +Refraction, Rudy_x, Shadowprince, Snake785, Saqib, vEX, yaz0r, +Zilmar, Zenogais and ZeZu. + +AAaannd everyone else I forgot ;)...