Merge branch 'GameLogic' of https://github.com/dean11/Danbias into GameLogic
This commit is contained in:
commit
3ffbb9525d
|
@ -0,0 +1,233 @@
|
|||
# This file uses centimeters as units for non-parametric coordinates.
|
||||
|
||||
mtllib crate.mtl
|
||||
g default
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v -0.500000 0.500000 0.500000
|
||||
v 0.500000 0.500000 0.500000
|
||||
v -0.500000 0.500000 -0.500000
|
||||
v 0.500000 0.500000 -0.500000
|
||||
v -0.500000 -0.500000 -0.500000
|
||||
v 0.500000 -0.500000 -0.500000
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v 0.500000 0.500000 0.500000
|
||||
v -0.500000 0.500000 0.500000
|
||||
v 0.500000 0.500000 -0.500000
|
||||
v -0.500000 0.500000 -0.500000
|
||||
v 0.500000 -0.500000 -0.500000
|
||||
v -0.500000 -0.500000 -0.500000
|
||||
v -0.479379 0.522314 0.479379
|
||||
v 0.479379 0.522314 0.479379
|
||||
v 0.479379 0.522314 -0.479379
|
||||
v -0.479379 0.522314 -0.479379
|
||||
v -0.470939 -0.528599 -0.470939
|
||||
v 0.470939 -0.528599 -0.470939
|
||||
v 0.470939 -0.528599 0.470939
|
||||
v -0.470939 -0.528599 0.470939
|
||||
v 0.520103 -0.460610 -0.460610
|
||||
v 0.520103 -0.460610 0.460610
|
||||
v 0.520103 0.460610 -0.460610
|
||||
v 0.520103 0.460610 0.460610
|
||||
v -0.522559 -0.464751 -0.464751
|
||||
v -0.522559 -0.464751 0.464751
|
||||
v -0.522559 0.464751 0.464751
|
||||
v -0.522559 0.464751 -0.464751
|
||||
v -0.460954 -0.460954 0.522335
|
||||
v 0.460954 -0.460954 0.522335
|
||||
v 0.460954 0.460954 0.522335
|
||||
v -0.460954 0.460954 0.522335
|
||||
v -0.466507 0.466507 -0.525017
|
||||
v 0.466507 0.466507 -0.525017
|
||||
v 0.466507 -0.466507 -0.525017
|
||||
v -0.466507 -0.466507 -0.525017
|
||||
vt 0.995838 0.004695
|
||||
vt 0.999640 -0.003712
|
||||
vt 0.003809 -0.000160
|
||||
vt -0.000796 1.000526
|
||||
vt 0.003809 0.003892
|
||||
vt 0.999640 0.995671
|
||||
vt 0.003809 0.007944
|
||||
vt 0.999640 0.999723
|
||||
vt 0.003809 1.003774
|
||||
vt 0.999640 1.003774
|
||||
vt 0.995035 0.004695
|
||||
vt 0.995035 1.000526
|
||||
vt 0.000007 0.004695
|
||||
vt 0.000007 1.000526
|
||||
vt 0.999640 0.007944
|
||||
vt -0.000796 0.004695
|
||||
vt 0.003809 0.999723
|
||||
vt 0.003809 -0.003712
|
||||
vt 0.999640 0.003892
|
||||
vt 0.003809 0.995671
|
||||
vt 0.999640 0.992119
|
||||
vt 0.999640 -0.000160
|
||||
vt 0.003809 0.992119
|
||||
vt 0.995838 1.000526
|
||||
vt 0.003809 -0.003712
|
||||
vt 0.999640 -0.003712
|
||||
vt 0.999640 0.992119
|
||||
vt 0.003809 0.992119
|
||||
vt 0.003809 -0.000160
|
||||
vt 0.999640 -0.000160
|
||||
vt 0.999640 0.995671
|
||||
vt 0.003809 0.995671
|
||||
vt 0.003809 0.003892
|
||||
vt 0.999640 0.003892
|
||||
vt 0.999640 0.999723
|
||||
vt 0.003809 0.999723
|
||||
vt 0.003809 0.007944
|
||||
vt 0.999640 0.007944
|
||||
vt 0.999640 1.003774
|
||||
vt 0.003809 1.003774
|
||||
vt -0.000796 0.004695
|
||||
vt 0.995035 0.004695
|
||||
vt 0.995035 1.000526
|
||||
vt -0.000796 1.000526
|
||||
vt 0.000007 0.004695
|
||||
vt 0.995838 0.004695
|
||||
vt 0.995838 1.000526
|
||||
vt 0.000007 1.000526
|
||||
vt 0.003809 -0.000160
|
||||
vt 0.999640 -0.000160
|
||||
vt 0.999640 0.995671
|
||||
vt 0.003809 0.995671
|
||||
vt 0.003809 0.007944
|
||||
vt 0.999640 0.007944
|
||||
vt 0.999640 1.003774
|
||||
vt 0.003809 1.003774
|
||||
vt -0.000796 0.004695
|
||||
vt 0.995035 0.004695
|
||||
vt 0.995035 1.000526
|
||||
vt -0.000796 1.000526
|
||||
vt 0.000007 0.004695
|
||||
vt 0.995838 0.004695
|
||||
vt 0.995838 1.000526
|
||||
vt 0.000007 1.000526
|
||||
vt 0.003809 -0.003712
|
||||
vt 0.999640 -0.003712
|
||||
vt 0.999640 0.992119
|
||||
vt 0.003809 0.992119
|
||||
vt 0.003809 0.003892
|
||||
vt 0.999640 0.003892
|
||||
vt 0.999640 0.999723
|
||||
vt 0.003809 0.999723
|
||||
vn -0.031209 -0.033799 0.998941
|
||||
vn 0.033799 -0.031209 0.998941
|
||||
vn -0.033799 0.031209 0.998941
|
||||
vn 0.031209 0.033799 0.998941
|
||||
vn -0.030245 0.999045 0.031527
|
||||
vn 0.031527 0.999045 0.030245
|
||||
vn -0.031527 0.999045 -0.030245
|
||||
vn 0.030245 0.999045 -0.031527
|
||||
vn -0.034614 0.037052 -0.998714
|
||||
vn 0.037051 0.034614 -0.998714
|
||||
vn -0.037051 -0.034614 -0.998714
|
||||
vn 0.034614 -0.037052 -0.998714
|
||||
vn -0.038824 -0.998397 -0.041174
|
||||
vn 0.041174 -0.998397 -0.038824
|
||||
vn -0.041174 -0.998397 0.038824
|
||||
vn 0.038824 -0.998397 0.041174
|
||||
vn 0.999134 -0.030589 0.028224
|
||||
vn 0.999134 -0.028224 -0.030589
|
||||
vn 0.999134 0.028224 0.030589
|
||||
vn 0.999134 0.030589 -0.028224
|
||||
vn -0.998933 -0.033811 -0.031470
|
||||
vn -0.998933 -0.031470 0.033811
|
||||
vn -0.998933 0.031470 -0.033811
|
||||
vn -0.998933 0.033811 0.031470
|
||||
vn 0.577350 0.577350 -0.577350
|
||||
vn 0.577350 -0.577350 -0.577350
|
||||
vn -0.577350 0.577350 -0.577350
|
||||
vn -0.577350 -0.577350 -0.577350
|
||||
vn 0.577350 -0.577350 0.577350
|
||||
vn -0.577350 -0.577350 0.577350
|
||||
vn 0.577350 0.577350 0.577350
|
||||
vn -0.577350 0.577350 0.577350
|
||||
vn -0.608285 0.469952 0.639637
|
||||
vn 0.633500 0.454555 0.626145
|
||||
vn 0.657522 0.474071 -0.585595
|
||||
vn -0.626276 0.491669 -0.605013
|
||||
vn -0.608373 -0.534484 -0.586694
|
||||
vn 0.635292 -0.520408 -0.570596
|
||||
vn 0.616200 -0.500955 0.607735
|
||||
vn -0.589957 -0.516183 0.620891
|
||||
s 1
|
||||
g meshCrate
|
||||
usemtl matCrateSG
|
||||
f 33/65/1 34/66/2 36/68/3
|
||||
f 36/68/3 34/66/2 35/67/4
|
||||
f 17/49/5 18/50/6 20/52/7
|
||||
f 20/52/7 18/50/6 19/51/8
|
||||
f 37/69/9 38/70/10 40/72/11
|
||||
f 40/72/11 38/70/10 39/71/12
|
||||
f 21/53/13 22/54/14 24/56/15
|
||||
f 24/56/15 22/54/14 23/55/16
|
||||
f 26/57/17 25/58/18 28/60/19
|
||||
f 28/60/19 25/58/18 27/59/20
|
||||
f 29/61/21 30/62/22 32/64/23
|
||||
f 32/64/23 30/62/22 31/63/24
|
||||
s 7
|
||||
f 1/25/25 3/28/26 2/26/27
|
||||
f 2/26/27 3/28/26 4/27/28
|
||||
f 3/29/26 5/32/29 4/30/28
|
||||
f 4/30/28 5/32/29 6/31/30
|
||||
f 5/33/29 7/36/31 6/34/30
|
||||
f 6/34/30 7/36/31 8/35/32
|
||||
f 7/37/31 1/40/25 8/38/32
|
||||
f 8/38/32 1/40/25 2/39/27
|
||||
f 2/41/27 4/44/28 8/42/32
|
||||
f 8/42/32 4/44/28 6/43/30
|
||||
f 7/45/31 5/48/29 1/46/25
|
||||
f 1/46/25 5/48/29 3/47/26
|
||||
s 1
|
||||
f 12/3/33 11/22/34 17/49/5
|
||||
f 17/49/5 11/22/34 18/50/6
|
||||
f 11/22/34 13/6/35 18/50/6
|
||||
f 18/50/6 13/6/35 19/51/8
|
||||
f 13/6/35 14/20/36 19/51/8
|
||||
f 19/51/8 14/20/36 20/52/7
|
||||
f 14/20/36 12/3/33 20/52/7
|
||||
f 20/52/7 12/3/33 17/49/5
|
||||
f 16/7/37 15/15/38 21/53/13
|
||||
f 21/53/13 15/15/38 22/54/14
|
||||
f 15/15/38 10/10/39 22/54/14
|
||||
f 22/54/14 10/10/39 23/55/16
|
||||
f 10/10/39 9/9/40 23/55/16
|
||||
f 23/55/16 9/9/40 24/56/15
|
||||
f 9/9/40 16/7/37 24/56/15
|
||||
f 24/56/15 16/7/37 21/53/13
|
||||
f 10/16/39 15/11/38 26/57/17
|
||||
f 26/57/17 15/11/38 25/58/18
|
||||
f 15/11/38 13/12/35 25/58/18
|
||||
f 25/58/18 13/12/35 27/59/20
|
||||
f 13/12/35 11/4/34 27/59/20
|
||||
f 27/59/20 11/4/34 28/60/19
|
||||
f 11/4/34 10/16/39 28/60/19
|
||||
f 28/60/19 10/16/39 26/57/17
|
||||
f 16/13/37 9/1/40 29/61/21
|
||||
f 29/61/21 9/1/40 30/62/22
|
||||
f 9/1/40 12/24/33 30/62/22
|
||||
f 30/62/22 12/24/33 31/63/24
|
||||
f 12/24/33 14/14/36 31/63/24
|
||||
f 31/63/24 14/14/36 32/64/23
|
||||
f 14/14/36 16/13/37 32/64/23
|
||||
f 32/64/23 16/13/37 29/61/21
|
||||
f 9/18/40 10/2/39 33/65/1
|
||||
f 33/65/1 10/2/39 34/66/2
|
||||
f 10/2/39 11/21/34 34/66/2
|
||||
f 34/66/2 11/21/34 35/67/4
|
||||
f 11/21/34 12/23/33 35/67/4
|
||||
f 35/67/4 12/23/33 36/68/3
|
||||
f 12/23/33 9/18/40 36/68/3
|
||||
f 36/68/3 9/18/40 33/65/1
|
||||
f 14/5/36 13/19/35 37/69/9
|
||||
f 37/69/9 13/19/35 38/70/10
|
||||
f 13/19/35 15/8/38 38/70/10
|
||||
f 38/70/10 15/8/38 39/71/12
|
||||
f 15/8/38 16/17/37 39/71/12
|
||||
f 39/71/12 16/17/37 40/72/11
|
||||
f 16/17/37 14/5/36 40/72/11
|
||||
f 40/72/11 14/5/36 37/69/9
|
Binary file not shown.
After Width: | Height: | Size: 4.4 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
port 15151
|
||||
clients 200
|
|
@ -0,0 +1,4 @@
|
|||
ServerInit ..\Settings\ServerInit.ini
|
||||
More a
|
||||
more b
|
||||
more c
|
189
Code/DanBias.sln
189
Code/DanBias.sln
|
@ -23,13 +23,26 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OysterNetworkServer", "Netw
|
|||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NetworkDependencies", "Network\NetworkDependencies\NetworkDependencies.vcxproj", "{C5AA09D0-6594-4CD3-BD92-1D380C7B3B50}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GameLogic", "GameLogic\GameLogic.vcxproj", "{B1195BB9-B3A5-47F0-906C-8DEA384D1520}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GamePhysics", "GamePhysics\GamePhysics.vcxproj", "{104FA3E9-94D9-4E1D-A941-28A03BC8A095}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Tester", "Tester\Tester.vcxproj", "{1B3BEA4C-CF75-438A-9693-60FB8444BBF3}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DanBiasGame", "DanBiasGame\DanBiasGame.vcxproj", "{2A1BC987-AF42-4500-802D-89CD32FC1309}"
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DanBiasGame", "Game\DanBiasGame\DanBiasGame.vcxproj", "{2A1BC987-AF42-4500-802D-89CD32FC1309}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Game", "Game", "{20720CA7-795C-45AD-A302-9383A6DD503A}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GameLogic", "Game\GameLogic\GameLogic.vcxproj", "{B1195BB9-B3A5-47F0-906C-8DEA384D1520}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DanBiasServer", "Game\DanBiasServer\DanBiasServer.vcxproj", "{52380DAA-0F4A-4D97-8E57-98DF39319CAF}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DanBiasLauncher", "Game\DanBiasLauncher\DanBiasLauncher.vcxproj", "{8690FDDF-C5B7-4C42-A337-BD5243F29B85}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{52380DAA-0F4A-4D97-8E57-98DF39319CAF} = {52380DAA-0F4A-4D97-8E57-98DF39319CAF}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "NetworkAPI", "Network\NetworkAPI\NetworkAPI.vcxproj", "{460D625F-2AC9-4559-B809-0BA89CEAEDF4}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GameProtocols", "Game\GameProtocols\GameProtocols.vcxproj", "{DA2AA800-ED64-4649-8B3B-E7F1E3968B78}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
|
@ -41,139 +54,128 @@ Global
|
|||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{0EC83E64-230E-48EF-B08C-6AC9651B4F82}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
|
||||
{0EC83E64-230E-48EF-B08C-6AC9651B4F82}.Debug|Mixed Platforms.Build.0 = Debug|Win32
|
||||
{0EC83E64-230E-48EF-B08C-6AC9651B4F82}.Debug|Mixed Platforms.ActiveCfg = Release|x64
|
||||
{0EC83E64-230E-48EF-B08C-6AC9651B4F82}.Debug|Mixed Platforms.Build.0 = Release|x64
|
||||
{0EC83E64-230E-48EF-B08C-6AC9651B4F82}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{0EC83E64-230E-48EF-B08C-6AC9651B4F82}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{0EC83E64-230E-48EF-B08C-6AC9651B4F82}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{0EC83E64-230E-48EF-B08C-6AC9651B4F82}.Debug|x64.Build.0 = Debug|x64
|
||||
{0EC83E64-230E-48EF-B08C-6AC9651B4F82}.Release|Mixed Platforms.ActiveCfg = Release|Win32
|
||||
{0EC83E64-230E-48EF-B08C-6AC9651B4F82}.Release|Mixed Platforms.Build.0 = Release|Win32
|
||||
{0EC83E64-230E-48EF-B08C-6AC9651B4F82}.Release|Mixed Platforms.ActiveCfg = Release|x64
|
||||
{0EC83E64-230E-48EF-B08C-6AC9651B4F82}.Release|Mixed Platforms.Build.0 = Release|x64
|
||||
{0EC83E64-230E-48EF-B08C-6AC9651B4F82}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{0EC83E64-230E-48EF-B08C-6AC9651B4F82}.Release|Win32.Build.0 = Release|Win32
|
||||
{0EC83E64-230E-48EF-B08C-6AC9651B4F82}.Release|x64.ActiveCfg = Release|x64
|
||||
{0EC83E64-230E-48EF-B08C-6AC9651B4F82}.Release|x64.Build.0 = Release|x64
|
||||
{F10CBC03-9809-4CBA-95D8-327C287B18EE}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
|
||||
{F10CBC03-9809-4CBA-95D8-327C287B18EE}.Debug|Mixed Platforms.Build.0 = Debug|Win32
|
||||
{F10CBC03-9809-4CBA-95D8-327C287B18EE}.Debug|Mixed Platforms.ActiveCfg = Release|x64
|
||||
{F10CBC03-9809-4CBA-95D8-327C287B18EE}.Debug|Mixed Platforms.Build.0 = Release|x64
|
||||
{F10CBC03-9809-4CBA-95D8-327C287B18EE}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{F10CBC03-9809-4CBA-95D8-327C287B18EE}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{F10CBC03-9809-4CBA-95D8-327C287B18EE}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{F10CBC03-9809-4CBA-95D8-327C287B18EE}.Debug|x64.Build.0 = Debug|x64
|
||||
{F10CBC03-9809-4CBA-95D8-327C287B18EE}.Release|Mixed Platforms.ActiveCfg = Release|Win32
|
||||
{F10CBC03-9809-4CBA-95D8-327C287B18EE}.Release|Mixed Platforms.Build.0 = Release|Win32
|
||||
{F10CBC03-9809-4CBA-95D8-327C287B18EE}.Release|Mixed Platforms.ActiveCfg = Release|x64
|
||||
{F10CBC03-9809-4CBA-95D8-327C287B18EE}.Release|Mixed Platforms.Build.0 = Release|x64
|
||||
{F10CBC03-9809-4CBA-95D8-327C287B18EE}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{F10CBC03-9809-4CBA-95D8-327C287B18EE}.Release|Win32.Build.0 = Release|Win32
|
||||
{F10CBC03-9809-4CBA-95D8-327C287B18EE}.Release|x64.ActiveCfg = Release|x64
|
||||
{F10CBC03-9809-4CBA-95D8-327C287B18EE}.Release|x64.Build.0 = Release|x64
|
||||
{4285BD3F-3C6C-4670-B7AF-A29AFEF5F6A8}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
|
||||
{4285BD3F-3C6C-4670-B7AF-A29AFEF5F6A8}.Debug|Mixed Platforms.Build.0 = Debug|Win32
|
||||
{4285BD3F-3C6C-4670-B7AF-A29AFEF5F6A8}.Debug|Mixed Platforms.ActiveCfg = Release|x64
|
||||
{4285BD3F-3C6C-4670-B7AF-A29AFEF5F6A8}.Debug|Mixed Platforms.Build.0 = Release|x64
|
||||
{4285BD3F-3C6C-4670-B7AF-A29AFEF5F6A8}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{4285BD3F-3C6C-4670-B7AF-A29AFEF5F6A8}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{4285BD3F-3C6C-4670-B7AF-A29AFEF5F6A8}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{4285BD3F-3C6C-4670-B7AF-A29AFEF5F6A8}.Debug|x64.Build.0 = Debug|x64
|
||||
{4285BD3F-3C6C-4670-B7AF-A29AFEF5F6A8}.Release|Mixed Platforms.ActiveCfg = Release|Win32
|
||||
{4285BD3F-3C6C-4670-B7AF-A29AFEF5F6A8}.Release|Mixed Platforms.Build.0 = Release|Win32
|
||||
{4285BD3F-3C6C-4670-B7AF-A29AFEF5F6A8}.Release|Mixed Platforms.ActiveCfg = Release|x64
|
||||
{4285BD3F-3C6C-4670-B7AF-A29AFEF5F6A8}.Release|Mixed Platforms.Build.0 = Release|x64
|
||||
{4285BD3F-3C6C-4670-B7AF-A29AFEF5F6A8}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{4285BD3F-3C6C-4670-B7AF-A29AFEF5F6A8}.Release|Win32.Build.0 = Release|Win32
|
||||
{4285BD3F-3C6C-4670-B7AF-A29AFEF5F6A8}.Release|x64.ActiveCfg = Release|x64
|
||||
{4285BD3F-3C6C-4670-B7AF-A29AFEF5F6A8}.Release|x64.Build.0 = Release|x64
|
||||
{34D6295A-00DD-4B1A-8258-97DA2818EC26}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
|
||||
{34D6295A-00DD-4B1A-8258-97DA2818EC26}.Debug|Mixed Platforms.Build.0 = Debug|Win32
|
||||
{34D6295A-00DD-4B1A-8258-97DA2818EC26}.Debug|Mixed Platforms.ActiveCfg = Release|x64
|
||||
{34D6295A-00DD-4B1A-8258-97DA2818EC26}.Debug|Mixed Platforms.Build.0 = Release|x64
|
||||
{34D6295A-00DD-4B1A-8258-97DA2818EC26}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{34D6295A-00DD-4B1A-8258-97DA2818EC26}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{34D6295A-00DD-4B1A-8258-97DA2818EC26}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{34D6295A-00DD-4B1A-8258-97DA2818EC26}.Debug|x64.Build.0 = Debug|x64
|
||||
{34D6295A-00DD-4B1A-8258-97DA2818EC26}.Release|Mixed Platforms.ActiveCfg = Release|Win32
|
||||
{34D6295A-00DD-4B1A-8258-97DA2818EC26}.Release|Mixed Platforms.Build.0 = Release|Win32
|
||||
{34D6295A-00DD-4B1A-8258-97DA2818EC26}.Release|Mixed Platforms.ActiveCfg = Release|x64
|
||||
{34D6295A-00DD-4B1A-8258-97DA2818EC26}.Release|Mixed Platforms.Build.0 = Release|x64
|
||||
{34D6295A-00DD-4B1A-8258-97DA2818EC26}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{34D6295A-00DD-4B1A-8258-97DA2818EC26}.Release|Win32.Build.0 = Release|Win32
|
||||
{34D6295A-00DD-4B1A-8258-97DA2818EC26}.Release|x64.ActiveCfg = Release|x64
|
||||
{34D6295A-00DD-4B1A-8258-97DA2818EC26}.Release|x64.Build.0 = Release|x64
|
||||
{35AEA3C0-E0A7-4E1E-88CD-514AA5A442B1}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
|
||||
{35AEA3C0-E0A7-4E1E-88CD-514AA5A442B1}.Debug|Mixed Platforms.Build.0 = Debug|Win32
|
||||
{35AEA3C0-E0A7-4E1E-88CD-514AA5A442B1}.Debug|Mixed Platforms.ActiveCfg = Release|x64
|
||||
{35AEA3C0-E0A7-4E1E-88CD-514AA5A442B1}.Debug|Mixed Platforms.Build.0 = Release|x64
|
||||
{35AEA3C0-E0A7-4E1E-88CD-514AA5A442B1}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{35AEA3C0-E0A7-4E1E-88CD-514AA5A442B1}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{35AEA3C0-E0A7-4E1E-88CD-514AA5A442B1}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{35AEA3C0-E0A7-4E1E-88CD-514AA5A442B1}.Debug|x64.Build.0 = Debug|x64
|
||||
{35AEA3C0-E0A7-4E1E-88CD-514AA5A442B1}.Release|Mixed Platforms.ActiveCfg = Release|Win32
|
||||
{35AEA3C0-E0A7-4E1E-88CD-514AA5A442B1}.Release|Mixed Platforms.Build.0 = Release|Win32
|
||||
{35AEA3C0-E0A7-4E1E-88CD-514AA5A442B1}.Release|Mixed Platforms.ActiveCfg = Release|x64
|
||||
{35AEA3C0-E0A7-4E1E-88CD-514AA5A442B1}.Release|Mixed Platforms.Build.0 = Release|x64
|
||||
{35AEA3C0-E0A7-4E1E-88CD-514AA5A442B1}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{35AEA3C0-E0A7-4E1E-88CD-514AA5A442B1}.Release|Win32.Build.0 = Release|Win32
|
||||
{35AEA3C0-E0A7-4E1E-88CD-514AA5A442B1}.Release|x64.ActiveCfg = Release|x64
|
||||
{35AEA3C0-E0A7-4E1E-88CD-514AA5A442B1}.Release|x64.Build.0 = Release|x64
|
||||
{7E3990D2-3D94-465C-B58D-64A74B3ECF9B}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
|
||||
{7E3990D2-3D94-465C-B58D-64A74B3ECF9B}.Debug|Mixed Platforms.Build.0 = Debug|Win32
|
||||
{7E3990D2-3D94-465C-B58D-64A74B3ECF9B}.Debug|Mixed Platforms.ActiveCfg = Release|x64
|
||||
{7E3990D2-3D94-465C-B58D-64A74B3ECF9B}.Debug|Mixed Platforms.Build.0 = Release|x64
|
||||
{7E3990D2-3D94-465C-B58D-64A74B3ECF9B}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{7E3990D2-3D94-465C-B58D-64A74B3ECF9B}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{7E3990D2-3D94-465C-B58D-64A74B3ECF9B}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{7E3990D2-3D94-465C-B58D-64A74B3ECF9B}.Debug|x64.Build.0 = Debug|x64
|
||||
{7E3990D2-3D94-465C-B58D-64A74B3ECF9B}.Release|Mixed Platforms.ActiveCfg = Release|Win32
|
||||
{7E3990D2-3D94-465C-B58D-64A74B3ECF9B}.Release|Mixed Platforms.Build.0 = Release|Win32
|
||||
{7E3990D2-3D94-465C-B58D-64A74B3ECF9B}.Release|Mixed Platforms.ActiveCfg = Release|x64
|
||||
{7E3990D2-3D94-465C-B58D-64A74B3ECF9B}.Release|Mixed Platforms.Build.0 = Release|x64
|
||||
{7E3990D2-3D94-465C-B58D-64A74B3ECF9B}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{7E3990D2-3D94-465C-B58D-64A74B3ECF9B}.Release|Win32.Build.0 = Release|Win32
|
||||
{7E3990D2-3D94-465C-B58D-64A74B3ECF9B}.Release|x64.ActiveCfg = Release|x64
|
||||
{7E3990D2-3D94-465C-B58D-64A74B3ECF9B}.Release|x64.Build.0 = Release|x64
|
||||
{2EC4DDED-8F75-4C86-A10B-E1E8EB29F3EE}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
|
||||
{2EC4DDED-8F75-4C86-A10B-E1E8EB29F3EE}.Debug|Mixed Platforms.Build.0 = Debug|Win32
|
||||
{2EC4DDED-8F75-4C86-A10B-E1E8EB29F3EE}.Debug|Mixed Platforms.ActiveCfg = Release|x64
|
||||
{2EC4DDED-8F75-4C86-A10B-E1E8EB29F3EE}.Debug|Mixed Platforms.Build.0 = Release|x64
|
||||
{2EC4DDED-8F75-4C86-A10B-E1E8EB29F3EE}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{2EC4DDED-8F75-4C86-A10B-E1E8EB29F3EE}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{2EC4DDED-8F75-4C86-A10B-E1E8EB29F3EE}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{2EC4DDED-8F75-4C86-A10B-E1E8EB29F3EE}.Debug|x64.Build.0 = Debug|x64
|
||||
{2EC4DDED-8F75-4C86-A10B-E1E8EB29F3EE}.Release|Mixed Platforms.ActiveCfg = Release|Win32
|
||||
{2EC4DDED-8F75-4C86-A10B-E1E8EB29F3EE}.Release|Mixed Platforms.Build.0 = Release|Win32
|
||||
{2EC4DDED-8F75-4C86-A10B-E1E8EB29F3EE}.Release|Mixed Platforms.ActiveCfg = Release|x64
|
||||
{2EC4DDED-8F75-4C86-A10B-E1E8EB29F3EE}.Release|Mixed Platforms.Build.0 = Release|x64
|
||||
{2EC4DDED-8F75-4C86-A10B-E1E8EB29F3EE}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{2EC4DDED-8F75-4C86-A10B-E1E8EB29F3EE}.Release|Win32.Build.0 = Release|Win32
|
||||
{2EC4DDED-8F75-4C86-A10B-E1E8EB29F3EE}.Release|x64.ActiveCfg = Release|x64
|
||||
{2EC4DDED-8F75-4C86-A10B-E1E8EB29F3EE}.Release|x64.Build.0 = Release|x64
|
||||
{838B25C2-D19E-49FE-8CB0-9A977CA3C7E8}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
|
||||
{838B25C2-D19E-49FE-8CB0-9A977CA3C7E8}.Debug|Mixed Platforms.Build.0 = Debug|Win32
|
||||
{838B25C2-D19E-49FE-8CB0-9A977CA3C7E8}.Debug|Mixed Platforms.ActiveCfg = Release|x64
|
||||
{838B25C2-D19E-49FE-8CB0-9A977CA3C7E8}.Debug|Mixed Platforms.Build.0 = Release|x64
|
||||
{838B25C2-D19E-49FE-8CB0-9A977CA3C7E8}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{838B25C2-D19E-49FE-8CB0-9A977CA3C7E8}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{838B25C2-D19E-49FE-8CB0-9A977CA3C7E8}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{838B25C2-D19E-49FE-8CB0-9A977CA3C7E8}.Debug|x64.Build.0 = Debug|x64
|
||||
{838B25C2-D19E-49FE-8CB0-9A977CA3C7E8}.Release|Mixed Platforms.ActiveCfg = Release|Win32
|
||||
{838B25C2-D19E-49FE-8CB0-9A977CA3C7E8}.Release|Mixed Platforms.Build.0 = Release|Win32
|
||||
{838B25C2-D19E-49FE-8CB0-9A977CA3C7E8}.Release|Mixed Platforms.ActiveCfg = Release|x64
|
||||
{838B25C2-D19E-49FE-8CB0-9A977CA3C7E8}.Release|Mixed Platforms.Build.0 = Release|x64
|
||||
{838B25C2-D19E-49FE-8CB0-9A977CA3C7E8}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{838B25C2-D19E-49FE-8CB0-9A977CA3C7E8}.Release|Win32.Build.0 = Release|Win32
|
||||
{838B25C2-D19E-49FE-8CB0-9A977CA3C7E8}.Release|x64.ActiveCfg = Release|x64
|
||||
{838B25C2-D19E-49FE-8CB0-9A977CA3C7E8}.Release|x64.Build.0 = Release|x64
|
||||
{6A066806-F43F-4B31-A4E3-57179674F460}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
|
||||
{6A066806-F43F-4B31-A4E3-57179674F460}.Debug|Mixed Platforms.Build.0 = Debug|Win32
|
||||
{6A066806-F43F-4B31-A4E3-57179674F460}.Debug|Mixed Platforms.ActiveCfg = Release|x64
|
||||
{6A066806-F43F-4B31-A4E3-57179674F460}.Debug|Mixed Platforms.Build.0 = Release|x64
|
||||
{6A066806-F43F-4B31-A4E3-57179674F460}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{6A066806-F43F-4B31-A4E3-57179674F460}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{6A066806-F43F-4B31-A4E3-57179674F460}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{6A066806-F43F-4B31-A4E3-57179674F460}.Debug|x64.Build.0 = Debug|x64
|
||||
{6A066806-F43F-4B31-A4E3-57179674F460}.Release|Mixed Platforms.ActiveCfg = Release|Win32
|
||||
{6A066806-F43F-4B31-A4E3-57179674F460}.Release|Mixed Platforms.Build.0 = Release|Win32
|
||||
{6A066806-F43F-4B31-A4E3-57179674F460}.Release|Mixed Platforms.ActiveCfg = Release|x64
|
||||
{6A066806-F43F-4B31-A4E3-57179674F460}.Release|Mixed Platforms.Build.0 = Release|x64
|
||||
{6A066806-F43F-4B31-A4E3-57179674F460}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{6A066806-F43F-4B31-A4E3-57179674F460}.Release|Win32.Build.0 = Release|Win32
|
||||
{6A066806-F43F-4B31-A4E3-57179674F460}.Release|x64.ActiveCfg = Release|x64
|
||||
{6A066806-F43F-4B31-A4E3-57179674F460}.Release|x64.Build.0 = Release|x64
|
||||
{C5AA09D0-6594-4CD3-BD92-1D380C7B3B50}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
|
||||
{C5AA09D0-6594-4CD3-BD92-1D380C7B3B50}.Debug|Mixed Platforms.Build.0 = Debug|Win32
|
||||
{C5AA09D0-6594-4CD3-BD92-1D380C7B3B50}.Debug|Mixed Platforms.ActiveCfg = Release|x64
|
||||
{C5AA09D0-6594-4CD3-BD92-1D380C7B3B50}.Debug|Mixed Platforms.Build.0 = Release|x64
|
||||
{C5AA09D0-6594-4CD3-BD92-1D380C7B3B50}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{C5AA09D0-6594-4CD3-BD92-1D380C7B3B50}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{C5AA09D0-6594-4CD3-BD92-1D380C7B3B50}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{C5AA09D0-6594-4CD3-BD92-1D380C7B3B50}.Debug|x64.Build.0 = Debug|x64
|
||||
{C5AA09D0-6594-4CD3-BD92-1D380C7B3B50}.Release|Mixed Platforms.ActiveCfg = Release|Win32
|
||||
{C5AA09D0-6594-4CD3-BD92-1D380C7B3B50}.Release|Mixed Platforms.Build.0 = Release|Win32
|
||||
{C5AA09D0-6594-4CD3-BD92-1D380C7B3B50}.Release|Mixed Platforms.ActiveCfg = Release|x64
|
||||
{C5AA09D0-6594-4CD3-BD92-1D380C7B3B50}.Release|Mixed Platforms.Build.0 = Release|x64
|
||||
{C5AA09D0-6594-4CD3-BD92-1D380C7B3B50}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{C5AA09D0-6594-4CD3-BD92-1D380C7B3B50}.Release|Win32.Build.0 = Release|Win32
|
||||
{C5AA09D0-6594-4CD3-BD92-1D380C7B3B50}.Release|x64.ActiveCfg = Release|x64
|
||||
{C5AA09D0-6594-4CD3-BD92-1D380C7B3B50}.Release|x64.Build.0 = Release|x64
|
||||
{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|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.Build.0 = Debug|x64
|
||||
{B1195BB9-B3A5-47F0-906C-8DEA384D1520}.Release|Mixed Platforms.ActiveCfg = Release|Win32
|
||||
{B1195BB9-B3A5-47F0-906C-8DEA384D1520}.Release|Mixed Platforms.Build.0 = Release|Win32
|
||||
{B1195BB9-B3A5-47F0-906C-8DEA384D1520}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{B1195BB9-B3A5-47F0-906C-8DEA384D1520}.Release|Win32.Build.0 = Release|Win32
|
||||
{B1195BB9-B3A5-47F0-906C-8DEA384D1520}.Release|x64.ActiveCfg = Release|Win32
|
||||
{104FA3E9-94D9-4E1D-A941-28A03BC8A095}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
|
||||
{104FA3E9-94D9-4E1D-A941-28A03BC8A095}.Debug|Mixed Platforms.Build.0 = Debug|Win32
|
||||
{104FA3E9-94D9-4E1D-A941-28A03BC8A095}.Debug|Mixed Platforms.ActiveCfg = Release|Win32
|
||||
{104FA3E9-94D9-4E1D-A941-28A03BC8A095}.Debug|Mixed Platforms.Build.0 = Release|Win32
|
||||
{104FA3E9-94D9-4E1D-A941-28A03BC8A095}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{104FA3E9-94D9-4E1D-A941-28A03BC8A095}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{104FA3E9-94D9-4E1D-A941-28A03BC8A095}.Debug|x64.ActiveCfg = Debug|x64
|
||||
|
@ -182,16 +184,14 @@ Global
|
|||
{104FA3E9-94D9-4E1D-A941-28A03BC8A095}.Release|Mixed Platforms.Build.0 = Release|Win32
|
||||
{104FA3E9-94D9-4E1D-A941-28A03BC8A095}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{104FA3E9-94D9-4E1D-A941-28A03BC8A095}.Release|Win32.Build.0 = Release|Win32
|
||||
{104FA3E9-94D9-4E1D-A941-28A03BC8A095}.Release|x64.ActiveCfg = Release|Win32
|
||||
{1B3BEA4C-CF75-438A-9693-60FB8444BBF3}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
|
||||
{1B3BEA4C-CF75-438A-9693-60FB8444BBF3}.Debug|Mixed Platforms.Build.0 = Debug|Win32
|
||||
{104FA3E9-94D9-4E1D-A941-28A03BC8A095}.Release|x64.ActiveCfg = Release|x64
|
||||
{104FA3E9-94D9-4E1D-A941-28A03BC8A095}.Release|x64.Build.0 = Release|x64
|
||||
{1B3BEA4C-CF75-438A-9693-60FB8444BBF3}.Debug|Mixed Platforms.ActiveCfg = Release|Win32
|
||||
{1B3BEA4C-CF75-438A-9693-60FB8444BBF3}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{1B3BEA4C-CF75-438A-9693-60FB8444BBF3}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{1B3BEA4C-CF75-438A-9693-60FB8444BBF3}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{1B3BEA4C-CF75-438A-9693-60FB8444BBF3}.Debug|x64.ActiveCfg = Debug|Win32
|
||||
{1B3BEA4C-CF75-438A-9693-60FB8444BBF3}.Release|Mixed Platforms.ActiveCfg = Release|Win32
|
||||
{1B3BEA4C-CF75-438A-9693-60FB8444BBF3}.Release|Mixed Platforms.Build.0 = Release|Win32
|
||||
{1B3BEA4C-CF75-438A-9693-60FB8444BBF3}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{1B3BEA4C-CF75-438A-9693-60FB8444BBF3}.Release|Win32.Build.0 = Release|Win32
|
||||
{1B3BEA4C-CF75-438A-9693-60FB8444BBF3}.Release|x64.ActiveCfg = Release|Win32
|
||||
{2A1BC987-AF42-4500-802D-89CD32FC1309}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
|
||||
{2A1BC987-AF42-4500-802D-89CD32FC1309}.Debug|Mixed Platforms.Build.0 = Debug|Win32
|
||||
|
@ -205,6 +205,65 @@ Global
|
|||
{2A1BC987-AF42-4500-802D-89CD32FC1309}.Release|Win32.Build.0 = Release|Win32
|
||||
{2A1BC987-AF42-4500-802D-89CD32FC1309}.Release|x64.ActiveCfg = Release|x64
|
||||
{2A1BC987-AF42-4500-802D-89CD32FC1309}.Release|x64.Build.0 = Release|x64
|
||||
{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|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.Build.0 = Debug|x64
|
||||
{B1195BB9-B3A5-47F0-906C-8DEA384D1520}.Release|Mixed Platforms.ActiveCfg = Release|Win32
|
||||
{B1195BB9-B3A5-47F0-906C-8DEA384D1520}.Release|Mixed Platforms.Build.0 = Release|Win32
|
||||
{B1195BB9-B3A5-47F0-906C-8DEA384D1520}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{B1195BB9-B3A5-47F0-906C-8DEA384D1520}.Release|Win32.Build.0 = Release|Win32
|
||||
{B1195BB9-B3A5-47F0-906C-8DEA384D1520}.Release|x64.ActiveCfg = Release|x64
|
||||
{B1195BB9-B3A5-47F0-906C-8DEA384D1520}.Release|x64.Build.0 = Release|x64
|
||||
{52380DAA-0F4A-4D97-8E57-98DF39319CAF}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
|
||||
{52380DAA-0F4A-4D97-8E57-98DF39319CAF}.Debug|Mixed Platforms.Build.0 = Debug|Win32
|
||||
{52380DAA-0F4A-4D97-8E57-98DF39319CAF}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{52380DAA-0F4A-4D97-8E57-98DF39319CAF}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{52380DAA-0F4A-4D97-8E57-98DF39319CAF}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{52380DAA-0F4A-4D97-8E57-98DF39319CAF}.Debug|x64.Build.0 = Debug|x64
|
||||
{52380DAA-0F4A-4D97-8E57-98DF39319CAF}.Release|Mixed Platforms.ActiveCfg = Release|Win32
|
||||
{52380DAA-0F4A-4D97-8E57-98DF39319CAF}.Release|Mixed Platforms.Build.0 = Release|Win32
|
||||
{52380DAA-0F4A-4D97-8E57-98DF39319CAF}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{52380DAA-0F4A-4D97-8E57-98DF39319CAF}.Release|Win32.Build.0 = Release|Win32
|
||||
{52380DAA-0F4A-4D97-8E57-98DF39319CAF}.Release|x64.ActiveCfg = Release|x64
|
||||
{52380DAA-0F4A-4D97-8E57-98DF39319CAF}.Release|x64.Build.0 = Release|x64
|
||||
{8690FDDF-C5B7-4C42-A337-BD5243F29B85}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
|
||||
{8690FDDF-C5B7-4C42-A337-BD5243F29B85}.Debug|Mixed Platforms.Build.0 = Debug|Win32
|
||||
{8690FDDF-C5B7-4C42-A337-BD5243F29B85}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{8690FDDF-C5B7-4C42-A337-BD5243F29B85}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{8690FDDF-C5B7-4C42-A337-BD5243F29B85}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{8690FDDF-C5B7-4C42-A337-BD5243F29B85}.Debug|x64.Build.0 = Debug|x64
|
||||
{8690FDDF-C5B7-4C42-A337-BD5243F29B85}.Release|Mixed Platforms.ActiveCfg = Release|Win32
|
||||
{8690FDDF-C5B7-4C42-A337-BD5243F29B85}.Release|Mixed Platforms.Build.0 = Release|Win32
|
||||
{8690FDDF-C5B7-4C42-A337-BD5243F29B85}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{8690FDDF-C5B7-4C42-A337-BD5243F29B85}.Release|Win32.Build.0 = Release|Win32
|
||||
{8690FDDF-C5B7-4C42-A337-BD5243F29B85}.Release|x64.ActiveCfg = Release|x64
|
||||
{8690FDDF-C5B7-4C42-A337-BD5243F29B85}.Release|x64.Build.0 = Release|x64
|
||||
{460D625F-2AC9-4559-B809-0BA89CEAEDF4}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
|
||||
{460D625F-2AC9-4559-B809-0BA89CEAEDF4}.Debug|Mixed Platforms.Build.0 = Debug|Win32
|
||||
{460D625F-2AC9-4559-B809-0BA89CEAEDF4}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{460D625F-2AC9-4559-B809-0BA89CEAEDF4}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{460D625F-2AC9-4559-B809-0BA89CEAEDF4}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{460D625F-2AC9-4559-B809-0BA89CEAEDF4}.Debug|x64.Build.0 = Debug|x64
|
||||
{460D625F-2AC9-4559-B809-0BA89CEAEDF4}.Release|Mixed Platforms.ActiveCfg = Release|Win32
|
||||
{460D625F-2AC9-4559-B809-0BA89CEAEDF4}.Release|Mixed Platforms.Build.0 = Release|Win32
|
||||
{460D625F-2AC9-4559-B809-0BA89CEAEDF4}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{460D625F-2AC9-4559-B809-0BA89CEAEDF4}.Release|Win32.Build.0 = Release|Win32
|
||||
{460D625F-2AC9-4559-B809-0BA89CEAEDF4}.Release|x64.ActiveCfg = Release|x64
|
||||
{460D625F-2AC9-4559-B809-0BA89CEAEDF4}.Release|x64.Build.0 = Release|x64
|
||||
{DA2AA800-ED64-4649-8B3B-E7F1E3968B78}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
|
||||
{DA2AA800-ED64-4649-8B3B-E7F1E3968B78}.Debug|Mixed Platforms.Build.0 = Debug|Win32
|
||||
{DA2AA800-ED64-4649-8B3B-E7F1E3968B78}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{DA2AA800-ED64-4649-8B3B-E7F1E3968B78}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{DA2AA800-ED64-4649-8B3B-E7F1E3968B78}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{DA2AA800-ED64-4649-8B3B-E7F1E3968B78}.Debug|x64.Build.0 = Debug|x64
|
||||
{DA2AA800-ED64-4649-8B3B-E7F1E3968B78}.Release|Mixed Platforms.ActiveCfg = Release|Win32
|
||||
{DA2AA800-ED64-4649-8B3B-E7F1E3968B78}.Release|Mixed Platforms.Build.0 = Release|Win32
|
||||
{DA2AA800-ED64-4649-8B3B-E7F1E3968B78}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{DA2AA800-ED64-4649-8B3B-E7F1E3968B78}.Release|Win32.Build.0 = Release|Win32
|
||||
{DA2AA800-ED64-4649-8B3B-E7F1E3968B78}.Release|x64.ActiveCfg = Release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@ -213,5 +272,11 @@ Global
|
|||
{838B25C2-D19E-49FE-8CB0-9A977CA3C7E8} = {C27B926E-B3EF-4990-8822-47580E43A0BE}
|
||||
{6A066806-F43F-4B31-A4E3-57179674F460} = {C27B926E-B3EF-4990-8822-47580E43A0BE}
|
||||
{C5AA09D0-6594-4CD3-BD92-1D380C7B3B50} = {C27B926E-B3EF-4990-8822-47580E43A0BE}
|
||||
{460D625F-2AC9-4559-B809-0BA89CEAEDF4} = {C27B926E-B3EF-4990-8822-47580E43A0BE}
|
||||
{2A1BC987-AF42-4500-802D-89CD32FC1309} = {20720CA7-795C-45AD-A302-9383A6DD503A}
|
||||
{B1195BB9-B3A5-47F0-906C-8DEA384D1520} = {20720CA7-795C-45AD-A302-9383A6DD503A}
|
||||
{52380DAA-0F4A-4D97-8E57-98DF39319CAF} = {20720CA7-795C-45AD-A302-9383A6DD503A}
|
||||
{8690FDDF-C5B7-4C42-A337-BD5243F29B85} = {20720CA7-795C-45AD-A302-9383A6DD503A}
|
||||
{DA2AA800-ED64-4649-8B3B-E7F1E3968B78} = {20720CA7-795C-45AD-A302-9383A6DD503A}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
#define NOMINMAX
|
||||
#include <windows.h>
|
||||
|
||||
BOOL WINAPI DllMain( _In_ HINSTANCE hinstDLL, _In_ DWORD fdwReason, _In_ LPVOID lpvReserved )
|
||||
{
|
||||
//MessageBox(0, L"DanBiasGame Loaded", 0, 0);
|
||||
return TRUE;
|
||||
}
|
|
@ -0,0 +1,220 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{2A1BC987-AF42-4500-802D-89CD32FC1309}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>DanBiasGame</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||
<TargetName>$(ProjectName)_$(PlatformShortName)D</TargetName>
|
||||
<LibraryPath>$(SolutionDir)..\External\Lib\Input;$(SolutionDir)..\Bin\DLL;$(LibraryPath)</LibraryPath>
|
||||
<IncludePath>$(SolutionDir)..\External\Include\;$(SolutionDir)Game\GameProtocols\;$(SolutionDir)Network/NetworkAPI;$(IncludePath)</IncludePath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||
<TargetName>$(ProjectName)_$(PlatformShortName)D</TargetName>
|
||||
<LibraryPath>$(SolutionDir)..\External\Lib\Input;$(SolutionDir)..\Bin\DLL;$(LibraryPath)</LibraryPath>
|
||||
<IncludePath>$(SolutionDir)..\External\Include\;$(IncludePath)</IncludePath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||
<TargetName>$(ProjectName)_$(PlatformShortName)</TargetName>
|
||||
<LibraryPath>$(SolutionDir)..\External\Lib\Input;$(SolutionDir)..\Bin\DLL;$(LibraryPath)</LibraryPath>
|
||||
<IncludePath>$(SolutionDir)..\External\Include\;$(IncludePath)</IncludePath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||
<TargetName>$(ProjectName)_$(PlatformShortName)</TargetName>
|
||||
<LibraryPath>$(SolutionDir)..\External\Lib\Input;$(SolutionDir)..\Bin\DLL;$(LibraryPath)</LibraryPath>
|
||||
<IncludePath>$(SolutionDir)..\External\Include\;$(IncludePath)</IncludePath>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>DANBIAS_GAME_DLL_EXPORT;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)OysterMath;$(SolutionDir)Input;$(SolutionDir)OysterGraphics;$(SolutionDir)Misc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>OysterGraphics_$(PlatformShortName)D.lib;Input_$(PlatformShortName)D.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<DelayLoadDLLs>NetworkAPI_$(PlatformShortName)D.dll;OysterGraphics_$(PlatformShortName)D.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>DANBIAS_GAME_DLL_EXPORT;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)GameProtocols;$(SolutionDir)OysterMath;$(SolutionDir)Input;$(SolutionDir)OysterGraphics;$(SolutionDir)Misc;$(SolutionDir)OysterMath;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>GameProtocols_$(PlatformShortName)D.lib;OysterGraphics_$(PlatformShortName)D.lib;Input_$(PlatformShortName)D.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<DelayLoadDLLs>OysterGraphics_$(PlatformShortName)D.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>DANBIAS_GAME_DLL_EXPORT;WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)GameProtocols;$(SolutionDir)OysterMath;$(SolutionDir)Input;$(SolutionDir)OysterGraphics;$(SolutionDir)Misc;$(SolutionDir)OysterMath;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalDependencies>GameProtocols_$(PlatformShortName).lib;OysterGraphics_$(PlatformShortName).lib;Input_$(PlatformShortName).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<DelayLoadDLLs>OysterGraphics_x86.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>DANBIAS_GAME_DLL_EXPORT;WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)GameProtocols;$(SolutionDir)OysterMath;$(SolutionDir)Input;$(SolutionDir)OysterGraphics;$(SolutionDir)Misc;$(SolutionDir)OysterMath;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalDependencies>GameProtocols_$(PlatformShortName).lib;OysterGraphics_$(PlatformShortName).lib;Input_$(PlatformShortName).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<DelayLoadDLLs>OysterGraphics_x86.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Input\Input.vcxproj">
|
||||
<Project>{7e3990d2-3d94-465c-b58d-64a74b3ecf9b}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Misc\Misc.vcxproj">
|
||||
<Project>{2ec4dded-8f75-4c86-a10b-e1e8eb29f3ee}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Network\NetworkAPI\NetworkAPI.vcxproj">
|
||||
<Project>{460d625f-2ac9-4559-b809-0ba89ceaedf4}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\OysterGraphics\OysterGraphics.vcxproj">
|
||||
<Project>{0ec83e64-230e-48ef-b08c-6ac9651b4f82}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\OysterMath\OysterMath.vcxproj">
|
||||
<Project>{f10cbc03-9809-4cba-95d8-327c287b18ee}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="GameClientState\C_obj\C_DynamicObj.cpp" />
|
||||
<ClCompile Include="GameClientState\C_obj\C_Player.cpp" />
|
||||
<ClCompile Include="GameClientState\C_obj\C_StaticObj.cpp" />
|
||||
<ClCompile Include="GameClientState\C_obj\C_UIobject.cpp" />
|
||||
<ClCompile Include="DanBiasGame_Impl.cpp" />
|
||||
<ClCompile Include="DLLMain.cpp" />
|
||||
<ClCompile Include="GameClientState\GameClientState.cpp" />
|
||||
<ClCompile Include="GameClientState\GameState.cpp" />
|
||||
<ClCompile Include="GameClientState\LobbyState.cpp" />
|
||||
<ClCompile Include="GameClientState\C_Object.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="GameClientState\C_obj\C_DynamicObj.h" />
|
||||
<ClInclude Include="GameClientState\C_obj\C_Player.h" />
|
||||
<ClInclude Include="GameClientState\C_obj\C_StaticObj.h" />
|
||||
<ClInclude Include="GameClientState\C_obj\C_UIobject.h" />
|
||||
<ClInclude Include="GameClientState\GameClientState.h" />
|
||||
<ClInclude Include="GameClientState\GameState.h" />
|
||||
<ClInclude Include="Include\DanBiasGame.h" />
|
||||
<ClInclude Include="GameClientState\LobbyState.h" />
|
||||
<ClInclude Include="GameClientState\C_Object.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
|
@ -0,0 +1,331 @@
|
|||
#define NOMINMAX
|
||||
#include <Windows.h>
|
||||
#include "Include\DanBiasGame.h"
|
||||
#include "DllInterfaces/GFXAPI.h"
|
||||
#include "GameClientState/GameClientState.h"
|
||||
#include "GameClientState\GameState.h"
|
||||
#include "GameClientState\LobbyState.h"
|
||||
#include "PlayerProtocols.h"
|
||||
#include "NetworkClient.h"
|
||||
|
||||
#include "L_inputClass.h"
|
||||
#include "vld.h"
|
||||
|
||||
namespace DanBias
|
||||
{
|
||||
__int64 DanBiasGame::cntsPerSec = 0;
|
||||
__int64 DanBiasGame::prevTimeStamp = 0;
|
||||
float DanBiasGame::secsPerCnt = 0;
|
||||
HINSTANCE DanBiasGame::g_hInst = NULL;
|
||||
HWND DanBiasGame::g_hWnd = NULL;
|
||||
|
||||
#pragma region Game Data
|
||||
|
||||
|
||||
struct MyRecieverObject :public Oyster::Network::ProtocolRecieverObject
|
||||
{
|
||||
Oyster::Network::NetworkClient* nwClient;
|
||||
Client::GameClientState* gameClientState;
|
||||
|
||||
void ProtocolRecievedCallback(Oyster::Network::CustomNetProtocol& p) override
|
||||
{
|
||||
|
||||
int pType = p[0].value.netInt;
|
||||
Client::GameClientState::ProtocolStruct* protocolData;
|
||||
switch (pType)
|
||||
{
|
||||
case protocol_PlayerNavigation:
|
||||
|
||||
break;
|
||||
case protocol_PlayerPosition:
|
||||
protocolData = new Client::GameClientState::PlayerPos;
|
||||
for(int i = 0; i< 3; i++)
|
||||
{
|
||||
((Client::GameClientState::PlayerPos*)protocolData)->playerPos[i] = p[i].value.netFloat;
|
||||
}
|
||||
gameClientState->Protocol(protocolData);
|
||||
delete protocolData;
|
||||
protocolData = NULL;
|
||||
break;
|
||||
|
||||
|
||||
case protocol_ObjectPosition:
|
||||
protocolData = new Client::GameClientState::ObjPos;
|
||||
for(int i = 0; i< 16; i++)
|
||||
{
|
||||
((Client::GameClientState::ObjPos*)protocolData)->worldPos[i] = p[i].value.netFloat;
|
||||
}
|
||||
gameClientState->Protocol(protocolData);
|
||||
delete protocolData;
|
||||
protocolData = NULL;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
class DanBiasGamePrivateData
|
||||
{
|
||||
|
||||
public:
|
||||
DanBiasGamePrivateData()
|
||||
{
|
||||
|
||||
}
|
||||
~DanBiasGamePrivateData()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public:
|
||||
Client::GameClientState* gameClientState;
|
||||
InputClass* inputObj;
|
||||
MyRecieverObject* r;
|
||||
|
||||
} data;
|
||||
#pragma endregion
|
||||
|
||||
|
||||
DanBiasGamePrivateData* DanBiasGame::m_data = new DanBiasGamePrivateData();
|
||||
|
||||
//--------------------------------------------------------------------------------------
|
||||
// Interface API functions
|
||||
//--------------------------------------------------------------------------------------
|
||||
DanBiasClientReturn DanBiasGame::Initiate(DanBiasGameDesc& desc)
|
||||
{
|
||||
if( FAILED( InitWindow( desc.hinst, desc.nCmdShow ) ))
|
||||
return DanBiasClientReturn_Error;
|
||||
|
||||
if( FAILED( InitDirect3D() ) )
|
||||
return DanBiasClientReturn_Error;
|
||||
|
||||
if( FAILED( InitInput() ) )
|
||||
return DanBiasClientReturn_Error;
|
||||
|
||||
cntsPerSec = 0;
|
||||
QueryPerformanceFrequency((LARGE_INTEGER*)&cntsPerSec);
|
||||
secsPerCnt = 1.0f / (float)cntsPerSec;
|
||||
|
||||
prevTimeStamp = 0;
|
||||
QueryPerformanceCounter((LARGE_INTEGER*)&prevTimeStamp);
|
||||
|
||||
m_data->r = new MyRecieverObject;
|
||||
m_data->r->nwClient = new Oyster::Network::NetworkClient();
|
||||
m_data->r->nwClient->Connect(desc.port, desc.IP);
|
||||
if (!m_data->r->nwClient->IsConnected())
|
||||
{
|
||||
// failed to connect
|
||||
return DanBiasClientReturn_Error;
|
||||
}
|
||||
// Start in lobby state
|
||||
m_data->gameClientState = new Client::LobbyState();
|
||||
m_data->gameClientState->Init(m_data->r->nwClient);
|
||||
|
||||
|
||||
return DanBiasClientReturn_Sucess;
|
||||
}
|
||||
|
||||
DanBiasClientReturn DanBiasGame::Run()
|
||||
{
|
||||
// Main message loop
|
||||
MSG msg = {0};
|
||||
while(WM_QUIT != msg.message)
|
||||
{
|
||||
if( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE) )
|
||||
{
|
||||
TranslateMessage( &msg );
|
||||
DispatchMessage( &msg );
|
||||
}
|
||||
else
|
||||
{
|
||||
__int64 currTimeStamp = 0;
|
||||
QueryPerformanceCounter((LARGE_INTEGER*)&currTimeStamp);
|
||||
float dt = (currTimeStamp - prevTimeStamp) * secsPerCnt;
|
||||
|
||||
//render
|
||||
if(Update(dt) != S_OK)
|
||||
return DanBiasClientReturn_Error;
|
||||
if(Render(dt) != S_OK)
|
||||
return DanBiasClientReturn_Error;
|
||||
|
||||
prevTimeStamp = currTimeStamp;
|
||||
}
|
||||
}
|
||||
return DanBiasClientReturn_Sucess;
|
||||
}
|
||||
|
||||
void DanBiasGame::Release()
|
||||
{
|
||||
CleanUp();
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------
|
||||
// Register class and create window
|
||||
//--------------------------------------------------------------------------------------
|
||||
HRESULT DanBiasGame::InitWindow( HINSTANCE hInstance, int nCmdShow )
|
||||
{
|
||||
// Register class
|
||||
WNDCLASSEX wcex;
|
||||
wcex.cbSize = sizeof(WNDCLASSEX);
|
||||
wcex.style = CS_HREDRAW | CS_VREDRAW;
|
||||
wcex.lpfnWndProc = WndProc;
|
||||
wcex.cbClsExtra = 0;
|
||||
wcex.cbWndExtra = 0;
|
||||
wcex.hInstance = hInstance;
|
||||
wcex.hIcon = 0;
|
||||
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
|
||||
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
|
||||
wcex.lpszMenuName = NULL;
|
||||
wcex.lpszClassName = L"BTH_D3D_Template";
|
||||
wcex.hIconSm = 0;
|
||||
if( !RegisterClassEx(&wcex) )
|
||||
return E_FAIL;
|
||||
|
||||
// Adjust and create window
|
||||
g_hInst = hInstance;
|
||||
RECT rc = { 0, 0, 1024, 768 };
|
||||
AdjustWindowRect( &rc, WS_OVERLAPPEDWINDOW, FALSE );
|
||||
|
||||
if(!(g_hWnd = CreateWindow(
|
||||
L"BTH_D3D_Template",
|
||||
L"BTH - Direct3D 11.0 Template",
|
||||
WS_OVERLAPPEDWINDOW,
|
||||
CW_USEDEFAULT,
|
||||
CW_USEDEFAULT,
|
||||
rc.right - rc.left,
|
||||
rc.bottom - rc.top,
|
||||
NULL,
|
||||
NULL,
|
||||
hInstance,
|
||||
NULL)))
|
||||
{
|
||||
return E_FAIL;
|
||||
}
|
||||
ShowWindow( g_hWnd, nCmdShow );
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------
|
||||
// Create Direct3D with Oyster Graphics
|
||||
//--------------------------------------------------------------------------------------
|
||||
HRESULT DanBiasGame::InitDirect3D()
|
||||
{
|
||||
if(Oyster::Graphics::API::Init(g_hWnd, false, false, Oyster::Math::Float2( 1024, 768)) != Oyster::Graphics::API::Sucsess)
|
||||
return E_FAIL;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------
|
||||
// Init the input
|
||||
//-------------------------------------------------------------------------------------
|
||||
HRESULT DanBiasGame::InitInput()
|
||||
{
|
||||
m_data->inputObj = new InputClass;
|
||||
if(!m_data->inputObj->Initialize(g_hInst, g_hWnd, 1024, 768))
|
||||
{
|
||||
MessageBox(0, L"Could not initialize the input object.", L"Error", MB_OK);
|
||||
return E_FAIL;
|
||||
}
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
HRESULT DanBiasGame::Update(float deltaTime)
|
||||
{
|
||||
m_data->inputObj->Update();
|
||||
|
||||
DanBias::Client::GameClientState::ClientState state = DanBias::Client::GameClientState::ClientState_Same;
|
||||
state = m_data->gameClientState->Update(deltaTime, m_data->inputObj);
|
||||
|
||||
if(state != Client::GameClientState::ClientState_Same)
|
||||
{
|
||||
m_data->gameClientState->Release();
|
||||
delete m_data->gameClientState;
|
||||
m_data->gameClientState = NULL;
|
||||
|
||||
switch (state)
|
||||
{
|
||||
case Client::GameClientState::ClientState_Lobby:
|
||||
m_data->gameClientState = new Client::LobbyState();
|
||||
break;
|
||||
case Client::GameClientState::ClientState_Game:
|
||||
m_data->gameClientState = new Client::GameState();
|
||||
break;
|
||||
default:
|
||||
return E_FAIL;
|
||||
break;
|
||||
}
|
||||
m_data->gameClientState->Init(m_data->r->nwClient); // send game client
|
||||
|
||||
}
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
HRESULT DanBiasGame::Render(float deltaTime)
|
||||
{
|
||||
int isPressed = 0;
|
||||
if(m_data->inputObj->IsKeyPressed(DIK_A))
|
||||
{
|
||||
isPressed = 1;
|
||||
}
|
||||
|
||||
wchar_t title[255];
|
||||
swprintf(title, sizeof(title), L"| Pressing A: %d | \n", (int)(isPressed));
|
||||
SetWindowText(g_hWnd, title);
|
||||
|
||||
m_data->gameClientState->Render();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
HRESULT DanBiasGame::CleanUp()
|
||||
{
|
||||
m_data->gameClientState->Release();
|
||||
delete m_data->gameClientState;
|
||||
delete m_data->inputObj;
|
||||
delete m_data;
|
||||
|
||||
|
||||
Oyster::Graphics::API::Clean();
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------
|
||||
// Called every time the application receives a message
|
||||
//--------------------------------------------------------------------------------------
|
||||
LRESULT CALLBACK WndProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )
|
||||
{
|
||||
PAINTSTRUCT ps;
|
||||
HDC hdc;
|
||||
|
||||
switch (message)
|
||||
{
|
||||
case WM_PAINT:
|
||||
hdc = BeginPaint(hWnd, &ps);
|
||||
EndPaint(hWnd, &ps);
|
||||
break;
|
||||
|
||||
case WM_DESTROY:
|
||||
PostQuitMessage(0);
|
||||
break;
|
||||
|
||||
case WM_KEYDOWN:
|
||||
|
||||
switch(wParam)
|
||||
{
|
||||
case VK_ESCAPE:
|
||||
PostQuitMessage(0);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
return DefWindowProc(hWnd, message, wParam, lParam);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
} //End namespace DanBias
|
|
@ -9,7 +9,7 @@
|
|||
#include <Windows.h>
|
||||
|
||||
#include "DllInterfaces/GFXAPI.h"
|
||||
#include "IGame.h"
|
||||
//#include "IGame.h"
|
||||
|
||||
#include "L_inputClass.h"
|
||||
|
||||
|
@ -28,7 +28,7 @@
|
|||
HINSTANCE g_hInst = NULL;
|
||||
HWND g_hWnd = NULL;
|
||||
|
||||
GameLogic::IGame* game;
|
||||
//GameLogic::IGame* game;
|
||||
InputClass* inputObj;
|
||||
|
||||
|
||||
|
@ -205,34 +205,34 @@ HRESULT InitGame()
|
|||
MessageBox(0, L"Could not initialize the input object.", L"Error", MB_OK);
|
||||
return false;
|
||||
}
|
||||
game = new GameLogic::IGame();
|
||||
/*game = new GameLogic::IGame();
|
||||
game->Init();
|
||||
game->StartGame();
|
||||
|
||||
*/
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
HRESULT Update(float deltaTime)
|
||||
{
|
||||
inputObj->Update();
|
||||
GameLogic::keyInput key = GameLogic::keyInput_none;
|
||||
//GameLogic::keyInput key = GameLogic::keyInput_none;
|
||||
|
||||
if(inputObj->IsKeyPressed(DIK_W))
|
||||
{
|
||||
key = GameLogic::keyInput_W;
|
||||
}
|
||||
else if(inputObj->IsKeyPressed(DIK_A))
|
||||
{
|
||||
key = GameLogic::keyInput_A;
|
||||
}
|
||||
else if(inputObj->IsKeyPressed(DIK_S))
|
||||
{
|
||||
key = GameLogic::keyInput_S;
|
||||
}
|
||||
else if(inputObj->IsKeyPressed(DIK_D))
|
||||
{
|
||||
key = GameLogic::keyInput_D;
|
||||
}
|
||||
//if(inputObj->IsKeyPressed(DIK_W))
|
||||
//{
|
||||
// key = GameLogic::keyInput_W;
|
||||
//}
|
||||
//else if(inputObj->IsKeyPressed(DIK_A))
|
||||
//{
|
||||
// key = GameLogic::keyInput_A;
|
||||
//}
|
||||
//else if(inputObj->IsKeyPressed(DIK_S))
|
||||
//{
|
||||
// key = GameLogic::keyInput_S;
|
||||
//}
|
||||
//else if(inputObj->IsKeyPressed(DIK_D))
|
||||
//{
|
||||
// key = GameLogic::keyInput_D;
|
||||
//}
|
||||
|
||||
float pitch = 0;
|
||||
float yaw = 0;
|
||||
|
@ -243,7 +243,7 @@ HRESULT Update(float deltaTime)
|
|||
yaw = inputObj->GetYaw();
|
||||
//}
|
||||
|
||||
game->Update(key, pitch, yaw);
|
||||
//game->Update(key, pitch, yaw);
|
||||
|
||||
|
||||
return S_OK;
|
||||
|
@ -258,7 +258,7 @@ HRESULT Render(float deltaTime)
|
|||
//std::cout<<"test";
|
||||
}
|
||||
|
||||
game->Render();
|
||||
//game->Render();
|
||||
wchar_t title[255];
|
||||
swprintf(title, sizeof(title), L"| Pressing A: %d | \n", (int)(isPressed));
|
||||
SetWindowText(g_hWnd, title);
|
||||
|
@ -271,11 +271,11 @@ HRESULT Render(float deltaTime)
|
|||
HRESULT CleanUp()
|
||||
{
|
||||
|
||||
if(game)
|
||||
/*if(game)
|
||||
{
|
||||
delete game;
|
||||
game = NULL;
|
||||
}
|
||||
delete game;
|
||||
game = NULL;
|
||||
}*/
|
||||
return S_OK;
|
||||
}
|
||||
//--------------------------------------------------------------------------------------
|
|
@ -0,0 +1,4 @@
|
|||
#include "C_Object.h"
|
||||
using namespace DanBias::Client;
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
#ifndef DANBIAS_CLIENT_COBJECT_H
|
||||
#define DANBIAS_CLIENT_COBJECT_H
|
||||
#include "DllInterfaces/GFXAPI.h"
|
||||
namespace DanBias
|
||||
{
|
||||
namespace Client
|
||||
{
|
||||
|
||||
struct ModelInitData
|
||||
{
|
||||
std::wstring modelPath;
|
||||
Oyster::Math::Float4x4 world;
|
||||
bool visible;
|
||||
};
|
||||
|
||||
class C_Object
|
||||
{
|
||||
private:
|
||||
|
||||
public:
|
||||
|
||||
virtual void Init(ModelInitData modelInit) = 0;
|
||||
virtual void setPos() = 0;
|
||||
|
||||
virtual void Render() = 0;
|
||||
virtual void Release() = 0;
|
||||
};};};
|
||||
#endif
|
|
@ -0,0 +1,42 @@
|
|||
#include "C_DynamicObj.h"
|
||||
#include "DllInterfaces/GFXAPI.h"
|
||||
using namespace DanBias::Client;
|
||||
struct C_DynamicObj::myData
|
||||
{
|
||||
myData(){}
|
||||
Oyster::Graphics::Model::Model *model;
|
||||
// light
|
||||
// sound
|
||||
// effect
|
||||
}privData;
|
||||
C_DynamicObj::C_DynamicObj(void)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
C_DynamicObj::~C_DynamicObj(void)
|
||||
{
|
||||
|
||||
}
|
||||
void C_DynamicObj::Init(ModelInitData modelInit)
|
||||
{
|
||||
// load models
|
||||
privData = new myData();
|
||||
privData->model = Oyster::Graphics::API::CreateModel(modelInit.modelPath);
|
||||
privData->model->WorldMatrix = modelInit.world;
|
||||
privData->model->Visible = modelInit.visible;
|
||||
}
|
||||
void C_DynamicObj::setPos()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void C_DynamicObj::Render()
|
||||
{
|
||||
Oyster::Graphics::API::RenderModel(*(privData->model));
|
||||
}
|
||||
void C_DynamicObj::Release()
|
||||
{
|
||||
Oyster::Graphics::API::DeleteModel(privData->model);
|
||||
delete privData;
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
#ifndef DANBIAS_CLIENT_CDYNAMICOBJECT_H
|
||||
#define DANBIAS_CLIENT_CDYNAMICOBJECT_H
|
||||
#include "../C_Object.h"
|
||||
namespace DanBias
|
||||
{
|
||||
namespace Client
|
||||
{
|
||||
class C_DynamicObj : public C_Object
|
||||
{
|
||||
private:
|
||||
struct myData;
|
||||
myData* privData;
|
||||
public:
|
||||
C_DynamicObj(void);
|
||||
virtual ~C_DynamicObj(void);
|
||||
void Init(ModelInitData modelInit);
|
||||
void setPos();
|
||||
|
||||
void Render();
|
||||
void Release();
|
||||
};};};
|
||||
#endif
|
|
@ -0,0 +1,46 @@
|
|||
#include "C_Player.h"
|
||||
#include "DllInterfaces/GFXAPI.h"
|
||||
using namespace DanBias::Client;
|
||||
|
||||
struct C_Player::myData
|
||||
{
|
||||
myData(){}
|
||||
Oyster::Math3D::Float4x4 view;
|
||||
Oyster::Math3D::Float4x4 proj;
|
||||
Oyster::Graphics::Model::Model *model;
|
||||
}privData;
|
||||
|
||||
C_Player::C_Player(void)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
C_Player::~C_Player(void)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void C_Player::Init(ModelInitData modelInit)
|
||||
{
|
||||
// load models
|
||||
privData = new myData();
|
||||
privData->model = Oyster::Graphics::API::CreateModel(modelInit.modelPath);
|
||||
privData->model->WorldMatrix = modelInit.world;
|
||||
privData->model->Visible = modelInit.visible;
|
||||
|
||||
|
||||
}
|
||||
void C_Player::setPos()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void C_Player::Render()
|
||||
{
|
||||
Oyster::Graphics::API::RenderModel(*(privData->model));
|
||||
}
|
||||
void C_Player::Release()
|
||||
{
|
||||
Oyster::Graphics::API::DeleteModel(privData->model);
|
||||
delete privData;
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
#ifndef DANBIAS_CLIENT_CPLAYER_H
|
||||
#define DANBIAS_CLIENT_CPLAYER_H
|
||||
#include "../C_Object.h"
|
||||
namespace DanBias
|
||||
{
|
||||
namespace Client
|
||||
{
|
||||
class C_Player : public C_Object
|
||||
{
|
||||
private:
|
||||
struct myData;
|
||||
myData* privData;
|
||||
//Oyster::Graphics:: LIght
|
||||
public:
|
||||
C_Player(void);
|
||||
~C_Player(void);
|
||||
void Init(ModelInitData modelInit);
|
||||
void setPos();
|
||||
|
||||
void Render();
|
||||
void Release();
|
||||
|
||||
};};};
|
||||
#endif
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
|
||||
#include "C_StaticObj.h"
|
||||
#include "DllInterfaces/GFXAPI.h"
|
||||
using namespace DanBias::Client;
|
||||
|
||||
struct C_StaticObj::myData
|
||||
{
|
||||
myData(){}
|
||||
Oyster::Graphics::Model::Model *model;
|
||||
// light
|
||||
// sound
|
||||
// effect
|
||||
}privData;
|
||||
C_StaticObj::C_StaticObj(void)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
C_StaticObj::~C_StaticObj(void)
|
||||
{
|
||||
|
||||
}
|
||||
void C_StaticObj::Init(ModelInitData modelInit)
|
||||
{
|
||||
// load models
|
||||
privData = new myData();
|
||||
privData->model = Oyster::Graphics::API::CreateModel(modelInit.modelPath);
|
||||
privData->model->WorldMatrix = modelInit.world;
|
||||
privData->model->Visible = modelInit.visible;
|
||||
|
||||
}
|
||||
void C_StaticObj::setPos()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void C_StaticObj::Render()
|
||||
{
|
||||
Oyster::Graphics::API::RenderModel(*(privData->model));
|
||||
}
|
||||
void C_StaticObj::Release()
|
||||
{
|
||||
Oyster::Graphics::API::DeleteModel(privData->model);
|
||||
delete privData;
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
#ifndef DANBIAS_CLIENT_CSTATICOBJECT_H
|
||||
#define DANBIAS_CLIENT_CSTATICOBJECT_H
|
||||
#include "../C_Object.h"
|
||||
namespace DanBias
|
||||
{
|
||||
namespace Client
|
||||
{
|
||||
class C_StaticObj : public C_Object
|
||||
{
|
||||
private:
|
||||
struct myData;
|
||||
myData* privData;
|
||||
public:
|
||||
C_StaticObj(void);
|
||||
virtual ~C_StaticObj(void);
|
||||
void Init(ModelInitData modelInit);
|
||||
void setPos();
|
||||
|
||||
void Render();
|
||||
void Release();
|
||||
};};};
|
||||
#endif
|
|
@ -0,0 +1,43 @@
|
|||
#include "C_UIobject.h"
|
||||
#include "DllInterfaces/GFXAPI.h"
|
||||
using namespace DanBias::Client;
|
||||
|
||||
struct C_UIobject::myData
|
||||
{
|
||||
myData(){}
|
||||
Oyster::Math3D::Float4x4 view;
|
||||
Oyster::Math3D::Float4x4 proj;
|
||||
Oyster::Graphics::Model::Model *model;
|
||||
}privData;
|
||||
|
||||
C_UIobject::C_UIobject(void)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
C_UIobject::~C_UIobject(void)
|
||||
{
|
||||
}
|
||||
void C_UIobject::Init(ModelInitData modelInit)
|
||||
{
|
||||
// load models
|
||||
privData = new myData();
|
||||
privData->model = Oyster::Graphics::API::CreateModel(modelInit.modelPath);
|
||||
privData->model->WorldMatrix = modelInit.world;
|
||||
privData->model->Visible = modelInit.visible;
|
||||
|
||||
}
|
||||
void C_UIobject::setPos()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void C_UIobject::Render()
|
||||
{
|
||||
Oyster::Graphics::API::RenderModel(*(privData->model));
|
||||
}
|
||||
void C_UIobject::Release()
|
||||
{
|
||||
Oyster::Graphics::API::DeleteModel(privData->model);
|
||||
delete privData;
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
#ifndef DANBIAS_CLIENT_CUIOBJECT_H
|
||||
#define DANBIAS_CLIENT_CUIOBJECT_H
|
||||
#include "../C_Object.h"
|
||||
namespace DanBias
|
||||
{
|
||||
namespace Client
|
||||
{
|
||||
class C_UIobject : public C_Object
|
||||
{
|
||||
private:
|
||||
struct myData;
|
||||
myData* privData;
|
||||
public:
|
||||
C_UIobject(void);
|
||||
virtual ~C_UIobject(void);
|
||||
void Init(ModelInitData modelInit);
|
||||
void setPos();
|
||||
|
||||
void Render();
|
||||
void Release();
|
||||
};};};
|
||||
#endif
|
|
@ -0,0 +1,12 @@
|
|||
#include "GameClientState.h"
|
||||
|
||||
using namespace DanBias::Client;
|
||||
|
||||
GameClientState::GameClientState(void)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
GameClientState::~GameClientState(void)
|
||||
{
|
||||
}
|
|
@ -0,0 +1,55 @@
|
|||
#ifndef DANBIAS_CLIENT_GAMECLIENTSTATE_H
|
||||
#define DANBIAS_CLIENT_GAMECLIENTSTATE_H
|
||||
|
||||
#define NOMINMAX
|
||||
#include "L_inputClass.h"
|
||||
#include "NetworkClient.h"
|
||||
|
||||
namespace DanBias
|
||||
{
|
||||
namespace Client
|
||||
{
|
||||
|
||||
class GameClientState
|
||||
{
|
||||
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
|
||||
{
|
||||
ClientState_Lobby,
|
||||
ClientState_Game,
|
||||
ClientState_Same,
|
||||
};
|
||||
|
||||
public:
|
||||
GameClientState(void);
|
||||
virtual ~GameClientState(void);
|
||||
virtual bool Init(Oyster::Network::NetworkClient* nwClient) = 0;
|
||||
virtual ClientState Update(float deltaTime, InputClass* KeyInput) = 0;
|
||||
virtual bool Render() = 0;
|
||||
virtual bool Release() = 0;
|
||||
virtual void Protocol(ProtocolStruct* protocolStruct) = 0;
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
#endif
|
|
@ -0,0 +1,180 @@
|
|||
#include "GameState.h"
|
||||
#include "DllInterfaces/GFXAPI.h"
|
||||
#include "C_obj/C_Player.h"
|
||||
#include "C_obj/C_DynamicObj.h"
|
||||
#include "NetworkClient.h"
|
||||
#include "PlayerProtocols.h"
|
||||
|
||||
using namespace DanBias::Client;
|
||||
|
||||
struct GameState::myData
|
||||
{
|
||||
myData(){}
|
||||
Oyster::Math3D::Float4x4 view;
|
||||
Oyster::Math3D::Float4x4 proj;
|
||||
C_Object* object[3];
|
||||
int modelCount;
|
||||
Oyster::Network::NetworkClient* nwClient;
|
||||
gameStateState state;
|
||||
|
||||
}privData;
|
||||
|
||||
GameState::GameState(void)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
GameState::~GameState(void)
|
||||
{
|
||||
|
||||
}
|
||||
bool GameState::Init(Oyster::Network::NetworkClient* nwClient)
|
||||
{
|
||||
// load models
|
||||
privData = new myData();
|
||||
privData->state = gameStateState_loading;
|
||||
privData->nwClient = nwClient;
|
||||
privData->state = LoadGame();
|
||||
return true;
|
||||
}
|
||||
GameState::gameStateState GameState::LoadGame()
|
||||
{
|
||||
LoadModels(L"map");
|
||||
InitCamera(Oyster::Math::Float3(0,0,5.4f));
|
||||
return gameStateState_playing;
|
||||
}
|
||||
bool GameState::LoadModels(std::wstring mapFile)
|
||||
{
|
||||
// open file
|
||||
// read file
|
||||
// init models
|
||||
privData->modelCount = 2;
|
||||
|
||||
ModelInitData modelData;
|
||||
|
||||
modelData.world = Oyster::Math3D::Float4x4::identity;
|
||||
modelData.visible = true;
|
||||
modelData.modelPath = L"worldDummy";
|
||||
// load models
|
||||
privData->object[0] = new C_Player();
|
||||
privData->object[0]->Init(modelData);
|
||||
|
||||
Oyster::Math3D::Float4x4 translate = Oyster::Math3D::TranslationMatrix(Oyster::Math::Float3(2,2,2));
|
||||
modelData.world = modelData.world * translate;
|
||||
modelData.modelPath = L"crate";
|
||||
|
||||
privData->object[1] = new C_DynamicObj();
|
||||
privData->object[1]->Init(modelData);
|
||||
return true;
|
||||
}
|
||||
bool GameState::InitCamera(Oyster::Math::Float3 startPos)
|
||||
{
|
||||
privData->proj = Oyster::Math3D::ProjectionMatrix_Perspective(Oyster::Math::pi/2,1024.0f/768.0f,.1f,1000);
|
||||
//privData->proj = Oyster::Math3D::ProjectionMatrix_Orthographic(1024, 768, 1, 1000);
|
||||
Oyster::Graphics::API::SetProjection(privData->proj);
|
||||
|
||||
privData->view = Oyster::Math3D::OrientationMatrix_LookAtDirection(Oyster::Math::Float3(0,0,-1),Oyster::Math::Float3(0,1,0),startPos);
|
||||
privData->view = Oyster::Math3D::InverseOrientationMatrix(privData->view);
|
||||
return true;
|
||||
}
|
||||
|
||||
GameClientState::ClientState GameState::Update(float deltaTime, InputClass* KeyInput)
|
||||
{
|
||||
switch (privData->state)
|
||||
{
|
||||
case gameStateState_loading:
|
||||
// load map
|
||||
// wait for all players
|
||||
LoadGame();
|
||||
privData->state = gameStateState_playing;
|
||||
break;
|
||||
case gameStateState_playing:
|
||||
// read server data
|
||||
// update objects
|
||||
// Client.send(obj);
|
||||
{
|
||||
GameLogic::Protocol_PlayerMovement movePlayer;
|
||||
movePlayer.bForward = false;
|
||||
movePlayer.bBackward = false;
|
||||
movePlayer.bStrafeLeft = false;
|
||||
movePlayer.bStrafeRight = false;
|
||||
movePlayer.bTurnLeft = false;
|
||||
movePlayer.bTurnRight = false;
|
||||
|
||||
|
||||
if(KeyInput->IsKeyPressed(DIK_W))
|
||||
{
|
||||
movePlayer.bForward = true;
|
||||
}
|
||||
if(KeyInput->IsKeyPressed(DIK_S))
|
||||
{
|
||||
movePlayer.bBackward = true;
|
||||
}
|
||||
if(KeyInput->IsKeyPressed(DIK_A))
|
||||
{
|
||||
movePlayer.bStrafeLeft = true;
|
||||
}
|
||||
if(KeyInput->IsKeyPressed(DIK_D))
|
||||
{
|
||||
movePlayer.bStrafeRight = true;
|
||||
}
|
||||
|
||||
|
||||
privData->nwClient->Send(movePlayer);
|
||||
|
||||
if(KeyInput->IsKeyPressed(DIK_L))
|
||||
privData->state = GameState::gameStateState_end;
|
||||
}
|
||||
break;
|
||||
case gameStateState_end:
|
||||
return ClientState_Lobby;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
// send key input to server.
|
||||
return ClientState_Same;
|
||||
}
|
||||
bool GameState::Render()
|
||||
{
|
||||
Oyster::Graphics::API::SetView(privData->view);
|
||||
Oyster::Graphics::API::SetProjection(privData->proj);
|
||||
Oyster::Graphics::API::NewFrame();
|
||||
for (int i = 0; i < privData->modelCount; i++)
|
||||
{
|
||||
privData->object[i]->Render();
|
||||
}
|
||||
Oyster::Graphics::API::EndFrame();
|
||||
return true;
|
||||
}
|
||||
bool GameState::Release()
|
||||
{
|
||||
for (int i = 0; i < privData->modelCount; i++)
|
||||
{
|
||||
privData->object[i]->Release();
|
||||
delete privData->object[i];
|
||||
privData->object[i] = NULL;
|
||||
}
|
||||
|
||||
delete privData;
|
||||
privData = NULL;
|
||||
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);
|
|
@ -0,0 +1,41 @@
|
|||
#ifndef DANBIAS_CLIENT_GAMESTATE_H
|
||||
#define DANBIAS_CLIENT_GAMESTATE_H
|
||||
#include "GameClientState.h"
|
||||
#include "OysterMath.h"
|
||||
#include <string>
|
||||
namespace DanBias
|
||||
{
|
||||
namespace Client
|
||||
{
|
||||
class GameState : public GameClientState
|
||||
{
|
||||
enum gameStateState
|
||||
{
|
||||
gameStateState_loading,
|
||||
gameStateState_playing,
|
||||
gameStateState_end,
|
||||
};
|
||||
private:
|
||||
|
||||
struct myData;
|
||||
myData* privData;
|
||||
public:
|
||||
GameState(void);
|
||||
~GameState(void);
|
||||
bool Init(Oyster::Network::NetworkClient* nwClient);
|
||||
GameClientState::ClientState Update(float deltaTime, InputClass* KeyInput) override;
|
||||
bool LoadModels(std::wstring mapFile) ;
|
||||
bool InitCamera(Oyster::Math::Float3 startPos) ;
|
||||
gameStateState LoadGame();
|
||||
|
||||
bool Render()override;
|
||||
bool Release()override;
|
||||
|
||||
void Protocol(ProtocolStruct* pos)override;
|
||||
void PlayerPosProtocol(PlayerPos* pos);
|
||||
void ObjectPosProtocol(ObjPos* pos);
|
||||
//void Protocol(LightPos pos);
|
||||
};
|
||||
};
|
||||
};
|
||||
#endif
|
|
@ -0,0 +1,131 @@
|
|||
#include "LobbyState.h"
|
||||
#include "DllInterfaces/GFXAPI.h"
|
||||
#include "OysterMath.h"
|
||||
#include "C_obj/C_Player.h"
|
||||
#include "C_obj/C_StaticObj.h"
|
||||
#include "C_obj/C_DynamicObj.h"
|
||||
|
||||
using namespace DanBias::Client;
|
||||
|
||||
struct LobbyState::myData
|
||||
{
|
||||
myData(){}
|
||||
Oyster::Math3D::Float4x4 view;
|
||||
Oyster::Math3D::Float4x4 proj;
|
||||
C_Object* object[2];
|
||||
int modelCount;
|
||||
// UI object
|
||||
// game client*
|
||||
}privData;
|
||||
|
||||
LobbyState::LobbyState(void)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
LobbyState::~LobbyState(void)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
bool LobbyState::Init(Oyster::Network::NetworkClient* nwClient)
|
||||
{
|
||||
privData = new myData();
|
||||
|
||||
// load models
|
||||
LoadModels(L"UImodels.txt");
|
||||
InitCamera(Oyster::Math::Float3(0,0,5.4f));
|
||||
return true;
|
||||
}
|
||||
bool LobbyState::LoadModels(std::wstring file)
|
||||
{
|
||||
// open file
|
||||
// read file
|
||||
// init models
|
||||
privData->modelCount = 2;
|
||||
|
||||
ModelInitData modelData;
|
||||
|
||||
modelData.world = Oyster::Math3D::Float4x4::identity;
|
||||
modelData.visible = true;
|
||||
modelData.modelPath = L"crate";
|
||||
// load models
|
||||
privData->object[0] = new C_StaticObj();
|
||||
privData->object[0]->Init(modelData);
|
||||
|
||||
Oyster::Math3D::Float4x4 translate = Oyster::Math3D::TranslationMatrix(Oyster::Math::Float3(2,2,2));
|
||||
modelData.world = modelData.world * translate;
|
||||
|
||||
privData->object[1] = new C_DynamicObj();
|
||||
privData->object[1]->Init(modelData);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool LobbyState::InitCamera(Oyster::Math::Float3 startPos)
|
||||
{
|
||||
privData->proj = Oyster::Math3D::ProjectionMatrix_Perspective(Oyster::Math::pi/2,1024.0f/768.0f,.1f,1000);
|
||||
//privData->proj = Oyster::Math3D::ProjectionMatrix_Orthographic(1024, 768, 1, 1000);
|
||||
Oyster::Graphics::API::SetProjection(privData->proj);
|
||||
|
||||
privData->view = Oyster::Math3D::OrientationMatrix_LookAtDirection(Oyster::Math::Float3(0,0,-1),Oyster::Math::Float3(0,1,0),startPos);
|
||||
privData->view = Oyster::Math3D::InverseOrientationMatrix(privData->view);
|
||||
return true;
|
||||
}
|
||||
GameClientState::ClientState LobbyState::Update(float deltaTime, InputClass* KeyInput)
|
||||
{
|
||||
// picking
|
||||
// mouse events
|
||||
// different menus
|
||||
// play sounds
|
||||
// update animation
|
||||
// send data to server
|
||||
// check data from server
|
||||
|
||||
if( KeyInput->IsKeyPressed(DIK_G))
|
||||
return ClientState_Game;
|
||||
return ClientState_Same;
|
||||
}
|
||||
bool LobbyState::Render()
|
||||
{
|
||||
|
||||
Oyster::Graphics::API::SetView(privData->view);
|
||||
Oyster::Graphics::API::SetProjection( privData->proj);
|
||||
|
||||
|
||||
Oyster::Graphics::API::NewFrame();
|
||||
// render objects
|
||||
for (int i = 0; i < privData->modelCount; i++)
|
||||
{
|
||||
privData->object[i]->Render();
|
||||
}
|
||||
|
||||
// render effects
|
||||
|
||||
// render lights
|
||||
|
||||
Oyster::Graphics::API::EndFrame();
|
||||
return true;
|
||||
}
|
||||
bool LobbyState::Release()
|
||||
{
|
||||
for (int i = 0; i < privData->modelCount; i++)
|
||||
{
|
||||
privData->object[i]->Release();
|
||||
delete privData->object[i];
|
||||
privData->object[i] = NULL;
|
||||
}
|
||||
|
||||
delete privData;
|
||||
privData = NULL;
|
||||
return true;
|
||||
}
|
||||
void LobbyState::Protocol(ProtocolStruct* protocol)
|
||||
{
|
||||
if((PlayerName*)protocol)
|
||||
PlayerJoinProtocol((PlayerName*)protocol);
|
||||
|
||||
}
|
||||
void LobbyState::PlayerJoinProtocol(PlayerName* name)
|
||||
{
|
||||
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
#ifndef DANBIAS_CLIENT_LOBBYSTATE_H
|
||||
#define DANBIAS_CLIENT_LOBBYSTATE_H
|
||||
|
||||
#include "GameClientState.h"
|
||||
#include "OysterMath.h"
|
||||
#include <string>
|
||||
namespace DanBias
|
||||
{
|
||||
namespace Client
|
||||
{
|
||||
|
||||
class LobbyState : public GameClientState
|
||||
{
|
||||
private:
|
||||
struct myData;
|
||||
myData* privData;
|
||||
public:
|
||||
LobbyState(void);
|
||||
~LobbyState(void);
|
||||
bool Init(Oyster::Network::NetworkClient* nwClient);
|
||||
bool LoadModels(std::wstring file);
|
||||
bool InitCamera(Oyster::Math::Float3 startPos);
|
||||
ClientState Update(float deltaTime, InputClass* KeyInput);
|
||||
// create session lobby
|
||||
// join session lobby
|
||||
// set name
|
||||
// set rules
|
||||
// set map
|
||||
// ready
|
||||
// chat
|
||||
// kick
|
||||
|
||||
bool Render();
|
||||
bool Release();
|
||||
void Protocol(ProtocolStruct* protocol)override;
|
||||
void PlayerJoinProtocol(PlayerName* name);
|
||||
|
||||
};};};
|
||||
#endif // ! DANBIAS_CLIENT_GAMECLIENTSTATE_H
|
|
@ -0,0 +1,73 @@
|
|||
#ifndef DANBIASGAME_DANBIASGAME_H
|
||||
#define DANBIASGAME_DANBIASGAME_H
|
||||
|
||||
#define DANBIAS_CLIENT
|
||||
|
||||
#if defined (DANBIAS_GAME_DLL_EXPORT)
|
||||
#define DANBIAS_GAME_DLL __declspec(dllexport)
|
||||
#else
|
||||
#define DANBIAS_GAME_DLL __declspec(dllimport)
|
||||
#endif
|
||||
|
||||
#define NOMINMAX
|
||||
#include <Windows.h>
|
||||
|
||||
|
||||
|
||||
namespace DanBias
|
||||
{
|
||||
extern "C"
|
||||
{
|
||||
|
||||
enum DanBiasClientReturn
|
||||
{
|
||||
DanBiasClientReturn_Error,
|
||||
DanBiasClientReturn_Sucess,
|
||||
};
|
||||
|
||||
struct DanBiasGameDesc
|
||||
{
|
||||
//Stuff goes here...
|
||||
int port;
|
||||
const char* IP;
|
||||
HINSTANCE hinst;
|
||||
int nCmdShow;
|
||||
|
||||
};
|
||||
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
|
||||
class DanBiasGamePrivateData;
|
||||
class DANBIAS_GAME_DLL DanBiasGame
|
||||
{
|
||||
public:
|
||||
//--------------------------------------------------------------------------------------
|
||||
// Interface API functions
|
||||
//--------------------------------------------------------------------------------------
|
||||
static DanBiasClientReturn Initiate(DanBiasGameDesc& desc);
|
||||
static DanBiasClientReturn Run();
|
||||
static void Release();
|
||||
|
||||
private:
|
||||
|
||||
static HRESULT InitWindow( HINSTANCE hInstance, int nCmdShow);
|
||||
static HRESULT InitDirect3D();
|
||||
static HRESULT InitInput();
|
||||
|
||||
static HRESULT Update(float deltaTime);
|
||||
static HRESULT Render(float deltaTime);
|
||||
static HRESULT CleanUp();
|
||||
|
||||
private:
|
||||
static __int64 cntsPerSec;
|
||||
static __int64 prevTimeStamp;
|
||||
static float secsPerCnt;
|
||||
|
||||
static HINSTANCE g_hInst;
|
||||
static HWND g_hWnd;
|
||||
static DanBiasGamePrivateData* m_data;
|
||||
};
|
||||
|
||||
|
||||
}//End Extern "C"
|
||||
} //End namespace DanBias
|
||||
|
||||
#endif // !DANBIASGAME_DANBIASGAME_H
|
|
@ -19,9 +19,9 @@
|
|||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{2A1BC987-AF42-4500-802D-89CD32FC1309}</ProjectGuid>
|
||||
<ProjectGuid>{8690FDDF-C5B7-4C42-A337-BD5243F29B85}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>DanBiasGame</RootNamespace>
|
||||
<RootNamespace>DanBiasLauncher</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
|
@ -71,28 +71,32 @@
|
|||
<OutDir>$(SolutionDir)..\Bin\Executable\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||
<TargetName>$(ProjectName)_$(PlatformShortName)D</TargetName>
|
||||
<LibraryPath>C:\Program Files %28x86%29\Visual Leak Detector\lib\Win32;$(LibraryPath)$(SolutionDir)..\External\Lib\Input;$(SolutionDir)..\Bin\DLL;</LibraryPath>
|
||||
<IncludePath>$(SolutionDir)..\External\Include\;C:\Program Files %28x86%29\Visual Leak Detector\include;$(IncludePath)</IncludePath>
|
||||
<LibraryPath>$(OutDir)..\DLL\;C:\Program Files %28x86%29\Visual Leak Detector\lib\Win32;$(LibraryPath)</LibraryPath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)..\Bin\Executable\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||
<TargetName>$(ProjectName)_$(PlatformShortName)D</TargetName>
|
||||
<LibraryPath>C:\Program Files %28x86%29\Visual Leak Detector\lib\Win64;$(LibraryPath)$(SolutionDir)..\External\Lib\Input;$(SolutionDir)..\Bin\DLL;</LibraryPath>
|
||||
<IncludePath>$(SolutionDir)..\External\Include\;C:\Program Files %28x86%29\Visual Leak Detector\include;$(IncludePath)</IncludePath>
|
||||
<LibraryPath>$(OutDir)..\DLL\;C:\Program Files %28x86%29\Visual Leak Detector\lib\Win64;$(LibraryPath)</LibraryPath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)..\Bin\Executable\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||
<TargetName>$(ProjectName)_$(PlatformShortName)</TargetName>
|
||||
<LibraryPath>C:\Program Files %28x86%29\Visual Leak Detector\lib\Win32;$(LibraryPath)$(SolutionDir)..\External\Lib\Input;$(SolutionDir)..\Bin\DLL;</LibraryPath>
|
||||
<IncludePath>$(SolutionDir)..\External\Include\;C:\Program Files %28x86%29\Visual Leak Detector\include;$(IncludePath)</IncludePath>
|
||||
<LibraryPath>$(OutDir)..\DLL\;C:\Program Files %28x86%29\Visual Leak Detector\lib\Win32;$(LibraryPath)</LibraryPath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)..\Bin\Executable\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||
<TargetName>$(ProjectName)_$(PlatformShortName)</TargetName>
|
||||
<LibraryPath>C:\Program Files %28x86%29\Visual Leak Detector\lib\Win64;$(LibraryPath)$(SolutionDir)..\External\Lib\Input;$(SolutionDir)..\Bin\DLL;</LibraryPath>
|
||||
<IncludePath>$(SolutionDir)..\External\Include\;C:\Program Files %28x86%29\Visual Leak Detector\include;$(IncludePath)</IncludePath>
|
||||
<LibraryPath>$(OutDir)..\DLL\;C:\Program Files %28x86%29\Visual Leak Detector\lib\Win64;$(LibraryPath)</LibraryPath>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
|
@ -101,14 +105,13 @@
|
|||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)GameLogic;$(SolutionDir)Input;$(SolutionDir)OysterGraphics;$(SolutionDir)Misc;$(SolutionDir)OysterMath;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)Game\DanBiasServer\Include;$(SolutionDir)Game\DanBiasGame\Include</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>OysterGraphics_$(PlatformShortName)D.lib;Input_$(PlatformShortName)D.lib;GameLogic_$(PlatformShortName)D.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<DelayLoadDLLs>OysterGraphics_$(PlatformShortName)D.dll;GameLogic_$(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>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
|
@ -118,14 +121,13 @@
|
|||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)GameLogic;$(SolutionDir)Input;$(SolutionDir)OysterGraphics;$(SolutionDir)Misc;$(SolutionDir)OysterMath;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)Game\DanBiasServer\Include;$(SolutionDir)Game\DanBiasGame\Include</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalDependencies>OysterGraphics_$(PlatformShortName)D.lib;Input_$(PlatformShortName)D.lib;GameLogic_$(PlatformShortName)D.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<DelayLoadDLLs>OysterGraphics_$(PlatformShortName)D.dll;GameLogic_$(PlatformShortName)D.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<DelayLoadDLLs>DanBiasServer_$(PlatformShortName)D.dll;DanBiasGame_$(PlatformShortName)D.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<AdditionalDependencies>DanBiasGame_$(PlatformShortName)D.lib;DanBiasServer_$(PlatformShortName)D.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
|
@ -137,16 +139,15 @@
|
|||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)GameLogic;$(SolutionDir)Input;$(SolutionDir)OysterGraphics;$(SolutionDir)Misc;$(SolutionDir)OysterMath;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)Game\DanBiasServer\Include;$(SolutionDir)Game\DanBiasGame\Include</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalDependencies>OysterGraphics_$(PlatformShortName).lib;Input_$(PlatformShortName).lib;GameLogic_$(PlatformShortName).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<DelayLoadDLLs>OysterGraphics_$(PlatformShortName)D.dll;GameLogic_$(PlatformShortName)D.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<DelayLoadDLLs>DanBiasServer_$(PlatformShortName).dll;DanBiasGame_$(PlatformShortName).dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<AdditionalDependencies>DanBiasServer_$(PlatformShortName).lib;DanBiasGame_$(PlatformShortName).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
|
@ -158,34 +159,24 @@
|
|||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)GameLogic;$(SolutionDir)Input;$(SolutionDir)OysterGraphics;$(SolutionDir)Misc;$(SolutionDir)OysterMath;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)Game\DanBiasServer\Include;$(SolutionDir)Game\DanBiasGame\Include</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<AdditionalDependencies>OysterGraphics_$(PlatformShortName).lib;Input_$(PlatformShortName).lib;GameLogic_$(PlatformShortName).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<DelayLoadDLLs>OysterGraphics_$(PlatformShortName)D.dll;GameLogic_$(PlatformShortName)D.dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<DelayLoadDLLs>DanBiasServer_$(PlatformShortName).dll;DanBiasGame_$(PlatformShortName).dll;%(DelayLoadDLLs)</DelayLoadDLLs>
|
||||
<AdditionalDependencies>DanBiasServer_$(PlatformShortName).lib;DanBiasGame_$(PlatformShortName).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\GameLogic\GameLogic.vcxproj">
|
||||
<Project>{b1195bb9-b3a5-47f0-906c-8dea384d1520}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Input\Input.vcxproj">
|
||||
<Project>{7e3990d2-3d94-465c-b58d-64a74b3ecf9b}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\OysterMath\OysterMath.vcxproj">
|
||||
<Project>{f10cbc03-9809-4cba-95d8-327c287b18ee}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\OysterPhysics3D\OysterPhysics3D.vcxproj">
|
||||
<Project>{4285bd3f-3c6c-4670-b7af-a29afef5f6a8}</Project>
|
||||
</ProjectReference>
|
||||
<ClCompile Include="Launcher.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="DanBiasMaincpp.cpp" />
|
||||
<ProjectReference Include="..\DanBiasGame\DanBiasGame.vcxproj">
|
||||
<Project>{2a1bc987-af42-4500-802d-89cd32fc1309}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
|
@ -0,0 +1,45 @@
|
|||
/////////////////////////////////////////////////
|
||||
// Launcher to launch Danbias server or client //
|
||||
/////////////////////////////////////////////////
|
||||
#define NOMINMAX
|
||||
#include <Windows.h>
|
||||
#include <vld.h>
|
||||
|
||||
|
||||
//#include "DanBiasServerAPI.h"
|
||||
#include "DanBiasGame.h"
|
||||
|
||||
|
||||
int WINAPI WinMain( HINSTANCE hinst, HINSTANCE prevInst, PSTR cmdLine, int cmdShow)
|
||||
{
|
||||
#if defined(DANBIAS_SERVER)
|
||||
if(SetDllDirectory(L"..\\DLL") == FALSE)
|
||||
{
|
||||
return cmdShow;
|
||||
}
|
||||
if( DanBias::DanBiasServerAPI::Initiate() == DanBias::DanBiasServerReturn_Sucess)
|
||||
{
|
||||
DanBias::DanBiasServerAPI::Run();
|
||||
DanBias::DanBiasServerAPI::Release();
|
||||
}
|
||||
#elif defined(DANBIAS_CLIENT)
|
||||
if(SetDllDirectory(L"..\\DLL") == FALSE)
|
||||
{
|
||||
return cmdShow;
|
||||
}
|
||||
// Game client starter code goes here
|
||||
DanBias::DanBiasGameDesc gameDesc;
|
||||
gameDesc.port = 1;
|
||||
gameDesc.IP = "10.1010.303";
|
||||
gameDesc.hinst = hinst;
|
||||
gameDesc.nCmdShow = cmdShow;
|
||||
|
||||
if( DanBias::DanBiasGame::Initiate(gameDesc) == DanBias::DanBiasClientReturn_Sucess)
|
||||
{
|
||||
DanBias::DanBiasGame::Run();
|
||||
DanBias::DanBiasGame::Release();
|
||||
}
|
||||
#endif
|
||||
|
||||
return cmdShow;
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
#define NOMINMAX
|
||||
#include <windows.h>
|
||||
|
||||
BOOL WINAPI DllMain( _In_ HINSTANCE hinstDLL, _In_ DWORD fdwReason, _In_ LPVOID lpvReserved )
|
||||
{
|
||||
|
||||
return TRUE;
|
||||
}
|
|
@ -0,0 +1,214 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{52380DAA-0F4A-4D97-8E57-98DF39319CAF}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>DanBiasServer</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||
<TargetName>$(ProjectName)_$(PlatformShortName)D</TargetName>
|
||||
<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>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||
<TargetName>$(ProjectName)_$(PlatformShortName)D</TargetName>
|
||||
<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>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||
<TargetName>$(ProjectName)_$(PlatformShortName)</TargetName>
|
||||
<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>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||
<TargetName>$(ProjectName)_$(PlatformShortName)</TargetName>
|
||||
<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>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>DANBIAS_SERVER_DLL_EXPORT;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>
|
||||
</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<DelayLoadDLLs>GameLogic_$(PlatformShortName)D.dll;%(DelayLoadDLLs);NetworkAPI_$(PlatformShortName)D.dll</DelayLoadDLLs>
|
||||
<AdditionalDependencies>NetworkAPI_$(PlatformShortName)D.lib;WindowManager_$(PlatformShortName)D.lib;GameLogic_$(PlatformShortName)D.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>DANBIAS_SERVER_DLL_EXPORT;WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>
|
||||
</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<DelayLoadDLLs>GameLogic_$(PlatformShortName)D.dll;%(DelayLoadDLLs);NetworkAPI_$(PlatformShortName)D.dll</DelayLoadDLLs>
|
||||
<AdditionalDependencies>NetworkAPI_$(PlatformShortName)D.lib;WindowManager_$(PlatformShortName)D.lib;GameLogic_$(PlatformShortName)D.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>DANBIAS_SERVER_DLL_EXPORT;WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>
|
||||
</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<DelayLoadDLLs>GameLogic_$(PlatformShortName).dll;%(DelayLoadDLLs);NetworkAPI_$(PlatformShortName).dll</DelayLoadDLLs>
|
||||
<AdditionalDependencies>NetworkAPI_$(PlatformShortName).lib;WindowManager_$(PlatformShortName).lib;GameLogic_$(PlatformShortName).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>DANBIAS_SERVER_DLL_EXPORT;WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>
|
||||
</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<DelayLoadDLLs>GameLogic_$(PlatformShortName).dll;%(DelayLoadDLLs);NetworkAPI_$(PlatformShortName).dll</DelayLoadDLLs>
|
||||
<AdditionalDependencies>NetworkAPI_$(PlatformShortName).lib;WindowManager_$(PlatformShortName).lib;GameLogic_$(PlatformShortName).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="Include\DanBiasServerAPI.cpp" />
|
||||
<ClCompile Include="DLLMain.cpp" />
|
||||
<ClCompile Include="GameServer.cpp" />
|
||||
<ClCompile Include="ServerObjects\ClientObject.cpp" />
|
||||
<ClCompile Include="ServerObjects\Lobby\GameLobby.cpp" />
|
||||
<ClCompile Include="ServerObjects\GameSession.cpp" />
|
||||
<ClCompile Include="ServerObjects\Lobby\MainLobby.cpp" />
|
||||
<ClCompile Include="ServerObjects\NetworkSession.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="Event\EventManager.h" />
|
||||
<ClInclude Include="GameServer.h" />
|
||||
<ClInclude Include="Include\DanBiasServerAPI.h" />
|
||||
<ClInclude Include="ServerInitReader.h" />
|
||||
<ClInclude Include="ServerObjects\ClientObject.h" />
|
||||
<ClInclude Include="ServerObjects\GameSession.h" />
|
||||
<ClInclude Include="ServerObjects\Lobby\GameLobby.h" />
|
||||
<ClInclude Include="ServerObjects\Lobby\MainLobby.h" />
|
||||
<ClInclude Include="ServerObjects\NetworkSession.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\GamePhysics\GamePhysics.vcxproj">
|
||||
<Project>{104fa3e9-94d9-4e1d-a941-28a03bc8a095}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Misc\Misc.vcxproj">
|
||||
<Project>{2ec4dded-8f75-4c86-a10b-e1e8eb29f3ee}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\OysterMath\OysterMath.vcxproj">
|
||||
<Project>{f10cbc03-9809-4cba-95d8-327c287b18ee}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
|
@ -0,0 +1,113 @@
|
|||
/////////////////////////////////////////////////////////////////////
|
||||
// Created by [Dennis Andersen] [2013]
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
#define NOMINMAX
|
||||
#include <Windows.h>
|
||||
#include <WindowShell.h>
|
||||
#include <iostream>
|
||||
|
||||
#include "GameServer.h"
|
||||
#include "Utilities.h"
|
||||
#include "ServerInitReader.h"
|
||||
#include <TEST_PROTOCOLS.h>
|
||||
#include <Thread\OysterThread.h>
|
||||
#include "ServerObjects\ClientObject.h"
|
||||
|
||||
namespace DanBias
|
||||
{
|
||||
using namespace Oyster::Network;
|
||||
|
||||
|
||||
void GameServer::ClientConnectCallback(NetworkClient& client)
|
||||
{
|
||||
printf("Client connected!\n");
|
||||
|
||||
Utility::DynamicMemory::SmartPointer<ClientObject> c = new ClientObject(client);
|
||||
this->mainLobby->AttachClient(c);
|
||||
}
|
||||
GameServer::GameServer()
|
||||
: initiated(0)
|
||||
, running(0)
|
||||
, released(0)
|
||||
, maxClients(0)
|
||||
, mainLobby(0)
|
||||
, server(0)
|
||||
{
|
||||
}
|
||||
GameServer::~GameServer()
|
||||
{
|
||||
|
||||
}
|
||||
DanBiasServerReturn GameServer::Create()
|
||||
{
|
||||
this->server = new NetworkServer();
|
||||
this->mainLobby = new MainLobby();
|
||||
|
||||
InitData data;
|
||||
if(!LoadIniFile(data)) return DanBiasServerReturn_Error;
|
||||
|
||||
NetworkServer::INIT_DESC serverDesc;
|
||||
this->maxClients = data.clients;
|
||||
serverDesc.port = data.port;
|
||||
serverDesc.recvObj = this;
|
||||
serverDesc.callbackType = Oyster::Network::NetworkClientCallbackType_Object;
|
||||
|
||||
if(!this->server->Init(serverDesc)) return DanBiasServerReturn_Error;
|
||||
if(!WindowShell::CreateConsoleWindow()) return DanBiasServerReturn_Error;
|
||||
|
||||
this->initiated = true;
|
||||
return DanBiasServerReturn_Sucess;
|
||||
}
|
||||
DanBiasServerReturn GameServer::Run()
|
||||
{
|
||||
if(this->running) return DanBiasServerReturn_Error;
|
||||
if(this->released) return DanBiasServerReturn_Error;
|
||||
if(!this->initiated) return DanBiasServerReturn_Error;
|
||||
|
||||
if(!this->server->Start()) return DanBiasServerReturn_Error;
|
||||
|
||||
while (true)
|
||||
{
|
||||
if(!WindowShell::Frame()) break;
|
||||
|
||||
this->mainLobby->Frame();
|
||||
}
|
||||
|
||||
return DanBiasServerReturn_Sucess;
|
||||
}
|
||||
DanBiasServerReturn GameServer::Release()
|
||||
{
|
||||
this->server->Shutdown();
|
||||
delete this->server;
|
||||
delete this->mainLobby;
|
||||
this->released = true;
|
||||
return DanBiasServerReturn_Sucess;
|
||||
}
|
||||
|
||||
bool GameServer::LoadIniFile(InitData& ini)
|
||||
{
|
||||
std::ifstream in;
|
||||
std::string f = GetInitPath(InitPath_ServerIni);
|
||||
in.open(f, std::ios::in);
|
||||
if(!in.is_open()) return false;
|
||||
|
||||
std::string buffer;
|
||||
while (!in.eof())
|
||||
{
|
||||
in >> buffer;
|
||||
|
||||
if(buffer == "port")
|
||||
{
|
||||
in >> ini.port;
|
||||
}
|
||||
else if(buffer == "clients")
|
||||
{
|
||||
in >> ini.clients;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
in.close();
|
||||
return true;
|
||||
}
|
||||
}//End namespace DanBias
|
|
@ -0,0 +1,44 @@
|
|||
/////////////////////////////////////////////////////////////////////
|
||||
// Created by [Dennis Andersen] [2013]
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
#ifndef DANBIASSERVER_GAME_SERVER_H
|
||||
#define DANBIASSERVER_GAME_SERVER_H
|
||||
|
||||
#include "Include\DanBiasServerAPI.h"
|
||||
#include "ServerObjects\Lobby\MainLobby.h"
|
||||
#include <NetworkServer.h>
|
||||
#include <NetworkCallbackHelper.h>
|
||||
|
||||
namespace DanBias
|
||||
{
|
||||
class GameServer :public Oyster::Network::ClientConnectedObject
|
||||
{
|
||||
public:
|
||||
GameServer();
|
||||
~GameServer();
|
||||
|
||||
DanBiasServerReturn Create();
|
||||
DanBiasServerReturn Run();
|
||||
DanBiasServerReturn Release();
|
||||
|
||||
private:
|
||||
//static void ClientConnectCallbackFunction(Oyster::Network::NetworkClient& connectedClient);
|
||||
void ClientConnectCallback(Oyster::Network::NetworkClient& client) override;
|
||||
|
||||
bool initiated;
|
||||
bool running;
|
||||
bool released;
|
||||
int maxClients;
|
||||
MainLobby *mainLobby;
|
||||
Oyster::Network::NetworkServer *server;
|
||||
|
||||
private:
|
||||
struct InitData
|
||||
{
|
||||
int port;
|
||||
int clients;
|
||||
};
|
||||
bool LoadIniFile(InitData&);
|
||||
};
|
||||
}// End namspace DanBias
|
||||
#endif // !DANBIASSERVER_DBSERVER_H
|
|
@ -0,0 +1,28 @@
|
|||
/////////////////////////////////////////////////////////////////////
|
||||
// Created by [Dennis Andersen] [2013]
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
#include "DanBiasServerAPI.h"
|
||||
#include "..\GameServer.h"
|
||||
|
||||
namespace DanBias
|
||||
{
|
||||
|
||||
#pragma region Server Data
|
||||
static GameServer server;
|
||||
#pragma endregion
|
||||
|
||||
|
||||
DanBiasServerReturn DanBiasServerAPI::Initiate()
|
||||
{
|
||||
return server.Create();
|
||||
}
|
||||
DanBiasServerReturn DanBiasServerAPI::Run()
|
||||
{
|
||||
return server.Run();
|
||||
}
|
||||
DanBiasServerReturn DanBiasServerAPI::Release()
|
||||
{
|
||||
return server.Release();
|
||||
}
|
||||
|
||||
} //End namspace DanBias
|
|
@ -0,0 +1,37 @@
|
|||
/////////////////////////////////////////////////////////////////////
|
||||
// Created by [Dennis Andersen] [2013]
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
#ifndef DANBIAS_SERVER_DANBIAS_SERVER_H
|
||||
#define DANBIAS_SERVER_DANBIAS_SERVER_H
|
||||
|
||||
#include <vld.h>
|
||||
|
||||
#define DANBIAS_SERVER
|
||||
|
||||
#ifdef DANBIAS_SERVER_DLL_EXPORT
|
||||
#define DANBIAS_SERVER_DLL __declspec(dllexport)
|
||||
#else
|
||||
#define DANBIAS_SERVER_DLL __declspec(dllimport)
|
||||
#endif
|
||||
|
||||
namespace DanBias
|
||||
{
|
||||
enum DanBiasServerReturn
|
||||
{
|
||||
DanBiasServerReturn_Error,
|
||||
DanBiasServerReturn_Sucess,
|
||||
};
|
||||
|
||||
extern "C"
|
||||
{
|
||||
class DANBIAS_SERVER_DLL DanBiasServerAPI
|
||||
{
|
||||
public:
|
||||
static DanBiasServerReturn Initiate();
|
||||
static DanBiasServerReturn Run();
|
||||
static DanBiasServerReturn Release();
|
||||
};//End class DanBiasServer
|
||||
}//End Extern "C"
|
||||
} //End namspace DanBias
|
||||
|
||||
#endif // !DANBIAS_SERVER_DANBIAS_SERVER_H
|
|
@ -0,0 +1,41 @@
|
|||
#ifndef DANBIASSERVER_SERVER_INIT_READER_H
|
||||
#define DANBIASSERVER_SERVER_INIT_READER_H
|
||||
|
||||
#include <fstream>
|
||||
#include <string>
|
||||
|
||||
namespace DanBias
|
||||
{
|
||||
enum InitPath
|
||||
{
|
||||
InitPath_ServerIni,
|
||||
};
|
||||
std::string GetInitPath(InitPath file)
|
||||
{
|
||||
std::string type = "";
|
||||
std::string path = "";
|
||||
std::string flag = "";
|
||||
|
||||
switch (file)
|
||||
{
|
||||
case DanBias::InitPath_ServerIni:
|
||||
flag = "ServerInit";
|
||||
break;
|
||||
}
|
||||
|
||||
std::fstream in;
|
||||
in.open("..\\Settings\\serversearchpath.ini", std::ios::in);
|
||||
if(!in.is_open()) return "";
|
||||
|
||||
while (!in.eof() && type != flag)
|
||||
{
|
||||
in >> type;
|
||||
in >> path;
|
||||
}
|
||||
|
||||
in.close();
|
||||
return path;
|
||||
}
|
||||
}
|
||||
|
||||
#endif // !DANBIASSERVER_SERVER_INIT_READER_H
|
|
@ -0,0 +1,39 @@
|
|||
#include "ClientObject.h"
|
||||
|
||||
using namespace DanBias;
|
||||
|
||||
ClientObject::ClientObject(const Oyster::Network::NetworkClient& client)
|
||||
{
|
||||
this->client = client;
|
||||
this->client.SetRecieverObject(this, Oyster::Network::NetworkProtocolCallbackType_Object);
|
||||
this->box = 0;
|
||||
}
|
||||
ClientObject::~ClientObject()
|
||||
{
|
||||
this->client.Disconnect();
|
||||
}
|
||||
|
||||
void ClientObject::SetPostbox(Oyster::PostBox<NetworkSession::NetEvent>* 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)
|
||||
{
|
||||
if(!this->box) return;
|
||||
|
||||
NetworkSession::NetEvent _event;
|
||||
_event.protocol = protocol;
|
||||
_event.reciever = this;
|
||||
|
||||
this->box->Post(_event);
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
#ifndef DANBIASSERVER_CLIENT_OBJECT_H
|
||||
#define DANBIASSERVER_CLIENT_OBJECT_H
|
||||
|
||||
|
||||
#include "NetworkSession.h"
|
||||
#include "NetworkClient.h"
|
||||
#include <PostBox\PostBox.h>
|
||||
#include <Player.h>
|
||||
|
||||
namespace DanBias
|
||||
{
|
||||
class ClientObject
|
||||
:public Oyster::Network::ProtocolRecieverObject
|
||||
{
|
||||
public:
|
||||
ClientObject(const Oyster::Network::NetworkClient& client);
|
||||
~ClientObject();
|
||||
|
||||
void SetPostbox(Oyster::PostBox<NetworkSession::NetEvent>* box);
|
||||
|
||||
GameLogic::Player* Logic_Object();
|
||||
Oyster::Network::NetworkClient* NetClient_Object();
|
||||
|
||||
/** This method is NOT threadsafe. */
|
||||
virtual void ProtocolRecievedCallback(Oyster::Network::CustomNetProtocol& protocol) override;
|
||||
|
||||
private:
|
||||
GameLogic::Player logicPlayer;
|
||||
Oyster::Network::NetworkClient client;
|
||||
Oyster::IPostBox<DanBias::NetworkSession::NetEvent>* box;
|
||||
};
|
||||
|
||||
}//End namespace DanBias
|
||||
#endif // !DANBIASSERVER_CLIENT_OBJECT_H
|
|
@ -0,0 +1,9 @@
|
|||
|
||||
|
||||
|
||||
|
||||
namespace DanBias
|
||||
{
|
||||
|
||||
|
||||
}//End namespace DanBias
|
|
@ -0,0 +1,19 @@
|
|||
#ifndef DANBIASSERVER_GAME_SESSION_H
|
||||
#define DANBIASSERVER_GAME_SESSION_H
|
||||
|
||||
#include "NetworkSession.h"
|
||||
|
||||
namespace DanBias
|
||||
{
|
||||
class GameSession :public NetworkSession
|
||||
{
|
||||
public:
|
||||
GameSession();
|
||||
~GameSession();
|
||||
|
||||
private:
|
||||
|
||||
|
||||
};//End GameSession
|
||||
}//End namespace DanBias
|
||||
#endif // !DANBIASSERVER_GAME_SESSION_H
|
|
@ -0,0 +1,18 @@
|
|||
#include "GameLobby.h"
|
||||
|
||||
|
||||
namespace DanBias
|
||||
{
|
||||
GameLobby::GameLobby()
|
||||
{
|
||||
|
||||
}
|
||||
GameLobby::~GameLobby()
|
||||
{
|
||||
|
||||
}
|
||||
void GameLobby::Release()
|
||||
{
|
||||
|
||||
}
|
||||
}//End namespace DanBias
|
|
@ -0,0 +1,21 @@
|
|||
#ifndef DANBIASSERVER_GAMELOBBY_H
|
||||
#define DANBIASSERVER_GAMELOBBY_H
|
||||
|
||||
#include "..\NetworkSession.h"
|
||||
|
||||
namespace DanBias
|
||||
{
|
||||
class GameLobby :public NetworkSession
|
||||
{
|
||||
public:
|
||||
GameLobby();
|
||||
~GameLobby();
|
||||
void Release();
|
||||
|
||||
private:
|
||||
|
||||
|
||||
};
|
||||
}//End namespace DanBias
|
||||
|
||||
#endif // !DANBIASSERVER_GAME_LOBBY_H
|
|
@ -0,0 +1,44 @@
|
|||
#include "MainLobby.h"
|
||||
#include <PlayerProtocols.h>
|
||||
|
||||
namespace DanBias
|
||||
{
|
||||
MainLobby::MainLobby()
|
||||
{
|
||||
|
||||
}
|
||||
MainLobby::~MainLobby()
|
||||
{
|
||||
|
||||
}
|
||||
void MainLobby::Release()
|
||||
{
|
||||
this->DetachClient();
|
||||
}
|
||||
|
||||
void MainLobby::Frame()
|
||||
{
|
||||
ParseEvents();
|
||||
}
|
||||
|
||||
//////// Private
|
||||
void MainLobby::ParseEvents()
|
||||
{
|
||||
if(!this->box.IsEmpty())
|
||||
{
|
||||
NetEvent &e = this->box.Fetch();
|
||||
|
||||
if(e.protocol[0].type != Oyster::Network::NetAttributeType_Short) return;
|
||||
|
||||
short f = e.protocol[0].value.netShort;
|
||||
|
||||
switch (f)
|
||||
{
|
||||
default:
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}//End namespace DanBias
|
|
@ -0,0 +1,22 @@
|
|||
#ifndef DANBIASSERVER_MAINLOBBY_H
|
||||
#define DANBIASSERVER_MAINLOBBY_H
|
||||
|
||||
#include "..\NetworkSession.h"
|
||||
|
||||
namespace DanBias
|
||||
{
|
||||
class MainLobby :public NetworkSession
|
||||
{
|
||||
public:
|
||||
MainLobby();
|
||||
~MainLobby();
|
||||
void Release();
|
||||
|
||||
void Frame();
|
||||
|
||||
private:
|
||||
void ParseEvents();
|
||||
|
||||
};
|
||||
}//End namespace DanBias
|
||||
#endif // !DANBIASGAME_GAMELOBBY_H
|
|
@ -0,0 +1,73 @@
|
|||
|
||||
#include "ClientObject.h"
|
||||
#include "NetworkSession.h"
|
||||
#include <mutex>
|
||||
|
||||
namespace DanBias
|
||||
{
|
||||
NetworkSession::NetworkSession()
|
||||
{
|
||||
|
||||
}
|
||||
NetworkSession::~NetworkSession()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void NetworkSession::AttachClient(Utility::DynamicMemory::SmartPointer<ClientObject> client)
|
||||
{
|
||||
for (unsigned int i = 0; i < this->clients.size(); i++)
|
||||
{
|
||||
if(!this->clients[i])
|
||||
{
|
||||
this->clients[i] = client;
|
||||
this->clients[i]->SetPostbox(&this->box);
|
||||
return;
|
||||
}
|
||||
}
|
||||
this->clients.push_back(client);
|
||||
}
|
||||
|
||||
void NetworkSession::DetachClient(Oyster::Network::NetworkClient* client)
|
||||
{
|
||||
for (unsigned int i = 0; i < this->clients.size(); i++)
|
||||
{
|
||||
if(this->clients[0]->NetClient_Object()->Id() == client->Id())
|
||||
this->clients[i] = 0;
|
||||
}
|
||||
}
|
||||
void NetworkSession::DetachClient(ClientObject* client)
|
||||
{
|
||||
for (unsigned int i = 0; i < this->clients.size(); i++)
|
||||
{
|
||||
if(this->clients[0]->NetClient_Object()->Id() == client->NetClient_Object()->Id())
|
||||
this->clients[i] = 0;
|
||||
}
|
||||
|
||||
}
|
||||
void NetworkSession::DetachClient(short ID)
|
||||
{
|
||||
for (unsigned int i = 0; i < this->clients.size(); i++)
|
||||
{
|
||||
if(this->clients[0]->NetClient_Object()->Id() == ID)
|
||||
this->clients[i] = 0;
|
||||
}
|
||||
|
||||
}
|
||||
void NetworkSession::DetachClient()
|
||||
{
|
||||
for (unsigned int i = 0; i < this->clients.size(); i++)
|
||||
{
|
||||
this->clients[i] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
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
|
|
@ -0,0 +1,50 @@
|
|||
/////////////////////////////////////////////////////////////////////
|
||||
// Created by [Dennis Andersen] [2013]
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
#ifndef DANBIASSERVER_NETWORK_SESSION_H
|
||||
#define DANBIASSERVER_NETWORK_SESSION_H
|
||||
|
||||
#define NOMINMAX
|
||||
#include "Utilities.h"
|
||||
#include <PostBox\PostBox.h>
|
||||
#include <CustomNetProtocol.h>
|
||||
#include <NetworkClient.h>
|
||||
#include <vector>
|
||||
|
||||
namespace DanBias
|
||||
{
|
||||
class ClientObject;
|
||||
class NetworkSession
|
||||
{
|
||||
public:
|
||||
struct NetEvent
|
||||
{
|
||||
ClientObject* reciever;
|
||||
Oyster::Network::CustomNetProtocol protocol;
|
||||
};
|
||||
|
||||
public:
|
||||
NetworkSession();
|
||||
~NetworkSession();
|
||||
|
||||
void AttachClient(Utility::DynamicMemory::SmartPointer<ClientObject> client);
|
||||
|
||||
void DetachClient(Oyster::Network::NetworkClient* client);
|
||||
void DetachClient(ClientObject* client);
|
||||
void DetachClient(short ID);
|
||||
void DetachClient();
|
||||
|
||||
void Kick();
|
||||
|
||||
void Send(Oyster::Network::CustomNetProtocol& protocol);
|
||||
void Send(Oyster::Network::CustomNetProtocol& protocol, int ID);
|
||||
|
||||
//TODO: Do more lobby features
|
||||
//virtual void
|
||||
|
||||
protected:
|
||||
std::vector<Utility::DynamicMemory::SmartPointer<ClientObject>> clients;
|
||||
Oyster::PostBox<DanBias::NetworkSession::NetEvent> box;
|
||||
};
|
||||
}//End namespace DanBias
|
||||
#endif // !DANBIASSERVER_NETWORK_SESSION_H
|
|
@ -0,0 +1,73 @@
|
|||
#include "AttatchmentMassDriver.h"
|
||||
#include "PhysicsAPI.h"
|
||||
|
||||
using namespace GameLogic;
|
||||
|
||||
struct AttatchmentMassDriver::PrivateData
|
||||
{
|
||||
PrivateData()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
~PrivateData()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}myData;
|
||||
|
||||
|
||||
AttatchmentMassDriver::AttatchmentMassDriver(void)
|
||||
{
|
||||
myData = new PrivateData();
|
||||
this->owner = 0;
|
||||
}
|
||||
|
||||
AttatchmentMassDriver::AttatchmentMassDriver(Player &owner)
|
||||
{
|
||||
myData = new PrivateData();
|
||||
this->owner = &owner;
|
||||
}
|
||||
|
||||
|
||||
AttatchmentMassDriver::~AttatchmentMassDriver(void)
|
||||
{
|
||||
delete myData;
|
||||
}
|
||||
|
||||
/********************************************************
|
||||
* Uses the attatchment and will from here switch case the different WEAPON_FIRE's that are to be used
|
||||
********************************************************/
|
||||
void AttatchmentMassDriver::UseAttatchment(const GameLogic::WEAPON_FIRE &fireInput)
|
||||
{
|
||||
//switch case to determin what functionallity to use in the attatchment
|
||||
switch (fireInput)
|
||||
{
|
||||
case WEAPON_FIRE::WEAPON_USE_PRIMARY_PRESS:
|
||||
ForcePush(fireInput);
|
||||
break;
|
||||
case WEAPON_FIRE::WEAPON_USE_SECONDARY_PRESS:
|
||||
ForcePull(fireInput);
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/********************************************************
|
||||
* Pushes objects in a cone in front of the weapon when fired
|
||||
********************************************************/
|
||||
void AttatchmentMassDriver::ForcePush(const GameLogic::WEAPON_FIRE &fireInput)
|
||||
{
|
||||
//create coneRigidBody that will then collide with object and push them in the aimed direction
|
||||
}
|
||||
|
||||
/********************************************************
|
||||
* Pulls the player in the direction he is looking, used for fast movement(kinda like a jetpack)
|
||||
********************************************************/
|
||||
void AttatchmentMassDriver::ForcePull(const WEAPON_FIRE &fireInput)
|
||||
{
|
||||
Oyster::Physics::API::Instance().ApplyForceAt(owner->GetRigidBody(), owner->GetRigidBody()->GetCenter(), owner->GetLookDir() * 100);
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
//////////////////////////////////////////////////
|
||||
//Created by Erik of the GameLogic team
|
||||
//////////////////////////////////////////////////
|
||||
#ifndef ATTATCHMENTMASSDRIVER_H
|
||||
#define ATTATCHMENTMASSDRIVER_H
|
||||
#include "IAttatchment.h"
|
||||
namespace GameLogic
|
||||
{
|
||||
|
||||
class AttatchmentMassDriver : public IAttatchment
|
||||
{
|
||||
public:
|
||||
AttatchmentMassDriver(void);
|
||||
AttatchmentMassDriver(Player &owner);
|
||||
~AttatchmentMassDriver(void);
|
||||
|
||||
|
||||
void UseAttatchment(const WEAPON_FIRE &fireInput);
|
||||
|
||||
private:
|
||||
void ForcePush(const WEAPON_FIRE &fireInput);
|
||||
void ForcePull(const WEAPON_FIRE &fireInput);
|
||||
|
||||
private:
|
||||
struct PrivateData;
|
||||
PrivateData *myData;
|
||||
};
|
||||
}
|
||||
#endif
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
#include "AttatchmentSocket.h"
|
||||
#include "IAttatchment.h"
|
||||
using namespace GameLogic;
|
||||
|
||||
struct AttatchmentSocket::PrivateData
|
||||
{
|
||||
PrivateData()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
~PrivateData()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
IAttatchment *attatchment;
|
||||
|
||||
|
||||
}myData;
|
||||
|
||||
AttatchmentSocket::AttatchmentSocket(void)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
AttatchmentSocket::~AttatchmentSocket(void)
|
||||
{
|
||||
}
|
||||
|
||||
IAttatchment* AttatchmentSocket::GetAttatchment()
|
||||
{
|
||||
return myData->attatchment;
|
||||
}
|
||||
|
||||
void AttatchmentSocket::SetAttatchment(IAttatchment *attatchment)
|
||||
{
|
||||
if (myData->attatchment)
|
||||
{
|
||||
delete myData->attatchment;
|
||||
}
|
||||
|
||||
myData->attatchment = attatchment;
|
||||
}
|
||||
|
||||
void AttatchmentSocket::RemoveAttatchment()
|
||||
{
|
||||
if (myData->attatchment)
|
||||
{
|
||||
delete myData->attatchment;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
//////////////////////////////////////////////////
|
||||
//Created by Erik of the GameLogic team
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
#ifndef ATTATCHMENTSOCKET_H
|
||||
#define ATTATCHMENTSOCKET_H
|
||||
#include "IAttatchment.h"
|
||||
namespace GameLogic
|
||||
{
|
||||
|
||||
class AttatchmentSocket
|
||||
{
|
||||
public:
|
||||
AttatchmentSocket(void);
|
||||
~AttatchmentSocket(void);
|
||||
|
||||
IAttatchment* GetAttatchment();
|
||||
void SetAttatchment(IAttatchment *attatchment);
|
||||
void RemoveAttatchment();
|
||||
|
||||
private:
|
||||
struct PrivateData;
|
||||
PrivateData *myData;
|
||||
};
|
||||
}
|
||||
#endif
|
|
@ -0,0 +1,59 @@
|
|||
#include "CollisionManager.h"
|
||||
#include "PhysicsAPI.h"
|
||||
#include "Object.h"
|
||||
#include "DynamicObject.h"
|
||||
#include "Player.h"
|
||||
|
||||
using namespace Oyster;
|
||||
|
||||
namespace GameLogic
|
||||
{
|
||||
|
||||
namespace CollisionManager
|
||||
{
|
||||
|
||||
void PlayerVBox(Player &player, DynamicObject &box);
|
||||
|
||||
|
||||
Physics::ICustomBody::SubscriptMessage PlayerCollision(const Oyster::Physics::ICustomBody *rigidBodyPlayer, const Oyster::Physics::ICustomBody *obj)
|
||||
{
|
||||
Player *player = ((Player*)(rigidBodyPlayer->gameObjectRef));
|
||||
Object *realObj = (Object*)obj->gameObjectRef;
|
||||
|
||||
switch (realObj->GetType())
|
||||
{
|
||||
case OBJECT_TYPE_BOX:
|
||||
PlayerVBox(*player,(*(DynamicObject*) realObj));
|
||||
break;
|
||||
case OBJECT_TYPE_PLAYER:
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
return Physics::ICustomBody::SubscriptMessage_none;
|
||||
}
|
||||
|
||||
void PlayerVBox(Player &player, DynamicObject &box)
|
||||
{
|
||||
player.DamageLife(20);
|
||||
}
|
||||
|
||||
Physics::ICustomBody::SubscriptMessage BoxCollision(const Oyster::Physics::ICustomBody *rigidBodyBox, const Oyster::Physics::ICustomBody *obj)
|
||||
{
|
||||
DynamicObject *box = (DynamicObject*)rigidBodyBox->gameObjectRef;
|
||||
Object *realObj = (Object*)obj->gameObjectRef;
|
||||
|
||||
switch (realObj->GetType())
|
||||
{
|
||||
case OBJECT_TYPE_BOX:
|
||||
|
||||
break;
|
||||
case OBJECT_TYPE_PLAYER:
|
||||
//PlayerVBox(*(Player*)realObj,*box);
|
||||
break;
|
||||
}
|
||||
|
||||
return Physics::ICustomBody::SubscriptMessage_none;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
#ifndef COLLISIONMANAGER_H
|
||||
#define COLLISIONMANAGER_H
|
||||
|
||||
#include "Object.h"
|
||||
#include "PhysicsAPI.h"
|
||||
|
||||
namespace GameLogic
|
||||
{
|
||||
|
||||
namespace CollisionManager
|
||||
{
|
||||
//these are the main collision functions
|
||||
//typedef SubscriptMessage (*EventAction_Collision)( const ICustomBody *proto, const ICustomBody *deuter );
|
||||
Oyster::Physics::ICustomBody::SubscriptMessage PlayerCollision(const Oyster::Physics::ICustomBody *rigidBodyPlayer, const Oyster::Physics::ICustomBody *obj);
|
||||
Oyster::Physics::ICustomBody::SubscriptMessage BoxCollision(const Oyster::Physics::ICustomBody *rigidBodyBox, const Oyster::Physics::ICustomBody *obj);
|
||||
|
||||
//these are the specific collision case functions
|
||||
//void PlayerVBox(Player &player, DynamicObject &box);
|
||||
//void BoxVBox(DynamicObject &box1, DynamicObject &box2);
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
|
@ -0,0 +1,23 @@
|
|||
#include "DynamicObject.h"
|
||||
#include "CollisionManager.h"
|
||||
|
||||
using namespace GameLogic;
|
||||
|
||||
|
||||
DynamicObject::DynamicObject()
|
||||
:Object()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
DynamicObject::DynamicObject(void* collisionFunc, OBJECT_TYPE type)
|
||||
:Object(collisionFunc, type)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
DynamicObject::~DynamicObject(void)
|
||||
{
|
||||
|
||||
}
|
|
@ -1,11 +1,8 @@
|
|||
//////////////////////////////////////////////////
|
||||
//Created by Erik and Linda of the GameLogic team
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
|
||||
#ifndef DYNAMICOBJECT_H
|
||||
#define DYNAMICOBJECT_H
|
||||
|
||||
#include "Object.h"
|
||||
|
||||
namespace GameLogic
|
||||
|
@ -16,10 +13,11 @@ namespace GameLogic
|
|||
{
|
||||
|
||||
public:
|
||||
DynamicObject(void);
|
||||
DynamicObject();
|
||||
DynamicObject(void* collisionFunc, OBJECT_TYPE type);
|
||||
~DynamicObject(void);
|
||||
|
||||
void Update();
|
||||
private:
|
||||
|
||||
};
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
#include "Game.h"
|
||||
|
||||
using namespace GameLogic;
|
||||
|
||||
Game::Game(void)
|
||||
|
@ -26,7 +27,13 @@ Game::~Game(void)
|
|||
|
||||
void Game::Init()
|
||||
{
|
||||
player = new Player();
|
||||
//Oyster::Physics::API::SetSubscription("remove object");
|
||||
|
||||
player = new Player(L"worldDummy");
|
||||
|
||||
box = new DynamicObject(L"crate");
|
||||
//poi
|
||||
//box = new physcTestObj("box");
|
||||
camera = new Camera();
|
||||
}
|
||||
void Game::StartGame()
|
||||
|
@ -60,9 +67,13 @@ void Game::Update(keyInput keyPressed, float pitch, float yaw)
|
|||
camera->Walk(0.1);
|
||||
}
|
||||
camera->UpdateViewMatrix();
|
||||
//poi Oyster::Physics::API::Update();
|
||||
}
|
||||
void Game::Render()
|
||||
{
|
||||
Oyster::Graphics::API::NewFrame(camera->View(), camera->Proj());
|
||||
Oyster::Graphics::API::SetView(camera->View());
|
||||
Oyster::Graphics::API::SetProjection(camera->Proj());
|
||||
Oyster::Graphics::API::NewFrame();
|
||||
player->Render();
|
||||
box->Render();
|
||||
}
|
|
@ -5,6 +5,7 @@
|
|||
#include "Player.h"
|
||||
#include "IGame.h"
|
||||
#include "Camera.h"
|
||||
#include "DynamicObject.h"
|
||||
|
||||
namespace GameLogic
|
||||
{
|
||||
|
@ -21,6 +22,7 @@ namespace GameLogic
|
|||
|
||||
private:
|
||||
Level* level;
|
||||
DynamicObject* box;
|
||||
Player* player;
|
||||
Camera* camera;
|
||||
};
|
|
@ -69,38 +69,39 @@
|
|||
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||
<TargetName>$(ProjectName)_$(PlatformShortName)D</TargetName>
|
||||
<LibraryPath>$(SolutionDir)..\External\Lib\Input;$(SolutionDir)..\Bin\DLL;$(LibraryPath)</LibraryPath>
|
||||
<LibraryPath>$(SolutionDir)..\Bin\DLL;$(LibraryPath)</LibraryPath>
|
||||
<TargetExt>.dll</TargetExt>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||
<TargetName>$(ProjectName)_$(PlatformShortName)</TargetName>
|
||||
<LibraryPath>$(SolutionDir)..\External\Lib\Input;$(SolutionDir)..\Bin\DLL;$(LibraryPath)</LibraryPath>
|
||||
<LibraryPath>$(SolutionDir)..\Bin\DLL;$(LibraryPath)</LibraryPath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||
<TargetName>$(ProjectName)_$(PlatformShortName)D</TargetName>
|
||||
<LibraryPath>$(SolutionDir)..\External\Lib\Input;$(SolutionDir)..\Bin\DLL;$(LibraryPath)</LibraryPath>
|
||||
<LibraryPath>$(SolutionDir)..\Bin\DLL;$(LibraryPath)</LibraryPath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>$(SolutionDir)..\Bin\DLL\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||
<TargetName>$(ProjectName)_$(PlatformShortName)</TargetName>
|
||||
<LibraryPath>$(SolutionDir)..\External\Lib\Input;$(SolutionDir)..\Bin\DLL;$(LibraryPath)</LibraryPath>
|
||||
<LibraryPath>$(SolutionDir)..\Bin\DLL;$(LibraryPath)</LibraryPath>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)Input;$(SolutionDir)OysterGraphics;$(SolutionDir)Misc;$(SolutionDir)OysterMath;$(SolutionDir)OysterPhysics3D;$(SolutionDir)GamePhysics;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>GAME_DLL_EXPORT;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)Misc;$(SolutionDir)OysterMath;$(SolutionDir)OysterPhysics3D;$(SolutionDir)GamePhysics;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>DANBIAS_GAMELOGIC_DLL_EXPORT;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<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>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
|
@ -108,12 +109,13 @@
|
|||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)Input;$(SolutionDir)OysterGraphics;$(SolutionDir)Misc;$(SolutionDir)OysterMath;$(SolutionDir)OysterPhysics3D;$(SolutionDir)GamePhysics;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>GAME_DLL_EXPORT;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)Misc;$(SolutionDir)OysterMath;$(SolutionDir)OysterPhysics3D;$(SolutionDir)GamePhysics;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>DANBIAS_GAMELOGIC_DLL_EXPORT;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<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>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
|
@ -123,14 +125,15 @@
|
|||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)Input;$(SolutionDir)OysterGraphics;$(SolutionDir)Misc;$(SolutionDir)OysterMath;$(SolutionDir)OysterPhysics3D;$(SolutionDir)GamePhysics;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>GAME_DLL_EXPORT;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)Misc;$(SolutionDir)OysterMath;$(SolutionDir)OysterPhysics3D;$(SolutionDir)GamePhysics;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>DANBIAS_GAMELOGIC_DLL_EXPORT;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<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>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
|
@ -140,68 +143,56 @@
|
|||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)Input;$(SolutionDir)OysterGraphics;$(SolutionDir)Misc;$(SolutionDir)OysterMath;$(SolutionDir)OysterPhysics3D;$(SolutionDir)GamePhysics;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>GAME_DLL_EXPORT;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(SolutionDir)Misc;$(SolutionDir)OysterMath;$(SolutionDir)OysterPhysics3D;$(SolutionDir)GamePhysics;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>DANBIAS_GAMELOGIC_DLL_EXPORT;_WINDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<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>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\GamePhysics\GamePhysics.vcxproj">
|
||||
<ProjectReference Include="..\..\GamePhysics\GamePhysics.vcxproj">
|
||||
<Project>{104fa3e9-94d9-4e1d-a941-28a03bc8a095}</Project>
|
||||
<Private>false</Private>
|
||||
<ReferenceOutputAssembly>true</ReferenceOutputAssembly>
|
||||
<CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
|
||||
<LinkLibraryDependencies>false</LinkLibraryDependencies>
|
||||
<UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Input\Input.vcxproj">
|
||||
<Project>{7e3990d2-3d94-465c-b58d-64a74b3ecf9b}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\Misc\Misc.vcxproj">
|
||||
<ProjectReference Include="..\..\Misc\Misc.vcxproj">
|
||||
<Project>{2ec4dded-8f75-4c86-a10b-e1e8eb29f3ee}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\OysterGraphics\OysterGraphics.vcxproj">
|
||||
<Project>{0ec83e64-230e-48ef-b08c-6ac9651b4f82}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\OysterMath\OysterMath.vcxproj">
|
||||
<ProjectReference Include="..\..\OysterMath\OysterMath.vcxproj">
|
||||
<Project>{f10cbc03-9809-4cba-95d8-327c287b18ee}</Project>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\OysterPhysics3D\OysterPhysics3D.vcxproj">
|
||||
<ProjectReference Include="..\..\OysterPhysics3D\OysterPhysics3D.vcxproj">
|
||||
<Project>{4285bd3f-3c6c-4670-b7af-a29afef5f6a8}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="Camera.h" />
|
||||
<ClInclude Include="AttatchmentMassDriver.h" />
|
||||
<ClInclude Include="AttatchmentSocket.h" />
|
||||
<ClInclude Include="CollisionManager.h" />
|
||||
<ClInclude Include="DynamicObject.h" />
|
||||
<ClInclude Include="Game.h" />
|
||||
<ClInclude Include="GameLogicDef.h" />
|
||||
<ClInclude Include="GameMode.h" />
|
||||
<ClInclude Include="IGame.h" />
|
||||
<ClInclude Include="IAttatchment.h" />
|
||||
<ClInclude Include="Level.h" />
|
||||
<ClInclude Include="Object.h" />
|
||||
<ClInclude Include="Player.h" />
|
||||
<ClInclude Include="RefManager.h" />
|
||||
<ClInclude Include="StaticObject.h" />
|
||||
<ClInclude Include="Weapon.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="Camera.cpp" />
|
||||
<ClCompile Include="AttatchmentMassDriver.cpp" />
|
||||
<ClCompile Include="AttatchmentSocket.cpp" />
|
||||
<ClCompile Include="CollisionManager.cpp" />
|
||||
<ClCompile Include="DynamicObject.cpp" />
|
||||
<ClCompile Include="Game.cpp" />
|
||||
<ClCompile Include="GameMode.cpp" />
|
||||
<ClCompile Include="IGame.cpp" />
|
||||
<ClCompile Include="IAttatchment.cpp" />
|
||||
<ClCompile Include="Level.cpp" />
|
||||
<ClCompile Include="Object.cpp" />
|
||||
<ClCompile Include="Player.cpp" />
|
||||
<ClCompile Include="RefManager.cpp" />
|
||||
<ClCompile Include="StaticObject.cpp" />
|
||||
<ClCompile Include="TestGLMain.cpp" />
|
||||
<ClCompile Include="Weapon.cpp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
@ -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
|
|
@ -0,0 +1,48 @@
|
|||
#ifndef GAMELOGICSTATES_H
|
||||
#define GAMELOGICSTATES_H
|
||||
|
||||
|
||||
namespace GameLogic
|
||||
{
|
||||
enum PLAYER_STATE
|
||||
{
|
||||
PLAYER_STATE_JUMPING = 0,
|
||||
PLAYER_STATE_WALKING = 1,
|
||||
PLAYER_STATE_IDLE = 2,
|
||||
};
|
||||
|
||||
enum PLAYER_MOVEMENT
|
||||
{
|
||||
PLAYER_MOVEMENT_FORWARD = 0,
|
||||
PLAYER_MOVEMENT_BACKWARD = 1,
|
||||
PLAYER_MOVEMENT_LEFT = 2,
|
||||
PLAYER_MOVEMENT_RIGHT = 4,
|
||||
PLAYER_MOVEMENT_JUMP = 8,
|
||||
};
|
||||
|
||||
enum WEAPON_FIRE
|
||||
{
|
||||
WEAPON_USE_PRIMARY_PRESS = 0,
|
||||
WEAPON_USE_PRIMARY_RELEASE = 1,
|
||||
WEAPON_USE_SECONDARY_PRESS = 2,
|
||||
WEAPON_USE_SECONDARY_RELEASE = 4,
|
||||
WEAPON_USE_UTILLITY_PRESS = 8,
|
||||
WEAPON_USE_UTILLITY_RELEASE = 16,
|
||||
};
|
||||
|
||||
enum WEAPON_STATE
|
||||
{
|
||||
WEAPON_STATE_FIREING = 0,
|
||||
WEAPON_STATE_IDLE = 1,
|
||||
WEAPON_STATE_RELOADING = 2,
|
||||
};
|
||||
|
||||
enum OBJECT_TYPE
|
||||
{
|
||||
OBJECT_TYPE_PLAYER = 0,
|
||||
OBJECT_TYPE_BOX = 1,
|
||||
OBJECT_TYPE_UNKNOWN = 2,
|
||||
};
|
||||
};
|
||||
|
||||
#endif
|
|
@ -0,0 +1,30 @@
|
|||
#include "GameMode.h"
|
||||
|
||||
using namespace GameLogic;
|
||||
|
||||
|
||||
struct GameMode::PrivateData
|
||||
{
|
||||
PrivateData()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
~PrivateData()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}myData;
|
||||
|
||||
|
||||
GameMode::GameMode()
|
||||
{
|
||||
myData = new PrivateData();
|
||||
}
|
||||
|
||||
|
||||
GameMode::~GameMode(void)
|
||||
{
|
||||
delete myData;
|
||||
}
|
|
@ -15,7 +15,8 @@ namespace GameLogic
|
|||
GameMode(void);
|
||||
~GameMode(void);
|
||||
private:
|
||||
//variabels that control what game rules the level runs on
|
||||
struct PrivateData;
|
||||
PrivateData *myData;
|
||||
};
|
||||
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
#include "IAttatchment.h"
|
||||
#include "AttatchmentSocket.h"
|
||||
|
||||
using namespace GameLogic;
|
||||
|
||||
IAttatchment::IAttatchment(void)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
IAttatchment::~IAttatchment(void)
|
||||
{
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
//////////////////////////////////////////////////
|
||||
//Created by Erik of the GameLogic team
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
#ifndef IATTATCHMENT_H
|
||||
#define IATTATCHMENT_H
|
||||
#include "GameLogicStates.h"
|
||||
#include "Player.h"
|
||||
|
||||
namespace GameLogic
|
||||
{
|
||||
|
||||
|
||||
class IAttatchment
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
IAttatchment(void);
|
||||
~IAttatchment(void);
|
||||
|
||||
virtual void UseAttatchment(const WEAPON_FIRE &fireInput) = 0;
|
||||
|
||||
private:
|
||||
|
||||
protected:
|
||||
Player *owner;
|
||||
|
||||
};
|
||||
}
|
||||
#endif
|
|
@ -0,0 +1,48 @@
|
|||
#include "Level.h"
|
||||
#include "StaticObject.h"
|
||||
#include "DynamicObject.h"
|
||||
#include "GameMode.h"
|
||||
#include "Player.h"
|
||||
|
||||
using namespace GameLogic;
|
||||
|
||||
struct Level::PrivateData
|
||||
{
|
||||
PrivateData()
|
||||
{
|
||||
|
||||
}
|
||||
~PrivateData()
|
||||
{
|
||||
}
|
||||
|
||||
Player *players;
|
||||
int nrOfPlayers;
|
||||
|
||||
StaticObject** staticObjects;
|
||||
int nrOfStaticObjects;
|
||||
|
||||
DynamicObject** dynamicObjects;
|
||||
int nrOfDynamicObjects;
|
||||
|
||||
GameMode* gameMode;
|
||||
|
||||
}myData;
|
||||
|
||||
Level::Level(void)
|
||||
{
|
||||
myData = new PrivateData();
|
||||
}
|
||||
|
||||
|
||||
Level::~Level(void)
|
||||
{
|
||||
delete myData;
|
||||
}
|
||||
|
||||
void Level::InitiateLevel(std::string levelPath)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -1,14 +1,9 @@
|
|||
//////////////////////////////////////////////////
|
||||
//Created by Erik and Linda of the GameLogic team
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
|
||||
#ifndef LEVEL_H
|
||||
#define LEVEL_H
|
||||
|
||||
#include "StaticObject.h"
|
||||
#include "DynamicObject.h"
|
||||
#include "GameMode.h"
|
||||
#include <string>
|
||||
|
||||
namespace GameLogic
|
||||
{
|
||||
|
@ -20,16 +15,11 @@ namespace GameLogic
|
|||
Level(void);
|
||||
~Level(void);
|
||||
|
||||
void InitiateLevel(std::string levelPath);
|
||||
|
||||
private:
|
||||
StaticObject** staticObjects;
|
||||
int nrOfStaticObjects;
|
||||
|
||||
DynamicObject** dynamicObjects;
|
||||
int nrOfDynamicObjects;
|
||||
|
||||
GameMode* gameMode;
|
||||
|
||||
|
||||
struct PrivateData;
|
||||
PrivateData *myData;
|
||||
|
||||
};
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
#include "Object.h"
|
||||
#include "OysterMath.h"
|
||||
#include "CollisionManager.h"
|
||||
|
||||
|
||||
using namespace GameLogic;
|
||||
|
||||
using namespace Oyster::Math;
|
||||
using namespace Oyster::Physics;
|
||||
|
||||
Object::Object()
|
||||
{
|
||||
API::SimpleBodyDescription sbDesc;
|
||||
//sbDesc.centerPosition =
|
||||
|
||||
//poi
|
||||
ICustomBody* temp = rigidBody = API::Instance().CreateRigidBody(sbDesc).Release();
|
||||
|
||||
rigidBody->gameObjectRef = this;
|
||||
|
||||
this->type = OBJECT_TYPE_UNKNOWN;
|
||||
|
||||
}
|
||||
|
||||
Object::Object(void* collisionFunc, OBJECT_TYPE type)
|
||||
{
|
||||
API::SimpleBodyDescription sbDesc;
|
||||
//sbDesc.centerPosition =
|
||||
|
||||
//poi
|
||||
ICustomBody* temp = rigidBody = API::Instance().CreateRigidBody(sbDesc).Release();
|
||||
|
||||
rigidBody->SetSubscription((Oyster::Physics::ICustomBody::EventAction_Collision)(collisionFunc));
|
||||
|
||||
rigidBody->gameObjectRef = this;
|
||||
|
||||
this->type = type;
|
||||
}
|
||||
|
||||
|
||||
Object::~Object(void)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
OBJECT_TYPE Object::GetType()
|
||||
{
|
||||
return this->type;
|
||||
}
|
||||
|
||||
Oyster::Physics::ICustomBody* Object::GetRigidBody()
|
||||
{
|
||||
return this->rigidBody;
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
//////////////////////////////////////////////////
|
||||
//Created by Erik and Linda of the GameLogic team
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
|
||||
#ifndef OBJECT_H
|
||||
#define OBJECT_H
|
||||
|
||||
#include "PhysicsAPI.h"
|
||||
#include "GameLogicStates.h"
|
||||
#include "GameLogicDef.h"
|
||||
|
||||
|
||||
namespace GameLogic
|
||||
{
|
||||
class DANBIAS_GAMELOGIC_DLL Object
|
||||
{
|
||||
public:
|
||||
Object();
|
||||
Object(void* collisionFunc, OBJECT_TYPE type);
|
||||
~Object(void);
|
||||
|
||||
OBJECT_TYPE GetType();
|
||||
|
||||
Oyster::Physics::ICustomBody* GetRigidBody();
|
||||
|
||||
private:
|
||||
OBJECT_TYPE type;
|
||||
protected:
|
||||
Oyster::Physics::ICustomBody *rigidBody;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
|
@ -0,0 +1,139 @@
|
|||
#include "Player.h"
|
||||
#include "OysterMath.h"
|
||||
#include "CollisionManager.h"
|
||||
#include "Weapon.h"
|
||||
|
||||
using namespace GameLogic;
|
||||
using namespace Oyster::Physics;
|
||||
|
||||
struct Player::PrivateData
|
||||
{
|
||||
PrivateData()
|
||||
{
|
||||
weapon = new Weapon();
|
||||
|
||||
life = 100;
|
||||
playerState = PLAYER_STATE_IDLE;
|
||||
|
||||
lookDir = Oyster::Math::Float3(1,0,0);
|
||||
}
|
||||
|
||||
~PrivateData()
|
||||
{
|
||||
if (weapon)
|
||||
{
|
||||
delete weapon;
|
||||
}
|
||||
}
|
||||
|
||||
int life;
|
||||
Weapon *weapon;
|
||||
PLAYER_STATE playerState;
|
||||
Oyster::Math::Float3 lookDir;
|
||||
|
||||
}myData;
|
||||
|
||||
Player::Player()
|
||||
:Object(CollisionManager::PlayerCollision, OBJECT_TYPE_PLAYER)
|
||||
{
|
||||
myData = new PrivateData();
|
||||
}
|
||||
|
||||
Player::~Player(void)
|
||||
{
|
||||
delete myData;
|
||||
}
|
||||
|
||||
/********************************************************
|
||||
* Updates the player(is this function needed?)
|
||||
********************************************************/
|
||||
|
||||
void Player::Update()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/********************************************************
|
||||
* Moves the player based on client input
|
||||
* Uses the physics to move the player by adding a force in the chosen direction
|
||||
* Uses the Jump() function if the player is to jump, this is becuase jumping requires additional logic compared to normal movement
|
||||
********************************************************/
|
||||
void Player::Move(const PLAYER_MOVEMENT &movement)
|
||||
{
|
||||
Oyster::Math::Float3 currentVelocity = rigidBody->GetRigidLinearVelocity();
|
||||
|
||||
switch(movement)
|
||||
{
|
||||
case PLAYER_MOVEMENT_FORWARD:
|
||||
API::Instance().ApplyForceAt(rigidBody,rigidBody->GetCenter(),myData->lookDir * 100);
|
||||
break;
|
||||
|
||||
case PLAYER_MOVEMENT_BACKWARD:
|
||||
API::Instance().ApplyForceAt(rigidBody,rigidBody->GetCenter(),-myData->lookDir * 100);
|
||||
break;
|
||||
|
||||
case PLAYER_MOVEMENT_LEFT:
|
||||
break;
|
||||
|
||||
case PLAYER_MOVEMENT_RIGHT:
|
||||
break;
|
||||
|
||||
case PLAYER_MOVEMENT_JUMP:
|
||||
Jump();
|
||||
break;
|
||||
}
|
||||
}
|
||||
/********************************************************
|
||||
* Uses the players weapon based on user input
|
||||
********************************************************/
|
||||
void Player::UseWeapon(const WEAPON_FIRE &fireInput)
|
||||
{
|
||||
myData->weapon->Use(fireInput);
|
||||
}
|
||||
|
||||
/********************************************************
|
||||
* Jumps if the player is currently not in a state of jumping
|
||||
* Applies a force upwards(current upwards)
|
||||
********************************************************/
|
||||
void Player::Jump()
|
||||
{
|
||||
API::Instance().ApplyForceAt(rigidBody,rigidBody->GetCenter(),-Oyster::Math::Float3(0,1,0) * 100);
|
||||
}
|
||||
|
||||
bool Player::IsWalking()
|
||||
{
|
||||
return (myData->playerState == PLAYER_STATE_WALKING);
|
||||
}
|
||||
bool Player::IsJumping()
|
||||
{
|
||||
return (myData->playerState == PLAYER_STATE_JUMPING);
|
||||
}
|
||||
bool Player::IsIdle()
|
||||
{
|
||||
return (myData->playerState == PLAYER_STATE_IDLE);
|
||||
}
|
||||
|
||||
Oyster::Math::Float3 Player::GetPos()
|
||||
{
|
||||
return rigidBody->GetCenter();
|
||||
}
|
||||
|
||||
Oyster::Math::Float3 Player::GetLookDir()
|
||||
{
|
||||
return myData->lookDir;
|
||||
}
|
||||
|
||||
/********************************************************
|
||||
* Respawns the player on a new chosen position
|
||||
* This resets a set of variables such as life, ammo etcetc
|
||||
********************************************************/
|
||||
void Player::Respawn()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
void Player::DamageLife(int damage)
|
||||
{
|
||||
myData->life -= damage;
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
//////////////////////////////////////////////////
|
||||
//Created by Erik and Linda of the GameLogic team
|
||||
//////////////////////////////////////////////////
|
||||
#ifndef PLAYER_H
|
||||
#define PLAYER_H
|
||||
#include "GameLogicStates.h"
|
||||
#include "OysterMath.h"
|
||||
#include "Object.h"
|
||||
#include "GameLogicDef.h"
|
||||
|
||||
namespace GameLogic
|
||||
{
|
||||
class DANBIAS_GAMELOGIC_DLL Player : public Object
|
||||
{
|
||||
|
||||
public:
|
||||
Player(void);
|
||||
~Player(void);
|
||||
|
||||
void Update();
|
||||
void Move(const PLAYER_MOVEMENT &movement);
|
||||
void UseWeapon(const WEAPON_FIRE &fireInput);
|
||||
void Jump();
|
||||
|
||||
bool IsWalking();
|
||||
bool IsJumping();
|
||||
bool IsIdle();
|
||||
|
||||
Oyster::Math::Float3 GetPos();
|
||||
Oyster::Math::Float3 GetLookDir();
|
||||
|
||||
void Respawn();
|
||||
|
||||
void DamageLife(int damage);
|
||||
|
||||
private:
|
||||
struct PrivateData;
|
||||
PrivateData *myData;
|
||||
};
|
||||
}
|
||||
#endif
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
using namespace GameLogic;
|
||||
|
||||
typedef std::pair<Oyster::Physics::ICustomBody*, Object*> mapData;
|
||||
typedef std::pair<const Oyster::Physics::ICustomBody*, Object*> mapData;
|
||||
|
||||
RefManager* RefManager::instance = 0;
|
||||
|
||||
|
@ -34,12 +34,12 @@ RefManager* RefManager::getInstance( )
|
|||
return instance;
|
||||
}
|
||||
|
||||
Object* RefManager::GetMap(Oyster::Physics::ICustomBody &body)
|
||||
Object* RefManager::GetMap(const Oyster::Physics::ICustomBody &body)
|
||||
{
|
||||
return mapper[&body];
|
||||
}
|
||||
|
||||
void RefManager::AddMapping(Oyster::Physics::ICustomBody &body, Object &obj)
|
||||
void RefManager::AddMapping( const Oyster::Physics::ICustomBody &body, Object &obj)
|
||||
{
|
||||
mapper.insert(mapData(&body,&obj));
|
||||
}
|
|
@ -8,7 +8,6 @@
|
|||
|
||||
#include<map>
|
||||
#include "Object.h"
|
||||
#include "PhysicsAPI.h"
|
||||
|
||||
namespace GameLogic
|
||||
{
|
||||
|
@ -23,13 +22,13 @@ namespace GameLogic
|
|||
void Release();
|
||||
|
||||
|
||||
Object* GetMap(Oyster::Physics::ICustomBody &body); //returns the object of an rigidBody, mainly used for CollisionHandler
|
||||
void AddMapping(Oyster::Physics::ICustomBody &body, Object &obj); //adds a mapping with body as key and the object as a value
|
||||
Object* GetMap(const Oyster::Physics::ICustomBody &body); //returns the object of an rigidBody, mainly used for CollisionHandler
|
||||
void AddMapping(const Oyster::Physics::ICustomBody &body, Object &obj); //adds a mapping with body as key and the object as a value
|
||||
|
||||
|
||||
private:
|
||||
static RefManager* instance;
|
||||
std::map<Oyster::Physics::ICustomBody*,Object*> mapper; //mapper points a rigidBody to an actual game object
|
||||
std::map<const Oyster::Physics::ICustomBody*,Object*> mapper; //mapper points a rigidBody to an actual game object
|
||||
|
||||
|
||||
};
|
|
@ -0,0 +1,23 @@
|
|||
#include "StaticObject.h"
|
||||
|
||||
using namespace GameLogic;
|
||||
|
||||
|
||||
|
||||
StaticObject::StaticObject()
|
||||
:Object()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
StaticObject::StaticObject(void* collisionFunc, OBJECT_TYPE type)
|
||||
:Object(collisionFunc,type)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
|
||||
StaticObject::~StaticObject(void)
|
||||
{
|
||||
|
||||
}
|
|
@ -15,9 +15,12 @@ namespace GameLogic
|
|||
{
|
||||
|
||||
public:
|
||||
StaticObject(void);
|
||||
StaticObject();
|
||||
StaticObject(void* collisionFunc, OBJECT_TYPE type);
|
||||
~StaticObject(void);
|
||||
|
||||
|
||||
private:
|
||||
|
||||
};
|
||||
|
||||
}
|
|
@ -0,0 +1,137 @@
|
|||
#include "Weapon.h"
|
||||
#include "AttatchmentSocket.h"
|
||||
#include "AttatchmentMassDriver.h"
|
||||
|
||||
using namespace GameLogic;
|
||||
|
||||
struct Weapon::PrivateData
|
||||
{
|
||||
PrivateData()
|
||||
{
|
||||
weaponState = WEAPON_STATE_IDLE;
|
||||
selectedAttatchment = 0;
|
||||
currentNrOfAttatchments = 0;
|
||||
selectedSocketID = 0;
|
||||
maxNrOfSockets = 0;
|
||||
}
|
||||
|
||||
~PrivateData()
|
||||
{
|
||||
}
|
||||
|
||||
WEAPON_STATE weaponState;
|
||||
|
||||
AttatchmentSocket **attatchmentSockets;
|
||||
int maxNrOfSockets;
|
||||
int currentNrOfAttatchments;
|
||||
|
||||
IAttatchment *selectedAttatchment;
|
||||
int selectedSocketID;
|
||||
|
||||
}myData;
|
||||
|
||||
Weapon::Weapon()
|
||||
{
|
||||
myData = new PrivateData();
|
||||
}
|
||||
|
||||
Weapon::Weapon(int MaxNrOfSockets)
|
||||
{
|
||||
myData = new PrivateData();
|
||||
myData->maxNrOfSockets = MaxNrOfSockets;
|
||||
myData->attatchmentSockets = new AttatchmentSocket*[MaxNrOfSockets];
|
||||
for (int i = 0; i < MaxNrOfSockets; i++)
|
||||
{
|
||||
myData->attatchmentSockets[i] = new AttatchmentSocket();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Weapon::~Weapon(void)
|
||||
{
|
||||
delete myData;
|
||||
}
|
||||
|
||||
/********************************************************
|
||||
* Uses the weapon based on the input given and the current chosen attatchment
|
||||
********************************************************/
|
||||
void Weapon::Use(const WEAPON_FIRE &fireInput)
|
||||
{
|
||||
myData->selectedAttatchment->UseAttatchment(fireInput);
|
||||
}
|
||||
|
||||
/********************************************************
|
||||
* Specific weapon usage implementation
|
||||
********************************************************/
|
||||
|
||||
/********************************************************
|
||||
* Get functions for states
|
||||
********************************************************/
|
||||
bool Weapon::IsFireing()
|
||||
{
|
||||
return (myData->weaponState == WEAPON_STATE::WEAPON_STATE_FIREING);
|
||||
}
|
||||
|
||||
bool Weapon::IsIdle()
|
||||
{
|
||||
return (myData->weaponState == WEAPON_STATE::WEAPON_STATE_IDLE);
|
||||
}
|
||||
|
||||
bool Weapon::IsReloading()
|
||||
{
|
||||
return (myData->weaponState == WEAPON_STATE::WEAPON_STATE_RELOADING);
|
||||
}
|
||||
|
||||
bool Weapon::IsValidSocket(int socketID)
|
||||
{
|
||||
if(socketID < myData->maxNrOfSockets && socketID >= 0)
|
||||
{
|
||||
if (myData->attatchmentSockets[socketID]->GetAttatchment() != 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
int Weapon::GetCurrentSocketID()
|
||||
{
|
||||
return myData->selectedSocketID;
|
||||
}
|
||||
|
||||
|
||||
void Weapon::AddNewAttatchment(IAttatchment *attatchment, Player *owner)
|
||||
{
|
||||
if(myData->currentNrOfAttatchments < myData->maxNrOfSockets)
|
||||
{
|
||||
myData->attatchmentSockets[myData->currentNrOfAttatchments]->SetAttatchment(attatchment);
|
||||
myData->currentNrOfAttatchments++;
|
||||
}
|
||||
}
|
||||
|
||||
void Weapon::SwitchAttatchment(IAttatchment *attatchment, int socketID, Player *owner)
|
||||
{
|
||||
if (IsValidSocket(socketID))
|
||||
{
|
||||
myData->attatchmentSockets[socketID]->SetAttatchment(attatchment);
|
||||
}
|
||||
}
|
||||
|
||||
void Weapon::RemoveAttatchment(int socketID)
|
||||
{
|
||||
if (IsValidSocket(socketID))
|
||||
{
|
||||
myData->attatchmentSockets[socketID]->RemoveAttatchment();
|
||||
}
|
||||
}
|
||||
|
||||
void Weapon::SelectAttatchment(int socketID)
|
||||
{
|
||||
if (IsValidSocket(socketID))
|
||||
{
|
||||
myData->selectedAttatchment = myData->attatchmentSockets[socketID]->GetAttatchment();
|
||||
myData->selectedSocketID = socketID;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
//////////////////////////////////////////////////
|
||||
//Created by Erik and Linda of the GameLogic team
|
||||
//////////////////////////////////////////////////
|
||||
#ifndef WEAPON_H
|
||||
#define WEAPON_H
|
||||
#include "GameLogicStates.h"
|
||||
#include "IAttatchment.h"
|
||||
#include "Player.h"
|
||||
|
||||
namespace GameLogic
|
||||
{
|
||||
|
||||
class Weapon
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
Weapon(void);
|
||||
Weapon(int nrOfAttatchmentSockets);
|
||||
~Weapon(void);
|
||||
|
||||
void Use(const WEAPON_FIRE &fireInput);
|
||||
|
||||
void AddNewAttatchment(IAttatchment *attatchment, Player *owner);
|
||||
void SwitchAttatchment(IAttatchment *attatchment, int socketID, Player *owner);
|
||||
void RemoveAttatchment(int socketID);
|
||||
|
||||
void SelectAttatchment(int socketID);
|
||||
|
||||
bool IsFireing();
|
||||
bool IsIdle();
|
||||
bool IsReloading();
|
||||
bool IsValidSocket(int socketID);
|
||||
|
||||
int GetCurrentSocketID();
|
||||
|
||||
|
||||
|
||||
private:
|
||||
struct PrivateData;
|
||||
PrivateData *myData;
|
||||
};
|
||||
|
||||
}
|
||||
#endif
|
|
@ -0,0 +1,166 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{DA2AA800-ED64-4649-8B3B-E7F1E3968B78}</ProjectGuid>
|
||||
<RootNamespace>GameProtocols</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v110</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<OutDir>$(SolutionDir)..\External\Lib\$(ProjectName)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||
<TargetName>$(ProjectName)_$(PlatformShortName)D</TargetName>
|
||||
<IncludePath>$(SolutionDir)Network\NetworkAPI\;$(IncludePath)</IncludePath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<OutDir>$(SolutionDir)..\External\Lib\$(ProjectName)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||
<TargetName>$(ProjectName)_$(PlatformShortName)</TargetName>
|
||||
<IncludePath>$(SolutionDir)Network\NetworkAPI\;$(IncludePath)</IncludePath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<OutDir>$(SolutionDir)..\External\Lib\$(ProjectName)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||
<TargetName>$(ProjectName)_$(PlatformShortName)D</TargetName>
|
||||
<IncludePath>$(SolutionDir)Network\NetworkAPI\;$(IncludePath)</IncludePath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<OutDir>$(SolutionDir)..\External\Lib\$(ProjectName)\</OutDir>
|
||||
<IntDir>$(SolutionDir)..\Obj\$(ProjectName)\$(PlatformShortName)\$(Configuration)\</IntDir>
|
||||
<TargetName>$(ProjectName)_$(PlatformShortName)</TargetName>
|
||||
<IncludePath>$(SolutionDir)Network\NetworkAPI\;$(IncludePath)</IncludePath>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
<Lib>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)..\Bin\DLL\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>NetworkAPI_$(PlatformShortName)D.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
<Lib>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)..\Bin\DLL\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>NetworkAPI_$(PlatformShortName)D.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
<Lib>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)..\Bin\DLL\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>NetworkAPI_$(PlatformShortName).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
</Link>
|
||||
<Lib>
|
||||
<AdditionalLibraryDirectories>$(SolutionDir)..\Bin\DLL\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>NetworkAPI_$(PlatformShortName).lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="LobbyProtocols.h" />
|
||||
<ClInclude Include="ObjectProtocols.h" />
|
||||
<ClInclude Include="PlayerProtocols.h" />
|
||||
<ClInclude Include="ProtocolIdentificationID.h" />
|
||||
<ClInclude Include="TEST_PROTOCOLS.h" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
|
@ -0,0 +1,67 @@
|
|||
#ifndef GAMELOGIC_PLAYER_PROTOCOLS_H
|
||||
#define GAMELOGIC_PLAYER_PROTOCOLS_H
|
||||
|
||||
#include <CustomNetProtocol.h>
|
||||
#include "ProtocolIdentificationID.h"
|
||||
|
||||
|
||||
|
||||
namespace GameLogic
|
||||
{
|
||||
struct Protocol_ObjectPosition :public Oyster::Network::CustomProtocolObject
|
||||
{
|
||||
float worldMatrix[16];
|
||||
// look at dir
|
||||
|
||||
Protocol_ObjectPosition()
|
||||
{
|
||||
this->protocol[0].value = protocol_PlayerPosition;
|
||||
this->protocol[0].type = Oyster::Network::NetAttributeType_Int;
|
||||
|
||||
this->protocol[1].type = Oyster::Network::NetAttributeType_Float;
|
||||
this->protocol[2].type = Oyster::Network::NetAttributeType_Float;
|
||||
this->protocol[3].type = Oyster::Network::NetAttributeType_Float;
|
||||
this->protocol[4].type = Oyster::Network::NetAttributeType_Float;
|
||||
this->protocol[5].type = Oyster::Network::NetAttributeType_Float;
|
||||
this->protocol[6].type = Oyster::Network::NetAttributeType_Float;
|
||||
this->protocol[7].type = Oyster::Network::NetAttributeType_Float;
|
||||
this->protocol[8].type = Oyster::Network::NetAttributeType_Float;
|
||||
this->protocol[9].type = Oyster::Network::NetAttributeType_Float;
|
||||
this->protocol[10].type = Oyster::Network::NetAttributeType_Float;
|
||||
this->protocol[11].type = Oyster::Network::NetAttributeType_Float;
|
||||
this->protocol[12].type = Oyster::Network::NetAttributeType_Float;
|
||||
this->protocol[13].type = Oyster::Network::NetAttributeType_Float;
|
||||
this->protocol[14].type = Oyster::Network::NetAttributeType_Float;
|
||||
this->protocol[15].type = Oyster::Network::NetAttributeType_Float;
|
||||
this->protocol[16].type = Oyster::Network::NetAttributeType_Float;
|
||||
|
||||
}
|
||||
Oyster::Network::CustomNetProtocol* GetProtocol() override
|
||||
{
|
||||
|
||||
this->protocol[1].value = worldMatrix[0];
|
||||
this->protocol[2].value = worldMatrix[1];
|
||||
this->protocol[3].value = worldMatrix[2]; //Forgot?
|
||||
this->protocol[4].value = worldMatrix[4]; //Forgot?
|
||||
this->protocol[5].value = worldMatrix[5];
|
||||
this->protocol[6].value = worldMatrix[6];
|
||||
this->protocol[7].value = worldMatrix[7];
|
||||
this->protocol[8].value = worldMatrix[8];
|
||||
this->protocol[9].value = worldMatrix[9];
|
||||
this->protocol[10].value = worldMatrix[10];
|
||||
this->protocol[11].value = worldMatrix[11];
|
||||
this->protocol[12].value = worldMatrix[12];
|
||||
this->protocol[13].value = worldMatrix[13];
|
||||
this->protocol[14].value = worldMatrix[14];
|
||||
this->protocol[15].value = worldMatrix[15];
|
||||
this->protocol[16].value = worldMatrix[16];
|
||||
return &protocol;
|
||||
}
|
||||
|
||||
private:
|
||||
Oyster::Network::CustomNetProtocol protocol;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif // !GAMELOGIC_PLAYER_PROTOCOLS_H
|
|
@ -0,0 +1,84 @@
|
|||
//////////////////////////////////////////////////////////
|
||||
// Created 2013 //
|
||||
// Dennis Andersen, Linda Andersson //
|
||||
//////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef GAMELOGIC_PLAYER_PROTOCOLS_H
|
||||
#define GAMELOGIC_PLAYER_PROTOCOLS_H
|
||||
|
||||
#include <CustomNetProtocol.h>
|
||||
#include "ProtocolIdentificationID.h"
|
||||
|
||||
|
||||
|
||||
namespace GameLogic
|
||||
{
|
||||
struct Protocol_PlayerMovement :public Oyster::Network::CustomProtocolObject
|
||||
{
|
||||
int ProtocolID;
|
||||
bool bForward;
|
||||
bool bBackward;
|
||||
bool bTurnLeft;
|
||||
bool bTurnRight;
|
||||
bool bStrafeRight;
|
||||
bool bStrafeLeft;
|
||||
|
||||
Protocol_PlayerMovement()
|
||||
{
|
||||
this->protocol[0].value = ProtocolID = protocol_Gamplay_PlayerNavigation;
|
||||
|
||||
this->protocol[0].type = Oyster::Network::NetAttributeType_Int;
|
||||
this->protocol[1].type = Oyster::Network::NetAttributeType_Bool;
|
||||
this->protocol[2].type = Oyster::Network::NetAttributeType_Bool;
|
||||
this->protocol[3].type = Oyster::Network::NetAttributeType_Bool;
|
||||
this->protocol[4].type = Oyster::Network::NetAttributeType_Bool;
|
||||
this->protocol[5].type = Oyster::Network::NetAttributeType_Bool;
|
||||
this->protocol[6].type = Oyster::Network::NetAttributeType_Bool;
|
||||
}
|
||||
Oyster::Network::CustomNetProtocol* GetProtocol() override
|
||||
{
|
||||
this->protocol[1].value = bForward;
|
||||
this->protocol[2].value = bBackward;
|
||||
this->protocol[3].value = bTurnLeft;
|
||||
this->protocol[4].value = bTurnRight;
|
||||
this->protocol[5].value = bStrafeRight;
|
||||
this->protocol[6].value = bStrafeRight;
|
||||
|
||||
return &protocol;
|
||||
}
|
||||
|
||||
private:
|
||||
Oyster::Network::CustomNetProtocol protocol;
|
||||
};
|
||||
|
||||
struct Protocol_PlayerPosition :public Oyster::Network::CustomProtocolObject
|
||||
{
|
||||
float position[3];
|
||||
// look at dir
|
||||
|
||||
Protocol_PlayerPosition()
|
||||
{
|
||||
this->protocol[0].value = protocol_Gamplay_PlayerPosition;
|
||||
this->protocol[0].type = Oyster::Network::NetAttributeType_Int;
|
||||
|
||||
this->protocol[1].type = Oyster::Network::NetAttributeType_Float;
|
||||
this->protocol[2].type = Oyster::Network::NetAttributeType_Float;
|
||||
this->protocol[3].type = Oyster::Network::NetAttributeType_Float;
|
||||
|
||||
}
|
||||
Oyster::Network::CustomNetProtocol* GetProtocol() override
|
||||
{
|
||||
|
||||
this->protocol[1].value = position[0];
|
||||
this->protocol[2].value = position[1];
|
||||
this->protocol[3].value = position[2];
|
||||
return &protocol;
|
||||
}
|
||||
|
||||
private:
|
||||
Oyster::Network::CustomNetProtocol protocol;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif // !GAMELOGIC_PLAYER_PROTOCOLS_H
|
|
@ -0,0 +1,21 @@
|
|||
/////////////////////////////////////////////////////////////////////
|
||||
// Created 2013 by:
|
||||
// [Dennis Andersen], [Linda Andersson]
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
#ifndef GAMEPROTOCOL_PROTOCOL_DEFINITION_ID_H
|
||||
#define GAMEPROTOCOL_PROTOCOL_DEFINITION_ID_H
|
||||
|
||||
/* THERE CAN ABSOLUTLEY NOT BE TWO DEFINITIONS WITH THE SAME ID!! */
|
||||
|
||||
#define protocol_Gamplay_PlayerNavigation 0
|
||||
#define protocol_Gamplay_PlayerPosition 1
|
||||
#define protocol_Gamplay_ObjectPosition 2
|
||||
|
||||
#define protocol_Lobby_Msg 100
|
||||
|
||||
#define protocol_General_Disconnect 200
|
||||
#define protocol_General_Ping 201
|
||||
|
||||
#define PROTOCOL_TEST 1000
|
||||
|
||||
#endif // !GAMEPROTOCOL_PROTOCOL_DEFINITION_ID_H
|
|
@ -0,0 +1,35 @@
|
|||
#ifndef GAMESERVER_TEST_H
|
||||
#define GAMESERVER_TEST_H
|
||||
|
||||
#include <CustomNetProtocol.h>
|
||||
#include "ProtocolIdentificationID.h"
|
||||
|
||||
|
||||
|
||||
namespace GameLogic
|
||||
{
|
||||
struct Protocol_TEST :public Oyster::Network::CustomProtocolObject
|
||||
{
|
||||
int ProtocolID;
|
||||
char text;
|
||||
|
||||
Protocol_TEST()
|
||||
{
|
||||
this->protocol[0].value = ProtocolID = PROTOCOL_TEST;
|
||||
|
||||
this->protocol[0].type = Oyster::Network::NetAttributeType_Int;
|
||||
this->protocol[1].type = Oyster::Network::NetAttributeType_Char;
|
||||
}
|
||||
Oyster::Network::CustomNetProtocol* GetProtocol() override
|
||||
{
|
||||
this->protocol[1].value = text;
|
||||
|
||||
return &protocol;
|
||||
}
|
||||
|
||||
private:
|
||||
Oyster::Network::CustomNetProtocol protocol;
|
||||
};
|
||||
}
|
||||
|
||||
#endif // !GAMESERVER_TEST_H
|
|
@ -1,50 +0,0 @@
|
|||
#include "CollisionManager.h"
|
||||
|
||||
|
||||
|
||||
namespace GameLogic
|
||||
{
|
||||
|
||||
namespace CollisionManager
|
||||
{
|
||||
|
||||
void PlayerCollision(Oyster::Physics::ICustomBody &rigidBodyPlayer,Oyster::Physics::ICustomBody &obj)
|
||||
{
|
||||
Player *player = ((Player*)GameLogic::RefManager::getInstance()->GetMap(rigidBodyPlayer));
|
||||
Object *realObj = GameLogic::RefManager::getInstance()->GetMap(obj);
|
||||
|
||||
switch (realObj->GetType())
|
||||
{
|
||||
case Object::OBJECT_TYPE_BOX:
|
||||
PlayerVBox(*player,(*(DynamicObject*) realObj));
|
||||
break;
|
||||
case Object::OBJECT_TYPE_PLAYER:
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
//spela ljud? ta skada? etc etc
|
||||
}
|
||||
|
||||
void PlayerVBox(Player &player, DynamicObject &box)
|
||||
{
|
||||
//spela ljud? ta skada? etc etc
|
||||
}
|
||||
|
||||
void BoxCollision(Oyster::Physics::ICustomBody &rigidBodyBox, Oyster::Physics::ICustomBody &obj)
|
||||
{
|
||||
DynamicObject *box = ((DynamicObject*)GameLogic::RefManager::getInstance()->GetMap(rigidBodyBox));
|
||||
Object *realObj = GameLogic::RefManager::getInstance()->GetMap(obj);
|
||||
|
||||
switch (realObj->GetType())
|
||||
{
|
||||
case Object::OBJECT_TYPE_BOX:
|
||||
|
||||
break;
|
||||
case Object::OBJECT_TYPE_PLAYER:
|
||||
PlayerVBox(*(Player*)realObj,*box);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,27 +0,0 @@
|
|||
#ifndef COLLISIONMANAGER_H
|
||||
#define COLLISIONMANAGER_H
|
||||
|
||||
#include "Object.h"
|
||||
#include "PhysicsAPI.h"
|
||||
#include "RefManager.h"
|
||||
#include "DynamicObject.h"
|
||||
#include "Player.h"
|
||||
|
||||
namespace GameLogic
|
||||
{
|
||||
|
||||
namespace CollisionManager
|
||||
{
|
||||
//these are the main collision functions
|
||||
void PlayerCollision(Oyster::Physics::ICustomBody &rigidBodyPlayer,Oyster::Physics::ICustomBody &obj);
|
||||
void BoxCollision(Oyster::Physics::ICustomBody &rigidBodyBox, Oyster::Physics::ICustomBody &obj);
|
||||
|
||||
//these are the specific collision case functions
|
||||
void PlayerVBox(Player &player, DynamicObject &box);
|
||||
void BoxVBox(DynamicObject &box1, DynamicObject &box2);
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
|
@ -1,20 +0,0 @@
|
|||
#include "DynamicObject.h"
|
||||
|
||||
using namespace GameLogic;
|
||||
using namespace Oyster::Physics;
|
||||
using namespace Utility::DynamicMemory;
|
||||
|
||||
DynamicObject::DynamicObject(void)
|
||||
:Object()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
DynamicObject::~DynamicObject(void)
|
||||
{
|
||||
}
|
||||
|
||||
void DynamicObject::Update()
|
||||
{
|
||||
//update object
|
||||
}
|
|
@ -1,96 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="Game.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Level.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Object.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Player.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="IGame.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="StaticObject.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Weapon.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="DynamicObject.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="RefManager.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="GameMode.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CollisionManager.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Camera.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="Game.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Level.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Object.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Player.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="IGame.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="StaticObject.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Weapon.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="DynamicObject.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="RefManager.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TestGLMain.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GameMode.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CollisionManager.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Camera.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue