move wiiuse to Source/Core and add to the main dolphin solution
make wiiuse link dynamically with hid.dll, removing the need for WDK compile wiiuse as c++ git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6394 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
8eb1fe8831
commit
7ad7acd248
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -344,7 +344,6 @@ dirs = [
|
||||||
'Externals/Bochs_disasm',
|
'Externals/Bochs_disasm',
|
||||||
#'Externals/CLRun',
|
#'Externals/CLRun',
|
||||||
'Externals/Lua',
|
'Externals/Lua',
|
||||||
'Externals/WiiUse/Src',
|
|
||||||
'Externals/GLew',
|
'Externals/GLew',
|
||||||
'Externals/LZO',
|
'Externals/LZO',
|
||||||
#'Externals/OpenAL',
|
#'Externals/OpenAL',
|
||||||
|
@ -364,6 +363,7 @@ dirs = [
|
||||||
'Source/Core/InputCommon/Src',
|
'Source/Core/InputCommon/Src',
|
||||||
'Source/Core/InputUICommon/Src',
|
'Source/Core/InputUICommon/Src',
|
||||||
'Source/Core/VideoCommon/Src',
|
'Source/Core/VideoCommon/Src',
|
||||||
|
'Source/Core/wiiuse/Src',
|
||||||
'Source/DSPTool/Src',
|
'Source/DSPTool/Src',
|
||||||
'Source/Plugins/Plugin_DSP_HLE/Src',
|
'Source/Plugins/Plugin_DSP_HLE/Src',
|
||||||
'Source/Plugins/Plugin_DSP_LLE/Src',
|
'Source/Plugins/Plugin_DSP_LLE/Src',
|
||||||
|
|
|
@ -13,3 +13,4 @@ add_subdirectory(DolphinWX)
|
||||||
add_subdirectory(DSPCore)
|
add_subdirectory(DSPCore)
|
||||||
add_subdirectory(InputCommon)
|
add_subdirectory(InputCommon)
|
||||||
add_subdirectory(VideoCommon)
|
add_subdirectory(VideoCommon)
|
||||||
|
add_subdirectory(wiiuse)
|
||||||
|
|
|
@ -45,7 +45,7 @@
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories=".\Core\Core\Src\Debugger;..\Common\Src;..\DiscIO\Src;..\..\Core\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\LZO;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\zlib;..\..\..\Externals\Lua;..\..\..\Externals\SFML\include;..\..\..\Externals\WiiUse\Src"
|
AdditionalIncludeDirectories=".\Core\Core\Src\Debugger;..\Common\Src;..\DiscIO\Src;..\wiiuse\Src;..\..\Core\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\LZO;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\zlib;..\..\..\Externals\Lua;..\..\..\Externals\SFML\include"
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
|
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
|
||||||
MinimalRebuild="true"
|
MinimalRebuild="true"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
|
@ -69,9 +69,8 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLibrarianTool"
|
Name="VCLibrarianTool"
|
||||||
AdditionalDependencies="wiiused.lib"
|
|
||||||
OutputFile="$(OutDir)/Core.lib"
|
OutputFile="$(OutDir)/Core.lib"
|
||||||
AdditionalLibraryDirectories=""..\..\..\Externals\LZO\$(OutDir)\lzo.lib";"..\..\..\Externals\WiiUse\$(PlatformName)""
|
AdditionalLibraryDirectories=""..\..\..\Externals\LZO\$(OutDir)\lzo.lib""
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCALinkTool"
|
||||||
|
@ -116,7 +115,7 @@
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories=".\Core\Core\Src\Debugger;..\Common\Src;..\DiscIO\Src;..\..\Core\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\LZO;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\zlib;..\..\..\Externals\Lua;..\..\..\Externals\SFML\include;..\..\..\Externals\WiiUse\Src"
|
AdditionalIncludeDirectories=".\Core\Core\Src\Debugger;..\Common\Src;..\DiscIO\Src;..\wiiuse\Src;..\..\Core\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\LZO;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\zlib;..\..\..\Externals\Lua;..\..\..\Externals\SFML\include"
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
|
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
|
||||||
MinimalRebuild="true"
|
MinimalRebuild="true"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
|
@ -140,9 +139,8 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLibrarianTool"
|
Name="VCLibrarianTool"
|
||||||
AdditionalDependencies="wiiused.lib"
|
|
||||||
OutputFile="$(OutDir)/Core.lib"
|
OutputFile="$(OutDir)/Core.lib"
|
||||||
AdditionalLibraryDirectories=""..\..\..\Externals\LZO\$(OutDir)\lzo.lib";"..\..\..\Externals\WiiUse\$(PlatformName)""
|
AdditionalLibraryDirectories=""..\..\..\Externals\LZO\$(OutDir)\lzo.lib""
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCALinkTool"
|
||||||
|
@ -191,7 +189,7 @@
|
||||||
FavorSizeOrSpeed="1"
|
FavorSizeOrSpeed="1"
|
||||||
OmitFramePointers="true"
|
OmitFramePointers="true"
|
||||||
EnableFiberSafeOptimizations="false"
|
EnableFiberSafeOptimizations="false"
|
||||||
AdditionalIncludeDirectories=".\Core\Core\Src\Debugger;..\Common\Src;..\DiscIO\Src;..\..\Core\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\LZO;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\zlib;..\..\..\Externals\Lua;..\..\..\Externals\SFML\include;..\..\..\Externals\WiiUse\Src"
|
AdditionalIncludeDirectories=".\Core\Core\Src\Debugger;..\Common\Src;..\DiscIO\Src;..\wiiuse\Src;..\..\Core\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\LZO;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\zlib;..\..\..\Externals\Lua;..\..\..\Externals\SFML\include"
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0"
|
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
|
@ -215,9 +213,8 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLibrarianTool"
|
Name="VCLibrarianTool"
|
||||||
AdditionalDependencies="wiiuse.lib"
|
|
||||||
OutputFile="$(OutDir)/Core.lib"
|
OutputFile="$(OutDir)/Core.lib"
|
||||||
AdditionalLibraryDirectories=""..\..\..\Externals\LZO\$(OutDir)\lzo.lib";"..\..\..\Externals\WiiUse\$(PlatformName)""
|
AdditionalLibraryDirectories=""..\..\..\Externals\LZO\$(OutDir)\lzo.lib""
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCALinkTool"
|
||||||
|
@ -269,7 +266,7 @@
|
||||||
OmitFramePointers="true"
|
OmitFramePointers="true"
|
||||||
EnableFiberSafeOptimizations="false"
|
EnableFiberSafeOptimizations="false"
|
||||||
WholeProgramOptimization="false"
|
WholeProgramOptimization="false"
|
||||||
AdditionalIncludeDirectories=".\Core\Core\Src\Debugger;..\Common\Src;..\DiscIO\Src;..\..\Core\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\LZO;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\zlib;..\..\..\Externals\Lua;..\..\..\Externals\SFML\include;..\..\..\Externals\WiiUse\Src"
|
AdditionalIncludeDirectories=".\Core\Core\Src\Debugger;..\Common\Src;..\DiscIO\Src;..\wiiuse\Src;..\..\Core\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\LZO;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\zlib;..\..\..\Externals\Lua;..\..\..\Externals\SFML\include"
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0"
|
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
|
@ -293,9 +290,8 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLibrarianTool"
|
Name="VCLibrarianTool"
|
||||||
AdditionalDependencies="wiiuse.lib"
|
|
||||||
OutputFile="$(OutDir)/Core.lib"
|
OutputFile="$(OutDir)/Core.lib"
|
||||||
AdditionalLibraryDirectories=""..\..\..\Externals\LZO\$(OutDir)\lzo.lib";"..\..\..\Externals\Lua\$(OutDir)\Lua.lib";"..\..\..\Externals\WiiUse\$(PlatformName)""
|
AdditionalLibraryDirectories=""..\..\..\Externals\LZO\$(OutDir)\lzo.lib""
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCALinkTool"
|
||||||
|
@ -344,7 +340,7 @@
|
||||||
FavorSizeOrSpeed="1"
|
FavorSizeOrSpeed="1"
|
||||||
OmitFramePointers="true"
|
OmitFramePointers="true"
|
||||||
EnableFiberSafeOptimizations="false"
|
EnableFiberSafeOptimizations="false"
|
||||||
AdditionalIncludeDirectories=".\Core\Core\Src\Debugger;..\Common\Src;..\DiscIO\Src;..\..\Core\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\LZO;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\zlib;..\..\..\Externals\Lua;..\..\..\Externals\SFML\include;..\..\..\Externals\WiiUse\Src"
|
AdditionalIncludeDirectories=".\Core\Core\Src\Debugger;..\Common\Src;..\DiscIO\Src;..\wiiuse\Src;..\..\Core\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\LZO;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\zlib;..\..\..\Externals\Lua;..\..\..\Externals\SFML\include"
|
||||||
PreprocessorDefinitions="NDEBUG;_LIB;DEBUGFAST;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0"
|
PreprocessorDefinitions="NDEBUG;_LIB;DEBUGFAST;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
BufferSecurityCheck="true"
|
BufferSecurityCheck="true"
|
||||||
|
@ -367,9 +363,8 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLibrarianTool"
|
Name="VCLibrarianTool"
|
||||||
AdditionalDependencies="wiiuse.lib"
|
|
||||||
OutputFile="$(OutDir)/Core.lib"
|
OutputFile="$(OutDir)/Core.lib"
|
||||||
AdditionalLibraryDirectories=""..\..\..\Externals\LZO\$(OutDir)\lzo.lib";"..\..\..\Externals\WiiUse\$(PlatformName)""
|
AdditionalLibraryDirectories=""..\..\..\Externals\LZO\$(OutDir)\lzo.lib""
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCALinkTool"
|
||||||
|
@ -419,7 +414,7 @@
|
||||||
FavorSizeOrSpeed="1"
|
FavorSizeOrSpeed="1"
|
||||||
OmitFramePointers="true"
|
OmitFramePointers="true"
|
||||||
EnableFiberSafeOptimizations="false"
|
EnableFiberSafeOptimizations="false"
|
||||||
AdditionalIncludeDirectories=".\Core\Core\Src\Debugger;..\Common\Src;..\DiscIO\Src;..\..\Core\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\LZO;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\zlib;..\..\..\Externals\Lua;..\..\..\Externals\SFML\include;..\..\..\Externals\WiiUse\Src"
|
AdditionalIncludeDirectories=".\Core\Core\Src\Debugger;..\Common\Src;..\DiscIO\Src;..\wiiuse\Src;..\..\Core\InputCommon\Src;..\..\PluginSpecs;..\..\..\Externals\LZO;..\..\..\Externals\Bochs_disasm;..\..\..\Externals\zlib;..\..\..\Externals\Lua;..\..\..\Externals\SFML\include"
|
||||||
PreprocessorDefinitions="NDEBUG;_LIB;DEBUGFAST;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0"
|
PreprocessorDefinitions="NDEBUG;_LIB;DEBUGFAST;_CRT_SECURE_NO_DEPRECATE;_SECURE_SCL=0"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
BufferSecurityCheck="false"
|
BufferSecurityCheck="false"
|
||||||
|
@ -441,9 +436,8 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLibrarianTool"
|
Name="VCLibrarianTool"
|
||||||
AdditionalDependencies="wiiuse.lib"
|
|
||||||
OutputFile="$(OutDir)/Core.lib"
|
OutputFile="$(OutDir)/Core.lib"
|
||||||
AdditionalLibraryDirectories=""..\..\..\Externals\LZO\$(OutDir)\lzo.lib";"..\..\..\Externals\WiiUse\$(PlatformName)""
|
AdditionalLibraryDirectories=""..\..\..\Externals\LZO\$(OutDir)\lzo.lib""
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCALinkTool"
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
set(SRCS Src/ir.c
|
set(SRCS Src/ir.cpp
|
||||||
Src/wiiuse.c)
|
Src/wiiuse.cpp)
|
||||||
|
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
set(SRCS ${SRCS} Src/io_osx.m)
|
set(SRCS ${SRCS} Src/io_osx.m)
|
||||||
elseif(UNIX AND BLUEZ_FOUND)
|
elseif(UNIX AND BLUEZ_FOUND)
|
||||||
set(SRCS ${SRCS} Src/io_nix.c)
|
set(SRCS ${SRCS} Src/io_nix.cpp)
|
||||||
set(LIBS ${LIBS} bluetooth)
|
set(LIBS ${LIBS} bluetooth)
|
||||||
elseif(WIN32)
|
elseif(WIN32)
|
||||||
set(SRCS ${SRCS} Src/io_win.c)
|
set(SRCS ${SRCS} Src/io_win.cpp)
|
||||||
else()
|
else()
|
||||||
set(SRCS ${SRCS} Src/io_dummy.c)
|
set(SRCS ${SRCS} Src/io_dummy.cpp)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_library(wiiuse STATIC ${SRCS})
|
add_library(wiiuse STATIC ${SRCS})
|
|
@ -4,18 +4,18 @@ Import('env')
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
files = [
|
files = [
|
||||||
"ir.c",
|
"ir.cpp",
|
||||||
"wiiuse.c",
|
"wiiuse.cpp",
|
||||||
]
|
]
|
||||||
|
|
||||||
if sys.platform == 'darwin':
|
if sys.platform == 'darwin':
|
||||||
files += [ "io_osx.m" ]
|
files += [ "io_osx.m" ]
|
||||||
elif sys.platform == 'linux2' and env['HAVE_BLUEZ']:
|
elif sys.platform == 'linux2' and env['HAVE_BLUEZ']:
|
||||||
files += [ "io_nix.c" ]
|
files += [ "io_nix.cpp" ]
|
||||||
elif sys.platform == 'win32':
|
elif sys.platform == 'win32':
|
||||||
files += [ "io_win.c" ]
|
files += [ "io_win.cpp" ]
|
||||||
else:
|
else:
|
||||||
files += [ "io_dummy.c" ]
|
files += [ "io_dummy.cpp" ]
|
||||||
|
|
||||||
env.StaticLibrary(env['local_libs'] + "wiiuse", files)
|
env.StaticLibrary(env['local_libs'] + "wiiuse", files)
|
||||||
env['CPPPATH'] += ['#Externals/WiiUse/Src']
|
env['CPPPATH'] += ['#Source/Core/wiiuse/Src']
|
|
@ -34,7 +34,7 @@
|
||||||
#ifndef DEFINITIONS_H_INCLUDED
|
#ifndef DEFINITIONS_H_INCLUDED
|
||||||
#define DEFINITIONS_H_INCLUDED
|
#define DEFINITIONS_H_INCLUDED
|
||||||
|
|
||||||
#include "Log.h"
|
#include <Common.h>
|
||||||
|
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
#include <arpa/inet.h> /* htons() */
|
#include <arpa/inet.h> /* htons() */
|
||||||
|
@ -46,13 +46,6 @@
|
||||||
|
|
||||||
#endif // _WIN32
|
#endif // _WIN32
|
||||||
|
|
||||||
// NOTICE_LEVEL is more appropriate for the uses of WIIUSE_INFO than INFO_LEVEL
|
|
||||||
// as long as we don't provide adequate GUI feedback for bluetooth events.
|
|
||||||
#define WIIUSE_INFO(...) { GENERIC_LOG(WIIMOTE, NOTICE_LEVEL, __VA_ARGS__) }
|
|
||||||
#define WIIUSE_ERROR(...) { GENERIC_LOG(WIIMOTE, ERROR_LEVEL, __VA_ARGS__) }
|
|
||||||
#define WIIUSE_WARNING(...) { GENERIC_LOG(WIIMOTE, WARNING_LEVEL, __VA_ARGS__) }
|
|
||||||
#define WIIUSE_DEBUG(...) { GENERIC_LOG(WIIMOTE, DEBUG_LEVEL, __VA_ARGS__) }
|
|
||||||
|
|
||||||
/* Convert to big endian */
|
/* Convert to big endian */
|
||||||
#define BIG_ENDIAN_LONG(i) (htonl(i))
|
#define BIG_ENDIAN_LONG(i) (htonl(i))
|
||||||
#define BIG_ENDIAN_SHORT(i) (htons(i))
|
#define BIG_ENDIAN_SHORT(i) (htons(i))
|
|
@ -99,7 +99,7 @@ int wiiuse_find(struct wiimote_t** wm, int max_wiimotes, int timeout)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
WIIUSE_INFO("Found %i bluetooth device(s).", found_devices);
|
NOTICE_LOG(WIIMOTE, "Found %i bluetooth device(s).", found_devices);
|
||||||
|
|
||||||
// display discovered devices
|
// display discovered devices
|
||||||
for (i = 0; (i < found_devices) && (found_wiimotes < max_wiimotes); ++i)
|
for (i = 0; (i < found_devices) && (found_wiimotes < max_wiimotes); ++i)
|
||||||
|
@ -123,7 +123,7 @@ int wiiuse_find(struct wiimote_t** wm, int max_wiimotes, int timeout)
|
||||||
// found a new device
|
// found a new device
|
||||||
ba2str(&scan_info[i].bdaddr, wm[found_wiimotes]->bdaddr_str);
|
ba2str(&scan_info[i].bdaddr, wm[found_wiimotes]->bdaddr_str);
|
||||||
|
|
||||||
WIIUSE_INFO("Found wiimote (%s) [id %i].",
|
NOTICE_LOG(WIIMOTE, "Found wiimote (%s) [id %i].",
|
||||||
wm[found_wiimotes]->bdaddr_str, wm[found_wiimotes]->unid);
|
wm[found_wiimotes]->bdaddr_str, wm[found_wiimotes]->unid);
|
||||||
|
|
||||||
wm[found_wiimotes]->bdaddr = scan_info[i].bdaddr;
|
wm[found_wiimotes]->bdaddr = scan_info[i].bdaddr;
|
||||||
|
@ -225,7 +225,7 @@ static int wiiuse_connect_single(struct wiimote_t* wm, char* address)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
WIIUSE_INFO("Connected to wiimote [id %i].", wm->unid);
|
NOTICE_LOG(WIIMOTE, "Connected to wiimote [id %i].", wm->unid);
|
||||||
// do the handshake
|
// do the handshake
|
||||||
WIIMOTE_ENABLE_STATE(wm, WIIMOTE_STATE_CONNECTED);
|
WIIMOTE_ENABLE_STATE(wm, WIIMOTE_STATE_CONNECTED);
|
||||||
|
|
||||||
|
@ -278,7 +278,7 @@ int wiiuse_io_read(struct wiimote_t* wm)
|
||||||
|
|
||||||
if (select(wm->in_sock + 1, &fds, NULL, NULL, &tv) == -1)
|
if (select(wm->in_sock + 1, &fds, NULL, NULL, &tv) == -1)
|
||||||
{
|
{
|
||||||
WIIUSE_ERROR("Unable to select() the wiimote interrupt socket(s).");
|
ERROR_LOG(WIIMOTE, "Unable to select() the wiimote interrupt socket(s).");
|
||||||
perror("Error Details");
|
perror("Error Details");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -295,13 +295,13 @@ int wiiuse_io_read(struct wiimote_t* wm)
|
||||||
if (r == -1)
|
if (r == -1)
|
||||||
{
|
{
|
||||||
// error reading data
|
// error reading data
|
||||||
WIIUSE_ERROR("Receiving wiimote data (id %i).", wm->unid);
|
ERROR_LOG(WIIMOTE, "Receiving wiimote data (id %i).", wm->unid);
|
||||||
perror("Error Details");
|
perror("Error Details");
|
||||||
|
|
||||||
if (errno == ENOTCONN)
|
if (errno == ENOTCONN)
|
||||||
{
|
{
|
||||||
// this can happen if the bluetooth dongle is disconnected
|
// this can happen if the bluetooth dongle is disconnected
|
||||||
WIIUSE_ERROR("Bluetooth appears to be disconnected. Wiimote unid %i will be disconnected.", wm->unid);
|
ERROR_LOG(WIIMOTE, "Bluetooth appears to be disconnected. Wiimote unid %i will be disconnected.", wm->unid);
|
||||||
wiiuse_disconnect(wm);
|
wiiuse_disconnect(wm);
|
||||||
wm->event = WIIUSE_UNEXPECTED_DISCONNECT;
|
wm->event = WIIUSE_UNEXPECTED_DISCONNECT;
|
||||||
}
|
}
|
|
@ -72,7 +72,7 @@ volatile int reader, writer, outstanding, watermark;
|
||||||
- (void) deviceInquiryDeviceFound: (IOBluetoothDeviceInquiry *) sender
|
- (void) deviceInquiryDeviceFound: (IOBluetoothDeviceInquiry *) sender
|
||||||
device: (IOBluetoothDevice *) device
|
device: (IOBluetoothDevice *) device
|
||||||
{
|
{
|
||||||
WIIUSE_INFO("Discovered bluetooth device at %s: %s",
|
NOTICE_LOG(WIIMOTE, "Discovered bluetooth device at %s: %s",
|
||||||
[[device getAddressString] UTF8String],
|
[[device getAddressString] UTF8String],
|
||||||
[[device getName] UTF8String]);
|
[[device getName] UTF8String]);
|
||||||
|
|
||||||
|
@ -92,12 +92,12 @@ volatile int reader, writer, outstanding, watermark;
|
||||||
// IOBluetoothDevice *device = [l2capChannel getDevice];
|
// IOBluetoothDevice *device = [l2capChannel getDevice];
|
||||||
|
|
||||||
if (length > MAX_PAYLOAD) {
|
if (length > MAX_PAYLOAD) {
|
||||||
WIIUSE_WARNING("Dropping wiimote packet - too large");
|
WARN_LOG(WIIMOTE, "Dropping wiimote packet - too large");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (queue[writer].len != 0) {
|
if (queue[writer].len != 0) {
|
||||||
WIIUSE_WARNING("Dropping wiimote packet - queue full");
|
WARN_LOG(WIIMOTE, "Dropping wiimote packet - queue full");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -111,7 +111,7 @@ volatile int reader, writer, outstanding, watermark;
|
||||||
|
|
||||||
if (outstanding > watermark) {
|
if (outstanding > watermark) {
|
||||||
watermark = outstanding;
|
watermark = outstanding;
|
||||||
WIIUSE_WARNING("New wiimote queue watermark %d", watermark);
|
WARN_LOG(WIIMOTE, "New wiimote queue watermark %d", watermark);
|
||||||
}
|
}
|
||||||
|
|
||||||
CFRunLoopStop(CFRunLoopGetCurrent());
|
CFRunLoopStop(CFRunLoopGetCurrent());
|
||||||
|
@ -123,7 +123,7 @@ volatile int reader, writer, outstanding, watermark;
|
||||||
{
|
{
|
||||||
// IOBluetoothDevice *device = [l2capChannel getDevice];
|
// IOBluetoothDevice *device = [l2capChannel getDevice];
|
||||||
|
|
||||||
WIIUSE_WARNING("L2CAP channel was closed");
|
WARN_LOG(WIIMOTE, "L2CAP channel was closed");
|
||||||
|
|
||||||
if (l2capChannel == cchan)
|
if (l2capChannel == cchan)
|
||||||
cchan = nil;
|
cchan = nil;
|
||||||
|
@ -161,7 +161,7 @@ int wiiuse_find(struct wiimote_t **wm, int max_wiimotes, int timeout)
|
||||||
bth = [[IOBluetoothHostController alloc] init];
|
bth = [[IOBluetoothHostController alloc] init];
|
||||||
if ([bth addressAsString] == nil)
|
if ([bth addressAsString] == nil)
|
||||||
{
|
{
|
||||||
WIIUSE_WARNING("No bluetooth host controller");
|
WARN_LOG(WIIMOTE, "No bluetooth host controller");
|
||||||
[bth release];
|
[bth release];
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -181,14 +181,14 @@ int wiiuse_find(struct wiimote_t **wm, int max_wiimotes, int timeout)
|
||||||
if (ret == kIOReturnSuccess)
|
if (ret == kIOReturnSuccess)
|
||||||
[bti retain];
|
[bti retain];
|
||||||
else
|
else
|
||||||
WIIUSE_ERROR("Unable to do bluetooth discovery");
|
ERROR_LOG(WIIMOTE, "Unable to do bluetooth discovery");
|
||||||
|
|
||||||
CFRunLoopRun();
|
CFRunLoopRun();
|
||||||
|
|
||||||
[bti stop];
|
[bti stop];
|
||||||
found_devices = [[bti foundDevices] count];
|
found_devices = [[bti foundDevices] count];
|
||||||
|
|
||||||
WIIUSE_INFO("Found %i bluetooth device(s).", found_devices);
|
NOTICE_LOG(WIIMOTE, "Found %i bluetooth device(s).", found_devices);
|
||||||
|
|
||||||
en = [[bti foundDevices] objectEnumerator];
|
en = [[bti foundDevices] objectEnumerator];
|
||||||
for (i = 0; i < found_devices; i++) {
|
for (i = 0; i < found_devices; i++) {
|
||||||
|
@ -258,11 +258,11 @@ static int wiiuse_connect_single(struct wiimote_t *wm, char *address)
|
||||||
[btd openL2CAPChannelSync: &ichan
|
[btd openL2CAPChannelSync: &ichan
|
||||||
withPSM: kBluetoothL2CAPPSMHIDInterrupt delegate: cbt];
|
withPSM: kBluetoothL2CAPPSMHIDInterrupt delegate: cbt];
|
||||||
if (ichan == NULL || cchan == NULL) {
|
if (ichan == NULL || cchan == NULL) {
|
||||||
WIIUSE_ERROR("Unable to open L2CAP channels");
|
ERROR_LOG(WIIMOTE, "Unable to open L2CAP channels");
|
||||||
wiiuse_disconnect(wm);
|
wiiuse_disconnect(wm);
|
||||||
}
|
}
|
||||||
|
|
||||||
WIIUSE_INFO("Connected to wiimote [id %i].", wm->unid);
|
NOTICE_LOG(WIIMOTE, "Connected to wiimote [id %i].", wm->unid);
|
||||||
|
|
||||||
WIIMOTE_ENABLE_STATE(wm, WIIMOTE_STATE_CONNECTED);
|
WIIMOTE_ENABLE_STATE(wm, WIIMOTE_STATE_CONNECTED);
|
||||||
wiiuse_set_report_type(wm);
|
wiiuse_set_report_type(wm);
|
||||||
|
@ -289,7 +289,7 @@ void wiiuse_disconnect(struct wiimote_t *wm)
|
||||||
if (wm == NULL)
|
if (wm == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
WIIUSE_INFO("Disconnecting wiimote [id %i]", wm->unid);
|
NOTICE_LOG(WIIMOTE, "Disconnecting wiimote [id %i]", wm->unid);
|
||||||
|
|
||||||
WIIMOTE_DISABLE_STATE(wm, WIIMOTE_STATE_CONNECTED);
|
WIIMOTE_DISABLE_STATE(wm, WIIMOTE_STATE_CONNECTED);
|
||||||
WIIMOTE_DISABLE_STATE(wm, WIIMOTE_STATE_HANDSHAKE);
|
WIIMOTE_DISABLE_STATE(wm, WIIMOTE_STATE_HANDSHAKE);
|
|
@ -37,13 +37,57 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
#include <hidsdi.h>
|
|
||||||
#include <dbt.h>
|
#include <dbt.h>
|
||||||
#include <setupapi.h>
|
#include <setupapi.h>
|
||||||
|
|
||||||
#include "definitions.h"
|
#include "definitions.h"
|
||||||
#include "wiiuse_internal.h"
|
#include "wiiuse_internal.h"
|
||||||
|
|
||||||
|
#include <Common.h>
|
||||||
|
|
||||||
|
typedef struct _HIDD_ATTRIBUTES {
|
||||||
|
ULONG Size;
|
||||||
|
USHORT VendorID;
|
||||||
|
USHORT ProductID;
|
||||||
|
USHORT VersionNumber;
|
||||||
|
} HIDD_ATTRIBUTES, *PHIDD_ATTRIBUTES;
|
||||||
|
|
||||||
|
typedef VOID (__stdcall *PHidD_GetHidGuid)(LPGUID);
|
||||||
|
typedef BOOLEAN (__stdcall *PHidD_GetAttributes)(HANDLE, PHIDD_ATTRIBUTES);
|
||||||
|
typedef BOOLEAN (__stdcall *PHidD_SetOutputReport)(HANDLE, PVOID, ULONG);
|
||||||
|
|
||||||
|
PHidD_GetHidGuid HidD_GetHidGuid = NULL;
|
||||||
|
PHidD_GetAttributes HidD_GetAttributes = NULL;
|
||||||
|
PHidD_SetOutputReport HidD_SetOutputReport = NULL;
|
||||||
|
|
||||||
|
HINSTANCE hid_lib = NULL;
|
||||||
|
|
||||||
|
static int initialized = 0;
|
||||||
|
|
||||||
|
inline void init_lib()
|
||||||
|
{
|
||||||
|
if (!initialized)
|
||||||
|
{
|
||||||
|
hid_lib = LoadLibrary(L"hid.dll");
|
||||||
|
if (!hid_lib)
|
||||||
|
{
|
||||||
|
PanicAlert("Failed to load hid.dll");
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
|
HidD_GetHidGuid = (PHidD_GetHidGuid)GetProcAddress(hid_lib, "HidD_GetHidGuid");
|
||||||
|
HidD_GetAttributes = (PHidD_GetAttributes)GetProcAddress(hid_lib, "HidD_GetAttributes");
|
||||||
|
HidD_SetOutputReport = (PHidD_SetOutputReport)GetProcAddress(hid_lib, "HidD_SetOutputReport");
|
||||||
|
if (!HidD_GetHidGuid || !HidD_GetAttributes || !HidD_SetOutputReport)
|
||||||
|
{
|
||||||
|
PanicAlert("Failed to load hid.dll");
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
|
initialized = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int wiiuse_remove(struct wiimote_t** wm, int wiimotes, int max_wiimotes);
|
int wiiuse_remove(struct wiimote_t** wm, int wiimotes, int max_wiimotes);
|
||||||
|
|
||||||
int wiiuse_find(struct wiimote_t** wm, int max_wiimotes, int wiimotes) {
|
int wiiuse_find(struct wiimote_t** wm, int max_wiimotes, int wiimotes) {
|
||||||
|
@ -56,6 +100,7 @@ int wiiuse_find(struct wiimote_t** wm, int max_wiimotes, int wiimotes) {
|
||||||
PSP_DEVICE_INTERFACE_DETAIL_DATA detail_data = NULL;
|
PSP_DEVICE_INTERFACE_DETAIL_DATA detail_data = NULL;
|
||||||
HIDD_ATTRIBUTES attr;
|
HIDD_ATTRIBUTES attr;
|
||||||
|
|
||||||
|
init_lib();
|
||||||
|
|
||||||
// todo: handle/remove (unexpected and forced) disconnected wiimotes here
|
// todo: handle/remove (unexpected and forced) disconnected wiimotes here
|
||||||
|
|
||||||
|
@ -85,7 +130,7 @@ int wiiuse_find(struct wiimote_t** wm, int max_wiimotes, int wiimotes) {
|
||||||
|
|
||||||
// get the size of the data block required
|
// get the size of the data block required
|
||||||
i = SetupDiGetDeviceInterfaceDetail(device_info, &device_data, NULL, 0, &len, NULL);
|
i = SetupDiGetDeviceInterfaceDetail(device_info, &device_data, NULL, 0, &len, NULL);
|
||||||
detail_data = malloc(len);
|
detail_data = (PSP_DEVICE_INTERFACE_DETAIL_DATA)malloc(len);
|
||||||
detail_data->cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA);
|
detail_data->cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA);
|
||||||
|
|
||||||
// query the data for this device
|
// query the data for this device
|
||||||
|
@ -143,7 +188,7 @@ int wiiuse_find(struct wiimote_t** wm, int max_wiimotes, int wiimotes) {
|
||||||
}
|
}
|
||||||
|
|
||||||
memcpy(wm[wiimotes]->devicepath,detail_data->DevicePath,197);
|
memcpy(wm[wiimotes]->devicepath,detail_data->DevicePath,197);
|
||||||
WIIUSE_INFO("Connected to wiimote [id %i].", wm[wiimotes]->unid);
|
NOTICE_LOG(WIIMOTE, "Connected to wiimote [id %i].", wm[wiimotes]->unid);
|
||||||
++wiimotes;
|
++wiimotes;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
@ -160,9 +205,14 @@ int wiiuse_find(struct wiimote_t** wm, int max_wiimotes, int wiimotes) {
|
||||||
return wiimotes;
|
return wiimotes;
|
||||||
}
|
}
|
||||||
|
|
||||||
int wiiuse_connect(struct wiimote_t** wm, int wiimotes) {
|
int wiiuse_connect(struct wiimote_t** wm, int wiimotes)
|
||||||
int i,connected=0;
|
{
|
||||||
for (i = 0; i < wiimotes; ++i) {
|
int i, connected = 0;
|
||||||
|
|
||||||
|
init_lib();
|
||||||
|
|
||||||
|
for (i = 0; i < wiimotes; ++i)
|
||||||
|
{
|
||||||
if (WIIMOTE_IS_SET(wm[i], WIIMOTE_STATE_CONNECTED))
|
if (WIIMOTE_IS_SET(wm[i], WIIMOTE_STATE_CONNECTED))
|
||||||
++connected;
|
++connected;
|
||||||
}
|
}
|
||||||
|
@ -170,7 +220,10 @@ int wiiuse_connect(struct wiimote_t** wm, int wiimotes) {
|
||||||
return connected;
|
return connected;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wiiuse_disconnect(struct wiimote_t* wm) {
|
void wiiuse_disconnect(struct wiimote_t* wm)
|
||||||
|
{
|
||||||
|
init_lib();
|
||||||
|
|
||||||
if (!wm || WIIMOTE_IS_CONNECTED(wm))
|
if (!wm || WIIMOTE_IS_CONNECTED(wm))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -185,9 +238,12 @@ void wiiuse_disconnect(struct wiimote_t* wm) {
|
||||||
WIIMOTE_DISABLE_STATE(wm, WIIMOTE_STATE_HANDSHAKE);
|
WIIMOTE_DISABLE_STATE(wm, WIIMOTE_STATE_HANDSHAKE);
|
||||||
}
|
}
|
||||||
|
|
||||||
int wiiuse_io_read(struct wiimote_t* wm) {
|
int wiiuse_io_read(struct wiimote_t* wm)
|
||||||
|
{
|
||||||
DWORD b, r;
|
DWORD b, r;
|
||||||
|
|
||||||
|
init_lib();
|
||||||
|
|
||||||
if (!wm || !WIIMOTE_IS_CONNECTED(wm))
|
if (!wm || !WIIMOTE_IS_CONNECTED(wm))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -207,13 +263,13 @@ int wiiuse_io_read(struct wiimote_t* wm) {
|
||||||
/* timeout - cancel and continue */
|
/* timeout - cancel and continue */
|
||||||
|
|
||||||
if (*wm->event_buf)
|
if (*wm->event_buf)
|
||||||
WIIUSE_WARNING("Packet ignored. This may indicate a problem (timeout is %i ms).", wm->timeout);
|
WARN_LOG(WIIMOTE, "Packet ignored. This may indicate a problem (timeout is %i ms).", wm->timeout);
|
||||||
|
|
||||||
CancelIo(wm->dev_handle);
|
CancelIo(wm->dev_handle);
|
||||||
ResetEvent(wm->hid_overlap.hEvent);
|
ResetEvent(wm->hid_overlap.hEvent);
|
||||||
return 0;
|
return 0;
|
||||||
} else if (r == WAIT_FAILED) {
|
} else if (r == WAIT_FAILED) {
|
||||||
WIIUSE_WARNING("A wait error occured on reading from wiimote %i.", wm->unid);
|
WARN_LOG(WIIMOTE, "A wait error occured on reading from wiimote %i.", wm->unid);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -230,10 +286,13 @@ int wiiuse_io_read(struct wiimote_t* wm) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int wiiuse_io_write(struct wiimote_t* wm, byte* buf, int len) {
|
int wiiuse_io_write(struct wiimote_t* wm, byte* buf, int len)
|
||||||
|
{
|
||||||
DWORD bytes, dw;
|
DWORD bytes, dw;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
init_lib();
|
||||||
|
|
||||||
if (!wm || !WIIMOTE_IS_CONNECTED(wm))
|
if (!wm || !WIIMOTE_IS_CONNECTED(wm))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -257,20 +316,20 @@ int wiiuse_io_write(struct wiimote_t* wm, byte* buf, int len) {
|
||||||
//995 = The I/O operation has been aborted because of either a thread exit or an application request.
|
//995 = The I/O operation has been aborted because of either a thread exit or an application request.
|
||||||
|
|
||||||
if ( (dw == 121) || (dw == 995) ) {
|
if ( (dw == 121) || (dw == 995) ) {
|
||||||
WIIUSE_INFO("wiiuse_io_write[WIIUSE_STACK_UNKNOWN]: WIIUSE_UNEXPECTED_DISCONNECT");
|
NOTICE_LOG(WIIMOTE, "wiiuse_io_write[WIIUSE_STACK_UNKNOWN]: WIIUSE_UNEXPECTED_DISCONNECT");
|
||||||
wiiuse_disconnected(wm);
|
wiiuse_disconnected(wm);
|
||||||
wm->event = WIIUSE_UNEXPECTED_DISCONNECT;
|
wm->event = WIIUSE_UNEXPECTED_DISCONNECT;
|
||||||
}
|
}
|
||||||
else WIIUSE_ERROR("wiiuse_io_write[WIIUSE_STACK_UNKNOWN]: WIIUSE_UNEXPECTED_DISCONNECT ERROR: %08x", dw);
|
else ERROR_LOG(WIIMOTE, "wiiuse_io_write[WIIUSE_STACK_UNKNOWN]: WIIUSE_UNEXPECTED_DISCONNECT ERROR: %08x", dw);
|
||||||
--------------------------------------------------------------*/
|
--------------------------------------------------------------*/
|
||||||
|
|
||||||
//If the part below causes trouble on WIDCOMM/TOSHIBA stack uncomment the lines above, and comment out the 3 lines below instead.
|
//If the part below causes trouble on WIDCOMM/TOSHIBA stack uncomment the lines above, and comment out the 3 lines below instead.
|
||||||
|
|
||||||
WIIUSE_INFO("wiiuse_io_write[WIIUSE_STACK_UNKNOWN]: WIIUSE_UNEXPECTED_DISCONNECT - time out");
|
NOTICE_LOG(WIIMOTE, "wiiuse_io_write[WIIUSE_STACK_UNKNOWN]: WIIUSE_UNEXPECTED_DISCONNECT - time out");
|
||||||
wiiuse_disconnected(wm);
|
wiiuse_disconnected(wm);
|
||||||
wm->event = WIIUSE_UNEXPECTED_DISCONNECT;
|
wm->event = WIIUSE_UNEXPECTED_DISCONNECT;
|
||||||
|
|
||||||
//WIIUSE_ERROR("wiiuse_io_write[WIIUSE_STACK_UNKNOWN]: Unable to determine bluetooth stack type || Wiimote timed out.");
|
//ERROR_LOG(WIIMOTE, "wiiuse_io_write[WIIUSE_STACK_UNKNOWN]: Unable to determine bluetooth stack type || Wiimote timed out.");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -279,12 +338,12 @@ int wiiuse_io_write(struct wiimote_t* wm, byte* buf, int len) {
|
||||||
dw = GetLastError();
|
dw = GetLastError();
|
||||||
|
|
||||||
if (dw == 121) { // semaphore timeout
|
if (dw == 121) { // semaphore timeout
|
||||||
WIIUSE_INFO("wiiuse_io_write[WIIUSE_STACK_MS]: WIIUSE_UNEXPECTED_DISCONNECT");
|
NOTICE_LOG(WIIMOTE, "wiiuse_io_write[WIIUSE_STACK_MS]: WIIUSE_UNEXPECTED_DISCONNECT");
|
||||||
wiiuse_disconnected(wm);
|
wiiuse_disconnected(wm);
|
||||||
wm->event = WIIUSE_UNEXPECTED_DISCONNECT;
|
wm->event = WIIUSE_UNEXPECTED_DISCONNECT;
|
||||||
return 0;
|
return 0;
|
||||||
}/* else if (dw)
|
}/* else if (dw)
|
||||||
WIIUSE_ERROR("wiiuse_io_write[WIIUSE_STACK_MS]: WIIUSE_UNEXPECTED_DISCONNECT ERROR: %08x", dw);
|
ERROR_LOG(WIIMOTE, "wiiuse_io_write[WIIUSE_STACK_MS]: WIIUSE_UNEXPECTED_DISCONNECT ERROR: %08x", dw);
|
||||||
*/
|
*/
|
||||||
// it is not important to catch all errors here at this place, rest will be covered by io_reads.
|
// it is not important to catch all errors here at this place, rest will be covered by io_reads.
|
||||||
return i;
|
return i;
|
||||||
|
@ -298,58 +357,67 @@ int wiiuse_io_write(struct wiimote_t* wm, byte* buf, int len) {
|
||||||
|
|
||||||
//Checks if the corresponding device to a system notification is a wiimote
|
//Checks if the corresponding device to a system notification is a wiimote
|
||||||
//I placed the code here to avoid ddk/wdk dependencies @wiimote plugin
|
//I placed the code here to avoid ddk/wdk dependencies @wiimote plugin
|
||||||
int wiiuse_check_system_notification(unsigned int nMsg, WPARAM wParam, LPARAM lParam) {
|
int wiiuse_check_system_notification(unsigned int nMsg, WPARAM wParam, LPARAM lParam)
|
||||||
PDEV_BROADCAST_HDR pDevice = (PDEV_BROADCAST_HDR)lParam;
|
{
|
||||||
|
PDEV_BROADCAST_HDR pDevice = (PDEV_BROADCAST_HDR)lParam;
|
||||||
|
|
||||||
switch( pDevice->dbch_devicetype ) {
|
init_lib();
|
||||||
|
|
||||||
case DBT_DEVTYP_DEVICEINTERFACE:
|
switch(pDevice->dbch_devicetype)
|
||||||
|
{
|
||||||
|
case DBT_DEVTYP_DEVICEINTERFACE:
|
||||||
|
{
|
||||||
|
PDEV_BROADCAST_DEVICEINTERFACE pDeviceInfo = (PDEV_BROADCAST_DEVICEINTERFACE)pDevice;
|
||||||
|
HIDD_ATTRIBUTES attr;
|
||||||
|
char stringbuf[255];
|
||||||
|
|
||||||
|
HANDLE dev = CreateFile(pDeviceInfo->dbcc_name,
|
||||||
|
0,(FILE_SHARE_READ | FILE_SHARE_WRITE),
|
||||||
|
NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL);
|
||||||
|
|
||||||
|
if (dev != INVALID_HANDLE_VALUE)
|
||||||
{
|
{
|
||||||
PDEV_BROADCAST_DEVICEINTERFACE pDeviceInfo = (PDEV_BROADCAST_DEVICEINTERFACE)pDevice;
|
attr.Size = sizeof(attr);
|
||||||
HIDD_ATTRIBUTES attr;
|
HidD_GetAttributes(dev, &attr);
|
||||||
char stringbuf[255];
|
|
||||||
|
|
||||||
HANDLE dev = CreateFile(pDeviceInfo->dbcc_name,
|
|
||||||
0,(FILE_SHARE_READ | FILE_SHARE_WRITE),
|
|
||||||
NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL);
|
|
||||||
|
|
||||||
if (dev != INVALID_HANDLE_VALUE)
|
|
||||||
{
|
|
||||||
attr.Size = sizeof(attr);
|
|
||||||
HidD_GetAttributes(dev, &attr);
|
|
||||||
|
|
||||||
//Checking PID&VID
|
|
||||||
if ((attr.VendorID == WM_VENDOR_ID) && (attr.ProductID == WM_PRODUCT_ID)) {
|
|
||||||
CloseHandle(dev);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
//Checking PID&VID
|
||||||
|
if ((attr.VendorID == WM_VENDOR_ID) && (attr.ProductID == WM_PRODUCT_ID)) {
|
||||||
CloseHandle(dev);
|
CloseHandle(dev);
|
||||||
}
|
return 1;
|
||||||
else { //different method to acquire the "wiimote vid/pid" for a comparison when the device is already unavailable @CreateFile()
|
|
||||||
|
|
||||||
wcstombs(stringbuf, pDeviceInfo->dbcc_name, 255);
|
|
||||||
//ms bt stack + bluesoleil vid/pid dbccname format
|
|
||||||
if ( (strstr(stringbuf, "VID&0002057e_PID&0306") != NULL) || (strstr(stringbuf, "VID_057e&PID_0306") != NULL) )
|
|
||||||
{
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
CloseHandle(dev);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// different method to acquire the "wiimote vid/pid" for a
|
||||||
|
// comparison when the device is already unavailable @CreateFile()
|
||||||
|
wcstombs(stringbuf, pDeviceInfo->dbcc_name, 255);
|
||||||
|
//ms bt stack + bluesoleil vid/pid dbccname format
|
||||||
|
if ( (strstr(stringbuf, "VID&0002057e_PID&0306") != NULL) ||
|
||||||
|
(strstr(stringbuf, "VID_057e&PID_0306") != NULL) )
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
default:
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//register a handle for device notifications
|
//register a handle for device notifications
|
||||||
int wiiuse_register_system_notification(HWND hwnd) {
|
int wiiuse_register_system_notification(HWND hwnd)
|
||||||
|
{
|
||||||
DEV_BROADCAST_DEVICEINTERFACE Filter;
|
DEV_BROADCAST_DEVICEINTERFACE Filter;
|
||||||
ZeroMemory( &Filter, sizeof(Filter) );
|
ZeroMemory(&Filter, sizeof(Filter));
|
||||||
|
|
||||||
|
init_lib();
|
||||||
|
|
||||||
//GUID wiimoteguid;
|
//GUID wiimoteguid;
|
||||||
//CLSIDFromString(_T("745a17a0-74d3-11d0-b6fe-00a0c90f57da"),&wiimoteguid);
|
//CLSIDFromString(_T("745a17a0-74d3-11d0-b6fe-00a0c90f57da"),&wiimoteguid);
|
||||||
|
@ -357,12 +425,13 @@ int wiiuse_register_system_notification(HWND hwnd) {
|
||||||
Filter.dbcc_devicetype = DBT_DEVTYP_DEVICEINTERFACE;
|
Filter.dbcc_devicetype = DBT_DEVTYP_DEVICEINTERFACE;
|
||||||
//Filter.dbcc_classguid = wiimoteguid;
|
//Filter.dbcc_classguid = wiimoteguid;
|
||||||
|
|
||||||
return RegisterDeviceNotification(hwnd,&Filter, DEVICE_NOTIFY_ALL_INTERFACE_CLASSES);
|
return (int)RegisterDeviceNotification(hwnd, &Filter, DEVICE_NOTIFY_ALL_INTERFACE_CLASSES);
|
||||||
}
|
}
|
||||||
|
|
||||||
int wiiuse_remove(struct wiimote_t** wm, int wiimotes, int max_wiimotes) {
|
int wiiuse_remove(struct wiimote_t** wm, int wiimotes, int max_wiimotes)
|
||||||
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
WIIUSE_INFO("Remove Wiimotes, WM: %i MAX_WM: %i",wiimotes, max_wiimotes);
|
NOTICE_LOG(WIIMOTE, "Remove Wiimotes, WM: %i MAX_WM: %i",wiimotes, max_wiimotes);
|
||||||
|
|
||||||
//No cleanup needed, less wiimotes available than needed
|
//No cleanup needed, less wiimotes available than needed
|
||||||
if (wiimotes <= max_wiimotes)
|
if (wiimotes <= max_wiimotes)
|
|
@ -131,5 +131,5 @@ void wiiuse_set_ir_sensitivity(struct wiimote_t* wm, int level) {
|
||||||
wiiuse_write_data(wm, WM_REG_IR_BLOCK1, (byte*)block1, 9);
|
wiiuse_write_data(wm, WM_REG_IR_BLOCK1, (byte*)block1, 9);
|
||||||
wiiuse_write_data(wm, WM_REG_IR_BLOCK2, (byte*)block2, 2);
|
wiiuse_write_data(wm, WM_REG_IR_BLOCK2, (byte*)block2, 2);
|
||||||
|
|
||||||
WIIUSE_DEBUG("Set IR sensitivity to level %i (unid %i)", level, wm->unid);
|
DEBUG_LOG(WIIMOTE, "Set IR sensitivity to level %i (unid %i)", level, wm->unid);
|
||||||
}
|
}
|
|
@ -68,7 +68,7 @@ void wiiuse_cleanup(struct wiimote_t** wm, int wiimotes) {
|
||||||
if (!wm)
|
if (!wm)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
WIIUSE_INFO("wiiuse clean up...");
|
NOTICE_LOG(WIIMOTE, "wiiuse clean up...");
|
||||||
|
|
||||||
for (; i < wiimotes; ++i) {
|
for (; i < wiimotes; ++i) {
|
||||||
wiiuse_disconnect(wm[i]);
|
wiiuse_disconnect(wm[i]);
|
||||||
|
@ -150,7 +150,7 @@ struct wiimote_t** wiiuse_init(int wiimotes) {
|
||||||
void wiiuse_disconnected(struct wiimote_t* wm) {
|
void wiiuse_disconnected(struct wiimote_t* wm) {
|
||||||
if (!wm) return;
|
if (!wm) return;
|
||||||
|
|
||||||
WIIUSE_INFO("Wiimote disconnected [id %i].", wm->unid);
|
NOTICE_LOG(WIIMOTE, "Wiimote disconnected [id %i].", wm->unid);
|
||||||
|
|
||||||
/* disable the connected flag */
|
/* disable the connected flag */
|
||||||
WIIMOTE_DISABLE_STATE(wm, WIIMOTE_STATE_CONNECTED);
|
WIIMOTE_DISABLE_STATE(wm, WIIMOTE_STATE_CONNECTED);
|
||||||
|
@ -188,11 +188,11 @@ void wiiuse_rumble(struct wiimote_t* wm, int status) {
|
||||||
buf = wm->leds;
|
buf = wm->leds;
|
||||||
|
|
||||||
if (status) {
|
if (status) {
|
||||||
WIIUSE_DEBUG("Starting rumble...");
|
DEBUG_LOG(WIIMOTE, "Starting rumble...");
|
||||||
WIIMOTE_ENABLE_STATE(wm, WIIMOTE_STATE_RUMBLE);
|
WIIMOTE_ENABLE_STATE(wm, WIIMOTE_STATE_RUMBLE);
|
||||||
buf |= 0x01;
|
buf |= 0x01;
|
||||||
} else {
|
} else {
|
||||||
WIIUSE_DEBUG("Stopping rumble...");
|
DEBUG_LOG(WIIMOTE, "Stopping rumble...");
|
||||||
WIIMOTE_DISABLE_STATE(wm, WIIMOTE_STATE_RUMBLE);
|
WIIMOTE_DISABLE_STATE(wm, WIIMOTE_STATE_RUMBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -261,7 +261,7 @@ int wiiuse_set_report_type(struct wiimote_t* wm) {
|
||||||
buf[1] = 0x30;
|
buf[1] = 0x30;
|
||||||
|
|
||||||
|
|
||||||
WIIUSE_DEBUG("Setting report type: 0x%x", buf[1]);
|
DEBUG_LOG(WIIMOTE, "Setting report type: 0x%x", buf[1]);
|
||||||
|
|
||||||
expansion = wiiuse_send(wm, WM_CMD_REPORT_TYPE, buf, 2);
|
expansion = wiiuse_send(wm, WM_CMD_REPORT_TYPE, buf, 2);
|
||||||
if (expansion <= 0)
|
if (expansion <= 0)
|
||||||
|
@ -288,7 +288,7 @@ int wiiuse_write_data(struct wiimote_t* wm, unsigned int addr, byte* data, byte
|
||||||
if (!data || !len)
|
if (!data || !len)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
WIIUSE_DEBUG("Writing %i bytes to memory location 0x%x...", len, addr);
|
DEBUG_LOG(WIIMOTE, "Writing %i bytes to memory location 0x%x...", len, addr);
|
||||||
|
|
||||||
#ifdef WITH_WIIUSE_DEBUG
|
#ifdef WITH_WIIUSE_DEBUG
|
||||||
{
|
{
|
|
@ -185,63 +185,37 @@ typedef struct wiimote_t {
|
||||||
*
|
*
|
||||||
*****************************************/
|
*****************************************/
|
||||||
|
|
||||||
#define WIIUSE_COMPILE_LIB
|
|
||||||
|
|
||||||
#ifdef _WIN32
|
|
||||||
#define WIIUSE_EXPORT_DECL __declspec(dllexport)
|
|
||||||
#define WIIUSE_IMPORT_DECL __declspec(dllimport)
|
|
||||||
#else
|
|
||||||
#define WIIUSE_EXPORT_DECL
|
|
||||||
#define WIIUSE_IMPORT_DECL
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef WIIUSE_COMPILE_LIB
|
|
||||||
#define WIIUSE_EXPORT WIIUSE_EXPORT_DECL
|
|
||||||
#else
|
|
||||||
#define WIIUSE_EXPORT WIIUSE_IMPORT_DECL
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* wiiuse.c */
|
/* wiiuse.c */
|
||||||
WIIUSE_EXPORT extern const char* wiiuse_version();
|
extern const char* wiiuse_version();
|
||||||
|
|
||||||
WIIUSE_EXPORT extern struct wiimote_t** wiiuse_init(int wiimotes);
|
extern struct wiimote_t** wiiuse_init(int wiimotes);
|
||||||
WIIUSE_EXPORT extern void wiiuse_disconnected(struct wiimote_t* wm);
|
extern void wiiuse_disconnected(struct wiimote_t* wm);
|
||||||
WIIUSE_EXPORT extern void wiiuse_cleanup(struct wiimote_t** wm, int wiimotes);
|
extern void wiiuse_cleanup(struct wiimote_t** wm, int wiimotes);
|
||||||
WIIUSE_EXPORT extern void wiiuse_rumble(struct wiimote_t* wm, int status);
|
extern void wiiuse_rumble(struct wiimote_t* wm, int status);
|
||||||
WIIUSE_EXPORT extern void wiiuse_set_leds(struct wiimote_t* wm, int leds);
|
extern void wiiuse_set_leds(struct wiimote_t* wm, int leds);
|
||||||
WIIUSE_EXPORT extern int wiiuse_write_data(struct wiimote_t* wm, unsigned int addr, byte* data, byte len);
|
extern int wiiuse_write_data(struct wiimote_t* wm, unsigned int addr, byte* data, byte len);
|
||||||
|
|
||||||
/* connect.c / io_win.c */
|
/* connect.c / io_win.c */
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
WIIUSE_EXPORT extern int wiiuse_find(struct wiimote_t** wm, int max_wiimotes, int wiimotes);
|
extern int wiiuse_find(struct wiimote_t** wm, int max_wiimotes, int wiimotes);
|
||||||
#else
|
#else
|
||||||
WIIUSE_EXPORT extern int wiiuse_find(struct wiimote_t** wm, int max_wiimotes, int timeout);
|
extern int wiiuse_find(struct wiimote_t** wm, int max_wiimotes, int timeout);
|
||||||
#endif
|
#endif
|
||||||
WIIUSE_EXPORT extern int wiiuse_connect(struct wiimote_t** wm, int wiimotes);
|
extern int wiiuse_connect(struct wiimote_t** wm, int wiimotes);
|
||||||
WIIUSE_EXPORT extern void wiiuse_disconnect(struct wiimote_t* wm);
|
extern void wiiuse_disconnect(struct wiimote_t* wm);
|
||||||
WIIUSE_EXPORT extern void wiiuse_set_timeout(struct wiimote_t** wm, int wiimotes, byte timeout);
|
extern void wiiuse_set_timeout(struct wiimote_t** wm, int wiimotes, byte timeout);
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
WIIUSE_EXPORT extern int wiiuse_check_system_notification(unsigned int nMsg, WPARAM wParam, LPARAM lParam);
|
extern int wiiuse_check_system_notification(unsigned int nMsg, WPARAM wParam, LPARAM lParam);
|
||||||
WIIUSE_EXPORT extern int wiiuse_register_system_notification(HWND hwnd);
|
extern int wiiuse_register_system_notification(HWND hwnd);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* ir.c */
|
/* ir.c */
|
||||||
WIIUSE_EXPORT extern void wiiuse_set_ir_sensitivity(struct wiimote_t* wm, int level);
|
extern void wiiuse_set_ir_sensitivity(struct wiimote_t* wm, int level);
|
||||||
|
|
||||||
/* io.c */
|
/* io.c */
|
||||||
WIIUSE_EXPORT extern int wiiuse_io_read(struct wiimote_t* wm);
|
extern int wiiuse_io_read(struct wiimote_t* wm);
|
||||||
WIIUSE_EXPORT extern int wiiuse_io_write(struct wiimote_t* wm, byte* buf, int len);
|
extern int wiiuse_io_write(struct wiimote_t* wm, byte* buf, int len);
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* WIIUSE_H_INCLUDED */
|
#endif /* WIIUSE_H_INCLUDED */
|
||||||
|
|
|
@ -156,16 +156,8 @@
|
||||||
|
|
||||||
#include "wiiuse.h"
|
#include "wiiuse.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* not part of the api */
|
/* not part of the api */
|
||||||
int wiiuse_set_report_type(struct wiimote_t* wm);
|
int wiiuse_set_report_type(struct wiimote_t* wm);
|
||||||
int wiiuse_send(struct wiimote_t* wm, byte report_type, byte* msg, int len);
|
int wiiuse_send(struct wiimote_t* wm, byte report_type, byte* msg, int len);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* WIIUSE_INTERNAL_H_INCLUDED */
|
#endif /* WIIUSE_INTERNAL_H_INCLUDED */
|
|
@ -43,7 +43,8 @@
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..\..\Source\Core\Common\Src"
|
AdditionalIncludeDirectories="..\Common\Src"
|
||||||
|
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
|
||||||
MinimalRebuild="true"
|
MinimalRebuild="true"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
|
@ -61,9 +62,9 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLibrarianTool"
|
Name="VCLibrarianTool"
|
||||||
AdditionalDependencies="hid.lib setupapi.lib Common.lib"
|
AdditionalDependencies="setupapi.lib"
|
||||||
OutputFile="$(PlatformName)\$(ProjectName)d.lib"
|
OutputFile="$(OutDir)\$(ProjectName).lib"
|
||||||
AdditionalLibraryDirectories=""..\..\Source\Core\Common\$(OutDir)""
|
AdditionalLibraryDirectories=""
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCALinkTool"
|
||||||
|
@ -107,7 +108,8 @@
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="..\..\Source\Core\Common\Src"
|
AdditionalIncludeDirectories="..\Common\Src"
|
||||||
|
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
|
||||||
MinimalRebuild="true"
|
MinimalRebuild="true"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
RuntimeLibrary="1"
|
RuntimeLibrary="1"
|
||||||
|
@ -125,9 +127,9 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLibrarianTool"
|
Name="VCLibrarianTool"
|
||||||
AdditionalDependencies="hid.lib setupapi.lib Common.lib"
|
AdditionalDependencies="setupapi.lib"
|
||||||
OutputFile="$(PlatformName)\$(ProjectName)d.lib"
|
OutputFile="$(OutDir)\$(ProjectName).lib"
|
||||||
AdditionalLibraryDirectories=""..\..\Source\Core\Common\$(OutDir)""
|
AdditionalLibraryDirectories=""
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCALinkTool"
|
||||||
|
@ -172,7 +174,8 @@
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="2"
|
Optimization="2"
|
||||||
EnableIntrinsicFunctions="true"
|
EnableIntrinsicFunctions="true"
|
||||||
AdditionalIncludeDirectories="..\..\Source\Core\Common\Src"
|
AdditionalIncludeDirectories="..\Common\Src"
|
||||||
|
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
EnableFunctionLevelLinking="true"
|
EnableFunctionLevelLinking="true"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
|
@ -189,9 +192,9 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLibrarianTool"
|
Name="VCLibrarianTool"
|
||||||
AdditionalDependencies="hid.lib setupapi.lib Common.lib"
|
AdditionalDependencies="setupapi.lib"
|
||||||
OutputFile="$(PlatformName)\$(ProjectName).lib"
|
OutputFile="$(OutDir)\$(ProjectName).lib"
|
||||||
AdditionalLibraryDirectories=""..\..\Source\Core\Common\$(PlatformName)\Release""
|
AdditionalLibraryDirectories=""
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCALinkTool"
|
||||||
|
@ -237,7 +240,8 @@
|
||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="2"
|
Optimization="2"
|
||||||
EnableIntrinsicFunctions="true"
|
EnableIntrinsicFunctions="true"
|
||||||
AdditionalIncludeDirectories="..\..\Source\Core\Common\Src"
|
AdditionalIncludeDirectories="..\Common\Src"
|
||||||
|
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_SECURE_SCL=0;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
EnableFunctionLevelLinking="true"
|
EnableFunctionLevelLinking="true"
|
||||||
WarningLevel="3"
|
WarningLevel="3"
|
||||||
|
@ -254,9 +258,9 @@
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCLibrarianTool"
|
Name="VCLibrarianTool"
|
||||||
AdditionalDependencies="Ws2_32.lib hid.lib setupapi.lib Common.lib"
|
AdditionalDependencies="setupapi.lib"
|
||||||
OutputFile="$(PlatformName)\$(ProjectName).lib"
|
OutputFile="$(OutDir)\$(ProjectName).lib"
|
||||||
AdditionalLibraryDirectories=""..\..\Source\Core\Common\$(PlatformName)\Release""
|
AdditionalLibraryDirectories=""
|
||||||
/>
|
/>
|
||||||
<Tool
|
<Tool
|
||||||
Name="VCALinkTool"
|
Name="VCALinkTool"
|
||||||
|
@ -366,7 +370,7 @@
|
||||||
</FileConfiguration>
|
</FileConfiguration>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\Src\io_win.c"
|
RelativePath=".\Src\io_win.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
|
@ -374,7 +378,7 @@
|
||||||
Name="Wiimote Data"
|
Name="Wiimote Data"
|
||||||
>
|
>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\Src\ir.c"
|
RelativePath=".\Src\ir.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
|
@ -383,7 +387,7 @@
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath=".\Src\wiiuse.c"
|
RelativePath=".\Src\wiiuse.cpp"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
<File
|
<File
|
|
@ -4,6 +4,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Core", "Core\Core\Core.vcpr
|
||||||
ProjectSection(ProjectDependencies) = postProject
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
{C7E5D50A-2916-464B-86A7-E10B3CC88ADA} = {C7E5D50A-2916-464B-86A7-E10B3CC88ADA}
|
{C7E5D50A-2916-464B-86A7-E10B3CC88ADA} = {C7E5D50A-2916-464B-86A7-E10B3CC88ADA}
|
||||||
{DA4CA030-A741-4DDC-9DA8-B2F351F0F158} = {DA4CA030-A741-4DDC-9DA8-B2F351F0F158}
|
{DA4CA030-A741-4DDC-9DA8-B2F351F0F158} = {DA4CA030-A741-4DDC-9DA8-B2F351F0F158}
|
||||||
|
{52F70249-373A-4401-A70A-FF22760EC1B8} = {52F70249-373A-4401-A70A-FF22760EC1B8}
|
||||||
{33546D62-7F34-4EA6-A88E-D538B36E16BF} = {33546D62-7F34-4EA6-A88E-D538B36E16BF}
|
{33546D62-7F34-4EA6-A88E-D538B36E16BF} = {33546D62-7F34-4EA6-A88E-D538B36E16BF}
|
||||||
{3E03C179-8251-46E4-81F4-466F114BAC63} = {3E03C179-8251-46E4-81F4-466F114BAC63}
|
{3E03C179-8251-46E4-81F4-466F114BAC63} = {3E03C179-8251-46E4-81F4-466F114BAC63}
|
||||||
{823DDC98-42D5-4A38-88CF-9DC06C788AE4} = {823DDC98-42D5-4A38-88CF-9DC06C788AE4}
|
{823DDC98-42D5-4A38-88CF-9DC06C788AE4} = {823DDC98-42D5-4A38-88CF-9DC06C788AE4}
|
||||||
|
@ -259,6 +260,11 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Plugin_VideoMerge", "Plugin
|
||||||
{C573CAF7-EE6A-458E-8049-16C0BF34C2E9} = {C573CAF7-EE6A-458E-8049-16C0BF34C2E9}
|
{C573CAF7-EE6A-458E-8049-16C0BF34C2E9} = {C573CAF7-EE6A-458E-8049-16C0BF34C2E9}
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wiiuse", "Core\wiiuse\wiiuse.vcproj", "{52F70249-373A-4401-A70A-FF22760EC1B8}"
|
||||||
|
ProjectSection(ProjectDependencies) = postProject
|
||||||
|
{C573CAF7-EE6A-458E-8049-16C0BF34C2E9} = {C573CAF7-EE6A-458E-8049-16C0BF34C2E9}
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Win32 = Debug|Win32
|
Debug|Win32 = Debug|Win32
|
||||||
|
@ -383,8 +389,8 @@ Global
|
||||||
{E5D1F0C0-AA07-4841-A4EB-4CF4DAA6B0FA}.Debug|x64.Build.0 = Debug|x64
|
{E5D1F0C0-AA07-4841-A4EB-4CF4DAA6B0FA}.Debug|x64.Build.0 = Debug|x64
|
||||||
{E5D1F0C0-AA07-4841-A4EB-4CF4DAA6B0FA}.DebugFast|Win32.ActiveCfg = DebugFast|Win32
|
{E5D1F0C0-AA07-4841-A4EB-4CF4DAA6B0FA}.DebugFast|Win32.ActiveCfg = DebugFast|Win32
|
||||||
{E5D1F0C0-AA07-4841-A4EB-4CF4DAA6B0FA}.DebugFast|Win32.Build.0 = DebugFast|Win32
|
{E5D1F0C0-AA07-4841-A4EB-4CF4DAA6B0FA}.DebugFast|Win32.Build.0 = DebugFast|Win32
|
||||||
{E5D1F0C0-AA07-4841-A4EB-4CF4DAA6B0FA}.DebugFast|x64.ActiveCfg = DebugFast|x64
|
{E5D1F0C0-AA07-4841-A4EB-4CF4DAA6B0FA}.DebugFast|x64.ActiveCfg = Release|x64
|
||||||
{E5D1F0C0-AA07-4841-A4EB-4CF4DAA6B0FA}.DebugFast|x64.Build.0 = DebugFast|x64
|
{E5D1F0C0-AA07-4841-A4EB-4CF4DAA6B0FA}.DebugFast|x64.Build.0 = Release|x64
|
||||||
{E5D1F0C0-AA07-4841-A4EB-4CF4DAA6B0FA}.Release|Win32.ActiveCfg = Release|Win32
|
{E5D1F0C0-AA07-4841-A4EB-4CF4DAA6B0FA}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{E5D1F0C0-AA07-4841-A4EB-4CF4DAA6B0FA}.Release|Win32.Build.0 = Release|Win32
|
{E5D1F0C0-AA07-4841-A4EB-4CF4DAA6B0FA}.Release|Win32.Build.0 = Release|Win32
|
||||||
{E5D1F0C0-AA07-4841-A4EB-4CF4DAA6B0FA}.Release|x64.ActiveCfg = Release|x64
|
{E5D1F0C0-AA07-4841-A4EB-4CF4DAA6B0FA}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
@ -647,6 +653,18 @@ Global
|
||||||
{CA7F67A1-7DD9-4C49-94B8-F62AF3D4C72E}.DebugFast|x64.ActiveCfg = Debug|x64
|
{CA7F67A1-7DD9-4C49-94B8-F62AF3D4C72E}.DebugFast|x64.ActiveCfg = Debug|x64
|
||||||
{CA7F67A1-7DD9-4C49-94B8-F62AF3D4C72E}.Release|Win32.ActiveCfg = Release|Win32
|
{CA7F67A1-7DD9-4C49-94B8-F62AF3D4C72E}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{CA7F67A1-7DD9-4C49-94B8-F62AF3D4C72E}.Release|x64.ActiveCfg = Release|x64
|
{CA7F67A1-7DD9-4C49-94B8-F62AF3D4C72E}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{52F70249-373A-4401-A70A-FF22760EC1B8}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{52F70249-373A-4401-A70A-FF22760EC1B8}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
|
{52F70249-373A-4401-A70A-FF22760EC1B8}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{52F70249-373A-4401-A70A-FF22760EC1B8}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{52F70249-373A-4401-A70A-FF22760EC1B8}.DebugFast|Win32.ActiveCfg = Release|Win32
|
||||||
|
{52F70249-373A-4401-A70A-FF22760EC1B8}.DebugFast|Win32.Build.0 = Release|Win32
|
||||||
|
{52F70249-373A-4401-A70A-FF22760EC1B8}.DebugFast|x64.ActiveCfg = Release|x64
|
||||||
|
{52F70249-373A-4401-A70A-FF22760EC1B8}.DebugFast|x64.Build.0 = Release|x64
|
||||||
|
{52F70249-373A-4401-A70A-FF22760EC1B8}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
|
{52F70249-373A-4401-A70A-FF22760EC1B8}.Release|Win32.Build.0 = Release|Win32
|
||||||
|
{52F70249-373A-4401-A70A-FF22760EC1B8}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{52F70249-373A-4401-A70A-FF22760EC1B8}.Release|x64.Build.0 = Release|x64
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|
Loading…
Reference in New Issue