diff --git a/.gitignore b/.gitignore
index 8468760d..b09eef38 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,7 +16,6 @@
*.sdf
*.opensdf
*.suo
-*.vcxproj
*.filters
*.user
*.ipch
diff --git a/Dokumentation/Danbias Structure.uxf b/Dokumentation/Danbias Structure.uxf
index f4c57a75..15a0c1b0 100644
--- a/Dokumentation/Danbias Structure.uxf
+++ b/Dokumentation/Danbias Structure.uxf
@@ -1,13 +1,13 @@
- 9
+ 11
com.umlet.element.Class
- 675
- 342
- 108
- 27
+ 759
+ 352
+ 132
+ 33
Graphics
@@ -15,10 +15,10 @@
com.umlet.element.Class
- 441
- 342
- 108
- 27
+ 473
+ 352
+ 132
+ 33
Sound
@@ -26,10 +26,10 @@
com.umlet.element.Class
- 531
- 279
- 108
- 27
+ 583
+ 275
+ 132
+ 33
Physics / Math
@@ -37,10 +37,10 @@
com.umlet.element.Class
- 684
- 153
- 99
- 27
+ 770
+ 121
+ 121
+ 33
Game client
@@ -48,10 +48,10 @@
com.umlet.element.Class
- 351
- 279
- 126
- 27
+ 363
+ 275
+ 154
+ 33
Gamelogic
@@ -59,10 +59,10 @@
com.umlet.element.Class
- 369
- 153
- 99
- 27
+ 385
+ 121
+ 121
+ 33
Game server
@@ -70,10 +70,10 @@
com.umlet.element.Class
- 531
- 207
- 108
- 27
+ 583
+ 187
+ 132
+ 33
Network
@@ -81,10 +81,10 @@
com.umlet.element.Class
- 558
- 342
- 108
- 27
+ 616
+ 352
+ 132
+ 33
Input
@@ -92,10 +92,10 @@
com.umlet.element.Class
- 531
- 243
- 108
- 27
+ 583
+ 231
+ 132
+ 33
Threading
@@ -103,10 +103,10 @@
com.umlet.element.Class
- 531
- 90
- 108
- 36
+ 583
+ 44
+ 132
+ 44
DanBias
bg=green
@@ -115,142 +115,142 @@ bg=green
com.umlet.element.Relation
- 702
- 153
- 44
- 206
+ 792
+ 121
+ 54
+ 252
lt=<-
- 27;189;27;171;27;27
+ 33;231;33;209;33;33
com.umlet.element.Relation
- 459
- 153
- 287
- 206
+ 495
+ 121
+ 351
+ 252
lt=<-
- 27;189;27;171;270;171;270;27
+ 33;231;33;209;330;209;330;33
com.umlet.element.Relation
- 387
- 153
- 44
- 143
+ 407
+ 121
+ 54
+ 175
lt=<-
- 27;126;27;27
+ 33;154;33;33
com.umlet.element.Relation
- 612
- 153
- 134
- 152
+ 682
+ 121
+ 164
+ 186
lt=<-
- 27;135;117;135;117;27
+ 33;165;143;165;143;33
com.umlet.element.Relation
- 387
- 153
- 161
- 80
-
- lt=<-
- 144;63;27;63;27;27
-
-
- com.umlet.element.Relation
-
- 450
- 261
- 98
- 44
-
- lt=<-
- 81;27;27;27
-
-
- com.umlet.element.Relation
-
- 585
- 153
- 161
- 206
-
- lt=<-
- 27;189;27;171;144;171;144;27
-
-
- com.umlet.element.Relation
-
- 387
- 153
- 161
- 116
-
- lt=<-
- 144;99;27;99;27;27
-
-
- com.umlet.element.Relation
-
- 612
- 153
- 134
- 116
-
- lt=<-
- 27;99;117;99;117;27
-
-
- com.umlet.element.Relation
-
- 612
- 153
- 134
- 80
-
- lt=<-
- 27;63;117;63;117;27
-
-
- com.umlet.element.Relation
-
- 612
- 72
- 134
+ 407
+ 121
+ 197
98
- lt=>-
- 27;27;117;27;117;81
+ lt=<-
+ 176;77;33;77;33;33
com.umlet.element.Relation
- 387
- 72
- 161
+ 484
+ 253
+ 120
+ 54
+
+ lt=<-
+ 99;33;33;33
+
+
+ com.umlet.element.Relation
+
+ 649
+ 121
+ 197
+ 252
+
+ lt=<-
+ 33;231;33;209;176;209;176;33
+
+
+ com.umlet.element.Relation
+
+ 407
+ 121
+ 197
+ 142
+
+ lt=<-
+ 176;121;33;121;33;33
+
+
+ com.umlet.element.Relation
+
+ 682
+ 121
+ 164
+ 142
+
+ lt=<-
+ 33;121;143;121;143;33
+
+
+ com.umlet.element.Relation
+
+ 682
+ 121
+ 164
98
+ lt=<-
+ 33;77;143;77;143;33
+
+
+ com.umlet.element.Relation
+
+ 682
+ 22
+ 164
+ 120
+
lt=>-
- 144;27;27;27;27;81
+ 33;33;143;33;143;99
+
+
+ com.umlet.element.Relation
+
+ 407
+ 22
+ 197
+ 120
+
+ lt=>-
+ 176;33;33;33;33;99
com.umlet.element.Package
- 342
- 54
- 450
- 333
+ 352
+ 0
+ 550
+ 407
Game
@@ -258,21 +258,21 @@ bg=green
com.umlet.element.Relation
- 702
- 342
- 44
- 134
+ 792
+ 352
+ 54
+ 164
lt=<<.
- 27;27;27;117
+ 33;33;33;143
com.umlet.element.Package
- 711
- 459
- 261
- 180
+ 803
+ 495
+ 319
+ 220
Graphics
@@ -280,10 +280,10 @@ bg=green
com.umlet.element.Class
- 720
- 486
- 243
- 144
+ 814
+ 528
+ 297
+ 176
<<interface>>
OysterGfx
@@ -300,10 +300,10 @@ Release(resource :Model*) :void
com.umlet.element.Package
- 441
- 459
- 252
- 198
+ 473
+ 495
+ 308
+ 242
Input
@@ -311,21 +311,21 @@ Release(resource :Model*) :void
com.umlet.element.Relation
- 513
- 342
- 116
- 143
+ 561
+ 352
+ 142
+ 175
lt=<<.
- 99;27;99;126;27;126
+ 121;33;121;154;33;154
com.umlet.element.Class
- 450
- 486
- 234
- 162
+ 484
+ 528
+ 286
+ 198
<<interface>>
RawInput
@@ -343,10 +343,10 @@ Enable(Enable :bool) :void
com.umlet.element.Class
- 351
- 342
- 81
- 27
+ 363
+ 352
+ 99
+ 33
Window API
@@ -354,21 +354,21 @@ Enable(Enable :bool) :void
com.umlet.element.Relation
- 360
- 153
- 386
- 206
+ 374
+ 121
+ 472
+ 252
lt=<-
- 27;189;27;171;369;171;369;27
+ 33;231;33;209;451;209;451;33
com.umlet.element.Package
- 126
- 459
- 306
- 198
+ 88
+ 495
+ 374
+ 242
Sound
@@ -376,10 +376,10 @@ Enable(Enable :bool) :void
com.umlet.element.Class
- 135
- 486
- 288
- 99
+ 99
+ 528
+ 352
+ 121
<<interface>>
SoundWrapper
@@ -393,10 +393,10 @@ Release(Resource :ResourceHandle*) :void
com.umlet.element.Class
- 135
- 612
- 288
- 36
+ 99
+ 682
+ 352
+ 44
<<API>>
--
@@ -406,23 +406,23 @@ FMOD
com.umlet.element.Relation
- 252
- 558
- 44
- 71
+ 242
+ 616
+ 54
+ 87
lt=<<.
- 27;54;27;27
+ 33;66;33;33
com.umlet.element.Relation
- 216
- 342
- 296
- 143
+ 198
+ 352
+ 362
+ 175
lt=<<.
- 279;27;279;72;207;72;207;126;27;126
+ 341;33;341;88;253;88;253;154;33;154
diff --git a/Input/Input.vcxproj b/Input/Input.vcxproj
new file mode 100644
index 00000000..57c2e8b7
--- /dev/null
+++ b/Input/Input.vcxproj
@@ -0,0 +1,155 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {7E3990D2-3D94-465C-B58D-64A74B3ECF9B}
+ Input
+
+
+
+ Application
+ true
+ v110
+ Unicode
+
+
+ StaticLibrary
+ true
+ v110
+ Unicode
+
+
+ StaticLibrary
+ false
+ v110
+ true
+ Unicode
+
+
+ StaticLibrary
+ false
+ v110
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)D
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)D
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)
+
+
+
+ Level3
+ Disabled
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+
+
+
+
+ Level3
+ Disabled
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+
+
+
+
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+ true
+ true
+
+
+
+
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Input/Dennis Input/InputCallbackHandler.cpp b/Input/InputCallbackHandler.cpp
similarity index 100%
rename from Input/Dennis Input/InputCallbackHandler.cpp
rename to Input/InputCallbackHandler.cpp
diff --git a/Input/Dennis Input/InputDeviceControll.cpp b/Input/InputDeviceControll.cpp
similarity index 64%
rename from Input/Dennis Input/InputDeviceControll.cpp
rename to Input/InputDeviceControll.cpp
index eb81da10..e22e68dd 100644
--- a/Input/Dennis Input/InputDeviceControll.cpp
+++ b/Input/InputDeviceControll.cpp
@@ -1,30 +1,30 @@
-#include "RawInput.h"
+#include "RawInput_Impl.h"
-void RawInput::Mouse_Show()
+void RawInput_Impl::Mouse_Show()
{
}
-void RawInput::Mouse_Hide()
+void RawInput_Impl::Mouse_Hide()
{
}
-void RawInput::Mouse_Lock()
+void RawInput_Impl::Mouse_Lock()
{
}
-void RawInput::Mouse_Unlock()
+void RawInput_Impl::Mouse_Unlock()
{
}
-void RawInput::Mouse_IsBtnPressed(IN RIK)
+void RawInput_Impl::Mouse_IsBtnPressed(IN RIK)
{
}
-int RawInput::Mouse_WheelDelta()
+int RawInput_Impl::Mouse_WheelDelta()
{
return 0;
}
-POINT RawInput::Mouse_Position()
+POINT RawInput_Impl::Mouse_Position()
{
POINT p = {0, 0};
//POINT p = { this->_activeInputData.data.MOUSE_DATA.MousePos_X, this->_activeInputData.data.MOUSE_DATA.MousePos_Y };
diff --git a/Input/Dennis Input/InputSubscribe.cpp b/Input/InputSubscribe.cpp
similarity index 93%
rename from Input/Dennis Input/InputSubscribe.cpp
rename to Input/InputSubscribe.cpp
index 6b59c090..3e4ec4f8 100644
--- a/Input/Dennis Input/InputSubscribe.cpp
+++ b/Input/InputSubscribe.cpp
@@ -35,11 +35,11 @@ void UNSUBSCRIBE(SubscribeList* l, FNC fnc)
}
-void RawInput::Input_Subscribe (IN INPUT_CALLBACK fnc)
+void RawInput_Impl::Input_Subscribe (IN INPUT_CALLBACK fnc)
{
//SUBSCRIBE(this->_procInput, fnc, &this->_procCollection.id);
}
-void RawInput::Input_Unsubscribe (IN INPUT_CALLBACK fnc)
+void RawInput_Impl::Input_Unsubscribe (IN INPUT_CALLBACK fnc)
{
//UNSUBSCRIBE(this->_procSystemKey, fnc);
}
diff --git a/Input/Dennis Input/InputSystem.cpp b/Input/InputSystem.cpp
similarity index 76%
rename from Input/Dennis Input/InputSystem.cpp
rename to Input/InputSystem.cpp
index 77f5389c..dbb15098 100644
--- a/Input/Dennis Input/InputSystem.cpp
+++ b/Input/InputSystem.cpp
@@ -1,4 +1,4 @@
-#include "RawInput.h"
+#include "RawInput_Impl.h"
#include
#include
#include
@@ -7,7 +7,7 @@
#include
-static RawInput* gInstance = 0;
+static RawInput_Impl* gInstance = 0;
template void DESTROY_LIST(SubscribeList* l)
{
@@ -37,25 +37,25 @@ template void PROCESS_SUBSCRIBERS(SubscribeList_procInput);
+ DESTROY_LIST(RawInput_Impl::Self()->_procInput);
/************************ Delete Other stuff ****************************/
ShowCursor(true);
@@ -72,7 +72,7 @@ void RawInput::Destroy ()
-RawInput::RawInput ()
+RawInput_Impl::RawInput_Impl ()
: _procInput(0)
, _enabled(1)
, _mouseEnabled(1)
@@ -83,16 +83,16 @@ RawInput::RawInput ()
{
if(!_msgHook) this->_errorMsg = L"Failed to initiate window message hook";
}
-RawInput::~RawInput ()
+RawInput_Impl::~RawInput_Impl ()
{}
-const wchar_t* RawInput::Input_GetError() const
+const wchar_t* RawInput_Impl::Input_GetError() const
{
return this->_errorMsg;
}
-bool RawInput::Input_AddDevice(IN const HWND& targetApplication)
+bool RawInput_Impl::Input_AddDevice(IN const HWND& targetApplication)
{
assert(targetApplication != 0);
static const UINT c = 2;
@@ -111,7 +111,7 @@ bool RawInput::Input_AddDevice(IN const HWND& targetApplication)
return true;
}
-bool RawInput::Input_AddDevice(IN const RAWINPUTDEVICE* d, const int& count)
+bool RawInput_Impl::Input_AddDevice(IN const RAWINPUTDEVICE* d, const int& count)
{
for (int i = 0; i < count; i++)
if(!d[i].hwndTarget)
@@ -128,16 +128,16 @@ bool RawInput::Input_AddDevice(IN const RAWINPUTDEVICE* d, const int& count)
//this->_errorMsg = L"Failed to unregister device";
-void RawInput::Input_Disable()
+void RawInput_Impl::Input_Disable()
{
this->_enabled = false;
}
-void RawInput::Input_Enable()
+void RawInput_Impl::Input_Enable()
{
this->_enabled = true;
}
-void RawInput::Input_Read()
+void RawInput_Impl::Input_Read()
{
//for (int i = 0; i < this->_idleKeyData.size(); i++)
// this->_proccessRawKeyboardData(this->_idleKeyData.pop());
@@ -153,7 +153,7 @@ void RawInput::Input_Read()
-bool RawInput::_addDevice (const RAWINPUTDEVICE* k, const int& count)
+bool RawInput_Impl::_addDevice (const RAWINPUTDEVICE* k, const int& count)
{
if(RegisterRawInputDevices(k, count, sizeof(RAWINPUTDEVICE)) == FALSE)
{
diff --git a/Input/Dennis Input/Main.cpp b/Input/Main.cpp
similarity index 94%
rename from Input/Dennis Input/Main.cpp
rename to Input/Main.cpp
index bb355a6d..65a468d1 100644
--- a/Input/Dennis Input/Main.cpp
+++ b/Input/Main.cpp
@@ -1,8 +1,7 @@
-#include "RawInputWrapper.h"
+#include "RawInput.h"
// include the basic windows header file
#include
#include
-#include
#include
@@ -73,7 +72,7 @@ void initWindow(HINSTANCE h, int i)
}
void initRaw()
{
- RawInputWrapper::Self()->Input_AddDevice(hWnd);
+ //RawInput::Self()->Input_AddDevice(hWnd);
}
// the entry point for any Windows program
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
@@ -93,10 +92,10 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine
// send the message to the WindowProc function
DispatchMessage(&msg);
- RawInputWrapper::Self()->Input_Read();
+ //RawInput::Self()->Input_Read();
}
- RawInputWrapper::Destroy();
+ RawInput::Destroy();
return msg.wParam;
}
\ No newline at end of file
diff --git a/Input/Dennis Input/RawInputWrapper.h b/Input/RawInput.h
similarity index 59%
rename from Input/Dennis Input/RawInputWrapper.h
rename to Input/RawInput.h
index 67389c89..a009da5f 100644
--- a/Input/Dennis Input/RawInputWrapper.h
+++ b/Input/RawInput.h
@@ -6,7 +6,7 @@
/*********************************************************************/
-/***************************** Keycodes ******************************/
+/***************************** Enumerations ******************************/
/*********************************************************************/
//! Contains keycodes
enum RIK
@@ -125,18 +125,23 @@ enum RIM
RIM_RightBtn = 0x04,
RIM_Scroll = 0x0400,
};
-/*********************************************************************/
-
-
-/**************************************************************************/
-/***************************** Callback data ******************************/
-/**************************************************************************/
+enum INPUT_ERROR_CODE
+{
+ INPUT_ERROR_CODE_FAILED,
+ INPUT_ERROR_CODE_SUCCESS,
+};
enum InputType
{
InputType_Keyboard,
InputType_Mouse,
InputType_HID,
};
+/*********************************************************************/
+
+
+/**************************************************************************/
+/***************************** Typedefs ******************************/
+/**************************************************************************/
struct RawMouseData
{
bool shift;
@@ -170,42 +175,68 @@ struct RawInputData
RAWHID HID_DATA;
} data;
};
+struct INPUT_DESC
+{
+
+ HWND targetApplication; //!< The target proccess that will proc input.
+ bool manual; //!< Set this to true if you want to lock callback frequency by calling //!< @see Input_Frame()
+};
typedef void(*INPUT_CALLBACK)(const RawInputData*);
/*********************************************************************/
-class RawInputWrapper
+class RawInput
{
public:
- static RawInputWrapper* Self ();
+ /**
+ * @return Returns a pointer to an instance of RawInput.
+ */
+ static RawInput* Self ();
+ /**
+ * Destroys the RawInput singleton object.
+ */
static void Destroy ();
-
- virtual const wchar_t* Input_GetError () const PURE;
- virtual bool Input_AddDevice (IN const HWND& targetApplication) PURE;
- virtual bool Input_AddDevice (IN const RAWINPUTDEVICE* d, IN const int& count) PURE;
+ /**
+ * Adds a standard device to start sending input
+ * @param desc Settings for the device to add
+ * @see INPUT_DESC
+ */
+ virtual INPUT_ERROR_CODE AddDevice (const INPUT_DESC& desc) = 0;
+ virtual INPUT_ERROR_CODE AddDevice (const RAWINPUTDEVICE d[], IN const int count) = 0;
- virtual void Input_Subscribe (IN INPUT_CALLBACK fnc) PURE;
- virtual void Input_Unsubscribe (IN INPUT_CALLBACK fnc) PURE;
+ /**
+ * Registers a function to get callback events.
+ * @param fnc a function pointer to callback function.
+ * @param subscribe If this is set to false, the function will be removed from callback list.
+ */
+ virtual void Subscribe (IN INPUT_CALLBACK fnc, bool subscribe = true) = 0;
- virtual void Input_Disable () PURE;
- virtual void Input_Enable () PURE;
+ /**
+ * Enables or Disables the input proccessing.
+ */
+ virtual void Enable (bool enable) = 0;
- virtual void Input_Read () PURE;
+ //Proccess input
+ /**
+ * Notifies the subscribers if new input has arrived. If manual variable in structure
+ * @see INPUT_DESC is set to false this function call will be pointless.
+ */
+ virtual void Frame () = 0;
- virtual void Mouse_Show () PURE;
- virtual void Mouse_Hide () PURE;
- virtual void Mouse_Lock () PURE;
- virtual void Mouse_Unlock () PURE;
- virtual void Mouse_IsBtnPressed (IN RIK key) PURE;
- virtual int Mouse_WheelDelta () PURE;
- virtual POINT Mouse_Position () PURE;
- virtual void Mouse_Enable () PURE;
- virtual void Mouse_Disable () PURE;
+ virtual void Mouse_Show () = 0;
+ virtual void Mouse_Hide () = 0;
+ virtual void Mouse_Lock () = 0;
+ virtual void Mouse_Unlock () = 0;
+ virtual void Mouse_IsBtnPressed (IN RIK key) = 0;
+ virtual int Mouse_WheelDelta () = 0;
+ virtual POINT Mouse_Position () = 0;
+ virtual void Mouse_Enable () = 0;
+ virtual void Mouse_Disable () = 0;
- virtual bool Keyboard_KeyUp (IN RIK key) PURE;
- virtual bool Keyboard_KeyDown (IN RIK key) PURE;
- virtual void Keyboard_Enable () PURE;
- virtual void Keyboard_Disable () PURE;
+ virtual bool Keyboard_KeyUp (IN RIK key) = 0;
+ virtual bool Keyboard_KeyDown (IN RIK key) = 0;
+ virtual void Keyboard_Enable () = 0;
+ virtual void Keyboard_Disable () = 0;
};
diff --git a/Input/Dennis Input/RawInput.h b/Input/RawInput_Impl.h
similarity index 93%
rename from Input/Dennis Input/RawInput.h
rename to Input/RawInput_Impl.h
index 7f10a878..7983977c 100644
--- a/Input/Dennis Input/RawInput.h
+++ b/Input/RawInput_Impl.h
@@ -1,7 +1,7 @@
#ifndef INCLUDE_GUARD_RAW_INPUT_H
#define INCLUDE_GUARD_RAW_INPUT_H
-#include "RawInputWrapper.h"
+#include "RawInput.h"
#include "misc.h"
#include
@@ -39,7 +39,7 @@ enum RawInput_Usage
RawInput_Usage_TabletPCcontrols = 9,
};
-class RawInput :public RawInputWrapper
+class RawInput_Impl :public RawInput
{
private:
SubscribeList* _procInput;
@@ -57,8 +57,8 @@ class RawInput :public RawInputWrapper
HHOOK _msgHook;
private:
- RawInput ();
- ~RawInput ();
+ RawInput_Impl ();
+ ~RawInput_Impl ();
bool _addDevice (const RAWINPUTDEVICE* k, const int& count);
RAWINPUT*_TranslateRawInput (LPARAM l);
@@ -69,7 +69,7 @@ class RawInput :public RawInputWrapper
public:
- static RawInput* Self ();
+ static RawInput_Impl* Self ();
static void Destroy ();
const wchar_t* Input_GetError () const;
diff --git a/Input/Dennis Input/misc.h b/Input/misc.h
similarity index 100%
rename from Input/Dennis Input/misc.h
rename to Input/misc.h
diff --git a/Misc/Misc.vcxproj b/Misc/Misc.vcxproj
new file mode 100644
index 00000000..7e2973b1
--- /dev/null
+++ b/Misc/Misc.vcxproj
@@ -0,0 +1,151 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {2EC4DDED-8F75-4C86-A10B-E1E8EB29F3EE}
+ Misc
+
+
+
+ Application
+ true
+ v110
+ MultiByte
+
+
+ Application
+ true
+ v110
+ MultiByte
+
+
+ StaticLibrary
+ false
+ v110
+ true
+ MultiByte
+
+
+ StaticLibrary
+ false
+ v110
+ true
+ MultiByte
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)D
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)D
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)
+
+
+
+ Level3
+ Disabled
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+
+
+
+
+ Level3
+ Disabled
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+
+
+
+
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+ true
+ true
+
+
+
+
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Network/NetworkDependencies/NetworkDependencies.vcxproj b/Network/NetworkDependencies/NetworkDependencies.vcxproj
new file mode 100644
index 00000000..61e9a856
--- /dev/null
+++ b/Network/NetworkDependencies/NetworkDependencies.vcxproj
@@ -0,0 +1,145 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {C5AA09D0-6594-4CD3-BD92-1D380C7B3B50}
+ NetworkDependencies
+
+
+
+ StaticLibrary
+ true
+ v110
+ MultiByte
+
+
+ StaticLibrary
+ true
+ v110
+ MultiByte
+
+
+ StaticLibrary
+ false
+ v110
+ true
+ MultiByte
+
+
+ StaticLibrary
+ false
+ v110
+ true
+ MultiByte
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)D
+
+
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(ProjectName)_$(PlatformShortName)D
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)
+
+
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(ProjectName)_$(PlatformShortName)
+
+
+
+ Level3
+ Disabled
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+
+
+
+
+ Level3
+ Disabled
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+
+
+
+
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+ true
+ true
+
+
+
+
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+ true
+ true
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Network/OysterNetworkClient/OysterNetworkClient.vcxproj b/Network/OysterNetworkClient/OysterNetworkClient.vcxproj
new file mode 100644
index 00000000..0ab9d481
--- /dev/null
+++ b/Network/OysterNetworkClient/OysterNetworkClient.vcxproj
@@ -0,0 +1,154 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {838B25C2-D19E-49FE-8CB0-9A977CA3C7E8}
+ OysterNetworkClient
+
+
+
+ StaticLibrary
+ true
+ v110
+ MultiByte
+
+
+ StaticLibrary
+ true
+ v110
+ MultiByte
+
+
+ StaticLibrary
+ false
+ v110
+ true
+ MultiByte
+
+
+ StaticLibrary
+ false
+ v110
+ true
+ MultiByte
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)D
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)D
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)
+
+
+
+ Level3
+ Disabled
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+
+
+
+
+ Level3
+ Disabled
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+
+
+
+
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+ true
+ true
+
+
+
+
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Network/OysterNetworkServer/OysterNetworkServer.vcxproj b/Network/OysterNetworkServer/OysterNetworkServer.vcxproj
new file mode 100644
index 00000000..df7e2852
--- /dev/null
+++ b/Network/OysterNetworkServer/OysterNetworkServer.vcxproj
@@ -0,0 +1,163 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {6A066806-F43F-4B31-A4E3-57179674F460}
+ OysterNetworkServer
+
+
+
+ StaticLibrary
+ true
+ v110
+ MultiByte
+
+
+ StaticLibrary
+ true
+ v110
+ MultiByte
+
+
+ StaticLibrary
+ false
+ v110
+ true
+ MultiByte
+
+
+ StaticLibrary
+ false
+ v110
+ true
+ MultiByte
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)D
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)D
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)
+
+
+
+ Level3
+ Disabled
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+
+
+
+
+ Level3
+ Disabled
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+
+
+
+
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+ true
+ true
+
+
+
+
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OysterGraphics/OysterGraphics.vcxproj b/OysterGraphics/OysterGraphics.vcxproj
new file mode 100644
index 00000000..310042d0
--- /dev/null
+++ b/OysterGraphics/OysterGraphics.vcxproj
@@ -0,0 +1,191 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {0EC83E64-230E-48EF-B08C-6AC9651B4F82}
+ OysterGraphics
+
+
+
+ Application
+ true
+ v110
+ MultiByte
+
+
+ Application
+ true
+ v110
+ MultiByte
+
+
+ StaticLibrary
+ false
+ v110
+ true
+ MultiByte
+
+
+ StaticLibrary
+ false
+ v110
+ true
+ MultiByte
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)D
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)D
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)
+
+
+
+ Level3
+ Disabled
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+
+
+
+
+ Level3
+ Disabled
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+
+
+
+
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+ true
+ true
+
+
+
+
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OysterMath/OysterMath.vcxproj b/OysterMath/OysterMath.vcxproj
new file mode 100644
index 00000000..b71e0de0
--- /dev/null
+++ b/OysterMath/OysterMath.vcxproj
@@ -0,0 +1,153 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {F10CBC03-9809-4CBA-95D8-327C287B18EE}
+ OysterMath
+
+
+
+ Application
+ true
+ v110
+ MultiByte
+
+
+ Application
+ true
+ v110
+ MultiByte
+
+
+ StaticLibrary
+ false
+ v110
+ true
+ MultiByte
+
+
+ StaticLibrary
+ false
+ v110
+ true
+ MultiByte
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)D
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)D
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)
+
+
+
+ Level3
+ Disabled
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+
+
+
+
+ Level3
+ Disabled
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+
+
+
+
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+ true
+ true
+
+
+
+
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/OysterPhysics3D/OysterPhysics3D.vcxproj b/OysterPhysics3D/OysterPhysics3D.vcxproj
new file mode 100644
index 00000000..deebab31
--- /dev/null
+++ b/OysterPhysics3D/OysterPhysics3D.vcxproj
@@ -0,0 +1,167 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {4285BD3F-3C6C-4670-B7AF-A29AFEF5F6A8}
+ OysterPhysics3D
+
+
+
+ Application
+ true
+ v110
+ MultiByte
+
+
+ Application
+ true
+ v110
+ MultiByte
+
+
+ StaticLibrary
+ false
+ v110
+ true
+ MultiByte
+
+
+ StaticLibrary
+ false
+ v110
+ true
+ MultiByte
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)D
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)D
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)
+
+
+
+ Level3
+ Disabled
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+
+
+
+
+ Level3
+ Disabled
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+
+
+
+
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+ true
+ true
+
+
+
+
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Sound/Sound.vcxproj b/Sound/Sound.vcxproj
new file mode 100644
index 00000000..630c24d4
--- /dev/null
+++ b/Sound/Sound.vcxproj
@@ -0,0 +1,145 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {34D6295A-00DD-4B1A-8258-97DA2818EC26}
+ Sound
+
+
+
+ Application
+ true
+ v110
+ MultiByte
+
+
+ Application
+ true
+ v110
+ MultiByte
+
+
+ StaticLibrary
+ false
+ v110
+ true
+ MultiByte
+
+
+ StaticLibrary
+ false
+ v110
+ true
+ MultiByte
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)D
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)D
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)
+
+
+
+ Level3
+ Disabled
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+
+
+
+
+ Level3
+ Disabled
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+
+
+
+
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+ true
+ true
+
+
+
+
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+ true
+ true
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/WindowManager/WindowManager.vcxproj b/WindowManager/WindowManager.vcxproj
new file mode 100644
index 00000000..1a193450
--- /dev/null
+++ b/WindowManager/WindowManager.vcxproj
@@ -0,0 +1,145 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {35AEA3C0-E0A7-4E1E-88CD-514AA5A442B1}
+ WindowManager
+
+
+
+ Application
+ true
+ v110
+ MultiByte
+
+
+ Application
+ true
+ v110
+ MultiByte
+
+
+ StaticLibrary
+ false
+ v110
+ true
+ MultiByte
+
+
+ StaticLibrary
+ false
+ v110
+ true
+ MultiByte
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)D
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)D
+
+
+ $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
+ $(ProjectName)_$(PlatformShortName)
+
+
+
+ Level3
+ Disabled
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+
+
+
+
+ Level3
+ Disabled
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+
+
+
+
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+ true
+ true
+
+
+
+
+ Level3
+ MaxSpeed
+ true
+ true
+ true
+ %(AdditionalIncludeDirectories)
+
+
+ true
+ true
+ true
+
+
+
+
+
+
+
+
\ No newline at end of file