diff --git a/Code/GameLogic/Game.cpp b/Code/GameLogic/Game.cpp
index 805e25b9..93c64c76 100644
--- a/Code/GameLogic/Game.cpp
+++ b/Code/GameLogic/Game.cpp
@@ -1,5 +1,4 @@
#include "Game.h"
-
using namespace GameLogic;
Game::Game(void)
@@ -15,3 +14,11 @@ void Game::Init()
{
}
+void Game::StartGame()
+{
+
+}
+void Game::Update()
+{
+
+}
\ No newline at end of file
diff --git a/Code/GameLogic/Game.h b/Code/GameLogic/Game.h
index 122ffc7d..c5bb9664 100644
--- a/Code/GameLogic/Game.h
+++ b/Code/GameLogic/Game.h
@@ -8,20 +8,20 @@ namespace GameLogic
{
class Game
{
-
- public:
- Game(void);
- ~Game(void);
-
- void Init();
- void StartGame();
-
- void Update();
+ private:
+
private:
- Level *level;
- Player *player;
+ GameLogic::Level *level;
+ GameLogic::Player *player;
+ public:
+ Game();
+ ~Game();
+
+ void Init();
+ void StartGame();
+ void Update();
};
}
diff --git a/Code/GameLogic/GameLogic.vcxproj b/Code/GameLogic/GameLogic.vcxproj
index 900f0834..14b6c6fc 100644
--- a/Code/GameLogic/GameLogic.vcxproj
+++ b/Code/GameLogic/GameLogic.vcxproj
@@ -24,26 +24,26 @@
- StaticLibrary
+ DynamicLibrary
true
v110
MultiByte
- StaticLibrary
+ DynamicLibrary
true
v110
MultiByte
- StaticLibrary
+ DynamicLibrary
false
v110
true
MultiByte
- StaticLibrary
+ DynamicLibrary
false
v110
true
@@ -66,22 +66,22 @@
- $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\External\Bin\DLL\$(ProjectName)\
$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
$(ProjectName)_$(PlatformShortName)D
- $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\External\Bin\DLL\$(ProjectName)\
$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
$(ProjectName)_$(PlatformShortName)
- $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\External\Bin\DLL\$(ProjectName)\
$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
$(ProjectName)_$(PlatformShortName)D
- $(SolutionDir)..\External\Lib\$(ProjectName)\
+ $(SolutionDir)..\External\Bin\DLL\$(ProjectName)\
$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\
$(ProjectName)_$(PlatformShortName)
@@ -91,6 +91,7 @@
Disabled
true
$(SolutionDir)Misc;$(SolutionDir)OysterMath;$(SolutionDir)OysterPhysics3D;$(SolutionDir)GamePhysics;%(AdditionalIncludeDirectories)
+ DLL_EXPORT;_WINDLL;%(PreprocessorDefinitions)
true
@@ -102,6 +103,7 @@
Disabled
true
$(SolutionDir)Misc;$(SolutionDir)OysterMath;$(SolutionDir)OysterPhysics3D;$(SolutionDir)GamePhysics;%(AdditionalIncludeDirectories)
+ DLL_EXPORT;_WINDLL;%(PreprocessorDefinitions)
true
@@ -115,6 +117,7 @@
true
true
$(SolutionDir)Misc;$(SolutionDir)OysterMath;$(SolutionDir)OysterPhysics3D;$(SolutionDir)GamePhysics;%(AdditionalIncludeDirectories)
+ DLL_EXPORT;_WINDLL;%(PreprocessorDefinitions)
true
@@ -130,6 +133,7 @@
true
true
$(SolutionDir)Misc;$(SolutionDir)OysterMath;$(SolutionDir)OysterPhysics3D;$(SolutionDir)GamePhysics;%(AdditionalIncludeDirectories)
+ DLL_EXPORT;_WINDLL;%(PreprocessorDefinitions)
true
@@ -138,9 +142,6 @@
-
- {104fa3e9-94d9-4e1d-a941-28a03bc8a095}
-
{2ec4dded-8f75-4c86-a10b-e1e8eb29f3ee}
@@ -151,6 +152,22 @@
{4285bd3f-3c6c-4670-b7af-a29afef5f6a8}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Code/GameLogic/GameLogic.vcxproj.filters b/Code/GameLogic/GameLogic.vcxproj.filters
index d7ef6a1a..d69ec9ff 100644
--- a/Code/GameLogic/GameLogic.vcxproj.filters
+++ b/Code/GameLogic/GameLogic.vcxproj.filters
@@ -14,4 +14,44 @@
rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
\ No newline at end of file
diff --git a/Code/GameLogic/IGame.cpp b/Code/GameLogic/IGame.cpp
new file mode 100644
index 00000000..141b05a7
--- /dev/null
+++ b/Code/GameLogic/IGame.cpp
@@ -0,0 +1,36 @@
+#include "IGame.h"
+#include "Game.h"
+#include
+
+BOOL WINAPI DllMain(
+ _In_ HINSTANCE hinstDLL,
+ _In_ DWORD fdwReason,
+ _In_ LPVOID lpvReserved
+ )
+{
+ return TRUE;
+}
+using namespace GameLogic;
+IGame::IGame()
+{
+ gameModule = new Game();
+}
+
+
+IGame::~IGame()
+{
+ delete gameModule;
+}
+
+void IGame::Init()
+{
+ gameModule->Init();
+}
+void IGame::StartGame()
+{
+ gameModule->StartGame();
+}
+void IGame::Update()
+{
+ gameModule->Update();
+}
\ No newline at end of file
diff --git a/Code/GameLogic/IGame.h b/Code/GameLogic/IGame.h
new file mode 100644
index 00000000..199c4404
--- /dev/null
+++ b/Code/GameLogic/IGame.h
@@ -0,0 +1,31 @@
+#ifndef IGAME_H
+#define IGAME_H
+
+#if defined DLL_EXPORT
+#define DLL_USAGE __declspec(dllexport)
+#else
+#define DLL_USAGE __declspec(dllimport)
+#endif
+
+
+namespace GameLogic
+{
+ class Game;
+
+ class DLL_USAGE IGame
+ {
+ private:
+ Game* gameModule;
+ public:
+ IGame();
+ ~IGame();
+
+ void Init();
+ void StartGame();
+ void Update();
+ private:
+ };
+}
+
+
+#endif
\ No newline at end of file
diff --git a/Code/Tester/Tester.vcxproj b/Code/Tester/Tester.vcxproj
index ac461ea2..fc20a803 100644
--- a/Code/Tester/Tester.vcxproj
+++ b/Code/Tester/Tester.vcxproj
@@ -122,6 +122,7 @@
true
WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
true
+ ..\OysterGraphics;..\OysterMath;..\Misc;%(AdditionalIncludeDirectories)
Windows
@@ -140,6 +141,7 @@
true
WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
true
+ ..\OysterGraphics;..\OysterMath;..\Misc;%(AdditionalIncludeDirectories)
Windows
diff --git a/GameLogic/Include/GameLogic.h b/GameLogic/Include/GameLogic.h
new file mode 100644
index 00000000..a859a625
--- /dev/null
+++ b/GameLogic/Include/GameLogic.h
@@ -0,0 +1 @@
+//Interface for others
\ No newline at end of file
diff --git a/GameLogic/Level.cpp b/GameLogic/Level.cpp
new file mode 100644
index 00000000..3f6b5fb9
--- /dev/null
+++ b/GameLogic/Level.cpp
@@ -0,0 +1,11 @@
+#include "Level.h"
+
+
+Level::Level(void)
+{
+}
+
+
+Level::~Level(void)
+{
+}
diff --git a/GameLogic/Level.h b/GameLogic/Level.h
new file mode 100644
index 00000000..a04bba4e
--- /dev/null
+++ b/GameLogic/Level.h
@@ -0,0 +1,10 @@
+#pragma once
+#include "GamePhysics.h"
+
+class Level
+{
+public:
+ Level(void);
+ ~Level(void);
+};
+