diff options
| -rw-r--r-- | plugins/dfinput/pad.c | 70 | ||||
| -rw-r--r-- | plugins/dfinput/pad.h | 2 | ||||
| -rw-r--r-- | plugins/dfxvideo/draw.c | 217 | ||||
| -rw-r--r-- | plugins/dfxvideo/gpu.c | 4 | ||||
| -rw-r--r-- | po/fr_FR.po | 158 | ||||
| -rw-r--r-- | po/it.po | 166 | ||||
| -rw-r--r-- | po/pt_BR.po | 154 | ||||
| -rw-r--r-- | po/ru_RU.po | 158 | ||||
| -rw-r--r-- | po/zh_CN.po | 546 | ||||
| -rw-r--r-- | po/zh_TW.po | 159 | ||||
| -rw-r--r-- | win32/plugins/PadSSSPSX/PadSSSPSX.cpp | 1136 | ||||
| -rw-r--r-- | win32/plugins/PadSSSPSX/PadSSSPSX.def | 23 | ||||
| -rw-r--r-- | win32/plugins/PadSSSPSX/PadSSSPSX.dsp | 123 | ||||
| -rw-r--r-- | win32/plugins/PadSSSPSX/PadSSSPSX.h | 46 | ||||
| -rw-r--r-- | win32/plugins/PadSSSPSX/PadSSSPSX.rc | 120 | ||||
| -rw-r--r-- | win32/plugins/PadSSSPSX/PadSSSPSXres.h | 60 | ||||
| -rw-r--r-- | win32/plugins/PadSSSPSX/readmewip.txt | 48 |
17 files changed, 2469 insertions, 721 deletions
diff --git a/plugins/dfinput/pad.c b/plugins/dfinput/pad.c index a0207aab..423e2db0 100644 --- a/plugins/dfinput/pad.c +++ b/plugins/dfinput/pad.c @@ -18,6 +18,8 @@ #include "pad.h" +static void (*gpuVisualVibration)(uint32_t, uint32_t) = NULL; + char *PSEgetLibName(void) { return _("Gamepad/Keyboard Input"); } @@ -30,13 +32,23 @@ uint32_t PSEgetLibVersion(void) { return (1 << 16) | (1 << 8); } +void PADsetMode(const int pad, const int mode) { + g.PadState[pad].PadMode = mode; + g.PadState[pad].PadID = mode ? 0x73 : 0x41; + + g.PadState[pad].Vib0 = 0; + g.PadState[pad].Vib1 = 0; + g.PadState[pad].VibF[0] = 0; + g.PadState[pad].VibF[1] = 0; +} + long PADinit(long flags) { LoadPADConfig(); - g.PadState[0].PadMode = 0; - g.PadState[0].PadID = 0x41; - g.PadState[1].PadMode = 0; - g.PadState[1].PadID = 0x41; + PADsetMode(0, 0); + PADsetMode(1, 0); + + gpuVisualVibration = NULL; return PSE_PAD_ERR_SUCCESS; } @@ -263,6 +275,26 @@ unsigned char PADpoll(unsigned char value) { } switch (CurCmd) { + case CMD_READ_DATA_AND_VIBRATE: + if (g.cfg.PadDef[CurPad].Type == PSE_PAD_TYPE_ANALOGPAD) { + if (CurByte == g.PadState[CurPad].Vib0) { + g.PadState[CurPad].VibF[0] = value; + + if (gpuVisualVibration != NULL && (g.PadState[CurPad].VibF[0] != 0 || g.PadState[CurPad].VibF[1] != 0)) { + gpuVisualVibration(g.PadState[CurPad].VibF[0], g.PadState[CurPad].VibF[1]); + } + } + + if (CurByte == g.PadState[CurPad].Vib1) { + g.PadState[CurPad].VibF[1] = value; + + if (gpuVisualVibration != NULL && (g.PadState[CurPad].VibF[0] != 0 || g.PadState[CurPad].VibF[1] != 0)) { + gpuVisualVibration(g.PadState[CurPad].VibF[0], g.PadState[CurPad].VibF[1]); + } + } + } + break; + case CMD_CONFIG_MODE: if (CurByte == 2) { switch (value) { @@ -281,8 +313,7 @@ unsigned char PADpoll(unsigned char value) { case CMD_SET_MODE_AND_LOCK: if (CurByte == 2) { - g.PadState[CurPad].PadMode = value; - g.PadState[CurPad].PadID = value ? 0x73 : 0x41; + PADsetMode(CurPad, value); } break; @@ -317,6 +348,29 @@ unsigned char PADpoll(unsigned char value) { } } break; + + case CMD_VIBRATION_TOGGLE: + if (CurByte >= 2 && CurByte < CmdLen) { + if (CurByte == g.PadState[CurPad].Vib0) { + buf[CurByte] = 0; + } + if (CurByte == g.PadState[CurPad].Vib1) { + buf[CurByte] = 1; + } + + if (value == 0) { + g.PadState[CurPad].Vib0 = CurByte; + if ((g.PadState[CurPad].PadID & 0x0f) < (CurByte - 1) / 2) { + g.PadState[CurPad].PadID = (g.PadState[CurPad].PadID & 0xf0) + (CurByte - 1) / 2; + } + } else if (value == 1) { + g.PadState[CurPad].Vib1 = CurByte; + if ((g.PadState[CurPad].PadID & 0x0f) < (CurByte - 1) / 2) { + g.PadState[CurPad].PadID = (g.PadState[CurPad].PadID & 0xf0) + (CurByte - 1) / 2; + } + } + } + break; } if (CurByte >= CmdLen) return 0; @@ -368,6 +422,10 @@ long PADkeypressed(void) { return s; } +void PADregisterVibration(void (*callback)(uint32_t, uint32_t)) { + gpuVisualVibration = callback; +} + #ifndef _MACOSX long PADconfigure(void) { diff --git a/plugins/dfinput/pad.h b/plugins/dfinput/pad.h index 8347caf8..0362fdcb 100644 --- a/plugins/dfinput/pad.h +++ b/plugins/dfinput/pad.h @@ -123,6 +123,8 @@ typedef struct tagPadState { volatile uint16_t JoyKeyStatus; volatile uint8_t AnalogStatus[ANALOG_TOTAL][2]; // 0-255 where 127 is center position volatile uint8_t AnalogKeyStatus[ANALOG_TOTAL][4]; + uint8_t Vib0, Vib1; + volatile uint8_t VibF[2]; } PADSTATE; typedef struct tagGlobalData { diff --git a/plugins/dfxvideo/draw.c b/plugins/dfxvideo/draw.c index db90cdf7..53451ad7 100644 --- a/plugins/dfxvideo/draw.c +++ b/plugins/dfxvideo/draw.c @@ -1613,15 +1613,16 @@ void DoBufferSwap(void) if (iMaintainAspect) MaintainAspect(&dstx, &dsty, &_w, &_h); +/*Whistler: too slow/laggy so commented out for now if(iRumbleTime) { - dstx+=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal/2); - _w-=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal); - dsty+=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal/2); - _h-=((rand()*iRumbleVal)/RAND_MAX)-(iRumbleVal/2); + dstx += (rand() % iRumbleVal) - iRumbleVal / 2; + _w -= (rand() % iRumbleVal) - iRumbleVal / 2; + dsty += (rand() % iRumbleVal) - iRumbleVal / 2; + _h -= (rand() % iRumbleVal) - iRumbleVal / 2; iRumbleTime--; } - +*/ XvShmPutImage(display, xv_port, window, hGC, xvi, 0,0, //src x,y finalw,finalh, //src w,h @@ -1902,54 +1903,54 @@ static void hq2x_32_def(uint32_t * dst0, uint32_t * dst1, const uint32_t * src0, mask |= cache_vert_mask[i] << 5; // << 1 << 5 == << 6 mask |= interp_32_diff(c[8], c[4]) << 7; -#define P0 dst0[0]
-#define P1 dst0[1]
-#define P2 dst1[0]
-#define P3 dst1[1]
-#define MUR interp_32_diff(c[1], c[5])
-#define MDR interp_32_diff(c[5], c[7])
-#define MDL interp_32_diff(c[7], c[3])
-#define MUL interp_32_diff(c[3], c[1])
-#define IC(p0) c[p0]
-#define I11(p0,p1) interp_32_11(c[p0], c[p1])
-#define I211(p0,p1,p2) interp_32_211(c[p0], c[p1], c[p2])
-#define I31(p0,p1) interp_32_31(c[p0], c[p1])
-#define I332(p0,p1,p2) interp_32_332(c[p0], c[p1], c[p2])
-#define I431(p0,p1,p2) interp_32_431(c[p0], c[p1], c[p2])
-#define I521(p0,p1,p2) interp_32_521(c[p0], c[p1], c[p2])
-#define I53(p0,p1) interp_32_53(c[p0], c[p1])
-#define I611(p0,p1,p2) interp_32_611(c[p0], c[p1], c[p2])
-#define I71(p0,p1) interp_32_71(c[p0], c[p1])
-#define I772(p0,p1,p2) interp_32_772(c[p0], c[p1], c[p2])
-#define I97(p0,p1) interp_32_97(c[p0], c[p1])
-#define I1411(p0,p1,p2) interp_32_1411(c[p0], c[p1], c[p2])
-#define I151(p0,p1) interp_32_151(c[p0], c[p1])
-
+#define P0 dst0[0] +#define P1 dst0[1] +#define P2 dst1[0] +#define P3 dst1[1] +#define MUR interp_32_diff(c[1], c[5]) +#define MDR interp_32_diff(c[5], c[7]) +#define MDL interp_32_diff(c[7], c[3]) +#define MUL interp_32_diff(c[3], c[1]) +#define IC(p0) c[p0] +#define I11(p0,p1) interp_32_11(c[p0], c[p1]) +#define I211(p0,p1,p2) interp_32_211(c[p0], c[p1], c[p2]) +#define I31(p0,p1) interp_32_31(c[p0], c[p1]) +#define I332(p0,p1,p2) interp_32_332(c[p0], c[p1], c[p2]) +#define I431(p0,p1,p2) interp_32_431(c[p0], c[p1], c[p2]) +#define I521(p0,p1,p2) interp_32_521(c[p0], c[p1], c[p2]) +#define I53(p0,p1) interp_32_53(c[p0], c[p1]) +#define I611(p0,p1,p2) interp_32_611(c[p0], c[p1], c[p2]) +#define I71(p0,p1) interp_32_71(c[p0], c[p1]) +#define I772(p0,p1,p2) interp_32_772(c[p0], c[p1], c[p2]) +#define I97(p0,p1) interp_32_97(c[p0], c[p1]) +#define I1411(p0,p1,p2) interp_32_1411(c[p0], c[p1], c[p2]) +#define I151(p0,p1) interp_32_151(c[p0], c[p1]) + switch (mask) { #include "hq2x.h" - }
- -#undef P0
-#undef P1
-#undef P2
-#undef P3
-#undef MUR
-#undef MDR
-#undef MDL
-#undef MUL
-#undef IC
-#undef I11
-#undef I211
-#undef I31
-#undef I332
-#undef I431
-#undef I521
-#undef I53
-#undef I611
-#undef I71
-#undef I772
-#undef I97
-#undef I1411
+ } + +#undef P0 +#undef P1 +#undef P2 +#undef P3 +#undef MUR +#undef MDR +#undef MDL +#undef MUL +#undef IC +#undef I11 +#undef I211 +#undef I31 +#undef I332 +#undef I431 +#undef I521 +#undef I53 +#undef I611 +#undef I71 +#undef I772 +#undef I97 +#undef I1411 #undef I151 src0 += 1; @@ -2042,66 +2043,66 @@ static void hq3x_32_def(uint32_t* dst0, uint32_t* dst1, uint32_t* dst2, const cache_vert_mask[i] = interp_32_diff(c[7], c[4]) << 1; mask |= cache_vert_mask[i] << 5; // << 1 << 5 == << 6 mask |= interp_32_diff(c[8], c[4]) << 7; -
-#define P0 dst0[0]
-#define P1 dst0[1]
-#define P2 dst0[2]
-#define P3 dst1[0]
-#define P4 dst1[1]
-#define P5 dst1[2]
-#define P6 dst2[0]
-#define P7 dst2[1]
-#define P8 dst2[2]
-#define MUR interp_32_diff(c[1], c[5])
-#define MDR interp_32_diff(c[5], c[7])
-#define MDL interp_32_diff(c[7], c[3])
-#define MUL interp_32_diff(c[3], c[1])
-#define IC(p0) c[p0]
-#define I11(p0,p1) interp_32_11(c[p0], c[p1])
-#define I211(p0,p1,p2) interp_32_211(c[p0], c[p1], c[p2])
-#define I31(p0,p1) interp_32_31(c[p0], c[p1])
-#define I332(p0,p1,p2) interp_32_332(c[p0], c[p1], c[p2])
-#define I431(p0,p1,p2) interp_32_431(c[p0], c[p1], c[p2])
-#define I521(p0,p1,p2) interp_32_521(c[p0], c[p1], c[p2])
-#define I53(p0,p1) interp_32_53(c[p0], c[p1])
-#define I611(p0,p1,p2) interp_32_611(c[p0], c[p1], c[p2])
-#define I71(p0,p1) interp_32_71(c[p0], c[p1])
-#define I772(p0,p1,p2) interp_32_772(c[p0], c[p1], c[p2])
-#define I97(p0,p1) interp_32_97(c[p0], c[p1])
-#define I1411(p0,p1,p2) interp_32_1411(c[p0], c[p1], c[p2])
-#define I151(p0,p1) interp_32_151(c[p0], c[p1])
+ +#define P0 dst0[0] +#define P1 dst0[1] +#define P2 dst0[2] +#define P3 dst1[0] +#define P4 dst1[1] +#define P5 dst1[2] +#define P6 dst2[0] +#define P7 dst2[1] +#define P8 dst2[2] +#define MUR interp_32_diff(c[1], c[5]) +#define MDR interp_32_diff(c[5], c[7]) +#define MDL interp_32_diff(c[7], c[3]) +#define MUL interp_32_diff(c[3], c[1]) +#define IC(p0) c[p0] +#define I11(p0,p1) interp_32_11(c[p0], c[p1]) +#define I211(p0,p1,p2) interp_32_211(c[p0], c[p1], c[p2]) +#define I31(p0,p1) interp_32_31(c[p0], c[p1]) +#define I332(p0,p1,p2) interp_32_332(c[p0], c[p1], c[p2]) +#define I431(p0,p1,p2) interp_32_431(c[p0], c[p1], c[p2]) +#define I521(p0,p1,p2) interp_32_521(c[p0], c[p1], c[p2]) +#define I53(p0,p1) interp_32_53(c[p0], c[p1]) +#define I611(p0,p1,p2) interp_32_611(c[p0], c[p1], c[p2]) +#define I71(p0,p1) interp_32_71(c[p0], c[p1]) +#define I772(p0,p1,p2) interp_32_772(c[p0], c[p1], c[p2]) +#define I97(p0,p1) interp_32_97(c[p0], c[p1]) +#define I1411(p0,p1,p2) interp_32_1411(c[p0], c[p1], c[p2]) +#define I151(p0,p1) interp_32_151(c[p0], c[p1]) switch (mask) { #include "hq3x.h" - }
- -#undef P0
-#undef P1
-#undef P2
-#undef P3
-#undef P4
-#undef P5
-#undef P6
-#undef P7
-#undef P8
-#undef MUR
-#undef MDR
-#undef MDL
-#undef MUL
-#undef IC
-#undef I11
-#undef I211
-#undef I31
-#undef I332
-#undef I431
-#undef I521
-#undef I53
-#undef I611
-#undef I71
-#undef I772
-#undef I97
-#undef I1411
-#undef I151
+ } + +#undef P0 +#undef P1 +#undef P2 +#undef P3 +#undef P4 +#undef P5 +#undef P6 +#undef P7 +#undef P8 +#undef MUR +#undef MDR +#undef MDL +#undef MUL +#undef IC +#undef I11 +#undef I211 +#undef I31 +#undef I332 +#undef I431 +#undef I521 +#undef I53 +#undef I611 +#undef I71 +#undef I772 +#undef I97 +#undef I1411 +#undef I151 src0 += 1; src1 += 1; diff --git a/plugins/dfxvideo/gpu.c b/plugins/dfxvideo/gpu.c index e5b911f9..4aa6f230 100644 --- a/plugins/dfxvideo/gpu.c +++ b/plugins/dfxvideo/gpu.c @@ -2280,7 +2280,7 @@ void CALLBACK GPUvBlank( int val ) vBlank = val; } -void CALLBACK GPUvisualVibration(unsigned long iSmall, unsigned long iBig) +void CALLBACK GPUvisualVibration(uint32_t iSmall, uint32_t iBig) { int iVibVal; @@ -2291,7 +2291,5 @@ void CALLBACK GPUvisualVibration(unsigned long iSmall, unsigned long iBig) if(iBig) iRumbleVal=max(4*iVibVal,min(15*iVibVal,((int)iBig *iVibVal)/10)); else iRumbleVal=max(1*iVibVal,min( 3*iVibVal,((int)iSmall*iVibVal)/10)); - srand(timeGetTime()); // init rand (will be used in BufferSwap) - iRumbleTime=15; // let the rumble last 16 buffer swaps } diff --git a/po/fr_FR.po b/po/fr_FR.po index 774d54ff..65615d2f 100644 --- a/po/fr_FR.po +++ b/po/fr_FR.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: pcsxr 1.0\n" "Report-Msgid-Bugs-To: whistler_wmz@users.sf.net\n" -"POT-Creation-Date: 2011-01-02 17:37+0800\n" +"POT-Creation-Date: 2011-01-09 15:27+0800\n" "PO-Revision-Date: 2010-12-30 12:51+0100\n" "Last-Translator: Jean-André Santoni <jean.andre.santoni@gmail.com>\n" "Language-Team: French <jean.andre.santoni@gmail.com>\n" -"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: fr\n" #: ../data/pcsx.glade2.h:1 msgid "" @@ -964,27 +964,27 @@ msgstr "Erreur lors de l'ouverture du greffon GPU !" msgid "Error opening Controller 1 plugin!" msgstr "Erreur lors de l'ouverture du greffon Contrôleur 1 !" -#: ../gui/Plugin.c:333 +#: ../gui/Plugin.c:335 msgid "Error opening Controller 2 plugin!" msgstr "Erreur lors de l'ouverture du greffon Contrôleur 2 !" -#: ../gui/Plugin.c:413 +#: ../gui/Plugin.c:417 msgid "Error closing CD-ROM plugin!" msgstr "Erreur lors de la fermeture du greffon CD-ROM !" -#: ../gui/Plugin.c:415 +#: ../gui/Plugin.c:419 msgid "Error closing SPU plugin!" msgstr "Erreur lors de la fermeture du greffon SPU !" -#: ../gui/Plugin.c:417 +#: ../gui/Plugin.c:421 msgid "Error closing Controller 1 Plugin!" msgstr "Erreur lors de la fermeture du greffon Contrôleur 1 !" -#: ../gui/Plugin.c:419 +#: ../gui/Plugin.c:423 msgid "Error closing Controller 2 plugin!" msgstr "Erreur lors de la fermeture du greffon Contrôleur 2 !" -#: ../gui/Plugin.c:421 +#: ../gui/Plugin.c:425 msgid "Error closing GPU plugin!" msgstr "Erreur lors de la fermeture du greffon GPU !" @@ -1052,82 +1052,82 @@ msgstr "Opcode CPE inconnu %02x à la position %08x.\n" msgid "This file does not appear to be a valid PSX file.\n" msgstr "Ce fichier n'est pas un fichier PSX valide.\n" -#: ../libpcsxcore/plugins.c:183 +#: ../libpcsxcore/plugins.c:189 #, c-format msgid "Error loading %s: %s" msgstr "Erreur lors du chargement %s : %s" -#: ../libpcsxcore/plugins.c:235 +#: ../libpcsxcore/plugins.c:243 #, c-format msgid "Could not load GPU plugin %s!" msgstr "Impossible de charger le greffon GPU %s !" -#: ../libpcsxcore/plugins.c:308 +#: ../libpcsxcore/plugins.c:318 #, c-format msgid "Could not load CD-ROM plugin %s!" msgstr "Impossible de charger le greffon CD-ROM %s !" -#: ../libpcsxcore/plugins.c:356 +#: ../libpcsxcore/plugins.c:366 #, c-format msgid "Could not load SPU plugin %s!" msgstr "Impossible de charger le greffon SPU %s !" -#: ../libpcsxcore/plugins.c:493 +#: ../libpcsxcore/plugins.c:505 #, c-format msgid "Could not load Controller 1 plugin %s!" msgstr "Impossible de charger le greffon Contrôleur 1 %s !" -#: ../libpcsxcore/plugins.c:547 +#: ../libpcsxcore/plugins.c:563 #, c-format msgid "Could not load Controller 2 plugin %s!" msgstr "Impossible de charger le greffon Contrôleur 2 %s !" -#: ../libpcsxcore/plugins.c:590 +#: ../libpcsxcore/plugins.c:608 #, c-format msgid "Could not load NetPlay plugin %s!" msgstr "Impossible de charger le greffon de jeu en réseau %s !" -#: ../libpcsxcore/plugins.c:670 +#: ../libpcsxcore/plugins.c:688 #, c-format msgid "Could not load SIO1 plugin %s!" msgstr "Impossible de charger le greffon SIO1 %s !" -#: ../libpcsxcore/plugins.c:755 +#: ../libpcsxcore/plugins.c:773 #, c-format msgid "Error initializing CD-ROM plugin: %d" msgstr "Erreur lors de l'initialisation du greffon CD-ROM : %d" -#: ../libpcsxcore/plugins.c:757 +#: ../libpcsxcore/plugins.c:775 #, c-format msgid "Error initializing GPU plugin: %d" msgstr "Erreur lors de l'initialisation du greffon GPU : %d" -#: ../libpcsxcore/plugins.c:759 +#: ../libpcsxcore/plugins.c:777 #, c-format msgid "Error initializing SPU plugin: %d" msgstr "Erreur lors de l'initialisation du greffon SPU : %d" -#: ../libpcsxcore/plugins.c:761 +#: ../libpcsxcore/plugins.c:779 #, c-format msgid "Error initializing Controller 1 plugin: %d" msgstr "Erreur lors de l'initialisation du greffon Contrôleur 1 : %d" -#: ../libpcsxcore/plugins.c:763 +#: ../libpcsxcore/plugins.c:781 #, c-format msgid "Error initializing Controller 2 plugin: %d" msgstr "Erreur lors de l'initialisation du greffon Contrôleur 2 : %d" -#: ../libpcsxcore/plugins.c:767 +#: ../libpcsxcore/plugins.c:785 #, c-format msgid "Error initializing NetPlay plugin: %d" msgstr "Erreur lors de l'initialisation du greffon de jeu en réseau : %d" -#: ../libpcsxcore/plugins.c:772 +#: ../libpcsxcore/plugins.c:790 #, c-format msgid "Error initializing SIO1 plugin: %d" msgstr "Erreur lors de l'initialisation du greffon SIO1 : %d" -#: ../libpcsxcore/plugins.c:775 +#: ../libpcsxcore/plugins.c:793 msgid "Plugins loaded.\n" msgstr "Greffons chargés.\n" @@ -1261,7 +1261,7 @@ msgstr "" "Threadé - Plus rapide (Avec Cache)" #: ../plugins/dfcdrom/cdrcfg-0.1df/dfcdrom.glade2.h:24 -#: ../plugins/dfinput/dfinput.glade2.h:8 ../win32/gui/WndMain.c:1307 +#: ../plugins/dfinput/dfinput.ui.h:8 ../win32/gui/WndMain.c:1307 msgid "Options" msgstr "Options" @@ -1377,119 +1377,125 @@ msgstr "R-Stick Bas" msgid "R-Stick Up" msgstr "R-Stick Haut" -#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142 +#: ../plugins/dfinput/cfg-gtk2.c:100 ../plugins/dfinput/cfg-gtk2.c:139 msgid "Centered" msgstr "Centré" -#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142 +#: ../plugins/dfinput/cfg-gtk2.c:100 ../plugins/dfinput/cfg-gtk2.c:139 msgid "Up" msgstr "Haut" -#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142 +#: ../plugins/dfinput/cfg-gtk2.c:100 ../plugins/dfinput/cfg-gtk2.c:139 msgid "Right" msgstr "Droite" -#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142 +#: ../plugins/dfinput/cfg-gtk2.c:100 ../plugins/dfinput/cfg-gtk2.c:139 msgid "Rightup" msgstr "Droite-haut" -#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143 +#: ../plugins/dfinput/cfg-gtk2.c:101 ../plugins/dfinput/cfg-gtk2.c:140 msgid "Down" msgstr "Bas" -#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143 +#: ../plugins/dfinput/cfg-gtk2.c:101 ../plugins/dfinput/cfg-gtk2.c:140 msgid "Rightdown" msgstr "Droite-bas" -#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143 +#: ../plugins/dfinput/cfg-gtk2.c:101 ../plugins/dfinput/cfg-gtk2.c:140 msgid "Left" msgstr "Gauche" -#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143 +#: ../plugins/dfinput/cfg-gtk2.c:101 ../plugins/dfinput/cfg-gtk2.c:140 msgid "Leftup" msgstr "Gauche-haut" -#: ../plugins/dfinput/cfg-gtk2.c:105 ../plugins/dfinput/cfg-gtk2.c:144 +#: ../plugins/dfinput/cfg-gtk2.c:102 ../plugins/dfinput/cfg-gtk2.c:141 msgid "Leftdown" msgstr "Gauche-bas" -#: ../plugins/dfinput/cfg-gtk2.c:109 ../plugins/dfinput/cfg-gtk2.c:148 +#: ../plugins/dfinput/cfg-gtk2.c:106 ../plugins/dfinput/cfg-gtk2.c:145 #, c-format msgid "Joystick: Button %d" msgstr "Joystick : Bouton %d" -#: ../plugins/dfinput/cfg-gtk2.c:113 ../plugins/dfinput/cfg-gtk2.c:152 +#: ../plugins/dfinput/cfg-gtk2.c:110 ../plugins/dfinput/cfg-gtk2.c:149 #, c-format msgid "Joystick: Axis %d%c" msgstr "Joystick: Axe %d%c" -#: ../plugins/dfinput/cfg-gtk2.c:118 ../plugins/dfinput/cfg-gtk2.c:157 +#: ../plugins/dfinput/cfg-gtk2.c:115 ../plugins/dfinput/cfg-gtk2.c:154 #, c-format msgid "Joystick: Hat %d %s" msgstr "Joystick: Tête %d %s" -#: ../plugins/dfinput/cfg-gtk2.c:133 ../plugins/dfinput/cfg-gtk2.c:172 +#: ../plugins/dfinput/cfg-gtk2.c:130 ../plugins/dfinput/cfg-gtk2.c:169 msgid "Keyboard:" msgstr "Clavier :" -#: ../plugins/dfinput/cfg-gtk2.c:137 ../plugins/dfinput/cfg-gtk2.c:176 +#: ../plugins/dfinput/cfg-gtk2.c:134 ../plugins/dfinput/cfg-gtk2.c:173 msgid "(Not Set)" msgstr "(Non défini)" -#: ../plugins/dfinput/cfg-gtk2.c:559 +#: ../plugins/dfinput/cfg-gtk2.c:542 #: ../plugins/peopsxgl/gpucfg/peopsxgl.ui.h:55 msgid "None" msgstr "Aucun" -#: ../plugins/dfinput/cfg-gtk2.c:601 +#: ../plugins/dfinput/cfg-gtk2.c:584 msgid "Gamepad/Keyboard Input Configuration" msgstr "Configuration clavier/manette" -#: ../plugins/dfinput/cfg-gtk2.c:607 ../plugins/dfinput/cfg-gtk2.c:627 +#: ../plugins/dfinput/cfg-gtk2.c:590 ../plugins/dfinput/cfg-gtk2.c:610 msgid "Key" msgstr "Touche" -#: ../plugins/dfinput/cfg-gtk2.c:613 ../plugins/dfinput/cfg-gtk2.c:633 +#: ../plugins/dfinput/cfg-gtk2.c:596 ../plugins/dfinput/cfg-gtk2.c:616 msgid "Button" msgstr "Bouton" -#: ../plugins/dfinput/dfinput.glade2.h:1 +#: ../plugins/dfinput/dfinput.ui.h:1 +#, fuzzy +msgid "Analog Pad" +msgstr "" +"Pavé digital\n" +"Pavé analogique" + +#: ../plugins/dfinput/dfinput.ui.h:2 msgid "Change" msgstr "Changer" -#: ../plugins/dfinput/dfinput.glade2.h:2 +#: ../plugins/dfinput/dfinput.ui.h:3 msgid "Controller 1" msgstr "Contrôleur 1" -#: ../plugins/dfinput/dfinput.glade2.h:3 +#: ../plugins/dfinput/dfinput.ui.h:4 msgid "Controller 2" msgstr "Contrôleur 2" -#: ../plugins/dfinput/dfinput.glade2.h:4 +#: ../plugins/dfinput/dfinput.ui.h:5 msgid "Device:" msgstr "Contrôleur :" -#: ../plugins/dfinput/dfinput.glade2.h:5 -msgid "" -"Digital Pad\n" -"Analog Pad" +#: ../plugins/dfinput/dfinput.ui.h:6 +#, fuzzy +msgid "Digital Pad" msgstr "" "Pavé digital\n" "Pavé analogique" -#: ../plugins/dfinput/dfinput.glade2.h:7 +#: ../plugins/dfinput/dfinput.ui.h:7 msgid "Multi-Threaded (Recommended)" msgstr "Multi-Threadé (Recommandé)" -#: ../plugins/dfinput/dfinput.glade2.h:9 +#: ../plugins/dfinput/dfinput.ui.h:9 msgid "Reset" msgstr "Reset" -#: ../plugins/dfinput/dfinput.glade2.h:10 +#: ../plugins/dfinput/dfinput.ui.h:10 msgid "Type:" msgstr "Type :" -#: ../plugins/dfinput/pad.c:22 +#: ../plugins/dfinput/pad.c:24 msgid "Gamepad/Keyboard Input" msgstr "Entrées clavier/manette" @@ -1507,28 +1513,28 @@ msgstr "erreur lors de la connection à %s: %s\n" msgid "Error allocating memory!\n" msgstr "Erreur d'allocation mémoire !\n" -#: ../plugins/dfnet/dfnet.glade2.h:1 +#: ../plugins/dfnet/dfnet.ui.h:1 msgid "Client (Player2)" msgstr "Client (Joueur 2)" -#: ../plugins/dfnet/dfnet.glade2.h:2 +#: ../plugins/dfnet/dfnet.ui.h:2 msgid "Copy PC IP to Clipboard" msgstr "Copier l'IP du PC dans le presse-papier" -#: ../plugins/dfnet/dfnet.glade2.h:3 +#: ../plugins/dfnet/dfnet.ui.h:3 msgid "" "Do not change if not necessary (remember it must be changed on both sides)." msgstr "Ne changer que si nécessaire (doit être modifié des deux cotés)." -#: ../plugins/dfnet/dfnet.glade2.h:4 +#: ../plugins/dfnet/dfnet.ui.h:4 msgid "Play Offline" msgstr "Jouer hors-ligne" -#: ../plugins/dfnet/dfnet.glade2.h:5 +#: ../plugins/dfnet/dfnet.ui.h:5 msgid "Port Number" msgstr "Numéro de port" -#: ../plugins/dfnet/dfnet.glade2.h:6 +#: ../plugins/dfnet/dfnet.ui.h:6 msgid "" "Select here if you'll be Server (Player1) or Client (Player2).\n" "\n" @@ -1546,24 +1552,24 @@ msgstr "" "Si vous avez choisi client, veuillez entrer l'adresse IP que le serveur " "vousaura fournie dans la zone Adresse IP." -#: ../plugins/dfnet/dfnet.glade2.h:11 +#: ../plugins/dfnet/dfnet.ui.h:11 msgid "Server (Player1)" msgstr "Serveur (Joueur 1)" -#: ../plugins/dfnet/dfnet.glade2.h:12 +#: ../plugins/dfnet/dfnet.ui.h:12 msgid "Start Game" msgstr "Lancer le jeu" -#: ../plugins/dfnet/gui.c:31 ../plugins/dfnet/gui.c:112 +#: ../plugins/dfnet/gui.c:30 ../plugins/dfnet/gui.c:112 #: ../win32/gui/ConfigurePlugins.c:616 msgid "NetPlay" msgstr "Jeu en réseau" -#: ../plugins/dfnet/gui.c:39 +#: ../plugins/dfnet/gui.c:38 msgid "Nothing to configure" msgstr "Rien à configurer" -#: ../plugins/dfnet/gui.c:95 +#: ../plugins/dfnet/gui.c:94 #, c-format msgid "IP %s" msgstr "IP %s" @@ -2699,49 +2705,49 @@ msgstr "Erreur au chargement du greffon SPU (%d)" msgid "Error Opening PAD1 Plugin (%d)" msgstr "Erreur au chargement du greffon Contrôleur 1 (%d)" -#: ../win32/gui/plugin.c:291 +#: ../win32/gui/plugin.c:293 #, c-format msgid "Error Opening PAD2 Plugin (%d)" msgstr "Erreur au chargement du greffon Contrôleur 2 (%d)" -#: ../win32/gui/plugin.c:319 +#: ../win32/gui/plugin.c:323 msgid "Error Closing CDR Plugin" msgstr "Erreur à la fermeture du greffon CDR" -#: ../win32/gui/plugin.c:321 +#: ../win32/gui/plugin.c:325 msgid "Error Closing GPU Plugin" msgstr "Erreur à la fermeture du greffon GPU" -#: ../win32/gui/plugin.c:323 +#: ../win32/gui/plugin.c:327 msgid "Error Closing SPU Plugin" msgstr "Erreur à la fermeture du greffon SPU" -#: ../win32/gui/plugin.c:341 +#: ../win32/gui/plugin.c:345 #, c-format msgid "CDRinit error: %d" msgstr "Erreur lors de l'initialisation du greffon CDR : %d" -#: ../win32/gui/plugin.c:343 +#: ../win32/gui/plugin.c:347 #, c-format msgid "GPUinit error: %d" msgstr "Erreur lors de l'initialisation du greffon GPU : %d" -#: ../win32/gui/plugin.c:345 +#: ../win32/gui/plugin.c:349 #, c-format msgid "SPUinit error: %d" msgstr "Erreur lors de l'initialisation du greffon SPU : %d" -#: ../win32/gui/plugin.c:347 +#: ../win32/gui/plugin.c:351 #, c-format msgid "PAD1init error: %d" msgstr "Erreur lors de l'initialisation du greffon Contrôleur 1 : %d" -#: ../win32/gui/plugin.c:349 +#: ../win32/gui/plugin.c:353 #, c-format msgid "PAD2init error: %d" msgstr "Erreur lors de l'initialisation du greffon Contrôleur 2 : %d" -#: ../win32/gui/plugin.c:352 +#: ../win32/gui/plugin.c:356 #, c-format msgid "NETinit error: %d" msgstr "Erreur lors de l'initialisation du greffon de jeu en réseau : %d" @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: pcsxr 1.0\n" "Report-Msgid-Bugs-To: whistler_wmz@users.sf.net\n" -"POT-Creation-Date: 2011-01-02 17:37+0800\n" +"POT-Creation-Date: 2011-01-09 15:27+0800\n" "PO-Revision-Date: 2010-03-15 16:00+0200\n" "Last-Translator: Giovanni Scafora <giovanni@archlinux.org>\n" "Language-Team: Arch Linux Italian Team <giovanni@archlinux.org>\n" -"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: \n" #: ../data/pcsx.glade2.h:1 msgid "" @@ -991,30 +991,30 @@ msgid "Error opening Controller 1 plugin!" msgstr "" "Si è verificato un errore durante l'apertura del plugin del controller 1!" -#: ../gui/Plugin.c:333 +#: ../gui/Plugin.c:335 msgid "Error opening Controller 2 plugin!" msgstr "" "Si è verificato un errore durante l'apertura del plugin del controller 2!" -#: ../gui/Plugin.c:413 +#: ../gui/Plugin.c:417 msgid "Error closing CD-ROM plugin!" msgstr "Si è verificato un errore durante la chiusura del plugin del CD-ROM!" -#: ../gui/Plugin.c:415 +#: ../gui/Plugin.c:419 msgid "Error closing SPU plugin!" msgstr "Si è verificato un errore durante la chiusura del plugin della SPU!" -#: ../gui/Plugin.c:417 +#: ../gui/Plugin.c:421 msgid "Error closing Controller 1 Plugin!" msgstr "" "Si è verificato un errore durante la chiusura del plugin del controller 1!" -#: ../gui/Plugin.c:419 +#: ../gui/Plugin.c:423 msgid "Error closing Controller 2 plugin!" msgstr "" "Si è verificato un errore durante la chiusura del plugin del controller 2!" -#: ../gui/Plugin.c:421 +#: ../gui/Plugin.c:425 msgid "Error closing GPU plugin!" msgstr "Si è verificato un errore durante la chiusura del plugin della GPU!" @@ -1082,93 +1082,93 @@ msgstr "Opcode CPE sconosciuto %02x alla posizione %08x.\n" msgid "This file does not appear to be a valid PSX file.\n" msgstr "Questo file non sembra essere un file valido di PSX.\n" -#: ../libpcsxcore/plugins.c:183 +#: ../libpcsxcore/plugins.c:189 #, c-format msgid "Error loading %s: %s" msgstr "Si è verificato un errore durante il caricamento di %s: %s" -#: ../libpcsxcore/plugins.c:235 +#: ../libpcsxcore/plugins.c:243 #, c-format msgid "Could not load GPU plugin %s!" msgstr "Impossibile caricare il plugin %s della GPU!" -#: ../libpcsxcore/plugins.c:308 +#: ../libpcsxcore/plugins.c:318 #, c-format msgid "Could not load CD-ROM plugin %s!" msgstr "Impossibile caricare il plugin %s del CD-ROM!" -#: ../libpcsxcore/plugins.c:356 +#: ../libpcsxcore/plugins.c:366 #, c-format msgid "Could not load SPU plugin %s!" msgstr "Impossibile caricare il plugin %s della SPU!" -#: ../libpcsxcore/plugins.c:493 +#: ../libpcsxcore/plugins.c:505 #, c-format msgid "Could not load Controller 1 plugin %s!" msgstr "Impossibile caricare il plugin %s del controller 1!" -#: ../libpcsxcore/plugins.c:547 +#: ../libpcsxcore/plugins.c:563 #, c-format msgid "Could not load Controller 2 plugin %s!" msgstr "Impossibile caricare il plugin %s del controller 2!" -#: ../libpcsxcore/plugins.c:590 +#: ../libpcsxcore/plugins.c:608 #, c-format msgid "Could not load NetPlay plugin %s!" msgstr "Impossibile caricare il plugin %s di NetPlay!" -#: ../libpcsxcore/plugins.c:670 +#: ../libpcsxcore/plugins.c:688 #, fuzzy, c-format msgid "Could not load SIO1 plugin %s!" msgstr "Impossibile caricare il plugin %s della SPU!" -#: ../libpcsxcore/plugins.c:755 +#: ../libpcsxcore/plugins.c:773 #, c-format msgid "Error initializing CD-ROM plugin: %d" msgstr "" -"Si è verificato un errore durante l'inizializzazione del plugin del CD-ROM: " -"%d" +"Si è verificato un errore durante l'inizializzazione del plugin del CD-ROM: %" +"d" -#: ../libpcsxcore/plugins.c:757 +#: ../libpcsxcore/plugins.c:775 #, c-format msgid "Error initializing GPU plugin: %d" msgstr "" "Si è verificato un errore durante l'inizializzazione del plugin della GPU: %d" -#: ../libpcsxcore/plugins.c:759 +#: ../libpcsxcore/plugins.c:777 #, c-format msgid "Error initializing SPU plugin: %d" msgstr "" "Si è verificato un errore durante l'inizializzazione del plugin della SPU: %d" -#: ../libpcsxcore/plugins.c:761 +#: ../libpcsxcore/plugins.c:779 #, c-format msgid "Error initializing Controller 1 plugin: %d" msgstr "" "Si è verificato un errore durante l'inizializzazione del plugin del " "controller 1: %d" -#: ../libpcsxcore/plugins.c:763 +#: ../libpcsxcore/plugins.c:781 #, c-format msgid "Error initializing Controller 2 plugin: %d" msgstr "" "Si è verificato un errore durante l'inizializzazione del plugin del " "controller 2: %d" -#: ../libpcsxcore/plugins.c:767 +#: ../libpcsxcore/plugins.c:785 #, c-format msgid "Error initializing NetPlay plugin: %d" msgstr "" -"Si è verificato un errore durante l'inizializzazione del plugin di NetPlay: " -"%d" +"Si è verificato un errore durante l'inizializzazione del plugin di NetPlay: %" +"d" -#: ../libpcsxcore/plugins.c:772 +#: ../libpcsxcore/plugins.c:790 #, fuzzy, c-format msgid "Error initializing SIO1 plugin: %d" msgstr "" "Si è verificato un errore durante l'inizializzazione del plugin della SPU: %d" -#: ../libpcsxcore/plugins.c:775 +#: ../libpcsxcore/plugins.c:793 msgid "Plugins loaded.\n" msgstr "Plugin caricati.\n" @@ -1303,7 +1303,7 @@ msgstr "" "Threaded, veloce (con la cache)" #: ../plugins/dfcdrom/cdrcfg-0.1df/dfcdrom.glade2.h:24 -#: ../plugins/dfinput/dfinput.glade2.h:8 ../win32/gui/WndMain.c:1307 +#: ../plugins/dfinput/dfinput.ui.h:8 ../win32/gui/WndMain.c:1307 msgid "Options" msgstr "Opzioni" @@ -1419,119 +1419,125 @@ msgstr "R-Stick Giù" msgid "R-Stick Up" msgstr "R-Stick Su" -#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142 +#: ../plugins/dfinput/cfg-gtk2.c:100 ../plugins/dfinput/cfg-gtk2.c:139 msgid "Centered" msgstr "Centrato" -#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142 +#: ../plugins/dfinput/cfg-gtk2.c:100 ../plugins/dfinput/cfg-gtk2.c:139 msgid "Up" msgstr "Su" -#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142 +#: ../plugins/dfinput/cfg-gtk2.c:100 ../plugins/dfinput/cfg-gtk2.c:139 msgid "Right" msgstr "Destra" -#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142 +#: ../plugins/dfinput/cfg-gtk2.c:100 ../plugins/dfinput/cfg-gtk2.c:139 msgid "Rightup" msgstr "In alto a destra" -#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143 +#: ../plugins/dfinput/cfg-gtk2.c:101 ../plugins/dfinput/cfg-gtk2.c:140 msgid "Down" msgstr "Giù" -#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143 +#: ../plugins/dfinput/cfg-gtk2.c:101 ../plugins/dfinput/cfg-gtk2.c:140 msgid "Rightdown" msgstr "In basso a destra" -#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143 +#: ../plugins/dfinput/cfg-gtk2.c:101 ../plugins/dfinput/cfg-gtk2.c:140 msgid "Left" msgstr "Sinistra" -#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143 +#: ../plugins/dfinput/cfg-gtk2.c:101 ../plugins/dfinput/cfg-gtk2.c:140 msgid "Leftup" msgstr "In alto a sinistra" -#: ../plugins/dfinput/cfg-gtk2.c:105 ../plugins/dfinput/cfg-gtk2.c:144 +#: ../plugins/dfinput/cfg-gtk2.c:102 ../plugins/dfinput/cfg-gtk2.c:141 msgid "Leftdown" msgstr "In basso a sinistra" -#: ../plugins/dfinput/cfg-gtk2.c:109 ../plugins/dfinput/cfg-gtk2.c:148 +#: ../plugins/dfinput/cfg-gtk2.c:106 ../plugins/dfinput/cfg-gtk2.c:145 #, c-format msgid "Joystick: Button %d" msgstr "Joystick: Pulsante %d" -#: ../plugins/dfinput/cfg-gtk2.c:113 ../plugins/dfinput/cfg-gtk2.c:152 +#: ../plugins/dfinput/cfg-gtk2.c:110 ../plugins/dfinput/cfg-gtk2.c:149 #, c-format msgid "Joystick: Axis %d%c" msgstr "Joystick: Asse %d%c" -#: ../plugins/dfinput/cfg-gtk2.c:118 ../plugins/dfinput/cfg-gtk2.c:157 +#: ../plugins/dfinput/cfg-gtk2.c:115 ../plugins/dfinput/cfg-gtk2.c:154 #, c-format msgid "Joystick: Hat %d %s" msgstr "Joystick: hat %d %s" -#: ../plugins/dfinput/cfg-gtk2.c:133 ../plugins/dfinput/cfg-gtk2.c:172 +#: ../plugins/dfinput/cfg-gtk2.c:130 ../plugins/dfinput/cfg-gtk2.c:169 msgid "Keyboard:" msgstr "Tastiera:" -#: ../plugins/dfinput/cfg-gtk2.c:137 ../plugins/dfinput/cfg-gtk2.c:176 +#: ../plugins/dfinput/cfg-gtk2.c:134 ../plugins/dfinput/cfg-gtk2.c:173 msgid "(Not Set)" msgstr "(Nessuna impostazione)" -#: ../plugins/dfinput/cfg-gtk2.c:559 +#: ../plugins/dfinput/cfg-gtk2.c:542 #: ../plugins/peopsxgl/gpucfg/peopsxgl.ui.h:55 msgid "None" msgstr "Nessuno" -#: ../plugins/dfinput/cfg-gtk2.c:601 +#: ../plugins/dfinput/cfg-gtk2.c:584 msgid "Gamepad/Keyboard Input Configuration" msgstr "Configurazione input del gamepad/tastiera" -#: ../plugins/dfinput/cfg-gtk2.c:607 ../plugins/dfinput/cfg-gtk2.c:627 +#: ../plugins/dfinput/cfg-gtk2.c:590 ../plugins/dfinput/cfg-gtk2.c:610 msgid "Key" msgstr "Tasto" -#: ../plugins/dfinput/cfg-gtk2.c:613 ../plugins/dfinput/cfg-gtk2.c:633 +#: ../plugins/dfinput/cfg-gtk2.c:596 ../plugins/dfinput/cfg-gtk2.c:616 msgid "Button" msgstr "Pulsante" -#: ../plugins/dfinput/dfinput.glade2.h:1 +#: ../plugins/dfinput/dfinput.ui.h:1 +#, fuzzy +msgid "Analog Pad" +msgstr "" +"Pad digitale\n" +"Pad analogico" + +#: ../plugins/dfinput/dfinput.ui.h:2 msgid "Change" msgstr "Cambia" -#: ../plugins/dfinput/dfinput.glade2.h:2 +#: ../plugins/dfinput/dfinput.ui.h:3 msgid "Controller 1" msgstr "Controller 1" -#: ../plugins/dfinput/dfinput.glade2.h:3 +#: ../plugins/dfinput/dfinput.ui.h:4 msgid "Controller 2" msgstr "Controller 2" -#: ../plugins/dfinput/dfinput.glade2.h:4 +#: ../plugins/dfinput/dfinput.ui.h:5 msgid "Device:" msgstr "Dispositivo:" -#: ../plugins/dfinput/dfinput.glade2.h:5 -msgid "" -"Digital Pad\n" -"Analog Pad" +#: ../plugins/dfinput/dfinput.ui.h:6 +#, fuzzy +msgid "Digital Pad" msgstr "" "Pad digitale\n" "Pad analogico" -#: ../plugins/dfinput/dfinput.glade2.h:7 +#: ../plugins/dfinput/dfinput.ui.h:7 msgid "Multi-Threaded (Recommended)" msgstr "Multi-Threaded (consigliato)" -#: ../plugins/dfinput/dfinput.glade2.h:9 +#: ../plugins/dfinput/dfinput.ui.h:9 msgid "Reset" msgstr "Resetta" -#: ../plugins/dfinput/dfinput.glade2.h:10 +#: ../plugins/dfinput/dfinput.ui.h:10 msgid "Type:" msgstr "Tipo:" -#: ../plugins/dfinput/pad.c:22 +#: ../plugins/dfinput/pad.c:24 msgid "Gamepad/Keyboard Input" msgstr "Input del gamepad/tastiera" @@ -1551,28 +1557,28 @@ msgstr "Si è verificato un errore durante il caricamento di %s: %s" msgid "Error allocating memory!\n" msgstr "Si è verificato un errore durante l'allocazione della memoria!" -#: ../plugins/dfnet/dfnet.glade2.h:1 +#: ../plugins/dfnet/dfnet.ui.h:1 msgid "Client (Player2)" msgstr "" -#: ../plugins/dfnet/dfnet.glade2.h:2 +#: ../plugins/dfnet/dfnet.ui.h:2 msgid "Copy PC IP to Clipboard" msgstr "" -#: ../plugins/dfnet/dfnet.glade2.h:3 +#: ../plugins/dfnet/dfnet.ui.h:3 msgid "" "Do not change if not necessary (remember it must be changed on both sides)." msgstr "" -#: ../plugins/dfnet/dfnet.glade2.h:4 +#: ../plugins/dfnet/dfnet.ui.h:4 msgid "Play Offline" msgstr "" -#: ../plugins/dfnet/dfnet.glade2.h:5 +#: ../plugins/dfnet/dfnet.ui.h:5 msgid "Port Number" msgstr "" -#: ../plugins/dfnet/dfnet.glade2.h:6 +#: ../plugins/dfnet/dfnet.ui.h:6 msgid "" "Select here if you'll be Server (Player1) or Client (Player2).\n" "\n" @@ -1583,25 +1589,25 @@ msgid "" "the IP Address Control." msgstr "" -#: ../plugins/dfnet/dfnet.glade2.h:11 +#: ../plugins/dfnet/dfnet.ui.h:11 msgid "Server (Player1)" msgstr "" -#: ../plugins/dfnet/dfnet.glade2.h:12 +#: ../plugins/dfnet/dfnet.ui.h:12 #, fuzzy msgid "Start Game" msgstr "Tasto Start" -#: ../plugins/dfnet/gui.c:31 ../plugins/dfnet/gui.c:112 +#: ../plugins/dfnet/gui.c:30 ../plugins/dfnet/gui.c:112 #: ../win32/gui/ConfigurePlugins.c:616 msgid "NetPlay" msgstr "NetPlay" -#: ../plugins/dfnet/gui.c:39 +#: ../plugins/dfnet/gui.c:38 msgid "Nothing to configure" msgstr "" -#: ../plugins/dfnet/gui.c:95 +#: ../plugins/dfnet/gui.c:94 #, c-format msgid "IP %s" msgstr "" @@ -2787,49 +2793,49 @@ msgstr "Si è verificato un errore durante l'apertura del plugin della SPU (%d)" msgid "Error Opening PAD1 Plugin (%d)" msgstr "Si è verificato un errore durante l'apertura del plugin del PAD1 (%d)" -#: ../win32/gui/plugin.c:291 +#: ../win32/gui/plugin.c:293 #, c-format msgid "Error Opening PAD2 Plugin (%d)" msgstr "Si è verificato un errore durante l'apertura del plugin del PAD2 (%d)" -#: ../win32/gui/plugin.c:319 +#: ../win32/gui/plugin.c:323 msgid "Error Closing CDR Plugin" msgstr "Si è verificato un errore durante la chiusura del plugin del CD-ROM" -#: ../win32/gui/plugin.c:321 +#: ../win32/gui/plugin.c:325 msgid "Error Closing GPU Plugin" msgstr "Si è verificato un errore durante la chiusura del plugin della GPU" -#: ../win32/gui/plugin.c:323 +#: ../win32/gui/plugin.c:327 msgid "Error Closing SPU Plugin" msgstr "Si è verificato un errore durante la chiusura del plugin della SPU" -#: ../win32/gui/plugin.c:341 +#: ../win32/gui/plugin.c:345 #, c-format msgid "CDRinit error: %d" msgstr "CDRinit errore: %d" -#: ../win32/gui/plugin.c:343 +#: ../win32/gui/plugin.c:347 #, c-format msgid "GPUinit error: %d" msgstr "GPUinit errore: %d" -#: ../win32/gui/plugin.c:345 +#: ../win32/gui/plugin.c:349 #, c-format msgid "SPUinit error: %d" msgstr "SPUinit errore: %d" -#: ../win32/gui/plugin.c:347 +#: ../win32/gui/plugin.c:351 #, c-format msgid "PAD1init error: %d" msgstr "PAD1init errore: %d" -#: ../win32/gui/plugin.c:349 +#: ../win32/gui/plugin.c:353 #, c-format msgid "PAD2init error: %d" msgstr "PAD2init errore: %d" -#: ../win32/gui/plugin.c:352 +#: ../win32/gui/plugin.c:356 #, c-format msgid "NETinit error: %d" msgstr "NETinit errore: %d" diff --git a/po/pt_BR.po b/po/pt_BR.po index 55a4ed42..c9a2672b 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -5,14 +5,14 @@ msgid "" msgstr "" "Project-Id-Version: pcsx-df\n" "Report-Msgid-Bugs-To: whistler_wmz@users.sf.net\n" -"POT-Creation-Date: 2011-01-02 17:37+0800\n" +"POT-Creation-Date: 2011-01-09 15:27+0800\n" "PO-Revision-Date: 2009-11-28 23:57+0700\n" "Last-Translator: Wei Mingzhi <whistler@openoffice.org>\n" "Language-Team: PoBRE <romhackers@gmail.com>\n" -"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: \n" "X-Generator: KBabel 1.11.2\n" #: ../data/pcsx.glade2.h:1 @@ -984,27 +984,27 @@ msgstr "Erro ao abrir a extensão de GPU!" msgid "Error opening Controller 1 plugin!" msgstr "Erro ao abrir a extensão do Controle 1!" -#: ../gui/Plugin.c:333 +#: ../gui/Plugin.c:335 msgid "Error opening Controller 2 plugin!" msgstr "Erro ao abrir a extensão do Controle 2!" -#: ../gui/Plugin.c:413 +#: ../gui/Plugin.c:417 msgid "Error closing CD-ROM plugin!" msgstr "Erro ao fechar a extensão de CD-ROM!" -#: ../gui/Plugin.c:415 +#: ../gui/Plugin.c:419 msgid "Error closing SPU plugin!" msgstr "Erro ao fechar a extensão de SPU!" -#: ../gui/Plugin.c:417 +#: ../gui/Plugin.c:421 msgid "Error closing Controller 1 Plugin!" msgstr "Erro ao fechar a extensão do Controle 1!" -#: ../gui/Plugin.c:419 +#: ../gui/Plugin.c:423 msgid "Error closing Controller 2 plugin!" msgstr "Erro ao fechar a extensão de Controle 2!" -#: ../gui/Plugin.c:421 +#: ../gui/Plugin.c:425 msgid "Error closing GPU plugin!" msgstr "Erro ao fechar a extensão de GPU!" @@ -1072,82 +1072,82 @@ msgstr "Código operacional CPE %02x desconhecido, na posição %08x.\n" msgid "This file does not appear to be a valid PSX file.\n" msgstr "Esse arquivo não parece ser um arquivo válido de PSX!\n" -#: ../libpcsxcore/plugins.c:183 +#: ../libpcsxcore/plugins.c:189 #, c-format msgid "Error loading %s: %s" msgstr "Erro carregando \"%s\": \"%s\"" -#: ../libpcsxcore/plugins.c:235 +#: ../libpcsxcore/plugins.c:243 #, c-format msgid "Could not load GPU plugin %s!" msgstr "Não conseguiu carregar a extensão de GPU \"%s\"!" -#: ../libpcsxcore/plugins.c:308 +#: ../libpcsxcore/plugins.c:318 #, c-format msgid "Could not load CD-ROM plugin %s!" msgstr "Não conseguiu carregar a extensão de CD-ROM \"%s\"!" -#: ../libpcsxcore/plugins.c:356 +#: ../libpcsxcore/plugins.c:366 #, c-format msgid "Could not load SPU plugin %s!" msgstr "Não conseguiu carregar a extensão de SPU \"%s\"!" -#: ../libpcsxcore/plugins.c:493 +#: ../libpcsxcore/plugins.c:505 #, c-format msgid "Could not load Controller 1 plugin %s!" msgstr "Não conseguiu carregar a extensão do Controle 1 \"%s\"!" -#: ../libpcsxcore/plugins.c:547 +#: ../libpcsxcore/plugins.c:563 #, c-format msgid "Could not load Controller 2 plugin %s!" msgstr "Não conseguiu carregar a extensão do Controle 2 \"%s\"!" -#: ../libpcsxcore/plugins.c:590 +#: ../libpcsxcore/plugins.c:608 #, c-format msgid "Could not load NetPlay plugin %s!" msgstr "Não conseguiu carregar a extensão de jogo em rede \"%s\"!" -#: ../libpcsxcore/plugins.c:670 +#: ../libpcsxcore/plugins.c:688 #, fuzzy, c-format msgid "Could not load SIO1 plugin %s!" msgstr "Não conseguiu carregar a extensão de SPU \"%s\"!" -#: ../libpcsxcore/plugins.c:755 +#: ../libpcsxcore/plugins.c:773 #, c-format msgid "Error initializing CD-ROM plugin: %d" msgstr "Erro ao iniciar a extensão de CD-ROM \"%d\"!" -#: ../libpcsxcore/plugins.c:757 +#: ../libpcsxcore/plugins.c:775 #, c-format msgid "Error initializing GPU plugin: %d" msgstr "Erro ao iniciar a extensão de GPU \"%d\"!" -#: ../libpcsxcore/plugins.c:759 +#: ../libpcsxcore/plugins.c:777 #, c-format msgid "Error initializing SPU plugin: %d" msgstr "Erro ao iniciar a extensão de SPU \"%d\"!" -#: ../libpcsxcore/plugins.c:761 +#: ../libpcsxcore/plugins.c:779 #, c-format msgid "Error initializing Controller 1 plugin: %d" msgstr "Erro ao iniciar a extensão do Controle 1 \"%d\"!" -#: ../libpcsxcore/plugins.c:763 +#: ../libpcsxcore/plugins.c:781 #, c-format msgid "Error initializing Controller 2 plugin: %d" msgstr "Erro ao iniciar a extensão do Controle 2 \"%d\"!" -#: ../libpcsxcore/plugins.c:767 +#: ../libpcsxcore/plugins.c:785 #, c-format msgid "Error initializing NetPlay plugin: %d" msgstr "Erro ao iniciar a extensão de jogo em rede \"%d\"!" -#: ../libpcsxcore/plugins.c:772 +#: ../libpcsxcore/plugins.c:790 #, fuzzy, c-format msgid "Error initializing SIO1 plugin: %d" msgstr "Erro ao iniciar a extensão de SPU \"%d\"!" -#: ../libpcsxcore/plugins.c:775 +#: ../libpcsxcore/plugins.c:793 msgid "Plugins loaded.\n" msgstr "Extensões carregadas.\n" @@ -1262,7 +1262,7 @@ msgid "" msgstr "" #: ../plugins/dfcdrom/cdrcfg-0.1df/dfcdrom.glade2.h:24 -#: ../plugins/dfinput/dfinput.glade2.h:8 ../win32/gui/WndMain.c:1307 +#: ../plugins/dfinput/dfinput.ui.h:8 ../win32/gui/WndMain.c:1307 msgid "Options" msgstr "Opções" @@ -1378,117 +1378,119 @@ msgstr "" msgid "R-Stick Up" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142 +#: ../plugins/dfinput/cfg-gtk2.c:100 ../plugins/dfinput/cfg-gtk2.c:139 msgid "Centered" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142 +#: ../plugins/dfinput/cfg-gtk2.c:100 ../plugins/dfinput/cfg-gtk2.c:139 msgid "Up" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142 +#: ../plugins/dfinput/cfg-gtk2.c:100 ../plugins/dfinput/cfg-gtk2.c:139 msgid "Right" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142 +#: ../plugins/dfinput/cfg-gtk2.c:100 ../plugins/dfinput/cfg-gtk2.c:139 msgid "Rightup" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143 +#: ../plugins/dfinput/cfg-gtk2.c:101 ../plugins/dfinput/cfg-gtk2.c:140 msgid "Down" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143 +#: ../plugins/dfinput/cfg-gtk2.c:101 ../plugins/dfinput/cfg-gtk2.c:140 msgid "Rightdown" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143 +#: ../plugins/dfinput/cfg-gtk2.c:101 ../plugins/dfinput/cfg-gtk2.c:140 msgid "Left" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143 +#: ../plugins/dfinput/cfg-gtk2.c:101 ../plugins/dfinput/cfg-gtk2.c:140 msgid "Leftup" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:105 ../plugins/dfinput/cfg-gtk2.c:144 +#: ../plugins/dfinput/cfg-gtk2.c:102 ../plugins/dfinput/cfg-gtk2.c:141 msgid "Leftdown" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:109 ../plugins/dfinput/cfg-gtk2.c:148 +#: ../plugins/dfinput/cfg-gtk2.c:106 ../plugins/dfinput/cfg-gtk2.c:145 #, c-format msgid "Joystick: Button %d" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:113 ../plugins/dfinput/cfg-gtk2.c:152 +#: ../plugins/dfinput/cfg-gtk2.c:110 ../plugins/dfinput/cfg-gtk2.c:149 #, c-format msgid "Joystick: Axis %d%c" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:118 ../plugins/dfinput/cfg-gtk2.c:157 +#: ../plugins/dfinput/cfg-gtk2.c:115 ../plugins/dfinput/cfg-gtk2.c:154 #, c-format msgid "Joystick: Hat %d %s" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:133 ../plugins/dfinput/cfg-gtk2.c:172 +#: ../plugins/dfinput/cfg-gtk2.c:130 ../plugins/dfinput/cfg-gtk2.c:169 msgid "Keyboard:" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:137 ../plugins/dfinput/cfg-gtk2.c:176 +#: ../plugins/dfinput/cfg-gtk2.c:134 ../plugins/dfinput/cfg-gtk2.c:173 msgid "(Not Set)" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:559 +#: ../plugins/dfinput/cfg-gtk2.c:542 #: ../plugins/peopsxgl/gpucfg/peopsxgl.ui.h:55 msgid "None" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:601 +#: ../plugins/dfinput/cfg-gtk2.c:584 msgid "Gamepad/Keyboard Input Configuration" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:607 ../plugins/dfinput/cfg-gtk2.c:627 +#: ../plugins/dfinput/cfg-gtk2.c:590 ../plugins/dfinput/cfg-gtk2.c:610 msgid "Key" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:613 ../plugins/dfinput/cfg-gtk2.c:633 +#: ../plugins/dfinput/cfg-gtk2.c:596 ../plugins/dfinput/cfg-gtk2.c:616 msgid "Button" msgstr "" -#: ../plugins/dfinput/dfinput.glade2.h:1 +#: ../plugins/dfinput/dfinput.ui.h:1 +msgid "Analog Pad" +msgstr "" + +#: ../plugins/dfinput/dfinput.ui.h:2 msgid "Change" msgstr "" -#: ../plugins/dfinput/dfinput.glade2.h:2 +#: ../plugins/dfinput/dfinput.ui.h:3 msgid "Controller 1" msgstr "Controle 1" -#: ../plugins/dfinput/dfinput.glade2.h:3 +#: ../plugins/dfinput/dfinput.ui.h:4 msgid "Controller 2" msgstr "Controle 2" -#: ../plugins/dfinput/dfinput.glade2.h:4 +#: ../plugins/dfinput/dfinput.ui.h:5 msgid "Device:" msgstr "" -#: ../plugins/dfinput/dfinput.glade2.h:5 -msgid "" -"Digital Pad\n" -"Analog Pad" +#: ../plugins/dfinput/dfinput.ui.h:6 +msgid "Digital Pad" msgstr "" -#: ../plugins/dfinput/dfinput.glade2.h:7 +#: ../plugins/dfinput/dfinput.ui.h:7 msgid "Multi-Threaded (Recommended)" msgstr "" -#: ../plugins/dfinput/dfinput.glade2.h:9 +#: ../plugins/dfinput/dfinput.ui.h:9 msgid "Reset" msgstr "" -#: ../plugins/dfinput/dfinput.glade2.h:10 +#: ../plugins/dfinput/dfinput.ui.h:10 msgid "Type:" msgstr "" -#: ../plugins/dfinput/pad.c:22 +#: ../plugins/dfinput/pad.c:24 msgid "Gamepad/Keyboard Input" msgstr "Entrada do gamepad ou teclado" @@ -1508,28 +1510,28 @@ msgstr "Erro carregando \"%s\": \"%s\"" msgid "Error allocating memory!\n" msgstr "Erro ao alocar memória!" -#: ../plugins/dfnet/dfnet.glade2.h:1 +#: ../plugins/dfnet/dfnet.ui.h:1 msgid "Client (Player2)" msgstr "" -#: ../plugins/dfnet/dfnet.glade2.h:2 +#: ../plugins/dfnet/dfnet.ui.h:2 msgid "Copy PC IP to Clipboard" msgstr "" -#: ../plugins/dfnet/dfnet.glade2.h:3 +#: ../plugins/dfnet/dfnet.ui.h:3 msgid "" "Do not change if not necessary (remember it must be changed on both sides)." msgstr "" -#: ../plugins/dfnet/dfnet.glade2.h:4 +#: ../plugins/dfnet/dfnet.ui.h:4 msgid "Play Offline" msgstr "" -#: ../plugins/dfnet/dfnet.glade2.h:5 +#: ../plugins/dfnet/dfnet.ui.h:5 msgid "Port Number" msgstr "" -#: ../plugins/dfnet/dfnet.glade2.h:6 +#: ../plugins/dfnet/dfnet.ui.h:6 msgid "" "Select here if you'll be Server (Player1) or Client (Player2).\n" "\n" @@ -1540,24 +1542,24 @@ msgid "" "the IP Address Control." msgstr "" -#: ../plugins/dfnet/dfnet.glade2.h:11 +#: ../plugins/dfnet/dfnet.ui.h:11 msgid "Server (Player1)" msgstr "" -#: ../plugins/dfnet/dfnet.glade2.h:12 +#: ../plugins/dfnet/dfnet.ui.h:12 msgid "Start Game" msgstr "" -#: ../plugins/dfnet/gui.c:31 ../plugins/dfnet/gui.c:112 +#: ../plugins/dfnet/gui.c:30 ../plugins/dfnet/gui.c:112 #: ../win32/gui/ConfigurePlugins.c:616 msgid "NetPlay" msgstr "Jogo em rede" -#: ../plugins/dfnet/gui.c:39 +#: ../plugins/dfnet/gui.c:38 msgid "Nothing to configure" msgstr "" -#: ../plugins/dfnet/gui.c:95 +#: ../plugins/dfnet/gui.c:94 #, c-format msgid "IP %s" msgstr "" @@ -2739,49 +2741,49 @@ msgstr "Erro ao abrir a extensão de SPU (%d)!" msgid "Error Opening PAD1 Plugin (%d)" msgstr "Erro ao abrir a extensão do controle 1 (%d)!" -#: ../win32/gui/plugin.c:291 +#: ../win32/gui/plugin.c:293 #, c-format msgid "Error Opening PAD2 Plugin (%d)" msgstr "Erro ao abrir a extensão do controle 2 (%d)!" -#: ../win32/gui/plugin.c:319 +#: ../win32/gui/plugin.c:323 msgid "Error Closing CDR Plugin" msgstr "Erro ao fechar a extensão de CDROM!" -#: ../win32/gui/plugin.c:321 +#: ../win32/gui/plugin.c:325 msgid "Error Closing GPU Plugin" msgstr "Erro ao fechar a extensão de GPU!" -#: ../win32/gui/plugin.c:323 +#: ../win32/gui/plugin.c:327 msgid "Error Closing SPU Plugin" msgstr "Erro ao fechar a extensão de SPU!" -#: ../win32/gui/plugin.c:341 +#: ../win32/gui/plugin.c:345 #, c-format msgid "CDRinit error: %d" msgstr "Erro ao iniciar o CDROM: %d" -#: ../win32/gui/plugin.c:343 +#: ../win32/gui/plugin.c:347 #, c-format msgid "GPUinit error: %d" msgstr "Erro ao iniciar a GPU: %d" -#: ../win32/gui/plugin.c:345 +#: ../win32/gui/plugin.c:349 #, c-format msgid "SPUinit error: %d" msgstr "Erro ao iniciar a SPU: %d" -#: ../win32/gui/plugin.c:347 +#: ../win32/gui/plugin.c:351 #, c-format msgid "PAD1init error: %d" msgstr "Erro ao iniciar o controle 1: %d" -#: ../win32/gui/plugin.c:349 +#: ../win32/gui/plugin.c:353 #, c-format msgid "PAD2init error: %d" msgstr "Erro ao iniciar o controle 2: %d" -#: ../win32/gui/plugin.c:352 +#: ../win32/gui/plugin.c:356 #, c-format msgid "NETinit error: %d" msgstr "Erro ao iniciar a rede: %d" diff --git a/po/ru_RU.po b/po/ru_RU.po index 2a7cbd5a..d863a2ed 100644 --- a/po/ru_RU.po +++ b/po/ru_RU.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: pcsxr 1.0\n" "Report-Msgid-Bugs-To: whistler_wmz@users.sf.net\n" -"POT-Creation-Date: 2011-01-02 17:37+0800\n" +"POT-Creation-Date: 2011-01-09 15:27+0800\n" "PO-Revision-Date: 2010-08-28 16:44+0400\n" "Last-Translator: Blade_Arma <edgbla@yandex.ru>\n" "Language-Team: American English <kde-i18n-doc@kde.org>\n" -"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: \n" "X-Generator: Lokalize 1.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -959,27 +959,27 @@ msgstr "Ошибка открытия GPU плагина!" msgid "Error opening Controller 1 plugin!" msgstr "Ошибка открытия PAD1 плагина!" -#: ../gui/Plugin.c:333 +#: ../gui/Plugin.c:335 msgid "Error opening Controller 2 plugin!" msgstr "Ошибка открытия PAD2 плагина!" -#: ../gui/Plugin.c:413 +#: ../gui/Plugin.c:417 msgid "Error closing CD-ROM plugin!" msgstr "Ошибка при закрытии CD-ROM плагина!" -#: ../gui/Plugin.c:415 +#: ../gui/Plugin.c:419 msgid "Error closing SPU plugin!" msgstr "Ошибка при закрытии SPU плагина!" -#: ../gui/Plugin.c:417 +#: ../gui/Plugin.c:421 msgid "Error closing Controller 1 Plugin!" msgstr "Ошибка при закрытии PAD1 плагина!" -#: ../gui/Plugin.c:419 +#: ../gui/Plugin.c:423 msgid "Error closing Controller 2 plugin!" msgstr "Ошибка при закрытии PAD2 плагина!" -#: ../gui/Plugin.c:421 +#: ../gui/Plugin.c:425 msgid "Error closing GPU plugin!" msgstr "Ошибка при закрытии GPU плагина!" @@ -1047,82 +1047,82 @@ msgstr "Неизвестный опкод CPE %02x по адресу %08x.\n" msgid "This file does not appear to be a valid PSX file.\n" msgstr "This file does not appear to be a valid PSX file.\n" -#: ../libpcsxcore/plugins.c:183 +#: ../libpcsxcore/plugins.c:189 #, c-format msgid "Error loading %s: %s" msgstr "Ошибка загрузки %s: %s" -#: ../libpcsxcore/plugins.c:235 +#: ../libpcsxcore/plugins.c:243 #, c-format msgid "Could not load GPU plugin %s!" msgstr "Не удалось загрузить GPU плагин %s!" -#: ../libpcsxcore/plugins.c:308 +#: ../libpcsxcore/plugins.c:318 #, c-format msgid "Could not load CD-ROM plugin %s!" msgstr "Не удалось загрузить CD-ROM плагин %s!" -#: ../libpcsxcore/plugins.c:356 +#: ../libpcsxcore/plugins.c:366 #, c-format msgid "Could not load SPU plugin %s!" msgstr "Не удалось загрузить SPU плагин %s!" -#: ../libpcsxcore/plugins.c:493 +#: ../libpcsxcore/plugins.c:505 #, c-format msgid "Could not load Controller 1 plugin %s!" msgstr "Не удалось загрузить PAD1 плагин %s!" -#: ../libpcsxcore/plugins.c:547 +#: ../libpcsxcore/plugins.c:563 #, c-format msgid "Could not load Controller 2 plugin %s!" msgstr "Не удалось загрузить PAD2 плагин %s!" -#: ../libpcsxcore/plugins.c:590 +#: ../libpcsxcore/plugins.c:608 #, c-format msgid "Could not load NetPlay plugin %s!" msgstr "Не удалось загрузить NetPlay плагин %s!" -#: ../libpcsxcore/plugins.c:670 +#: ../libpcsxcore/plugins.c:688 #, c-format msgid "Could not load SIO1 plugin %s!" msgstr "Не удалось загрузить SIO1 плагин %s!" -#: ../libpcsxcore/plugins.c:755 +#: ../libpcsxcore/plugins.c:773 #, c-format msgid "Error initializing CD-ROM plugin: %d" msgstr "Ошибка инициализации CD-ROM плагина: %d" -#: ../libpcsxcore/plugins.c:757 +#: ../libpcsxcore/plugins.c:775 #, c-format msgid "Error initializing GPU plugin: %d" msgstr "Ошибка инициализации GPU плагина: %d" -#: ../libpcsxcore/plugins.c:759 +#: ../libpcsxcore/plugins.c:777 #, c-format msgid "Error initializing SPU plugin: %d" msgstr "Ошибка инициализации SPU плагина: %d" -#: ../libpcsxcore/plugins.c:761 +#: ../libpcsxcore/plugins.c:779 #, c-format msgid "Error initializing Controller 1 plugin: %d" msgstr "Ошибка инициализации PAD1 плагина: %d" -#: ../libpcsxcore/plugins.c:763 +#: ../libpcsxcore/plugins.c:781 #, c-format msgid "Error initializing Controller 2 plugin: %d" msgstr "Ошибка инициализации PAD2 плагина: %d" -#: ../libpcsxcore/plugins.c:767 +#: ../libpcsxcore/plugins.c:785 #, c-format msgid "Error initializing NetPlay plugin: %d" msgstr "Ошибка инициализации NetPlay плагина: %d" -#: ../libpcsxcore/plugins.c:772 +#: ../libpcsxcore/plugins.c:790 #, c-format msgid "Error initializing SIO1 plugin: %d" msgstr "Ошибка инициализации SIO1 плагина: %d" -#: ../libpcsxcore/plugins.c:775 +#: ../libpcsxcore/plugins.c:793 msgid "Plugins loaded.\n" msgstr "Плагины загружены.\n" @@ -1255,7 +1255,7 @@ msgstr "" "В отдельном потоке - (Кеширование)" #: ../plugins/dfcdrom/cdrcfg-0.1df/dfcdrom.glade2.h:24 -#: ../plugins/dfinput/dfinput.glade2.h:8 ../win32/gui/WndMain.c:1307 +#: ../plugins/dfinput/dfinput.ui.h:8 ../win32/gui/WndMain.c:1307 msgid "Options" msgstr "Опции" @@ -1371,119 +1371,125 @@ msgstr "" msgid "R-Stick Up" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142 +#: ../plugins/dfinput/cfg-gtk2.c:100 ../plugins/dfinput/cfg-gtk2.c:139 msgid "Centered" msgstr "Отцентровано" -#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142 +#: ../plugins/dfinput/cfg-gtk2.c:100 ../plugins/dfinput/cfg-gtk2.c:139 msgid "Up" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142 +#: ../plugins/dfinput/cfg-gtk2.c:100 ../plugins/dfinput/cfg-gtk2.c:139 msgid "Right" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142 +#: ../plugins/dfinput/cfg-gtk2.c:100 ../plugins/dfinput/cfg-gtk2.c:139 msgid "Rightup" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143 +#: ../plugins/dfinput/cfg-gtk2.c:101 ../plugins/dfinput/cfg-gtk2.c:140 msgid "Down" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143 +#: ../plugins/dfinput/cfg-gtk2.c:101 ../plugins/dfinput/cfg-gtk2.c:140 msgid "Rightdown" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143 +#: ../plugins/dfinput/cfg-gtk2.c:101 ../plugins/dfinput/cfg-gtk2.c:140 msgid "Left" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143 +#: ../plugins/dfinput/cfg-gtk2.c:101 ../plugins/dfinput/cfg-gtk2.c:140 msgid "Leftup" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:105 ../plugins/dfinput/cfg-gtk2.c:144 +#: ../plugins/dfinput/cfg-gtk2.c:102 ../plugins/dfinput/cfg-gtk2.c:141 msgid "Leftdown" msgstr "" -#: ../plugins/dfinput/cfg-gtk2.c:109 ../plugins/dfinput/cfg-gtk2.c:148 +#: ../plugins/dfinput/cfg-gtk2.c:106 ../plugins/dfinput/cfg-gtk2.c:145 #, c-format msgid "Joystick: Button %d" msgstr "Джойстик: Кнопка %d" -#: ../plugins/dfinput/cfg-gtk2.c:113 ../plugins/dfinput/cfg-gtk2.c:152 +#: ../plugins/dfinput/cfg-gtk2.c:110 ../plugins/dfinput/cfg-gtk2.c:149 #, c-format msgid "Joystick: Axis %d%c" msgstr "Джойстик: Ось %d%c" -#: ../plugins/dfinput/cfg-gtk2.c:118 ../plugins/dfinput/cfg-gtk2.c:157 +#: ../plugins/dfinput/cfg-gtk2.c:115 ../plugins/dfinput/cfg-gtk2.c:154 #, c-format msgid "Joystick: Hat %d %s" msgstr "Джойстик: Крестовина %d %s" -#: ../plugins/dfinput/cfg-gtk2.c:133 ../plugins/dfinput/cfg-gtk2.c:172 +#: ../plugins/dfinput/cfg-gtk2.c:130 ../plugins/dfinput/cfg-gtk2.c:169 msgid "Keyboard:" msgstr "Клавиатура:" -#: ../plugins/dfinput/cfg-gtk2.c:137 ../plugins/dfinput/cfg-gtk2.c:176 +#: ../plugins/dfinput/cfg-gtk2.c:134 ../plugins/dfinput/cfg-gtk2.c:173 msgid "(Not Set)" msgstr "(Не установлено)" -#: ../plugins/dfinput/cfg-gtk2.c:559 +#: ../plugins/dfinput/cfg-gtk2.c:542 #: ../plugins/peopsxgl/gpucfg/peopsxgl.ui.h:55 msgid "None" msgstr "Нету" -#: ../plugins/dfinput/cfg-gtk2.c:601 +#: ../plugins/dfinput/cfg-gtk2.c:584 msgid "Gamepad/Keyboard Input Configuration" msgstr "Настройка Gamepad/Keyboard" -#: ../plugins/dfinput/cfg-gtk2.c:607 ../plugins/dfinput/cfg-gtk2.c:627 +#: ../plugins/dfinput/cfg-gtk2.c:590 ../plugins/dfinput/cfg-gtk2.c:610 msgid "Key" msgstr "Клавиша" -#: ../plugins/dfinput/cfg-gtk2.c:613 ../plugins/dfinput/cfg-gtk2.c:633 +#: ../plugins/dfinput/cfg-gtk2.c:596 ../plugins/dfinput/cfg-gtk2.c:616 msgid "Button" msgstr "Кнопка" -#: ../plugins/dfinput/dfinput.glade2.h:1 +#: ../plugins/dfinput/dfinput.ui.h:1 +#, fuzzy +msgid "Analog Pad" +msgstr "" +"Стандартный контроллер\n" +"Аналоговый контроллер" + +#: ../plugins/dfinput/dfinput.ui.h:2 msgid "Change" msgstr "Изменить" -#: ../plugins/dfinput/dfinput.glade2.h:2 +#: ../plugins/dfinput/dfinput.ui.h:3 msgid "Controller 1" msgstr "Контроллер 1" -#: ../plugins/dfinput/dfinput.glade2.h:3 +#: ../plugins/dfinput/dfinput.ui.h:4 msgid "Controller 2" msgstr "Контроллер 2" -#: ../plugins/dfinput/dfinput.glade2.h:4 +#: ../plugins/dfinput/dfinput.ui.h:5 msgid "Device:" msgstr "Устройство:" -#: ../plugins/dfinput/dfinput.glade2.h:5 -msgid "" -"Digital Pad\n" -"Analog Pad" +#: ../plugins/dfinput/dfinput.ui.h:6 +#, fuzzy +msgid "Digital Pad" msgstr "" "Стандартный контроллер\n" "Аналоговый контроллер" -#: ../plugins/dfinput/dfinput.glade2.h:7 +#: ../plugins/dfinput/dfinput.ui.h:7 msgid "Multi-Threaded (Recommended)" msgstr "В отдельном потоке (Рекомендуется)" -#: ../plugins/dfinput/dfinput.glade2.h:9 +#: ../plugins/dfinput/dfinput.ui.h:9 msgid "Reset" msgstr "Сброс" -#: ../plugins/dfinput/dfinput.glade2.h:10 +#: ../plugins/dfinput/dfinput.ui.h:10 msgid "Type:" msgstr "Тип:" -#: ../plugins/dfinput/pad.c:22 +#: ../plugins/dfinput/pad.c:24 msgid "Gamepad/Keyboard Input" msgstr "" @@ -1501,30 +1507,30 @@ msgstr "Ошибка соединения с %s: %s\n" msgid "Error allocating memory!\n" msgstr "Ошибка выделения памяти!\n" -#: ../plugins/dfnet/dfnet.glade2.h:1 +#: ../plugins/dfnet/dfnet.ui.h:1 msgid "Client (Player2)" msgstr "Клиент (Игрок 2)" -#: ../plugins/dfnet/dfnet.glade2.h:2 +#: ../plugins/dfnet/dfnet.ui.h:2 msgid "Copy PC IP to Clipboard" msgstr "Скопировать IP адрес в буфер обмена" -#: ../plugins/dfnet/dfnet.glade2.h:3 +#: ../plugins/dfnet/dfnet.ui.h:3 msgid "" "Do not change if not necessary (remember it must be changed on both sides)." msgstr "" "Не меняйте без особой необходимости (помните что порты должны быть одинаковы " "для обеих сторон)" -#: ../plugins/dfnet/dfnet.glade2.h:4 +#: ../plugins/dfnet/dfnet.ui.h:4 msgid "Play Offline" msgstr "Начать без использования сети" -#: ../plugins/dfnet/dfnet.glade2.h:5 +#: ../plugins/dfnet/dfnet.ui.h:5 msgid "Port Number" msgstr "Номер порта" -#: ../plugins/dfnet/dfnet.glade2.h:6 +#: ../plugins/dfnet/dfnet.ui.h:6 msgid "" "Select here if you'll be Server (Player1) or Client (Player2).\n" "\n" @@ -1542,24 +1548,24 @@ msgstr "" "Если вы выбрали Клиента - введите полученный IP адрес Сервера в " "соответствующее поле." -#: ../plugins/dfnet/dfnet.glade2.h:11 +#: ../plugins/dfnet/dfnet.ui.h:11 msgid "Server (Player1)" msgstr "Сервер (Игрок 1)" -#: ../plugins/dfnet/dfnet.glade2.h:12 +#: ../plugins/dfnet/dfnet.ui.h:12 msgid "Start Game" msgstr "Начать сетевую игру" -#: ../plugins/dfnet/gui.c:31 ../plugins/dfnet/gui.c:112 +#: ../plugins/dfnet/gui.c:30 ../plugins/dfnet/gui.c:112 #: ../win32/gui/ConfigurePlugins.c:616 msgid "NetPlay" msgstr "Сетевая игра" -#: ../plugins/dfnet/gui.c:39 +#: ../plugins/dfnet/gui.c:38 msgid "Nothing to configure" msgstr "Не подлежит настройке" -#: ../plugins/dfnet/gui.c:95 +#: ../plugins/dfnet/gui.c:94 #, c-format msgid "IP %s" msgstr "" @@ -2679,49 +2685,49 @@ msgstr "Ошибка открытия SPU плагина (%d)" msgid "Error Opening PAD1 Plugin (%d)" msgstr "Ошибка открытия PAD1 плагина (%d)" -#: ../win32/gui/plugin.c:291 +#: ../win32/gui/plugin.c:293 #, c-format msgid "Error Opening PAD2 Plugin (%d)" msgstr "Ошибка открытия PAD2 плагина (%d)" -#: ../win32/gui/plugin.c:319 +#: ../win32/gui/plugin.c:323 msgid "Error Closing CDR Plugin" msgstr "Ошибка при закрытии CD-ROM плагина (%d)" -#: ../win32/gui/plugin.c:321 +#: ../win32/gui/plugin.c:325 msgid "Error Closing GPU Plugin" msgstr "Ошибка при закрытии GPU плагина" -#: ../win32/gui/plugin.c:323 +#: ../win32/gui/plugin.c:327 msgid "Error Closing SPU Plugin" msgstr "Ошибка при закрытии SPU плагина" -#: ../win32/gui/plugin.c:341 +#: ../win32/gui/plugin.c:345 #, c-format msgid "CDRinit error: %d" msgstr "Ошибка в CDRinit: %d" -#: ../win32/gui/plugin.c:343 +#: ../win32/gui/plugin.c:347 #, c-format msgid "GPUinit error: %d" msgstr "Ошибка в GPUinit: %d" -#: ../win32/gui/plugin.c:345 +#: ../win32/gui/plugin.c:349 #, c-format msgid "SPUinit error: %d" msgstr "Ошибка в SPUinit: %d" -#: ../win32/gui/plugin.c:347 +#: ../win32/gui/plugin.c:351 #, c-format msgid "PAD1init error: %d" msgstr "Ошибка в PAD1init: %d" -#: ../win32/gui/plugin.c:349 +#: ../win32/gui/plugin.c:353 #, c-format msgid "PAD2init error: %d" msgstr "Ошибка в PAD2init: %d" -#: ../win32/gui/plugin.c:352 +#: ../win32/gui/plugin.c:356 #, c-format msgid "NETinit error: %d" msgstr "Ошибка в NETinit: %d" diff --git a/po/zh_CN.po b/po/zh_CN.po index 6f57fc45..434c33fb 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: pcsxr 1.0\n" "Report-Msgid-Bugs-To: whistler_wmz@users.sf.net\n" -"POT-Creation-Date: 2011-01-02 17:37+0800\n" -"PO-Revision-Date: 2011-01-02 13:16+0700\n" +"POT-Creation-Date: 2011-01-09 15:27+0800\n" +"PO-Revision-Date: 2011-01-09 15:28+0700\n" "Last-Translator: Wei Mingzhi <whistler@openoffice.org>\n" "Language-Team: Simplified Chinese <whistler@openoffice.org>\n" -"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: \n" #: ../data/pcsx.glade2.h:1 msgid "" @@ -62,11 +62,13 @@ msgstr "<b>插件</b>" msgid "<b>System Type</b>" msgstr "<b>系统类型</b>" -#: ../data/pcsx.glade2.h:13 ../gui/DebugMemory.c:188 +#: ../data/pcsx.glade2.h:13 +#: ../gui/DebugMemory.c:188 msgid "Address (Hexadecimal):" msgstr "地址 (十六进制):" -#: ../data/pcsx.glade2.h:14 ../win32/gui/WndMain.c:1299 +#: ../data/pcsx.glade2.h:14 +#: ../win32/gui/WndMain.c:1299 msgid "Autodetect" msgstr "自动检测" @@ -94,7 +96,9 @@ msgstr "控制器(_O)..." msgid "Chea_t" msgstr "作弊码(_T)" -#: ../data/pcsx.glade2.h:21 ../gui/Cheat.c:1129 ../win32/gui/CheatDlg.c:678 +#: ../data/pcsx.glade2.h:21 +#: ../gui/Cheat.c:1129 +#: ../win32/gui/CheatDlg.c:678 msgid "Cheat Search" msgstr "查找作弊码" @@ -122,11 +126,13 @@ msgstr "配置记忆卡" msgid "Configure NetPlay" msgstr "配置联网游戏" -#: ../data/pcsx.glade2.h:28 ../gui/ConfDlg.c:112 +#: ../data/pcsx.glade2.h:28 +#: ../gui/ConfDlg.c:112 msgid "Configure PCSX" msgstr "配置 PCSX" -#: ../data/pcsx.glade2.h:29 ../plugins/dfsound/spucfg-0.1df/dfsound.glade2.h:6 +#: ../data/pcsx.glade2.h:29 +#: ../plugins/dfsound/spucfg-0.1df/dfsound.glade2.h:6 msgid "Configure Sound" msgstr "配置音频" @@ -154,11 +160,13 @@ msgstr "控制器..." msgid "Copy" msgstr "复制" -#: ../data/pcsx.glade2.h:36 ../win32/gui/CheatDlg.c:683 +#: ../data/pcsx.glade2.h:36 +#: ../win32/gui/CheatDlg.c:683 msgid "Data Base:" msgstr "数据基:" -#: ../data/pcsx.glade2.h:37 ../win32/gui/CheatDlg.c:681 +#: ../data/pcsx.glade2.h:37 +#: ../win32/gui/CheatDlg.c:681 msgid "Data Type:" msgstr "数据类型:" @@ -182,15 +190,18 @@ msgstr "禁用 XA 解码" msgid "E_xit" msgstr "退出(_X)" -#: ../data/pcsx.glade2.h:43 ../win32/gui/CheatDlg.c:166 +#: ../data/pcsx.glade2.h:43 +#: ../win32/gui/CheatDlg.c:166 msgid "Edit Cheat Codes" msgstr "编辑作弊码" -#: ../data/pcsx.glade2.h:44 ../win32/gui/WndMain.c:1301 +#: ../data/pcsx.glade2.h:44 +#: ../win32/gui/WndMain.c:1301 msgid "Enable Console Output" msgstr "启用控制台输出" -#: ../data/pcsx.glade2.h:45 ../win32/gui/WndMain.c:1302 +#: ../data/pcsx.glade2.h:45 +#: ../win32/gui/WndMain.c:1302 msgid "Enable Debugger" msgstr "启用调试器" @@ -224,7 +235,8 @@ msgstr "" msgid "Format" msgstr "格式化" -#: ../data/pcsx.glade2.h:57 ../win32/gui/CheatDlg.c:504 +#: ../data/pcsx.glade2.h:57 +#: ../win32/gui/CheatDlg.c:504 msgid "Freeze" msgstr "固定" @@ -236,7 +248,8 @@ msgstr "图像..." msgid "Graphics:" msgstr "图像:" -#: ../data/pcsx.glade2.h:60 ../win32/gui/WndMain.c:1305 +#: ../data/pcsx.glade2.h:60 +#: ../win32/gui/WndMain.c:1305 msgid "InuYasha Sengoku Battle Fix" msgstr "InuYasha Sengoku Battle 修正" @@ -244,7 +257,8 @@ msgstr "InuYasha Sengoku Battle 修正" msgid "Memcards..." msgstr "记忆卡..." -#: ../data/pcsx.glade2.h:62 ../gui/DebugMemory.c:103 +#: ../data/pcsx.glade2.h:62 +#: ../gui/DebugMemory.c:103 msgid "Memory Dump" msgstr "内存转储" @@ -252,7 +266,8 @@ msgstr "内存转储" msgid "Memory _Dump" msgstr "内存转储(_D)" -#: ../data/pcsx.glade2.h:64 ../win32/gui/CheatDlg.c:595 +#: ../data/pcsx.glade2.h:64 +#: ../win32/gui/CheatDlg.c:595 msgid "Modify" msgstr "修改" @@ -272,7 +287,8 @@ msgstr "新建" msgid "PCSX" msgstr "PCSX" -#: ../data/pcsx.glade2.h:69 ../win32/gui/WndMain.c:1304 +#: ../data/pcsx.glade2.h:69 +#: ../win32/gui/WndMain.c:1304 msgid "Parasite Eve 2, Vandal Hearts 1/2 Fix" msgstr "Parasite Eve 2, Vandal Hearts 1/2 修正" @@ -316,7 +332,8 @@ msgstr "运行 _EXE..." msgid "Run _ISO..." msgstr "运行 _ISO..." -#: ../data/pcsx.glade2.h:80 ../gui/Plugin.c:239 +#: ../data/pcsx.glade2.h:80 +#: ../gui/Plugin.c:239 #, c-format msgid "SIO IRQ Always Enabled" msgstr "SIO IRQ 总是启用" @@ -333,7 +350,8 @@ msgstr "更换 ISO(_W)..." msgid "Search" msgstr "查找" -#: ../data/pcsx.glade2.h:84 ../win32/gui/CheatDlg.c:680 +#: ../data/pcsx.glade2.h:84 +#: ../win32/gui/CheatDlg.c:680 msgid "Search For:" msgstr "查找:" @@ -397,7 +415,8 @@ msgstr "更换 ISO 光盘镜像" msgid "Switch ISO..." msgstr "更换 ISO..." -#: ../data/pcsx.glade2.h:100 ../win32/gui/CheatDlg.c:684 +#: ../data/pcsx.glade2.h:100 +#: ../win32/gui/CheatDlg.c:684 msgid "To:" msgstr "到:" @@ -405,8 +424,11 @@ msgstr "到:" msgid "Un/Delete" msgstr "删除/恢复" -#: ../data/pcsx.glade2.h:102 ../gui/Cheat.c:647 ../win32/gui/CheatDlg.c:506 -#: ../win32/gui/CheatDlg.c:597 ../win32/gui/CheatDlg.c:682 +#: ../data/pcsx.glade2.h:102 +#: ../gui/Cheat.c:647 +#: ../win32/gui/CheatDlg.c:506 +#: ../win32/gui/CheatDlg.c:597 +#: ../win32/gui/CheatDlg.c:682 msgid "Value:" msgstr "值:" @@ -498,33 +520,17 @@ msgstr "" #: ../gui/AboutDlg.c:77 msgid "" -"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; either version 2 of the License, or (at your option) " -"any later version.\n" +"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; either version 2 of the License, or (at your option) any later version.\n" "\n" -"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 for " -"more details.\n" +"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 for more details.\n" "\n" -"You should have received a copy of the GNU General Public License along with " -"this program; if not, write to the Free Software Foundation, Inc., 51 " -"Franklin Street, Fifth Floor, Boston, MA 02111-1307 USA." +"You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307 USA." msgstr "" -"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; either version 2 of the License, or (at your option) " -"any later version.\n" +"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; either version 2 of the License, or (at your option) any later version.\n" "\n" -"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 for " -"more details.\n" +"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 for more details.\n" "\n" -"You should have received a copy of the GNU General Public License along with " -"this program; if not, write to the Free Software Foundation, Inc., 51 " -"Franklin Street, Fifth Floor, Boston, MA 02111-1307 USA." +"You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307 USA." #: ../gui/AboutDlg.c:100 msgid "translator-credits" @@ -534,30 +540,39 @@ msgstr "Wei Mingzhi <whistler@openoffice.org>" msgid "A PlayStation emulator." msgstr "一个 PlayStation 模拟器。" -#: ../gui/Cheat.c:109 ../win32/gui/CheatDlg.c:116 +#: ../gui/Cheat.c:109 +#: ../win32/gui/CheatDlg.c:116 msgid "Add New Cheat" msgstr "添加新作弊码" -#: ../gui/Cheat.c:117 ../gui/Cheat.c:202 +#: ../gui/Cheat.c:117 +#: ../gui/Cheat.c:202 msgid "Cheat Description:" msgstr "作弊码描述:" -#: ../gui/Cheat.c:125 ../gui/Cheat.c:211 ../win32/gui/CheatDlg.c:68 +#: ../gui/Cheat.c:125 +#: ../gui/Cheat.c:211 +#: ../win32/gui/CheatDlg.c:68 #: ../win32/gui/CheatDlg.c:118 msgid "Cheat Code:" msgstr "作弊码:" -#: ../gui/Cheat.c:155 ../gui/Cheat.c:251 ../gui/LnxMain.c:419 +#: ../gui/Cheat.c:155 +#: ../gui/Cheat.c:251 +#: ../gui/LnxMain.c:419 #: ../win32/gui/ConfigurePlugins.c:305 msgid "Error" msgstr "错误" -#: ../gui/Cheat.c:155 ../gui/Cheat.c:251 ../win32/gui/CheatDlg.c:91 +#: ../gui/Cheat.c:155 +#: ../gui/Cheat.c:251 +#: ../win32/gui/CheatDlg.c:91 #: ../win32/gui/CheatDlg.c:132 msgid "Invalid cheat code!" msgstr "非法作弊码!" -#: ../gui/Cheat.c:194 ../win32/gui/CheatDlg.c:66 +#: ../gui/Cheat.c:194 +#: ../win32/gui/CheatDlg.c:66 msgid "Edit Cheat" msgstr "编辑作弊码" @@ -565,12 +580,16 @@ msgstr "编辑作弊码" msgid "Open Cheat File" msgstr "打开作弊码文件" -#: ../gui/Cheat.c:316 ../gui/Cheat.c:356 +#: ../gui/Cheat.c:316 +#: ../gui/Cheat.c:356 msgid "PCSX Cheat Code Files (*.cht)" msgstr "PCSX 作弊码文件 (*.cht)" -#: ../gui/Cheat.c:321 ../gui/Gtk2Gui.c:446 ../gui/Gtk2Gui.c:587 -#: ../win32/gui/WndMain.c:1442 ../win32/gui/WndMain.c:1523 +#: ../gui/Cheat.c:321 +#: ../gui/Gtk2Gui.c:446 +#: ../gui/Gtk2Gui.c:587 +#: ../win32/gui/WndMain.c:1442 +#: ../win32/gui/WndMain.c:1523 msgid "All Files" msgstr "所有文件" @@ -582,8 +601,11 @@ msgstr "保存作弊码文件" msgid "All Files (*.*)" msgstr "所有文件 (*.*)" -#: ../gui/Cheat.c:394 ../gui/Cheat.c:1124 ../gui/ConfDlg.c:104 -#: ../gui/ConfDlg.c:200 ../gui/DebugMemory.c:259 +#: ../gui/Cheat.c:394 +#: ../gui/Cheat.c:1124 +#: ../gui/ConfDlg.c:104 +#: ../gui/ConfDlg.c:200 +#: ../gui/DebugMemory.c:259 msgid "Error: Glade interface could not be loaded!" msgstr "错误:无法加载 Glade 界面!" @@ -595,35 +617,42 @@ msgstr "作弊码" msgid "Enable" msgstr "启用" -#: ../gui/Cheat.c:413 ../win32/gui/CheatDlg.c:185 +#: ../gui/Cheat.c:413 +#: ../win32/gui/CheatDlg.c:185 msgid "Description" msgstr "描述" -#: ../gui/Cheat.c:543 ../win32/gui/CheatDlg.c:457 +#: ../gui/Cheat.c:543 +#: ../win32/gui/CheatDlg.c:457 msgid "Too many addresses found." msgstr "找到过多的地址。" -#: ../gui/Cheat.c:552 ../win32/gui/CheatDlg.c:466 +#: ../gui/Cheat.c:552 +#: ../win32/gui/CheatDlg.c:466 #, c-format msgid "%.8X Current: %u (%.2X), Previous: %u (%.2X)" msgstr "%.8X 当前值: %u (%.2X), 前次值: %u (%.2X)" -#: ../gui/Cheat.c:557 ../win32/gui/CheatDlg.c:471 +#: ../gui/Cheat.c:557 +#: ../win32/gui/CheatDlg.c:471 #, c-format msgid "%.8X Current: %u (%.4X), Previous: %u (%.4X)" msgstr "%.8X 当前值: %u (%.4X), 前次值: %u (%.4X)" -#: ../gui/Cheat.c:562 ../win32/gui/CheatDlg.c:476 +#: ../gui/Cheat.c:562 +#: ../win32/gui/CheatDlg.c:476 #, c-format msgid "%.8X Current: %u (%.8X), Previous: %u (%.8X)" msgstr "%.8X 当前值: %u (%.8X), 前次值: %u (%.8X)" -#: ../gui/Cheat.c:577 ../win32/gui/CheatDlg.c:492 +#: ../gui/Cheat.c:577 +#: ../win32/gui/CheatDlg.c:492 #, c-format msgid "Founded Addresses: %d" msgstr "找到地址个数: %d" -#: ../gui/Cheat.c:585 ../win32/gui/CheatDlg.c:448 +#: ../gui/Cheat.c:585 +#: ../win32/gui/CheatDlg.c:448 msgid "Enter the values and start your search." msgstr "输入数值并开始查找。" @@ -631,7 +660,9 @@ msgstr "输入数值并开始查找。" msgid "Freeze value" msgstr "固定数值" -#: ../gui/Cheat.c:636 ../win32/gui/CheatDlg.c:67 ../win32/gui/CheatDlg.c:117 +#: ../gui/Cheat.c:636 +#: ../win32/gui/CheatDlg.c:67 +#: ../win32/gui/CheatDlg.c:117 msgid "Description:" msgstr "描述:" @@ -652,13 +683,19 @@ msgstr "查找结果" #. disabled widgets #. TODO If combo screen hasn't been opened and the user chooses the menu config option, confs.Combo will be null and cause a segfault #. printf("Configuring plugin %s\n", filename); -#: ../gui/ConfDlg.c:237 ../gui/ConfDlg.c:258 ../gui/ConfDlg.c:279 -#: ../gui/ConfDlg.c:300 ../gui/ConfDlg.c:355 +#: ../gui/ConfDlg.c:237 +#: ../gui/ConfDlg.c:258 +#: ../gui/ConfDlg.c:279 +#: ../gui/ConfDlg.c:300 +#: ../gui/ConfDlg.c:355 msgid "No configuration required" msgstr "不需要配置" -#: ../gui/ConfDlg.c:237 ../gui/ConfDlg.c:258 ../gui/ConfDlg.c:279 -#: ../gui/ConfDlg.c:300 ../gui/ConfDlg.c:355 +#: ../gui/ConfDlg.c:237 +#: ../gui/ConfDlg.c:258 +#: ../gui/ConfDlg.c:279 +#: ../gui/ConfDlg.c:300 +#: ../gui/ConfDlg.c:355 msgid "This plugin doesn't need to be configured." msgstr "此插件需要被配置。" @@ -667,7 +704,9 @@ msgstr "此插件需要被配置。" msgid "Could not open BIOS directory: '%s'\n" msgstr "无法打开 BIOS 目录: \"%s\"\n" -#: ../gui/ConfDlg.c:611 ../gui/ConfDlg.c:704 ../gui/LnxMain.c:168 +#: ../gui/ConfDlg.c:611 +#: ../gui/ConfDlg.c:704 +#: ../gui/LnxMain.c:168 #, c-format msgid "Could not open directory: '%s'\n" msgstr "无法打开目录: \"%s\"\n" @@ -738,23 +777,31 @@ msgstr "不是一个合法的 PSX 文件" msgid "The file does not appear to be a valid Playstation executable" msgstr "此文件不是一个合法的 PlayStation 可执行文件" -#: ../gui/Gtk2Gui.c:508 ../gui/Gtk2Gui.c:649 +#: ../gui/Gtk2Gui.c:508 +#: ../gui/Gtk2Gui.c:649 msgid "CD ROM failed" msgstr "CD-ROM 失败" -#: ../gui/Gtk2Gui.c:508 ../gui/Gtk2Gui.c:649 ../win32/gui/WndMain.c:461 -#: ../win32/gui/WndMain.c:513 ../win32/gui/WndMain.c:582 +#: ../gui/Gtk2Gui.c:508 +#: ../gui/Gtk2Gui.c:649 +#: ../win32/gui/WndMain.c:461 +#: ../win32/gui/WndMain.c:513 +#: ../win32/gui/WndMain.c:582 #, c-format msgid "The CD does not appear to be a valid Playstation CD" msgstr "此光盘不是一张合法的 PlayStation 光盘。" -#: ../gui/Gtk2Gui.c:519 ../gui/Gtk2Gui.c:660 ../win32/gui/WndMain.c:471 -#: ../win32/gui/WndMain.c:523 ../win32/gui/WndMain.c:592 +#: ../gui/Gtk2Gui.c:519 +#: ../gui/Gtk2Gui.c:660 +#: ../win32/gui/WndMain.c:471 +#: ../win32/gui/WndMain.c:523 +#: ../win32/gui/WndMain.c:592 #, c-format msgid "Could not load CD-ROM!" msgstr "无法加载光盘!" -#: ../gui/Gtk2Gui.c:519 ../gui/Gtk2Gui.c:660 +#: ../gui/Gtk2Gui.c:519 +#: ../gui/Gtk2Gui.c:660 msgid "The CD-ROM could not be loaded" msgstr "无法加载 CD-ROM" @@ -794,7 +841,8 @@ msgstr "已保存存档 %s" msgid "Error saving state %s!" msgstr "保存存档 %s 时出错。" -#: ../gui/Gtk2Gui.c:864 ../gui/Gtk2Gui.c:892 +#: ../gui/Gtk2Gui.c:864 +#: ../gui/Gtk2Gui.c:892 msgid "Select State File" msgstr "选择存档文件" @@ -833,9 +881,7 @@ msgstr "" #: ../gui/LnxMain.c:363 #, c-format -msgid "" -"PCSX cannot be configured without using the GUI -- you should restart " -"without -nogui.\n" +msgid "PCSX cannot be configured without using the GUI -- you should restart without -nogui.\n" msgstr "PCSX 不能在字符界面下配置 -- 请不使用 -nogui 参数重新启动程序\n" #: ../gui/LnxMain.c:419 @@ -856,11 +902,13 @@ msgstr "无法初始化 PS 模拟器。\n" msgid "Icon" msgstr "图标" -#: ../gui/MemcardDlg.c:62 ../win32/gui/WndMain.c:746 +#: ../gui/MemcardDlg.c:62 +#: ../win32/gui/WndMain.c:746 msgid "Title" msgstr "标题" -#: ../gui/MemcardDlg.c:68 ../win32/gui/WndMain.c:752 +#: ../gui/MemcardDlg.c:68 +#: ../win32/gui/WndMain.c:752 msgid "Status" msgstr "状态" @@ -872,17 +920,24 @@ msgstr "ID" msgid "Name" msgstr "名称" -#: ../gui/MemcardDlg.c:155 ../gui/MemcardDlg.c:260 ../win32/gui/WndMain.c:957 +#: ../gui/MemcardDlg.c:155 +#: ../gui/MemcardDlg.c:260 +#: ../win32/gui/WndMain.c:957 msgid "Deleted" msgstr "已删除" -#: ../gui/MemcardDlg.c:157 ../gui/MemcardDlg.c:161 ../gui/MemcardDlg.c:262 -#: ../gui/MemcardDlg.c:266 ../win32/gui/WndMain.c:958 +#: ../gui/MemcardDlg.c:157 +#: ../gui/MemcardDlg.c:161 +#: ../gui/MemcardDlg.c:262 +#: ../gui/MemcardDlg.c:266 +#: ../win32/gui/WndMain.c:958 #: ../win32/gui/WndMain.c:961 msgid "Free" msgstr "空闲" -#: ../gui/MemcardDlg.c:159 ../gui/MemcardDlg.c:264 ../win32/gui/WndMain.c:960 +#: ../gui/MemcardDlg.c:159 +#: ../gui/MemcardDlg.c:264 +#: ../win32/gui/WndMain.c:960 msgid "Used" msgstr "已使用" @@ -896,9 +951,7 @@ msgid "Format this Memory Card?" msgstr "格式化此记忆卡?" #: ../gui/MemcardDlg.c:366 -msgid "" -"If you format the memory card, the card will be empty, and any existing data " -"overwritten." +msgid "If you format the memory card, the card will be empty, and any existing data overwritten." msgstr "如果您选择格式化记忆卡,记忆卡将被清空,并且任何现有数据都将被覆盖。" #: ../gui/MemcardDlg.c:369 @@ -920,9 +973,7 @@ msgid "No free space on memory card" msgstr "记忆卡无空余位置" #: ../gui/MemcardDlg.c:504 -msgid "" -"There are no free slots available on the target memory card. Please delete a " -"slot first." +msgid "There are no free slots available on the target memory card. Please delete a slot first." msgstr "目标记忆卡上无空余位置。请先删除一个存档。" #: ../gui/MemcardDlg.c:667 @@ -970,27 +1021,27 @@ msgstr "无法打开 GPU 插件!" msgid "Error opening Controller 1 plugin!" msgstr "无法打开 \"控制器 1\" 插件!" -#: ../gui/Plugin.c:333 +#: ../gui/Plugin.c:335 msgid "Error opening Controller 2 plugin!" msgstr "无法打开 \"控制器 2\" 插件!" -#: ../gui/Plugin.c:413 +#: ../gui/Plugin.c:417 msgid "Error closing CD-ROM plugin!" msgstr "无法关闭 CD-ROM 插件!" -#: ../gui/Plugin.c:415 +#: ../gui/Plugin.c:419 msgid "Error closing SPU plugin!" msgstr "无法关闭 SPU 插件!" -#: ../gui/Plugin.c:417 +#: ../gui/Plugin.c:421 msgid "Error closing Controller 1 Plugin!" msgstr "无法关闭 \"控制器 1\" 插件!" -#: ../gui/Plugin.c:419 +#: ../gui/Plugin.c:423 msgid "Error closing Controller 2 plugin!" msgstr "无法关闭 \"控制器 2\" 插件!" -#: ../gui/Plugin.c:421 +#: ../gui/Plugin.c:425 msgid "Error closing GPU plugin!" msgstr "无法关闭 GPU 插件!" @@ -1014,7 +1065,8 @@ msgstr "作弊码已加载: %s\n" msgid "Cheats saved to: %s\n" msgstr "作弊码己保存: %s\n" -#: ../libpcsxcore/cheat.c:322 ../libpcsxcore/cheat.c:443 +#: ../libpcsxcore/cheat.c:322 +#: ../libpcsxcore/cheat.c:443 msgid "(Untitled)" msgstr "(未命名)" @@ -1058,82 +1110,82 @@ msgstr "未知 CPE 指令码 %02x 位于 %08x。\n" msgid "This file does not appear to be a valid PSX file.\n" msgstr "此文件不是一个合法的 PSX 文件。\n" -#: ../libpcsxcore/plugins.c:183 +#: ../libpcsxcore/plugins.c:189 #, c-format msgid "Error loading %s: %s" msgstr "无法加载 %s: %s" -#: ../libpcsxcore/plugins.c:235 +#: ../libpcsxcore/plugins.c:243 #, c-format msgid "Could not load GPU plugin %s!" msgstr "无法加载 GPU 插件 %s!" -#: ../libpcsxcore/plugins.c:308 +#: ../libpcsxcore/plugins.c:318 #, c-format msgid "Could not load CD-ROM plugin %s!" msgstr "无法加载 CD-ROM 插件 %s!" -#: ../libpcsxcore/plugins.c:356 +#: ../libpcsxcore/plugins.c:366 #, c-format msgid "Could not load SPU plugin %s!" msgstr "无法加载 SPU 插件 %s!" -#: ../libpcsxcore/plugins.c:493 +#: ../libpcsxcore/plugins.c:505 #, c-format msgid "Could not load Controller 1 plugin %s!" msgstr "无法加载 \"控制器1\" 插件 %s!" -#: ../libpcsxcore/plugins.c:547 +#: ../libpcsxcore/plugins.c:563 #, c-format msgid "Could not load Controller 2 plugin %s!" msgstr "无法加载 \"控制器2\" 插件 %s!" -#: ../libpcsxcore/plugins.c:590 +#: ../libpcsxcore/plugins.c:608 #, c-format msgid "Could not load NetPlay plugin %s!" msgstr "无法加载联网游戏插件 %s!" -#: ../libpcsxcore/plugins.c:670 +#: ../libpcsxcore/plugins.c:688 #, c-format msgid "Could not load SIO1 plugin %s!" msgstr "无法加载 SIO1 插件 %s!" -#: ../libpcsxcore/plugins.c:755 +#: ../libpcsxcore/plugins.c:773 #, c-format msgid "Error initializing CD-ROM plugin: %d" msgstr "CD-ROM 插件初始化错误: %d" -#: ../libpcsxcore/plugins.c:757 +#: ../libpcsxcore/plugins.c:775 #, c-format msgid "Error initializing GPU plugin: %d" msgstr "GPU 插件初始化错误: %d" -#: ../libpcsxcore/plugins.c:759 +#: ../libpcsxcore/plugins.c:777 #, c-format msgid "Error initializing SPU plugin: %d" msgstr "SPU 插件初始化错误: %d" -#: ../libpcsxcore/plugins.c:761 +#: ../libpcsxcore/plugins.c:779 #, c-format msgid "Error initializing Controller 1 plugin: %d" msgstr "\"控制器1\" 插件初始化错误: %d" -#: ../libpcsxcore/plugins.c:763 +#: ../libpcsxcore/plugins.c:781 #, c-format msgid "Error initializing Controller 2 plugin: %d" msgstr "\"控制器2\" 插件初始化错误: %d" -#: ../libpcsxcore/plugins.c:767 +#: ../libpcsxcore/plugins.c:785 #, c-format msgid "Error initializing NetPlay plugin: %d" msgstr "联网游戏插件初始化错误: %d" -#: ../libpcsxcore/plugins.c:772 +#: ../libpcsxcore/plugins.c:790 #, c-format msgid "Error initializing SIO1 plugin: %d" msgstr "SIO1 插件初始化错误: %d" -#: ../libpcsxcore/plugins.c:775 +#: ../libpcsxcore/plugins.c:793 msgid "Plugins loaded.\n" msgstr "插件已加载。\n" @@ -1265,7 +1317,8 @@ msgstr "" "多线程 - 较快 (使用缓存)" #: ../plugins/dfcdrom/cdrcfg-0.1df/dfcdrom.glade2.h:24 -#: ../plugins/dfinput/dfinput.glade2.h:8 ../win32/gui/WndMain.c:1307 +#: ../plugins/dfinput/dfinput.ui.h:8 +#: ../win32/gui/WndMain.c:1307 msgid "Options" msgstr "选项" @@ -1381,119 +1434,135 @@ msgstr "右摇杆下方向" msgid "R-Stick Up" msgstr "右摇杆上方向" -#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142 +#: ../plugins/dfinput/cfg-gtk2.c:100 +#: ../plugins/dfinput/cfg-gtk2.c:139 msgid "Centered" msgstr "居中" -#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142 +#: ../plugins/dfinput/cfg-gtk2.c:100 +#: ../plugins/dfinput/cfg-gtk2.c:139 msgid "Up" msgstr "上" -#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142 +#: ../plugins/dfinput/cfg-gtk2.c:100 +#: ../plugins/dfinput/cfg-gtk2.c:139 msgid "Right" msgstr "右方向键" -#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142 +#: ../plugins/dfinput/cfg-gtk2.c:100 +#: ../plugins/dfinput/cfg-gtk2.c:139 msgid "Rightup" msgstr "右上" -#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143 +#: ../plugins/dfinput/cfg-gtk2.c:101 +#: ../plugins/dfinput/cfg-gtk2.c:140 msgid "Down" msgstr "下" -#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143 +#: ../plugins/dfinput/cfg-gtk2.c:101 +#: ../plugins/dfinput/cfg-gtk2.c:140 msgid "Rightdown" msgstr "右下" -#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143 +#: ../plugins/dfinput/cfg-gtk2.c:101 +#: ../plugins/dfinput/cfg-gtk2.c:140 msgid "Left" msgstr "左" -#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143 +#: ../plugins/dfinput/cfg-gtk2.c:101 +#: ../plugins/dfinput/cfg-gtk2.c:140 msgid "Leftup" msgstr "左上" -#: ../plugins/dfinput/cfg-gtk2.c:105 ../plugins/dfinput/cfg-gtk2.c:144 +#: ../plugins/dfinput/cfg-gtk2.c:102 +#: ../plugins/dfinput/cfg-gtk2.c:141 msgid "Leftdown" msgstr "左下" -#: ../plugins/dfinput/cfg-gtk2.c:109 ../plugins/dfinput/cfg-gtk2.c:148 +#: ../plugins/dfinput/cfg-gtk2.c:106 +#: ../plugins/dfinput/cfg-gtk2.c:145 #, c-format msgid "Joystick: Button %d" msgstr "手柄: 按钮 %d" -#: ../plugins/dfinput/cfg-gtk2.c:113 ../plugins/dfinput/cfg-gtk2.c:152 +#: ../plugins/dfinput/cfg-gtk2.c:110 +#: ../plugins/dfinput/cfg-gtk2.c:149 #, c-format msgid "Joystick: Axis %d%c" msgstr "手柄: 轴 %d%c" -#: ../plugins/dfinput/cfg-gtk2.c:118 ../plugins/dfinput/cfg-gtk2.c:157 +#: ../plugins/dfinput/cfg-gtk2.c:115 +#: ../plugins/dfinput/cfg-gtk2.c:154 #, c-format msgid "Joystick: Hat %d %s" msgstr "Joystick: 操纵杆 %d %s" -#: ../plugins/dfinput/cfg-gtk2.c:133 ../plugins/dfinput/cfg-gtk2.c:172 +#: ../plugins/dfinput/cfg-gtk2.c:130 +#: ../plugins/dfinput/cfg-gtk2.c:169 msgid "Keyboard:" msgstr "键盘:" -#: ../plugins/dfinput/cfg-gtk2.c:137 ../plugins/dfinput/cfg-gtk2.c:176 +#: ../plugins/dfinput/cfg-gtk2.c:134 +#: ../plugins/dfinput/cfg-gtk2.c:173 msgid "(Not Set)" msgstr "(未设定)" -#: ../plugins/dfinput/cfg-gtk2.c:559 +#: ../plugins/dfinput/cfg-gtk2.c:542 #: ../plugins/peopsxgl/gpucfg/peopsxgl.ui.h:55 msgid "None" msgstr "无" -#: ../plugins/dfinput/cfg-gtk2.c:601 +#: ../plugins/dfinput/cfg-gtk2.c:584 msgid "Gamepad/Keyboard Input Configuration" msgstr "手柄/键盘输入配置" -#: ../plugins/dfinput/cfg-gtk2.c:607 ../plugins/dfinput/cfg-gtk2.c:627 +#: ../plugins/dfinput/cfg-gtk2.c:590 +#: ../plugins/dfinput/cfg-gtk2.c:610 msgid "Key" msgstr "按钮" -#: ../plugins/dfinput/cfg-gtk2.c:613 ../plugins/dfinput/cfg-gtk2.c:633 +#: ../plugins/dfinput/cfg-gtk2.c:596 +#: ../plugins/dfinput/cfg-gtk2.c:616 msgid "Button" msgstr "按键" -#: ../plugins/dfinput/dfinput.glade2.h:1 +#: ../plugins/dfinput/dfinput.ui.h:1 +msgid "Analog Pad" +msgstr "摇杆手柄" + +#: ../plugins/dfinput/dfinput.ui.h:2 msgid "Change" msgstr "更改" -#: ../plugins/dfinput/dfinput.glade2.h:2 +#: ../plugins/dfinput/dfinput.ui.h:3 msgid "Controller 1" msgstr "控制器 1" -#: ../plugins/dfinput/dfinput.glade2.h:3 +#: ../plugins/dfinput/dfinput.ui.h:4 msgid "Controller 2" msgstr "控制器 2" -#: ../plugins/dfinput/dfinput.glade2.h:4 +#: ../plugins/dfinput/dfinput.ui.h:5 msgid "Device:" msgstr "设备:" -#: ../plugins/dfinput/dfinput.glade2.h:5 -msgid "" -"Digital Pad\n" -"Analog Pad" -msgstr "" -"普通手柄\n" -"摇杆手柄" +#: ../plugins/dfinput/dfinput.ui.h:6 +msgid "Digital Pad" +msgstr "普通手柄" -#: ../plugins/dfinput/dfinput.glade2.h:7 +#: ../plugins/dfinput/dfinput.ui.h:7 msgid "Multi-Threaded (Recommended)" msgstr "多线程 (推荐)" -#: ../plugins/dfinput/dfinput.glade2.h:9 +#: ../plugins/dfinput/dfinput.ui.h:9 msgid "Reset" msgstr "重置" -#: ../plugins/dfinput/dfinput.glade2.h:10 +#: ../plugins/dfinput/dfinput.ui.h:10 msgid "Type:" msgstr "类型:" -#: ../plugins/dfinput/pad.c:22 +#: ../plugins/dfinput/pad.c:24 msgid "Gamepad/Keyboard Input" msgstr "手柄/键盘输入" @@ -1511,36 +1580,33 @@ msgstr "无法连接到 %s: %s\n" msgid "Error allocating memory!\n" msgstr "分配内存错误!\n" -#: ../plugins/dfnet/dfnet.glade2.h:1 +#: ../plugins/dfnet/dfnet.ui.h:1 msgid "Client (Player2)" msgstr "客户端 (玩家 2)" -#: ../plugins/dfnet/dfnet.glade2.h:2 +#: ../plugins/dfnet/dfnet.ui.h:2 msgid "Copy PC IP to Clipboard" msgstr "将本机 IP 复制到剪贴板" -#: ../plugins/dfnet/dfnet.glade2.h:3 -msgid "" -"Do not change if not necessary (remember it must be changed on both sides)." +#: ../plugins/dfnet/dfnet.ui.h:3 +msgid "Do not change if not necessary (remember it must be changed on both sides)." msgstr "如非必要,请勿改动 (必须在两端都要改动)。" -#: ../plugins/dfnet/dfnet.glade2.h:4 +#: ../plugins/dfnet/dfnet.ui.h:4 msgid "Play Offline" msgstr "离线运行" -#: ../plugins/dfnet/dfnet.glade2.h:5 +#: ../plugins/dfnet/dfnet.ui.h:5 msgid "Port Number" msgstr "端口号" -#: ../plugins/dfnet/dfnet.glade2.h:6 +#: ../plugins/dfnet/dfnet.ui.h:6 msgid "" "Select here if you'll be Server (Player1) or Client (Player2).\n" "\n" -"If you select Server you must Copy your IP address to the Clipboard and " -"paste if (Ctrl+V) wherever the Client can see it.\n" +"If you select Server you must Copy your IP address to the Clipboard and paste if (Ctrl+V) wherever the Client can see it.\n" "\n" -"If you selected Client please enter the IP address the Server gave to you in " -"the IP Address Control." +"If you selected Client please enter the IP address the Server gave to you in the IP Address Control." msgstr "" "请在此选择作为服务器 (玩家 1) 还是作为客户端 (玩家 2) 来运行。\n" "\n" @@ -1548,24 +1614,25 @@ msgstr "" "\n" "如果您选择作为客户端,请输入服务器方提供给您的 IP 地址。" -#: ../plugins/dfnet/dfnet.glade2.h:11 +#: ../plugins/dfnet/dfnet.ui.h:11 msgid "Server (Player1)" msgstr "服务器 (玩家 1)" -#: ../plugins/dfnet/dfnet.glade2.h:12 +#: ../plugins/dfnet/dfnet.ui.h:12 msgid "Start Game" msgstr "开始游戏" -#: ../plugins/dfnet/gui.c:31 ../plugins/dfnet/gui.c:112 +#: ../plugins/dfnet/gui.c:30 +#: ../plugins/dfnet/gui.c:112 #: ../win32/gui/ConfigurePlugins.c:616 msgid "NetPlay" msgstr "联网游戏" -#: ../plugins/dfnet/gui.c:39 +#: ../plugins/dfnet/gui.c:38 msgid "Nothing to configure" msgstr "没有可以配置的项目" -#: ../plugins/dfnet/gui.c:95 +#: ../plugins/dfnet/gui.c:94 #, c-format msgid "IP %s" msgstr "IP %s" @@ -2354,10 +2421,14 @@ msgstr "" msgid "About" msgstr "关于 PCSX" -#: ../win32/gui/AboutDlg.c:48 ../win32/gui/AboutDlg.c:52 -#: ../win32/gui/CheatDlg.c:69 ../win32/gui/CheatDlg.c:119 -#: ../win32/gui/ConfigurePlugins.c:483 ../win32/gui/ConfigurePlugins.c:614 -#: ../win32/gui/WndMain.c:1056 ../win32/gui/WndMain.c:1292 +#: ../win32/gui/AboutDlg.c:48 +#: ../win32/gui/AboutDlg.c:52 +#: ../win32/gui/CheatDlg.c:69 +#: ../win32/gui/CheatDlg.c:119 +#: ../win32/gui/ConfigurePlugins.c:483 +#: ../win32/gui/ConfigurePlugins.c:614 +#: ../win32/gui/WndMain.c:1056 +#: ../win32/gui/WndMain.c:1292 msgid "OK" msgstr "确定" @@ -2365,19 +2436,24 @@ msgstr "确定" msgid "PCSX EMU\n" msgstr "PCSX 模拟器\n" -#: ../win32/gui/CheatDlg.c:51 ../win32/gui/CheatDlg.c:223 +#: ../win32/gui/CheatDlg.c:51 +#: ../win32/gui/CheatDlg.c:223 #: ../win32/gui/CheatDlg.c:270 msgid "Yes" msgstr "是" -#: ../win32/gui/CheatDlg.c:51 ../win32/gui/CheatDlg.c:223 +#: ../win32/gui/CheatDlg.c:51 +#: ../win32/gui/CheatDlg.c:223 #: ../win32/gui/CheatDlg.c:270 msgid "No" msgstr "否" -#: ../win32/gui/CheatDlg.c:70 ../win32/gui/CheatDlg.c:120 -#: ../win32/gui/ConfigurePlugins.c:484 ../win32/gui/ConfigurePlugins.c:615 -#: ../win32/gui/WndMain.c:1057 ../win32/gui/WndMain.c:1293 +#: ../win32/gui/CheatDlg.c:70 +#: ../win32/gui/CheatDlg.c:120 +#: ../win32/gui/ConfigurePlugins.c:484 +#: ../win32/gui/ConfigurePlugins.c:615 +#: ../win32/gui/WndMain.c:1057 +#: ../win32/gui/WndMain.c:1293 msgid "Cancel" msgstr "取消" @@ -2413,7 +2489,8 @@ msgstr "关闭(&C)" msgid "Enabled" msgstr "启用" -#: ../win32/gui/CheatDlg.c:282 ../win32/gui/CheatDlg.c:311 +#: ../win32/gui/CheatDlg.c:282 +#: ../win32/gui/CheatDlg.c:311 msgid "PCSX Cheat Code Files" msgstr "PCSX 作弊码文件" @@ -2457,7 +2534,8 @@ msgstr "无改变" msgid "No addresses found." msgstr "未找到地址。" -#: ../win32/gui/CheatDlg.c:505 ../win32/gui/CheatDlg.c:596 +#: ../win32/gui/CheatDlg.c:505 +#: ../win32/gui/CheatDlg.c:596 msgid "Address:" msgstr "地址:" @@ -2570,21 +2648,30 @@ msgstr "设置 BIOS 目录" msgid "Set Plugins Directory" msgstr "设置插件目录" -#: ../win32/gui/ConfigurePlugins.c:493 ../win32/gui/ConfigurePlugins.c:496 -#: ../win32/gui/ConfigurePlugins.c:499 ../win32/gui/ConfigurePlugins.c:502 -#: ../win32/gui/ConfigurePlugins.c:505 ../win32/gui/ConfigurePlugins.c:617 +#: ../win32/gui/ConfigurePlugins.c:493 +#: ../win32/gui/ConfigurePlugins.c:496 +#: ../win32/gui/ConfigurePlugins.c:499 +#: ../win32/gui/ConfigurePlugins.c:502 +#: ../win32/gui/ConfigurePlugins.c:505 +#: ../win32/gui/ConfigurePlugins.c:617 msgid "Configure..." msgstr "配置..." -#: ../win32/gui/ConfigurePlugins.c:494 ../win32/gui/ConfigurePlugins.c:497 -#: ../win32/gui/ConfigurePlugins.c:500 ../win32/gui/ConfigurePlugins.c:503 -#: ../win32/gui/ConfigurePlugins.c:506 ../win32/gui/ConfigurePlugins.c:618 +#: ../win32/gui/ConfigurePlugins.c:494 +#: ../win32/gui/ConfigurePlugins.c:497 +#: ../win32/gui/ConfigurePlugins.c:500 +#: ../win32/gui/ConfigurePlugins.c:503 +#: ../win32/gui/ConfigurePlugins.c:506 +#: ../win32/gui/ConfigurePlugins.c:618 msgid "Test..." msgstr "测试..." -#: ../win32/gui/ConfigurePlugins.c:495 ../win32/gui/ConfigurePlugins.c:498 -#: ../win32/gui/ConfigurePlugins.c:501 ../win32/gui/ConfigurePlugins.c:504 -#: ../win32/gui/ConfigurePlugins.c:507 ../win32/gui/ConfigurePlugins.c:619 +#: ../win32/gui/ConfigurePlugins.c:495 +#: ../win32/gui/ConfigurePlugins.c:498 +#: ../win32/gui/ConfigurePlugins.c:501 +#: ../win32/gui/ConfigurePlugins.c:504 +#: ../win32/gui/ConfigurePlugins.c:507 +#: ../win32/gui/ConfigurePlugins.c:619 msgid "About..." msgstr "关于..." @@ -2593,26 +2680,29 @@ msgid "NetPlay Configuration" msgstr "联网游戏配置" #: ../win32/gui/ConfigurePlugins.c:620 -msgid "" -"Note: The NetPlay Plugin Directory should be the same as the other Plugins." +msgid "Note: The NetPlay Plugin Directory should be the same as the other Plugins." msgstr "注意: 联网游戏插件应和其它插件放在同一目录中。" -#: ../win32/gui/plugin.c:94 ../win32/gui/WndMain.c:320 +#: ../win32/gui/plugin.c:94 +#: ../win32/gui/WndMain.c:320 #, c-format msgid "*PCSX*: Saved State %d" msgstr "*PCSX*: Saved State %d" -#: ../win32/gui/plugin.c:95 ../win32/gui/WndMain.c:321 +#: ../win32/gui/plugin.c:95 +#: ../win32/gui/WndMain.c:321 #, c-format msgid "*PCSX*: Error Saving State %d" msgstr "*PCSX*: Error Saving State %d" -#: ../win32/gui/plugin.c:111 ../win32/gui/WndMain.c:298 +#: ../win32/gui/plugin.c:111 +#: ../win32/gui/WndMain.c:298 #, c-format msgid "*PCSX*: Loaded State %d" msgstr "*PCSX*: Loaded State %d" -#: ../win32/gui/plugin.c:112 ../win32/gui/WndMain.c:299 +#: ../win32/gui/plugin.c:112 +#: ../win32/gui/WndMain.c:299 #, c-format msgid "*PCSX*: Error Loading State %d" msgstr "*PCSX*: Error Loading State %d" @@ -2659,7 +2749,8 @@ msgstr "*PCSX*: CdRom Case Closed" msgid "Connecting..." msgstr "正在连接..." -#: ../win32/gui/plugin.c:185 ../win32/gui/plugin.c:192 +#: ../win32/gui/plugin.c:185 +#: ../win32/gui/plugin.c:192 #, c-format msgid "Please wait while connecting... %c\n" msgstr "请稍候,正在连接... %c\n" @@ -2683,49 +2774,49 @@ msgstr "无法打开 SPU 插件 (%d)" msgid "Error Opening PAD1 Plugin (%d)" msgstr "无法打开 PAD1 插件 (%d)" -#: ../win32/gui/plugin.c:291 +#: ../win32/gui/plugin.c:293 #, c-format msgid "Error Opening PAD2 Plugin (%d)" msgstr "无法打开 PAD2 插件 (%d)" -#: ../win32/gui/plugin.c:319 +#: ../win32/gui/plugin.c:323 msgid "Error Closing CDR Plugin" msgstr "无法关闭 CD-ROM 插件 (%d)" -#: ../win32/gui/plugin.c:321 +#: ../win32/gui/plugin.c:325 msgid "Error Closing GPU Plugin" msgstr "无法关闭 GPU 插件" -#: ../win32/gui/plugin.c:323 +#: ../win32/gui/plugin.c:327 msgid "Error Closing SPU Plugin" msgstr "无法关闭 SPU 插件" -#: ../win32/gui/plugin.c:341 +#: ../win32/gui/plugin.c:345 #, c-format msgid "CDRinit error: %d" msgstr "CDRinit 错误: %d" -#: ../win32/gui/plugin.c:343 +#: ../win32/gui/plugin.c:347 #, c-format msgid "GPUinit error: %d" msgstr "GPUinit 错误: %d" -#: ../win32/gui/plugin.c:345 +#: ../win32/gui/plugin.c:349 #, c-format msgid "SPUinit error: %d" msgstr "SPUinit 错误: %d" -#: ../win32/gui/plugin.c:347 +#: ../win32/gui/plugin.c:351 #, c-format msgid "PAD1init error: %d" msgstr "PAD1init 错误: %d" -#: ../win32/gui/plugin.c:349 +#: ../win32/gui/plugin.c:353 #, c-format msgid "PAD2init error: %d" msgstr "PAD2init 错误: %d" -#: ../win32/gui/plugin.c:352 +#: ../win32/gui/plugin.c:356 #, c-format msgid "NETinit error: %d" msgstr "NETinit 错误: %d" @@ -2746,7 +2837,8 @@ msgstr "德语" msgid "Greek" msgstr "希腊语" -#: ../win32/gui/WndMain.c:81 ../win32/gui/WndMain.c:1656 +#: ../win32/gui/WndMain.c:81 +#: ../win32/gui/WndMain.c:1656 #: ../win32/gui/WndMain.c:1658 msgid "English" msgstr "英语" @@ -2813,7 +2905,8 @@ msgstr "" "\t-cdfile FILE\t运行 CD 镜像文件 (需要 -nogui)\n" "\t-help\t\t显示此信息" -#: ../win32/gui/WndMain.c:339 ../win32/gui/WndMain.c:385 +#: ../win32/gui/WndMain.c:339 +#: ../win32/gui/WndMain.c:385 msgid "PCSX State Format" msgstr "PCSX 即时存档格式" @@ -2861,15 +2954,18 @@ msgstr "终止链接块" msgid "Memcard Manager" msgstr "记忆卡管理器" -#: ../win32/gui/WndMain.c:1058 ../win32/gui/WndMain.c:1061 +#: ../win32/gui/WndMain.c:1058 +#: ../win32/gui/WndMain.c:1061 msgid "Select Mcd" msgstr "选择" -#: ../win32/gui/WndMain.c:1059 ../win32/gui/WndMain.c:1062 +#: ../win32/gui/WndMain.c:1059 +#: ../win32/gui/WndMain.c:1062 msgid "Format Mcd" msgstr "格式化" -#: ../win32/gui/WndMain.c:1060 ../win32/gui/WndMain.c:1063 +#: ../win32/gui/WndMain.c:1060 +#: ../win32/gui/WndMain.c:1063 msgid "Reload Mcd" msgstr "重新加载" @@ -2905,12 +3001,14 @@ msgstr "记忆卡 2" msgid "Are you sure you want to paste this selection?" msgstr "是否确认粘贴此选中内容?" -#: ../win32/gui/WndMain.c:1126 ../win32/gui/WndMain.c:1237 +#: ../win32/gui/WndMain.c:1126 +#: ../win32/gui/WndMain.c:1237 #: ../win32/gui/WndMain.c:1244 msgid "Confirmation" msgstr "确认" -#: ../win32/gui/WndMain.c:1237 ../win32/gui/WndMain.c:1244 +#: ../win32/gui/WndMain.c:1237 +#: ../win32/gui/WndMain.c:1244 msgid "Are you sure you want to format this Memory Card?" msgstr "是否确认格式化此记忆卡?" @@ -3030,43 +3128,53 @@ msgstr "保存(&S)" msgid "&Load" msgstr "读取(&L)" -#: ../win32/gui/WndMain.c:1611 ../win32/gui/WndMain.c:1621 +#: ../win32/gui/WndMain.c:1611 +#: ../win32/gui/WndMain.c:1621 msgid "&Other..." msgstr "其它(&O)..." -#: ../win32/gui/WndMain.c:1612 ../win32/gui/WndMain.c:1622 +#: ../win32/gui/WndMain.c:1612 +#: ../win32/gui/WndMain.c:1622 msgid "Slot &9" msgstr "存档 9(&9)" -#: ../win32/gui/WndMain.c:1613 ../win32/gui/WndMain.c:1623 +#: ../win32/gui/WndMain.c:1613 +#: ../win32/gui/WndMain.c:1623 msgid "Slot &8" msgstr "存档 8(&8)" -#: ../win32/gui/WndMain.c:1614 ../win32/gui/WndMain.c:1624 +#: ../win32/gui/WndMain.c:1614 +#: ../win32/gui/WndMain.c:1624 msgid "Slot &7" msgstr "存档 7(&7)" -#: ../win32/gui/WndMain.c:1615 ../win32/gui/WndMain.c:1625 +#: ../win32/gui/WndMain.c:1615 +#: ../win32/gui/WndMain.c:1625 msgid "Slot &6" msgstr "存档 6(&6)" -#: ../win32/gui/WndMain.c:1616 ../win32/gui/WndMain.c:1626 +#: ../win32/gui/WndMain.c:1616 +#: ../win32/gui/WndMain.c:1626 msgid "Slot &5" msgstr "存档 5(&5)" -#: ../win32/gui/WndMain.c:1617 ../win32/gui/WndMain.c:1627 +#: ../win32/gui/WndMain.c:1617 +#: ../win32/gui/WndMain.c:1627 msgid "Slot &4" msgstr "存档 4(&4)" -#: ../win32/gui/WndMain.c:1618 ../win32/gui/WndMain.c:1628 +#: ../win32/gui/WndMain.c:1618 +#: ../win32/gui/WndMain.c:1628 msgid "Slot &3" msgstr "存档 3(&3)" -#: ../win32/gui/WndMain.c:1619 ../win32/gui/WndMain.c:1629 +#: ../win32/gui/WndMain.c:1619 +#: ../win32/gui/WndMain.c:1629 msgid "Slot &2" msgstr "存档 2(&2)" -#: ../win32/gui/WndMain.c:1620 ../win32/gui/WndMain.c:1630 +#: ../win32/gui/WndMain.c:1620 +#: ../win32/gui/WndMain.c:1630 msgid "Slot &1" msgstr "存档 1(&1)" diff --git a/po/zh_TW.po b/po/zh_TW.po index e2be2a7b..8bd28bc2 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -7,14 +7,14 @@ msgid "" msgstr "" "Project-Id-Version: pcsxr 1.0\n" "Report-Msgid-Bugs-To: whistler_wmz@users.sf.net\n" -"POT-Creation-Date: 2011-01-02 17:37+0800\n" +"POT-Creation-Date: 2011-01-09 15:27+0800\n" "PO-Revision-Date: 2010-12-29 11:28+0800\n" "Last-Translator: Wei Mingzhi <whistler_wmz@users.sf.net>\n" "Language-Team: Traditional Chinese <whistler@openoffice.org>\n" -"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: \n" #: ../data/pcsx.glade2.h:1 msgid "" @@ -960,27 +960,27 @@ msgstr "無法開啟 GPU 外掛!" msgid "Error opening Controller 1 plugin!" msgstr "無法開啟 \"控制器 1\" 外掛!" -#: ../gui/Plugin.c:333 +#: ../gui/Plugin.c:335 msgid "Error opening Controller 2 plugin!" msgstr "無法開啟 \"控制器 2\" 外掛!" -#: ../gui/Plugin.c:413 +#: ../gui/Plugin.c:417 msgid "Error closing CD-ROM plugin!" msgstr "無法關閉 CD-ROM 外掛!" -#: ../gui/Plugin.c:415 +#: ../gui/Plugin.c:419 msgid "Error closing SPU plugin!" msgstr "無法關閉 SPU 外掛!" -#: ../gui/Plugin.c:417 +#: ../gui/Plugin.c:421 msgid "Error closing Controller 1 Plugin!" msgstr "無法關閉 \"控制器 1\" 外掛!" -#: ../gui/Plugin.c:419 +#: ../gui/Plugin.c:423 msgid "Error closing Controller 2 plugin!" msgstr "無法關閉 \"控制器 2\" 外掛!" -#: ../gui/Plugin.c:421 +#: ../gui/Plugin.c:425 msgid "Error closing GPU plugin!" msgstr "無法關閉 GPU 外掛!" @@ -1048,82 +1048,82 @@ msgstr "未知 CPE opcode %02x 位於 %08x.\n" msgid "This file does not appear to be a valid PSX file.\n" msgstr "此檔案不是一個合法的 PSX 檔案。\n" -#: ../libpcsxcore/plugins.c:183 +#: ../libpcsxcore/plugins.c:189 #, c-format msgid "Error loading %s: %s" msgstr "無法加載 %s: %s" -#: ../libpcsxcore/plugins.c:235 +#: ../libpcsxcore/plugins.c:243 #, c-format msgid "Could not load GPU plugin %s!" msgstr "無法加載 GPU 外掛 %s!" -#: ../libpcsxcore/plugins.c:308 +#: ../libpcsxcore/plugins.c:318 #, c-format msgid "Could not load CD-ROM plugin %s!" msgstr "無法加載 CD-ROM 外掛 %s!" -#: ../libpcsxcore/plugins.c:356 +#: ../libpcsxcore/plugins.c:366 #, c-format msgid "Could not load SPU plugin %s!" msgstr "無法加載 SPU 外掛 %s!" -#: ../libpcsxcore/plugins.c:493 +#: ../libpcsxcore/plugins.c:505 #, c-format msgid "Could not load Controller 1 plugin %s!" msgstr "無法加載 \"控制器1\" 外掛 %s!" -#: ../libpcsxcore/plugins.c:547 +#: ../libpcsxcore/plugins.c:563 #, c-format msgid "Could not load Controller 2 plugin %s!" msgstr "無法加載 \"控制器2\" 外掛 %s!" -#: ../libpcsxcore/plugins.c:590 +#: ../libpcsxcore/plugins.c:608 #, c-format msgid "Could not load NetPlay plugin %s!" msgstr "無法加載聯線遊戲外掛 %s!" -#: ../libpcsxcore/plugins.c:670 +#: ../libpcsxcore/plugins.c:688 #, c-format msgid "Could not load SIO1 plugin %s!" msgstr "無法加載 SIO1 外掛 %s!" -#: ../libpcsxcore/plugins.c:755 +#: ../libpcsxcore/plugins.c:773 #, c-format msgid "Error initializing CD-ROM plugin: %d" msgstr "CD-ROM 外掛初始化錯誤: %d" -#: ../libpcsxcore/plugins.c:757 +#: ../libpcsxcore/plugins.c:775 #, c-format msgid "Error initializing GPU plugin: %d" msgstr "GPU 外掛初始化錯誤: %d" -#: ../libpcsxcore/plugins.c:759 +#: ../libpcsxcore/plugins.c:777 #, c-format msgid "Error initializing SPU plugin: %d" msgstr "SPU 外掛初始化錯誤: %d" -#: ../libpcsxcore/plugins.c:761 +#: ../libpcsxcore/plugins.c:779 #, c-format msgid "Error initializing Controller 1 plugin: %d" msgstr "\"控制器1\" 外掛初始化錯誤: %d" -#: ../libpcsxcore/plugins.c:763 +#: ../libpcsxcore/plugins.c:781 #, c-format msgid "Error initializing Controller 2 plugin: %d" msgstr "\"控制器2\" 外掛初始化錯誤: %d" -#: ../libpcsxcore/plugins.c:767 +#: ../libpcsxcore/plugins.c:785 #, c-format msgid "Error initializing NetPlay plugin: %d" msgstr "聯線遊戲外掛初始化錯誤: %d" -#: ../libpcsxcore/plugins.c:772 +#: ../libpcsxcore/plugins.c:790 #, c-format msgid "Error initializing SIO1 plugin: %d" msgstr "SIO1 外掛初始化錯誤: %d" -#: ../libpcsxcore/plugins.c:775 +#: ../libpcsxcore/plugins.c:793 msgid "Plugins loaded.\n" msgstr "外掛已加載。\n" @@ -1255,7 +1255,7 @@ msgstr "" "多執行緒 - 較快 (使用快取)" #: ../plugins/dfcdrom/cdrcfg-0.1df/dfcdrom.glade2.h:24 -#: ../plugins/dfinput/dfinput.glade2.h:8 ../win32/gui/WndMain.c:1307 +#: ../plugins/dfinput/dfinput.ui.h:8 ../win32/gui/WndMain.c:1307 msgid "Options" msgstr "選項" @@ -1371,119 +1371,125 @@ msgstr "右搖桿下方向" msgid "R-Stick Up" msgstr "右搖桿上方向" -#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142 +#: ../plugins/dfinput/cfg-gtk2.c:100 ../plugins/dfinput/cfg-gtk2.c:139 msgid "Centered" msgstr "居中" -#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142 +#: ../plugins/dfinput/cfg-gtk2.c:100 ../plugins/dfinput/cfg-gtk2.c:139 msgid "Up" msgstr "上" -#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142 +#: ../plugins/dfinput/cfg-gtk2.c:100 ../plugins/dfinput/cfg-gtk2.c:139 msgid "Right" msgstr "右" -#: ../plugins/dfinput/cfg-gtk2.c:103 ../plugins/dfinput/cfg-gtk2.c:142 +#: ../plugins/dfinput/cfg-gtk2.c:100 ../plugins/dfinput/cfg-gtk2.c:139 msgid "Rightup" msgstr "右上" -#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143 +#: ../plugins/dfinput/cfg-gtk2.c:101 ../plugins/dfinput/cfg-gtk2.c:140 msgid "Down" msgstr "下" -#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143 +#: ../plugins/dfinput/cfg-gtk2.c:101 ../plugins/dfinput/cfg-gtk2.c:140 msgid "Rightdown" msgstr "右下" -#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143 +#: ../plugins/dfinput/cfg-gtk2.c:101 ../plugins/dfinput/cfg-gtk2.c:140 msgid "Left" msgstr "左" -#: ../plugins/dfinput/cfg-gtk2.c:104 ../plugins/dfinput/cfg-gtk2.c:143 +#: ../plugins/dfinput/cfg-gtk2.c:101 ../plugins/dfinput/cfg-gtk2.c:140 msgid "Leftup" msgstr "左上" -#: ../plugins/dfinput/cfg-gtk2.c:105 ../plugins/dfinput/cfg-gtk2.c:144 +#: ../plugins/dfinput/cfg-gtk2.c:102 ../plugins/dfinput/cfg-gtk2.c:141 msgid "Leftdown" msgstr "左下" -#: ../plugins/dfinput/cfg-gtk2.c:109 ../plugins/dfinput/cfg-gtk2.c:148 +#: ../plugins/dfinput/cfg-gtk2.c:106 ../plugins/dfinput/cfg-gtk2.c:145 #, c-format msgid "Joystick: Button %d" msgstr "手把: 按鈕 %d" -#: ../plugins/dfinput/cfg-gtk2.c:113 ../plugins/dfinput/cfg-gtk2.c:152 +#: ../plugins/dfinput/cfg-gtk2.c:110 ../plugins/dfinput/cfg-gtk2.c:149 #, c-format msgid "Joystick: Axis %d%c" msgstr "手把: 軸 %d%c" -#: ../plugins/dfinput/cfg-gtk2.c:118 ../plugins/dfinput/cfg-gtk2.c:157 +#: ../plugins/dfinput/cfg-gtk2.c:115 ../plugins/dfinput/cfg-gtk2.c:154 #, c-format msgid "Joystick: Hat %d %s" msgstr "手把: Hat %d %s" -#: ../plugins/dfinput/cfg-gtk2.c:133 ../plugins/dfinput/cfg-gtk2.c:172 +#: ../plugins/dfinput/cfg-gtk2.c:130 ../plugins/dfinput/cfg-gtk2.c:169 msgid "Keyboard:" msgstr "鍵盤:" -#: ../plugins/dfinput/cfg-gtk2.c:137 ../plugins/dfinput/cfg-gtk2.c:176 +#: ../plugins/dfinput/cfg-gtk2.c:134 ../plugins/dfinput/cfg-gtk2.c:173 msgid "(Not Set)" msgstr "(未設定)" -#: ../plugins/dfinput/cfg-gtk2.c:559 +#: ../plugins/dfinput/cfg-gtk2.c:542 #: ../plugins/peopsxgl/gpucfg/peopsxgl.ui.h:55 msgid "None" msgstr "無" -#: ../plugins/dfinput/cfg-gtk2.c:601 +#: ../plugins/dfinput/cfg-gtk2.c:584 msgid "Gamepad/Keyboard Input Configuration" msgstr "手把/鍵盤輸入設定" -#: ../plugins/dfinput/cfg-gtk2.c:607 ../plugins/dfinput/cfg-gtk2.c:627 +#: ../plugins/dfinput/cfg-gtk2.c:590 ../plugins/dfinput/cfg-gtk2.c:610 msgid "Key" msgstr "按鍵" -#: ../plugins/dfinput/cfg-gtk2.c:613 ../plugins/dfinput/cfg-gtk2.c:633 +#: ../plugins/dfinput/cfg-gtk2.c:596 ../plugins/dfinput/cfg-gtk2.c:616 msgid "Button" msgstr "按鈕" -#: ../plugins/dfinput/dfinput.glade2.h:1 +#: ../plugins/dfinput/dfinput.ui.h:1 +#, fuzzy +msgid "Analog Pad" +msgstr "" +"普通手把\n" +"類比手把" + +#: ../plugins/dfinput/dfinput.ui.h:2 msgid "Change" msgstr "更改" -#: ../plugins/dfinput/dfinput.glade2.h:2 +#: ../plugins/dfinput/dfinput.ui.h:3 msgid "Controller 1" msgstr "控制器 1" -#: ../plugins/dfinput/dfinput.glade2.h:3 +#: ../plugins/dfinput/dfinput.ui.h:4 msgid "Controller 2" msgstr "控制器 2" -#: ../plugins/dfinput/dfinput.glade2.h:4 +#: ../plugins/dfinput/dfinput.ui.h:5 msgid "Device:" msgstr "裝置:" -#: ../plugins/dfinput/dfinput.glade2.h:5 -msgid "" -"Digital Pad\n" -"Analog Pad" +#: ../plugins/dfinput/dfinput.ui.h:6 +#, fuzzy +msgid "Digital Pad" msgstr "" "普通手把\n" "類比手把" -#: ../plugins/dfinput/dfinput.glade2.h:7 +#: ../plugins/dfinput/dfinput.ui.h:7 msgid "Multi-Threaded (Recommended)" msgstr "多執行緒 (建議使用)" -#: ../plugins/dfinput/dfinput.glade2.h:9 +#: ../plugins/dfinput/dfinput.ui.h:9 msgid "Reset" msgstr "重置" -#: ../plugins/dfinput/dfinput.glade2.h:10 +#: ../plugins/dfinput/dfinput.ui.h:10 msgid "Type:" msgstr "類型:" -#: ../plugins/dfinput/pad.c:22 +#: ../plugins/dfinput/pad.c:24 msgid "Gamepad/Keyboard Input" msgstr "手把/鍵盤輸入" @@ -1501,28 +1507,28 @@ msgstr "無法連線至 %s: %s\n" msgid "Error allocating memory!\n" msgstr "分配記憶體錯誤!\n" -#: ../plugins/dfnet/dfnet.glade2.h:1 +#: ../plugins/dfnet/dfnet.ui.h:1 msgid "Client (Player2)" msgstr "客戶端 (玩家 2)" -#: ../plugins/dfnet/dfnet.glade2.h:2 +#: ../plugins/dfnet/dfnet.ui.h:2 msgid "Copy PC IP to Clipboard" msgstr "將本機 IP 複制到剪貼板" -#: ../plugins/dfnet/dfnet.glade2.h:3 +#: ../plugins/dfnet/dfnet.ui.h:3 msgid "" "Do not change if not necessary (remember it must be changed on both sides)." msgstr "如非必要請勿更改 (必須在兩端都要更改)。" -#: ../plugins/dfnet/dfnet.glade2.h:4 +#: ../plugins/dfnet/dfnet.ui.h:4 msgid "Play Offline" msgstr "離線遊戲" -#: ../plugins/dfnet/dfnet.glade2.h:5 +#: ../plugins/dfnet/dfnet.ui.h:5 msgid "Port Number" msgstr "Port 號" -#: ../plugins/dfnet/dfnet.glade2.h:6 +#: ../plugins/dfnet/dfnet.ui.h:6 msgid "" "Select here if you'll be Server (Player1) or Client (Player2).\n" "\n" @@ -1538,24 +1544,24 @@ msgstr "" "\n" "如果您選擇客戶端,請輸入伺服器端提供給您的 IP 地址。" -#: ../plugins/dfnet/dfnet.glade2.h:11 +#: ../plugins/dfnet/dfnet.ui.h:11 msgid "Server (Player1)" msgstr "伺服器 (玩家 1)" -#: ../plugins/dfnet/dfnet.glade2.h:12 +#: ../plugins/dfnet/dfnet.ui.h:12 msgid "Start Game" msgstr "開始遊戲" -#: ../plugins/dfnet/gui.c:31 ../plugins/dfnet/gui.c:112 +#: ../plugins/dfnet/gui.c:30 ../plugins/dfnet/gui.c:112 #: ../win32/gui/ConfigurePlugins.c:616 msgid "NetPlay" msgstr "聯線遊戲" -#: ../plugins/dfnet/gui.c:39 +#: ../plugins/dfnet/gui.c:38 msgid "Nothing to configure" msgstr "沒有可以配置的內容" -#: ../plugins/dfnet/gui.c:95 +#: ../plugins/dfnet/gui.c:94 #, c-format msgid "IP %s" msgstr "IP %s" @@ -2704,49 +2710,49 @@ msgstr "無法開啟 SPU 外掛 (%d)" msgid "Error Opening PAD1 Plugin (%d)" msgstr "無法開啟 PAD1 外掛 (%d)" -#: ../win32/gui/plugin.c:291 +#: ../win32/gui/plugin.c:293 #, c-format msgid "Error Opening PAD2 Plugin (%d)" msgstr "無法開啟 PAD2 外掛 (%d)" -#: ../win32/gui/plugin.c:319 +#: ../win32/gui/plugin.c:323 msgid "Error Closing CDR Plugin" msgstr "無法關閉 CD-ROM 外掛 (%d)" -#: ../win32/gui/plugin.c:321 +#: ../win32/gui/plugin.c:325 msgid "Error Closing GPU Plugin" msgstr "無法關閉 GPU 外掛" -#: ../win32/gui/plugin.c:323 +#: ../win32/gui/plugin.c:327 msgid "Error Closing SPU Plugin" msgstr "無法關閉 SPU 外掛" -#: ../win32/gui/plugin.c:341 +#: ../win32/gui/plugin.c:345 #, c-format msgid "CDRinit error: %d" msgstr "CDRinit 錯誤: %d" -#: ../win32/gui/plugin.c:343 +#: ../win32/gui/plugin.c:347 #, c-format msgid "GPUinit error: %d" msgstr "GPUinit 錯誤: %d" -#: ../win32/gui/plugin.c:345 +#: ../win32/gui/plugin.c:349 #, c-format msgid "SPUinit error: %d" msgstr "SPUinit 錯誤: %d" -#: ../win32/gui/plugin.c:347 +#: ../win32/gui/plugin.c:351 #, c-format msgid "PAD1init error: %d" msgstr "PAD1init 錯誤: %d" -#: ../win32/gui/plugin.c:349 +#: ../win32/gui/plugin.c:353 #, c-format msgid "PAD2init error: %d" msgstr "PAD2init 錯誤: %d" -#: ../win32/gui/plugin.c:352 +#: ../win32/gui/plugin.c:356 #, c-format msgid "NETinit error: %d" msgstr "NETinit 錯誤: %d" @@ -3147,4 +3153,3 @@ msgstr "Pcsx 消息" #: ../win32/gui/WndMain.c:1866 msgid "Error Loading Symbol" msgstr "無法加載符號" - diff --git a/win32/plugins/PadSSSPSX/PadSSSPSX.cpp b/win32/plugins/PadSSSPSX/PadSSSPSX.cpp new file mode 100644 index 00000000..2034ef72 --- /dev/null +++ b/win32/plugins/PadSSSPSX/PadSSSPSX.cpp @@ -0,0 +1,1136 @@ +#define WINVER 0x0500
+#define _WIN32_WINNT WINVER
+#define DIRECTINPUT_VERSION 0x0800
+
+// Modified by Wei Mingzhi <whistler_wmz@users.sf.net> at 10/2/2009
+// Added default keys, use registry instead of configuration file
+
+// Modified by Wei Mingzhi <whistler_wmz@users.sf.net> at 12/3/2009
+// Quick hack fix for FF8 "reverting" problem in menus
+// Added configuration for enabling/disabling DualShock
+
+#include <windows.h>
+#include <windowsx.h>
+#include <commctrl.h>
+#include <dinput.h>
+
+#include "PadSSSPSX.h"
+
+static const char* LibraryName = "SSSPSX PAD Plugin Pressure Mod";
+static const unsigned char version = 0x0002;
+static const unsigned char revision = 1;
+static const unsigned char build = 6;
+
+HMODULE hInstance;
+HWND hTargetWnd;
+
+static void (CALLBACK *gpuVisualVibration)(unsigned long, unsigned long) = NULL;
+
+static struct
+{
+ Config config;
+ int devcnt;
+ LPDIRECTINPUT8 pDInput;
+ LPDIRECTINPUTDEVICE8 pDKeyboard;
+ LPDIRECTINPUTDEVICE8 pDDevice[4];
+ LPDIRECTINPUTEFFECT pDEffect[4][2]; /* for Small & Big Motor */
+ DIJOYSTATE JoyState[4];
+ u16 padStat[2];
+ int padID[2];
+ int padMode1[2];
+ int padMode2[2];
+ int padModeE[2];
+ int padModeC[2];
+ int padModeF[2];
+ int padVib0[2];
+ int padVib1[2];
+ int padVibF[2][4];
+ int padVibC[2];
+ DWORD padPress[2][16];
+ int curPad;
+ int curByte;
+ int curCmd;
+ int cmdLen;
+} global;
+
+static BOOL CALLBACK EnumAxesCallback (LPCDIDEVICEOBJECTINSTANCE lpddoi, LPVOID pvRef)
+{
+ LPDIRECTINPUTDEVICE8 pDDevice = (LPDIRECTINPUTDEVICE8)pvRef;
+ DIPROPRANGE diprg;
+ diprg.diph.dwSize = sizeof (diprg);
+ diprg.diph.dwHeaderSize = sizeof (diprg.diph);
+ diprg.diph.dwObj = lpddoi->dwType;
+ diprg.diph.dwHow = DIPH_BYID;
+ diprg.lMin = -128;
+ diprg.lMax = 127;
+ pDDevice->SetProperty (DIPROP_RANGE, &diprg.diph);
+ return DIENUM_CONTINUE;
+}
+
+static BOOL CALLBACK EnumJoysticksCallback (const DIDEVICEINSTANCE* instance, VOID* pContext)
+{
+ const int devno = global.devcnt;
+ if (devno >= 4)
+ return DIENUM_STOP;
+ HRESULT result = global.pDInput->CreateDevice (instance->guidInstance, &global.pDDevice[devno], NULL);
+ if (FAILED (result))
+ return DIENUM_CONTINUE;
+ global.devcnt++;
+ return DIENUM_CONTINUE;
+}
+
+static bool ReleaseDirectInput (void)
+{
+ int index = 4;
+ while (index--)
+ {
+ if (global.pDEffect[index][0])
+ {
+ global.pDEffect[index][0]->Unload();
+ global.pDEffect[index][0]->Release();
+ global.pDEffect[index][0] = NULL;
+ }
+ if (global.pDEffect[index][1])
+ {
+ global.pDEffect[index][1]->Unload();
+ global.pDEffect[index][1]->Release();
+ global.pDEffect[index][1] = NULL;
+ }
+ if (global.pDDevice[index])
+ {
+ global.pDDevice[index]->Unacquire();
+ global.pDDevice[index]->Release();
+ global.pDDevice[index] = NULL;
+ }
+ }
+ if (global.pDKeyboard)
+ {
+ global.pDKeyboard->Unacquire();
+ global.pDKeyboard->Release();
+ global.pDKeyboard = NULL;
+ }
+ if (global.pDInput)
+ {
+ global.pDInput->Release();
+ global.pDInput = NULL;
+ }
+ global.devcnt = 0;
+ return FALSE;
+}
+
+static bool InitDirectInput (void)
+{
+ if (global.pDInput)
+ return TRUE;
+ HRESULT result = DirectInput8Create (hInstance, DIRECTINPUT_VERSION, IID_IDirectInput8, (void**)&global.pDInput, NULL);
+ if (FAILED (result))
+ return ReleaseDirectInput();
+ result = global.pDInput->CreateDevice (GUID_SysKeyboard, &global.pDKeyboard, NULL);
+ if (FAILED (result))
+ return ReleaseDirectInput();
+ result = global.pDInput->EnumDevices (DI8DEVCLASS_GAMECTRL, EnumJoysticksCallback, NULL, DIEDFL_ATTACHEDONLY);
+ if (FAILED (result))
+ return ReleaseDirectInput();
+ result = global.pDKeyboard->SetDataFormat (&c_dfDIKeyboard);
+ if (FAILED (result))
+ return ReleaseDirectInput();
+ if (hTargetWnd)
+ {
+ global.pDKeyboard->Unacquire();
+ result = global.pDKeyboard->SetCooperativeLevel (hTargetWnd, DISCL_FOREGROUND | DISCL_NONEXCLUSIVE);
+ if (FAILED (result))
+ return ReleaseDirectInput();
+ }
+ int index = global.devcnt;
+ while (index--)
+ {
+ const LPDIRECTINPUTDEVICE8 pDDevice = global.pDDevice[index];
+ result = pDDevice->SetDataFormat (&c_dfDIJoystick);
+ if (FAILED (result))
+ return ReleaseDirectInput();
+ if (hTargetWnd)
+ {
+ pDDevice->Unacquire();
+ result = pDDevice->SetCooperativeLevel (hTargetWnd, DISCL_FOREGROUND | DISCL_EXCLUSIVE);
+ if (FAILED (result))
+ return ReleaseDirectInput();
+ }
+ struct
+ {
+ DIPROPDWORD dipdw;
+ DWORD rgdwAxes[2];
+ LONG rglDirection[2];
+ DIPERIODIC per;
+ DICONSTANTFORCE cf;
+ DIEFFECT eff;
+ } local;
+ memset (&local, 0, sizeof (local));
+ local.dipdw.diph.dwSize = sizeof (DIPROPDWORD);
+ local.dipdw.diph.dwHeaderSize = sizeof (DIPROPHEADER);
+ local.dipdw.diph.dwHow = DIPH_DEVICE;
+ local.dipdw.dwData = DIPROPAUTOCENTER_OFF;
+ pDDevice->SetProperty (DIPROP_AUTOCENTER, &local.dipdw.diph);
+ result = pDDevice->EnumObjects (EnumAxesCallback, pDDevice, DIDFT_AXIS);
+ if (FAILED (result))
+ return ReleaseDirectInput();
+
+ local.rgdwAxes[0] = DIJOFS_X;
+ local.rgdwAxes[1] = DIJOFS_Y;
+ local.eff.dwSize = sizeof (DIEFFECT);
+ local.eff.dwFlags = DIEFF_CARTESIAN | DIEFF_OBJECTOFFSETS;
+ local.eff.dwDuration = INFINITE;
+ local.eff.dwGain = DI_FFNOMINALMAX;
+ local.eff.dwTriggerButton = DIEB_NOTRIGGER;
+ local.eff.cAxes = 2;
+ local.eff.rgdwAxes = local.rgdwAxes;
+ local.eff.rglDirection = local.rglDirection;
+
+ /* Small Motor */
+ local.eff.cbTypeSpecificParams = sizeof (DIPERIODIC);
+ local.eff.lpvTypeSpecificParams = &local.per;
+ result = pDDevice->CreateEffect (GUID_Square , &local.eff, &global.pDEffect[index][0], NULL);
+ if (FAILED (result))
+ global.pDEffect[index][0] = NULL;
+
+ /* Big Motor */
+ local.eff.cbTypeSpecificParams = sizeof (DICONSTANTFORCE);
+ local.eff.lpvTypeSpecificParams = &local.cf;
+ result = pDDevice->CreateEffect (GUID_ConstantForce , &local.eff, &global.pDEffect[index][1], NULL);
+ if (FAILED (result))
+ global.pDEffect[index][1] = NULL;
+ }
+ return TRUE;
+}
+
+static bool AcquireDevice (LPDIRECTINPUTDEVICE8 lpDirectInputDevice)
+{
+ if (FAILED (lpDirectInputDevice->Acquire()))
+ {
+ HRESULT result = lpDirectInputDevice->Acquire();
+ if (result == DIERR_OTHERAPPHASPRIO)
+ return FALSE;
+ if (FAILED (result))
+ return ReleaseDirectInput();
+ }
+ return TRUE;
+}
+
+/* Small Motor */
+static bool SetDeviceForceS (int pad, DWORD force)
+{
+ InitDirectInput();
+ if (global.pDEffect[pad][0])
+ {
+ if ( force == 0) {
+ if (FAILED (global.pDEffect[pad][0]->Stop())) {
+ AcquireDevice (global.pDDevice[pad]);
+ if (FAILED (global.pDEffect[pad][0]->Stop()))
+ return ReleaseDirectInput();
+ }
+ return TRUE;
+ }
+ LONG rglDirection[2] = { 0, 0 };
+ DIPERIODIC per;
+ rglDirection[0] = force;
+ rglDirection[1] = force;
+ per.dwMagnitude = force;
+ per.dwPeriod = (DWORD) (0.01 * DI_SECONDS);
+ per.lOffset = 0;
+ per.dwPhase = 0;
+ DIEFFECT eff;
+ eff.dwSize = sizeof (DIEFFECT);
+ eff.dwFlags = DIEFF_CARTESIAN | DIEFF_OBJECTOFFSETS;
+ eff.cAxes = 2;
+ eff.rglDirection = rglDirection;
+ eff.lpEnvelope = 0;
+ eff.cbTypeSpecificParams = sizeof (DIPERIODIC);
+ eff.lpvTypeSpecificParams = &per;
+ if (FAILED (global.pDEffect[pad][0]->SetParameters (&eff, DIEP_DIRECTION | DIEP_TYPESPECIFICPARAMS | DIEP_START)))
+ return ReleaseDirectInput();
+ if (FAILED (global.pDEffect[pad][0]->Start (1, 0)))
+ {
+ AcquireDevice (global.pDDevice[pad]);
+ if (FAILED (global.pDEffect[pad][0]->Start (1, 0)))
+ return ReleaseDirectInput();
+ }
+ }
+ return TRUE;
+}
+
+/* Big Motor */
+static bool SetDeviceForceB (int pad, DWORD force)
+{
+ InitDirectInput();
+ if (global.pDEffect[pad][1])
+ {
+ if ( force == 0) {
+ if (FAILED (global.pDEffect[pad][1]->Stop())) {
+ AcquireDevice (global.pDDevice[pad]);
+ if (FAILED (global.pDEffect[pad][1]->Stop()))
+ return ReleaseDirectInput();
+ }
+ return TRUE;
+ }
+ LONG rglDirection[2] = { 0, 0 };
+ DICONSTANTFORCE cf;
+ rglDirection[0] = force;
+ rglDirection[1] = force;
+ cf.lMagnitude = force;
+ DIEFFECT eff;
+ eff.dwSize = sizeof (DIEFFECT);
+ eff.dwFlags = DIEFF_CARTESIAN | DIEFF_OBJECTOFFSETS;
+ eff.cAxes = 2;
+ eff.rglDirection = rglDirection;
+ eff.lpEnvelope = 0;
+ eff.cbTypeSpecificParams = sizeof (DICONSTANTFORCE);
+ eff.lpvTypeSpecificParams = &cf;
+ if (FAILED (global.pDEffect[pad][1]->SetParameters (&eff, DIEP_DIRECTION | DIEP_TYPESPECIFICPARAMS | DIEP_START)))
+ return ReleaseDirectInput();
+ if (FAILED (global.pDEffect[pad][1]->Start (1, 0)))
+ {
+ AcquireDevice (global.pDDevice[pad]);
+ if (FAILED (global.pDEffect[pad][1]->Start (1, 0)))
+ return ReleaseDirectInput();
+ }
+ }
+ return TRUE;
+}
+
+static bool GetJoyState (const int devno)
+{
+ InitDirectInput();
+ if (global.pDDevice[devno] == NULL)
+ return FALSE;
+ global.pDDevice[devno]->Poll();
+ if (FAILED (global.pDDevice[devno]->GetDeviceState (sizeof (DIJOYSTATE), &global.JoyState[devno])))
+ {
+ AcquireDevice (global.pDDevice[devno]);
+ return FALSE;
+ }
+ return TRUE;
+}
+
+static bool GetKeyState (u8* keyboard)
+{
+ InitDirectInput();
+ if (global.pDKeyboard == NULL)
+ return FALSE;
+ global.pDKeyboard->Poll();
+ if (FAILED (global.pDKeyboard->GetDeviceState (256, keyboard)))
+ {
+ AcquireDevice (global.pDKeyboard);
+ return FALSE;
+ }
+ return TRUE;
+}
+
+static void SetDefaultConfig (void)
+{
+ memset (&global.config, 0, sizeof(global.config));
+
+ global.config.keys[0][0] = 0x2E;
+ global.config.keys[0][3] = 0x2F;
+ global.config.keys[0][4] = 0xC8;
+ global.config.keys[0][5] = 0xCD;
+ global.config.keys[0][6] = 0xD0;
+ global.config.keys[0][7] = 0xCB;
+ global.config.keys[0][8] = 0x12;
+ global.config.keys[0][9] = 0x14;
+ global.config.keys[0][10] = 0x11;
+ global.config.keys[0][11] = 0x13;
+ global.config.keys[0][12] = 0x20;
+ global.config.keys[0][13] = 0x2D;
+ global.config.keys[0][14] = 0x2C;
+ global.config.keys[0][15] = 0x1F;
+
+ global.config.dualshock = FALSE;
+}
+
+static void SaveConfig (void)
+{
+ HKEY myKey;
+ DWORD myDisp;
+
+ RegCreateKeyEx(HKEY_CURRENT_USER, "Software\\Vision Thing\\PSEmu Pro\\PAD\\PadSSSPSX", 0, NULL,
+ REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &myKey, &myDisp);
+
+ RegSetValueEx(myKey, "cfg", 0, REG_BINARY, (CONST BYTE *)&global.config, sizeof(global.config));
+
+ RegCloseKey(myKey);
+}
+
+static void LoadConfig (void)
+{
+ HKEY myKey;
+ DWORD type, size;
+
+ SetDefaultConfig ();
+
+ if (RegOpenKeyEx (HKEY_CURRENT_USER, "Software\\Vision Thing\\PSEmu Pro\\PAD\\PadSSSPSX", 0,
+ KEY_ALL_ACCESS, &myKey) == ERROR_SUCCESS)
+ {
+ size = sizeof(global.config);
+ RegQueryValueEx (myKey, "cfg", NULL, &type, (LPBYTE)&global.config, &size);
+ RegCloseKey (myKey);
+ }
+
+ global.padVibC[0] = global.padVibC[1] = -1;
+ for (int cnt = 21; cnt--; )
+ {
+ const int key0 = global.config.keys[0][cnt];
+ if (key0 >= 0x1000)
+ global.padVibC[0] = (key0 & 0xfff) / 0x100;
+ const int key1 = global.config.keys[1][cnt];
+ if (key1 >= 0x1000)
+ global.padVibC[1] = (key1 & 0xfff) / 0x100;
+ }
+}
+
+static void PADsetMode (const int pad, const int mode)
+{
+ static const u8 padID[] = { 0x41, 0x73, 0x41, 0x79 };
+ global.padMode1[pad] = mode;
+ global.padVib0[pad] = 0;
+ global.padVib1[pad] = 0;
+ global.padVibF[pad][0] = 0;
+ global.padVibF[pad][1] = 0;
+ global.padID[pad] = padID[global.padMode2[pad] * 2 + mode];
+}
+
+static void KeyPress (const int pad, const int index, const bool press)
+{
+ if (index < 16)
+ {
+ if (press)
+ {
+ global.padStat[pad] &= ~(1 << index);
+ if (global.padPress[pad][index] == 0)
+ global.padPress[pad][index] = GetTickCount();
+ }
+ else
+ {
+ global.padStat[pad] |= 1 << index;
+ global.padPress[pad][index] = 0;
+ }
+ }
+ else if (global.config.dualshock)
+ {
+ static bool prev[2] = { FALSE, FALSE };
+ if ((prev[pad] != press) && (global.padModeF[pad] == 0))
+ {
+ prev[pad] = press;
+ if (press) PADsetMode (pad, !global.padMode1[pad]);
+ }
+ }
+}
+
+static void UpdateState (const int pad)
+{
+ static int flag_keyboard;
+ static int flag_joypad[4];
+ if (pad == 0)
+ {
+ flag_keyboard = 0;
+ flag_joypad[0] = 0;
+ flag_joypad[1] = 0;
+ flag_joypad[2] = 0;
+ flag_joypad[3] = 0;
+ }
+ static u8 keystate[256];
+ for (int index = 17; index--; )
+ {
+ const int key = global.config.keys[pad][index];
+ if (key == 0)
+ continue;
+ else if (key < 0x100)
+ {
+ if (flag_keyboard == FALSE)
+ {
+ flag_keyboard = TRUE;
+ if (GetKeyState (keystate) == FALSE)
+ return;
+ }
+ KeyPress (pad, index, keystate[key] & 0x80);
+ }
+ else
+ {
+ const int joypad = ((key & 0xfff) / 100);
+ if (flag_joypad[joypad] == FALSE)
+ {
+ flag_joypad[joypad] = TRUE;
+ if (GetJoyState (joypad) == FALSE)
+ return;
+ }
+ if (key < 0x2000)
+ {
+ KeyPress (pad, index, global.JoyState[joypad].rgbButtons[key & 0xff]);
+ }
+ else if (key < 0x3000)
+ {
+ const int state = ((int*)&global.JoyState[joypad].lX)[(key & 0xff) /2];
+ switch (key & 1)
+ {
+ case 0: KeyPress (pad, index, state < -64); break;
+ case 1: KeyPress (pad, index, state >= 64); break;
+ }
+ }
+ else
+ {
+ const u32 state = global.JoyState[joypad].rgdwPOV[(key & 0xff) /4];
+ switch (key & 3)
+ {
+ case 0: KeyPress (pad, index, (state >= 0 && state <= 4500) || (state >= 31500 && state <= 36000)); break;
+ case 1: KeyPress (pad, index, state >= 4500 && state <= 13500); break;
+ case 2: KeyPress (pad, index, state >= 13500 && state <= 22500); break;
+ case 3: KeyPress (pad, index, state >= 22500 && state <= 31500); break;
+ }
+ }
+ }
+ }
+
+ /* Small Motor */
+ const int vib0 = global.padVibF[pad][0] ? 10000 : 0;
+ if ((global.padVibF[pad][2] != vib0) && (global.padVibC[pad] >= 0))
+ {
+ global.padVibF[pad][2] = vib0;
+ SetDeviceForceS (global.padVibC[pad], vib0);
+ }
+ /* Big Motor */
+ const int vib1 = global.padVibF[pad][1] ? 500 + 37*global.padVibF[pad][1] : 0;
+ if ((global.padVibF[pad][3] != vib1) && (global.padVibC[pad] >= 0))
+ {
+ global.padVibF[pad][3] = vib1;
+ SetDeviceForceB (global.padVibC[pad], vib1);
+ }
+}
+
+static void set_label (const HWND hWnd, const int pad, const int index)
+{
+ const int key = global.config.keys[pad][index];
+ char buff[64];
+ if (key < 0x100)
+ {
+ if (key == 0)
+ strcpy (buff, "NONE");
+ else if (GetKeyNameText (key << 16, buff, sizeof (buff)) == 0)
+ wsprintf (buff, "Keyboard 0x%02X", key);
+ }
+ else if (key >= 0x1000 && key < 0x2000)
+ {
+ wsprintf (buff, "J%d_%d", (key & 0xfff) / 0x100, (key & 0xff) + 1);
+ }
+ else if (key >= 0x2000 && key < 0x3000)
+ {
+ static const char name[][4] = { "MIN", "MAX" };
+ const int axis = (key & 0xff);
+ wsprintf (buff, "J%d_AXIS%d_%s", (key & 0xfff) / 0x100, axis / 2, name[axis % 2]);
+ if (index >= 17 && index <= 20)
+ buff[strlen (buff) -4] = '\0';
+ }
+ else if (key >= 0x3000 && key < 0x4000)
+ {
+ static const char name[][7] = { "FOWARD", "RIGHT", "BACK", "LEFT" };
+ const int pov = (key & 0xff);
+ wsprintf (buff, "J%d_POV%d_%s", (key & 0xfff) / 0x100, pov /4, name[pov % 4]);
+ }
+ Button_SetText (GetDlgItem (hWnd, IDC_ESELECT + index), buff);
+}
+
+static BOOL CALLBACK ConfigureDlgProc (const HWND hWnd, const UINT msg, const WPARAM wParam, const LPARAM lParam)
+{
+ static BYTE keymaps[2][256];
+ static DWORD countdown;
+ static int disabled;
+ static HWND hTabWnd;
+ static int pad;
+ int cnt1;
+ int cnt2;
+ int key;
+ switch (msg)
+ {
+ case WM_INITDIALOG:
+ hTargetWnd = hWnd;
+ pad = disabled = 0;
+ LoadConfig();
+ for (cnt1 = 21; cnt1--; )
+ set_label (hWnd, pad, cnt1);
+ hTabWnd = GetDlgItem (hWnd, IDC_TABC);
+ TCITEM tcI;
+ tcI.mask = TCIF_TEXT;
+ tcI.pszText = "PAD1";
+ TabCtrl_InsertItem (hTabWnd, 0, &tcI);
+ tcI.mask = TCIF_TEXT;
+ tcI.pszText = "PAD2";
+ TabCtrl_InsertItem (hTabWnd, 1, &tcI);
+ CheckDlgButton(hWnd, IDC_DS2, global.config.dualshock);
+ EnableWindow(GetDlgItem(hWnd, IDC_BMODE), global.config.dualshock);
+ EnableWindow(GetDlgItem(hWnd, IDC_BLAX), global.config.dualshock);
+ EnableWindow(GetDlgItem(hWnd, IDC_BLAY), global.config.dualshock);
+ EnableWindow(GetDlgItem(hWnd, IDC_BRAX), global.config.dualshock);
+ EnableWindow(GetDlgItem(hWnd, IDC_BRAY), global.config.dualshock);
+ EnableWindow(GetDlgItem(hWnd, IDC_BL3), global.config.dualshock);
+ EnableWindow(GetDlgItem(hWnd, IDC_BR3), global.config.dualshock);
+ EnableWindow(GetDlgItem(hWnd, IDC_EMODE), global.config.dualshock);
+ EnableWindow(GetDlgItem(hWnd, IDC_ELAX), global.config.dualshock);
+ EnableWindow(GetDlgItem(hWnd, IDC_ELAY), global.config.dualshock);
+ EnableWindow(GetDlgItem(hWnd, IDC_ERAX), global.config.dualshock);
+ EnableWindow(GetDlgItem(hWnd, IDC_ERAY), global.config.dualshock);
+ EnableWindow(GetDlgItem(hWnd, IDC_EL3), global.config.dualshock);
+ EnableWindow(GetDlgItem(hWnd, IDC_ER3), global.config.dualshock);
+ SetTimer (hWnd, 0x80, 50, NULL);
+ return TRUE;
+ case WM_DESTROY:
+ break;
+ case WM_NOTIFY:
+ if (wParam == IDC_TABC)
+ {
+ if (disabled)
+ EnableWindow (GetDlgItem (hWnd, disabled), TRUE);
+ disabled = 0;
+ pad = TabCtrl_GetCurSel (hTabWnd);
+ for (cnt1 = 21; cnt1--; )
+ set_label (hWnd, pad, cnt1);
+ }
+ break;
+ case WM_COMMAND:
+ for (cnt1 = 21; cnt1--; )
+ {
+ if (LOWORD (wParam) == IDC_BSELECT + cnt1)
+ {
+ if (disabled)
+ EnableWindow (GetDlgItem (hWnd, disabled), TRUE);
+ EnableWindow (GetDlgItem (hWnd, disabled = wParam), FALSE);
+ EnableWindow (GetDlgItem (hWnd, IDC_DS2), FALSE);
+ countdown = GetTickCount();
+ GetKeyState (keymaps[0]);
+ return TRUE;
+ }
+ }
+ if (LOWORD (wParam) == IDOK)
+ EndDialog (hWnd, IDOK);
+ else if (LOWORD (wParam) == IDCANCEL)
+ EndDialog (hWnd, IDCANCEL);
+ else if (LOWORD (wParam) == IDC_DS2)
+ {
+ global.config.dualshock = IsDlgButtonChecked(hWnd, IDC_DS2);
+
+ EnableWindow(GetDlgItem(hWnd, IDC_BMODE), global.config.dualshock);
+ EnableWindow(GetDlgItem(hWnd, IDC_BLAX), global.config.dualshock);
+ EnableWindow(GetDlgItem(hWnd, IDC_BLAY), global.config.dualshock);
+ EnableWindow(GetDlgItem(hWnd, IDC_BRAX), global.config.dualshock);
+ EnableWindow(GetDlgItem(hWnd, IDC_BRAY), global.config.dualshock);
+ EnableWindow(GetDlgItem(hWnd, IDC_BL3), global.config.dualshock);
+ EnableWindow(GetDlgItem(hWnd, IDC_BR3), global.config.dualshock);
+ EnableWindow(GetDlgItem(hWnd, IDC_EMODE), global.config.dualshock);
+ EnableWindow(GetDlgItem(hWnd, IDC_ELAX), global.config.dualshock);
+ EnableWindow(GetDlgItem(hWnd, IDC_ELAY), global.config.dualshock);
+ EnableWindow(GetDlgItem(hWnd, IDC_ERAX), global.config.dualshock);
+ EnableWindow(GetDlgItem(hWnd, IDC_ERAY), global.config.dualshock);
+ EnableWindow(GetDlgItem(hWnd, IDC_EL3), global.config.dualshock);
+ EnableWindow(GetDlgItem(hWnd, IDC_ER3), global.config.dualshock);
+ }
+ break;
+ case WM_TIMER:
+ if (disabled)
+ {
+ const int index = disabled - IDC_BSELECT;
+ int analog = FALSE;
+ if ((GetTickCount() - countdown) / 1000 != 10)
+ {
+ char buff[64];
+ wsprintf (buff, "Timeout: %d", 10 - (GetTickCount() - countdown) / 1000);
+ SetWindowText (GetDlgItem (hWnd, IDC_ESELECT + index), buff);
+ }
+ else
+ {
+ global.config.keys[pad][index] = 0;
+ set_label (hWnd, pad, index);
+ EnableWindow (GetDlgItem (hWnd, disabled), TRUE);
+ EnableWindow (GetDlgItem (hWnd, IDC_DS2), TRUE);
+ disabled = 0;
+ break;
+ }
+ if (GetKeyState (keymaps[1]) == FALSE)
+ break;
+ for (key = 0x100; key--; )
+ {
+ if (~keymaps[0][key] & keymaps[1][key] & 0x80)
+ break;
+ }
+ for (cnt1 = global.devcnt; cnt1--;)
+ {
+ if (GetJoyState (cnt1) == FALSE)
+ break;
+
+ for (cnt2 = 32; cnt2--; )
+ {
+ if (global.JoyState[cnt1].rgbButtons[cnt2])
+ key = 0x1000 + 0x100 * cnt1 + cnt2;
+ }
+ for (cnt2 = 8; cnt2--; )
+ {
+ const int now = ((u32*)&global.JoyState[cnt1].lX)[cnt2];
+ if (now < -64)
+ {
+ key = 0x2000 + 0x100 * cnt1 + cnt2 * 2 +0;
+ analog = TRUE;
+ }
+ else if (now >= 64)
+ {
+ key = 0x2000 + 0x100 * cnt1 + cnt2 * 2 +1;
+ analog = TRUE;
+ }
+ }
+ for (cnt2 = 4; cnt2--; )
+ {
+ const u32 now = global.JoyState[cnt1].rgdwPOV[cnt2];
+ if ((now >= 0 && now < 4500) || (now >= 31500 && now < 36000))
+ key = 0x3000 + 0x100 * cnt1 + cnt2 * 4 +0;
+ if (now >= 4500 && now < 13500)
+ key = 0x3000 + 0x100 * cnt1 + cnt2 * 4 +1;
+ if (now >= 13500 && now < 22500)
+ key = 0x3000 + 0x100 * cnt1 + cnt2 * 4 +2;
+ if (now >= 22500 && now < 31500)
+ key = 0x3000 + 0x100 * cnt1 + cnt2 * 4 +3;
+ }
+ }
+ if (index >= 17 && index <= 20 && analog == 0)
+ key = 0;
+ else if (key > 0)
+ {
+ if (key != 1)
+ global.config.keys[pad][index] = key;
+ set_label (hWnd, pad, index);
+ EnableWindow (GetDlgItem (hWnd, disabled), TRUE);
+ EnableWindow (GetDlgItem (hWnd, IDC_DS2), TRUE);
+ disabled = 0;
+ }
+ }
+ }
+ return FALSE;
+}
+
+u32 CALLBACK PS2EgetLibType (void)
+{
+ return 0x02;
+}
+
+const char* CALLBACK PS2EgetLibName (void)
+{
+ return LibraryName;
+}
+
+u32 CALLBACK PS2EgetLibVersion2 (u32 type)
+{
+ return (version << 16) | (revision << 8) | build;
+}
+
+u32 CALLBACK PSEgetLibType (void)
+{
+ return 8;
+}
+
+const char* CALLBACK PSEgetLibName (void)
+{
+ return LibraryName;
+}
+
+u32 CALLBACK PSEgetLibVersion (void)
+{
+ return (version << 16) | (revision << 8) | build;
+}
+
+s32 CALLBACK PADinit (u32 flags)
+{
+ return 0;
+}
+
+void CALLBACK PADshutdown (void)
+{
+}
+
+static int n_open = 0;
+s32 CALLBACK PADopen (HWND hWnd)
+{
+ if (!IsWindow (hWnd) && !IsBadReadPtr ((u32*)hWnd, 4))
+ hWnd = *(HWND*)hWnd;
+ if (!IsWindow (hWnd))
+ hWnd = NULL;
+ else
+ {
+ while (GetWindowLong (hWnd, GWL_STYLE) & WS_CHILD)
+ hWnd = GetParent (hWnd);
+ }
+ hTargetWnd = hWnd;
+ if (n_open++ == FALSE)
+ {
+ memset (&global, 0, sizeof (global));
+ global.padStat[0] = 0xffff;
+ global.padStat[1] = 0xffff;
+ LoadConfig();
+ PADsetMode (0, 0);
+ PADsetMode (1, 0);
+ }
+ return 0;
+}
+
+void CALLBACK PADclose (void)
+{
+ if (--n_open == 0)
+ ReleaseDirectInput();
+}
+
+u32 CALLBACK PADquery (void)
+{
+ return 3;
+}
+
+u8 CALLBACK PADstartPoll (int pad)
+{
+ global.curPad = pad -1;
+ global.curByte = 0;
+ return 0xff;
+}
+
+static const u8 cmd40[8] =
+{
+ 0xff, 0x5a, 0x00, 0x00, 0x02, 0x00, 0x00, 0x5a
+};
+static const u8 cmd41[8] =
+{
+ 0xff, 0x5a, 0xff, 0xff, 0x03, 0x00, 0x00, 0x5a,
+};
+static const u8 cmd44[8] =
+{
+ 0xff, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+static const u8 cmd45[8] =
+{
+ 0xff, 0x5a, 0x03, 0x02, 0x01, 0x02, 0x01, 0x00,
+};
+static const u8 cmd46[8] =
+{
+ 0xff, 0x5a, 0x00, 0x00, 0x01, 0x02, 0x00, 0x0a,
+};
+static const u8 cmd47[8] =
+{
+ 0xff, 0x5a, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00,
+};
+static const u8 cmd4c[8] =
+{
+ 0xff, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+};
+static const u8 cmd4d[8] =
+{
+ 0xff, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+};
+static const u8 cmd4f[8] =
+{
+ 0xff, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5a,
+};
+
+static u8 get_analog (const int key)
+{
+ const int pad = ((key & 0xf00) / 0x100);
+ const int pos = ((key & 0x0ff) /2);
+// return (u8)(((int*)&global.JoyState[pad].lX)[pos] + 128);
+ u8 r = (u8)(((int*)&global.JoyState[pad].lX)[pos] + 128);
+ if (r == 128) r = 127; // FIXME: ???
+ return r;
+}
+
+static u8 get_pressure (const DWORD now, const DWORD press)
+{
+ /*if (press == 0)
+ return 0;
+ return (u8)((now - press > 2550) ? 255 : (now - press) / 10);*/
+ return 255;
+}
+
+u8 CALLBACK PADpoll (u8 value)
+{
+ const int pad = global.curPad;
+ const int cur = global.curByte;
+ static u8 buf[20];
+
+ if (!global.config.dualshock)
+ {
+ value = 0x42;
+ }
+
+ if (cur == 0)
+ {
+ global.curByte++;
+ global.curCmd = value;
+ switch (value)
+ {
+ case 0x40:
+ global.cmdLen = sizeof (cmd40);
+ memcpy (buf, cmd40, sizeof (cmd40));
+ return 0xf3;
+ case 0x41:
+ global.cmdLen = sizeof (cmd41);
+ memcpy (buf, cmd41, sizeof (cmd41));
+ return 0xf3;
+ case 0x42:
+ case 0x43:
+ if (value == 0x42) UpdateState (pad);
+ global.cmdLen = 2 + 2 * (global.padID[pad] & 0x0f);
+ buf[1] = global.padModeC[pad] ? 0x00 : 0x5a;
+ *(u16*)&buf[2] = global.padStat[pad];
+ if (value == 0x43 && global.padModeE[pad])
+ {
+ buf[4] = 0;
+ buf[5] = 0;
+ buf[6] = 0;
+ buf[7] = 0;
+ return 0xf3;
+ }
+ else
+ {
+ buf[ 4] = get_analog (global.config.keys[pad][19]);
+ buf[ 5] = get_analog (global.config.keys[pad][20]);
+ buf[ 6] = get_analog (global.config.keys[pad][17]);
+ buf[ 7] = get_analog (global.config.keys[pad][18]);
+
+ if (global.padID[pad] == 0x79)
+ {
+ const DWORD now = GetTickCount();
+ buf[ 8] = get_pressure (now, global.padPress[pad][2]);
+ buf[ 9] = get_pressure (now, global.padPress[pad][0]);
+ buf[10] = get_pressure (now, global.padPress[pad][3]);
+ buf[11] = get_pressure (now, global.padPress[pad][1]);
+ buf[12] = get_pressure (now, global.padPress[pad][11]);
+ buf[13] = get_pressure (now, global.padPress[pad][10]);
+ buf[14] = get_pressure (now, global.padPress[pad][9]);
+ buf[15] = get_pressure (now, global.padPress[pad][8]);
+ buf[16] = get_pressure (now, global.padPress[pad][13]);
+ buf[17] = get_pressure (now, global.padPress[pad][12]);
+ buf[18] = get_pressure (now, global.padPress[pad][15]);
+ buf[19] = get_pressure (now, global.padPress[pad][14]);
+ }
+ return (u8)global.padID[pad];
+ }
+ break;
+ case 0x44:
+ global.cmdLen = sizeof (cmd44);
+ memcpy (buf, cmd44, sizeof (cmd44));
+ return 0xf3;
+ case 0x45:
+ global.cmdLen = sizeof (cmd45);
+ memcpy (buf, cmd45, sizeof (cmd45));
+ buf[4] = (u8)global.padMode1[pad];
+ return 0xf3;
+ case 0x46:
+ global.cmdLen = sizeof (cmd46);
+ memcpy (buf, cmd46, sizeof (cmd46));
+ return 0xf3;
+ case 0x47:
+ global.cmdLen = sizeof (cmd47);
+ memcpy (buf, cmd47, sizeof (cmd47));
+ return 0xf3;
+ case 0x4c:
+ global.cmdLen = sizeof (cmd4c);
+ memcpy (buf, cmd4c, sizeof (cmd4c));
+ return 0xf3;
+ case 0x4d:
+ global.cmdLen = sizeof (cmd4d);
+ memcpy (buf, cmd4d, sizeof (cmd4d));
+ return 0xf3;
+ case 0x4f:
+ global.padID[pad] = 0x79;
+ global.padMode2[pad] = 1;
+ global.cmdLen = sizeof (cmd4f);
+ memcpy (buf, cmd4f, sizeof (cmd4f));
+ return 0xf3;
+ }
+ }
+ switch (global.curCmd)
+ {
+ case 0x42:
+ if (global.config.dualshock)
+ {
+ if (cur == global.padVib0[pad])
+ {
+ global.padVibF[pad][0] = value;
+
+ if (gpuVisualVibration != NULL && (global.padVibF[pad][0] || global.padVibF[pad][1]))
+ gpuVisualVibration(global.padVibF[pad][0], global.padVibF[pad][1]);
+ }
+
+ if (cur == global.padVib1[pad])
+ {
+ global.padVibF[pad][1] = value;
+
+ if (gpuVisualVibration != NULL && (global.padVibF[pad][0] || global.padVibF[pad][1]))
+ gpuVisualVibration(global.padVibF[pad][0], global.padVibF[pad][1]);
+ }
+ }
+ break;
+ case 0x43:
+ if (cur == 2)
+ {
+ global.padModeE[pad] = value;
+ global.padModeC[pad] = 0;
+ }
+ break;
+ case 0x44:
+ if (cur == 2)
+ PADsetMode (pad, value);
+ if (cur == 3)
+ global.padModeF[pad] = (value == 3);
+ break;
+ case 0x46:
+ if (cur == 2)
+ {
+ switch(value)
+ {
+ case 0:
+ buf[5] = 0x02;
+ buf[6] = 0x00;
+ buf[7] = 0x0A;
+ break;
+ case 1:
+ buf[5] = 0x01;
+ buf[6] = 0x01;
+ buf[7] = 0x14;
+ break;
+ }
+ }
+ break;
+ case 0x4c:
+ if (cur == 2)
+ {
+ static const u8 buf5[] = { 0x04, 0x07, 0x02, 0x05 };
+ buf[5] = buf5[value & 3];
+ }
+ break;
+ case 0x4d:
+ if (cur >= 2)
+ {
+ if (cur == global.padVib0[pad])
+ buf[cur] = 0x00;
+ if (cur == global.padVib1[pad])
+ buf[cur] = 0x01;
+ if (value == 0x00)
+ {
+ global.padVib0[pad] = cur;
+ if ((global.padID[pad] & 0x0f) < (cur - 1) / 2)
+ global.padID[pad] = (global.padID[pad] & 0xf0) + (cur - 1) / 2;
+ }
+ else if (value == 0x01)
+ {
+ global.padVib1[pad] = cur;
+ if ((global.padID[pad] & 0x0f) < (cur - 1) / 2)
+ global.padID[pad] = (global.padID[pad] & 0xf0) + (cur - 1) / 2;
+ }
+ }
+ break;
+ }
+ if (cur >= global.cmdLen)
+ return 0;
+ return buf[global.curByte++];
+}
+
+typedef struct
+{
+ unsigned char controllerType;
+ unsigned short buttonStatus;
+ unsigned char rightJoyX, rightJoyY, leftJoyX, leftJoyY;
+ unsigned char moveX, moveY;
+ unsigned char reserved[91];
+} PadDataS;
+
+long PADreadPort1 (PadDataS* pads)
+{
+ memset (pads, 0, sizeof (PadDataS));
+ if ((global.padID[0] & 0xf0) == 0x40)
+ pads->controllerType = 4;
+ else
+ pads->controllerType = 7;
+ pads->buttonStatus = global.padStat[0];
+ pads->leftJoyX = get_analog (global.config.keys[0][17]);
+ pads->leftJoyY = get_analog (global.config.keys[0][18]);
+ pads->rightJoyX = get_analog (global.config.keys[0][19]);
+ pads->rightJoyY = get_analog (global.config.keys[0][20]);
+ pads->moveX = 0;
+ pads->moveY = 0;
+ return 0;
+}
+
+long PADreadPort2 (PadDataS* pads)
+{
+ memset (pads, 0, sizeof (PadDataS));
+ if ((global.padID[1] & 0xf0) == 0x40)
+ pads->controllerType = 4;
+ else
+ pads->controllerType = 7;
+ pads->buttonStatus = global.padStat[1];
+ pads->leftJoyX = get_analog (global.config.keys[1][17]);
+ pads->leftJoyY = get_analog (global.config.keys[1][18]);
+ pads->rightJoyX = get_analog (global.config.keys[1][19]);
+ pads->rightJoyY = get_analog (global.config.keys[1][20]);
+ pads->moveX = 0;
+ pads->moveY = 0;
+ return 0;
+}
+
+keyEvent* CALLBACK PADkeyEvent (void)
+{
+ static keyEvent ev;
+ static u8 state[2][256];
+ if (n_open)
+ {
+ memcpy (state[0], state[1], sizeof (state[0]));
+ GetKeyState (state[1]);
+ for (int cnt = 0; cnt < 256; cnt++)
+ {
+ if (~state[0][cnt] & state[1][cnt] & 0x80)
+ {
+ ev.event = (state[1][cnt] & 0x80) ? 1 : 2;
+ ev.key = MapVirtualKey (cnt, 1);
+ return &ev;
+ }
+ }
+ }
+ return NULL;
+}
+
+void CALLBACK PADconfigure (void)
+{
+ if (n_open == 0)
+ {
+ memset (&global, 0, sizeof (global));
+ if (DialogBox (hInstance, MAKEINTRESOURCE (IDD_DIALOG1), GetActiveWindow(), (DLGPROC)ConfigureDlgProc) == IDOK)
+ SaveConfig();
+ ReleaseDirectInput();
+ }
+}
+
+void CALLBACK PADabout (void)
+{
+ MessageBox (0, "Copyright (C) 2004-2005 Nagisa", "SSSPSX PAD plugin", 0);
+}
+
+s32 CALLBACK PADtest (void)
+{
+ return 0;
+}
+
+void CALLBACK PADregisterVibration(void (CALLBACK *callback)(unsigned long, unsigned long)) {
+ gpuVisualVibration = callback;
+}
+
+//#ifdef _WIN64
+BOOL APIENTRY DllMain(HMODULE hInst, DWORD dwReason, LPVOID lpReserved)
+{
+ hInstance = hInst;
+ return TRUE;
+}
+//#else
+BOOL APIENTRY EntryPoint (HMODULE hInst, DWORD dwReason, LPVOID lpReserved)
+{
+ hInstance = hInst;
+ return TRUE;
+}
+//#endif
diff --git a/win32/plugins/PadSSSPSX/PadSSSPSX.def b/win32/plugins/PadSSSPSX/PadSSSPSX.def new file mode 100644 index 00000000..dd5e4ed2 --- /dev/null +++ b/win32/plugins/PadSSSPSX/PadSSSPSX.def @@ -0,0 +1,23 @@ +LIBRARY "PadSSSPSX"
+
+EXPORTS
+ PSEgetLibType @1
+ PSEgetLibName @2
+ PSEgetLibVersion @3
+ PS2EgetLibType @4
+ PS2EgetLibName @5
+ PS2EgetLibVersion2 @6
+ PADinit @7
+ PADshutdown @8
+ PADopen @9
+ PADclose @10
+ PADkeyEvent @11
+ PADstartPoll @12
+ PADpoll @13
+ PADreadPort1 @14
+ PADreadPort2 @15
+ PADquery @16
+ PADconfigure @17
+ PADtest @18
+ PADabout @19
+ PADregisterVibration @20
\ No newline at end of file diff --git a/win32/plugins/PadSSSPSX/PadSSSPSX.dsp b/win32/plugins/PadSSSPSX/PadSSSPSX.dsp new file mode 100644 index 00000000..b550a060 --- /dev/null +++ b/win32/plugins/PadSSSPSX/PadSSSPSX.dsp @@ -0,0 +1,123 @@ +# Microsoft Developer Studio Project File - Name="SSSPSXpad" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=SSSPSXpad - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "PadSSSPSX.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "PadSSSPSX.mak" CFG="SSSPSXpad - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "SSSPSXpad - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "SSSPSXpad - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "SSSPSXpad - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SSSPSXPAD_EXPORTS" /YX /FD /c
+# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SSSPSXPAD_EXPORTS" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x804 /d "NDEBUG"
+# ADD RSC /l 0x804 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib dinput8.lib dxguid.lib /nologo /dll /machine:I386
+
+!ELSEIF "$(CFG)" == "SSSPSXpad - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SSSPSXPAD_EXPORTS" /YX /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SSSPSXPAD_EXPORTS" /YX /FD /GZ /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0x804 /d "_DEBUG"
+# ADD RSC /l 0x804 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib dinput8.lib dxguid.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "SSSPSXpad - Win32 Release"
+# Name "SSSPSXpad - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=.\PadSSSPSX.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\PadSSSPSX.def
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=.\PadSSSPSX.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\PadSSSPSXres.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# Begin Source File
+
+SOURCE=.\PadSSSPSX.rc
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/win32/plugins/PadSSSPSX/PadSSSPSX.h b/win32/plugins/PadSSSPSX/PadSSSPSX.h new file mode 100644 index 00000000..b985e71a --- /dev/null +++ b/win32/plugins/PadSSSPSX/PadSSSPSX.h @@ -0,0 +1,46 @@ +/* PADwin
+ * Copyright (C) 2002-2004 PADwin Team
+ *
+ * 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; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * 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 for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __PAD_H__
+#define __PAD_H__
+
+#include "PadSSSPSXres.h"
+
+typedef signed char s8;
+typedef signed short s16;
+typedef signed int s32;
+typedef __int64 s64;
+
+typedef unsigned char u8;
+typedef unsigned short u16;
+typedef unsigned int u32;
+typedef unsigned __int64 u64;
+
+typedef struct
+{
+ u32 key;
+ u32 event;
+} keyEvent;
+
+typedef struct
+{
+ u32 keys[2][21];
+ u32 dualshock;
+} Config;
+
+#endif
diff --git a/win32/plugins/PadSSSPSX/PadSSSPSX.rc b/win32/plugins/PadSSSPSX/PadSSSPSX.rc new file mode 100644 index 00000000..ea32139a --- /dev/null +++ b/win32/plugins/PadSSSPSX/PadSSSPSX.rc @@ -0,0 +1,120 @@ +#include "PadSSSPSXres.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+
+#include "afxres.h"
+
+#undef APSTUDIO_READONLY_SYMBOLS
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)
+#ifdef _WIN32
+//LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
+//#pragma code_page(932)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+
+1 TEXTINCLUDE
+BEGIN
+ "PadSSSPSXres.h\0"
+END
+
+2 TEXTINCLUDE
+BEGIN
+ "#include ""afxres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif
+
+IDD_DIALOG1 DIALOGEX 0, 0, 442, 239
+STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION
+CAPTION "PAD Settings"
+FONT 8, "MS Shell Dlg", 400, 0, 0x1
+BEGIN
+ CONTROL "",IDC_TABC,"SysTabControl32",0x0,6,6,432,210
+ PUSHBUTTON "L2",IDC_BL2,54,24,72,12,NOT WS_TABSTOP
+ EDITTEXT IDC_EL2,54,36,72,12,ES_READONLY | NOT WS_TABSTOP
+ PUSHBUTTON "L1",IDC_BL1,54,48,72,12,NOT WS_TABSTOP
+ EDITTEXT IDC_EL1,54,60,72,12,ES_READONLY | NOT WS_TABSTOP
+ PUSHBUTTON "Up",IDC_BUP,54,78,72,12,NOT WS_TABSTOP
+ EDITTEXT IDC_EUP,54,90,72,12,ES_READONLY | NOT WS_TABSTOP
+ PUSHBUTTON "Left",IDC_BLEFT,12,102,72,12,NOT WS_TABSTOP
+ EDITTEXT IDC_ELEFT,12,114,72,12,ES_READONLY | NOT WS_TABSTOP
+ PUSHBUTTON "Right",IDC_BRIGHT,96,102,72,12,NOT WS_TABSTOP
+ EDITTEXT IDC_ERIGHT,96,114,72,12,ES_READONLY | NOT WS_TABSTOP
+ PUSHBUTTON "Down",IDC_BDOWN,54,126,72,12,NOT WS_TABSTOP
+ EDITTEXT IDC_EDOWN,54,138,72,12,ES_READONLY | NOT WS_TABSTOP
+ PUSHBUTTON "Select",IDC_BSELECT,144,36,72,12,NOT WS_TABSTOP,
+ WS_EX_TRANSPARENT
+ EDITTEXT IDC_ESELECT,144,48,72,12,ES_READONLY | NOT WS_TABSTOP,
+ WS_EX_TRANSPARENT
+ PUSHBUTTON "Start",IDC_BSTART,228,36,72,12,NOT WS_TABSTOP,
+ WS_EX_TRANSPARENT
+ EDITTEXT IDC_ESTART,228,48,72,12,ES_READONLY | NOT WS_TABSTOP,
+ WS_EX_TRANSPARENT
+ PUSHBUTTON "Analog",IDC_BMODE,186,66,72,12,NOT WS_TABSTOP,
+ WS_EX_TRANSPARENT
+ EDITTEXT IDC_EMODE,186,78,72,12,ES_READONLY | NOT WS_TABSTOP,
+ WS_EX_TRANSPARENT
+ PUSHBUTTON "R2",IDC_BR2,318,24,72,12,NOT WS_TABSTOP
+ EDITTEXT IDC_ER2,318,36,72,12,ES_AUTOHSCROLL | ES_READONLY | NOT
+ WS_TABSTOP
+ PUSHBUTTON "R1",IDC_BR1,318,48,72,12,NOT WS_TABSTOP
+ EDITTEXT IDC_ER1,318,60,72,12,ES_AUTOHSCROLL | ES_READONLY | NOT
+ WS_TABSTOP
+ PUSHBUTTON "Triangle",IDC_BTRIANGLE,318,78,72,12,NOT WS_TABSTOP
+ EDITTEXT IDC_ETRIANGLE,318,90,72,12,ES_AUTOHSCROLL | ES_READONLY |
+ NOT WS_TABSTOP
+ PUSHBUTTON "Square",IDC_BSQUARE,276,102,72,12,NOT WS_TABSTOP
+ EDITTEXT IDC_ESQUARE,276,114,72,12,ES_AUTOHSCROLL | ES_READONLY |
+ NOT WS_TABSTOP
+ PUSHBUTTON "Circle",IDC_BCIRCLE,360,102,72,12,NOT WS_TABSTOP
+ EDITTEXT IDC_ECIRCLE,360,114,72,12,ES_AUTOHSCROLL | ES_READONLY |
+ NOT WS_TABSTOP
+ PUSHBUTTON "Cross",IDC_BCROSS,318,126,72,12,NOT WS_TABSTOP
+ EDITTEXT IDC_ECROSS,318,138,72,12,ES_AUTOHSCROLL | ES_READONLY |
+ NOT WS_TABSTOP
+ PUSHBUTTON "L3",IDC_BL3,144,132,72,12,NOT WS_TABSTOP
+ EDITTEXT IDC_EL3,144,144,72,12,ES_READONLY | NOT WS_TABSTOP
+ PUSHBUTTON "LX",IDC_BLAX,144,162,72,12,NOT WS_TABSTOP
+ EDITTEXT IDC_ELAX,144,174,72,12,ES_READONLY | NOT WS_TABSTOP
+ PUSHBUTTON "LY",IDC_BLAY,144,186,72,12,NOT WS_TABSTOP
+ EDITTEXT IDC_ELAY,144,198,72,12,ES_READONLY | NOT WS_TABSTOP
+ PUSHBUTTON "R3",IDC_BR3,228,132,72,12,NOT WS_TABSTOP
+ EDITTEXT IDC_ER3,228,144,72,12,ES_READONLY | NOT WS_TABSTOP
+ PUSHBUTTON "RX",IDC_BRAX,228,162,72,12,NOT WS_TABSTOP
+ EDITTEXT IDC_ERAX,228,174,72,12,ES_READONLY | NOT WS_TABSTOP
+ PUSHBUTTON "RY",IDC_BRAY,228,186,72,12,NOT WS_TABSTOP
+ EDITTEXT IDC_ERAY,228,198,72,12,ES_READONLY | NOT WS_TABSTOP
+ PUSHBUTTON "OK",IDOK,330,222,48,12,NOT WS_TABSTOP
+ PUSHBUTTON "Cancel",IDCANCEL,390,222,48,12,NOT WS_TABSTOP
+ CTEXT "",IDC_STATIC,318,174,108,30,0,WS_EX_STATICEDGE
+ CONTROL "DUALSHOCK2 INSIDE", IDC_DS2, "Button",
+ BS_AUTOCHECKBOX | WS_TABSTOP,331,186,84,8
+END
+
+#ifdef APSTUDIO_INVOKED
+GUIDELINES DESIGNINFO
+BEGIN
+ IDD_DIALOG1, DIALOG
+ BEGIN
+ RIGHTMARGIN, 432
+ BOTTOMMARGIN, 233
+ END
+END
+#endif
+
+#endif
+
+
+#ifndef APSTUDIO_INVOKED
+
+#endif
+
diff --git a/win32/plugins/PadSSSPSX/PadSSSPSXres.h b/win32/plugins/PadSSSPSX/PadSSSPSXres.h new file mode 100644 index 00000000..0cf7a354 --- /dev/null +++ b/win32/plugins/PadSSSPSX/PadSSSPSXres.h @@ -0,0 +1,60 @@ +//{{NO_DEPENDENCIES}}
+// Microsoft Visual C++ generated include file.
+// Used by PadSSSPSX.rc
+//
+#define IDD_DIALOG1 100
+#define IDC_BSELECT 1000
+#define IDC_BL3 1001
+#define IDC_BR3 1002
+#define IDC_BSTART 1003
+#define IDC_BUP 1004
+#define IDC_BRIGHT 1005
+#define IDC_BDOWN 1006
+#define IDC_BLEFT 1007
+#define IDC_BL2 1008
+#define IDC_BR2 1009
+#define IDC_BL1 1010
+#define IDC_BR1 1011
+#define IDC_BTRIANGLE 1012
+#define IDC_BCIRCLE 1013
+#define IDC_BCROSS 1014
+#define IDC_BSQUARE 1015
+#define IDC_BMODE 1016
+#define IDC_BLAX 1017
+#define IDC_BLAY 1018
+#define IDC_BRAX 1019
+#define IDC_BRAY 1020
+#define IDC_ESELECT 1030
+#define IDC_EL3 1031
+#define IDC_ER3 1032
+#define IDC_ESTART 1033
+#define IDC_EUP 1034
+#define IDC_ERIGHT 1035
+#define IDC_EDOWN 1036
+#define IDC_ELEFT 1037
+#define IDC_EL2 1038
+#define IDC_ER2 1039
+#define IDC_EL1 1040
+#define IDC_ER1 1041
+#define IDC_ETRIANGLE 1042
+#define IDC_ECIRCLE 1043
+#define IDC_ECROSS 1044
+#define IDC_ESQUARE 1045
+#define IDC_EMODE 1046
+#define IDC_ELAX 1047
+#define IDC_ELAY 1048
+#define IDC_ERAX 1049
+#define IDC_ERAY 1050
+#define IDC_TABC 1060
+#define IDC_DS2 1070
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE 101
+#define _APS_NEXT_COMMAND_VALUE 40001
+#define _APS_NEXT_CONTROL_VALUE 1061
+#define _APS_NEXT_SYMED_VALUE 101
+#endif
+#endif
diff --git a/win32/plugins/PadSSSPSX/readmewip.txt b/win32/plugins/PadSSSPSX/readmewip.txt new file mode 100644 index 00000000..14443362 --- /dev/null +++ b/win32/plugins/PadSSSPSX/readmewip.txt @@ -0,0 +1,48 @@ +SSSPSX Pad - An Open Source Pad plugin for PSX and PS2 emulators
+Author: Nagisa
+Homepage: http://www.asahi-net.or.jp/~bz7t-skmt/
+
+Overview:
+-Small executable program
+-Source code under 1000 step,20kb binary
+-Open Source,under the GPL Licence
+
+
+Features:
+
+For PS1 emulators
+- Force feedback support (PCSX only)
+ Delete the following PCSX sorce code.
+ File: sio.c Line: 138
+@---------------------
+@if (buf[parp] == 0x41) {
+@@switch (value) {
+@@@case 0x43:
+@@@@buf[1] = 0x43;
+@@@@break;
+@@@case 0x45:
+@@@@buf[1] = 0xf3;
+@@@@break;
+@@}
+@}
+@---------------------
+
+For PCSX2
+-Force feedback support (maybe)
+-PADKeyEvent API support
+-Using DirectInput 9 (game controller and keyboard)
+
+Thanks to:
+http://www.hm5.aitai.ne.jp/~takuya/index.html#ds2_analisys for the valuable info
+PCSX2 team for the PadWinKeyb source code
+bositman for some report
+
+Version History:
+v1.0: -Initial Release
+v1.1: -Changed to DirectInput 9
+v1.2: -PADKeyEvent API support added
+v1.3: -DirectInput collision problem fixed
+v1.4: -Added timeout on settings dialog.If the countdown ends, the key will be set to "NONE".
+ -Changed "ESC" key action on settings dialog.If you press the "ESC" key, the setting will keep the previous one.
+ -Fixed silly bug. (dont ask me about it).
+v1.5: -Fixed 0x4D packet.
|
