diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..6d10cda
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "wiiuse"]
+ path = wiiuse
+ url = https://github.com/rpavlik/wiiuse
diff --git a/WiinScale.sln b/WiinScale.sln
index 9e01df3..39da1ae 100644
--- a/WiinScale.sln
+++ b/WiinScale.sln
@@ -4,17 +4,114 @@ Microsoft Visual Studio Solution File, Format Version 12.00
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WiinScale", "WiinScale\WiinScale.csproj", "{99B4734E-3694-4A4A-BE02-D2FD41F01260}"
+ ProjectSection(ProjectDependencies) = postProject
+ {484414BA-B088-3E2A-A367-7BCC762462BF} = {484414BA-B088-3E2A-A367-7BCC762462BF}
+ {6D610BDA-9461-4B15-9409-8187063624FB} = {6D610BDA-9461-4B15-9409-8187063624FB}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wiiuse", "wiiuse\build\src\wiiuse.vcxproj", "{484414BA-B088-3E2A-A367-7BCC762462BF}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wiiuseexample", "wiiuse\build\example\wiiuseexample.vcxproj", "{94D4B5E8-5C1D-3C85-B30B-744E9931A8BF}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wiiuse_board", "wiiuse_board\wiiuse_board.vcxproj", "{6D610BDA-9461-4B15-9409-8187063624FB}"
+ ProjectSection(ProjectDependencies) = postProject
+ {484414BA-B088-3E2A-A367-7BCC762462BF} = {484414BA-B088-3E2A-A367-7BCC762462BF}
+ EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ MinSizeRel|Any CPU = MinSizeRel|Any CPU
+ MinSizeRel|x64 = MinSizeRel|x64
+ MinSizeRel|x86 = MinSizeRel|x86
Release|Any CPU = Release|Any CPU
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ RelWithDebInfo|Any CPU = RelWithDebInfo|Any CPU
+ RelWithDebInfo|x64 = RelWithDebInfo|x64
+ RelWithDebInfo|x86 = RelWithDebInfo|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{99B4734E-3694-4A4A-BE02-D2FD41F01260}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{99B4734E-3694-4A4A-BE02-D2FD41F01260}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {99B4734E-3694-4A4A-BE02-D2FD41F01260}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {99B4734E-3694-4A4A-BE02-D2FD41F01260}.Debug|x64.Build.0 = Debug|Any CPU
+ {99B4734E-3694-4A4A-BE02-D2FD41F01260}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {99B4734E-3694-4A4A-BE02-D2FD41F01260}.Debug|x86.Build.0 = Debug|Any CPU
+ {99B4734E-3694-4A4A-BE02-D2FD41F01260}.MinSizeRel|Any CPU.ActiveCfg = Release|Any CPU
+ {99B4734E-3694-4A4A-BE02-D2FD41F01260}.MinSizeRel|Any CPU.Build.0 = Release|Any CPU
+ {99B4734E-3694-4A4A-BE02-D2FD41F01260}.MinSizeRel|x64.ActiveCfg = Release|Any CPU
+ {99B4734E-3694-4A4A-BE02-D2FD41F01260}.MinSizeRel|x64.Build.0 = Release|Any CPU
+ {99B4734E-3694-4A4A-BE02-D2FD41F01260}.MinSizeRel|x86.ActiveCfg = Release|Any CPU
+ {99B4734E-3694-4A4A-BE02-D2FD41F01260}.MinSizeRel|x86.Build.0 = Release|Any CPU
{99B4734E-3694-4A4A-BE02-D2FD41F01260}.Release|Any CPU.ActiveCfg = Release|Any CPU
{99B4734E-3694-4A4A-BE02-D2FD41F01260}.Release|Any CPU.Build.0 = Release|Any CPU
+ {99B4734E-3694-4A4A-BE02-D2FD41F01260}.Release|x64.ActiveCfg = Release|Any CPU
+ {99B4734E-3694-4A4A-BE02-D2FD41F01260}.Release|x64.Build.0 = Release|Any CPU
+ {99B4734E-3694-4A4A-BE02-D2FD41F01260}.Release|x86.ActiveCfg = Release|Any CPU
+ {99B4734E-3694-4A4A-BE02-D2FD41F01260}.Release|x86.Build.0 = Release|Any CPU
+ {99B4734E-3694-4A4A-BE02-D2FD41F01260}.RelWithDebInfo|Any CPU.ActiveCfg = Release|Any CPU
+ {99B4734E-3694-4A4A-BE02-D2FD41F01260}.RelWithDebInfo|Any CPU.Build.0 = Release|Any CPU
+ {99B4734E-3694-4A4A-BE02-D2FD41F01260}.RelWithDebInfo|x64.ActiveCfg = Release|Any CPU
+ {99B4734E-3694-4A4A-BE02-D2FD41F01260}.RelWithDebInfo|x64.Build.0 = Release|Any CPU
+ {99B4734E-3694-4A4A-BE02-D2FD41F01260}.RelWithDebInfo|x86.ActiveCfg = Release|Any CPU
+ {99B4734E-3694-4A4A-BE02-D2FD41F01260}.RelWithDebInfo|x86.Build.0 = Release|Any CPU
+ {484414BA-B088-3E2A-A367-7BCC762462BF}.Debug|Any CPU.ActiveCfg = Debug|x64
+ {484414BA-B088-3E2A-A367-7BCC762462BF}.Debug|x64.ActiveCfg = Debug|x64
+ {484414BA-B088-3E2A-A367-7BCC762462BF}.Debug|x64.Build.0 = Debug|x64
+ {484414BA-B088-3E2A-A367-7BCC762462BF}.Debug|x86.ActiveCfg = Debug|x64
+ {484414BA-B088-3E2A-A367-7BCC762462BF}.MinSizeRel|Any CPU.ActiveCfg = MinSizeRel|x64
+ {484414BA-B088-3E2A-A367-7BCC762462BF}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
+ {484414BA-B088-3E2A-A367-7BCC762462BF}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
+ {484414BA-B088-3E2A-A367-7BCC762462BF}.MinSizeRel|x86.ActiveCfg = MinSizeRel|x64
+ {484414BA-B088-3E2A-A367-7BCC762462BF}.Release|Any CPU.ActiveCfg = Release|x64
+ {484414BA-B088-3E2A-A367-7BCC762462BF}.Release|x64.ActiveCfg = Release|x64
+ {484414BA-B088-3E2A-A367-7BCC762462BF}.Release|x64.Build.0 = Release|x64
+ {484414BA-B088-3E2A-A367-7BCC762462BF}.Release|x86.ActiveCfg = Release|x64
+ {484414BA-B088-3E2A-A367-7BCC762462BF}.RelWithDebInfo|Any CPU.ActiveCfg = RelWithDebInfo|x64
+ {484414BA-B088-3E2A-A367-7BCC762462BF}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
+ {484414BA-B088-3E2A-A367-7BCC762462BF}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
+ {484414BA-B088-3E2A-A367-7BCC762462BF}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x64
+ {94D4B5E8-5C1D-3C85-B30B-744E9931A8BF}.Debug|Any CPU.ActiveCfg = Debug|x64
+ {94D4B5E8-5C1D-3C85-B30B-744E9931A8BF}.Debug|x64.ActiveCfg = Debug|x64
+ {94D4B5E8-5C1D-3C85-B30B-744E9931A8BF}.Debug|x64.Build.0 = Debug|x64
+ {94D4B5E8-5C1D-3C85-B30B-744E9931A8BF}.Debug|x86.ActiveCfg = Debug|x64
+ {94D4B5E8-5C1D-3C85-B30B-744E9931A8BF}.MinSizeRel|Any CPU.ActiveCfg = MinSizeRel|x64
+ {94D4B5E8-5C1D-3C85-B30B-744E9931A8BF}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64
+ {94D4B5E8-5C1D-3C85-B30B-744E9931A8BF}.MinSizeRel|x64.Build.0 = MinSizeRel|x64
+ {94D4B5E8-5C1D-3C85-B30B-744E9931A8BF}.MinSizeRel|x86.ActiveCfg = MinSizeRel|x64
+ {94D4B5E8-5C1D-3C85-B30B-744E9931A8BF}.Release|Any CPU.ActiveCfg = Release|x64
+ {94D4B5E8-5C1D-3C85-B30B-744E9931A8BF}.Release|x64.ActiveCfg = Release|x64
+ {94D4B5E8-5C1D-3C85-B30B-744E9931A8BF}.Release|x64.Build.0 = Release|x64
+ {94D4B5E8-5C1D-3C85-B30B-744E9931A8BF}.Release|x86.ActiveCfg = Release|x64
+ {94D4B5E8-5C1D-3C85-B30B-744E9931A8BF}.RelWithDebInfo|Any CPU.ActiveCfg = RelWithDebInfo|x64
+ {94D4B5E8-5C1D-3C85-B30B-744E9931A8BF}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64
+ {94D4B5E8-5C1D-3C85-B30B-744E9931A8BF}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64
+ {94D4B5E8-5C1D-3C85-B30B-744E9931A8BF}.RelWithDebInfo|x86.ActiveCfg = RelWithDebInfo|x64
+ {6D610BDA-9461-4B15-9409-8187063624FB}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {6D610BDA-9461-4B15-9409-8187063624FB}.Debug|x64.ActiveCfg = Debug|x64
+ {6D610BDA-9461-4B15-9409-8187063624FB}.Debug|x64.Build.0 = Debug|x64
+ {6D610BDA-9461-4B15-9409-8187063624FB}.Debug|x86.ActiveCfg = Debug|Win32
+ {6D610BDA-9461-4B15-9409-8187063624FB}.Debug|x86.Build.0 = Debug|Win32
+ {6D610BDA-9461-4B15-9409-8187063624FB}.MinSizeRel|Any CPU.ActiveCfg = Release|x64
+ {6D610BDA-9461-4B15-9409-8187063624FB}.MinSizeRel|Any CPU.Build.0 = Release|x64
+ {6D610BDA-9461-4B15-9409-8187063624FB}.MinSizeRel|x64.ActiveCfg = Release|x64
+ {6D610BDA-9461-4B15-9409-8187063624FB}.MinSizeRel|x64.Build.0 = Release|x64
+ {6D610BDA-9461-4B15-9409-8187063624FB}.MinSizeRel|x86.ActiveCfg = Release|Win32
+ {6D610BDA-9461-4B15-9409-8187063624FB}.MinSizeRel|x86.Build.0 = Release|Win32
+ {6D610BDA-9461-4B15-9409-8187063624FB}.Release|Any CPU.ActiveCfg = Release|Win32
+ {6D610BDA-9461-4B15-9409-8187063624FB}.Release|x64.ActiveCfg = Release|x64
+ {6D610BDA-9461-4B15-9409-8187063624FB}.Release|x64.Build.0 = Release|x64
+ {6D610BDA-9461-4B15-9409-8187063624FB}.Release|x86.ActiveCfg = Release|Win32
+ {6D610BDA-9461-4B15-9409-8187063624FB}.Release|x86.Build.0 = Release|Win32
+ {6D610BDA-9461-4B15-9409-8187063624FB}.RelWithDebInfo|Any CPU.ActiveCfg = Release|x64
+ {6D610BDA-9461-4B15-9409-8187063624FB}.RelWithDebInfo|Any CPU.Build.0 = Release|x64
+ {6D610BDA-9461-4B15-9409-8187063624FB}.RelWithDebInfo|x64.ActiveCfg = Release|x64
+ {6D610BDA-9461-4B15-9409-8187063624FB}.RelWithDebInfo|x64.Build.0 = Release|x64
+ {6D610BDA-9461-4B15-9409-8187063624FB}.RelWithDebInfo|x86.ActiveCfg = Release|Win32
+ {6D610BDA-9461-4B15-9409-8187063624FB}.RelWithDebInfo|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/WiinScale/Form1.Designer.cs b/WiinScale/Form1.Designer.cs
index 2bf5e38..2e7ead9 100644
--- a/WiinScale/Form1.Designer.cs
+++ b/WiinScale/Form1.Designer.cs
@@ -28,12 +28,75 @@
///
private void InitializeComponent()
{
- this.components = new System.ComponentModel.Container();
+ this.ConnectionStatus = new System.Windows.Forms.Label();
+ this.Weight = new System.Windows.Forms.Label();
+ this.splitContainer1 = new System.Windows.Forms.SplitContainer();
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
+ this.splitContainer1.Panel1.SuspendLayout();
+ this.splitContainer1.Panel2.SuspendLayout();
+ this.splitContainer1.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // ConnectionStatus
+ //
+ this.ConnectionStatus.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.ConnectionStatus.Location = new System.Drawing.Point(0, 0);
+ this.ConnectionStatus.Name = "ConnectionStatus";
+ this.ConnectionStatus.Size = new System.Drawing.Size(421, 25);
+ this.ConnectionStatus.TabIndex = 0;
+ this.ConnectionStatus.Text = "...";
+ //
+ // Weight
+ //
+ this.Weight.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.Weight.Font = new System.Drawing.Font("Microsoft Sans Serif", 32F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.Weight.Location = new System.Drawing.Point(0, 0);
+ this.Weight.Name = "Weight";
+ this.Weight.Size = new System.Drawing.Size(421, 248);
+ this.Weight.TabIndex = 1;
+ this.Weight.Text = "...";
+ this.Weight.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // splitContainer1
+ //
+ this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.splitContainer1.IsSplitterFixed = true;
+ this.splitContainer1.Location = new System.Drawing.Point(0, 0);
+ this.splitContainer1.Name = "splitContainer1";
+ this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
+ //
+ // splitContainer1.Panel1
+ //
+ this.splitContainer1.Panel1.Controls.Add(this.ConnectionStatus);
+ //
+ // splitContainer1.Panel2
+ //
+ this.splitContainer1.Panel2.Controls.Add(this.Weight);
+ this.splitContainer1.Size = new System.Drawing.Size(421, 277);
+ this.splitContainer1.SplitterDistance = 25;
+ this.splitContainer1.TabIndex = 2;
+ //
+ // Form1
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.Text = "Form1";
+ this.ClientSize = new System.Drawing.Size(421, 277);
+ this.Controls.Add(this.splitContainer1);
+ this.Name = "Form1";
+ this.Text = "WiinScale";
+ this.splitContainer1.Panel1.ResumeLayout(false);
+ this.splitContainer1.Panel2.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
+ this.splitContainer1.ResumeLayout(false);
+ this.ResumeLayout(false);
+
}
#endregion
+
+ private System.Windows.Forms.Label ConnectionStatus;
+ private System.Windows.Forms.Label Weight;
+ private System.Windows.Forms.SplitContainer splitContainer1;
}
}
diff --git a/WiinScale/Form1.cs b/WiinScale/Form1.cs
index 4a6eba6..81fb8b6 100644
--- a/WiinScale/Form1.cs
+++ b/WiinScale/Form1.cs
@@ -1,12 +1,7 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
+using System.Threading.Tasks;
using System.Windows.Forms;
+using System.Runtime.InteropServices;
+using System;
namespace WiinScale
{
@@ -15,6 +10,45 @@ namespace WiinScale
public Form1()
{
InitializeComponent();
+
+ Task.Run(() =>
+ {
+ int connected = 0;
+ while (connected == 0)
+ {
+ ConnectionStatus.BeginInvoke((Action)(() => {
+ ConnectionStatus.Text = "Connecting...";
+ }));
+
+ while ((connected = WiiUseBoard.Init()) == 0)
+ System.Threading.Thread.Sleep(500);
+
+ ConnectionStatus.BeginInvoke((Action)(() => {
+ ConnectionStatus.Text = "Connected";
+ }));
+
+ float weight, x, y;
+ while ((connected = WiiUseBoard.Read(out weight, out x, out y)) != 0)
+ {
+ Weight.BeginInvoke((Action)(() => {
+ Weight.Text = string.Format("{0:00.00} Kg", weight);
+ }));
+ System.Threading.Thread.Sleep(50);
+ }
+
+ WiiUseBoard.Shutdown();
+ }
+ });
}
}
+
+ public static class WiiUseBoard
+ {
+ [DllImport("wiiuse_board.dll", EntryPoint = "wiiuse_board_init")]
+ public extern static int Init();
+ [DllImport("wiiuse_board.dll", EntryPoint = "wiiuse_board_read")]
+ public extern static int Read(out float weight, out float x, out float y);
+ [DllImport("wiiuse_board.dll", EntryPoint = "wiiuse_board_shutdown")]
+ public extern static void Shutdown();
+ }
}
diff --git a/WiinScale/Form1.resx b/WiinScale/Form1.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/WiinScale/Form1.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/WiinScale/Program.cs b/WiinScale/Program.cs
index f106ae7..9df9850 100644
--- a/WiinScale/Program.cs
+++ b/WiinScale/Program.cs
@@ -1,8 +1,7 @@
using System;
-using System.Collections.Generic;
-using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
+using System.Runtime.InteropServices;
namespace WiinScale
{
diff --git a/WiinScale/WiinScale.csproj b/WiinScale/WiinScale.csproj
index a0dbaf1..cf290a2 100644
--- a/WiinScale/WiinScale.csproj
+++ b/WiinScale/WiinScale.csproj
@@ -14,7 +14,7 @@
true
- AnyCPU
+ x64
true
full
false
@@ -24,7 +24,7 @@
4
- AnyCPU
+ x64
pdbonly
true
bin\Release\
@@ -54,6 +54,9 @@
+
+ Form1.cs
+
ResXFileCodeGenerator
Resources.Designer.cs
diff --git a/wiiuse b/wiiuse
new file mode 160000
index 0000000..53c5ca6
--- /dev/null
+++ b/wiiuse
@@ -0,0 +1 @@
+Subproject commit 53c5ca618a7a25c06f95ad3ac987f3992c2e7a05
diff --git a/wiiuse_board/main.c b/wiiuse_board/main.c
new file mode 100644
index 0000000..b31c077
--- /dev/null
+++ b/wiiuse_board/main.c
@@ -0,0 +1,64 @@
+#include "wiiuse.h"
+
+#define MAX_WIIMOTES 5
+static wiimote** wiimotes;
+static int board;
+
+__declspec(dllexport) int wiiuse_board_init()
+{
+ wiimotes = wiiuse_init(MAX_WIIMOTES);
+ int count = wiiuse_find(wiimotes, MAX_WIIMOTES, 5);
+ count = wiiuse_connect(wiimotes, count);
+ board = -1;
+ for (int i = 0; i < count; i++)
+ if (board == -1 && wiimotes[i]->exp.type == EXP_WII_BOARD)
+ board = i;
+ else
+ wiiuse_disconnect(wiimotes[i]);
+
+ if (board == -1)
+ wiiuse_cleanup(wiimotes, MAX_WIIMOTES);
+
+ return board != -1;
+}
+
+__declspec(dllexport) int wiiuse_board_read(float* weight, float* x, float* y)
+{
+ int read = 0;
+ if (board != -1)
+ {
+ while (wiiuse_poll(wiimotes, MAX_WIIMOTES))
+ {
+ switch (wiimotes[board]->event)
+ {
+ case WIIUSE_EVENT:
+ {
+ struct wii_board_t* wb = (wii_board_t*)&wiimotes[board]->exp.wb;
+ *weight = wb->tl + wb->tr + wb->bl + wb->br;
+ *x = ((wb->tr + wb->br) / *weight) * 2 - 1;
+ *y = ((wb->tl + wb->tr) / *weight) * 2 - 1;
+ read++;
+ break;
+ }
+
+ case WIIUSE_WII_BOARD_CTRL_REMOVED:
+ case WIIUSE_DISCONNECT:
+ case WIIUSE_UNEXPECTED_DISCONNECT:
+ {
+ return 0;
+ break;
+ }
+ }
+ }
+ }
+ return read;
+}
+
+__declspec(dllexport) void wiiuse_board_shutdown()
+{
+ if (board != -1 && wiimotes[board]->state == WIIMOTE_STATE_CONNECTED)
+ wiiuse_disconnect(wiimotes[board]);
+ wiiuse_cleanup(wiimotes, MAX_WIIMOTES);
+ wiimotes = 0;
+ board = -1;
+}
diff --git a/wiiuse_board/wiiuse_board.vcxproj b/wiiuse_board/wiiuse_board.vcxproj
new file mode 100644
index 0000000..898d4b0
--- /dev/null
+++ b/wiiuse_board/wiiuse_board.vcxproj
@@ -0,0 +1,176 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ {6D610BDA-9461-4B15-9409-8187063624FB}
+ Win32Proj
+ wiiuse_board
+ 8.1
+
+
+
+ DynamicLibrary
+ true
+ v140
+ Unicode
+
+
+ DynamicLibrary
+ false
+ v140
+ true
+ Unicode
+
+
+ DynamicLibrary
+ true
+ v140
+ Unicode
+
+
+ DynamicLibrary
+ false
+ v140
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+ true
+
+
+ false
+
+
+ false
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_WINDOWS;_USRDLL;WIIUSE_BOARD_EXPORTS;%(PreprocessorDefinitions)
+ C:\Users\Daniel\Documents\WiinScale\wiiuse\src;%(AdditionalIncludeDirectories)
+
+
+ Windows
+ true
+ $(SolutionDir)\wiiuse\build\src\debug
+ wiiuse_debug.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+
+
+ xcopy $(OutputPath)\$(TargetFileName) $(SolutionDir)\WiinScale\bin\Debug
+xcopy $(OutputPath)\$(TargetFileName) $(SolutionDir)\WiinScale\bin\Release
+xcopy $(SolutionDir)\wiiuse\build\src\debug\wiiuse_debug.dll $(SolutionDir)\WiinScale\bin\Debug
+xcopy $(SolutionDir)\wiiuse\build\src\release\wiiuse.dll $(SolutionDir)\WiinScale\bin\Release
+
+
+
+
+
+
+ Level3
+ Disabled
+ _DEBUG;_WINDOWS;_USRDLL;WIIUSE_BOARD_EXPORTS;%(PreprocessorDefinitions)
+ C:\Users\Daniel\Documents\WiinScale\wiiuse\src;%(AdditionalIncludeDirectories)
+
+
+ Windows
+ true
+ $(SolutionDir)\wiiuse\build\src\debug
+ wiiuse_debug.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+
+
+ xcopy /Y $(OutputPath)$(TargetFileName) $(SolutionDir)WiinScale\bin\Debug
+xcopy /Y $(SolutionDir)wiiuse\build\src\debug\wiiuse_debug.dll $(SolutionDir)WiinScale\bin\Debug
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;_USRDLL;WIIUSE_BOARD_EXPORTS;%(PreprocessorDefinitions)
+ C:\Users\Daniel\Documents\WiinScale\wiiuse\src;%(AdditionalIncludeDirectories)
+
+
+ Windows
+ true
+ true
+ true
+ $(SolutionDir)\wiiuse\build\src\debug
+ wiiuse.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ NDEBUG;_WINDOWS;_USRDLL;WIIUSE_BOARD_EXPORTS;%(PreprocessorDefinitions)
+ C:\Users\Daniel\Documents\WiinScale\wiiuse\src;%(AdditionalIncludeDirectories)
+
+
+ Windows
+ true
+ true
+ true
+ $(SolutionDir)\wiiuse\build\src\release
+ wiiuse.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
+
+
+ xcopy /Y $(OutputPath)$(TargetFileName) $(SolutionDir)\WiinScale\bin\Release
+xcopy /Y $(SolutionDir)\wiiuse\build\src\release\wiiuse.dll $(SolutionDir)\WiinScale\bin\Release
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/wiiuse_board/wiiuse_board.vcxproj.filters b/wiiuse_board/wiiuse_board.vcxproj.filters
new file mode 100644
index 0000000..6827613
--- /dev/null
+++ b/wiiuse_board/wiiuse_board.vcxproj.filters
@@ -0,0 +1,22 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;hm;inl;inc;xsd
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+
+
+ Source Files
+
+
+
\ No newline at end of file