Merged with Gamelogic branch and fixed errors and added features
This commit is contained in:
commit
f29f50f830
Binary file not shown.
Binary file not shown.
|
@ -207,6 +207,7 @@ Global
|
||||||
{B1195BB9-B3A5-47F0-906C-8DEA384D1520}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
|
{B1195BB9-B3A5-47F0-906C-8DEA384D1520}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
|
||||||
{B1195BB9-B3A5-47F0-906C-8DEA384D1520}.Debug|Mixed Platforms.Build.0 = Debug|Win32
|
{B1195BB9-B3A5-47F0-906C-8DEA384D1520}.Debug|Mixed Platforms.Build.0 = Debug|Win32
|
||||||
{B1195BB9-B3A5-47F0-906C-8DEA384D1520}.Debug|Win32.ActiveCfg = Debug|Win32
|
{B1195BB9-B3A5-47F0-906C-8DEA384D1520}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||||
|
{B1195BB9-B3A5-47F0-906C-8DEA384D1520}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{B1195BB9-B3A5-47F0-906C-8DEA384D1520}.Debug|x64.ActiveCfg = Debug|x64
|
{B1195BB9-B3A5-47F0-906C-8DEA384D1520}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
{B1195BB9-B3A5-47F0-906C-8DEA384D1520}.Debug|x64.Build.0 = Debug|x64
|
{B1195BB9-B3A5-47F0-906C-8DEA384D1520}.Debug|x64.Build.0 = Debug|x64
|
||||||
{B1195BB9-B3A5-47F0-906C-8DEA384D1520}.Release|Mixed Platforms.ActiveCfg = Release|Win32
|
{B1195BB9-B3A5-47F0-906C-8DEA384D1520}.Release|Mixed Platforms.ActiveCfg = Release|Win32
|
||||||
|
|
|
@ -72,7 +72,7 @@
|
||||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||||
<TargetName>$(ProjectName)_$(PlatformShortName)D</TargetName>
|
<TargetName>$(ProjectName)_$(PlatformShortName)D</TargetName>
|
||||||
<LibraryPath>$(SolutionDir)..\External\Lib\Input;$(SolutionDir)..\Bin\DLL;$(LibraryPath)</LibraryPath>
|
<LibraryPath>$(SolutionDir)..\External\Lib\Input;$(SolutionDir)..\Bin\DLL;$(LibraryPath)</LibraryPath>
|
||||||
<IncludePath>$(SolutionDir)Network/NetworkAPI;$(IncludePath)</IncludePath>
|
<IncludePath>$(SolutionDir)..\External\Include\;$(SolutionDir)Game\GameProtocols\;$(SolutionDir)Network/NetworkAPI;$(IncludePath)</IncludePath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<LinkIncremental>true</LinkIncremental>
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
@ -106,13 +106,13 @@
|
||||||
<Optimization>Disabled</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
<PreprocessorDefinitions>DANBIAS_GAME_DLL_EXPORT;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>DANBIAS_GAME_DLL_EXPORT;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
<SDLCheck>true</SDLCheck>
|
<SDLCheck>true</SDLCheck>
|
||||||
<AdditionalIncludeDirectories>$(SolutionDir)Game/GameProtocols;$(SolutionDir)OysterMath;$(SolutionDir)Input;$(SolutionDir)OysterGraphics;$(SolutionDir)Misc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(SolutionDir)OysterMath;$(SolutionDir)Input;$(SolutionDir)OysterGraphics;$(SolutionDir)Misc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<AdditionalDependencies>OysterGraphics_$(PlatformShortName)D.lib;Input_$(PlatformShortName)D.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>OysterGraphics_$(PlatformShortName)D.lib;Input_$(PlatformShortName)D.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<DelayLoadDLLs>OysterGraphics_$(PlatformShortName)D.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
<DelayLoadDLLs>NetworkAPI_$(PlatformShortName)D.dll;OysterGraphics_$(PlatformShortName)D.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
|
|
@ -22,32 +22,49 @@ namespace DanBias
|
||||||
#pragma region Game Data
|
#pragma region Game Data
|
||||||
|
|
||||||
|
|
||||||
struct MyRecieverObject // :public PontusRecieverObject
|
struct MyRecieverObject :public Oyster::Network::ProtocolRecieverObject
|
||||||
{
|
{
|
||||||
Oyster::Network::NetworkClient nwClient;
|
Oyster::Network::NetworkClient* nwClient;
|
||||||
|
Client::GameClientState* gameClientState;
|
||||||
|
|
||||||
static void ProtocolRecieved(Network::CustomNetProtocol* p)
|
void ProtocolRecievedCallback(Oyster::Network::CustomNetProtocol& p) override
|
||||||
{
|
{
|
||||||
int pType = ((*p)[0]).value.netInt;
|
|
||||||
|
int pType = p[0].value.netInt;
|
||||||
|
Client::GameClientState::ProtocolStruct* protocol;
|
||||||
switch (pType)
|
switch (pType)
|
||||||
{
|
{
|
||||||
case protocol_PlayerNavigation:
|
case protocol_PlayerNavigation:
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case protocol_PlayerPosition:
|
case protocol_PlayerPosition:
|
||||||
//int x = ((*p)[1]).value.netInt;
|
protocol = new Client::GameClientState::PlayerPos;
|
||||||
//int y = ((*p)[2]).value.netInt;
|
for(int i = 0; i< 3; i++)
|
||||||
//int z = ((*p)[3]).value.netInt;
|
{
|
||||||
|
((Client::GameClientState::PlayerPos*)protocol)->playerPos[i] = p[i].value.netFloat;
|
||||||
|
}
|
||||||
|
gameClientState->Protocol(protocol);
|
||||||
|
delete protocol;
|
||||||
|
protocol = NULL;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
case protocol_ObjectPosition:
|
case protocol_ObjectPosition:
|
||||||
// DanBiasGame::protocolRecived();
|
protocol = new Client::GameClientState::ObjPos;
|
||||||
|
for(int i = 0; i< 16; i++)
|
||||||
|
{
|
||||||
|
((Client::GameClientState::ObjPos*)protocol)->worldPos[i] = p[i].value.netFloat;
|
||||||
|
}
|
||||||
|
gameClientState->Protocol(protocol);
|
||||||
|
delete protocol;
|
||||||
|
protocol = NULL;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
class DanBiasGamePrivateData
|
class DanBiasGamePrivateData
|
||||||
|
@ -66,21 +83,14 @@ namespace DanBias
|
||||||
public:
|
public:
|
||||||
Client::GameClientState* gameClientState;
|
Client::GameClientState* gameClientState;
|
||||||
InputClass* inputObj;
|
InputClass* inputObj;
|
||||||
GameLogic::Protocol_PlayerMovement player_move;
|
MyRecieverObject* r;
|
||||||
//Oyster::Network::NetworkClient nwClient;
|
|
||||||
MyRecieverObject r;
|
|
||||||
|
|
||||||
// gameClient;
|
|
||||||
|
|
||||||
} data;
|
} data;
|
||||||
#pragma endregion
|
#pragma endregion
|
||||||
|
|
||||||
|
|
||||||
DanBiasGamePrivateData* DanBiasGame::m_data = new DanBiasGamePrivateData();
|
DanBiasGamePrivateData* DanBiasGame::m_data = new DanBiasGamePrivateData();
|
||||||
void DanBiasGame::protocolRecived()
|
|
||||||
{
|
|
||||||
//m_data->gameClientState.setPos()
|
|
||||||
}
|
|
||||||
//--------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------
|
||||||
// Interface API functions
|
// Interface API functions
|
||||||
//--------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------
|
||||||
|
@ -106,6 +116,9 @@ namespace DanBias
|
||||||
// Start in lobby state
|
// Start in lobby state
|
||||||
m_data->gameClientState = new Client::LobbyState();
|
m_data->gameClientState = new Client::LobbyState();
|
||||||
m_data->gameClientState->Init();
|
m_data->gameClientState->Init();
|
||||||
|
m_data->r = new MyRecieverObject;
|
||||||
|
m_data->r->nwClient = new Oyster::Network::NetworkClient();
|
||||||
|
|
||||||
return DanBiasClientReturn_Sucess;
|
return DanBiasClientReturn_Sucess;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,26 @@ namespace Client
|
||||||
class GameClientState
|
class GameClientState
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
struct ProtocolStruct
|
||||||
|
{
|
||||||
|
|
||||||
|
};
|
||||||
|
struct ObjPos :public ProtocolStruct
|
||||||
|
{
|
||||||
|
float worldPos[16];
|
||||||
|
};
|
||||||
|
struct PlayerPos :public ProtocolStruct
|
||||||
|
{
|
||||||
|
float playerPos[3];
|
||||||
|
};
|
||||||
|
struct PlayerMove :public ProtocolStruct
|
||||||
|
{
|
||||||
|
float playerPos[3];
|
||||||
|
};
|
||||||
|
struct PlayerName :public ProtocolStruct
|
||||||
|
{
|
||||||
|
char name[255];
|
||||||
|
};
|
||||||
enum ClientState
|
enum ClientState
|
||||||
{
|
{
|
||||||
ClientState_Lobby,
|
ClientState_Lobby,
|
||||||
|
@ -26,6 +46,8 @@ public:
|
||||||
virtual ClientState Update(float deltaTime, InputClass* KeyInput) = 0;
|
virtual ClientState Update(float deltaTime, InputClass* KeyInput) = 0;
|
||||||
virtual bool Render() = 0;
|
virtual bool Render() = 0;
|
||||||
virtual bool Release() = 0;
|
virtual bool Release() = 0;
|
||||||
|
virtual void Protocol(ProtocolStruct* protocolStruct) = 0;
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
#include "DllInterfaces/GFXAPI.h"
|
#include "DllInterfaces/GFXAPI.h"
|
||||||
#include "Obj/C_Player.h"
|
#include "Obj/C_Player.h"
|
||||||
#include "Obj/C_DynamicObj.h"
|
#include "Obj/C_DynamicObj.h"
|
||||||
|
#include "NetworkClient.h"
|
||||||
|
#include "PlayerProtocols.h"
|
||||||
|
|
||||||
using namespace DanBias::Client;
|
using namespace DanBias::Client;
|
||||||
|
|
||||||
|
@ -12,8 +14,9 @@ struct GameState::myData
|
||||||
Oyster::Math3D::Float4x4 proj;
|
Oyster::Math3D::Float4x4 proj;
|
||||||
C_Object* object[3];
|
C_Object* object[3];
|
||||||
int modelCount;
|
int modelCount;
|
||||||
//Oyster::Network::NetworkClient* nwClient;
|
Oyster::Network::NetworkClient* nwClient;
|
||||||
gameStateState state;
|
gameStateState state;
|
||||||
|
|
||||||
}privData;
|
}privData;
|
||||||
|
|
||||||
GameState::GameState(void)
|
GameState::GameState(void)
|
||||||
|
@ -88,9 +91,14 @@ GameClientState::ClientState GameState::Update(float deltaTime, InputClass* KeyI
|
||||||
// read server data
|
// read server data
|
||||||
// update objects
|
// update objects
|
||||||
// Client.send(obj);
|
// Client.send(obj);
|
||||||
|
{
|
||||||
|
GameLogic::Protocol_PlayerMovement movePlayer;
|
||||||
|
|
||||||
|
//privData->nwClient->Send(movePlayer);
|
||||||
|
|
||||||
if(KeyInput->IsKeyPressed(DIK_L))
|
if(KeyInput->IsKeyPressed(DIK_L))
|
||||||
privData->state = GameState::gameStateState_end;
|
privData->state = GameState::gameStateState_end;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case gameStateState_end:
|
case gameStateState_end:
|
||||||
return ClientState_Lobby;
|
return ClientState_Lobby;
|
||||||
|
@ -127,3 +135,20 @@ bool GameState::Release()
|
||||||
privData = NULL;
|
privData = NULL;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GameState::Protocol(ProtocolStruct* pos)
|
||||||
|
{
|
||||||
|
if((ObjPos*)pos)
|
||||||
|
ObjectPosProtocol((ObjPos*)pos);
|
||||||
|
else if((PlayerPos*)pos)
|
||||||
|
PlayerPosProtocol((PlayerPos*)pos);
|
||||||
|
}
|
||||||
|
void GameState::PlayerPosProtocol(PlayerPos* pos)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
void GameState::ObjectPosProtocol(ObjPos* pos)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
//void GameState::Protocol(LightPos pos);
|
|
@ -23,13 +23,18 @@ public:
|
||||||
GameState(void);
|
GameState(void);
|
||||||
~GameState(void);
|
~GameState(void);
|
||||||
bool Init();
|
bool Init();
|
||||||
GameClientState::ClientState Update(float deltaTime, InputClass* KeyInput);
|
GameClientState::ClientState Update(float deltaTime, InputClass* KeyInput) override;
|
||||||
bool LoadModels(std::wstring mapFile);
|
bool LoadModels(std::wstring mapFile) ;
|
||||||
bool InitCamera(Oyster::Math::Float3 startPos);
|
bool InitCamera(Oyster::Math::Float3 startPos) ;
|
||||||
gameStateState LoadGame();
|
gameStateState LoadGame();
|
||||||
|
|
||||||
bool Render();
|
bool Render()override;
|
||||||
bool Release();
|
bool Release()override;
|
||||||
|
|
||||||
|
void Protocol(ProtocolStruct* pos)override;
|
||||||
|
void PlayerPosProtocol(PlayerPos* pos);
|
||||||
|
void ObjectPosProtocol(ObjPos* pos);
|
||||||
|
//void Protocol(LightPos pos);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -119,3 +119,13 @@ bool LobbyState::Release()
|
||||||
privData = NULL;
|
privData = NULL;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
void LobbyState::Protocol(ProtocolStruct* protocol)
|
||||||
|
{
|
||||||
|
if((PlayerName*)protocol)
|
||||||
|
PlayerJoinProtocol((PlayerName*)protocol);
|
||||||
|
|
||||||
|
}
|
||||||
|
void LobbyState::PlayerJoinProtocol(PlayerName* name)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
|
@ -32,5 +32,8 @@ public:
|
||||||
|
|
||||||
bool Render();
|
bool Render();
|
||||||
bool Release();
|
bool Release();
|
||||||
|
void Protocol(ProtocolStruct* protocol)override;
|
||||||
|
void PlayerJoinProtocol(PlayerName* name);
|
||||||
|
|
||||||
};};};
|
};};};
|
||||||
#endif // ! DANBIAS_CLIENT_GAMECLIENTSTATE_H
|
#endif // ! DANBIAS_CLIENT_GAMECLIENTSTATE_H
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
#ifndef DANBIASGAME_DANBIASGAME_H
|
#ifndef DANBIASGAME_DANBIASGAME_H
|
||||||
#define DANBIASGAME_DANBIASGAME_H
|
#define DANBIASGAME_DANBIASGAME_H
|
||||||
|
|
||||||
|
#define DANBIAS_CLIENT_L
|
||||||
|
|
||||||
#if defined (DANBIAS_GAME_DLL_EXPORT)
|
#if defined (DANBIAS_GAME_DLL_EXPORT)
|
||||||
#define DANBIAS_GAME_DLL __declspec(dllexport)
|
#define DANBIAS_GAME_DLL __declspec(dllexport)
|
||||||
#else
|
#else
|
||||||
|
@ -10,7 +12,7 @@
|
||||||
#define NOMINMAX
|
#define NOMINMAX
|
||||||
#include <Windows.h>
|
#include <Windows.h>
|
||||||
|
|
||||||
#define DANBIAS_CLIENT
|
|
||||||
|
|
||||||
namespace DanBias
|
namespace DanBias
|
||||||
{
|
{
|
||||||
|
@ -53,7 +55,6 @@ namespace DanBias
|
||||||
static HRESULT Render(float deltaTime);
|
static HRESULT Render(float deltaTime);
|
||||||
static HRESULT CleanUp();
|
static HRESULT CleanUp();
|
||||||
|
|
||||||
static void protocolRecived();
|
|
||||||
private:
|
private:
|
||||||
static __int64 cntsPerSec;
|
static __int64 cntsPerSec;
|
||||||
static __int64 prevTimeStamp;
|
static __int64 prevTimeStamp;
|
||||||
|
|
|
@ -110,7 +110,7 @@
|
||||||
<Link>
|
<Link>
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<DelayLoadDLLs>DanBiasServer_$(PlatformShortName)D.dll;DanBiasGame_$(PlatformShortName)D.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
<DelayLoadDLLs>DanBiasGame_$(PlatformShortName)D.dll;DanBiasServer_$(PlatformShortName)D.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||||
<AdditionalDependencies>DanBiasGame_$(PlatformShortName)D.lib;DanBiasServer_$(PlatformShortName)D.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>DanBiasGame_$(PlatformShortName)D.lib;DanBiasServer_$(PlatformShortName)D.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
#define NOMINMAX
|
#define NOMINMAX
|
||||||
#include <Windows.h>
|
#include <Windows.h>
|
||||||
#include <vld.h>
|
#include <vld.h>
|
||||||
|
|
||||||
|
|
||||||
#include "DanBiasServerAPI.h"
|
#include "DanBiasServerAPI.h"
|
||||||
//#include "DanBiasGame.h"
|
//#include "DanBiasGame.h"
|
||||||
|
|
||||||
|
@ -20,7 +22,7 @@ int WINAPI WinMain( HINSTANCE hinst, HINSTANCE prevInst, PSTR cmdLine, int cmdSh
|
||||||
DanBias::DanBiasServerAPI::Run();
|
DanBias::DanBiasServerAPI::Run();
|
||||||
DanBias::DanBiasServerAPI::Release();
|
DanBias::DanBiasServerAPI::Release();
|
||||||
}
|
}
|
||||||
#elif defined(DANBIAS_CLIENT)
|
#elif defined(DANBIAS_CLIENT_L)
|
||||||
if(SetDllDirectory(L"..\\DLL") == FALSE)
|
if(SetDllDirectory(L"..\\DLL") == FALSE)
|
||||||
{
|
{
|
||||||
return cmdShow;
|
return cmdShow;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
|
#define NOMINMAX
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
|
|
||||||
BOOL WINAPI DllMain( _In_ HINSTANCE hinstDLL, _In_ DWORD fdwReason, _In_ LPVOID lpvReserved )
|
BOOL WINAPI DllMain( _In_ HINSTANCE hinstDLL, _In_ DWORD fdwReason, _In_ LPVOID lpvReserved )
|
||||||
|
|
|
@ -73,7 +73,7 @@
|
||||||
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
||||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||||
<TargetName>$(ProjectName)_$(PlatformShortName)D</TargetName>
|
<TargetName>$(ProjectName)_$(PlatformShortName)D</TargetName>
|
||||||
<IncludePath>$(SolutionDir)..\External\Include\;$(SolutionDir)Game\GameProtocols\;$(SolutionDir)Network\NetworkAPI\;$(SolutionDir)Misc\;$(SolutionDir)WindowManager\;C:\Program Files %28x86%29\Visual Leak Detector\include;$(IncludePath)</IncludePath>
|
<IncludePath>$(SolutionDir)..\External\Include\;$(SolutionDir)Game\GameProtocols\;$(SolutionDir)Game\GameLogic\;$(SolutionDir)Network\NetworkAPI\;$(SolutionDir)OysterMath\;$(SolutionDir)GamePhysics\;$(SolutionDir)Misc\;$(SolutionDir)WindowManager\;C:\Program Files %28x86%29\Visual Leak Detector\include;$(SolutionDir)OysterPhysics3D\;$(IncludePath)</IncludePath>
|
||||||
<LibraryPath>$(OutDir);$(SolutionDir)..\External\Lib\WindowManager\;C:\Program Files %28x86%29\Visual Leak Detector\lib\Win32;$(LibraryPath)</LibraryPath>
|
<LibraryPath>$(OutDir);$(SolutionDir)..\External\Lib\WindowManager\;C:\Program Files %28x86%29\Visual Leak Detector\lib\Win32;$(LibraryPath)</LibraryPath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
@ -81,7 +81,7 @@
|
||||||
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
||||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||||
<TargetName>$(ProjectName)_$(PlatformShortName)D</TargetName>
|
<TargetName>$(ProjectName)_$(PlatformShortName)D</TargetName>
|
||||||
<IncludePath>$(SolutionDir)..\External\Include\;$(SolutionDir)Game\GameProtocols\;$(SolutionDir)Network\NetworkAPI\;$(SolutionDir)Misc\;$(SolutionDir)WindowManager\;C:\Program Files %28x86%29\Visual Leak Detector\include;$(IncludePath)</IncludePath>
|
<IncludePath>$(SolutionDir)..\External\Include\;$(SolutionDir)Game\GameProtocols\;$(SolutionDir)Game\GameLogic\;$(SolutionDir)Network\NetworkAPI\;$(SolutionDir)OysterMath\;$(SolutionDir)GamePhysics\;$(SolutionDir)Misc\;$(SolutionDir)WindowManager\;C:\Program Files %28x86%29\Visual Leak Detector\include;$(SolutionDir)OysterPhysics3D\;$(IncludePath)</IncludePath>
|
||||||
<LibraryPath>$(OutDir);$(SolutionDir)..\External\Lib\WindowManager\;C:\Program Files %28x86%29\Visual Leak Detector\lib\Win32;$(LibraryPath)</LibraryPath>
|
<LibraryPath>$(OutDir);$(SolutionDir)..\External\Lib\WindowManager\;C:\Program Files %28x86%29\Visual Leak Detector\lib\Win32;$(LibraryPath)</LibraryPath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
@ -89,7 +89,7 @@
|
||||||
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
||||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||||
<TargetName>$(ProjectName)_$(PlatformShortName)</TargetName>
|
<TargetName>$(ProjectName)_$(PlatformShortName)</TargetName>
|
||||||
<IncludePath>$(SolutionDir)..\External\Include\;$(SolutionDir)Game\GameProtocols\;$(SolutionDir)Network\NetworkAPI\;$(SolutionDir)Misc\;$(SolutionDir)WindowManager\;C:\Program Files %28x86%29\Visual Leak Detector\include;$(IncludePath)</IncludePath>
|
<IncludePath>$(SolutionDir)..\External\Include\;$(SolutionDir)Game\GameProtocols\;$(SolutionDir)Game\GameLogic\;$(SolutionDir)Network\NetworkAPI\;$(SolutionDir)OysterMath\;$(SolutionDir)GamePhysics\;$(SolutionDir)Misc\;$(SolutionDir)WindowManager\;C:\Program Files %28x86%29\Visual Leak Detector\include;$(SolutionDir)OysterPhysics3D\;$(IncludePath)</IncludePath>
|
||||||
<LibraryPath>$(OutDir);$(SolutionDir)..\External\Lib\WindowManager\;C:\Program Files %28x86%29\Visual Leak Detector\lib\Win32;$(LibraryPath)</LibraryPath>
|
<LibraryPath>$(OutDir);$(SolutionDir)..\External\Lib\WindowManager\;C:\Program Files %28x86%29\Visual Leak Detector\lib\Win32;$(LibraryPath)</LibraryPath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
@ -97,7 +97,7 @@
|
||||||
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
||||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||||
<TargetName>$(ProjectName)_$(PlatformShortName)</TargetName>
|
<TargetName>$(ProjectName)_$(PlatformShortName)</TargetName>
|
||||||
<IncludePath>$(SolutionDir)..\External\Include\;$(SolutionDir)Game\GameProtocols\;$(SolutionDir)Network\NetworkAPI\;$(SolutionDir)Misc\;$(SolutionDir)WindowManager\;C:\Program Files %28x86%29\Visual Leak Detector\include;$(IncludePath)</IncludePath>
|
<IncludePath>$(SolutionDir)..\External\Include\;$(SolutionDir)Game\GameProtocols\;$(SolutionDir)Game\GameLogic\;$(SolutionDir)Network\NetworkAPI\;$(SolutionDir)OysterMath\;$(SolutionDir)GamePhysics\;$(SolutionDir)Misc\;$(SolutionDir)WindowManager\;C:\Program Files %28x86%29\Visual Leak Detector\include;$(SolutionDir)OysterPhysics3D\;$(IncludePath)</IncludePath>
|
||||||
<LibraryPath>$(OutDir);$(SolutionDir)..\External\Lib\WindowManager\;C:\Program Files %28x86%29\Visual Leak Detector\lib\Win32;$(LibraryPath)</LibraryPath>
|
<LibraryPath>$(OutDir);$(SolutionDir)..\External\Lib\WindowManager\;C:\Program Files %28x86%29\Visual Leak Detector\lib\Win32;$(LibraryPath)</LibraryPath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
@ -114,7 +114,7 @@
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<DelayLoadDLLs>GameLogic_$(PlatformShortName)D.dll;%(DelayLoadDLLs);NetworkAPI_$(PlatformShortName)D.dll</DelayLoadDLLs>
|
<DelayLoadDLLs>GameLogic_$(PlatformShortName)D.dll;%(DelayLoadDLLs);NetworkAPI_$(PlatformShortName)D.dll</DelayLoadDLLs>
|
||||||
<AdditionalDependencies>NetworkAPI_$(PlatformShortName)D.lib;WindowManager_$(PlatformShortName)D.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>NetworkAPI_$(PlatformShortName)D.lib;WindowManager_$(PlatformShortName)D.lib;GameLogic_$(PlatformShortName)D.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
@ -131,7 +131,7 @@
|
||||||
<SubSystem>Windows</SubSystem>
|
<SubSystem>Windows</SubSystem>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<DelayLoadDLLs>GameLogic_$(PlatformShortName)D.dll;%(DelayLoadDLLs);NetworkAPI_$(PlatformShortName)D.dll</DelayLoadDLLs>
|
<DelayLoadDLLs>GameLogic_$(PlatformShortName)D.dll;%(DelayLoadDLLs);NetworkAPI_$(PlatformShortName)D.dll</DelayLoadDLLs>
|
||||||
<AdditionalDependencies>NetworkAPI_$(PlatformShortName)D.lib;WindowManager_$(PlatformShortName)D.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>NetworkAPI_$(PlatformShortName)D.lib;WindowManager_$(PlatformShortName)D.lib;GameLogic_$(PlatformShortName)D.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
@ -152,7 +152,7 @@
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
<DelayLoadDLLs>GameLogic_$(PlatformShortName).dll;%(DelayLoadDLLs);NetworkAPI_$(PlatformShortName).dll</DelayLoadDLLs>
|
<DelayLoadDLLs>GameLogic_$(PlatformShortName).dll;%(DelayLoadDLLs);NetworkAPI_$(PlatformShortName).dll</DelayLoadDLLs>
|
||||||
<AdditionalDependencies>NetworkAPI_$(PlatformShortName).lib;WindowManager_$(PlatformShortName).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>NetworkAPI_$(PlatformShortName).lib;WindowManager_$(PlatformShortName).lib;GameLogic_$(PlatformShortName).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
@ -173,7 +173,7 @@
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
<DelayLoadDLLs>GameLogic_$(PlatformShortName).dll;%(DelayLoadDLLs);NetworkAPI_$(PlatformShortName).dll</DelayLoadDLLs>
|
<DelayLoadDLLs>GameLogic_$(PlatformShortName).dll;%(DelayLoadDLLs);NetworkAPI_$(PlatformShortName).dll</DelayLoadDLLs>
|
||||||
<AdditionalDependencies>NetworkAPI_$(PlatformShortName).lib;WindowManager_$(PlatformShortName).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>NetworkAPI_$(PlatformShortName).lib;WindowManager_$(PlatformShortName).lib;GameLogic_$(PlatformShortName).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
@ -197,9 +197,15 @@
|
||||||
<ClInclude Include="ServerObjects\NetworkSession.h" />
|
<ClInclude Include="ServerObjects\NetworkSession.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\..\GamePhysics\GamePhysics.vcxproj">
|
||||||
|
<Project>{104fa3e9-94d9-4e1d-a941-28a03bc8a095}</Project>
|
||||||
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\..\Misc\Misc.vcxproj">
|
<ProjectReference Include="..\..\Misc\Misc.vcxproj">
|
||||||
<Project>{2ec4dded-8f75-4c86-a10b-e1e8eb29f3ee}</Project>
|
<Project>{2ec4dded-8f75-4c86-a10b-e1e8eb29f3ee}</Project>
|
||||||
</ProjectReference>
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\..\OysterMath\OysterMath.vcxproj">
|
||||||
|
<Project>{f10cbc03-9809-4cba-95d8-327c287b18ee}</Project>
|
||||||
|
</ProjectReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
/////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////
|
||||||
// Created by [Dennis Andersen] [2013]
|
// Created by [Dennis Andersen] [2013]
|
||||||
/////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
#define NOMINMAX
|
||||||
#include <Windows.h>
|
#include <Windows.h>
|
||||||
#include <WindowShell.h>
|
#include <WindowShell.h>
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
|
@ -17,6 +17,15 @@ void ClientObject::SetPostbox(Oyster::PostBox<NetworkSession::ClientEvent>* box)
|
||||||
{
|
{
|
||||||
this->box = box;
|
this->box = box;
|
||||||
}
|
}
|
||||||
|
GameLogic::Player* ClientObject::Logic_Object()
|
||||||
|
{
|
||||||
|
return &this->logicPlayer;
|
||||||
|
}
|
||||||
|
Oyster::Network::NetworkClient* ClientObject::NetClient_Object()
|
||||||
|
{
|
||||||
|
return &this->client;
|
||||||
|
}
|
||||||
|
|
||||||
void ClientObject::ProtocolRecievedCallback(Oyster::Network::CustomNetProtocol& protocol)
|
void ClientObject::ProtocolRecievedCallback(Oyster::Network::CustomNetProtocol& protocol)
|
||||||
{
|
{
|
||||||
if(!this->box) return;
|
if(!this->box) return;
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
#include "NetworkSession.h"
|
#include "NetworkSession.h"
|
||||||
#include "NetworkClient.h"
|
#include "NetworkClient.h"
|
||||||
#include <PostBox\PostBox.h>
|
#include <PostBox\PostBox.h>
|
||||||
|
#include <Player.h>
|
||||||
|
|
||||||
namespace DanBias
|
namespace DanBias
|
||||||
{
|
{
|
||||||
|
@ -16,10 +17,14 @@ namespace DanBias
|
||||||
|
|
||||||
void SetPostbox(Oyster::PostBox<NetworkSession::ClientEvent>* box);
|
void SetPostbox(Oyster::PostBox<NetworkSession::ClientEvent>* box);
|
||||||
|
|
||||||
|
GameLogic::Player* Logic_Object();
|
||||||
|
Oyster::Network::NetworkClient* NetClient_Object();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void ProtocolRecievedCallback(Oyster::Network::CustomNetProtocol& protocol) override;
|
void ProtocolRecievedCallback(Oyster::Network::CustomNetProtocol& protocol) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
GameLogic::Player logicPlayer;
|
||||||
Oyster::Network::NetworkClient client;
|
Oyster::Network::NetworkClient client;
|
||||||
Oyster::IPostBox<DanBias::NetworkSession::ClientEvent>* box;
|
Oyster::IPostBox<DanBias::NetworkSession::ClientEvent>* box;
|
||||||
};
|
};
|
||||||
|
|
|
@ -25,22 +25,25 @@ namespace DanBias
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this->clients.push_back(client);
|
this->clients.push_back(client);
|
||||||
}
|
|
||||||
void NetworkSession::DetachClient(Utility::DynamicMemory::SmartPointer<ClientObject> client)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
}
|
||||||
void NetworkSession::DetachClient(short ID)
|
void NetworkSession::DetachClient(short ID)
|
||||||
{
|
{
|
||||||
|
//this->clients[0]->NetClient_Object()->
|
||||||
}
|
}
|
||||||
|
void NetworkSession::DetachClient()
|
||||||
void NetworkSession::Kick(Utility::DynamicMemory::SmartPointer<ClientObject> client)
|
|
||||||
{
|
{
|
||||||
|
for (unsigned int i = 0; i < this->clients.size(); i++)
|
||||||
|
{
|
||||||
|
this->clients[i] = 0;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void NetworkSession::Kick()
|
void NetworkSession::Kick()
|
||||||
{
|
{
|
||||||
|
for (unsigned int i = 0; i < this->clients.size(); i++)
|
||||||
|
{
|
||||||
|
this->clients[i]->NetClient_Object()->Disconnect();
|
||||||
|
this->clients[i] = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}//End namespace DanBias
|
}//End namespace DanBias
|
|
@ -1,6 +1,7 @@
|
||||||
#ifndef DANBIASSERVER_NETWORK_SESSION_H
|
#ifndef DANBIASSERVER_NETWORK_SESSION_H
|
||||||
#define DANBIASSERVER_NETWORK_SESSION_H
|
#define DANBIASSERVER_NETWORK_SESSION_H
|
||||||
|
|
||||||
|
#define NOMINMAX
|
||||||
#include "Utilities.h"
|
#include "Utilities.h"
|
||||||
#include <PostBox\PostBox.h>
|
#include <PostBox\PostBox.h>
|
||||||
#include <PlayerProtocols.h>
|
#include <PlayerProtocols.h>
|
||||||
|
@ -26,10 +27,9 @@ namespace DanBias
|
||||||
|
|
||||||
void AttachClient(Utility::DynamicMemory::SmartPointer<ClientObject> client);
|
void AttachClient(Utility::DynamicMemory::SmartPointer<ClientObject> client);
|
||||||
|
|
||||||
void DetachClient(Utility::DynamicMemory::SmartPointer<ClientObject> client);
|
|
||||||
void DetachClient(short ID);
|
void DetachClient(short ID);
|
||||||
|
void DetachClient();
|
||||||
|
|
||||||
void Kick(Utility::DynamicMemory::SmartPointer<ClientObject> client);
|
|
||||||
void Kick();
|
void Kick();
|
||||||
|
|
||||||
void Send(Oyster::Network::CustomNetProtocol& protocol);
|
void Send(Oyster::Network::CustomNetProtocol& protocol);
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
//////////////////////////////////////////////////
|
||||||
|
//Created by Erik of the GameLogic team
|
||||||
|
//////////////////////////////////////////////////
|
||||||
#ifndef ATTATCHMENTMASSDRIVER_H
|
#ifndef ATTATCHMENTMASSDRIVER_H
|
||||||
#define ATTATCHMENTMASSDRIVER_H
|
#define ATTATCHMENTMASSDRIVER_H
|
||||||
#include "IAttatchment.h"
|
#include "IAttatchment.h"
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
//////////////////////////////////////////////////
|
||||||
|
//Created by Erik of the GameLogic team
|
||||||
|
//////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifndef ATTATCHMENTSOCKET_H
|
#ifndef ATTATCHMENTSOCKET_H
|
||||||
#define ATTATCHMENTSOCKET_H
|
#define ATTATCHMENTSOCKET_H
|
||||||
#include "IAttatchment.h"
|
#include "IAttatchment.h"
|
||||||
|
|
|
@ -69,39 +69,39 @@
|
||||||
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
||||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||||
<TargetName>$(ProjectName)_$(PlatformShortName)D</TargetName>
|
<TargetName>$(ProjectName)_$(PlatformShortName)D</TargetName>
|
||||||
<LibraryPath>$(SolutionDir)..\External\Lib\Input;$(SolutionDir)..\Bin\DLL;$(LibraryPath)</LibraryPath>
|
<LibraryPath>$(SolutionDir)..\Bin\DLL;$(LibraryPath)</LibraryPath>
|
||||||
<TargetExt>.dll</TargetExt>
|
<TargetExt>.dll</TargetExt>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
||||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||||
<TargetName>$(ProjectName)_$(PlatformShortName)</TargetName>
|
<TargetName>$(ProjectName)_$(PlatformShortName)</TargetName>
|
||||||
<LibraryPath>$(SolutionDir)..\External\Lib\Input;$(SolutionDir)..\Bin\DLL;$(LibraryPath)</LibraryPath>
|
<LibraryPath>$(SolutionDir)..\Bin\DLL;$(LibraryPath)</LibraryPath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
||||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||||
<TargetName>$(ProjectName)_$(PlatformShortName)D</TargetName>
|
<TargetName>$(ProjectName)_$(PlatformShortName)D</TargetName>
|
||||||
<LibraryPath>$(SolutionDir)..\External\Lib\Input;$(SolutionDir)..\Bin\DLL;$(LibraryPath)</LibraryPath>
|
<LibraryPath>$(SolutionDir)..\Bin\DLL;$(LibraryPath)</LibraryPath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
||||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||||
<TargetName>$(ProjectName)_$(PlatformShortName)</TargetName>
|
<TargetName>$(ProjectName)_$(PlatformShortName)</TargetName>
|
||||||
<LibraryPath>$(SolutionDir)..\External\Lib\Input;$(SolutionDir)..\Bin\DLL;$(LibraryPath)</LibraryPath>
|
<LibraryPath>$(SolutionDir)..\Bin\DLL;$(LibraryPath)</LibraryPath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
<Optimization>Disabled</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
<SDLCheck>true</SDLCheck>
|
<SDLCheck>true</SDLCheck>
|
||||||
<AdditionalIncludeDirectories>$(SolutionDir)Input;$(SolutionDir)OysterGraphics;$(SolutionDir)Misc;$(SolutionDir)OysterMath;$(SolutionDir)OysterPhysics3D;$(SolutionDir)GamePhysics;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(SolutionDir)Misc;$(SolutionDir)OysterMath;$(SolutionDir)OysterPhysics3D;$(SolutionDir)GamePhysics;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>GAME_DLL_EXPORT;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>DANBIAS_GAMELOGIC_DLL_EXPORT;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<AdditionalDependencies>OysterGraphics_$(PlatformShortName)D.lib;Input_$(PlatformShortName)D.lib;GamePhysics_$(PlatformShortName)D.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>GamePhysics_$(PlatformShortName)D.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<DelayLoadDLLs>GamePhysics_$(PlatformShortName)D.dll</DelayLoadDLLs>
|
<DelayLoadDLLs>GamePhysics_$(PlatformShortName)D.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
@ -109,12 +109,13 @@
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
<Optimization>Disabled</Optimization>
|
<Optimization>Disabled</Optimization>
|
||||||
<SDLCheck>true</SDLCheck>
|
<SDLCheck>true</SDLCheck>
|
||||||
<AdditionalIncludeDirectories>$(SolutionDir)Input;$(SolutionDir)OysterGraphics;$(SolutionDir)Misc;$(SolutionDir)OysterMath;$(SolutionDir)OysterPhysics3D;$(SolutionDir)GamePhysics;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(SolutionDir)Misc;$(SolutionDir)OysterMath;$(SolutionDir)OysterPhysics3D;$(SolutionDir)GamePhysics;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>GAME_DLL_EXPORT;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>DANBIAS_GAMELOGIC_DLL_EXPORT;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<AdditionalDependencies>OysterGraphics_$(PlatformShortName)D.lib;Input_$(PlatformShortName)D.lib;GamePhysics_$(PlatformShortName)D.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>GamePhysics_$(PlatformShortName)D.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<DelayLoadDLLs>GamePhysics_$(PlatformShortName)D.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
@ -124,14 +125,15 @@
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
<SDLCheck>true</SDLCheck>
|
<SDLCheck>true</SDLCheck>
|
||||||
<AdditionalIncludeDirectories>$(SolutionDir)Input;$(SolutionDir)OysterGraphics;$(SolutionDir)Misc;$(SolutionDir)OysterMath;$(SolutionDir)OysterPhysics3D;$(SolutionDir)GamePhysics;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(SolutionDir)Misc;$(SolutionDir)OysterMath;$(SolutionDir)OysterPhysics3D;$(SolutionDir)GamePhysics;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>GAME_DLL_EXPORT;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>DANBIAS_GAMELOGIC_DLL_EXPORT;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
<AdditionalDependencies>OysterGraphics_$(PlatformShortName).lib;Input_$(PlatformShortName).lib;GamePhysics_$(PlatformShortName).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>GamePhysics_$(PlatformShortName).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<DelayLoadDLLs>GamePhysics_$(PlatformShortName).dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
@ -141,14 +143,15 @@
|
||||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
<SDLCheck>true</SDLCheck>
|
<SDLCheck>true</SDLCheck>
|
||||||
<AdditionalIncludeDirectories>$(SolutionDir)Input;$(SolutionDir)OysterGraphics;$(SolutionDir)Misc;$(SolutionDir)OysterMath;$(SolutionDir)OysterPhysics3D;$(SolutionDir)GamePhysics;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories>$(SolutionDir)Misc;$(SolutionDir)OysterMath;$(SolutionDir)OysterPhysics3D;$(SolutionDir)GamePhysics;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions>GAME_DLL_EXPORT;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions>DANBIAS_GAMELOGIC_DLL_EXPORT;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<Link>
|
<Link>
|
||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
<OptimizeReferences>true</OptimizeReferences>
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
<AdditionalDependencies>OysterGraphics_$(PlatformShortName).lib;Input_$(PlatformShortName).lib;GamePhysics_$(PlatformShortName).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
<AdditionalDependencies>GamePhysics_$(PlatformShortName).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<DelayLoadDLLs>GamePhysics_$(PlatformShortName).dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
@ -168,9 +171,9 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="AttatchmentMassDriver.h" />
|
<ClInclude Include="AttatchmentMassDriver.h" />
|
||||||
<ClInclude Include="AttatchmentSocket.h" />
|
<ClInclude Include="AttatchmentSocket.h" />
|
||||||
<ClInclude Include="Camera.h" />
|
|
||||||
<ClInclude Include="CollisionManager.h" />
|
<ClInclude Include="CollisionManager.h" />
|
||||||
<ClInclude Include="DynamicObject.h" />
|
<ClInclude Include="DynamicObject.h" />
|
||||||
|
<ClInclude Include="GameLogicDef.h" />
|
||||||
<ClInclude Include="GameMode.h" />
|
<ClInclude Include="GameMode.h" />
|
||||||
<ClInclude Include="IAttatchment.h" />
|
<ClInclude Include="IAttatchment.h" />
|
||||||
<ClInclude Include="Level.h" />
|
<ClInclude Include="Level.h" />
|
||||||
|
@ -182,7 +185,6 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="AttatchmentMassDriver.cpp" />
|
<ClCompile Include="AttatchmentMassDriver.cpp" />
|
||||||
<ClCompile Include="AttatchmentSocket.cpp" />
|
<ClCompile Include="AttatchmentSocket.cpp" />
|
||||||
<ClCompile Include="Camera.cpp" />
|
|
||||||
<ClCompile Include="CollisionManager.cpp" />
|
<ClCompile Include="CollisionManager.cpp" />
|
||||||
<ClCompile Include="DynamicObject.cpp" />
|
<ClCompile Include="DynamicObject.cpp" />
|
||||||
<ClCompile Include="GameMode.cpp" />
|
<ClCompile Include="GameMode.cpp" />
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
#ifndef GAMELOGIC_GAMELOGICDEF_H
|
||||||
|
#define GAMELOGIC_GAMELOGICDEF_H
|
||||||
|
|
||||||
|
#ifndef DANBIAS_GAMELOGIC
|
||||||
|
#define DANBIAS_GAMELOGIC
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef DANBIAS_GAMELOGIC_DLL_EXPORT
|
||||||
|
#define DANBIAS_GAMELOGIC_DLL __declspec(dllexport)
|
||||||
|
#else
|
||||||
|
#define DANBIAS_GAMELOGIC_DLL __declspec(dllimport)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif // !GAMELOGIC_GAMELOGICDEF_H
|
|
@ -1,3 +1,7 @@
|
||||||
|
//////////////////////////////////////////////////
|
||||||
|
//Created by Erik of the GameLogic team
|
||||||
|
//////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifndef IATTATCHMENT_H
|
#ifndef IATTATCHMENT_H
|
||||||
#define IATTATCHMENT_H
|
#define IATTATCHMENT_H
|
||||||
#include "GameLogicStates.h"
|
#include "GameLogicStates.h"
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
#include "StaticObject.h"
|
#include "StaticObject.h"
|
||||||
#include "DynamicObject.h"
|
#include "DynamicObject.h"
|
||||||
#include "GameMode.h"
|
#include "GameMode.h"
|
||||||
|
#include "Player.h"
|
||||||
|
|
||||||
using namespace GameLogic;
|
using namespace GameLogic;
|
||||||
|
|
||||||
|
@ -15,6 +16,8 @@ struct Level::PrivateData
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Player *players;
|
||||||
|
int nrOfPlayers;
|
||||||
|
|
||||||
StaticObject** staticObjects;
|
StaticObject** staticObjects;
|
||||||
int nrOfStaticObjects;
|
int nrOfStaticObjects;
|
||||||
|
@ -37,4 +40,9 @@ Level::~Level(void)
|
||||||
delete myData;
|
delete myData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Level::InitiateLevel(std::string levelPath)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
//////////////////////////////////////////////////
|
//////////////////////////////////////////////////
|
||||||
#ifndef LEVEL_H
|
#ifndef LEVEL_H
|
||||||
#define LEVEL_H
|
#define LEVEL_H
|
||||||
|
#include <string>
|
||||||
|
|
||||||
namespace GameLogic
|
namespace GameLogic
|
||||||
{
|
{
|
||||||
|
@ -14,7 +15,7 @@ namespace GameLogic
|
||||||
Level(void);
|
Level(void);
|
||||||
~Level(void);
|
~Level(void);
|
||||||
|
|
||||||
void CreateBox();
|
void InitiateLevel(std::string levelPath);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
struct PrivateData;
|
struct PrivateData;
|
||||||
|
|
|
@ -8,11 +8,12 @@
|
||||||
|
|
||||||
#include "PhysicsAPI.h"
|
#include "PhysicsAPI.h"
|
||||||
#include "GameLogicStates.h"
|
#include "GameLogicStates.h"
|
||||||
|
#include "GameLogicDef.h"
|
||||||
|
|
||||||
|
|
||||||
namespace GameLogic
|
namespace GameLogic
|
||||||
{
|
{
|
||||||
class Object
|
class DANBIAS_GAMELOGIC_DLL Object
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Object();
|
Object();
|
||||||
|
|
|
@ -6,10 +6,11 @@
|
||||||
#include "GameLogicStates.h"
|
#include "GameLogicStates.h"
|
||||||
#include "OysterMath.h"
|
#include "OysterMath.h"
|
||||||
#include "Object.h"
|
#include "Object.h"
|
||||||
|
#include "GameLogicDef.h"
|
||||||
|
|
||||||
namespace GameLogic
|
namespace GameLogic
|
||||||
{
|
{
|
||||||
class Player : public Object
|
class DANBIAS_GAMELOGIC_DLL Player : public Object
|
||||||
{
|
{
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -9,9 +9,10 @@ struct Weapon::PrivateData
|
||||||
PrivateData()
|
PrivateData()
|
||||||
{
|
{
|
||||||
weaponState = WEAPON_STATE_IDLE;
|
weaponState = WEAPON_STATE_IDLE;
|
||||||
SelectedAttatchment = 0;
|
selectedAttatchment = 0;
|
||||||
currentNrOfAttatchments = 0;
|
currentNrOfAttatchments = 0;
|
||||||
selectedSocketID = 0;
|
selectedSocketID = 0;
|
||||||
|
maxNrOfSockets = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
~PrivateData()
|
~PrivateData()
|
||||||
|
@ -21,10 +22,10 @@ struct Weapon::PrivateData
|
||||||
WEAPON_STATE weaponState;
|
WEAPON_STATE weaponState;
|
||||||
|
|
||||||
AttatchmentSocket **attatchmentSockets;
|
AttatchmentSocket **attatchmentSockets;
|
||||||
int MaxNrOfSockets;
|
int maxNrOfSockets;
|
||||||
int currentNrOfAttatchments;
|
int currentNrOfAttatchments;
|
||||||
|
|
||||||
IAttatchment *SelectedAttatchment;
|
IAttatchment *selectedAttatchment;
|
||||||
int selectedSocketID;
|
int selectedSocketID;
|
||||||
|
|
||||||
}myData;
|
}myData;
|
||||||
|
@ -37,7 +38,7 @@ Weapon::Weapon()
|
||||||
Weapon::Weapon(int MaxNrOfSockets)
|
Weapon::Weapon(int MaxNrOfSockets)
|
||||||
{
|
{
|
||||||
myData = new PrivateData();
|
myData = new PrivateData();
|
||||||
myData->MaxNrOfSockets = MaxNrOfSockets;
|
myData->maxNrOfSockets = MaxNrOfSockets;
|
||||||
myData->attatchmentSockets = new AttatchmentSocket*[MaxNrOfSockets];
|
myData->attatchmentSockets = new AttatchmentSocket*[MaxNrOfSockets];
|
||||||
for (int i = 0; i < MaxNrOfSockets; i++)
|
for (int i = 0; i < MaxNrOfSockets; i++)
|
||||||
{
|
{
|
||||||
|
@ -56,7 +57,7 @@ Weapon::~Weapon(void)
|
||||||
********************************************************/
|
********************************************************/
|
||||||
void Weapon::Use(const WEAPON_FIRE &fireInput)
|
void Weapon::Use(const WEAPON_FIRE &fireInput)
|
||||||
{
|
{
|
||||||
myData->SelectedAttatchment->UseAttatchment(fireInput);
|
myData->selectedAttatchment->UseAttatchment(fireInput);
|
||||||
}
|
}
|
||||||
|
|
||||||
/********************************************************
|
/********************************************************
|
||||||
|
@ -83,7 +84,7 @@ bool Weapon::IsReloading()
|
||||||
|
|
||||||
bool Weapon::IsValidSocket(int socketID)
|
bool Weapon::IsValidSocket(int socketID)
|
||||||
{
|
{
|
||||||
if(socketID < myData->MaxNrOfSockets && socketID >= 0)
|
if(socketID < myData->maxNrOfSockets && socketID >= 0)
|
||||||
{
|
{
|
||||||
if (myData->attatchmentSockets[socketID]->GetAttatchment() != 0)
|
if (myData->attatchmentSockets[socketID]->GetAttatchment() != 0)
|
||||||
{
|
{
|
||||||
|
@ -100,16 +101,16 @@ int Weapon::GetCurrentSocketID()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Weapon::AddNewAttatchment(IAttatchment *attatchment)
|
void Weapon::AddNewAttatchment(IAttatchment *attatchment, Player *owner)
|
||||||
{
|
{
|
||||||
if(myData->currentNrOfAttatchments < myData->MaxNrOfSockets)
|
if(myData->currentNrOfAttatchments < myData->maxNrOfSockets)
|
||||||
{
|
{
|
||||||
myData->attatchmentSockets[myData->currentNrOfAttatchments]->SetAttatchment(attatchment);
|
myData->attatchmentSockets[myData->currentNrOfAttatchments]->SetAttatchment(attatchment);
|
||||||
myData->currentNrOfAttatchments++;
|
myData->currentNrOfAttatchments++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Weapon::SwitchAttatchment(IAttatchment *attatchment, int socketID)
|
void Weapon::SwitchAttatchment(IAttatchment *attatchment, int socketID, Player *owner)
|
||||||
{
|
{
|
||||||
if (IsValidSocket(socketID))
|
if (IsValidSocket(socketID))
|
||||||
{
|
{
|
||||||
|
@ -129,7 +130,7 @@ void Weapon::SelectAttatchment(int socketID)
|
||||||
{
|
{
|
||||||
if (IsValidSocket(socketID))
|
if (IsValidSocket(socketID))
|
||||||
{
|
{
|
||||||
myData->SelectedAttatchment = myData->attatchmentSockets[socketID]->GetAttatchment();
|
myData->selectedAttatchment = myData->attatchmentSockets[socketID]->GetAttatchment();
|
||||||
myData->selectedSocketID = socketID;
|
myData->selectedSocketID = socketID;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
namespace GameLogic
|
namespace GameLogic
|
||||||
{
|
{
|
||||||
struct Protocol_ObjectPosition :public Network::CustomProtocolObject
|
struct Protocol_ObjectPosition :public Oyster::Network::CustomProtocolObject
|
||||||
{
|
{
|
||||||
float worldMatrix[16];
|
float worldMatrix[16];
|
||||||
// look at dir
|
// look at dir
|
||||||
|
@ -16,33 +16,33 @@ namespace GameLogic
|
||||||
Protocol_ObjectPosition()
|
Protocol_ObjectPosition()
|
||||||
{
|
{
|
||||||
this->protocol[0].value = protocol_PlayerPosition;
|
this->protocol[0].value = protocol_PlayerPosition;
|
||||||
this->protocol[0].type = Network::NetAttributeType_Int;
|
this->protocol[0].type = Oyster::Network::NetAttributeType_Int;
|
||||||
|
|
||||||
this->protocol[1].type = Network::NetAttributeType_Float;
|
this->protocol[1].type = Oyster::Network::NetAttributeType_Float;
|
||||||
this->protocol[2].type = Network::NetAttributeType_Float;
|
this->protocol[2].type = Oyster::Network::NetAttributeType_Float;
|
||||||
this->protocol[3].type = Network::NetAttributeType_Float;
|
this->protocol[3].type = Oyster::Network::NetAttributeType_Float;
|
||||||
this->protocol[4].type = Network::NetAttributeType_Float;
|
this->protocol[4].type = Oyster::Network::NetAttributeType_Float;
|
||||||
this->protocol[5].type = Network::NetAttributeType_Float;
|
this->protocol[5].type = Oyster::Network::NetAttributeType_Float;
|
||||||
this->protocol[6].type = Network::NetAttributeType_Float;
|
this->protocol[6].type = Oyster::Network::NetAttributeType_Float;
|
||||||
this->protocol[7].type = Network::NetAttributeType_Float;
|
this->protocol[7].type = Oyster::Network::NetAttributeType_Float;
|
||||||
this->protocol[8].type = Network::NetAttributeType_Float;
|
this->protocol[8].type = Oyster::Network::NetAttributeType_Float;
|
||||||
this->protocol[9].type = Network::NetAttributeType_Float;
|
this->protocol[9].type = Oyster::Network::NetAttributeType_Float;
|
||||||
this->protocol[10].type = Network::NetAttributeType_Float;
|
this->protocol[10].type = Oyster::Network::NetAttributeType_Float;
|
||||||
this->protocol[11].type = Network::NetAttributeType_Float;
|
this->protocol[11].type = Oyster::Network::NetAttributeType_Float;
|
||||||
this->protocol[12].type = Network::NetAttributeType_Float;
|
this->protocol[12].type = Oyster::Network::NetAttributeType_Float;
|
||||||
this->protocol[13].type = Network::NetAttributeType_Float;
|
this->protocol[13].type = Oyster::Network::NetAttributeType_Float;
|
||||||
this->protocol[14].type = Network::NetAttributeType_Float;
|
this->protocol[14].type = Oyster::Network::NetAttributeType_Float;
|
||||||
this->protocol[15].type = Network::NetAttributeType_Float;
|
this->protocol[15].type = Oyster::Network::NetAttributeType_Float;
|
||||||
this->protocol[16].type = Network::NetAttributeType_Float;
|
this->protocol[16].type = Oyster::Network::NetAttributeType_Float;
|
||||||
|
|
||||||
}
|
}
|
||||||
Network::CustomNetProtocol* GetProtocol() override
|
Oyster::Network::CustomNetProtocol* GetProtocol() override
|
||||||
{
|
{
|
||||||
|
|
||||||
this->protocol[1].value = worldMatrix[0];
|
this->protocol[1].value = worldMatrix[0];
|
||||||
this->protocol[2].value = worldMatrix[1];
|
this->protocol[2].value = worldMatrix[1];
|
||||||
this->protocol[3].value = worldMatrix[2];
|
this->protocol[3].value = worldMatrix[2]; //Forgot?
|
||||||
this->protocol[4].value = worldMatrix[4];
|
this->protocol[4].value = worldMatrix[4]; //Forgot?
|
||||||
this->protocol[5].value = worldMatrix[5];
|
this->protocol[5].value = worldMatrix[5];
|
||||||
this->protocol[6].value = worldMatrix[6];
|
this->protocol[6].value = worldMatrix[6];
|
||||||
this->protocol[7].value = worldMatrix[7];
|
this->protocol[7].value = worldMatrix[7];
|
||||||
|
@ -59,7 +59,7 @@ namespace GameLogic
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Network::CustomNetProtocol protocol;
|
Oyster::Network::CustomNetProtocol protocol;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -127,7 +127,7 @@ theBegining:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
theEnd:
|
//theEnd:
|
||||||
|
|
||||||
if(w->owner) w->owner->ThreadExit();
|
if(w->owner) w->owner->ThreadExit();
|
||||||
w->state = OYSTER_THREAD_STATE_DEAD;
|
w->state = OYSTER_THREAD_STATE_DEAD;
|
||||||
|
|
Loading…
Reference in New Issue