From 1726ea4cbce33ba35db43bfb1ad666d3da9df552 Mon Sep 17 00:00:00 2001 From: Christian Stewart Date: Wed, 26 Aug 2015 23:40:31 -0400 Subject: [PATCH] Split into two packages The GameClient stuff adds a lot of bloat and dependencies when most people probably would never use it. Dota2 is now split into two packages - Dota2 and Dota2.GameClient. Both will match versions. Signed-off-by: Christian Stewart --- Dota2.GameClient/Dota2.GameClient.csproj | 128 ++++++++++++++++++ Dota2.GameClient/Dota2.GameClient.nuspec | 30 ++++ .../Engine/Callbacks.cs | 0 .../Engine/Control/IDotaGameCommander.cs | 0 .../Engine/Control/IDotaGameController.cs | 0 .../Engine/Data/AuthTicket.cs | 0 .../Engine/Data/ConnectDetails.cs | 0 .../Engine/DotaGameClient.cs | 0 .../Engine/Game/Data/Entity.cs | 0 .../Engine/Game/Data/EntityClass.cs | 0 .../Engine/Game/Data/FlatTable.cs | 0 .../Engine/Game/Data/Order.cs | 0 .../Engine/Game/Data/Property.cs | 0 .../Engine/Game/Data/PropertyClass.cs | 0 .../Engine/Game/Data/PropertyInfo.cs | 0 .../Engine/Game/Data/SendTable.cs | 0 .../Engine/Game/Data/StringTable.cs | 0 .../Engine/Game/Data/UserCmd.cs | 0 .../Engine/Game/Data/Value.cs | 0 .../Engine/Game/Data/Vector.cs | 0 .../Engine/Game/DotaGameState.cs | 0 .../Engine/Game/Entities/Dota/Ability.cs | 0 .../Engine/Game/Entities/Dota/GameRules.cs | 0 .../Engine/Game/Entities/Dota/Player.cs | 0 .../Game/Entities/Dota/PlayerResource.cs | 0 .../Engine/Game/Entities/DotaEntityPool.cs | 0 .../Engine/Game/Entities/DotaEntitySet.cs | 0 .../Session/Actuators/UserCmdGenerator.cs | 0 .../Engine/Session/DotaGameConnection.cs | 0 .../Engine/Session/DotaGameSession.cs | 0 .../Engine/Session/Handlers/Game/Game.cs | 0 .../Handlers/Handshake/DotaHandshake.cs | 0 .../Engine/Session/Handlers/IHandler.cs | 0 .../Session/Handlers/Signon/DotaSignon.cs | 0 .../Engine/Session/Networking/Lzss.cs | 0 .../Engine/Session/Networking/Stream.cs | 0 .../Engine/Session/Networking/Subchannel.cs | 0 .../Engine/Session/State/Enums/Events.cs | 0 .../Engine/Session/State/Enums/States.cs | 0 .../Engine/Session/Unpackers/EntityUpdater.cs | 0 .../Unpackers/PropertyValueUnpacker.cs | 0 .../Session/Unpackers/SendTableFlattener.cs | 0 .../Session/Unpackers/StringTableUpdater.cs | 0 Dota2.GameClient/Properties/AssemblyInfo.cs | 36 +++++ .../Utils/Bitstream.cs | 2 - {Dota2 => Dota2.GameClient}/Utils/CrcUtils.cs | 0 {Dota2 => Dota2.GameClient}/Utils/MiscMath.cs | 0 Dota2.GameClient/packages.config | 8 ++ Dota2.sln | 10 ++ Dota2/Dota2.csproj | 51 ------- Dota2/Dota2.nuspec | 12 +- Dota2/GC/DotaGCHandler.cs | 92 ++++++------- Dota2/packages.config | 2 - Samples/GameConnect | 2 +- 54 files changed, 264 insertions(+), 109 deletions(-) create mode 100644 Dota2.GameClient/Dota2.GameClient.csproj create mode 100644 Dota2.GameClient/Dota2.GameClient.nuspec rename {Dota2 => Dota2.GameClient}/Engine/Callbacks.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Control/IDotaGameCommander.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Control/IDotaGameController.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Data/AuthTicket.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Data/ConnectDetails.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/DotaGameClient.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Game/Data/Entity.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Game/Data/EntityClass.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Game/Data/FlatTable.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Game/Data/Order.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Game/Data/Property.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Game/Data/PropertyClass.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Game/Data/PropertyInfo.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Game/Data/SendTable.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Game/Data/StringTable.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Game/Data/UserCmd.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Game/Data/Value.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Game/Data/Vector.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Game/DotaGameState.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Game/Entities/Dota/Ability.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Game/Entities/Dota/GameRules.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Game/Entities/Dota/Player.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Game/Entities/Dota/PlayerResource.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Game/Entities/DotaEntityPool.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Game/Entities/DotaEntitySet.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Session/Actuators/UserCmdGenerator.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Session/DotaGameConnection.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Session/DotaGameSession.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Session/Handlers/Game/Game.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Session/Handlers/Handshake/DotaHandshake.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Session/Handlers/IHandler.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Session/Handlers/Signon/DotaSignon.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Session/Networking/Lzss.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Session/Networking/Stream.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Session/Networking/Subchannel.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Session/State/Enums/Events.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Session/State/Enums/States.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Session/Unpackers/EntityUpdater.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Session/Unpackers/PropertyValueUnpacker.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Session/Unpackers/SendTableFlattener.cs (100%) rename {Dota2 => Dota2.GameClient}/Engine/Session/Unpackers/StringTableUpdater.cs (100%) create mode 100644 Dota2.GameClient/Properties/AssemblyInfo.cs rename {Dota2 => Dota2.GameClient}/Utils/Bitstream.cs (99%) rename {Dota2 => Dota2.GameClient}/Utils/CrcUtils.cs (100%) rename {Dota2 => Dota2.GameClient}/Utils/MiscMath.cs (100%) create mode 100644 Dota2.GameClient/packages.config diff --git a/Dota2.GameClient/Dota2.GameClient.csproj b/Dota2.GameClient/Dota2.GameClient.csproj new file mode 100644 index 0000000..757f740 --- /dev/null +++ b/Dota2.GameClient/Dota2.GameClient.csproj @@ -0,0 +1,128 @@ + + + + + Debug + AnyCPU + {0C79CA20-80E5-42D1-B6D0-D3D319D0DD39} + Library + Properties + Dota2 + Dota2.GameClient + v4.0 + 512 + + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + bin\Release\Dota2.GameClient.xml + + + + ..\packages\Crc32C.NET.1.0.5.0\lib\net20\Crc32C.NET.dll + True + + + ..\packages\protobuf-net.2.0.0.668\lib\net40\protobuf-net.dll + True + + + ..\packages\Snappy.NET.1.1.1.8\lib\net20\Snappy.NET.dll + True + + + ..\packages\Stateless.2.5.21.0\lib\portable-net40+sl50+win+wp80\Stateless.dll + True + + + ..\packages\SteamKit2.1.6.4\lib\net40\SteamKit2.dll + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {7825d5e3-9b75-4cb4-a77e-a886ccbcc094} + Dota2 + + + + + + + + \ No newline at end of file diff --git a/Dota2.GameClient/Dota2.GameClient.nuspec b/Dota2.GameClient/Dota2.GameClient.nuspec new file mode 100644 index 0000000..d4f70e9 --- /dev/null +++ b/Dota2.GameClient/Dota2.GameClient.nuspec @@ -0,0 +1,30 @@ + + + + Dota2.GameClient + 0.3.0 + Dota2.GameClient + paralin + https://github.com/paralin/Dota2/blob/master/Dota2/license.txt + https://github.com/paralin/Dota2 + https://raw.github.com/paralin/Dota2/master/Resources/Misc/dota2_logo.jpg + false + Extends the Dota2 package to enable connections to game servers. + + Release notes are available at https://github.com/paralin/Dota2/releases/tag/Dota2_0.3.0 + + steam networking steamkit dota dota2 gameclient + + + + + + + + + + + + + + diff --git a/Dota2/Engine/Callbacks.cs b/Dota2.GameClient/Engine/Callbacks.cs similarity index 100% rename from Dota2/Engine/Callbacks.cs rename to Dota2.GameClient/Engine/Callbacks.cs diff --git a/Dota2/Engine/Control/IDotaGameCommander.cs b/Dota2.GameClient/Engine/Control/IDotaGameCommander.cs similarity index 100% rename from Dota2/Engine/Control/IDotaGameCommander.cs rename to Dota2.GameClient/Engine/Control/IDotaGameCommander.cs diff --git a/Dota2/Engine/Control/IDotaGameController.cs b/Dota2.GameClient/Engine/Control/IDotaGameController.cs similarity index 100% rename from Dota2/Engine/Control/IDotaGameController.cs rename to Dota2.GameClient/Engine/Control/IDotaGameController.cs diff --git a/Dota2/Engine/Data/AuthTicket.cs b/Dota2.GameClient/Engine/Data/AuthTicket.cs similarity index 100% rename from Dota2/Engine/Data/AuthTicket.cs rename to Dota2.GameClient/Engine/Data/AuthTicket.cs diff --git a/Dota2/Engine/Data/ConnectDetails.cs b/Dota2.GameClient/Engine/Data/ConnectDetails.cs similarity index 100% rename from Dota2/Engine/Data/ConnectDetails.cs rename to Dota2.GameClient/Engine/Data/ConnectDetails.cs diff --git a/Dota2/Engine/DotaGameClient.cs b/Dota2.GameClient/Engine/DotaGameClient.cs similarity index 100% rename from Dota2/Engine/DotaGameClient.cs rename to Dota2.GameClient/Engine/DotaGameClient.cs diff --git a/Dota2/Engine/Game/Data/Entity.cs b/Dota2.GameClient/Engine/Game/Data/Entity.cs similarity index 100% rename from Dota2/Engine/Game/Data/Entity.cs rename to Dota2.GameClient/Engine/Game/Data/Entity.cs diff --git a/Dota2/Engine/Game/Data/EntityClass.cs b/Dota2.GameClient/Engine/Game/Data/EntityClass.cs similarity index 100% rename from Dota2/Engine/Game/Data/EntityClass.cs rename to Dota2.GameClient/Engine/Game/Data/EntityClass.cs diff --git a/Dota2/Engine/Game/Data/FlatTable.cs b/Dota2.GameClient/Engine/Game/Data/FlatTable.cs similarity index 100% rename from Dota2/Engine/Game/Data/FlatTable.cs rename to Dota2.GameClient/Engine/Game/Data/FlatTable.cs diff --git a/Dota2/Engine/Game/Data/Order.cs b/Dota2.GameClient/Engine/Game/Data/Order.cs similarity index 100% rename from Dota2/Engine/Game/Data/Order.cs rename to Dota2.GameClient/Engine/Game/Data/Order.cs diff --git a/Dota2/Engine/Game/Data/Property.cs b/Dota2.GameClient/Engine/Game/Data/Property.cs similarity index 100% rename from Dota2/Engine/Game/Data/Property.cs rename to Dota2.GameClient/Engine/Game/Data/Property.cs diff --git a/Dota2/Engine/Game/Data/PropertyClass.cs b/Dota2.GameClient/Engine/Game/Data/PropertyClass.cs similarity index 100% rename from Dota2/Engine/Game/Data/PropertyClass.cs rename to Dota2.GameClient/Engine/Game/Data/PropertyClass.cs diff --git a/Dota2/Engine/Game/Data/PropertyInfo.cs b/Dota2.GameClient/Engine/Game/Data/PropertyInfo.cs similarity index 100% rename from Dota2/Engine/Game/Data/PropertyInfo.cs rename to Dota2.GameClient/Engine/Game/Data/PropertyInfo.cs diff --git a/Dota2/Engine/Game/Data/SendTable.cs b/Dota2.GameClient/Engine/Game/Data/SendTable.cs similarity index 100% rename from Dota2/Engine/Game/Data/SendTable.cs rename to Dota2.GameClient/Engine/Game/Data/SendTable.cs diff --git a/Dota2/Engine/Game/Data/StringTable.cs b/Dota2.GameClient/Engine/Game/Data/StringTable.cs similarity index 100% rename from Dota2/Engine/Game/Data/StringTable.cs rename to Dota2.GameClient/Engine/Game/Data/StringTable.cs diff --git a/Dota2/Engine/Game/Data/UserCmd.cs b/Dota2.GameClient/Engine/Game/Data/UserCmd.cs similarity index 100% rename from Dota2/Engine/Game/Data/UserCmd.cs rename to Dota2.GameClient/Engine/Game/Data/UserCmd.cs diff --git a/Dota2/Engine/Game/Data/Value.cs b/Dota2.GameClient/Engine/Game/Data/Value.cs similarity index 100% rename from Dota2/Engine/Game/Data/Value.cs rename to Dota2.GameClient/Engine/Game/Data/Value.cs diff --git a/Dota2/Engine/Game/Data/Vector.cs b/Dota2.GameClient/Engine/Game/Data/Vector.cs similarity index 100% rename from Dota2/Engine/Game/Data/Vector.cs rename to Dota2.GameClient/Engine/Game/Data/Vector.cs diff --git a/Dota2/Engine/Game/DotaGameState.cs b/Dota2.GameClient/Engine/Game/DotaGameState.cs similarity index 100% rename from Dota2/Engine/Game/DotaGameState.cs rename to Dota2.GameClient/Engine/Game/DotaGameState.cs diff --git a/Dota2/Engine/Game/Entities/Dota/Ability.cs b/Dota2.GameClient/Engine/Game/Entities/Dota/Ability.cs similarity index 100% rename from Dota2/Engine/Game/Entities/Dota/Ability.cs rename to Dota2.GameClient/Engine/Game/Entities/Dota/Ability.cs diff --git a/Dota2/Engine/Game/Entities/Dota/GameRules.cs b/Dota2.GameClient/Engine/Game/Entities/Dota/GameRules.cs similarity index 100% rename from Dota2/Engine/Game/Entities/Dota/GameRules.cs rename to Dota2.GameClient/Engine/Game/Entities/Dota/GameRules.cs diff --git a/Dota2/Engine/Game/Entities/Dota/Player.cs b/Dota2.GameClient/Engine/Game/Entities/Dota/Player.cs similarity index 100% rename from Dota2/Engine/Game/Entities/Dota/Player.cs rename to Dota2.GameClient/Engine/Game/Entities/Dota/Player.cs diff --git a/Dota2/Engine/Game/Entities/Dota/PlayerResource.cs b/Dota2.GameClient/Engine/Game/Entities/Dota/PlayerResource.cs similarity index 100% rename from Dota2/Engine/Game/Entities/Dota/PlayerResource.cs rename to Dota2.GameClient/Engine/Game/Entities/Dota/PlayerResource.cs diff --git a/Dota2/Engine/Game/Entities/DotaEntityPool.cs b/Dota2.GameClient/Engine/Game/Entities/DotaEntityPool.cs similarity index 100% rename from Dota2/Engine/Game/Entities/DotaEntityPool.cs rename to Dota2.GameClient/Engine/Game/Entities/DotaEntityPool.cs diff --git a/Dota2/Engine/Game/Entities/DotaEntitySet.cs b/Dota2.GameClient/Engine/Game/Entities/DotaEntitySet.cs similarity index 100% rename from Dota2/Engine/Game/Entities/DotaEntitySet.cs rename to Dota2.GameClient/Engine/Game/Entities/DotaEntitySet.cs diff --git a/Dota2/Engine/Session/Actuators/UserCmdGenerator.cs b/Dota2.GameClient/Engine/Session/Actuators/UserCmdGenerator.cs similarity index 100% rename from Dota2/Engine/Session/Actuators/UserCmdGenerator.cs rename to Dota2.GameClient/Engine/Session/Actuators/UserCmdGenerator.cs diff --git a/Dota2/Engine/Session/DotaGameConnection.cs b/Dota2.GameClient/Engine/Session/DotaGameConnection.cs similarity index 100% rename from Dota2/Engine/Session/DotaGameConnection.cs rename to Dota2.GameClient/Engine/Session/DotaGameConnection.cs diff --git a/Dota2/Engine/Session/DotaGameSession.cs b/Dota2.GameClient/Engine/Session/DotaGameSession.cs similarity index 100% rename from Dota2/Engine/Session/DotaGameSession.cs rename to Dota2.GameClient/Engine/Session/DotaGameSession.cs diff --git a/Dota2/Engine/Session/Handlers/Game/Game.cs b/Dota2.GameClient/Engine/Session/Handlers/Game/Game.cs similarity index 100% rename from Dota2/Engine/Session/Handlers/Game/Game.cs rename to Dota2.GameClient/Engine/Session/Handlers/Game/Game.cs diff --git a/Dota2/Engine/Session/Handlers/Handshake/DotaHandshake.cs b/Dota2.GameClient/Engine/Session/Handlers/Handshake/DotaHandshake.cs similarity index 100% rename from Dota2/Engine/Session/Handlers/Handshake/DotaHandshake.cs rename to Dota2.GameClient/Engine/Session/Handlers/Handshake/DotaHandshake.cs diff --git a/Dota2/Engine/Session/Handlers/IHandler.cs b/Dota2.GameClient/Engine/Session/Handlers/IHandler.cs similarity index 100% rename from Dota2/Engine/Session/Handlers/IHandler.cs rename to Dota2.GameClient/Engine/Session/Handlers/IHandler.cs diff --git a/Dota2/Engine/Session/Handlers/Signon/DotaSignon.cs b/Dota2.GameClient/Engine/Session/Handlers/Signon/DotaSignon.cs similarity index 100% rename from Dota2/Engine/Session/Handlers/Signon/DotaSignon.cs rename to Dota2.GameClient/Engine/Session/Handlers/Signon/DotaSignon.cs diff --git a/Dota2/Engine/Session/Networking/Lzss.cs b/Dota2.GameClient/Engine/Session/Networking/Lzss.cs similarity index 100% rename from Dota2/Engine/Session/Networking/Lzss.cs rename to Dota2.GameClient/Engine/Session/Networking/Lzss.cs diff --git a/Dota2/Engine/Session/Networking/Stream.cs b/Dota2.GameClient/Engine/Session/Networking/Stream.cs similarity index 100% rename from Dota2/Engine/Session/Networking/Stream.cs rename to Dota2.GameClient/Engine/Session/Networking/Stream.cs diff --git a/Dota2/Engine/Session/Networking/Subchannel.cs b/Dota2.GameClient/Engine/Session/Networking/Subchannel.cs similarity index 100% rename from Dota2/Engine/Session/Networking/Subchannel.cs rename to Dota2.GameClient/Engine/Session/Networking/Subchannel.cs diff --git a/Dota2/Engine/Session/State/Enums/Events.cs b/Dota2.GameClient/Engine/Session/State/Enums/Events.cs similarity index 100% rename from Dota2/Engine/Session/State/Enums/Events.cs rename to Dota2.GameClient/Engine/Session/State/Enums/Events.cs diff --git a/Dota2/Engine/Session/State/Enums/States.cs b/Dota2.GameClient/Engine/Session/State/Enums/States.cs similarity index 100% rename from Dota2/Engine/Session/State/Enums/States.cs rename to Dota2.GameClient/Engine/Session/State/Enums/States.cs diff --git a/Dota2/Engine/Session/Unpackers/EntityUpdater.cs b/Dota2.GameClient/Engine/Session/Unpackers/EntityUpdater.cs similarity index 100% rename from Dota2/Engine/Session/Unpackers/EntityUpdater.cs rename to Dota2.GameClient/Engine/Session/Unpackers/EntityUpdater.cs diff --git a/Dota2/Engine/Session/Unpackers/PropertyValueUnpacker.cs b/Dota2.GameClient/Engine/Session/Unpackers/PropertyValueUnpacker.cs similarity index 100% rename from Dota2/Engine/Session/Unpackers/PropertyValueUnpacker.cs rename to Dota2.GameClient/Engine/Session/Unpackers/PropertyValueUnpacker.cs diff --git a/Dota2/Engine/Session/Unpackers/SendTableFlattener.cs b/Dota2.GameClient/Engine/Session/Unpackers/SendTableFlattener.cs similarity index 100% rename from Dota2/Engine/Session/Unpackers/SendTableFlattener.cs rename to Dota2.GameClient/Engine/Session/Unpackers/SendTableFlattener.cs diff --git a/Dota2/Engine/Session/Unpackers/StringTableUpdater.cs b/Dota2.GameClient/Engine/Session/Unpackers/StringTableUpdater.cs similarity index 100% rename from Dota2/Engine/Session/Unpackers/StringTableUpdater.cs rename to Dota2.GameClient/Engine/Session/Unpackers/StringTableUpdater.cs diff --git a/Dota2.GameClient/Properties/AssemblyInfo.cs b/Dota2.GameClient/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..60e20d7 --- /dev/null +++ b/Dota2.GameClient/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Dota2.GameClient")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Dota2.GameClient")] +[assembly: AssemblyCopyright("Copyright © 2015")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("0c79ca20-80e5-42d1-b6d0-d3d319d0dd39")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Dota2/Utils/Bitstream.cs b/Dota2.GameClient/Utils/Bitstream.cs similarity index 99% rename from Dota2/Utils/Bitstream.cs rename to Dota2.GameClient/Utils/Bitstream.cs index a2a8f79..8163126 100644 --- a/Dota2/Utils/Bitstream.cs +++ b/Dota2.GameClient/Utils/Bitstream.cs @@ -1,7 +1,5 @@ using System; -using System.Collections.Generic; using System.IO; -using System.Linq; using System.Text; using Dota2.Engine.Game.Data; diff --git a/Dota2/Utils/CrcUtils.cs b/Dota2.GameClient/Utils/CrcUtils.cs similarity index 100% rename from Dota2/Utils/CrcUtils.cs rename to Dota2.GameClient/Utils/CrcUtils.cs diff --git a/Dota2/Utils/MiscMath.cs b/Dota2.GameClient/Utils/MiscMath.cs similarity index 100% rename from Dota2/Utils/MiscMath.cs rename to Dota2.GameClient/Utils/MiscMath.cs diff --git a/Dota2.GameClient/packages.config b/Dota2.GameClient/packages.config new file mode 100644 index 0000000..0b7e552 --- /dev/null +++ b/Dota2.GameClient/packages.config @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/Dota2.sln b/Dota2.sln index 9a8a1bf..26c610d 100644 --- a/Dota2.sln +++ b/Dota2.sln @@ -18,6 +18,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dota2GameConnect", "Samples EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LobbyDump", "Samples\LobbyDump\Dota2LobbyDump\LobbyDump.csproj", "{0E3E15EE-37FE-4DB9-8534-9F3BDAF4BFE9}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Dota2.GameClient", "Dota2.GameClient\Dota2.GameClient.csproj", "{0C79CA20-80E5-42D1-B6D0-D3D319D0DD39}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -50,6 +52,14 @@ Global {0E3E15EE-37FE-4DB9-8534-9F3BDAF4BFE9}.Release|Any CPU.Build.0 = Release|Any CPU {0E3E15EE-37FE-4DB9-8534-9F3BDAF4BFE9}.Release|x86.ActiveCfg = Release|Any CPU {0E3E15EE-37FE-4DB9-8534-9F3BDAF4BFE9}.Release|x86.Build.0 = Release|Any CPU + {0C79CA20-80E5-42D1-B6D0-D3D319D0DD39}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0C79CA20-80E5-42D1-B6D0-D3D319D0DD39}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0C79CA20-80E5-42D1-B6D0-D3D319D0DD39}.Debug|x86.ActiveCfg = Debug|Any CPU + {0C79CA20-80E5-42D1-B6D0-D3D319D0DD39}.Debug|x86.Build.0 = Debug|Any CPU + {0C79CA20-80E5-42D1-B6D0-D3D319D0DD39}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0C79CA20-80E5-42D1-B6D0-D3D319D0DD39}.Release|Any CPU.Build.0 = Release|Any CPU + {0C79CA20-80E5-42D1-B6D0-D3D319D0DD39}.Release|x86.ActiveCfg = Release|Any CPU + {0C79CA20-80E5-42D1-B6D0-D3D319D0DD39}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Dota2/Dota2.csproj b/Dota2/Dota2.csproj index 6845092..e7c53d8 100644 --- a/Dota2/Dota2.csproj +++ b/Dota2/Dota2.csproj @@ -49,13 +49,6 @@ ..\packages\protobuf-net.2.0.0.668\lib\net40\protobuf-net.dll True - - ..\packages\Snappy.NET.1.1.1.8\lib\net20\Snappy.NET.dll - True - - - ..\packages\Stateless.2.5.18.0\lib\portable-net40+sl50+win+wp80\Stateless.dll - ..\packages\SteamKit2.1.6.3\lib\net40\SteamKit2.dll @@ -89,54 +82,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Dota2/Dota2.nuspec b/Dota2/Dota2.nuspec index 9ee30fd..5e02db8 100644 --- a/Dota2/Dota2.nuspec +++ b/Dota2/Dota2.nuspec @@ -2,28 +2,26 @@ Dota2 - 0.2.4 + 0.3.0 Dota2 paralin https://github.com/paralin/Dota2/blob/master/Dota2/license.txt https://github.com/paralin/Dota2 https://raw.github.com/paralin/Dota2/master/Resources/Misc/dota2_logo.jpg false - A plugin for SteamKit that interacts with the DOTA 2 game coordinator and game servers. + A plugin for SteamKit that interacts with the DOTA 2 game coordinator. - Release notes are available at https://github.com/paralin/Dota2/releases/tag/Dota2_0.2.3 + Release notes are available at https://github.com/paralin/Dota2/releases/tag/Dota2_0.3.0 steam networking steamkit dota dota2 - - - + - + diff --git a/Dota2/GC/DotaGCHandler.cs b/Dota2/GC/DotaGCHandler.cs index 36fd462..22c976c 100644 --- a/Dota2/GC/DotaGCHandler.cs +++ b/Dota2/GC/DotaGCHandler.cs @@ -24,7 +24,7 @@ public sealed partial class DotaGCHandler : ClientMsgHandler { private Timer gcConnectTimer; private bool running = false; - internal SteamClient SteamClient; + public SteamClient SteamClient; private bool ready = false; private Games gameId = Games.DOTA2; @@ -503,23 +503,23 @@ public void PracticeLobbyList(string pass_key = null, bool tournament = false) list.Body.pass_key = pass_key; list.Body.tournament_games = tournament; Send(list); - } - + } + /// /// Shuffle the current lobby /// public void PracticeLobbyShuffle() { - var shuffle = new ClientGCMsgProtobuf((uint)EDOTAGCMsg.k_EMsgGCBalancedShuffleLobby); + var shuffle = new ClientGCMsgProtobuf((uint)EDOTAGCMsg.k_EMsgGCBalancedShuffleLobby); Send(shuffle); - } - + } + /// /// Flip the teams in the current lobby /// public void PracticeLobbyFlip() { - var flip = new ClientGCMsgProtobuf((uint)EDOTAGCMsg.k_EMsgGCFlipLobbyTeams); + var flip = new ClientGCMsgProtobuf((uint)EDOTAGCMsg.k_EMsgGCFlipLobbyTeams); Send(flip); } @@ -527,53 +527,53 @@ public void PracticeLobbyFlip() /// Request a player's Dota 2 game profile /// public void RequestPlayerProfile(SteamID id) - { - var request = new ClientGCMsgProtobuf((uint)EDOTAGCMsg.k_EMsgGCProfileRequest); - request.Body.account_id = id.AccountID; - Send(request); + { + var request = new ClientGCMsgProtobuf((uint)EDOTAGCMsg.k_EMsgGCProfileRequest); + request.Body.account_id = id.AccountID; + Send(request); } /// - /// Set someones role in a guild. + /// Set someones role in a guild. /// Roles are: 0 (Kick), 1 (Guild Leader), 2 (Guild Officer), 3 (Regular Member) /// public void SetAccountGuildRole(uint guild_id, uint account_id, uint target_role) - { + { var request = new ClientGCMsgProtobuf((uint) EDOTAGCMsg.k_EMsgGCGuildSetAccountRoleRequest); request.Body.guild_id = guild_id; request.Body.target_account_id = account_id; - request.Body.target_role = target_role; + request.Body.target_role = target_role; Send(request); - } - + } + /// /// Invites account_id to a guild. - /// + /// public void InviteToGuild(uint guild_id, uint account_id) - { + { var request = new ClientGCMsgProtobuf((uint) EDOTAGCMsg.k_EMsgGCGuildInviteAccountRequest); request.Body.guild_id = guild_id; - request.Body.target_account_id = account_id; + request.Body.target_account_id = account_id; Send(request); - } - + } + /// /// Cancels a pending guild invite - /// + /// public void CancelGuildInvite(uint guild_id, uint account_id) - { + { var request = new ClientGCMsgProtobuf((uint) EDOTAGCMsg.k_EMsgGCGuildCancelInviteRequest); request.Body.guild_id = guild_id; - request.Body.target_account_id = account_id; + request.Body.target_account_id = account_id; Send(request); - } - + } + /// /// Requests information about all current guilds the client is in /// public void RequestGuildData() - { - var request = new ClientGCMsgProtobuf((uint) EDOTAGCMsg.k_EMsgGCRequestGuildData); + { + var request = new ClientGCMsgProtobuf((uint) EDOTAGCMsg.k_EMsgGCRequestGuildData); Send(request); } @@ -626,9 +626,9 @@ public override void HandleMsg(IPacketMsg packetMsg) {(uint) EDOTAGCMsg.k_EMsgGCPlayerInfo, HandlePlayerInfo}, {(uint) EDOTAGCMsg.k_EMsgGCProfileResponse, HandleProfileResponse }, {(uint) EDOTAGCMsg.k_EMsgGCGuildSetAccountRoleResponse , HandleGuildAccountRoleResponse }, - {(uint) EDOTAGCMsg.k_EMsgGCGuildInviteAccountResponse, HandleGuildInviteAccountResponse }, - {(uint) EDOTAGCMsg.k_EMsgGCGuildCancelInviteResponse, HandleGuildCancelInviteResponse }, - {(uint) EDOTAGCMsg.k_EMsgGCGuildData, HandleGuildData }, + {(uint) EDOTAGCMsg.k_EMsgGCGuildInviteAccountResponse, HandleGuildInviteAccountResponse }, + {(uint) EDOTAGCMsg.k_EMsgGCGuildCancelInviteResponse, HandleGuildCancelInviteResponse }, + {(uint) EDOTAGCMsg.k_EMsgGCGuildData, HandleGuildData }, }; Action func; if (!messageMap.TryGetValue(gcmsg.MsgType, out func)) @@ -774,7 +774,7 @@ private void HandlePartyInviteSnapshot(byte[] data, bool update = false) else Client.PostCallback(new PartyInviteSnapshot(party)); } - } + } private void HandleFantasyLeagueInfo(IPacketGCMsg obj) { @@ -910,9 +910,9 @@ private void HandleWelcome(IPacketGCMsg msg) { gcConnectTimer.Stop(); - ready = true; - - // Clear these. They will be updated in the subscriptions if they exist still. + ready = true; + + // Clear these. They will be updated in the subscriptions if they exist still. Lobby = null; Party = null; PartyInvite = null; @@ -924,26 +924,26 @@ private void HandleWelcome(IPacketGCMsg msg) foreach (CMsgSOCacheSubscribed cache in wel.Body.outofdate_subscribed_caches) foreach (CMsgSOCacheSubscribed.SubscribedType obj in cache.objects) HandleSubscribedType(obj); - } - + } + private void HandleProfileResponse(IPacketGCMsg obj) { var resp = new ClientGCMsgProtobuf(obj); Client.PostCallback(new ProfileResponse(resp.Body)); - } - + } + private void HandleGuildAccountRoleResponse(IPacketGCMsg obj) { var resp = new ClientGCMsgProtobuf(obj); Client.PostCallback(new GuildSetRoleResponse(resp.Body)); - } - + } + private void HandleGuildInviteAccountResponse(IPacketGCMsg obj) { var resp = new ClientGCMsgProtobuf(obj); Client.PostCallback(new GuildInviteResponse(resp.Body)); - } - + } + private void HandleGuildCancelInviteResponse(IPacketGCMsg obj) { var resp = new ClientGCMsgProtobuf(obj); @@ -954,8 +954,8 @@ private void HandleGuildData(IPacketGCMsg obj) { var resp = new ClientGCMsgProtobuf(obj); Client.PostCallback(new GuildDataResponse(resp.Body)); - } + } + + } - } - } \ No newline at end of file diff --git a/Dota2/packages.config b/Dota2/packages.config index 6a9d8ea..c419437 100644 --- a/Dota2/packages.config +++ b/Dota2/packages.config @@ -3,7 +3,5 @@ - - \ No newline at end of file diff --git a/Samples/GameConnect b/Samples/GameConnect index 8e648cc..54cfc33 160000 --- a/Samples/GameConnect +++ b/Samples/GameConnect @@ -1 +1 @@ -Subproject commit 8e648ccda8d95976586217eb52d48c3928ee74fa +Subproject commit 54cfc339dfa0cd0503c5c5f0d934c6e70fb8969b