mirror of https://github.com/PCSX2/pcsx2.git
Plugins: Remove PADSSSPSX and xpad.
This commit is contained in:
parent
7982e3abfe
commit
3296ade983
|
@ -97,7 +97,6 @@ oprofile_data/
|
||||||
!/pcsx2/gui/Resources/EmbeddedImage.h
|
!/pcsx2/gui/Resources/EmbeddedImage.h
|
||||||
/plugins/GSdx/Template
|
/plugins/GSdx/Template
|
||||||
/plugins/USBqemu/Win32/bin
|
/plugins/USBqemu/Win32/bin
|
||||||
/plugins/xpad/Template
|
|
||||||
/plugins/zerospu2/Windows/dsound51.cpp
|
/plugins/zerospu2/Windows/dsound51.cpp
|
||||||
/tools/bin
|
/tools/bin
|
||||||
/tools/GSDumpGUI/bin
|
/tools/GSDumpGUI/bin
|
||||||
|
|
|
@ -305,8 +305,4 @@ if(GTKn_FOUND)
|
||||||
set(USBnull TRUE)
|
set(USBnull TRUE)
|
||||||
endif()
|
endif()
|
||||||
#---------------------------------------
|
#---------------------------------------
|
||||||
|
|
||||||
# [TODO] Write CMakeLists.txt for these plugins. (or not ;) )
|
|
||||||
set(SSSPSXPAD FALSE)
|
|
||||||
set(xpad FALSE)
|
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
|
|
|
@ -91,7 +91,7 @@ remove_not_yet_free_plugin()
|
||||||
{
|
{
|
||||||
echo "Remove non free plugins"
|
echo "Remove non free plugins"
|
||||||
# remove also deprecated plugins
|
# remove also deprecated plugins
|
||||||
for plugin in CDVDiso SSSPSXPAD USBqemu xpad zerogs zerospu2
|
for plugin in USBqemu zerogs zerospu2
|
||||||
do
|
do
|
||||||
rm -fr $LOCAL_REPO/plugins/$plugin
|
rm -fr $LOCAL_REPO/plugins/$plugin
|
||||||
done
|
done
|
||||||
|
|
|
@ -49,9 +49,7 @@ files=`git diff --name-only --diff-filter=ACMRT $diff_range -- $PWD | \
|
||||||
grep -v "${1}plugins/dev9ghzdrk/" | \
|
grep -v "${1}plugins/dev9ghzdrk/" | \
|
||||||
grep -v "${1}plugins/GSdx/" | \
|
grep -v "${1}plugins/GSdx/" | \
|
||||||
grep -v "${1}plugins/GSdx_legacy/" | \
|
grep -v "${1}plugins/GSdx_legacy/" | \
|
||||||
grep -v "${1}plugins/SSSPSXPAD/" | \
|
|
||||||
grep -v "${1}plugins/USBqemu/" | \
|
grep -v "${1}plugins/USBqemu/" | \
|
||||||
grep -v "${1}plugins/xpad/" | \
|
|
||||||
grep -v "${1}plugins/zerogs/" | \
|
grep -v "${1}plugins/zerogs/" | \
|
||||||
grep -v "${1}plugins/zerospu2/" | \
|
grep -v "${1}plugins/zerospu2/" | \
|
||||||
grep -v "${1}plugins/zzogl-pg/" | \
|
grep -v "${1}plugins/zzogl-pg/" | \
|
||||||
|
|
|
@ -42,12 +42,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "utilities", "common\build\U
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libjpeg", "3rdparty\libjpeg\libjpeg.vcxproj", "{BC236261-77E8-4567-8D09-45CD02965EB6}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libjpeg", "3rdparty\libjpeg\libjpeg.vcxproj", "{BC236261-77E8-4567-8D09-45CD02965EB6}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PadSSSPSX", "plugins\SSSPSXPAD\PadSSSPSX.vcxproj", "{6C8D28E4-447E-4856-BD9E-6B8F5E7C58C9}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZZOgl", "plugins\zzogl-pg\opengl\Win32\zerogsogl.vcxproj", "{2D4E85B2-F47F-4D65-B091-701E5C031DAC}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZZOgl", "plugins\zzogl-pg\opengl\Win32\zerogsogl.vcxproj", "{2D4E85B2-F47F-4D65-B091-701E5C031DAC}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xpad", "plugins\xpad\xpad.vcxproj", "{6F3C4136-5801-4EBC-AC6E-37DF6FAB150A}"
|
|
||||||
EndProject
|
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "USBqemu", "plugins\USBqemu\Win32\USBqemu.vcxproj", "{E613DA9F-41B4-4613-9911-E418EF5533BC}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "USBqemu", "plugins\USBqemu\Win32\USBqemu.vcxproj", "{E613DA9F-41B4-4613-9911-E418EF5533BC}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wx30_base", "3rdparty\wxwidgets3.0\build\msw\wx30_base.vcxproj", "{3FCC50C2-81E9-5DB2-B8D8-2129427568B1}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wx30_base", "3rdparty\wxwidgets3.0\build\msw\wx30_base.vcxproj", "{3FCC50C2-81E9-5DB2-B8D8-2129427568B1}"
|
||||||
|
@ -127,15 +123,6 @@ Global
|
||||||
{BC236261-77E8-4567-8D09-45CD02965EB6}.Release|Win32.ActiveCfg = Release|Win32
|
{BC236261-77E8-4567-8D09-45CD02965EB6}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{BC236261-77E8-4567-8D09-45CD02965EB6}.Release|Win32.Build.0 = Release|Win32
|
{BC236261-77E8-4567-8D09-45CD02965EB6}.Release|Win32.Build.0 = Release|Win32
|
||||||
{BC236261-77E8-4567-8D09-45CD02965EB6}.Release|x64.ActiveCfg = Release|Win32
|
{BC236261-77E8-4567-8D09-45CD02965EB6}.Release|x64.ActiveCfg = Release|Win32
|
||||||
{6C8D28E4-447E-4856-BD9E-6B8F5E7C58C9}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{6C8D28E4-447E-4856-BD9E-6B8F5E7C58C9}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{6C8D28E4-447E-4856-BD9E-6B8F5E7C58C9}.Debug|x64.ActiveCfg = Debug|Win32
|
|
||||||
{6C8D28E4-447E-4856-BD9E-6B8F5E7C58C9}.Devel|Win32.ActiveCfg = Release|Win32
|
|
||||||
{6C8D28E4-447E-4856-BD9E-6B8F5E7C58C9}.Devel|Win32.Build.0 = Release|Win32
|
|
||||||
{6C8D28E4-447E-4856-BD9E-6B8F5E7C58C9}.Devel|x64.ActiveCfg = Release|Win32
|
|
||||||
{6C8D28E4-447E-4856-BD9E-6B8F5E7C58C9}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{6C8D28E4-447E-4856-BD9E-6B8F5E7C58C9}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{6C8D28E4-447E-4856-BD9E-6B8F5E7C58C9}.Release|x64.ActiveCfg = Release|Win32
|
|
||||||
{2D4E85B2-F47F-4D65-B091-701E5C031DAC}.Debug|Win32.ActiveCfg = Debug|Win32
|
{2D4E85B2-F47F-4D65-B091-701E5C031DAC}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
{2D4E85B2-F47F-4D65-B091-701E5C031DAC}.Debug|Win32.Build.0 = Debug|Win32
|
{2D4E85B2-F47F-4D65-B091-701E5C031DAC}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{2D4E85B2-F47F-4D65-B091-701E5C031DAC}.Debug|x64.ActiveCfg = Debug|Win32
|
{2D4E85B2-F47F-4D65-B091-701E5C031DAC}.Debug|x64.ActiveCfg = Debug|Win32
|
||||||
|
@ -214,18 +201,6 @@ Global
|
||||||
{E613DA9F-41B4-4613-9911-E418EF5533BC}.Release|Win32.Build.0 = Release|Win32
|
{E613DA9F-41B4-4613-9911-E418EF5533BC}.Release|Win32.Build.0 = Release|Win32
|
||||||
{E613DA9F-41B4-4613-9911-E418EF5533BC}.Release|x64.ActiveCfg = Release|x64
|
{E613DA9F-41B4-4613-9911-E418EF5533BC}.Release|x64.ActiveCfg = Release|x64
|
||||||
{E613DA9F-41B4-4613-9911-E418EF5533BC}.Release|x64.Build.0 = Release|x64
|
{E613DA9F-41B4-4613-9911-E418EF5533BC}.Release|x64.Build.0 = Release|x64
|
||||||
{6F3C4136-5801-4EBC-AC6E-37DF6FAB150A}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{6F3C4136-5801-4EBC-AC6E-37DF6FAB150A}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{6F3C4136-5801-4EBC-AC6E-37DF6FAB150A}.Debug|x64.ActiveCfg = Debug|x64
|
|
||||||
{6F3C4136-5801-4EBC-AC6E-37DF6FAB150A}.Debug|x64.Build.0 = Debug|x64
|
|
||||||
{6F3C4136-5801-4EBC-AC6E-37DF6FAB150A}.Devel|Win32.ActiveCfg = Release|Win32
|
|
||||||
{6F3C4136-5801-4EBC-AC6E-37DF6FAB150A}.Devel|Win32.Build.0 = Release|Win32
|
|
||||||
{6F3C4136-5801-4EBC-AC6E-37DF6FAB150A}.Devel|x64.ActiveCfg = Release|x64
|
|
||||||
{6F3C4136-5801-4EBC-AC6E-37DF6FAB150A}.Devel|x64.Build.0 = Release|x64
|
|
||||||
{6F3C4136-5801-4EBC-AC6E-37DF6FAB150A}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{6F3C4136-5801-4EBC-AC6E-37DF6FAB150A}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
{6F3C4136-5801-4EBC-AC6E-37DF6FAB150A}.Release|x64.ActiveCfg = Release|x64
|
|
||||||
{6F3C4136-5801-4EBC-AC6E-37DF6FAB150A}.Release|x64.Build.0 = Release|x64
|
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
@ -239,7 +214,6 @@ Global
|
||||||
{7F059854-568D-4E08-9D00-1E78E203E4DC} = {703FD00B-D7A0-41E3-BD03-CEC86B385DAF}
|
{7F059854-568D-4E08-9D00-1E78E203E4DC} = {703FD00B-D7A0-41E3-BD03-CEC86B385DAF}
|
||||||
{4639972E-424E-4E13-8B07-CA403C481346} = {88F517F9-CE1C-4005-9BDF-4481FEB55053}
|
{4639972E-424E-4E13-8B07-CA403C481346} = {88F517F9-CE1C-4005-9BDF-4481FEB55053}
|
||||||
{BC236261-77E8-4567-8D09-45CD02965EB6} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
|
{BC236261-77E8-4567-8D09-45CD02965EB6} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
|
||||||
{6C8D28E4-447E-4856-BD9E-6B8F5E7C58C9} = {703FD00B-D7A0-41E3-BD03-CEC86B385DAF}
|
|
||||||
{2D4E85B2-F47F-4D65-B091-701E5C031DAC} = {703FD00B-D7A0-41E3-BD03-CEC86B385DAF}
|
{2D4E85B2-F47F-4D65-B091-701E5C031DAC} = {703FD00B-D7A0-41E3-BD03-CEC86B385DAF}
|
||||||
{3FCC50C2-81E9-5DB2-B8D8-2129427568B1} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
|
{3FCC50C2-81E9-5DB2-B8D8-2129427568B1} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
|
||||||
{01F4CE10-2CFB-41A8-B41F-E54337868A1D} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
|
{01F4CE10-2CFB-41A8-B41F-E54337868A1D} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
|
||||||
|
@ -247,6 +221,5 @@ Global
|
||||||
{D6973076-9317-4EF2-A0B8-B7A18AC0713E} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
|
{D6973076-9317-4EF2-A0B8-B7A18AC0713E} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
|
||||||
{0FAE817D-9A32-4830-857E-81DA57246E16} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
|
{0FAE817D-9A32-4830-857E-81DA57246E16} = {78EBE642-7A4D-4EA7-86BE-5639C6646C38}
|
||||||
{E613DA9F-41B4-4613-9911-E418EF5533BC} = {703FD00B-D7A0-41E3-BD03-CEC86B385DAF}
|
{E613DA9F-41B4-4613-9911-E418EF5533BC} = {703FD00B-D7A0-41E3-BD03-CEC86B385DAF}
|
||||||
{6F3C4136-5801-4EBC-AC6E-37DF6FAB150A} = {703FD00B-D7A0-41E3-BD03-CEC86B385DAF}
|
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
EndGlobal
|
EndGlobal
|
||||||
|
|
|
@ -62,18 +62,10 @@ if(EXISTS "${CMAKE_SOURCE_DIR}/plugins/spu2-x" AND spu2-x)
|
||||||
add_subdirectory(spu2-x/src)
|
add_subdirectory(spu2-x/src)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
#if(EXISTS "${CMAKE_SOURCE_DIR}/plugins/SSSPSXPAD" AND SSSPSXPAD)
|
|
||||||
# add_subdirectory(SSSPSXPAD)
|
|
||||||
#endif()
|
|
||||||
|
|
||||||
if(EXISTS "${CMAKE_SOURCE_DIR}/plugins/USBnull" AND USBnull)
|
if(EXISTS "${CMAKE_SOURCE_DIR}/plugins/USBnull" AND USBnull)
|
||||||
add_subdirectory(USBnull)
|
add_subdirectory(USBnull)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
#if(EXISTS "${CMAKE_SOURCE_DIR}/plugins/xpad" AND xpad)
|
|
||||||
# add_subdirectory(xpad)
|
|
||||||
#endif()
|
|
||||||
|
|
||||||
#if(EXISTS "${CMAKE_SOURCE_DIR}/plugins/zerogs" AND zerogs)
|
#if(EXISTS "${CMAKE_SOURCE_DIR}/plugins/zerogs" AND zerogs)
|
||||||
# add_subdirectory(zerogs)
|
# add_subdirectory(zerogs)
|
||||||
#endif()
|
#endif()
|
||||||
|
@ -82,10 +74,6 @@ if(EXISTS "${CMAKE_SOURCE_DIR}/plugins/zzogl-pg" AND zzogl)
|
||||||
add_subdirectory(zzogl-pg/opengl)
|
add_subdirectory(zzogl-pg/opengl)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(EXISTS "${CMAKE_SOURCE_DIR}/plugins/zeropad" AND zeropad)
|
|
||||||
add_subdirectory(zeropad)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(EXISTS "${CMAKE_SOURCE_DIR}/plugins/zerospu2" AND zerospu2)
|
if(EXISTS "${CMAKE_SOURCE_DIR}/plugins/zerospu2" AND zerospu2)
|
||||||
add_subdirectory(zerospu2)
|
add_subdirectory(zerospu2)
|
||||||
endif()
|
endif()
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,24 +0,0 @@
|
||||||
;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
|
|
||||||
;PADfreeze @20
|
|
||||||
PADsetSettingsDir @21
|
|
|
@ -1,41 +0,0 @@
|
||||||
/* 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __PAD_H__
|
|
||||||
#define __PAD_H__
|
|
||||||
|
|
||||||
#include "PadSSSPSXres.h"
|
|
||||||
#include "PS2Edefs.h"
|
|
||||||
|
|
||||||
typedef __int8 s8;
|
|
||||||
typedef __int16 s16;
|
|
||||||
typedef __int32 s32;
|
|
||||||
typedef __int64 s64;
|
|
||||||
|
|
||||||
typedef unsigned __int8 u8;
|
|
||||||
typedef unsigned __int16 u16;
|
|
||||||
typedef unsigned __int32 u32;
|
|
||||||
typedef unsigned __int64 u64;
|
|
||||||
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
u32 keys[2][21];
|
|
||||||
} Config;
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,155 +0,0 @@
|
||||||
// Microsoft Visual C++ generated resource script.
|
|
||||||
//
|
|
||||||
#include "PadSSSPSXres.h"
|
|
||||||
|
|
||||||
#define APSTUDIO_READONLY_SYMBOLS
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// Generated from the TEXTINCLUDE 2 resource.
|
|
||||||
//
|
|
||||||
#define APSTUDIO_HIDDEN_SYMBOLS
|
|
||||||
#include "windows.h"
|
|
||||||
#undef APSTUDIO_HIDDEN_SYMBOLS
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
#undef APSTUDIO_READONLY_SYMBOLS
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// “ú–{Œê resources
|
|
||||||
|
|
||||||
#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
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// TEXTINCLUDE
|
|
||||||
//
|
|
||||||
|
|
||||||
1 TEXTINCLUDE
|
|
||||||
BEGIN
|
|
||||||
"PadSSSPSXres.h\0"
|
|
||||||
END
|
|
||||||
|
|
||||||
2 TEXTINCLUDE
|
|
||||||
BEGIN
|
|
||||||
"#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
|
|
||||||
"#include ""windows.h""\r\n"
|
|
||||||
"#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
|
|
||||||
"\0"
|
|
||||||
END
|
|
||||||
|
|
||||||
3 TEXTINCLUDE
|
|
||||||
BEGIN
|
|
||||||
"\r\n"
|
|
||||||
"\0"
|
|
||||||
END
|
|
||||||
|
|
||||||
#endif // APSTUDIO_INVOKED
|
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// Dialog
|
|
||||||
//
|
|
||||||
|
|
||||||
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
|
|
||||||
LTEXT "DUALSHOCK2 INSIDE",IDC_STATIC,331,186,84,8
|
|
||||||
END
|
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// DESIGNINFO
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifdef APSTUDIO_INVOKED
|
|
||||||
GUIDELINES DESIGNINFO
|
|
||||||
BEGIN
|
|
||||||
IDD_DIALOG1, DIALOG
|
|
||||||
BEGIN
|
|
||||||
RIGHTMARGIN, 432
|
|
||||||
BOTTOMMARGIN, 233
|
|
||||||
END
|
|
||||||
END
|
|
||||||
#endif // APSTUDIO_INVOKED
|
|
||||||
|
|
||||||
#endif // “ú–{Œê resources
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef APSTUDIO_INVOKED
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// Generated from the TEXTINCLUDE 3 resource.
|
|
||||||
//
|
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
#endif // not APSTUDIO_INVOKED
|
|
||||||
|
|
|
@ -1,106 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
|
||||||
<ProjectConfiguration Include="Debug|Win32">
|
|
||||||
<Configuration>Debug</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
|
||||||
<Configuration>Release</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
</ItemGroup>
|
|
||||||
<PropertyGroup Label="Globals">
|
|
||||||
<ProjectName>PadSSSPSX</ProjectName>
|
|
||||||
<ProjectGuid>{6C8D28E4-447E-4856-BD9E-6B8F5E7C58C9}</ProjectGuid>
|
|
||||||
<RootNamespace>PadSSSPSX</RootNamespace>
|
|
||||||
<Keyword>Win32Proj</Keyword>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
|
||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
||||||
<CharacterSet>MultiByte</CharacterSet>
|
|
||||||
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
||||||
<ImportGroup Label="ExtensionSettings">
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
|
||||||
<Import Project="..\..\common\vsprops\plugin_svnroot.props" />
|
|
||||||
<Import Project="ProjectRootDir.props" />
|
|
||||||
<Import Project="..\..\common\vsprops\BaseProperties.props" />
|
|
||||||
<Import Project="..\..\common\vsprops\CodeGen_Release.props" />
|
|
||||||
</ImportGroup>
|
|
||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
|
||||||
<Import Project="..\..\common\vsprops\plugin_svnroot.props" />
|
|
||||||
<Import Project="ProjectRootDir.props" />
|
|
||||||
<Import Project="..\..\common\vsprops\BaseProperties.props" />
|
|
||||||
<Import Project="..\..\common\vsprops\IncrementalLinking.props" />
|
|
||||||
</ImportGroup>
|
|
||||||
<PropertyGroup Label="UserMacros" />
|
|
||||||
<PropertyGroup>
|
|
||||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
|
||||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
|
||||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
|
||||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
|
|
||||||
<CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
|
|
||||||
<CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
|
||||||
<CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
|
||||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<AdditionalDependencies>user32.lib;kernel32.lib;dxguid.lib;dinput8.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
<OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
|
|
||||||
<ModuleDefinitionFile>PadSSSPSX.def</ModuleDefinitionFile>
|
|
||||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
|
||||||
<TargetMachine>MachineX86</TargetMachine>
|
|
||||||
<AdditionalLibraryDirectories>$(DXSDK_DIR)Lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
|
||||||
<ClCompile>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
|
||||||
<OmitFramePointers>true</OmitFramePointers>
|
|
||||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
|
||||||
<PrecompiledHeader>
|
|
||||||
</PrecompiledHeader>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<AdditionalDependencies>dxguid.lib;dinput8.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
<ModuleDefinitionFile>PadSSSPSX.def</ModuleDefinitionFile>
|
|
||||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
|
||||||
<TargetMachine>MachineX86</TargetMachine>
|
|
||||||
<AdditionalLibraryDirectories>$(DXSDK_DIR)Lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClCompile Include="PadSSSPSX.cpp" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClInclude Include="PadSSSPSX.h" />
|
|
||||||
<ClInclude Include="PadSSSPSXres.h" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="PadSSSPSX.def" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ResourceCompile Include="PadSSSPSX.rc" />
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
||||||
<ImportGroup Label="ExtensionTargets">
|
|
||||||
</ImportGroup>
|
|
||||||
</Project>
|
|
|
@ -1,40 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<ItemGroup>
|
|
||||||
<Filter Include="Source Files">
|
|
||||||
<UniqueIdentifier>{ce637888-9001-4763-a6af-296bbee81a3f}</UniqueIdentifier>
|
|
||||||
<Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm</Extensions>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Header Files">
|
|
||||||
<UniqueIdentifier>{72abb2dd-cb01-4a07-88f7-2b9e453ce969}</UniqueIdentifier>
|
|
||||||
<Extensions>h;hpp;hxx;hm;inl;inc</Extensions>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Resource Files">
|
|
||||||
<UniqueIdentifier>{47ea9bc9-9ac0-4637-9586-e20852ea0960}</UniqueIdentifier>
|
|
||||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
|
|
||||||
</Filter>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClCompile Include="PadSSSPSX.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClInclude Include="PadSSSPSX.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="PadSSSPSXres.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="PadSSSPSX.def">
|
|
||||||
<Filter>Resource Files</Filter>
|
|
||||||
</None>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ResourceCompile Include="PadSSSPSX.rc">
|
|
||||||
<Filter>Resource Files</Filter>
|
|
||||||
</ResourceCompile>
|
|
||||||
</ItemGroup>
|
|
||||||
</Project>
|
|
|
@ -1,64 +0,0 @@
|
||||||
//{{NO_DEPENDENCIES}}
|
|
||||||
// Microsoft Visual C++ generated include file.
|
|
||||||
// Used by PadSSSPSX.rc
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifndef IDC_STATIC
|
|
||||||
#define IDC_STATIC -1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#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
|
|
||||||
|
|
||||||
// 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
|
|
|
@ -1,16 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<PropertyGroup Label="UserMacros">
|
|
||||||
<ProjectRootDir>$(ProjectDir).</ProjectRootDir>
|
|
||||||
<SvnRootDir>$(ProjectRootDir)\..\..</SvnRootDir>
|
|
||||||
<SvnCommonDir>$(SvnRootDir)\common</SvnCommonDir>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup>
|
|
||||||
<_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<BuildMacro Include="SvnRootDir">
|
|
||||||
<Value>$(SvnRootDir)</Value>
|
|
||||||
</BuildMacro>
|
|
||||||
</ItemGroup>
|
|
||||||
</Project>
|
|
|
@ -1 +0,0 @@
|
||||||
see http://www.gnu.org/copyleft/gpl.html
|
|
|
@ -1,53 +0,0 @@
|
||||||
SSSPSX Pad - An Open Source Pad plugin for PSX and PS2 emulators
|
|
||||||
Author: Nagisa
|
|
||||||
Homepage: (defunct)
|
|
||||||
|
|
||||||
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.
|
|
||||||
v1.6: -I don't remember.
|
|
||||||
v1.7: -Changed to DirectInput9.
|
|
||||||
-Fixed PADreadPort1/PADreadPort2 API.
|
|
||||||
-Fixed the confusion about PAD1/PAD2 settings.
|
|
||||||
-Added x64 DLL.
|
|
|
@ -1,14 +0,0 @@
|
||||||
//
|
|
||||||
// xpad.RC2 - resources Microsoft Visual C++ does not edit directly
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifdef APSTUDIO_INVOKED
|
|
||||||
#error this file is not editable by Microsoft Visual C++
|
|
||||||
#endif //APSTUDIO_INVOKED
|
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Add manually edited resources here...
|
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
|
@ -1,19 +0,0 @@
|
||||||
//{{NO_DEPENDENCIES}}
|
|
||||||
// Microsoft Visual C++ generated include file.
|
|
||||||
// Used by xpad.rc
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifndef IDC_STATIC
|
|
||||||
#define IDC_STATIC -1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Next default values for new objects
|
|
||||||
//
|
|
||||||
#ifdef APSTUDIO_INVOKED
|
|
||||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
|
||||||
#define _APS_NEXT_RESOURCE_VALUE 10000
|
|
||||||
#define _APS_NEXT_COMMAND_VALUE 32768
|
|
||||||
#define _APS_NEXT_CONTROL_VALUE 2000
|
|
||||||
#define _APS_NEXT_SYMED_VALUE 5000
|
|
||||||
#endif
|
|
||||||
#endif
|
|
|
@ -1,8 +0,0 @@
|
||||||
// stdafx.cpp : source file that includes just the standard includes
|
|
||||||
// xpad.pch will be the pre-compiled header
|
|
||||||
// stdafx.obj will contain the pre-compiled type information
|
|
||||||
|
|
||||||
#include "stdafx.h"
|
|
||||||
|
|
||||||
// TODO: reference any additional headers you need in STDAFX.H
|
|
||||||
// and not in this file
|
|
|
@ -1,52 +0,0 @@
|
||||||
// stdafx.h : include file for standard system include files,
|
|
||||||
// or project specific include files that are used frequently, but
|
|
||||||
// are changed infrequently
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#define WIN32_LEAN_AND_MEAN
|
|
||||||
|
|
||||||
#define _WIN32_WINNT 0x0600
|
|
||||||
|
|
||||||
#include <windows.h>
|
|
||||||
#include <commctrl.h>
|
|
||||||
#include <commdlg.h>
|
|
||||||
#include <shellapi.h>
|
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
#include <time.h>
|
|
||||||
|
|
||||||
#include <vector>
|
|
||||||
#include <list>
|
|
||||||
|
|
||||||
using namespace std;
|
|
||||||
|
|
||||||
// syntactic sugar
|
|
||||||
|
|
||||||
// put these into vc9/common7/ide/usertype.dat to have them highlighted
|
|
||||||
|
|
||||||
typedef unsigned char uint8;
|
|
||||||
typedef signed char int8;
|
|
||||||
typedef unsigned short uint16;
|
|
||||||
typedef signed short int16;
|
|
||||||
typedef unsigned int uint32;
|
|
||||||
typedef signed int int32;
|
|
||||||
typedef unsigned long long uint64;
|
|
||||||
typedef signed long long int64;
|
|
||||||
|
|
||||||
#define countof(a) (sizeof(a) / sizeof(a[0]))
|
|
||||||
|
|
||||||
#define EXPORT_C extern "C" void __stdcall
|
|
||||||
#define EXPORT_C_(type) extern "C" type __stdcall
|
|
||||||
|
|
||||||
#define ALIGN_STACK(n) __declspec(align(n)) int __dummy;
|
|
||||||
|
|
||||||
#ifndef RESTRICT
|
|
||||||
#ifdef __INTEL_COMPILER
|
|
||||||
#define RESTRICT restrict
|
|
||||||
#elif _MSC_VER >= 1400 // TODO: gcc
|
|
||||||
#define RESTRICT __restrict
|
|
||||||
#else
|
|
||||||
#define RESTRICT
|
|
||||||
#endif
|
|
||||||
#endif
|
|
|
@ -1,26 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<PropertyGroup Label="UserMacros">
|
|
||||||
<ProjectRootDir>$(ProjectDir).</ProjectRootDir>
|
|
||||||
<SvnRootDir>$(ProjectRootDir)\..\..</SvnRootDir>
|
|
||||||
<SvnCommonDir>$(SvnRootDir)\common</SvnCommonDir>
|
|
||||||
<PcsxSubsection>plugins</PcsxSubsection>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup>
|
|
||||||
<_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<BuildMacro Include="ProjectRootDir">
|
|
||||||
<Value>$(ProjectRootDir)</Value>
|
|
||||||
</BuildMacro>
|
|
||||||
<BuildMacro Include="SvnRootDir">
|
|
||||||
<Value>$(SvnRootDir)</Value>
|
|
||||||
</BuildMacro>
|
|
||||||
<BuildMacro Include="SvnCommonDir">
|
|
||||||
<Value>$(SvnCommonDir)</Value>
|
|
||||||
</BuildMacro>
|
|
||||||
<BuildMacro Include="PcsxSubsection">
|
|
||||||
<Value>$(PcsxSubsection)</Value>
|
|
||||||
</BuildMacro>
|
|
||||||
</ItemGroup>
|
|
||||||
</Project>
|
|
|
@ -1,23 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<PropertyGroup>
|
|
||||||
<_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion>
|
|
||||||
<OutDir>$(PlatformName)\$(Configuration)\</OutDir>
|
|
||||||
<IntDir>$(PlatformName)\$(Configuration)\</IntDir>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemDefinitionGroup>
|
|
||||||
<ClCompile>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
|
||||||
<WarningLevel>Level4</WarningLevel>
|
|
||||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
|
||||||
<DisableSpecificWarnings>4995;4324;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<OutputFile>..\..\bin\plugins\$(ProjectName).dll</OutputFile>
|
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
|
||||||
<SubSystem>Windows</SubSystem>
|
|
||||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
</Project>
|
|
|
@ -1,16 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<PropertyGroup>
|
|
||||||
<_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion>
|
|
||||||
<LinkIncremental>true</LinkIncremental>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemDefinitionGroup>
|
|
||||||
<ClCompile>
|
|
||||||
<Optimization>Disabled</Optimization>
|
|
||||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<MinimalRebuild>true</MinimalRebuild>
|
|
||||||
<BasicRuntimeChecks>StackFrameRuntimeCheck</BasicRuntimeChecks>
|
|
||||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
|
||||||
</ClCompile>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
</Project>
|
|
|
@ -1,25 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<PropertyGroup>
|
|
||||||
<_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion>
|
|
||||||
<LinkIncremental>false</LinkIncremental>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemDefinitionGroup>
|
|
||||||
<ClCompile>
|
|
||||||
<Optimization>MaxSpeed</Optimization>
|
|
||||||
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
|
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
||||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
|
||||||
<OmitFramePointers>true</OmitFramePointers>
|
|
||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
|
||||||
<PreprocessorDefinitions>NDEBUG;_SECURE_SCL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
||||||
<StringPooling>true</StringPooling>
|
|
||||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
|
||||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
</Project>
|
|
|
@ -1,773 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (C) 2007 Gabest
|
|
||||||
* http://www.gabest.org
|
|
||||||
*
|
|
||||||
* 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, 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 GNU Make; see the file COPYING. If not, write to
|
|
||||||
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA USA.
|
|
||||||
* http://www.gnu.org/copyleft/gpl.html
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "stdafx.h"
|
|
||||||
#include "xpad.h"
|
|
||||||
#include <VersionHelpers.h>
|
|
||||||
|
|
||||||
#undef _WIN32_WINNT
|
|
||||||
#define _WIN32_WINNT 0x0602 // Required for XInputEnable definition
|
|
||||||
#include <xinput.h>
|
|
||||||
|
|
||||||
static HMODULE s_hModule;
|
|
||||||
static HMODULE s_xInputDll;
|
|
||||||
static decltype(&XInputEnable) pXInputEnable;
|
|
||||||
static decltype(&XInputGetState) pXInputGetState;
|
|
||||||
static decltype(&XInputSetState) pXInputSetState;
|
|
||||||
|
|
||||||
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
|
|
||||||
{
|
|
||||||
switch(ul_reason_for_call)
|
|
||||||
{
|
|
||||||
case DLL_PROCESS_ATTACH:
|
|
||||||
s_hModule = hModule;
|
|
||||||
case DLL_THREAD_ATTACH:
|
|
||||||
case DLL_THREAD_DETACH:
|
|
||||||
case DLL_PROCESS_DETACH:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
|
|
||||||
static struct
|
|
||||||
{
|
|
||||||
static const UINT32 revision = 0;
|
|
||||||
static const UINT32 build = 2;
|
|
||||||
static const UINT32 minor = 0;
|
|
||||||
} s_ver;
|
|
||||||
|
|
||||||
static bool s_ps2 = false;
|
|
||||||
|
|
||||||
EXPORT_C_(UINT32) PSEgetLibType()
|
|
||||||
{
|
|
||||||
return PSE_LT_PAD;
|
|
||||||
}
|
|
||||||
|
|
||||||
EXPORT_C_(char*) PSEgetLibName()
|
|
||||||
{
|
|
||||||
return "XPad";
|
|
||||||
}
|
|
||||||
|
|
||||||
EXPORT_C_(UINT32) PSEgetLibVersion()
|
|
||||||
{
|
|
||||||
return (s_ver.minor << 16) | (s_ver.revision << 8) | s_ver.build;
|
|
||||||
}
|
|
||||||
|
|
||||||
EXPORT_C_(UINT32) PS2EgetLibType()
|
|
||||||
{
|
|
||||||
return PS2E_LT_PAD;
|
|
||||||
}
|
|
||||||
|
|
||||||
EXPORT_C_(char*) PS2EgetLibName()
|
|
||||||
{
|
|
||||||
return "XPad";
|
|
||||||
}
|
|
||||||
|
|
||||||
EXPORT_C_(UINT32) PS2EgetLibVersion2(UINT32 type)
|
|
||||||
{
|
|
||||||
s_ps2 = true;
|
|
||||||
|
|
||||||
return (s_ver.build << 0) | (s_ver.revision << 8) | (PS2E_PAD_VERSION << 16) | (s_ver.minor << 24);
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
|
|
||||||
struct XPadButton
|
|
||||||
{
|
|
||||||
enum
|
|
||||||
{
|
|
||||||
Select = 0x0001,
|
|
||||||
L3 = 0x0002,
|
|
||||||
R3 = 0x0004,
|
|
||||||
Start = 0x0008,
|
|
||||||
Up = 0x0010,
|
|
||||||
Right = 0x0020,
|
|
||||||
Down = 0x0040,
|
|
||||||
Left = 0x0080,
|
|
||||||
L2 = 0x0100,
|
|
||||||
R2 = 0x0200,
|
|
||||||
L1 = 0x0400,
|
|
||||||
R1 = 0x0800,
|
|
||||||
Triangle = 0x1000,
|
|
||||||
Circle = 0x2000,
|
|
||||||
Cross = 0x4000,
|
|
||||||
Square = 0x8000,
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
class XInput
|
|
||||||
{
|
|
||||||
int m_pad;
|
|
||||||
bool m_connected;
|
|
||||||
XINPUT_STATE m_state;
|
|
||||||
XINPUT_VIBRATION m_vibration;
|
|
||||||
clock_t m_lastpoll;
|
|
||||||
|
|
||||||
public:
|
|
||||||
XInput(int pad)
|
|
||||||
: m_pad(pad)
|
|
||||||
, m_connected(false)
|
|
||||||
, m_lastpoll(0)
|
|
||||||
{
|
|
||||||
memset(&m_vibration, 0, sizeof(m_vibration));
|
|
||||||
}
|
|
||||||
|
|
||||||
bool GetState(XINPUT_STATE& state)
|
|
||||||
{
|
|
||||||
clock_t now = clock();
|
|
||||||
clock_t delay = m_connected ? 16 : 1000; // poll once per frame (16 ms is about 60 fps)
|
|
||||||
|
|
||||||
if(now > m_lastpoll + delay)
|
|
||||||
{
|
|
||||||
memset(&m_state, 0, sizeof(m_state));
|
|
||||||
|
|
||||||
m_connected = pXInputGetState(m_pad, &m_state) == S_OK; // ERROR_DEVICE_NOT_CONNECTED is not an error, SUCCEEDED(...) won't work here
|
|
||||||
|
|
||||||
m_lastpoll = now;
|
|
||||||
}
|
|
||||||
|
|
||||||
memcpy(&state, &m_state, sizeof(state));
|
|
||||||
|
|
||||||
return m_connected;
|
|
||||||
}
|
|
||||||
|
|
||||||
void SetState(XINPUT_VIBRATION& vibration)
|
|
||||||
{
|
|
||||||
if(m_vibration.wLeftMotorSpeed != vibration.wLeftMotorSpeed || m_vibration.wRightMotorSpeed != vibration.wRightMotorSpeed)
|
|
||||||
{
|
|
||||||
pXInputSetState(m_pad, &vibration);
|
|
||||||
|
|
||||||
m_vibration = vibration;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool IsConnected()
|
|
||||||
{
|
|
||||||
return m_connected;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
class XPad
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
int m_pad;
|
|
||||||
XInput m_xinput;
|
|
||||||
bool m_connected;
|
|
||||||
bool m_ds2native;
|
|
||||||
bool m_analog;
|
|
||||||
bool m_locked;
|
|
||||||
bool m_vibration;
|
|
||||||
BYTE m_small;
|
|
||||||
BYTE m_large;
|
|
||||||
WORD m_buttons;
|
|
||||||
struct {BYTE x, y;} m_left;
|
|
||||||
struct {BYTE x, y;} m_right;
|
|
||||||
|
|
||||||
void SetButton(WORD buttons, WORD mask, int flag)
|
|
||||||
{
|
|
||||||
if(buttons & mask)
|
|
||||||
{
|
|
||||||
m_buttons &= ~flag;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
m_buttons |= flag;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void SetAnalog(short src, BYTE& dst, short deadzone)
|
|
||||||
{
|
|
||||||
if(abs(src) < deadzone) src = 0;
|
|
||||||
|
|
||||||
dst = (src >> 8) + 128;
|
|
||||||
}
|
|
||||||
|
|
||||||
public:
|
|
||||||
XPad(int pad)
|
|
||||||
: m_xinput(pad)
|
|
||||||
, m_ds2native(false)
|
|
||||||
, m_analog(!s_ps2) // defaults to analog off for ps2
|
|
||||||
, m_locked(false)
|
|
||||||
, m_vibration(true)
|
|
||||||
, m_small(0)
|
|
||||||
, m_large(0)
|
|
||||||
, m_buttons(0xffff)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual ~XPad()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
BYTE GetId()
|
|
||||||
{
|
|
||||||
return m_analog ? (m_ds2native ? 0x79 : 0x73) : 0x41;
|
|
||||||
}
|
|
||||||
|
|
||||||
BYTE ReadData(int index)
|
|
||||||
{
|
|
||||||
if(index == 0)
|
|
||||||
{
|
|
||||||
XINPUT_STATE state;
|
|
||||||
|
|
||||||
if(m_xinput.GetState(state))
|
|
||||||
{
|
|
||||||
SetButton(state.Gamepad.wButtons, XINPUT_GAMEPAD_BACK, XPadButton::Select);
|
|
||||||
SetButton(state.Gamepad.wButtons, XINPUT_GAMEPAD_LEFT_THUMB, XPadButton::L3);
|
|
||||||
SetButton(state.Gamepad.wButtons, XINPUT_GAMEPAD_RIGHT_THUMB, XPadButton::R3);
|
|
||||||
SetButton(state.Gamepad.wButtons, XINPUT_GAMEPAD_START, XPadButton::Start);
|
|
||||||
SetButton(state.Gamepad.wButtons, XINPUT_GAMEPAD_DPAD_UP, XPadButton::Up);
|
|
||||||
SetButton(state.Gamepad.wButtons, XINPUT_GAMEPAD_DPAD_RIGHT, XPadButton::Right);
|
|
||||||
SetButton(state.Gamepad.wButtons, XINPUT_GAMEPAD_DPAD_DOWN, XPadButton::Down);
|
|
||||||
SetButton(state.Gamepad.wButtons, XINPUT_GAMEPAD_DPAD_LEFT, XPadButton::Left);
|
|
||||||
SetButton(state.Gamepad.bLeftTrigger, 0xe0, XPadButton::L2);
|
|
||||||
SetButton(state.Gamepad.bRightTrigger, 0xe0, XPadButton::R2);
|
|
||||||
SetButton(state.Gamepad.wButtons, XINPUT_GAMEPAD_LEFT_SHOULDER, XPadButton::L1);
|
|
||||||
SetButton(state.Gamepad.wButtons, XINPUT_GAMEPAD_RIGHT_SHOULDER, XPadButton::R1);
|
|
||||||
SetButton(state.Gamepad.wButtons, XINPUT_GAMEPAD_Y, XPadButton::Triangle);
|
|
||||||
SetButton(state.Gamepad.wButtons, XINPUT_GAMEPAD_B, XPadButton::Circle);
|
|
||||||
SetButton(state.Gamepad.wButtons, XINPUT_GAMEPAD_A, XPadButton::Cross);
|
|
||||||
SetButton(state.Gamepad.wButtons, XINPUT_GAMEPAD_X, XPadButton::Square);
|
|
||||||
|
|
||||||
SetAnalog(state.Gamepad.sThumbLX, m_left.x, XINPUT_GAMEPAD_LEFT_THUMB_DEADZONE);
|
|
||||||
SetAnalog(~state.Gamepad.sThumbLY, m_left.y, XINPUT_GAMEPAD_LEFT_THUMB_DEADZONE);
|
|
||||||
SetAnalog(state.Gamepad.sThumbRX, m_right.x, XINPUT_GAMEPAD_RIGHT_THUMB_DEADZONE);
|
|
||||||
SetAnalog(~state.Gamepad.sThumbRY, m_right.y, XINPUT_GAMEPAD_RIGHT_THUMB_DEADZONE);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
m_buttons = 0xffff;
|
|
||||||
m_left.x = 128;
|
|
||||||
m_left.y = 128;
|
|
||||||
m_right.x = 128;
|
|
||||||
m_right.y = 128;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(index == 1)
|
|
||||||
{
|
|
||||||
if(m_xinput.IsConnected())
|
|
||||||
{
|
|
||||||
XINPUT_VIBRATION vibraton;
|
|
||||||
|
|
||||||
memset(&vibraton, 0, sizeof(vibraton));
|
|
||||||
|
|
||||||
if(m_vibration && (m_small || m_large))
|
|
||||||
{
|
|
||||||
vibraton.wLeftMotorSpeed = m_large << 8;
|
|
||||||
vibraton.wRightMotorSpeed = m_small << 8;
|
|
||||||
}
|
|
||||||
|
|
||||||
m_xinput.SetState(vibraton);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
switch(index)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
return (BYTE)(m_buttons & 0xff);
|
|
||||||
case 1:
|
|
||||||
return (BYTE)(m_buttons >> 8);
|
|
||||||
case 2:
|
|
||||||
return m_right.x;
|
|
||||||
case 3:
|
|
||||||
return m_right.y;
|
|
||||||
case 4:
|
|
||||||
return m_left.x;
|
|
||||||
case 5:
|
|
||||||
return m_left.y;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0xff;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
static class XPadPlugin
|
|
||||||
{
|
|
||||||
vector<XPad*> m_pads;
|
|
||||||
XPad* m_pad;
|
|
||||||
int m_index;
|
|
||||||
bool m_cfgreaddata;
|
|
||||||
BYTE m_unknown1;
|
|
||||||
BYTE m_unknown3;
|
|
||||||
|
|
||||||
typedef BYTE (XPadPlugin::*CommandHandler)(int, BYTE);
|
|
||||||
|
|
||||||
CommandHandler m_handlers[256];
|
|
||||||
CommandHandler m_handler;
|
|
||||||
|
|
||||||
BYTE DS2Enabler(int index, BYTE value)
|
|
||||||
{
|
|
||||||
switch(index)
|
|
||||||
{
|
|
||||||
case 2:
|
|
||||||
return 0x02;
|
|
||||||
case 5:
|
|
||||||
return 'Z';
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
BYTE QueryDS2AnalogMode(int index, BYTE value)
|
|
||||||
{
|
|
||||||
if(m_pad->m_ds2native)
|
|
||||||
{
|
|
||||||
switch(index)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
return 0xff;
|
|
||||||
case 1:
|
|
||||||
return 0xff;
|
|
||||||
case 2:
|
|
||||||
return 3;
|
|
||||||
case 3:
|
|
||||||
return 0;
|
|
||||||
case 4:
|
|
||||||
return 0;
|
|
||||||
case 5:
|
|
||||||
return 'Z';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
BYTE ReadDataAndVibrate(int index, BYTE value)
|
|
||||||
{
|
|
||||||
switch(index)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
m_pad->m_small = (value&1) * 128;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
m_pad->m_large = value;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return m_pad->ReadData(index);
|
|
||||||
}
|
|
||||||
|
|
||||||
BYTE ConfigMode(int index, BYTE value)
|
|
||||||
{
|
|
||||||
switch(index)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
switch(value)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
m_cfgreaddata = false;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
m_cfgreaddata = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(m_cfgreaddata)
|
|
||||||
{
|
|
||||||
return m_pad->ReadData(index);
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
BYTE SetModeAndLock(int index, BYTE value)
|
|
||||||
{
|
|
||||||
switch(index)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
// if(!m_pad->m_locked) ?
|
|
||||||
m_pad->m_analog = value == 1;
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
m_pad->m_locked = value == 3;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
BYTE QueryModelAndMode(int index, BYTE value)
|
|
||||||
{
|
|
||||||
switch(index)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
return 3;
|
|
||||||
case 1:
|
|
||||||
return 2;
|
|
||||||
case 2:
|
|
||||||
return m_pad->m_analog ? 1 : 0;
|
|
||||||
case 3:
|
|
||||||
return m_pad->m_ds2native ? 1 : 2;
|
|
||||||
case 4:
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
BYTE QueryUnknown1(int index, BYTE value)
|
|
||||||
{
|
|
||||||
switch(index)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
m_unknown1 = value;
|
|
||||||
return 0;
|
|
||||||
case 1:
|
|
||||||
return 0;
|
|
||||||
case 2:
|
|
||||||
return 1;
|
|
||||||
case 3:
|
|
||||||
return m_unknown1 ? 0x01 : 0x02;
|
|
||||||
case 4:
|
|
||||||
return m_unknown1 ? 0x01 : 0x00;
|
|
||||||
case 5:
|
|
||||||
return m_unknown1 ? 0x14 : 0x0a;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
BYTE QueryUnknown2(int index, BYTE value)
|
|
||||||
{
|
|
||||||
switch(index)
|
|
||||||
{
|
|
||||||
case 2:
|
|
||||||
return 2;
|
|
||||||
case 4:
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
BYTE QueryUnknown3(int index, BYTE value)
|
|
||||||
{
|
|
||||||
switch(index)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
m_unknown3 = value;
|
|
||||||
return 0;
|
|
||||||
case 3:
|
|
||||||
return m_unknown3 ? 0x07 : 0x04;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
BYTE ConfigVibration(int index, BYTE value)
|
|
||||||
{
|
|
||||||
switch(index)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
return value;
|
|
||||||
case 1:
|
|
||||||
m_pad->m_vibration = value == 1;
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0xff;
|
|
||||||
}
|
|
||||||
|
|
||||||
BYTE SetDS2NativeMode(int index, BYTE value)
|
|
||||||
{
|
|
||||||
switch(index)
|
|
||||||
{
|
|
||||||
case 5:
|
|
||||||
m_pad->m_ds2native = true;
|
|
||||||
return 'Z';
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
BYTE m_cmd;
|
|
||||||
|
|
||||||
BYTE UnknownCommand(int index, BYTE value)
|
|
||||||
{
|
|
||||||
// printf("Unknown command %02x (%d, %02x)\n", m_cmd, index, value);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
XPadPlugin()
|
|
||||||
: m_pad(NULL)
|
|
||||||
, m_index(-1)
|
|
||||||
, m_cfgreaddata(false)
|
|
||||||
, m_handler(NULL)
|
|
||||||
{
|
|
||||||
m_pads.push_back(new XPad(0));
|
|
||||||
m_pads.push_back(new XPad(1));
|
|
||||||
|
|
||||||
for(int i = 0; i < countof(m_handlers); i++)
|
|
||||||
{
|
|
||||||
m_handlers[i] = &XPadPlugin::UnknownCommand;
|
|
||||||
}
|
|
||||||
|
|
||||||
m_handlers['@'] = &XPadPlugin::DS2Enabler;
|
|
||||||
m_handlers['A'] = &XPadPlugin::QueryDS2AnalogMode;
|
|
||||||
m_handlers['B'] = &XPadPlugin::ReadDataAndVibrate;
|
|
||||||
m_handlers['C'] = &XPadPlugin::ConfigMode;
|
|
||||||
m_handlers['D'] = &XPadPlugin::SetModeAndLock;
|
|
||||||
m_handlers['E'] = &XPadPlugin::QueryModelAndMode;
|
|
||||||
m_handlers['F'] = &XPadPlugin::QueryUnknown1;
|
|
||||||
m_handlers['G'] = &XPadPlugin::QueryUnknown2;
|
|
||||||
m_handlers['L'] = &XPadPlugin::QueryUnknown3;
|
|
||||||
m_handlers['M'] = &XPadPlugin::ConfigVibration;
|
|
||||||
m_handlers['O'] = &XPadPlugin::SetDS2NativeMode;
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual ~XPadPlugin()
|
|
||||||
{
|
|
||||||
for(vector<XPad*>::iterator i = m_pads.begin(); i != m_pads.end(); i++)
|
|
||||||
{
|
|
||||||
delete *i;
|
|
||||||
}
|
|
||||||
|
|
||||||
m_pads.clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
void StartPoll(int pad)
|
|
||||||
{
|
|
||||||
m_pad = m_pads[pad & 1];
|
|
||||||
m_index = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
BYTE Poll(BYTE value)
|
|
||||||
{
|
|
||||||
BYTE ret = 0;
|
|
||||||
|
|
||||||
switch(++m_index)
|
|
||||||
{
|
|
||||||
case 1:
|
|
||||||
m_cmd = value;
|
|
||||||
m_handler = m_handlers[value];
|
|
||||||
ret = (value == 'B' || value == 'C') ? m_pad->GetId() : 0xf3;
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
assert(value == 0);
|
|
||||||
ret = 'Z';
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
ret = (this->*m_handler)(m_index - 3, value);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
} s_padplugin;
|
|
||||||
|
|
||||||
//
|
|
||||||
|
|
||||||
static int s_nRefs = 0;
|
|
||||||
static HWND s_hWnd = NULL;
|
|
||||||
static WNDPROC s_GSWndProc = NULL;
|
|
||||||
|
|
||||||
static class CKeyEventList : protected list<KeyEvent>, protected CCritSec
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
void Push(UINT32 event, UINT32 key)
|
|
||||||
{
|
|
||||||
CAutoLock cAutoLock(this);
|
|
||||||
|
|
||||||
KeyEvent e;
|
|
||||||
|
|
||||||
e.event = event;
|
|
||||||
e.key = key;
|
|
||||||
|
|
||||||
push_back(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Pop(KeyEvent& e)
|
|
||||||
{
|
|
||||||
CAutoLock cAutoLock(this);
|
|
||||||
|
|
||||||
if(empty()) return false;
|
|
||||||
|
|
||||||
e = front();
|
|
||||||
|
|
||||||
pop_front();
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
} s_event;
|
|
||||||
|
|
||||||
LRESULT WINAPI PADwndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
|
||||||
{
|
|
||||||
switch(msg)
|
|
||||||
{
|
|
||||||
case WM_KEYDOWN:
|
|
||||||
if(lParam & 0x40000000) return TRUE;
|
|
||||||
s_event.Push(KEYPRESS, wParam);
|
|
||||||
return TRUE;
|
|
||||||
case WM_KEYUP:
|
|
||||||
s_event.Push(KEYRELEASE, wParam);
|
|
||||||
return TRUE;
|
|
||||||
case WM_DESTROY:
|
|
||||||
case WM_QUIT:
|
|
||||||
s_event.Push(KEYPRESS, VK_ESCAPE);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return CallWindowProc(s_GSWndProc, hWnd, msg, wParam, lParam);
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
|
|
||||||
EXPORT_C_(UINT32) PADinit(UINT32 flags)
|
|
||||||
{
|
|
||||||
// Use LoadLibrary and not LoadLibraryEx for XInput 1.3, since some
|
|
||||||
// Windows 7 systems have issues with it.
|
|
||||||
// TODO: Only load XInput 1.4 for Windows 8+? Or implement the SCP extension?
|
|
||||||
s_xInputDll = LoadLibrary(L"xinput1_3.dll");
|
|
||||||
if (s_xInputDll == nullptr && IsWindows8OrGreater())
|
|
||||||
{
|
|
||||||
s_xInputDll = LoadLibraryEx(L"XInput1_4.dll", nullptr, LOAD_LIBRARY_SEARCH_APPLICATION_DIR | LOAD_LIBRARY_SEARCH_SYSTEM32);
|
|
||||||
}
|
|
||||||
if (s_xInputDll == nullptr)
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!(pXInputEnable = reinterpret_cast<decltype(&XInputEnable)>(GetProcAddress(s_xInputDll, "XInputEnable")))
|
|
||||||
|| !(pXInputSetState = reinterpret_cast<decltype(&XInputSetState)>(GetProcAddress(s_xInputDll, "XInputSetState")))
|
|
||||||
|| !(pXInputGetState = reinterpret_cast<decltype(&XInputGetState)>(GetProcAddress(s_xInputDll, "XInputGetState"))))
|
|
||||||
{
|
|
||||||
FreeLibrary(s_xInputDll);
|
|
||||||
s_xInputDll = nullptr;
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
EXPORT_C PADshutdown()
|
|
||||||
{
|
|
||||||
if (s_xInputDll)
|
|
||||||
{
|
|
||||||
FreeLibrary(s_xInputDll);
|
|
||||||
s_xInputDll = nullptr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
EXPORT_C_(UINT32) PADopen(void* pDsp)
|
|
||||||
{
|
|
||||||
pXInputEnable(TRUE);
|
|
||||||
|
|
||||||
if(s_nRefs == 0)
|
|
||||||
{
|
|
||||||
if(s_ps2)
|
|
||||||
{
|
|
||||||
s_hWnd = *(HWND*)pDsp;
|
|
||||||
s_GSWndProc = (WNDPROC)SetWindowLongPtr(s_hWnd, GWLP_WNDPROC, (LPARAM)PADwndProc);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
s_nRefs++;
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
EXPORT_C PADclose()
|
|
||||||
{
|
|
||||||
s_nRefs--;
|
|
||||||
|
|
||||||
if(s_nRefs == 0)
|
|
||||||
{
|
|
||||||
if(s_ps2)
|
|
||||||
{
|
|
||||||
SetWindowLongPtr(s_hWnd, GWLP_WNDPROC, (LPARAM)s_GSWndProc);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pXInputEnable(FALSE);
|
|
||||||
}
|
|
||||||
|
|
||||||
EXPORT_C_(UINT32) CALLBACK PADquery()
|
|
||||||
{
|
|
||||||
return 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
EXPORT_C_(BYTE) PADstartPoll(int pad)
|
|
||||||
{
|
|
||||||
s_padplugin.StartPoll(pad - 1);
|
|
||||||
|
|
||||||
return 0xff;
|
|
||||||
}
|
|
||||||
|
|
||||||
EXPORT_C_(BYTE) PADpoll(BYTE value)
|
|
||||||
{
|
|
||||||
return s_padplugin.Poll(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
EXPORT_C_(UINT32) PADreadPort(int port, PadDataS* data)
|
|
||||||
{
|
|
||||||
PADstartPoll(port + 1);
|
|
||||||
|
|
||||||
data->type = PADpoll('B') >> 4;
|
|
||||||
PADpoll(0);
|
|
||||||
data->status = PADpoll(0) | (PADpoll(0) << 8);
|
|
||||||
data->rightJoyX = data->moveX = PADpoll(0);
|
|
||||||
data->rightJoyY = data->moveY = PADpoll(0);
|
|
||||||
data->leftJoyX = PADpoll(0);
|
|
||||||
data->leftJoyY = PADpoll(0);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
EXPORT_C_(UINT32) PADreadPort1(PadDataS* ppds)
|
|
||||||
{
|
|
||||||
return PADreadPort(0, ppds);
|
|
||||||
}
|
|
||||||
|
|
||||||
EXPORT_C_(UINT32) PADreadPort2(PadDataS* ppds)
|
|
||||||
{
|
|
||||||
return PADreadPort(1, ppds);
|
|
||||||
}
|
|
||||||
|
|
||||||
EXPORT_C_(KeyEvent*) PADkeyEvent()
|
|
||||||
{
|
|
||||||
static KeyEvent e;
|
|
||||||
|
|
||||||
return s_event.Pop(e) ? &e : NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
EXPORT_C PADconfigure()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
EXPORT_C PADabout()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
EXPORT_C_(UINT32) PADtest()
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,26 +0,0 @@
|
||||||
; xpad.def : Declares the module parameters for the DLL.
|
|
||||||
|
|
||||||
LIBRARY "xpad"
|
|
||||||
|
|
||||||
EXPORTS
|
|
||||||
; Explicit exports can go here
|
|
||||||
PSEgetLibType
|
|
||||||
PSEgetLibName
|
|
||||||
PSEgetLibVersion
|
|
||||||
PS2EgetLibType
|
|
||||||
PS2EgetLibName
|
|
||||||
PS2EgetLibVersion2
|
|
||||||
PADinit
|
|
||||||
PADshutdown
|
|
||||||
PADopen
|
|
||||||
PADclose
|
|
||||||
PADkeyEvent
|
|
||||||
PADstartPoll
|
|
||||||
PADpoll
|
|
||||||
PADquery
|
|
||||||
PADconfigure
|
|
||||||
PADtest
|
|
||||||
PADabout
|
|
||||||
PADreadPort
|
|
||||||
PADreadPort1
|
|
||||||
PADreadPort2
|
|
|
@ -1,105 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (C) 2007 Gabest
|
|
||||||
* http://www.gabest.org
|
|
||||||
*
|
|
||||||
* 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, 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 GNU Make; see the file COPYING. If not, write to
|
|
||||||
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA USA.
|
|
||||||
* http://www.gnu.org/copyleft/gpl.html
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
// ps1
|
|
||||||
|
|
||||||
#define PSE_LT_PAD 8
|
|
||||||
|
|
||||||
// MOUSE SCPH-1030
|
|
||||||
#define PSE_PAD_TYPE_MOUSE 1
|
|
||||||
// NEGCON - 16 button analog controller SLPH-00001
|
|
||||||
#define PSE_PAD_TYPE_NEGCON 2
|
|
||||||
// GUN CONTROLLER - gun controller SLPH-00014 from Konami
|
|
||||||
#define PSE_PAD_TYPE_GUN 3
|
|
||||||
// STANDARD PAD SCPH-1080, SCPH-1150
|
|
||||||
#define PSE_PAD_TYPE_STANDARD 4
|
|
||||||
// ANALOG JOYSTICK SCPH-1110
|
|
||||||
#define PSE_PAD_TYPE_ANALOGJOY 5
|
|
||||||
// GUNCON - gun controller SLPH-00034 from Namco
|
|
||||||
#define PSE_PAD_TYPE_GUNCON 6
|
|
||||||
// ANALOG CONTROLLER SCPH-1150
|
|
||||||
#define PSE_PAD_TYPE_ANALOGPAD 7
|
|
||||||
|
|
||||||
struct PadDataS
|
|
||||||
{
|
|
||||||
// controler type - fill it withe predefined values above
|
|
||||||
BYTE type;
|
|
||||||
|
|
||||||
// status of buttons - every controller fills this field
|
|
||||||
WORD status;
|
|
||||||
|
|
||||||
// for analog pad fill those next 4 bytes
|
|
||||||
// values are analog in range 0-255 where 128 is center position
|
|
||||||
BYTE rightJoyX, rightJoyY, leftJoyX, leftJoyY;
|
|
||||||
|
|
||||||
// for mouse fill those next 2 bytes
|
|
||||||
// values are in range -128 - 127
|
|
||||||
BYTE moveX, moveY;
|
|
||||||
|
|
||||||
BYTE reserved[91];
|
|
||||||
} ;
|
|
||||||
|
|
||||||
// ps2
|
|
||||||
|
|
||||||
#define PS2E_LT_PAD 0x02
|
|
||||||
#define PS2E_PAD_VERSION 0x0002
|
|
||||||
|
|
||||||
struct KeyEvent
|
|
||||||
{
|
|
||||||
UINT32 key;
|
|
||||||
UINT32 event;
|
|
||||||
};
|
|
||||||
|
|
||||||
#define KEYPRESS 1
|
|
||||||
#define KEYRELEASE 2
|
|
||||||
|
|
||||||
//
|
|
||||||
|
|
||||||
class CCritSec
|
|
||||||
{
|
|
||||||
CCritSec(const CCritSec &refCritSec);
|
|
||||||
CCritSec &operator=(const CCritSec &refCritSec) = delete;
|
|
||||||
|
|
||||||
CRITICAL_SECTION m_CritSec;
|
|
||||||
|
|
||||||
public:
|
|
||||||
CCritSec() {InitializeCriticalSection(&m_CritSec);};
|
|
||||||
~CCritSec() {DeleteCriticalSection(&m_CritSec);};
|
|
||||||
|
|
||||||
void Lock() {EnterCriticalSection(&m_CritSec);};
|
|
||||||
void Unlock() {LeaveCriticalSection(&m_CritSec);};
|
|
||||||
};
|
|
||||||
|
|
||||||
class CAutoLock
|
|
||||||
{
|
|
||||||
CAutoLock(const CAutoLock &refAutoLock);
|
|
||||||
CAutoLock &operator=(const CAutoLock &refAutoLock) = delete;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
CCritSec * m_pLock;
|
|
||||||
|
|
||||||
public:
|
|
||||||
CAutoLock(CCritSec * plock) {m_pLock = plock; m_pLock->Lock();};
|
|
||||||
~CAutoLock() {m_pLock->Unlock();};
|
|
||||||
};
|
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<ImportGroup Label="PropertySheets" />
|
|
||||||
<PropertyGroup Label="UserMacros" />
|
|
||||||
<PropertyGroup>
|
|
||||||
<_PropertySheetDisplayName>xpad</_PropertySheetDisplayName>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemDefinitionGroup>
|
|
||||||
<Link>
|
|
||||||
<AdditionalDependencies>xinput.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
|
||||||
</Link>
|
|
||||||
<PreBuildEvent>
|
|
||||||
<Command>"$(SolutionDir)common\vsprops\preBuild.cmd" "$(ProjectDir)."</Command>
|
|
||||||
</PreBuildEvent>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemGroup />
|
|
||||||
</Project>
|
|
|
@ -1,151 +0,0 @@
|
||||||
// Microsoft Visual C++ generated resource script.
|
|
||||||
//
|
|
||||||
#include "resource.h"
|
|
||||||
|
|
||||||
#define APSTUDIO_READONLY_SYMBOLS
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// Generated from the TEXTINCLUDE 2 resource.
|
|
||||||
//
|
|
||||||
#define APSTUDIO_HIDDEN_SYMBOLS
|
|
||||||
#include "windows.h"
|
|
||||||
#undef APSTUDIO_HIDDEN_SYMBOLS
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
#undef APSTUDIO_READONLY_SYMBOLS
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// Hungarian resources
|
|
||||||
|
|
||||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_HUN)
|
|
||||||
#ifdef _WIN32
|
|
||||||
LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT
|
|
||||||
#pragma code_page(1250)
|
|
||||||
#endif //_WIN32
|
|
||||||
|
|
||||||
#ifdef APSTUDIO_INVOKED
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// TEXTINCLUDE
|
|
||||||
//
|
|
||||||
|
|
||||||
1 TEXTINCLUDE
|
|
||||||
BEGIN
|
|
||||||
"resource.h\0"
|
|
||||||
END
|
|
||||||
|
|
||||||
2 TEXTINCLUDE
|
|
||||||
BEGIN
|
|
||||||
"#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
|
|
||||||
"#include ""windows.h""\r\n"
|
|
||||||
"#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
|
|
||||||
"\0"
|
|
||||||
END
|
|
||||||
|
|
||||||
3 TEXTINCLUDE
|
|
||||||
BEGIN
|
|
||||||
"#define _AFX_NO_SPLITTER_RESOURCES\r\n"
|
|
||||||
"#define _AFX_NO_OLE_RESOURCES\r\n"
|
|
||||||
"#define _AFX_NO_TRACKER_RESOURCES\r\n"
|
|
||||||
"#define _AFX_NO_PROPERTY_RESOURCES\r\n"
|
|
||||||
"\r\n"
|
|
||||||
"#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"
|
|
||||||
"LANGUAGE 9, 1\r\n"
|
|
||||||
"#pragma code_page(1252)\r\n"
|
|
||||||
"#include ""res\\xpad.rc2"" // non-Microsoft Visual C++ edited resources\r\n"
|
|
||||||
"#endif\r\n"
|
|
||||||
"\0"
|
|
||||||
END
|
|
||||||
|
|
||||||
#endif // APSTUDIO_INVOKED
|
|
||||||
|
|
||||||
#endif // Hungarian resources
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
// English (U.S.) resources
|
|
||||||
|
|
||||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
|
||||||
#ifdef _WIN32
|
|
||||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
|
||||||
#pragma code_page(1252)
|
|
||||||
#endif //_WIN32
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// Bitmap
|
|
||||||
//
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// Dialog
|
|
||||||
//
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// DESIGNINFO
|
|
||||||
//
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// Version
|
|
||||||
//
|
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
|
||||||
FILEVERSION 1,0,0,0
|
|
||||||
PRODUCTVERSION 1,0,0,0
|
|
||||||
FILEFLAGSMASK 0x3fL
|
|
||||||
#ifdef _DEBUG
|
|
||||||
FILEFLAGS 0x1L
|
|
||||||
#else
|
|
||||||
FILEFLAGS 0x0L
|
|
||||||
#endif
|
|
||||||
FILEOS 0x4L
|
|
||||||
FILETYPE 0x2L
|
|
||||||
FILESUBTYPE 0x0L
|
|
||||||
BEGIN
|
|
||||||
BLOCK "StringFileInfo"
|
|
||||||
BEGIN
|
|
||||||
BLOCK "040904e4"
|
|
||||||
BEGIN
|
|
||||||
VALUE "Comments", "http://guliverkli.sf.net/"
|
|
||||||
VALUE "CompanyName", "Gabest"
|
|
||||||
VALUE "FileDescription", "XInput PAD plugin for ps2 emulators"
|
|
||||||
VALUE "FileVersion", "1, 0, 0, 0"
|
|
||||||
VALUE "InternalName", "xpad.dll"
|
|
||||||
VALUE "LegalCopyright", "Copyright (c) 2007-2008 Gabest. All rights reserved."
|
|
||||||
VALUE "OriginalFilename", "xpad.dll"
|
|
||||||
VALUE "ProductName", "xpad"
|
|
||||||
VALUE "ProductVersion", "1, 0, 0, 0"
|
|
||||||
END
|
|
||||||
END
|
|
||||||
BLOCK "VarFileInfo"
|
|
||||||
BEGIN
|
|
||||||
VALUE "Translation", 0x409, 1252
|
|
||||||
END
|
|
||||||
END
|
|
||||||
|
|
||||||
#endif // English (U.S.) resources
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef APSTUDIO_INVOKED
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// Generated from the TEXTINCLUDE 3 resource.
|
|
||||||
//
|
|
||||||
#define _AFX_NO_SPLITTER_RESOURCES
|
|
||||||
#define _AFX_NO_OLE_RESOURCES
|
|
||||||
#define _AFX_NO_TRACKER_RESOURCES
|
|
||||||
#define _AFX_NO_PROPERTY_RESOURCES
|
|
||||||
|
|
||||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
|
||||||
LANGUAGE 9, 1
|
|
||||||
#pragma code_page(1252)
|
|
||||||
#include "res\xpad.rc2" // non-Microsoft Visual C++ edited resources
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////
|
|
||||||
#endif // not APSTUDIO_INVOKED
|
|
||||||
|
|
|
@ -1,77 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
|
||||||
<ProjectConfiguration Include="Debug|Win32">
|
|
||||||
<Configuration>Debug</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Debug|x64">
|
|
||||||
<Configuration>Debug</Configuration>
|
|
||||||
<Platform>x64</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release|Win32">
|
|
||||||
<Configuration>Release</Configuration>
|
|
||||||
<Platform>Win32</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
<ProjectConfiguration Include="Release|x64">
|
|
||||||
<Configuration>Release</Configuration>
|
|
||||||
<Platform>x64</Platform>
|
|
||||||
</ProjectConfiguration>
|
|
||||||
</ItemGroup>
|
|
||||||
<PropertyGroup Label="Globals">
|
|
||||||
<ProjectGuid>{6F3C4136-5801-4EBC-AC6E-37DF6FAB150A}</ProjectGuid>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
||||||
<PropertyGroup Label="Configuration">
|
|
||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
||||||
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
|
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
|
||||||
<WholeProgramOptimization Condition="$(Configuration.Contains(Release))">true</WholeProgramOptimization>
|
|
||||||
<UseDebugLibraries Condition="$(Configuration.Contains(Debug))">true</UseDebugLibraries>
|
|
||||||
<UseDebugLibraries Condition="!$(Configuration.Contains(Debug))">false</UseDebugLibraries>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
||||||
<ImportGroup Label="ExtensionSettings" />
|
|
||||||
<ImportGroup Label="PropertySheets">
|
|
||||||
<Import Project="vsprops\common.props" />
|
|
||||||
<Import Project="vsprops\ProjectRootDir.props" />
|
|
||||||
<Import Project="..\..\common\vsprops\BaseProperties.props" />
|
|
||||||
<Import Condition="$(Configuration.Contains(Debug))" Project="vsprops\debug.props" />
|
|
||||||
<Import Condition="$(Configuration.Contains(Release))" Project="vsprops\release.props" />
|
|
||||||
</ImportGroup>
|
|
||||||
<PropertyGroup Label="UserMacros" />
|
|
||||||
<PropertyGroup>
|
|
||||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemDefinitionGroup>
|
|
||||||
<ClCompile>
|
|
||||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
|
||||||
</ClCompile>
|
|
||||||
<Link>
|
|
||||||
<ModuleDefinitionFile>.\xpad.def</ModuleDefinitionFile>
|
|
||||||
<TargetMachine Condition="'$(Platform)'=='Win32'">MachineX86</TargetMachine>
|
|
||||||
<TargetMachine Condition="'$(Platform)'=='x64'">MachineX64</TargetMachine>
|
|
||||||
</Link>
|
|
||||||
</ItemDefinitionGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClCompile Include="stdafx.cpp">
|
|
||||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="xpad.cpp" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="xpad.def" />
|
|
||||||
<None Include="res\xpad.rc2" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClInclude Include="stdafx.h" />
|
|
||||||
<ClInclude Include="svnrev.h" />
|
|
||||||
<ClInclude Include="xpad.h" />
|
|
||||||
<ClInclude Include="resource.h" />
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ResourceCompile Include="xpad.rc" />
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
||||||
<ImportGroup Label="ExtensionTargets" />
|
|
||||||
</Project>
|
|
|
@ -1,52 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<ItemGroup>
|
|
||||||
<Filter Include="Source Files">
|
|
||||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
|
||||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Header Files">
|
|
||||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
|
||||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
|
||||||
</Filter>
|
|
||||||
<Filter Include="Resource Files">
|
|
||||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
|
||||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
|
|
||||||
</Filter>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClCompile Include="stdafx.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="xpad.cpp">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<None Include="xpad.def">
|
|
||||||
<Filter>Source Files</Filter>
|
|
||||||
</None>
|
|
||||||
<None Include="res\xpad.rc2">
|
|
||||||
<Filter>Resource Files</Filter>
|
|
||||||
</None>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ClInclude Include="stdafx.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="svnrev.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="xpad.h">
|
|
||||||
<Filter>Header Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="resource.h">
|
|
||||||
<Filter>Resource Files</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<ResourceCompile Include="xpad.rc">
|
|
||||||
<Filter>Resource Files</Filter>
|
|
||||||
</ResourceCompile>
|
|
||||||
</ItemGroup>
|
|
||||||
</Project>
|
|
Loading…
Reference in New Issue