first run

This commit is contained in:
_or_75
2025-10-20 14:00:35 +03:00
parent 180acb178b
commit ec8265b2ce
600 changed files with 938224 additions and 1 deletions
+330 -1
View File
@@ -70,6 +70,10 @@
<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)'=='Release|x64'">
<IncludePath>$(MSBuildProjectDirectory)\Andromeda-CS2-Base\;$(MSBuildProjectDirectory)\Andromeda-CS2-Base\Common\Include\;$(IncludePath)</IncludePath>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
@@ -117,8 +121,13 @@
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>NDEBUG;ANDROMEDACS2BASE_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>NDEBUG;ANDROMEDACS2BASE_EXPORTS;_WINDOWS;_USRDLL;RELEASE_BUILD;STB_IMAGE_STATIC;STB_IMAGE_IMPLEMENTATION;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>true</ConformanceMode>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<LanguageStandard>stdcpplatest</LanguageStandard>
<LanguageStandard_C>stdclatest</LanguageStandard_C>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
@@ -127,6 +136,326 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="Andromeda-CS2-Base\AndromedaClient\CAndromedaClient.cpp" />
<ClCompile Include="Andromeda-CS2-Base\AndromedaClient\CAndromedaGUI.cpp" />
<ClCompile Include="Andromeda-CS2-Base\AndromedaClient\Features\CVisual\CVisual.cpp" />
<ClCompile Include="Andromeda-CS2-Base\AndromedaClient\Fonts\CFont.cpp" />
<ClCompile Include="Andromeda-CS2-Base\AndromedaClient\Fonts\CFontManager.cpp" />
<ClCompile Include="Andromeda-CS2-Base\AndromedaClient\GUI\CAndromedaMenu.cpp" />
<ClCompile Include="Andromeda-CS2-Base\AndromedaClient\Render\CRender.cpp" />
<ClCompile Include="Andromeda-CS2-Base\AndromedaClient\Render\CRenderStackSystem.cpp" />
<ClCompile Include="Andromeda-CS2-Base\AndromedaClient\Settings\CSettingsJson.cpp" />
<ClCompile Include="Andromeda-CS2-Base\Common\CrashLog.cpp" />
<ClCompile Include="Andromeda-CS2-Base\Common\DevLog.cpp" />
<ClCompile Include="Andromeda-CS2-Base\Common\Helpers\ModuleLoaderHelper.cpp" />
<ClCompile Include="Andromeda-CS2-Base\Common\Helpers\StringHelper.cpp" />
<ClCompile Include="Andromeda-CS2-Base\Common\Include\ImGui\imgui.cpp" />
<ClCompile Include="Andromeda-CS2-Base\Common\Include\ImGui\imgui_draw.cpp" />
<ClCompile Include="Andromeda-CS2-Base\Common\Include\ImGui\imgui_impl_dx11.cpp" />
<ClCompile Include="Andromeda-CS2-Base\Common\Include\ImGui\imgui_impl_win32.cpp" />
<ClCompile Include="Andromeda-CS2-Base\Common\Include\ImGui\imgui_tables.cpp" />
<ClCompile Include="Andromeda-CS2-Base\Common\Include\ImGui\imgui_widgets.cpp" />
<ClCompile Include="Andromeda-CS2-Base\Common\Include\ImGui\Misc\freetype\imgui_freetype.cpp" />
<ClCompile Include="Andromeda-CS2-Base\Common\MemoryEngine.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\CBasePattern.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\CHook_Loader.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\CSDK_Loader.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Hook\Hook_AntiTamper.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Hook\Hook_CreateMove.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Hook\Hook_CreateSwapChain.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Hook\Hook_FireEventClientSide.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Hook\Hook_FrameStageNotify.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Hook\Hook_GetMatricesForView.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Hook\Hook_IsRelativeMouseMode.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Hook\Hook_MouseInputEnabled.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Hook\Hook_OnAddEntity.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Hook\Hook_OnClientOutput.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Hook\Hook_OnRemoveEntity.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Hook\Hook_ParseMessage.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Hook\Hook_Present.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Hook\Hook_ResizeBuffers.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Hook\Hook_SOCacheSubscribed.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Hook\Hook_UpdateInPVS.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\base_gcmessages.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\clientmessages.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\connectionless_netmessages.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\cstrike15_gcmessages.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\cstrike15_usermessages.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\cs_gameevents.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\cs_prediction_events.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\cs_usercmd.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\c_peer2peer_netmessages.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\demo.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\econ_gcmessages.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\engine_gcmessages.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\enums_clientserver.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\fatdemo.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\gameevents.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\gcsdk_gcmessages.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\gcsystemmsgs.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\netmessages.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\networkbasetypes.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\networksystem_protomessages.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\network_connection.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\prediction_events.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\steamdatagram_messages_auth.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\steamdatagram_messages_sdr.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\steammessages.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\steammessages_cloud.steamworkssdk.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\steammessages_gamenetworkingui.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\steammessages_helprequest.steamworkssdk.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\steammessages_oauth.steamworkssdk.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\steammessages_player.steamworkssdk.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\steammessages_publishedfile.steamworkssdk.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\steammessages_unified_base.steamworkssdk.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\steamnetworkingsockets_messages.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\steamnetworkingsockets_messages_certs.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\steamnetworkingsockets_messages_udp.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\te.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\uifontfile_format.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\usercmd.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\usermessages.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\Protobuf\valveextensions.pb.cc" />
<ClCompile Include="Andromeda-CS2-Base\CS2\SDK\CFunctionList.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\SDK\CSchemaOffset.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\SDK\Cstrike15\CCSInventoryManager.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\SDK\Cstrike15\CCSPlayerInventory.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\SDK\Econ\CEconItem.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\SDK\Econ\CEconItemDefinition.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\SDK\Econ\CEconItemSchema.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\SDK\Econ\CEconItemSystem.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\SDK\GCSDK\CGCClientSharedObjectCache.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\SDK\GCSDK\CGCClientSharedObjectTypeCache.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\SDK\Interface\IGameEvent.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\SDK\Interface\Interface.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\SDK\Math\Math.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\SDK\Math\Matrix.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\SDK\Math\QAngle.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\SDK\Math\Vector3.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\SDK\Math\Vector4.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\SDK\SDK.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\SDK\SDL3\SDL3_Functions.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\SDK\TIER0\TIER0_Functions.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\SDK\Types\CEntityData.cpp" />
<ClCompile Include="Andromeda-CS2-Base\CS2\SDK\Types\CHandle.cpp" />
<ClCompile Include="Andromeda-CS2-Base\DllLauncher.cpp" />
<ClCompile Include="Andromeda-CS2-Base\DllMain.cpp" />
<ClCompile Include="Andromeda-CS2-Base\GameClient\CEntityCache\CEntityCache.cpp" />
<ClCompile Include="Andromeda-CS2-Base\GameClient\CL_Bypass.cpp" />
<ClCompile Include="Andromeda-CS2-Base\GameClient\CL_ItemDefinition.cpp" />
<ClCompile Include="Andromeda-CS2-Base\GameClient\CL_Players.cpp" />
<ClCompile Include="Andromeda-CS2-Base\GameClient\CL_Weapons.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="Andromeda-CS2-Base\AndromedaClient\CAndromedaClient.hpp" />
<ClInclude Include="Andromeda-CS2-Base\AndromedaClient\CAndromedaGUI.hpp" />
<ClInclude Include="Andromeda-CS2-Base\AndromedaClient\Features\CVisual\CVisual.hpp" />
<ClInclude Include="Andromeda-CS2-Base\AndromedaClient\Fonts\CFont.hpp" />
<ClInclude Include="Andromeda-CS2-Base\AndromedaClient\Fonts\CFontManager.hpp" />
<ClInclude Include="Andromeda-CS2-Base\AndromedaClient\Fonts\FontAwesomeIcon.hpp" />
<ClInclude Include="Andromeda-CS2-Base\AndromedaClient\GUI\CAndromedaMenu.hpp" />
<ClInclude Include="Andromeda-CS2-Base\AndromedaClient\Render\CRender.hpp" />
<ClInclude Include="Andromeda-CS2-Base\AndromedaClient\Render\CRenderStackSystem.hpp" />
<ClInclude Include="Andromeda-CS2-Base\AndromedaClient\Settings\CSettingsJson.hpp" />
<ClInclude Include="Andromeda-CS2-Base\AndromedaClient\Settings\Settings.hpp" />
<ClInclude Include="Andromeda-CS2-Base\Common\Base64.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Common.hpp" />
<ClInclude Include="Andromeda-CS2-Base\Common\CrashLog.hpp" />
<ClInclude Include="Andromeda-CS2-Base\Common\DevLog.hpp" />
<ClInclude Include="Andromeda-CS2-Base\Common\Helpers\ModuleLoaderHelper.hpp" />
<ClInclude Include="Andromeda-CS2-Base\Common\Helpers\StringHelper.hpp" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\Config.hpp" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\Fnv1a\Hash_Fnv1a_Constexpr.hpp" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\FW1FontWrapper\CFW1ColorRGBA.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\FW1FontWrapper\CFW1DWriteRenderTarget.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\FW1FontWrapper\CFW1Factory.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\FW1FontWrapper\CFW1FontWrapper.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\FW1FontWrapper\CFW1GlyphAtlas.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\FW1FontWrapper\CFW1GlyphProvider.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\FW1FontWrapper\CFW1GlyphRenderStates.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\FW1FontWrapper\CFW1GlyphSheet.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\FW1FontWrapper\CFW1GlyphVertexDrawer.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\FW1FontWrapper\CFW1Object.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\FW1FontWrapper\CFW1StateSaver.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\FW1FontWrapper\CFW1TextGeometry.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\FW1FontWrapper\CFW1TextRenderer.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\FW1FontWrapper\FW1CompileSettings.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\FW1FontWrapper\FW1FontWrapper.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\FW1FontWrapper\FW1Precompiled.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\ImGui\imconfig.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\ImGui\imgui.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\ImGui\imgui_impl_dx11.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\ImGui\imgui_impl_win32.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\ImGui\imgui_internal.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\ImGui\imstb_rectpack.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\ImGui\imstb_textedit.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\ImGui\imstb_truetype.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\ImGui\Misc\freetype\imgui_freetype.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\allocators.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\cursorstreamwrapper.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\document.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\encodedstream.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\encodings.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\error\en.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\error\error.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\filereadstream.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\filewritestream.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\fwd.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\internal\biginteger.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\internal\clzll.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\internal\diyfp.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\internal\dtoa.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\internal\ieee754.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\internal\itoa.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\internal\meta.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\internal\pow10.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\internal\regex.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\internal\stack.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\internal\strfunc.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\internal\strtod.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\internal\swap.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\istreamwrapper.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\memorybuffer.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\memorystream.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\msinttypes\inttypes.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\msinttypes\stdint.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\ostreamwrapper.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\pointer.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\prettywriter.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\rapidjson.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\reader.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\schema.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\stream.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\stringbuffer.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\uri.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\rapidjson\writer.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\stb\stb_image.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\VMProtect\VMProtectSDK.h" />
<ClInclude Include="Andromeda-CS2-Base\Common\Include\XorStr\XorStr.hpp" />
<ClInclude Include="Andromeda-CS2-Base\Common\MemoryEngine.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\CBasePattern.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\CHook_Loader.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\CSDK_Loader.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Hook\Hook_AntiTamper.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Hook\Hook_CreateMove.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Hook\Hook_CreateSwapChain.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Hook\Hook_FireEventClientSide.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Hook\Hook_FrameStageNotify.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Hook\Hook_GetMatricesForView.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Hook\Hook_IsRelativeMouseMode.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Hook\Hook_MouseInputEnabled.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Hook\Hook_OnAddEntity.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Hook\Hook_OnClientOutput.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Hook\Hook_OnRemoveEntity.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Hook\Hook_ParseMessage.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Hook\Hook_Present.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Hook\Hook_ResizeBuffers.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Hook\Hook_SOCacheSubscribed.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Hook\Hook_UpdateInPVS.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\base_gcmessages.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\clientmessages.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\connectionless_netmessages.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\cstrike15_gcmessages.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\cstrike15_usermessages.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\cs_gameevents.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\cs_prediction_events.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\cs_usercmd.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\c_peer2peer_netmessages.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\demo.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\econ_gcmessages.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\engine_gcmessages.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\enums_clientserver.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\fatdemo.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\gameevents.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\gcsdk_gcmessages.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\gcsystemmsgs.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\netmessages.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\networkbasetypes.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\networksystem_protomessages.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\network_connection.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\prediction_events.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\steamdatagram_messages_auth.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\steamdatagram_messages_sdr.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\steammessages.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\steammessages_cloud.steamworkssdk.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\steammessages_gamenetworkingui.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\steammessages_helprequest.steamworkssdk.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\steammessages_oauth.steamworkssdk.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\steammessages_player.steamworkssdk.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\steammessages_publishedfile.steamworkssdk.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\steammessages_unified_base.steamworkssdk.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\steamnetworkingsockets_messages.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\steamnetworkingsockets_messages_certs.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\steamnetworkingsockets_messages_udp.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\te.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\uifontfile_format.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\usercmd.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\usermessages.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\Protobuf\valveextensions.pb.h" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\AppFramework\IAppSystem.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\CFunctionList.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\CSchemaOffset.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Cstrike15\CCSInventoryManager.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Cstrike15\CCSPlayerInventory.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Econ\CEconItem.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Econ\CEconItemDefinition.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Econ\CEconItemSchema.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Econ\CEconItemSystem.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\FunctionListSDK.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\GCSDK\CGCClientSharedObjectCache.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\GCSDK\CGCClientSharedObjectTypeCache.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\GCSDK\GCSDKTypes\EconItemConstants.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\GCSDK\GCSDKTypes\ESOCacheEvent.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\GCSDK\GCSDKTypes\SOID_t.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Interface\CGameEntitySystem.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Interface\CInputSystem.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Interface\CLocalize.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Interface\CMaterialSystem2.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Interface\CShemaSystemSDK.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Interface\CSoundOpSystem.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Interface\CSource2Client.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Interface\IBaseFileSystem.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Interface\IEngineCvar.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Interface\IEngineToClient.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Interface\IGameEvent.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Interface\Interface.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Math\Math.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Math\Matrix.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Math\QAngle.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Math\Rect_t.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Math\Vector2.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Math\Vector3.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Math\Vector4.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Network\CNetworkMessages.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\SDK.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\SDL3\SDL3_Functions.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\TIER0\TIER0_Functions.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Types\CBaseTypes.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Types\CEntityData.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Types\CHandle.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Types\Color.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Types\CStrongHandle.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Types\CUtlFixedMemory.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Types\CUtlMap.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Types\CUtlMemory.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Types\CUtlString.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Types\CUtlStringToken.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Types\CUtlSymbol.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Types\CUtlSymbolLarge.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Types\CUtlVector.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Types\TIer0Memory.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Update\CCSGOInput.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Update\CGlobalVarsBase.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Update\CUserCmd.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Update\GameTrace.hpp" />
<ClInclude Include="Andromeda-CS2-Base\CS2\SDK\Update\Offsets.hpp" />
<ClInclude Include="Andromeda-CS2-Base\DllLauncher.hpp" />
<ClInclude Include="Andromeda-CS2-Base\DllMain.hpp" />
<ClInclude Include="Andromeda-CS2-Base\GameClient\CEntityCache\CEntityCache.hpp" />
<ClInclude Include="Andromeda-CS2-Base\GameClient\CL_Bypass.hpp" />
<ClInclude Include="Andromeda-CS2-Base\GameClient\CL_ItemDefinition.hpp" />
<ClInclude Include="Andromeda-CS2-Base\GameClient\CL_Players.hpp" />
<ClInclude Include="Andromeda-CS2-Base\GameClient\CL_Weapons.hpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,73 @@
#include "CAndromedaClient.hpp"
#include <CS2/SDK/SDK.hpp>
#include <CS2/SDK/Interface/IEngineToClient.hpp>
#include <CS2/SDK/Interface/IGameEvent.hpp>
#include <CS2/SDK/Update/CCSGOInput.hpp>
#include <AndromedaClient/GUI/CAndromedaMenu.hpp>
#include <AndromedaClient/CAndromedaGUI.hpp>
#include <AndromedaClient/Fonts/CFontManager.hpp>
#include <AndromedaClient/Render/CRenderStackSystem.hpp>
#include <AndromedaClient/Features/CVisual/CVisual.hpp>
#include <GameClient/CEntityCache/CEntityCache.hpp>
static CAndromedaClient g_CAndromedaClient{};
auto CAndromedaClient::OnInit() -> void
{
}
auto CAndromedaClient::OnFrameStageNotify( int FrameStage ) -> void
{
}
auto CAndromedaClient::OnFireEventClientSide( IGameEvent* pGameEvent ) -> void
{
}
auto CAndromedaClient::OnAddEntity( CEntityInstance* pInst , CHandle handle ) -> void
{
GetEntityCache()->OnAddEntity( pInst , handle );
}
auto CAndromedaClient::OnRemoveEntity( CEntityInstance* pInst , CHandle handle ) -> void
{
GetEntityCache()->OnRemoveEntity( pInst , handle );
}
auto CAndromedaClient::OnRender() -> void
{
if ( GetAndromedaGUI()->IsVisible() )
GetAndromedaMenu()->OnRenderMenu();
GetFontManager()->FirstInitFonts();
GetFontManager()->m_VerdanaFont.DrawString( 1 , 1 , ImColor( 255 , 255 , 0 ) , FW1_LEFT , XorStr( CHEAT_NAME ) );
if ( SDK::Interfaces::EngineToClient()->IsInGame() )
{
GetRenderStackSystem()->OnRenderStack();
}
}
auto CAndromedaClient::OnClientOutput() -> void
{
if ( SDK::Interfaces::EngineToClient()->IsInGame() )
{
GetVisual()->OnClientOutput();
}
}
auto CAndromedaClient::OnCreateMove( CCSGOInput* pInput , CUserCmd* pUserCmd ) -> void
{
}
auto GetAndromedaClient() -> CAndromedaClient*
{
return &g_CAndromedaClient;
}
@@ -0,0 +1,40 @@
#pragma once
#include <Common/Common.hpp>
#include <CS2/SDK/Types/CHandle.hpp>
#include <CS2/SDK/Math/Vector3.hpp>
class IGameEvent;
class CEntityInstance;
class CCSGOInput;
class CUserCmd;
class IAndromedaClient
{
public:
virtual void OnFrameStageNotify( int FrameStage ) = 0;
virtual void OnFireEventClientSide( IGameEvent* pGameEvent ) = 0;
virtual void OnAddEntity( CEntityInstance* pInst , CHandle handle ) = 0;
virtual void OnRemoveEntity( CEntityInstance* pInst , CHandle handle ) = 0;
virtual void OnRender() = 0;
virtual void OnClientOutput() = 0;
virtual void OnCreateMove( CCSGOInput* pInput , CUserCmd* pUserCmd ) = 0;
};
class CAndromedaClient final : public IAndromedaClient
{
public:
auto OnInit() -> void;
public:
virtual void OnFrameStageNotify( int FrameStage ) override;
virtual void OnFireEventClientSide( IGameEvent* pGameEvent ) override;
virtual void OnAddEntity( CEntityInstance* pInst , CHandle handle ) override;
virtual void OnRemoveEntity( CEntityInstance* pInst , CHandle handle ) override;
virtual void OnRender() override;
virtual void OnClientOutput() override;
virtual void OnCreateMove( CCSGOInput* pInput , CUserCmd* pUserCmd ) override;
};
auto GetAndromedaClient() -> CAndromedaClient*;
@@ -0,0 +1,565 @@
#include "CAndromedaGUI.hpp"
#include <ShlObj_core.h>
#include <ImGui/imgui_impl_win32.h>
#include <ImGui/imgui_impl_dx11.h>
#include <DllLauncher.hpp>
#include <Common/Helpers/StringHelper.hpp>
#include <CS2/SDK/SDK.hpp>
#include <CS2/SDK/Interface/IEngineToClient.hpp>
#include <CS2/SDK/SDL3/SDL3_Functions.hpp>
#include <CS2/Hook/Hook_IsRelativeMouseMode.hpp>
#include <AndromedaClient/CAndromedaClient.hpp>
#include <AndromedaClient/Settings/Settings.hpp>
#include <AndromedaClient/Fonts/FontAwesomeIcon.hpp>
static CAndromedaGUI g_AndromedaGUI{};
IMGUI_IMPL_API LRESULT ImGui_ImplWin32_WndProcHandler( HWND hwnd , UINT msg , WPARAM wParam , LPARAM lParam );
auto CAndromedaGUI::OnInit( IDXGISwapChain* pSwapChain ) -> void
{
DXGI_SWAP_CHAIN_DESC SwapChainDesc;
if ( FAILED( pSwapChain->GetDevice( IID_PPV_ARGS( &m_pDevice ) ) ) )
{
DEV_LOG( "[error] CAndromedaGUI::OnInit: #1\n" );
return;
}
m_pDevice->GetImmediateContext( &m_pDeviceContext );
if ( FAILED( pSwapChain->GetDesc( &SwapChainDesc ) ) )
{
DEV_LOG( "[error] CAndromedaGUI::OnInit: #2\n" );
return;
}
m_hCS2Window = SwapChainDesc.OutputWindow;
m_pImGuiContext = ImGui::CreateContext();
m_GuiFile = GetDllDir() + XorStr( GUI_FILE );
if ( !m_pFreeType_Font )
m_pFreeType_Font = new FreeTypeBuild();
ImGui::SetCurrentContext( m_pImGuiContext );
ImGui::GetIO().IniFilename = m_GuiFile.c_str();
ImGui::GetIO().LogFilename = "";
ImGui::GetIO().ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange;
ImGui::GetIO().BackendFlags |= ImGuiBackendFlags_HasSetMousePos;
ImGui_ImplWin32_Init( m_hCS2Window );
ImGui_ImplDX11_Init( m_pDevice , m_pDeviceContext );
InitFont();
UpdateStyle();
m_WndProc_o = (WNDPROC)SetWindowLongPtrA( m_hCS2Window , GWLP_WNDPROC , (LONG_PTR)GUI_WndProc );
m_bInit = true;
}
auto CAndromedaGUI::OnDestroy() -> void
{
SetWindowLongPtrA( m_hCS2Window , GWLP_WNDPROC , (LONG_PTR)GetAndromedaGUI()->m_WndProc_o );
m_bVisible = false;
if ( m_pFreeType_Font )
{
delete m_pFreeType_Font;
m_pFreeType_Font = nullptr;
}
ClearRenderTargetView();
ImGui_ImplDX11_Shutdown();
ImGui_ImplWin32_Shutdown();
ImGui::DestroyContext();
m_bInit = false;
}
auto CAndromedaGUI::InitFont() -> void
{
ImGuiIO& io = ImGui::GetIO();
static const ImWchar TahomaRanges[] =
{
0x0020, 0xFFFC,
0,
};
static const ImWchar AwesomeIconRanges[] =
{
0x002D, 0x007A,
ICON_MIN_FA, ICON_MAX_FA,
0
};
wchar_t* szWindowsFontPath = nullptr;
if ( SHGetKnownFolderPath( FOLDERID_Fonts , 0 , 0 , &szWindowsFontPath ) == S_OK )
{
std::wstring TahomaFont = std::wstring( szWindowsFontPath ) + L"\\tahoma.ttf";
io.Fonts->AddFontFromFileTTF( unicode_to_utf8( TahomaFont ).c_str() , 15.f , nullptr , TahomaRanges );
}
m_pFontAwesomeIcons = io.Fonts->AddFontFromMemoryCompressedTTF( FontAwesomeIcon_compressed_data , FontAwesomeIcon_compressed_size , 25.f , nullptr , AwesomeIconRanges );
CoTaskMemFree( szWindowsFontPath );
}
void CAndromedaGUI::OnPresent( IDXGISwapChain* pSwapChain )
{
if ( !m_bInit )
OnInit( pSwapChain );
else
OnRender( pSwapChain );
}
void CAndromedaGUI::OnResizeBuffers( IDXGISwapChain* pSwapChain )
{
OnDestroy();
}
void CAndromedaGUI::OnRender( IDXGISwapChain* pSwapChain )
{
if ( m_pFreeType_Font && m_pFreeType_Font->PreNewFrame() )
{
ImGui_ImplDX11_InvalidateDeviceObjects();
ImGui_ImplDX11_CreateDeviceObjects();
}
else
{
if ( !m_pRenderTargetView )
{
ID3D11Texture2D* pBackBuffer = nullptr;
pSwapChain->GetBuffer( 0 , IID_PPV_ARGS( &pBackBuffer ) );
D3D11_RENDER_TARGET_VIEW_DESC RenderTargetDesc;
memset( &RenderTargetDesc , 0 , sizeof( RenderTargetDesc ) );
RenderTargetDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
RenderTargetDesc.ViewDimension = D3D11_RTV_DIMENSION_TEXTURE2DMS;
if ( pBackBuffer )
{
m_pDevice->CreateRenderTargetView( pBackBuffer , &RenderTargetDesc , &m_pRenderTargetView );
pBackBuffer->Release();
}
}
ImGui::SetCurrentContext( m_pImGuiContext );
m_pDeviceContext->OMGetRenderTargets( 1 , &m_pMainRenderTarget , 0 );
m_pDeviceContext->OMSetRenderTargets( 1 , &m_pRenderTargetView , 0 );
ImGui_ImplDX11_NewFrame();
ImGui_ImplWin32_NewFrame();
ImGui::NewFrame();
GetAndromedaClient()->OnRender();
ImGui::EndFrame();
ImGui::Render();
ImGui_ImplDX11_RenderDrawData( ImGui::GetDrawData() );
m_pDeviceContext->OMSetRenderTargets( 1 , &m_pMainRenderTarget , 0 );
}
}
auto CAndromedaGUI::OnReopenGUI() -> void
{
m_bVisible = !m_bVisible;
ImGui::GetIO().MouseDrawCursor = m_bVisible;
ShowCursor( !m_bVisible );
IsRelativeMouseMode_o( SDK::Interfaces::InputSystem() , m_bVisible ? false : m_bMainActive );
if ( m_bVisible )
{
if ( m_vecMousePosSave.x == 0.f && m_vecMousePosSave.y == 0.f )
m_vecMousePosSave = ImGui::GetIO().DisplaySize / 2.f;
ImGui::GetIO().MousePos = m_vecMousePosSave;
if ( SDK::Interfaces::EngineToClient()->IsInGame() )
GetSDL3Functions()->SDL_WarpMouseInWindow_o( nullptr , ImGui::GetIO().MousePos.x , ImGui::GetIO().MousePos.y );
}
else
{
m_vecMousePosSave = ImGui::GetIO().MousePos;
}
}
LRESULT WINAPI CAndromedaGUI::GUI_WndProc( HWND hwnd , UINT uMsg , WPARAM wParam , LPARAM lParam )
{
if ( uMsg == WM_QUIT || uMsg == WM_CLOSE || uMsg == WM_DESTROY )
{
GetDllLauncher()->OnDestroy();
return true;
}
if ( GetAndromedaGUI()->m_bInit )
{
if ( uMsg == WM_KEYUP && wParam == VK_INSERT )
GetAndromedaGUI()->OnReopenGUI();
if ( GetAndromedaGUI()->IsVisible() && ImGui_ImplWin32_WndProcHandler( hwnd , uMsg , wParam , lParam ) == 0 )
return true;
}
return CallWindowProcA( GetAndromedaGUI()->m_WndProc_o , hwnd , uMsg , wParam , lParam );
}
auto CAndromedaGUI::SetIndigoStyle() -> void
{
auto& style = ImGui::GetStyle();
auto& colors = style.Colors;
float roundness = 2.0f;
style.WindowBorderSize = 1.0f;
style.FrameBorderSize = 1.0f;
style.WindowMinSize = ImVec2( 75.f , 50.f );
style.FramePadding = ImVec2( 5 , 5 );
style.ItemSpacing = ImVec2( 6 , 5 );
style.ItemInnerSpacing = ImVec2( 2 , 4 );
style.Alpha = 1.0f;
style.WindowRounding = 0.f;
style.FrameRounding = roundness;
style.PopupRounding = 0;
style.PopupBorderSize = 1.f;
style.IndentSpacing = 6.0f;
style.ColumnsMinSpacing = 50.0f;
style.GrabMinSize = 14.0f;
style.GrabRounding = roundness;
style.ScrollbarSize = 12.0f;
style.ScrollbarRounding = roundness;
style.AntiAliasedFill = true;
style.AntiAliasedLines = true;
style.AntiAliasedLinesUseTex = true;
colors[ImGuiCol_Text] = ImVec4( 1.00f , 1.00f , 1.00f , 1.00f );
colors[ImGuiCol_TextDisabled] = ImVec4( 0.50f , 0.50f , 0.50f , 1.00f );
colors[ImGuiCol_WindowBg] = ImVec4( 0.20f , 0.23f , 0.31f , 1.00f );
colors[ImGuiCol_ChildBg] = ImVec4( 0.20f , 0.23f , 0.31f , 1.00f );
colors[ImGuiCol_PopupBg] = ImVec4( 0.20f , 0.23f , 0.31f , 1.00f );
colors[ImGuiCol_Border] = ImVec4( 0.f , 0.f , 0.f , 1.00f );
colors[ImGuiCol_BorderShadow] = ImVec4( 0.00f , 0.00f , 0.00f , 0.00f );
colors[ImGuiCol_FrameBg] = ImVec4( 0.25f , 0.28f , 0.38f , 1.00f );
colors[ImGuiCol_FrameBgHovered] = ImVec4( 0.25f , 0.28f , 0.38f , 1.00f );
colors[ImGuiCol_FrameBgActive] = ImVec4( 0.25f , 0.28f , 0.38f , 1.00f );
colors[ImGuiCol_TitleBg] = ImVec4( 0.00f , 0.43f , 1.00f , 1.00f );
colors[ImGuiCol_TitleBgActive] = ImVec4( 0.00f , 0.55f , 1.00f , 1.00f );
colors[ImGuiCol_TitleBgCollapsed] = ImVec4( 0.10f , 0.69f , 1.00f , 1.00f );
colors[ImGuiCol_MenuBarBg] = ImVec4( 0.25f , 0.28f , 0.38f , 1.00f );
colors[ImGuiCol_ScrollbarBg] = ImVec4( 0.00f , 0.00f , 0.00f , 0.00f );
colors[ImGuiCol_ScrollbarGrab] = ImVec4( 0.39f , 0.44f , 0.56f , 1.00f );
colors[ImGuiCol_ScrollbarGrabHovered] = ImVec4( 0.12f , 0.43f , 1.00f , 1.00f );
colors[ImGuiCol_ScrollbarGrabActive] = ImVec4( 0.00f , 0.55f , 1.00f , 1.00f );
colors[ImGuiCol_CheckMark] = ImVec4( 0.00f , 0.55f , 1.00f , 1.00f );
colors[ImGuiCol_SliderGrab] = ImVec4( 0.00f , 0.55f , 1.00f , 1.00f );
colors[ImGuiCol_SliderGrabActive] = ImVec4( 0.10f , 0.69f , 1.00f , 1.00f );
colors[ImGuiCol_Button] = ImVec4( 0.25f , 0.28f , 0.38f , 1.00f );
colors[ImGuiCol_ButtonHovered] = ImVec4( 0.12f , 0.43f , 1.00f , 1.00f );
colors[ImGuiCol_ButtonActive] = ImVec4( 0.00f , 0.55f , 1.00f , 1.00f );
colors[ImGuiCol_Header] = ImVec4( 0.00f , 0.43f , 1.00f , 1.00f );
colors[ImGuiCol_HeaderHovered] = ImVec4( 0.00f , 0.55f , 1.00f , 1.00f );
colors[ImGuiCol_HeaderActive] = ImVec4( 0.00f , 0.43f , 1.00f , 1.00f );
colors[ImGuiCol_Separator] = ImVec4( 0.43f , 0.43f , 0.50f , 0.50f );
colors[ImGuiCol_SeparatorHovered] = ImVec4( 0.10f , 0.40f , 0.75f , 0.78f );
colors[ImGuiCol_SeparatorActive] = ImVec4( 0.10f , 0.40f , 0.75f , 1.00f );
colors[ImGuiCol_ResizeGrip] = ImVec4( 0.26f , 0.59f , 0.98f , 0.25f );
colors[ImGuiCol_ResizeGripHovered] = ImVec4( 0.26f , 0.59f , 0.98f , 0.67f );
colors[ImGuiCol_ResizeGripActive] = ImVec4( 0.26f , 0.59f , 0.98f , 0.95f );
colors[ImGuiCol_Tab] = ImVec4( 0.00f , 0.50f , 1.00f , 1.00f );
colors[ImGuiCol_TabHovered] = ImVec4( 0.12f , 0.69f , 1.00f , 1.00f );
colors[ImGuiCol_TabActive] = ImVec4( 0.12f , 0.69f , 1.00f , 1.00f );
colors[ImGuiCol_TabUnfocused] = ImVec4( 0.07f , 0.10f , 0.15f , 0.97f );
colors[ImGuiCol_TabUnfocusedActive] = ImVec4( 0.14f , 0.26f , 0.42f , 1.00f );
colors[ImGuiCol_PlotLines] = ImVec4( 0.61f , 0.61f , 0.61f , 1.00f );
colors[ImGuiCol_PlotLinesHovered] = ImVec4( 1.00f , 0.43f , 0.35f , 1.00f );
colors[ImGuiCol_PlotHistogram] = ImVec4( 0.10f , 0.69f , 1.00f , 1.00f );
colors[ImGuiCol_PlotHistogramHovered] = ImVec4( 1.00f , 0.60f , 0.00f , 1.00f );
colors[ImGuiCol_TextSelectedBg] = ImVec4( 0.26f , 0.59f , 0.98f , 0.35f );
colors[ImGuiCol_DragDropTarget] = ImVec4( 1.00f , 1.00f , 0.00f , 0.90f );
colors[ImGuiCol_NavHighlight] = ImVec4( 0.26f , 0.59f , 0.98f , 1.00f );
colors[ImGuiCol_NavWindowingHighlight] = ImVec4( 1.00f , 1.00f , 1.00f , 0.70f );
colors[ImGuiCol_NavWindowingDimBg] = ImVec4( 0.80f , 0.80f , 0.80f , 0.20f );
colors[ImGuiCol_ModalWindowDimBg] = ImVec4( 0.80f , 0.80f , 0.80f , 0.35f );
colors[ImGuiCol_WindowShadow] = ImVec4( 0.f , 0.f , 1.f , 1.f );
}
auto CAndromedaGUI::SetVermillionStyle() -> void
{
auto& style = ImGui::GetStyle();
auto& colors = style.Colors;
float roundness = 2.0f;
style.WindowBorderSize = 1.0f;
style.FrameBorderSize = 1.0f;
style.WindowMinSize = ImVec2( 75.f , 50.f );
style.FramePadding = ImVec2( 5 , 5 );
style.ItemSpacing = ImVec2( 6 , 5 );
style.ItemInnerSpacing = ImVec2( 2 , 4 );
style.Alpha = 1.0f;
style.WindowRounding = 0.f;
style.FrameRounding = roundness;
style.PopupRounding = 0;
style.PopupBorderSize = 1.f;
style.IndentSpacing = 6.0f;
style.ColumnsMinSpacing = 50.0f;
style.GrabMinSize = 14.0f;
style.GrabRounding = roundness;
style.ScrollbarSize = 12.0f;
style.ScrollbarRounding = roundness;
style.AntiAliasedFill = true;
style.AntiAliasedLines = true;
style.AntiAliasedLinesUseTex = true;
colors[ImGuiCol_Text] = ImVec4( 1.00f , 1.00f , 1.00f , 0.75f );
colors[ImGuiCol_TextDisabled] = ImVec4( 1.00f , 0.18f , 0.29f , 0.78f );
colors[ImGuiCol_WindowBg] = ImVec4( 0.17f , 0.20f , 0.25f , 1.00f );
colors[ImGuiCol_ChildBg] = ImVec4( 0.20f , 0.22f , 0.27f , 0.57f );
colors[ImGuiCol_PopupBg] = ImVec4( 0.17f , 0.20f , 0.25f , 1.00f );
colors[ImGuiCol_Border] = ImVec4( 0.00f , 0.00f , 0.00f , 1.00f );
colors[ImGuiCol_BorderShadow] = ImVec4( 0.00f , 0.00f , 0.00f , 0.00f );
colors[ImGuiCol_FrameBg] = ImVec4( 0.37f , 0.36f , 0.46f , 0.24f );
colors[ImGuiCol_FrameBgHovered] = ImVec4( 0.78f , 0.18f , 0.29f , 0.78f );
colors[ImGuiCol_FrameBgActive] = ImVec4( 0.78f , 0.18f , 0.29f , 1.00f );
colors[ImGuiCol_TitleBg] = ImVec4( 0.20f , 0.22f , 0.27f , 1.00f );
colors[ImGuiCol_TitleBgActive] = ImVec4( 0.78f , 0.18f , 0.29f , 1.00f );
colors[ImGuiCol_TitleBgCollapsed] = ImVec4( 0.20f , 0.22f , 0.27f , 0.75f );
colors[ImGuiCol_MenuBarBg] = ImVec4( 0.20f , 0.22f , 0.27f , 0.47f );
colors[ImGuiCol_ScrollbarBg] = ImVec4( 0.20f , 0.22f , 0.27f , 1.00f );
colors[ImGuiCol_ScrollbarGrab] = ImVec4( 0.09f , 0.15f , 0.16f , 1.00f );
colors[ImGuiCol_ScrollbarGrabHovered] = ImVec4( 0.78f , 0.18f , 0.29f , 0.78f );
colors[ImGuiCol_ScrollbarGrabActive] = ImVec4( 0.78f , 0.18f , 0.29f , 1.00f );
colors[ImGuiCol_CheckMark] = ImVec4( 0.71f , 0.18f , 0.29f , 1.00f );
colors[ImGuiCol_SliderGrab] = ImVec4( 0.78f , 0.18f , 0.29f , 0.37f );
colors[ImGuiCol_SliderGrabActive] = ImVec4( 0.92f , 0.18f , 0.29f , 1.00f );
colors[ImGuiCol_Button] = ImVec4( 0.65f , 0.18f , 0.29f , 1.00f );
colors[ImGuiCol_ButtonHovered] = ImVec4( 0.78f , 0.18f , 0.29f , 0.86f );
colors[ImGuiCol_ButtonActive] = ImVec4( 0.78f , 0.18f , 0.29f , 1.00f );
colors[ImGuiCol_Header] = ImVec4( 0.78f , 0.18f , 0.29f , 0.76f );
colors[ImGuiCol_HeaderHovered] = ImVec4( 0.78f , 0.18f , 0.29f , 0.86f );
colors[ImGuiCol_HeaderActive] = ImVec4( 0.78f , 0.18f , 0.29f , 1.00f );
colors[ImGuiCol_Separator] = ImVec4( 0.15f , 0.00f , 0.00f , 0.35f );
colors[ImGuiCol_SeparatorHovered] = ImVec4( 0.78f , 0.18f , 0.29f , 0.59f );
colors[ImGuiCol_SeparatorActive] = ImVec4( 0.78f , 0.18f , 0.29f , 1.00f );
colors[ImGuiCol_ResizeGrip] = ImVec4( 0.78f , 0.18f , 0.29f , 0.63f );
colors[ImGuiCol_ResizeGripHovered] = ImVec4( 0.78f , 0.18f , 0.29f , 0.78f );
colors[ImGuiCol_ResizeGripActive] = ImVec4( 0.78f , 0.18f , 0.29f , 1.00f );
colors[ImGuiCol_Tab] = ImVec4( 0.78f , 0.18f , 0.29f , 0.76f );
colors[ImGuiCol_TabHovered] = ImVec4( 0.78f , 0.18f , 0.29f , 0.86f );
colors[ImGuiCol_TabActive] = ImVec4( 0.78f , 0.18f , 0.29f , 1.00f );
colors[ImGuiCol_TabUnfocused] = ImVec4( 0.07f , 0.10f , 0.15f , 0.97f );
colors[ImGuiCol_TabUnfocusedActive] = ImVec4( 0.14f , 0.26f , 0.42f , 1.00f );
colors[ImGuiCol_PlotLines] = ImVec4( 0.78f , 0.93f , 0.89f , 0.63f );
colors[ImGuiCol_PlotLinesHovered] = ImVec4( 0.92f , 0.18f , 0.29f , 1.00f );
colors[ImGuiCol_PlotHistogram] = ImVec4( 0.86f , 0.93f , 0.89f , 0.63f );
colors[ImGuiCol_PlotHistogramHovered] = ImVec4( 0.92f , 0.18f , 0.29f , 1.00f );
colors[ImGuiCol_TextSelectedBg] = ImVec4( 0.92f , 0.18f , 0.29f , 0.43f );
colors[ImGuiCol_DragDropTarget] = ImVec4( 1.00f , 1.00f , 0.00f , 0.90f );
colors[ImGuiCol_NavHighlight] = ImVec4( 0.45f , 0.45f , 0.90f , 0.80f );
colors[ImGuiCol_NavWindowingHighlight] = ImVec4( 1.00f , 1.00f , 1.00f , 0.70f );
colors[ImGuiCol_NavWindowingDimBg] = ImVec4( 0.80f , 0.80f , 0.80f , 0.20f );
colors[ImGuiCol_ModalWindowDimBg] = ImVec4( 0.80f , 0.80f , 0.80f , 0.35f );
colors[ImGuiCol_WindowShadow] = ImVec4( 1.f , 0.f , 0.f , 1.f );
}
auto CAndromedaGUI::SetClassicSteamStyle() -> void
{
ImGuiStyle& style = ImGui::GetStyle();
style.Alpha = 1.0f;
style.DisabledAlpha = 0.6000000238418579f;
style.WindowPadding = ImVec2( 8.0f , 8.0f );
style.WindowRounding = 0.0f;
style.WindowBorderSize = 1.0f;
style.WindowMinSize = ImVec2( 32.0f , 32.0f );
style.WindowTitleAlign = ImVec2( 0.0f , 0.5f );
style.WindowMenuButtonPosition = ImGuiDir_Left;
style.ChildRounding = 0.0f;
style.ChildBorderSize = 1.0f;
style.PopupRounding = 0.0f;
style.PopupBorderSize = 1.0f;
style.FramePadding = ImVec2( 4.0f , 3.0f );
style.FrameRounding = 0.0f;
style.FrameBorderSize = 1.0f;
style.ItemSpacing = ImVec2( 8.0f , 4.0f );
style.ItemInnerSpacing = ImVec2( 4.0f , 4.0f );
style.CellPadding = ImVec2( 4.0f , 2.0f );
style.IndentSpacing = 21.0f;
style.ColumnsMinSpacing = 6.0f;
style.ScrollbarSize = 14.0f;
style.ScrollbarRounding = 0.0f;
style.GrabMinSize = 10.0f;
style.GrabRounding = 0.0f;
style.TabRounding = 0.0f;
style.TabBorderSize = 0.0f;
style.TabCloseButtonMinWidthUnselected = 0.0f;
style.ColorButtonPosition = ImGuiDir_Right;
style.ButtonTextAlign = ImVec2( 0.5f , 0.5f );
style.SelectableTextAlign = ImVec2( 0.0f , 0.0f );
style.Colors[ImGuiCol_Text] = ImVec4( 1.0f , 1.0f , 1.0f , 1.0f );
style.Colors[ImGuiCol_TextDisabled] = ImVec4( 0.4980392158031464f , 0.4980392158031464f , 0.4980392158031464f , 1.0f );
style.Colors[ImGuiCol_WindowBg] = ImVec4( 0.2862745225429535f , 0.3372549116611481f , 0.2588235437870026f , 1.0f );
style.Colors[ImGuiCol_ChildBg] = ImVec4( 0.2862745225429535f , 0.3372549116611481f , 0.2588235437870026f , 1.0f );
style.Colors[ImGuiCol_PopupBg] = ImVec4( 0.239215686917305f , 0.2666666805744171f , 0.2000000029802322f , 1.0f );
style.Colors[ImGuiCol_Border] = ImVec4( 0.5372549295425415f , 0.5686274766921997f , 0.5098039507865906f , 0.5f );
style.Colors[ImGuiCol_BorderShadow] = ImVec4( 0.1372549086809158f , 0.1568627506494522f , 0.1098039224743843f , 0.5199999809265137f );
style.Colors[ImGuiCol_FrameBg] = ImVec4( 0.239215686917305f , 0.2666666805744171f , 0.2000000029802322f , 1.0f );
style.Colors[ImGuiCol_FrameBgHovered] = ImVec4( 0.2666666805744171f , 0.2980392277240753f , 0.2274509817361832f , 1.0f );
style.Colors[ImGuiCol_FrameBgActive] = ImVec4( 0.2980392277240753f , 0.3372549116611481f , 0.2588235437870026f , 1.0f );
style.Colors[ImGuiCol_TitleBg] = ImVec4( 0.239215686917305f , 0.2666666805744171f , 0.2000000029802322f , 1.0f );
style.Colors[ImGuiCol_TitleBgActive] = ImVec4( 0.2862745225429535f , 0.3372549116611481f , 0.2588235437870026f , 1.0f );
style.Colors[ImGuiCol_TitleBgCollapsed] = ImVec4( 0.0f , 0.0f , 0.0f , 0.5099999904632568f );
style.Colors[ImGuiCol_MenuBarBg] = ImVec4( 0.239215686917305f , 0.2666666805744171f , 0.2000000029802322f , 1.0f );
style.Colors[ImGuiCol_ScrollbarBg] = ImVec4( 0.3490196168422699f , 0.4196078479290009f , 0.3098039329051971f , 1.0f );
style.Colors[ImGuiCol_ScrollbarGrab] = ImVec4( 0.2784313857555389f , 0.3176470696926117f , 0.239215686917305f , 1.0f );
style.Colors[ImGuiCol_ScrollbarGrabHovered] = ImVec4( 0.2470588237047195f , 0.2980392277240753f , 0.2196078449487686f , 1.0f );
style.Colors[ImGuiCol_ScrollbarGrabActive] = ImVec4( 0.2274509817361832f , 0.2666666805744171f , 0.2078431397676468f , 1.0f );
style.Colors[ImGuiCol_CheckMark] = ImVec4( 0.5882353186607361f , 0.5372549295425415f , 0.1764705926179886f , 1.0f );
style.Colors[ImGuiCol_SliderGrab] = ImVec4( 0.3490196168422699f , 0.4196078479290009f , 0.3098039329051971f , 1.0f );
style.Colors[ImGuiCol_SliderGrabActive] = ImVec4( 0.5372549295425415f , 0.5686274766921997f , 0.5098039507865906f , 0.5f );
style.Colors[ImGuiCol_Button] = ImVec4( 0.2862745225429535f , 0.3372549116611481f , 0.2588235437870026f , 0.4000000059604645f );
style.Colors[ImGuiCol_ButtonHovered] = ImVec4( 0.3490196168422699f , 0.4196078479290009f , 0.3098039329051971f , 1.0f );
style.Colors[ImGuiCol_ButtonActive] = ImVec4( 0.5372549295425415f , 0.5686274766921997f , 0.5098039507865906f , 0.5f );
style.Colors[ImGuiCol_Header] = ImVec4( 0.3490196168422699f , 0.4196078479290009f , 0.3098039329051971f , 1.0f );
style.Colors[ImGuiCol_HeaderHovered] = ImVec4( 0.3490196168422699f , 0.4196078479290009f , 0.3098039329051971f , 0.6000000238418579f );
style.Colors[ImGuiCol_HeaderActive] = ImVec4( 0.5372549295425415f , 0.5686274766921997f , 0.5098039507865906f , 0.5f );
style.Colors[ImGuiCol_Separator] = ImVec4( 0.1372549086809158f , 0.1568627506494522f , 0.1098039224743843f , 1.0f );
style.Colors[ImGuiCol_SeparatorHovered] = ImVec4( 0.5372549295425415f , 0.5686274766921997f , 0.5098039507865906f , 1.0f );
style.Colors[ImGuiCol_SeparatorActive] = ImVec4( 0.5882353186607361f , 0.5372549295425415f , 0.1764705926179886f , 1.0f );
style.Colors[ImGuiCol_ResizeGrip] = ImVec4( 0.1882352977991104f , 0.2274509817361832f , 0.1764705926179886f , 0.0f );
style.Colors[ImGuiCol_ResizeGripHovered] = ImVec4( 0.5372549295425415f , 0.5686274766921997f , 0.5098039507865906f , 1.0f );
style.Colors[ImGuiCol_ResizeGripActive] = ImVec4( 0.5882353186607361f , 0.5372549295425415f , 0.1764705926179886f , 1.0f );
style.Colors[ImGuiCol_Tab] = ImVec4( 0.3490196168422699f , 0.4196078479290009f , 0.3098039329051971f , 1.0f );
style.Colors[ImGuiCol_TabHovered] = ImVec4( 0.5372549295425415f , 0.5686274766921997f , 0.5098039507865906f , 0.7799999713897705f );
style.Colors[ImGuiCol_TabActive] = ImVec4( 0.5882353186607361f , 0.5372549295425415f , 0.1764705926179886f , 1.0f );
style.Colors[ImGuiCol_TabUnfocused] = ImVec4( 0.239215686917305f , 0.2666666805744171f , 0.2000000029802322f , 1.0f );
style.Colors[ImGuiCol_TabUnfocusedActive] = ImVec4( 0.3490196168422699f , 0.4196078479290009f , 0.3098039329051971f , 1.0f );
style.Colors[ImGuiCol_PlotLines] = ImVec4( 0.6078431606292725f , 0.6078431606292725f , 0.6078431606292725f , 1.0f );
style.Colors[ImGuiCol_PlotLinesHovered] = ImVec4( 0.5882353186607361f , 0.5372549295425415f , 0.1764705926179886f , 1.0f );
style.Colors[ImGuiCol_PlotHistogram] = ImVec4( 1.0f , 0.7764706015586853f , 0.2784313857555389f , 1.0f );
style.Colors[ImGuiCol_PlotHistogramHovered] = ImVec4( 1.0f , 0.6000000238418579f , 0.0f , 1.0f );
style.Colors[ImGuiCol_TableHeaderBg] = ImVec4( 0.1882352977991104f , 0.1882352977991104f , 0.2000000029802322f , 1.0f );
style.Colors[ImGuiCol_TableBorderStrong] = ImVec4( 0.3098039329051971f , 0.3098039329051971f , 0.3490196168422699f , 1.0f );
style.Colors[ImGuiCol_TableBorderLight] = ImVec4( 0.2274509817361832f , 0.2274509817361832f , 0.2470588237047195f , 1.0f );
style.Colors[ImGuiCol_TableRowBg] = ImVec4( 0.0f , 0.0f , 0.0f , 0.0f );
style.Colors[ImGuiCol_TableRowBgAlt] = ImVec4( 1.0f , 1.0f , 1.0f , 0.05999999865889549f );
style.Colors[ImGuiCol_TextSelectedBg] = ImVec4( 0.5882353186607361f , 0.5372549295425415f , 0.1764705926179886f , 1.0f );
style.Colors[ImGuiCol_DragDropTarget] = ImVec4( 0.729411780834198f , 0.6666666865348816f , 0.239215686917305f , 1.0f );
style.Colors[ImGuiCol_NavHighlight] = ImVec4( 0.5882353186607361f , 0.5372549295425415f , 0.1764705926179886f , 1.0f );
style.Colors[ImGuiCol_NavWindowingHighlight] = ImVec4( 1.0f , 1.0f , 1.0f , 0.699999988079071f );
style.Colors[ImGuiCol_NavWindowingDimBg] = ImVec4( 0.800000011920929f , 0.800000011920929f , 0.800000011920929f , 0.2000000029802322f );
style.Colors[ImGuiCol_ModalWindowDimBg] = ImVec4( 0.800000011920929f , 0.800000011920929f , 0.800000011920929f , 0.3499999940395355f );
style.Colors[ImGuiCol_WindowShadow] = ImVec4( 1.f , 1.f , 0.f , 1.f );
}
auto CAndromedaGUI::UpdateStyle() -> void
{
ImGui::SetCurrentContext( m_pImGuiContext );
if ( Settings::Misc::MenuStyle == EAndromedaGuiStyle_t::ANDROMEDA_GUI_STYLE_INDIGO )
SetIndigoStyle();
else if ( Settings::Misc::MenuStyle == EAndromedaGuiStyle_t::ANDROMEDA_GUI_STYLE_VERMILLION )
SetVermillionStyle();
else if ( Settings::Misc::MenuStyle == EAndromedaGuiStyle_t::ANDROMEDA_GUI_STYLE_CLASSIC_STEAM )
SetClassicSteamStyle();
}
bool CAndromedaGUI::FreeTypeBuild::PreNewFrame()
{
if ( !WantRebuild )
return false;
ImFontAtlas* atlas = ImGui::GetIO().Fonts;
for ( int n = 0; n < atlas->Sources.Size; n++ )
( (ImFontConfig*)&atlas->Sources[n] )->RasterizerMultiply = RasterizerMultiply;
#ifdef IMGUI_ENABLE_FREETYPE
if ( BuildMode == FontBuildMode::FreeType )
{
atlas->FontBuilderIO = ImGuiFreeType::GetBuilderForFreeType();
atlas->FontBuilderFlags = FreeTypeBuilderFlags;
}
#endif
atlas->Build();
WantRebuild = false;
return true;
}
auto CAndromedaGUI::ClearRenderTargetView() -> void
{
if ( m_pRenderTargetView )
{
m_pRenderTargetView->Release();
m_pRenderTargetView = nullptr;
}
}
auto GetAndromedaGUI() -> CAndromedaGUI*
{
return &g_AndromedaGUI;
}
@@ -0,0 +1,122 @@
#pragma once
#include <Common/Common.hpp>
#include <d3d11.h>
#include <ImGui/imgui.h>
#include <ImGui/Misc/freetype/imgui_freetype.h>
#include <CS2/SDK/SDK.hpp>
class IAndromedaGUI
{
public:
virtual bool IsVisible() = 0;
virtual bool IsInited() = 0;
public:
virtual void OnPresent( IDXGISwapChain* pSwapChain ) = 0;
virtual void OnResizeBuffers( IDXGISwapChain* pSwapChain ) = 0;
virtual void OnRender( IDXGISwapChain* pSwapChain ) = 0;
};
class CAndromedaGUI final : public IAndromedaGUI
{
public:
auto OnInit( IDXGISwapChain* pSwapChain ) -> void;
auto OnDestroy() -> void;
public:
auto InitFont() -> void;
private:
auto SetIndigoStyle() -> void;
auto SetVermillionStyle() -> void;
auto SetClassicSteamStyle() -> void;
enum EAndromedaGuiStyle_t : uint32_t
{
ANDROMEDA_GUI_STYLE_INDIGO,
ANDROMEDA_GUI_STYLE_VERMILLION,
ANDROMEDA_GUI_STYLE_CLASSIC_STEAM,
};
public:
auto UpdateStyle() -> void;
public:
virtual bool IsVisible() override
{
return m_bVisible;
}
virtual bool IsInited() override
{
return m_bInit;
}
public:
virtual void OnPresent( IDXGISwapChain* pSwapChain ) override;
virtual void OnResizeBuffers( IDXGISwapChain* pSwapChain ) override;
virtual void OnRender( IDXGISwapChain* pSwapChain ) override;
public:
auto OnReopenGUI() -> void;
public:
static LRESULT WINAPI GUI_WndProc( HWND hwnd , UINT uMsg , WPARAM wParam , LPARAM lParam );
public:
auto GetDevice() -> ID3D11Device* { return m_pDevice; }
auto GetDeviceContext() -> ID3D11DeviceContext* { return m_pDeviceContext; }
public:
auto ClearRenderTargetView() -> void;
private:
ID3D11Device* m_pDevice = nullptr;
ID3D11DeviceContext* m_pDeviceContext = nullptr;
ID3D11RenderTargetView* m_pRenderTargetView = nullptr;
ID3D11RenderTargetView* m_pMainRenderTarget = nullptr;
private:
ImGuiContext* m_pImGuiContext = nullptr;
private:
std::string m_GuiFile;
public:
HWND m_hCS2Window = nullptr;
private:
WNDPROC m_WndProc_o = nullptr;
public:
bool m_bInit = false;
bool m_bMainActive = false;
bool m_bVisible = false;
private:
ImVec2 m_vecMousePosSave;
public:
ImFont* m_pFontAwesomeIcons = nullptr;
private:
struct FreeTypeBuild
{
enum class FontBuildMode { FreeType };
FontBuildMode BuildMode = FontBuildMode::FreeType;
bool WantRebuild = true;
float RasterizerMultiply = 1.0f;
unsigned int FreeTypeBuilderFlags = ImGuiFreeTypeBuilderFlags_ForceAutoHint | ImGuiFreeTypeBuilderFlags_MonoHinting;
bool PreNewFrame();
void ResetBuildFont() { WantRebuild = true; };
};
FreeTypeBuild* m_pFreeType_Font = nullptr;
};
auto GetAndromedaGUI() -> CAndromedaGUI*;
@@ -0,0 +1,98 @@
#include "CVisual.hpp"
#include <CS2/SDK/SDK.hpp>
#include <CS2/SDK/Interface/IEngineToClient.hpp>
#include <AndromedaClient/Render/CRender.hpp>
#include <AndromedaClient/Render/CRenderStackSystem.hpp>
#include <AndromedaClient/Settings/Settings.hpp>
#include <GameClient/CEntityCache/CEntityCache.hpp>
static CVisual g_CVisual{};
auto CVisual::OnRender() -> void
{
if ( !Settings::Visual::Active )
return;
const auto& CachedVec = GetEntityCache()->GetCachedEntity();
std::scoped_lock Lock( GetEntityCache()->GetLock() );
for ( const auto& CachedEntity : *CachedVec )
{
auto pEntity = CachedEntity.m_Handle.Get();
if ( !pEntity )
continue;
auto hEntity = pEntity->pEntityIdentity()->Handle();
if ( hEntity != CachedEntity.m_Handle )
continue;
switch ( CachedEntity.m_Type )
{
case CachedEntity_t::PLAYER_CONTROLLER:
{
auto* pCCSPlayerController = reinterpret_cast<CCSPlayerController*>( pEntity );
if ( CachedEntity.m_bDraw )
OnRenderPlayerEsp( pCCSPlayerController , CachedEntity.m_Bbox , CachedEntity.m_bVisible );
}
break;
}
}
}
auto CVisual::OnRenderPlayerEsp( CCSPlayerController* pCCSPlayerController , const Rect_t& bBox , const bool bVisible ) -> void
{
}
auto CVisual::OnClientOutput() -> void
{
OnRender();
}
auto CVisual::CalculateBoundingBoxes() -> void
{
if ( !SDK::Interfaces::EngineToClient()->IsInGame() )
return;
const auto& CachedVec = GetEntityCache()->GetCachedEntity();
std::scoped_lock Lock( GetEntityCache()->GetLock() );
for ( auto& it : *CachedVec )
{
auto pEntity = it.m_Handle.Get();
if ( !pEntity )
continue;
auto hEntity = pEntity->pEntityIdentity()->Handle();
if ( hEntity != it.m_Handle )
continue;
switch ( it.m_Type )
{
case CachedEntity_t::PLAYER_CONTROLLER:
{
auto pPlayerController = reinterpret_cast<CCSPlayerController*>( pEntity );
auto pPlayerPawn = pPlayerController->m_hPawn().Get<C_CSPlayerPawn>();
if ( pPlayerPawn && pPlayerPawn->IsPlayerPawn() && pPlayerController->m_bPawnIsAlive() )
it.m_bDraw = pPlayerPawn->GetBoundingBox( it.m_Bbox );
}
break;
}
}
}
auto GetVisual() -> CVisual*
{
return &g_CVisual;
}
@@ -0,0 +1,29 @@
#pragma once
#include <Common/Common.hpp>
#include <CS2/SDK/Math/Rect_t.hpp>
class CCSPlayerController;
class IVisual
{
public:
virtual void OnRender() = 0;
virtual void OnClientOutput() = 0;
};
class CVisual final : public IVisual
{
public:
virtual void OnRender() override;
virtual void OnClientOutput() override;
private:
auto OnRenderPlayerEsp( CCSPlayerController* pCCSPlayerController , const Rect_t& bBox , const bool bVisible ) -> void;
public:
auto CalculateBoundingBoxes() -> void;
};
auto GetVisual() -> CVisual*;
@@ -0,0 +1,102 @@
#include "CFont.hpp"
#include <AndromedaClient/CAndromedaGUI.hpp>
#include <Common/Helpers/StringHelper.hpp>
#ifndef D3DCOLOR_ABGR
#define D3DCOLOR_ABGR(a,b,g,r) \
((DWORD)((((a)&0xff)<<24)|(((b)&0xff)<<16)|(((g)&0xff)<<8)|((r)&0xff)))
#endif
auto CFont::InitFont( IFW1Factory* pFW1Factory , std::wstring Name , float FontSize ) -> void
{
m_FontSize = FontSize;
m_FontName = Name;
FW1_FONTWRAPPERCREATEPARAMS createParams;
ZeroMemory( &createParams , sizeof( createParams ) );
createParams.GlyphSheetWidth = 512;
createParams.GlyphSheetHeight = 512;
createParams.MaxGlyphCountPerSheet = 2048;
createParams.SheetMipLevels = 1;
createParams.AnisotropicFiltering = TRUE;
createParams.MaxGlyphWidth = 384;
createParams.MaxGlyphHeight = 384;
createParams.DisableGeometryShader = TRUE;
createParams.VertexBufferSize = 0;
createParams.DefaultFontParams.pszFontFamily = Name.c_str();
createParams.DefaultFontParams.FontWeight = static_cast<DWRITE_FONT_WEIGHT>( FW_MEDIUM );
createParams.DefaultFontParams.FontStyle = DWRITE_FONT_STYLE_NORMAL;
createParams.DefaultFontParams.FontStretch = DWRITE_FONT_STRETCH_NORMAL;
createParams.DefaultFontParams.pszLocale = L"";
if ( FAILED( pFW1Factory->CreateFontWrapper( GetAndromedaGUI()->GetDevice() , NULL , &createParams , &m_pFontWrapper ) ) )
{
DEV_LOG( "[error] CreateFontWrapper::%s\n" , Name.c_str() );
}
}
auto CFont::DrawString( int x , int y , ImColor Color , int Flags , const char* fmt , ... ) -> void
{
char Buffer[g_BufferSize] = { 0 };
va_list va_alist;
va_start( va_alist , fmt );
vsnprintf( Buffer , sizeof( Buffer ) , fmt , va_alist );
va_end( va_alist );
auto RenderText = ansi_to_unicode( Buffer );
DWORD dwColor = D3DCOLOR_ABGR(
static_cast<DWORD>( Color.Value.w * 255.f ) ,
static_cast<DWORD>( Color.Value.z * 255.f ) ,
static_cast<DWORD>( Color.Value.y * 255.f ) ,
static_cast<DWORD>( Color.Value.x * 255.f ) );
if ( m_pFontWrapper )
{
const auto fw1Flags = Flags | FW1_ALIASED | FW1_RESTORESTATE;
auto RenderFontWrapperText = [&]( const float x_pos , const float y_pos , DWORD color )
{
m_pFontWrapper->DrawString( GetAndromedaGUI()->GetDeviceContext() ,
RenderText.c_str() , m_FontSize ,
static_cast<FLOAT>( x_pos ) , static_cast<FLOAT>( y_pos ) , color , fw1Flags );
};
RenderFontWrapperText( static_cast<FLOAT>( x ) + 1.f , static_cast<FLOAT>( y ) + 1.f , D3DCOLOR_ABGR( static_cast<DWORD>( Color.Value.w * 255.f ) , 0 , 0 , 0 ) );
RenderFontWrapperText( static_cast<FLOAT>( x ) - 1.f , static_cast<FLOAT>( y ) + 1.f , D3DCOLOR_ABGR( static_cast<DWORD>( Color.Value.w * 255.f ) , 0 , 0 , 0 ) );
RenderFontWrapperText( static_cast<FLOAT>( x ) - 1.f , static_cast<FLOAT>( y ) - 1.f , D3DCOLOR_ABGR( static_cast<DWORD>( Color.Value.w * 255.f ) , 0 , 0 , 0 ) );
RenderFontWrapperText( static_cast<FLOAT>( x ) + 1.f , static_cast<FLOAT>( y ) - 1.f , D3DCOLOR_ABGR( static_cast<DWORD>( Color.Value.w * 255.f ) , 0 , 0 , 0 ) );
RenderFontWrapperText( static_cast<FLOAT>( x ) , static_cast<FLOAT>( y ) , dwColor );
}
}
auto CFont::DrawString( ImVec2 Pos , ImColor Color , int Flags , const char* fmt , ... ) -> void
{
char Buffer[g_BufferSize] = { 0 };
va_list va_alist;
va_start( va_alist , fmt );
vsnprintf( Buffer , sizeof( Buffer ) , fmt , va_alist );
va_end( va_alist );
DrawString( static_cast<int>( Pos.x ) , static_cast<int>( Pos.y ) , Color , Flags , Buffer );
}
auto CFont::GetStringLayoutRect( int Flags , FW1_RECTF* pRECTF , const char* fmt , ... ) -> FW1_RECTF
{
char Buffer[g_BufferSize] = { 0 };
va_list va_alist;
va_start( va_alist , fmt );
vsnprintf( Buffer , sizeof( Buffer ) , fmt , va_alist );
va_end( va_alist );
auto TextToLayoutRect = ansi_to_unicode( Buffer );
return m_pFontWrapper->MeasureString( TextToLayoutRect.c_str() , m_FontName.c_str() , m_FontSize , pRECTF , Flags );
}
@@ -0,0 +1,31 @@
#pragma once
#include <Common/Common.hpp>
#include <ImGui/imgui.h>
#include <FW1FontWrapper/FW1FontWrapper.h>
class CFont final
{
public:
auto InitFont( IFW1Factory* pFW1Factory , std::wstring Name , float FontSize = 12.f ) -> void;
public:
auto DrawString( int x , int y , ImColor Color , int Flags , const char* fmt , ... ) -> void;
auto DrawString( ImVec2 Pos , ImColor Color , int Flags , const char* fmt , ... ) -> void;
auto GetStringLayoutRect( int Flags , FW1_RECTF* pRECTF , const char* fmt , ... ) -> FW1_RECTF;
public:
inline auto GetFontSize() -> float
{
return m_FontSize;
}
private:
IFW1FontWrapper* m_pFontWrapper = nullptr;
std::wstring m_FontName;
float m_FontSize = 0.f;
private:
static constexpr auto g_BufferSize = 64;
};
@@ -0,0 +1,27 @@
#include "CFontManager.hpp"
static CFontManager g_CFontManager{};
auto CFontManager::FirstInitFonts() -> void
{
if ( !m_bInit )
{
if ( FAILED( FW1CreateFactory( FW1_VERSION , &m_pFW1Factory ) ) )
{
DEV_LOG( "[error] FW1CreateFactory\n" );
m_bInit = true;
return;
}
m_VerdanaFont.InitFont( m_pFW1Factory , L"Verdana" , 11.f );
m_pFW1Factory->Release();
m_bInit = true;
}
}
auto GetFontManager() -> CFontManager*
{
return &g_CFontManager;
}
@@ -0,0 +1,23 @@
#pragma once
#include <Common/Common.hpp>
#include <FW1FontWrapper/FW1FontWrapper.h>
#include <AndromedaClient/Fonts/CFont.hpp>
class CFontManager final
{
public:
auto FirstInitFonts() -> void;
public:
CFont m_VerdanaFont;
private:
IFW1Factory* m_pFW1Factory = nullptr;
private:
bool m_bInit = false;
};
auto GetFontManager() -> CFontManager*;
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,29 @@
#include "CAndromedaMenu.hpp"
#include <ImGui/imgui.h>
#include <AndromedaClient/Settings/Settings.hpp>
static CAndromedaMenu g_CAndromedaMenu{};
auto CAndromedaMenu::OnRenderMenu() -> void
{
const float MenuAlpha = static_cast<float>( Settings::Misc::MenuAlpha ) / 255.f;
ImGui::PushStyleVar( ImGuiStyleVar_Alpha , MenuAlpha );
ImGui::SetNextWindowSize( ImVec2( 500 , 500 ) , ImGuiCond_FirstUseEver );
if ( ImGui::Begin( XorStr( CHEAT_NAME ) , 0 ) )
{
}
ImGui::End();
ImGui::PopStyleVar();
}
auto GetAndromedaMenu() -> CAndromedaMenu*
{
return &g_CAndromedaMenu;
}
@@ -0,0 +1,11 @@
#pragma once
#include <Common/Common.hpp>
class CAndromedaMenu final
{
public:
auto OnRenderMenu() -> void;
};
auto GetAndromedaMenu() -> CAndromedaMenu*;
@@ -0,0 +1,198 @@
#include "CRender.hpp"
static CRender g_CRender{};
auto CRender::DrawLine( const ImVec2& Start , const ImVec2& End , const ImColor& Color , float thickness ) -> void
{
auto pBackgroundDrawList = ImGui::GetBackgroundDrawList();
if ( !pBackgroundDrawList )
return;
pBackgroundDrawList->AddLine( Start , End , Color , thickness );
}
auto CRender::DrawBox( const ImVec2& Min , const ImVec2& Max , const ImColor& Color ) -> void
{
auto pBackgroundDrawList = ImGui::GetBackgroundDrawList();
if ( !pBackgroundDrawList )
return;
pBackgroundDrawList->AddRect( Min , Max , Color );
}
auto CRender::DrawOutlineBox( const ImVec2& Min , const ImVec2& Max , const ImColor& Color ) -> void
{
auto pBackgroundDrawList = ImGui::GetBackgroundDrawList();
if ( !pBackgroundDrawList )
return;
const ImVec2 MinBlack1 = Min - ImVec2{ 1.f, 1.f };
const ImVec2 MaxBlack1 = Max + ImVec2{ 1.f, 1.f };
const ImVec2 MinBlack2 = Min + ImVec2{ 1.f, 1.f };
const ImVec2 MaxBlack2 = Max - ImVec2{ 1.f, 1.f };
const ImColor BlackColor = IM_COL32( 0 , 0 , 0 , 255 );
DrawBox( MinBlack1 , MaxBlack1 , BlackColor );
DrawBox( MinBlack2 , MaxBlack2 , BlackColor );
DrawBox( Min , Max , Color );
}
auto CRender::DrawCoalBox( const ImVec2& Min , const ImVec2& Max , const ImColor& Color ) -> void
{
const auto w = Max.x - Min.x;
const auto h = Max.y - Min.y;
const auto iw = roundf( w / 4.f );
const auto ih = roundf( h / 4.f );
// top
DrawLine( ImVec2( Min.x , Min.y ) , ImVec2( Min.x + iw , Min.y ) , Color ); // left _
DrawLine( ImVec2( Min.x + w - iw , Min.y ) , ImVec2( Min.x + w , Min.y ) , Color ); // right _
DrawLine( ImVec2( Min.x , Min.y ) , ImVec2( Min.x , Min.y + ih ) , Color ); // top left |
DrawLine( ImVec2( Min.x + w , Min.y ) , ImVec2( Min.x + w , Min.y + ih ) , Color ); // top right |
// bottom
DrawLine( ImVec2( Min.x , Min.y + h ) , ImVec2( Min.x + iw , Min.y + h ) , Color ); // left _
DrawLine( ImVec2( Min.x + w - iw , Min.y + h ) , ImVec2( Min.x + w , Min.y + h ) , Color ); // right _
DrawLine( ImVec2( Min.x , Min.y + h - ih ) , ImVec2( Min.x , Min.y + h ) , Color ); // bottom left |
DrawLine( ImVec2( Min.x + w , Min.y + h - ih ) , ImVec2( Min.x + w , Min.y + h + 1.f ) , Color ); // bottom right |
}
auto CRender::DrawOutlineCoalBox( const ImVec2& Min , const ImVec2& Max , const ImColor& Color ) -> void
{
const auto BlackColor = ImColor( 0 , 0 , 0 );
const auto w = Max.x - Min.x;
const auto h = Max.y - Min.y;
const auto iw = roundf( w / 4.f );
const auto ih = roundf( h / 4.f );
DrawCoalBox( Min , Max , BlackColor );
DrawCoalBox( Min + ImVec2( 1.f , 1.f ) , Max - ImVec2( 1.f , 1.f ) , Color );
DrawCoalBox( Min + ImVec2( 2.f , 2.f ) , Max - ImVec2( 2.f , 2.f ) , BlackColor );
// top left left
DrawLine( ImVec2( Min.x , Min.y + ih ) , ImVec2( Min.x + 3.f , Min.y + ih ) , BlackColor );
// top right right
DrawLine( ImVec2( Min.x + w - 2.f , Min.y + ih ) , ImVec2( Min.x + w + 1.f , Min.y + ih ) , BlackColor );
// top left top
DrawLine( ImVec2( Min.x + iw , Min.y ) , ImVec2( Min.x + iw , Min.y + 3.f ) , BlackColor );
// top right top
DrawLine( ImVec2( Min.x + w - iw - 1.f , Min.y ) , ImVec2( Min.x + w - iw - 1.f , Min.y + 3.f ) , BlackColor );
// bottom left left
DrawLine( ImVec2( Min.x , Min.y + h - ih - 1.f ) , ImVec2( Min.x + 3.f , Min.y + h - ih - 1.f ) , BlackColor );
// bottom right right
DrawLine( ImVec2( Min.x + w - 2.f , Min.y + h - ih - 1.f ) , ImVec2( Min.x + w + 1.f , Min.y + h - ih - 1.f ) , BlackColor );
// bottom left bottom
DrawLine( ImVec2( Min.x + iw , Min.y + h - 2.f ) , ImVec2( Min.x + iw , Min.y + h + 1.f ) , BlackColor );
// bottom right bottom
DrawLine( ImVec2( Min.x + w - iw - 1.f , Min.y + h - 2.f ) , ImVec2( Min.x + w - iw - 1.f , Min.y + h + 1.f ) , BlackColor );
}
auto CRender::DrawFillBox( const ImVec2& Min , const ImVec2& Max , const ImColor& Color ) -> void
{
auto pBackgroundDrawList = ImGui::GetBackgroundDrawList();
if ( !pBackgroundDrawList )
return;
pBackgroundDrawList->AddRectFilled( Min , Max , Color );
}
auto CRender::DrawRectFilledMultiColor( const ImVec2& Min , const ImVec2& Max , const ImU32 col_upr_left , const ImU32 col_upr_right , const ImU32 col_bot_right , const ImU32 col_bot_left ) -> void
{
auto pBackgroundDrawList = ImGui::GetBackgroundDrawList();
if ( !pBackgroundDrawList )
return;
pBackgroundDrawList->AddRectFilledMultiColor( Min , Max , col_upr_left , col_upr_right , col_bot_right , col_bot_left );
}
auto CRender::DrawCircle( const ImVec2& Center , float radius , const ImColor& Color ) -> void
{
auto pBackgroundDrawList = ImGui::GetBackgroundDrawList();
if ( !pBackgroundDrawList )
return;
pBackgroundDrawList->AddCircle( Center , radius , Color );
}
auto CRender::DrawCircleFilled( const ImVec2& Center , float radius , const ImColor& Color ) -> void
{
auto pBackgroundDrawList = ImGui::GetBackgroundDrawList();
if ( !pBackgroundDrawList )
return;
pBackgroundDrawList->AddCircleFilled( Center , radius , Color );
}
auto CRender::DrawCircle3D( const Vector3& Center , float radius , const ImColor& Color ) -> void
{
static float Step = M_PI_F * 2.0f / 40.f;
ImVec2 prev;
static constexpr auto LineSize = 1.f;
for ( float lat = 0.f; lat <= M_PI * 2.0f + 0.1f; lat += Step )
{
float sin1 = sinf( lat );
float cos1 = cosf( lat );
float sin3 = sinf( 0.0f );
float cos3 = cosf( 0.0f );
ImVec2 Out;
Vector3 point1 = Vector3( sin1 * cos3 , cos1 , sin1 * sin3 ) * radius;
Vector3 point2 = Center + point1;
if ( Math::WorldToScreen( point2 , Out ) )
{
if ( lat > 0.01f )
{
if ( prev.x > 0.f && prev.y > 0.f && Out.x > 0.f && Out.y > 0.f )
{
DrawLine( prev , Out , Color , LineSize );
}
}
}
prev = Out;
}
}
auto CRender::DrawTriangleFilled( const ImVec2& Center , const ImVec2& Pos1 , const ImVec2& Pos2 , const ImColor& Color ) -> void
{
auto pBackgroundDrawList = ImGui::GetBackgroundDrawList();
if ( !pBackgroundDrawList )
return;
ImGui::GetBackgroundDrawList()->AddTriangleFilled( Center , Pos1 , Pos2 , Color );
}
auto CRender::DrawImage( ID3D11ShaderResourceView* pD3D11ShaderResourceView , const float x , const float y , const float w , const float h ) -> void
{
auto pBackgroundDrawList = ImGui::GetBackgroundDrawList();
if ( !pBackgroundDrawList )
return;
ImGui::GetBackgroundDrawList()->AddImage( reinterpret_cast<ImTextureID>( pD3D11ShaderResourceView ) , ImVec2( x , y ) , ImVec2( x + w , y + h ) );
}
auto GetRender() -> CRender*
{
return &g_CRender;
}
@@ -0,0 +1,29 @@
#pragma once
#include <Common/Common.hpp>
#include <ImGui/imgui.h>
#include <CS2/SDK/Math/Math.hpp>
struct ID3D11ShaderResourceView;
class CRender final
{
public:
auto DrawLine( const ImVec2& Start , const ImVec2& End , const ImColor& Color , float thickness = 1.f ) -> void;
auto DrawBox( const ImVec2& Min , const ImVec2& Max , const ImColor& Color ) -> void;
auto DrawOutlineBox( const ImVec2& Min , const ImVec2& Max , const ImColor& Color ) -> void;
auto DrawCoalBox( const ImVec2& Min , const ImVec2& Max , const ImColor& Color ) -> void;
auto DrawOutlineCoalBox( const ImVec2& Min , const ImVec2& Max , const ImColor& Color ) -> void;
auto DrawFillBox( const ImVec2& Min , const ImVec2& Max , const ImColor& Color ) -> void;
auto DrawRectFilledMultiColor( const ImVec2& Min , const ImVec2& Max , const ImU32 col_upr_left , const ImU32 col_upr_right , const ImU32 col_bot_right , const ImU32 col_bot_left ) -> void;
auto DrawCircle( const ImVec2& Center , float radius , const ImColor& Color ) -> void;
auto DrawCircleFilled( const ImVec2& Center , float radius , const ImColor& Color ) -> void;
auto DrawCircle3D( const Vector3& Center , float radius , const ImColor& Color ) -> void;
auto DrawTriangleFilled( const ImVec2& Center , const ImVec2& Pos1 , const ImVec2& Pos2 , const ImColor& Color ) -> void;
public:
auto DrawImage( ID3D11ShaderResourceView* pD3D11ShaderResourceView , const float x , const float y , const float w , const float h ) -> void;
};
auto GetRender() -> CRender*;
@@ -0,0 +1,195 @@
#include "CRenderStackSystem.hpp"
#include "CRender.hpp"
static CRenderStackSystem g_CRenderStackSystem{};
auto CRenderObjectDrawLine::OnRender() -> void
{
GetRender()->DrawLine( m_Start , m_End , m_Color , m_Thickness );
}
auto CRenderObjectDrawBox::OnRender() -> void
{
GetRender()->DrawBox( m_Min , m_Max , m_Color );
}
auto CRenderObjectDrawOutlineBox::OnRender() -> void
{
GetRender()->DrawOutlineBox( m_Min , m_Max , m_Color );
}
auto CRenderObjectDrawCoalBox::OnRender() -> void
{
GetRender()->DrawCoalBox( m_Min , m_Max , m_Color );
}
auto CRenderObjectDrawOutlineCoalBox::OnRender() -> void
{
GetRender()->DrawOutlineCoalBox( m_Min , m_Max , m_Color );
}
auto CRenderObjectDrawFillBox::OnRender() -> void
{
GetRender()->DrawFillBox( m_Min , m_Max , m_Color );
}
auto CRenderObjectDrawRectFilledMultiColor::OnRender() -> void
{
GetRender()->DrawRectFilledMultiColor( m_Min , m_Max , m_Col_upr_left , m_Col_upr_right , m_Col_bot_right , m_Col_bot_left );
}
auto CRenderObjectDrawCircle::OnRender() -> void
{
GetRender()->DrawCircle( m_Center , m_flRadius , m_Color );
}
auto CRenderObjectDrawCircleFilled::OnRender() -> void
{
GetRender()->DrawCircleFilled( m_Center , m_flRadius , m_Color );
}
auto CRenderObjectDrawCircle3D::OnRender() -> void
{
GetRender()->DrawCircle3D( m_Center , m_flRadius , m_Color );
}
auto CRenderObjectDrawTriangleFilled::OnRender() -> void
{
GetRender()->DrawTriangleFilled( m_Center , m_pos1 , m_pos2 , m_Color );
}
auto CRenderObjectDrawString::OnRender() -> void
{
m_pFont->DrawString( m_x , m_y , m_Color , m_Flags , "%s" , m_Text.c_str() );
}
auto CRenderStackSystem::DrawLine( const ImVec2& Start , const ImVec2& End , const ImColor& Color , const float thickness ) -> void
{
std::scoped_lock lock( m_Lock );
m_vecUpdateBuffer.emplace_back( std::make_shared<CRenderObjectDrawLine>( Start , End , Color , thickness ) );
}
auto CRenderStackSystem::DrawBox( const ImVec2& Min , const ImVec2& Max , const ImColor& Color ) -> void
{
std::scoped_lock lock( m_Lock );
m_vecUpdateBuffer.emplace_back( std::make_shared<CRenderObjectDrawBox>( Min , Max , Color ) );
}
auto CRenderStackSystem::DrawOutlineBox( const ImVec2& Min , const ImVec2& Max , const ImColor& Color ) -> void
{
std::scoped_lock lock( m_Lock );
m_vecUpdateBuffer.emplace_back( std::make_shared<CRenderObjectDrawOutlineBox>( Min , Max , Color ) );
}
auto CRenderStackSystem::DrawCoalBox( const ImVec2& Min , const ImVec2& Max , const ImColor& Color ) -> void
{
std::scoped_lock lock( m_Lock );
m_vecUpdateBuffer.push_back( std::make_shared<CRenderObjectDrawCoalBox>( Min , Max , Color ) );
}
auto CRenderStackSystem::DrawOutlineCoalBox( const ImVec2& Min , const ImVec2& Max , const ImColor& Color ) -> void
{
std::scoped_lock lock( m_Lock );
m_vecUpdateBuffer.emplace_back( std::make_shared<CRenderObjectDrawOutlineCoalBox>( Min , Max , Color ) );
}
auto CRenderStackSystem::DrawFillBox( const ImVec2& Min , const ImVec2& Max , const ImColor& Color ) -> void
{
std::scoped_lock lock( m_Lock );
m_vecUpdateBuffer.emplace_back( std::make_shared<CRenderObjectDrawFillBox>( Min , Max , Color ) );
}
auto CRenderStackSystem::DrawRectFilledMultiColor( const ImVec2& Min , const ImVec2& Max , const ImU32 col_upr_left , const ImU32 col_upr_right , const ImU32 col_bot_right , const ImU32 col_bot_left ) -> void
{
std::scoped_lock lock( m_Lock );
m_vecUpdateBuffer.emplace_back( std::make_shared<CRenderObjectDrawRectFilledMultiColor>( Min , Max , col_upr_left , col_upr_right , col_bot_right , col_bot_left ) );
}
auto CRenderStackSystem::DrawCircle( const ImVec2& Center , float radius , const ImColor& Color ) -> void
{
std::scoped_lock lock( m_Lock );
m_vecUpdateBuffer.emplace_back( std::make_shared<CRenderObjectDrawCircle>( Center , radius , Color ) );
}
auto CRenderStackSystem::DrawCircleFilled( const ImVec2& Center , const float radius , const ImColor& Color ) -> void
{
std::scoped_lock lock( m_Lock );
m_vecUpdateBuffer.emplace_back( std::make_shared<CRenderObjectDrawCircleFilled>( Center , radius , Color ) );
}
auto CRenderStackSystem::DrawCircle3D( const Vector3& Center , float radius , const ImColor& Color ) -> void
{
std::scoped_lock lock( m_Lock );
m_vecUpdateBuffer.emplace_back( std::make_shared<CRenderObjectDrawCircle3D>( Center , radius , Color ) );
}
auto CRenderStackSystem::DrawTriangleFilled( const ImVec2& Center , const ImVec2& pos1 , const ImVec2& pos2 , const ImColor& Color ) -> void
{
std::scoped_lock lock( m_Lock );
m_vecUpdateBuffer.emplace_back( std::make_shared<CRenderObjectDrawTriangleFilled>( Center , pos1 , pos2 , Color ) );
}
// TODO: SURIK std::format - kruto, ETO HUETA EBANAYA
auto CRenderStackSystem::DrawString( CFont* pFont , const int X , const int Y , const int Flags , const ImColor& Color , const char* fmt , ... ) -> void
{
char Buffer[g_BufferSize] = { 0 };
va_list va_alist;
va_start( va_alist , fmt );
vsnprintf( Buffer , sizeof( Buffer ) , fmt , va_alist );
va_end( va_alist );
std::scoped_lock lock( m_Lock );
m_vecUpdateBuffer.emplace_back( std::make_shared<CRenderObjectDrawString>( pFont , X , Y , Flags , Color , Buffer ) );
}
auto CRenderStackSystem::DrawString( CFont* pFont , const ImVec2& Pos , const int Flags , const ImColor& Color , const char* fmt , ... ) -> void
{
char Buffer[g_BufferSize] = { 0 };
va_list va_alist;
va_start( va_alist , fmt );
vsnprintf( Buffer , sizeof( Buffer ) , fmt , va_alist );
va_end( va_alist );
DrawString( pFont , static_cast<int>( Pos.x ) , static_cast<int>( Pos.y ) , Flags , Color , Buffer );
}
auto CRenderStackSystem::OnClientOutput() -> void
{
std::scoped_lock lock( m_Lock );
if ( m_vecUpdateBuffer.empty() )
{
// Nothing has been drawn on this frame
m_pSharedBuffer = std::make_shared<RenderObjectsVec_t>();
m_bSharedBufferReady = true;
return;
}
m_pSharedBuffer = std::make_shared<RenderObjectsVec_t>( std::move( m_vecUpdateBuffer ) );
m_bSharedBufferReady = true;
}
auto CRenderStackSystem::OnRenderStack() -> void
{
if ( m_bSharedBufferReady.exchange( false ) )
{
m_pRenderBuffer = std::move( m_pSharedBuffer.load() );
}
if ( m_pRenderBuffer )
{
auto& bufferCopy = *m_pRenderBuffer;
for ( auto& order : bufferCopy )
{
order->OnRender();
}
}
}
auto GetRenderStackSystem() -> CRenderStackSystem*
{
return &g_CRenderStackSystem;
}
@@ -0,0 +1,285 @@
#pragma once
#include <vector>
#include <ImGui/imgui.h>
#include <Common/Common.hpp>
#include <CS2/SDK/Math/Vector3.hpp>
#include <AndromedaClient/Fonts/CFont.hpp>
// RenderObject:
class IRenderObject
{
public:
virtual void OnRender() = 0;
};
// Render Classes:
class CRenderObjectDrawLine final : public IRenderObject
{
public:
CRenderObjectDrawLine( const ImVec2& Start , const ImVec2& End , const ImColor& Color , const float thickness = 1.f ) :
m_Start( Start ) , m_End( End ) , m_Color( Color ) , m_Thickness( thickness )
{
};
public:
virtual void OnRender() override;
private:
ImVec2 m_Start;
ImVec2 m_End;
ImColor m_Color;
float m_Thickness = 1.f;
};
class CRenderObjectDrawBox final : public IRenderObject
{
public:
CRenderObjectDrawBox( const ImVec2& Min , const ImVec2& Max , const ImColor& Color ) :
m_Min( Min ) , m_Max( Max ) , m_Color( Color )
{
};
public:
virtual void OnRender() override;
private:
ImVec2 m_Min , m_Max;
ImColor m_Color;
};
class CRenderObjectDrawOutlineBox final : public IRenderObject
{
public:
CRenderObjectDrawOutlineBox( const ImVec2& Min , const ImVec2& Max , const ImColor& Color ) :
m_Min( Min ) , m_Max( Max ) , m_Color( Color )
{
};
public:
virtual void OnRender() override;
private:
ImVec2 m_Min , m_Max;
ImColor m_Color;
};
class CRenderObjectDrawCoalBox final : public IRenderObject
{
public:
CRenderObjectDrawCoalBox( const ImVec2& Min , const ImVec2& Max , const ImColor& Color ) :
m_Min( Min ) , m_Max( Max ) , m_Color( Color )
{
};
public:
virtual void OnRender() override;
private:
ImVec2 m_Min , m_Max;
ImColor m_Color;
};
class CRenderObjectDrawOutlineCoalBox final : public IRenderObject
{
public:
CRenderObjectDrawOutlineCoalBox( const ImVec2& Min , const ImVec2& Max , const ImColor& Color ) :
m_Min( Min ) , m_Max( Max ) , m_Color( Color )
{
};
public:
virtual void OnRender() override;
private:
ImVec2 m_Min , m_Max;
ImColor m_Color;
};
class CRenderObjectDrawFillBox final : public IRenderObject
{
public:
CRenderObjectDrawFillBox( const ImVec2& Min , const ImVec2& Max , const ImColor& Color ) :
m_Min( Min ) , m_Max( Max ) , m_Color( Color )
{
};
public:
virtual void OnRender() override;
private:
ImVec2 m_Min , m_Max;
ImColor m_Color;
};
class CRenderObjectDrawRectFilledMultiColor final : public IRenderObject
{
public:
CRenderObjectDrawRectFilledMultiColor( const ImVec2& Min , const ImVec2& Max ,
const ImU32 col_upr_left ,
const ImU32 col_upr_right ,
const ImU32 col_bot_right ,
const ImU32 col_bot_left ) :
m_Min( Min ) , m_Max( Max ) ,
m_Col_upr_left( col_upr_left ) ,
m_Col_upr_right( col_upr_right ) ,
m_Col_bot_right( col_bot_right ) ,
m_Col_bot_left( col_bot_left )
{
};
public:
virtual void OnRender() override;
private:
ImVec2 m_Min , m_Max;
ImU32 m_Col_upr_left , m_Col_upr_right , m_Col_bot_right , m_Col_bot_left;
};
class CRenderObjectDrawCircle final : public IRenderObject
{
public:
CRenderObjectDrawCircle( const ImVec2& Center , float radius , const ImColor& Color ) :
m_Center( Center ) , m_flRadius( radius ) , m_Color( Color )
{
};
public:
virtual void OnRender() override;
private:
ImVec2 m_Center;
float m_flRadius;
ImColor m_Color;
};
class CRenderObjectDrawCircleFilled final : public IRenderObject
{
public:
CRenderObjectDrawCircleFilled( const ImVec2& Center , float radius , const ImColor& Color ) :
m_Center( Center ) , m_flRadius( radius ) , m_Color( Color )
{
};
public:
virtual void OnRender() override;
private:
ImVec2 m_Center;
float m_flRadius;
ImColor m_Color;
};
class CRenderObjectDrawCircle3D final : public IRenderObject
{
public:
CRenderObjectDrawCircle3D( const Vector3& Center , float radius , const ImColor& Color ) :
m_Center( Center ) , m_flRadius( radius ) , m_Color( Color )
{
};
public:
virtual void OnRender() override;
private:
Vector3 m_Center;
float m_flRadius;
ImColor m_Color;
};
class CRenderObjectDrawTriangleFilled final : public IRenderObject
{
public:
CRenderObjectDrawTriangleFilled( const ImVec2& Center , const ImVec2& pos1 , const ImVec2& pos2 , const ImColor& Color ) :
m_Center( Center ) , m_pos1( pos1 ) , m_pos2( pos2 ) , m_Color( Color )
{
};
public:
virtual void OnRender() override;
private:
ImVec2 m_Center , m_pos1 , m_pos2;
ImColor m_Color;
};
class CRenderObjectDrawString final : public IRenderObject
{
public:
CRenderObjectDrawString( CFont* pFont , const int X , const int Y , const int Flags , const ImColor& Color , const char* szText ) :
m_pFont( pFont ) , m_x( X ) , m_y( Y ) , m_Flags( Flags ) , m_Color( Color ) , m_Text( szText )
{
};
public:
virtual void OnRender() override;
private:
CFont* m_pFont = nullptr;
int m_x = 0;
int m_y = 0;
int m_Flags = FW1_CENTER;
ImColor m_Color;
std::string m_Text;
};
class CRenderObjectDrawWeaponIcon final : public IRenderObject
{
public:
CRenderObjectDrawWeaponIcon( const char* m_pszItemBaseName , const float x , const float y ) :
m_ItemBaseName( m_pszItemBaseName ) , m_x( x ) , m_y( y )
{
};
public:
virtual void OnRender() override;
private:
std::string m_ItemBaseName;
float m_x , m_y;
};
// Stack System:
class CRenderStackSystem final
{
using RenderObjectsVec_t = std::vector<std::shared_ptr<IRenderObject>>;
using Lock_t = std::mutex;
public:
auto DrawLine( const ImVec2& Start , const ImVec2& End , const ImColor& Color , const float thickness = 1.f ) -> void;
auto DrawBox( const ImVec2& Min , const ImVec2& Max , const ImColor& Color ) -> void;
auto DrawOutlineBox( const ImVec2& Min , const ImVec2& Max , const ImColor& Color ) -> void;
auto DrawCoalBox( const ImVec2& Min , const ImVec2& Max , const ImColor& Color ) -> void;
auto DrawOutlineCoalBox( const ImVec2& Min , const ImVec2& Max , const ImColor& Color ) -> void;
auto DrawFillBox( const ImVec2& Min , const ImVec2& Max , const ImColor& Color ) -> void;
auto DrawRectFilledMultiColor( const ImVec2& Min , const ImVec2& Max , const ImU32 col_upr_left , const ImU32 col_upr_right , const ImU32 col_bot_right , const ImU32 col_bot_left ) -> void;
auto DrawCircle( const ImVec2& Center , float radius , const ImColor& Color ) -> void;
auto DrawCircleFilled( const ImVec2& Center , const float radius , const ImColor& Color ) -> void;
auto DrawCircle3D( const Vector3& Center , float radius , const ImColor& Color ) -> void;
auto DrawTriangleFilled( const ImVec2& Center , const ImVec2& pos1 , const ImVec2& pos2 , const ImColor& Color ) -> void;
public:
auto DrawString( CFont* pFont , const int X , const int Y , const int Flags , const ImColor& Color , const char* fmt , ... ) -> void;
auto DrawString( CFont* pFont , const ImVec2& Pos , const int Flags , const ImColor& Color , const char* fmt , ... ) -> void;
public:
auto OnClientOutput() -> void;
auto OnRenderStack() -> void;
private:
RenderObjectsVec_t m_vecUpdateBuffer; // Update buffer, lock is used for it
std::atomic<std::shared_ptr<RenderObjectsVec_t>> m_pSharedBuffer; // Shared buffer, m_bSharedBufferReady notices about update
std::atomic_bool m_bSharedBufferReady = false;
std::shared_ptr<RenderObjectsVec_t> m_pRenderBuffer; // Present buffer
Lock_t m_Lock;
private:
static constexpr auto g_BufferSize = 64;
};
auto GetRenderStackSystem() -> CRenderStackSystem*;
@@ -0,0 +1,250 @@
#include "CSettingsJson.hpp"
#include "DllLauncher.hpp"
#include <filesystem>
#include <fstream>
#include <GameClient/CL_ItemDefinition.hpp>
static CSettingsJson g_CSettingsJson{};
auto CSettingsJson::LoadConfig( const std::string& JsonFile ) -> void
{
auto ConfigLoadedIndex = 0u;
const auto ConfigFilePath = GetDllDir() + JsonFile;
for ( const auto& Config : m_vecConfigList )
{
if ( Config == JsonFile )
{
m_nConfigLoadedIndex = ConfigLoadedIndex;
break;
}
ConfigLoadedIndex++;
}
std::ifstream ConfigFile( ConfigFilePath );
rapidjson::IStreamWrapper StreamWrapper( ConfigFile );
rapidjson::Document DocumentConfig;
DocumentConfig.ParseStream( StreamWrapper );
if ( !DocumentConfig.HasParseError() )
{
}
else
{
DEV_LOG( "[error] LoadConfig: %s -> %s , %i\n" , ConfigFilePath.c_str() , rapidjson::GetParseError_En( DocumentConfig.GetParseError() ), DocumentConfig.GetErrorOffset() );
}
DocumentConfig.Clear();
ConfigFile.close();
}
auto CSettingsJson::SaveConfig( const std::string& JsonFile ) -> void
{
const auto ConfigFilePath = GetDllDir() + JsonFile;
std::ofstream ConfigFile( ConfigFilePath );
rapidjson::OStreamWrapper StreamWrapper( ConfigFile );
rapidjson::PrettyWriter<rapidjson::OStreamWrapper> ConfigWriter( StreamWrapper );
ConfigWriter.SetIndent( '\t' , 1 );
ConfigWriter.SetFormatOptions( rapidjson::PrettyFormatOptions::kFormatSingleLineArray );
ConfigWriter.SetMaxDecimalPlaces( 2 );
ConfigWriter.StartObject();
{
ConfigWriter.String( XorStr( "Settings" ) );
{
ConfigWriter.StartObject();
{
}
ConfigWriter.EndObject();
}
}
ConfigWriter.EndObject();
ConfigFile.close();
}
auto CSettingsJson::DeleteConfig( const std::string& JsonFile ) -> void
{
const auto ConfigFilePath = GetDllDir() + JsonFile;
DeleteFileA( ConfigFilePath.c_str() );
}
auto CSettingsJson::UpdateConfigList() -> void
{
m_vecConfigList.clear();
for ( const auto& Entry : std::filesystem::directory_iterator( GetDllDir().c_str() ) )
{
if ( Entry.is_regular_file() )
{
if ( Entry.path().extension().string() == XorStr( ".json" ) )
m_vecConfigList.emplace_back( Entry.path().filename().string() );
}
}
}
auto CSettingsJson::GetIntJson( const rapidjson::Value& JsonValue , const char* Name , int& Output , const int Min , const int Max ) -> void
{
if ( !JsonValue.IsNull() && JsonValue.HasMember( Name ) )
{
auto& Value = JsonValue[Name];
if ( !Value.IsNull() && Value.IsInt() )
{
const auto IntValue = Value.GetInt();
if ( IntValue < Min )
Output = Min;
else if ( IntValue > Max )
Output = Max;
else
Output = IntValue;
}
}
}
auto CSettingsJson::GetBoolJson( const rapidjson::Value& JsonValue , const char* Name , bool& Output ) -> void
{
if ( !JsonValue.IsNull() && JsonValue.HasMember( Name ) )
{
auto& Value = JsonValue[Name];
if ( !Value.IsNull() && Value.IsBool() )
Output = Value.GetBool();
}
}
auto CSettingsJson::GetFloatJson( const rapidjson::Value& JsonValue , const char* Name , float& Output , const float Min , const float Max ) -> void
{
if ( !JsonValue.IsNull() && JsonValue.HasMember( Name ) )
{
auto& Value = JsonValue[Name];
if ( !Value.IsNull() && Value.IsFloat() )
{
Output = std::clamp( Value.GetFloat() , Min , Max );
}
}
}
auto CSettingsJson::GetColorJson( const rapidjson::Value& JsonValue , const char* Name , float* Output ) -> void
{
if ( !JsonValue.IsNull() && JsonValue.HasMember( Name ) )
{
auto& Value = JsonValue[Name];
if ( !Value.IsNull() && Value.IsArray() && Value.GetArray().Size() == 4 )
{
Output[0] = Value.GetArray()[0].GetFloat();
Output[1] = Value.GetArray()[1].GetFloat();
Output[2] = Value.GetArray()[2].GetFloat();
Output[3] = Value.GetArray()[3].GetFloat();
Output[0] = std::clamp( Output[0] , 0.f , 1.f );
Output[1] = std::clamp( Output[1] , 0.f , 1.f );
Output[2] = std::clamp( Output[2] , 0.f , 1.f );
Output[3] = std::clamp( Output[3] , 0.f , 1.f );
}
}
}
auto CSettingsJson::GetStringJson( const rapidjson::Value& JsonValue , const char* Name , std::string& Output ) -> void
{
if ( !JsonValue.IsNull() && JsonValue.HasMember( Name ) )
{
auto& Value = JsonValue[Name];
if ( Value.IsString() )
{
Output = Value.GetString();
}
}
}
auto CSettingsJson::GetBoneSelectedJson( const rapidjson::Value& JsonValue , const char* Name , bool* Output ) -> void
{
if ( !JsonValue.IsNull() && JsonValue.HasMember( Name ) )
{
auto& Value = JsonValue[Name];
if ( !Value.IsNull() && Value.IsArray() && Value.GetArray().Size() == 4 )
{
Output[0] = Value.GetArray()[0].GetBool();
Output[1] = Value.GetArray()[1].GetBool();
Output[2] = Value.GetArray()[2].GetBool();
Output[3] = Value.GetArray()[3].GetBool();
}
}
}
auto CSettingsJson::AddIntJson( rapidjson::PrettyWriter<rapidjson::OStreamWrapper>& Writer , const char* Name , const int& Output ) -> void
{
Writer.String( Name );
Writer.Int( Output );
}
auto CSettingsJson::AddUInt64Json( rapidjson::PrettyWriter<rapidjson::OStreamWrapper>& Writer , const char* Name , const uint64_t& Output ) -> void
{
Writer.String( Name );
Writer.Uint64( Output );
}
auto CSettingsJson::AddBoolJson( rapidjson::PrettyWriter<rapidjson::OStreamWrapper>& Writer , const char* Name , const bool& Output ) -> void
{
Writer.String( Name );
Writer.Bool( Output );
}
auto CSettingsJson::AddStringJson( rapidjson::PrettyWriter<rapidjson::OStreamWrapper>& Writer , const char* Name , const std::string& Output ) -> void
{
Writer.String( Name );
Writer.String( Output.c_str() );
}
auto CSettingsJson::AddFloatJson( rapidjson::PrettyWriter<rapidjson::OStreamWrapper>& Writer , const char* Name , const float& Output ) -> void
{
Writer.String( Name );
Writer.Double( static_cast<double>( Output ) );
}
auto CSettingsJson::AddColorJson( rapidjson::PrettyWriter<rapidjson::OStreamWrapper>& Writer , const char* Name , const float* Output ) -> void
{
Writer.String( Name );
Writer.StartArray();
Writer.Double( static_cast<double>( Output[0] ) );
Writer.Double( static_cast<double>( Output[1] ) );
Writer.Double( static_cast<double>( Output[2] ) );
Writer.Double( static_cast<double>( Output[3] ) );
Writer.EndArray();
}
auto CSettingsJson::AddBoneSelectedJson( rapidjson::PrettyWriter<rapidjson::OStreamWrapper>& Writer , const char* Name , const bool* Output ) -> void
{
Writer.String( Name );
Writer.StartArray();
Writer.Bool( Output[0] );
Writer.Bool( Output[1] );
Writer.Bool( Output[2] );
Writer.Bool( Output[3] );
Writer.EndArray();
}
auto GetSettingsJson() -> CSettingsJson*
{
return &g_CSettingsJson;
}
@@ -0,0 +1,63 @@
#pragma once
#include <mutex>
#include <vector>
#include <Common/Common.hpp>
#include <rapidjson/prettywriter.h>
#include <rapidjson/rapidjson.h>
#include <rapidjson/document.h>
#include <rapidjson/istreamwrapper.h>
#include <rapidjson/ostreamwrapper.h>
#include <rapidjson/error/en.h>
class CSettingsJson final
{
public:
using VecConfigList_t = std::vector<std::string>;
public:
auto LoadConfig( const std::string& JsonFile ) -> void;
auto SaveConfig( const std::string& JsonFile ) -> void;
public:
auto DeleteConfig( const std::string& JsonFile ) -> void;
public:
auto UpdateConfigList() -> void;
private:
auto GetIntJson( const rapidjson::Value& JsonValue , const char* Name , int& Output , const int Min , const int Max ) -> void;
auto GetBoolJson( const rapidjson::Value& JsonValue , const char* Name , bool& Output ) -> void;
auto GetFloatJson( const rapidjson::Value& JsonValue , const char* Name , float& Output , const float Min , const float Max ) -> void;
auto GetColorJson( const rapidjson::Value& JsonValue , const char* Name , float* Output ) -> void;
auto GetStringJson( const rapidjson::Value& JsonValue , const char* Name , std::string& Output ) -> void;
auto GetBoneSelectedJson( const rapidjson::Value& JsonValue , const char* Name , bool* Output ) -> void;
private:
auto AddIntJson( rapidjson::PrettyWriter<rapidjson::OStreamWrapper>& Writer , const char* Name , const int& Output ) -> void;
auto AddUInt64Json( rapidjson::PrettyWriter<rapidjson::OStreamWrapper>& Writer , const char* Name , const uint64_t& Output ) -> void;
auto AddBoolJson( rapidjson::PrettyWriter<rapidjson::OStreamWrapper>& Writer , const char* Name , const bool& Output ) -> void;
auto AddStringJson( rapidjson::PrettyWriter<rapidjson::OStreamWrapper>& Writer , const char* Name , const std::string& Output ) -> void;
auto AddFloatJson( rapidjson::PrettyWriter<rapidjson::OStreamWrapper>& Writer , const char* Name , const float& Output ) -> void;
auto AddColorJson( rapidjson::PrettyWriter<rapidjson::OStreamWrapper>& Writer , const char* Name , const float* Output ) -> void;
auto AddBoneSelectedJson( rapidjson::PrettyWriter<rapidjson::OStreamWrapper>& Writer , const char* Name , const bool* Output ) -> void;
public:
inline auto GetConfigList() -> VecConfigList_t&
{
return m_vecConfigList;
}
inline auto GetConfigLoadedIndex() -> uint32_t
{
return m_nConfigLoadedIndex;
}
private:
VecConfigList_t m_vecConfigList;
uint32_t m_nConfigLoadedIndex = 0;
};
auto GetSettingsJson() -> CSettingsJson*;
@@ -0,0 +1,17 @@
#pragma once
#include <Common/Common.hpp>
namespace Settings
{
namespace Visual
{
inline auto Active = true;
inline auto PlayerBox = true;
}
namespace Misc
{
inline auto MenuAlpha = 200;
inline auto MenuStyle = 0;
}
}
@@ -0,0 +1,58 @@
#include "CBasePattern.hpp"
#include <Common/MemoryEngine.hpp>
CBasePattern::CBasePattern( const char* szPatternName , const char* szPattern , const char* szDll , uint32_t Offset , eBasePatternSearchType Type )
{
PatternName = szPatternName;
Pattern = szPattern;
Dll = szDll;
dwOffset = Offset;
m_Type = Type;
}
auto CBasePattern::Search( bool SkipError ) -> bool
{
if ( m_Type != eBasePatternSearchType::SEARCH_TYPE_PROC )
{
pFunction = FindPattern( Dll , Pattern , dwOffset );
if ( !pFunction )
{
if ( !SkipError )
DEV_LOG( "[error] CBasePattern: %s\n" , PatternName );
return false;
}
}
if ( m_Type == eBasePatternSearchType::SEARCH_TYPE_PTR )
pFunction = reinterpret_cast<PVOID>( *reinterpret_cast<intptr_t*>( pFunction ) );
else if ( m_Type == eBasePatternSearchType::SEARCH_TYPE_CALL )
pFunction = GetCallAddress( reinterpret_cast<intptr_t>( pFunction ) );
else if ( m_Type == eBasePatternSearchType::SEARCH_TYPE_PTR2 )
pFunction = GetPtrAddress<PVOID>( (intptr_t)pFunction );
else if ( m_Type == eBasePatternSearchType::SEARCH_TYPE_PROC )
pFunction = GetProcAddress( GetModuleHandleA( Dll ) , Pattern );
#if LOG_SDK_PATTERN == 1
DEV_LOG( "[+] CBasePattern: %s -> %p\n" , PatternName , pFunction );
#endif
return true;
}
auto CBasePattern::GetPatternName() -> const char*
{
return PatternName;
}
auto CBasePattern::GetDllName() -> const char*
{
return Dll;
}
auto CBasePattern::GetFunction() -> PVOID
{
return pFunction;
}
@@ -0,0 +1,52 @@
#pragma once
#include <Common/Common.hpp>
enum eBasePatternSearchType : int32_t
{
SEARCH_TYPE_NONE ,
SEARCH_TYPE_PTR ,
SEARCH_TYPE_CALL ,
SEARCH_TYPE_PTR2 ,
SEARCH_TYPE_PROC
};
class IBasePattern
{
public:
virtual bool Search( bool SkipError ) = 0;
virtual PVOID GetFunction() = 0;
virtual const char* GetPatternName() = 0;
virtual const char* GetDllName() = 0;
};
class CBasePattern final : public IBasePattern
{
public:
CBasePattern( const char* szPatternName , const char* szPattern , const char* szDll , uint32_t Offset = 0 , eBasePatternSearchType Type = eBasePatternSearchType::SEARCH_TYPE_NONE );
public:
virtual bool Search( bool SkipError = false ) override;
virtual PVOID GetFunction() override;
virtual const char* GetPatternName() override;
virtual const char* GetDllName() override;
private:
// !!! std::string_view crash on vmprotect !!!
const char* PatternName = nullptr;
const char* Pattern = nullptr;
const char* Dll = nullptr;
private:
PVOID pFunction = nullptr;
uint32_t dwOffset = 0;
eBasePatternSearchType m_Type = eBasePatternSearchType::SEARCH_TYPE_NONE;
};
#define DECLARATE_CS2_FUNCTION(Ret,Name,Decl,InterfaceSearch,DeclFn,ParamCall)\
Ret Name Decl\
{\
using Fn = Ret ( __fastcall* ) DeclFn;\
Fn Original = reinterpret_cast<Fn>( ##InterfaceSearch##_Search::##Name##Fn.GetFunction() );\
return Original##ParamCall##;\
}
@@ -0,0 +1,123 @@
#include "CHook_Loader.hpp"
#include <Common/MemoryEngine.hpp>
#include <MinHook/MinHook.h>
#include <CS2/SDK/SDK.hpp>
#include <CS2/Hook/Hook_SOCacheSubscribed.hpp>
#include <CS2/Hook/Hook_Present.hpp>
#include <CS2/Hook/Hook_ResizeBuffers.hpp>
#include <CS2/Hook/Hook_CreateSwapChain.hpp>
#include <CS2/Hook/Hook_MouseInputEnabled.hpp>
#include <CS2/Hook/Hook_FireEventClientSide.hpp>
#include <CS2/Hook/Hook_OnAddEntity.hpp>
#include <CS2/Hook/Hook_OnRemoveEntity.hpp>
#include <CS2/Hook/Hook_FrameStageNotify.hpp>
#include <CS2/Hook/Hook_GetMatricesForView.hpp>
#include <CS2/Hook/Hook_CreateMove.hpp>
#include <CS2/Hook/Hook_OnClientOutput.hpp>
#include <CS2/Hook/Hook_ParseMessage.hpp>
#include <CS2/Hook/Hook_IsRelativeMouseMode.hpp>
#include <CS2/Hook/Hook_UpdateInPVS.hpp>
#include <CS2/Hook/Hook_AntiTamper.hpp>
static CHook_Loader g_CHook_Loader{};
auto CHook_Loader::InitalizeMH() -> bool
{
return MH_Initialize() == MH_OK;
}
auto CHook_Loader::InstallFirstHook() -> bool
{
m_Hooks =
{
#if DISABLE_INVENTORY == 0
{ { XorStr( "Hook::SOCacheSubscribed" ) , XorStr( "48 89 6C 24 ? 56 48 83 EC ? 8B 41 ? 49 8B E8" ) , CLIENT_DLL } , &Hook_SOCacheSubscribed , reinterpret_cast<LPVOID*>( &SOCacheSubscribed_o ) },
#endif
};
return InstallHooks();
}
auto CHook_Loader::InstallSecondHook() -> bool
{
m_Hooks =
{
/*
sub_180095150 -> PresentOverlay
sub_18008ED80(*(_QWORD *)(v4 + 64), sub_180095150, &qword_180162258, 1, "DXGISwapChain_Present");
*/
{ { XorStr( "Hook::PresentOverlay" ) , XorStr( "48 89 5C 24 ? 48 89 6C 24 ? 56 57 41 54 41 56 41 57 48 83 EC ? 41 8B E8" ) , GAMEOVERLAYRENDER64_DLL } , &Hook_Present , reinterpret_cast<LPVOID*>( &Present_o ) },
/*
sub_180095520 -> ResizeBuffers
sub_18008ED80(*(_QWORD *)(v4 + 104), sub_180095520, &qword_180162260, 1, "DXGISwapChain_ResizeBuffers");
*/
{ { XorStr( "Hook::ResizeBuffers" ) , XorStr( "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 48 89 7C 24 ? 41 54 41 56 41 57 48 83 EC ? 44 8B E2" ) , GAMEOVERLAYRENDER64_DLL } , &Hook_ResizeBuffers , reinterpret_cast<LPVOID*>( &ResizeBuffers_o ) },
/*
sub_1800AA7B0("IWrapDXGIFactory::CreateSwapChain called\n");
*/
{ { XorStr( "Hook::CreateSwapChain" ) , XorStr( "48 89 5C 24 08 48 89 6C 24 10 48 89 74 24 18 57 48 83 EC 20 48 8B F9 49 8B F1 48 8D ? ? ? ? ? 49 8B D8 48 8B EA E8 ? ? ? ? 48 8D ? ? ? ? ? E8 ? ? ? ? 48 8D ? ? ? ? ? E8 ? ? ? ? 48 8D ? ? ? ? ? E8 ? ? ? ? 48 8B ? ? ? ? ? 4C 8B CE 4C 8B C3 48 8B D5 48 8B CF FF D0 8B D8 85 C0 78 18 48 85 F6 74 13 48 83 3E 00 74 0D 48 8B D5 48 8B CE E8 ? ? ? ? 8B C3 48 8B 5C 24 30 48 8B 6C 24 38 48 8B 74 24 40 48 83 C4 20 5F C3 CC CC CC CC CC CC CC CC 48 83 EC 38 48 8B 01 4C 8D 44 24 40" ) , GAMEOVERLAYRENDER64_DLL } , &Hook_CreateSwapChain , reinterpret_cast<LPVOID*>( &CreateSwapChain_o ) } ,
{ { XorStr( "Hook::MouseInputEnabled" ) , XorStr( "40 53 48 83 EC 20 80 B9 ? ? ? ? ? 48 8B D9 75 78" ) , CLIENT_DLL } , &Hook_MouseInputEnabled , reinterpret_cast<LPVOID*>( &MouseInputEnabled_o ) },
{ { XorStr( "Hook::FireEventClientSide" ) , XorStr( "48 89 5C 24 20 57 41 54 41 56 48 83 EC 30" ) , CLIENT_DLL } , &Hook_FireEventClientSide , reinterpret_cast<LPVOID*>( &FireEventClientSide_o ) },
{ { XorStr( "Hook::OnAddEntity" ) , XorStr( "48 89 74 24 10 57 48 83 EC 20 41 B9 FF 7F 00 00 41 8B C0 41 23 C1 48 8B F2 41 83 F8 FF 48 8B F9 44 0F 45 C8 41 81 F9 00 40 00 00 73 0D" ) , CLIENT_DLL } , &Hook_OnAddEntity , reinterpret_cast<LPVOID*>( &OnAddEntity_o ) },
{ { XorStr( "Hook::OnRemoveEntity" ) , XorStr( "48 89 74 24 10 57 48 83 EC 20 41 B9 FF 7F 00 00 41 8B C0 41 23 C1 48 8B F2 41 83 F8 FF 48 8B F9 44 0F 45 C8 41 81 F9 00 40 00 00 73 08" ) , CLIENT_DLL } , &Hook_OnRemoveEntity , reinterpret_cast<LPVOID*>( &OnRemoveEntity_o ) },
{ { XorStr( "Hook::FrameStageNotify" ) , XorStr( "48 89 5C 24 ? 57 48 81 EC ? ? ? ? 48 8B F9 8B DA" ) , CLIENT_DLL } , &Hook_FrameStageNotify , reinterpret_cast<LPVOID*>( &FrameStageNotify_o ) },
{ { XorStr( "Hook::GetMatricesForView" ) , XorStr( "40 53 48 81 EC ? ? ? ? 49 8B C1" ) , CLIENT_DLL } , &Hook_GetMatricesForView , reinterpret_cast<LPVOID*>( &GetMatricesForView_o ) },
{ { XorStr( "Hook::CreateMove" ) , XorStr( "85 D2 0F 85 ? ? ? ? 48 8B C4 44 88 40 18" ) , CLIENT_DLL } , &Hook_CreateMove , reinterpret_cast<LPVOID*>( &CreateMove_o ) },
{ { XorStr( "Hook::SerializePartialToArray" ) , XorStr( "48 89 5C 24 ? 55 56 57 48 81 EC ? ? ? ? 48 8B 05 ? ? ? ? 48 33 C4 48 89 84 24 ? ? ? ? 49 63 F0" ) , CLIENT_DLL } , &Hook_MessageLite_SerializePartialToArray , reinterpret_cast<LPVOID*>( &MessageLite_SerializePartialToArray_o ) },
{ { XorStr( "Hook::OnClientOutput" ) , XorStr( "48 89 5C 24 18 55 56 57 41 54 41 56 48 83 EC 70" ) , ENGINE2_DLL } , &Hook_OnClientOutput , reinterpret_cast<LPVOID*>( &OnClientOutput_o ) },
{ { XorStr( "Hook::CDemoRecorder" ) , XorStr( "40 56 57 41 57 48 83 EC ? 4C 8B F9" ) , ENGINE2_DLL } , &Hook_CDemoRecorder , reinterpret_cast<LPVOID*>( &CDemoRecorder_o ) },
{ { XorStr( "Hook::IsRelativeMouseMode" ) , XorStr( "48 89 6C 24 ? 48 89 74 24 ? 48 89 7C 24 ? 41 56 48 83 EC ? 0F B6 F2" ) , INPUTSYSTEM_DLL } , &Hook_IsRelativeMouseMode , reinterpret_cast<LPVOID*>( &IsRelativeMouseMode_o ) },
{ { XorStr( "Hook::UpdateInPVS" ) , XorStr( "48 89 5C 24 ? 48 89 74 24 ? 57 48 83 EC ? 48 8B 01 8B F2 48 8B D9 FF 90 ? ? ? ? 33 FF" ) , CLIENT_DLL } , &Hook_UpdateInPVS , reinterpret_cast<LPVOID*>( &UpdateInPVS_o ) },
{ { XorStr( "Hook::AntiTamper" ) , XorStr( "40 53 48 83 EC 50 48 89 6C 24 60 48 8B E9 48 89 74" ) , CLIENT_DLL } , &Hook_AntiTamper , reinterpret_cast<LPVOID*>( &AntiTamper_o ) },
};
return InstallHooks();
}
auto CHook_Loader::InstallHooks() -> bool
{
for ( auto& Hook : m_Hooks )
{
while ( !GetModuleHandleA( Hook.m_Pattern.GetDllName() ) )
Sleep( 1 );
if ( !Hook.m_Pattern.Search( Hook.m_bSkipError ) )
{
if ( !Hook.m_bSkipError )
DEV_LOG( "[error] Hook #1 -> '%s'\n" , Hook.m_Pattern.GetPatternName() );
if ( !Hook.m_bSkipIfNotFound )
return false;
else
continue;
}
auto Status = MH_CreateHook( Hook.m_Pattern.GetFunction() , Hook.m_pDetour , Hook.m_pOriginal );
if ( Status != MH_OK )
{
DEV_LOG( "[error] Hook #2 [%i] -> '%s'\n" , Status , Hook.m_Pattern.GetPatternName() );
return false;
}
}
MH_EnableHook( MH_ALL_HOOKS );
m_Hooks.clear();
return true;
}
auto CHook_Loader::DestroyHooks() -> void
{
MH_DisableHook( MH_ALL_HOOKS );
MH_Uninitialize();
}
auto GetHook_Loader() -> CHook_Loader*
{
return &g_CHook_Loader;
}
@@ -0,0 +1,36 @@
#pragma once
#include <Common/Common.hpp>
#include <vector>
#include <CS2/CBasePattern.hpp>
struct HookData_t
{
CBasePattern m_Pattern;
LPVOID m_pDetour = nullptr;
LPVOID* m_pOriginal = nullptr;
bool m_bSkipIfNotFound = false;
bool m_bSkipError = false;
};
class CHook_Loader final
{
public:
auto InitalizeMH() -> bool;
public:
auto InstallFirstHook() -> bool;
auto InstallSecondHook() -> bool;
private:
auto InstallHooks() -> bool;
public:
auto DestroyHooks() -> void;
private:
std::vector<HookData_t> m_Hooks = {};
};
auto GetHook_Loader() -> CHook_Loader*;
@@ -0,0 +1,91 @@
#include "CSDK_Loader.hpp"
#include <CS2/SDK/SDK.hpp>
#include <CS2/SDK/Interface/IEngineToClient.hpp>
#include <CS2/SDK/Interface/CGameEntitySystem.hpp>
#include <CS2/SDK/Interface/CShemaSystemSDK.hpp>
#include <CS2/SDK/Interface/CSource2Client.hpp>
#include <CS2/SDK/CSchemaOffset.hpp>
#include <CS2/SDK/Types/CEntityData.hpp>
#include <CS2/SDK/Econ/CEconItemSystem.hpp>
#include <CS2/SDK/Econ/CEconItemSchema.hpp>
#include <CS2/SDK/Cstrike15/CCSInventoryManager.hpp>
#include <CS2/SDK/Cstrike15/CCSPlayerInventory.hpp>
#include <Common/Helpers/ModuleLoaderHelper.hpp>
#define RETURN_FALSE_IF_INTERFACE_ERROR(Interface)\
if ( !Interface )\
{\
DEV_LOG( "[error] Interface::%s\n" , #Interface );\
return false;\
}
static CSDK_Loader g_SDK_Loader{};
auto CSDK_Loader::LoadSDK() -> bool
{
// Wait for module load:
if ( !IsModuleLoad( NAVSYSTEM_DLL ) )
return false;
// Log SDK:
#if LOG_SDK == 1
DEV_LOG( "[+] CSDK_Loader::LoadSDK:\n\n" );
#endif
// Interfaces:
auto pEngineToClient = SDK::Interfaces::EngineToClient();
auto pGameEntitySystem = SDK::Interfaces::GameEntitySystem();
auto pSchemaSystem = SDK::Interfaces::SchemaSystem();
auto pSource2Client = SDK::Interfaces::Source2Client();
auto pLocalize = SDK::Interfaces::Localize();
auto pBaseFileSystem = SDK::Interfaces::BaseFileSystem();
// Return if error #1
RETURN_FALSE_IF_INTERFACE_ERROR( pEngineToClient );
RETURN_FALSE_IF_INTERFACE_ERROR( pGameEntitySystem );
RETURN_FALSE_IF_INTERFACE_ERROR( pSchemaSystem );
RETURN_FALSE_IF_INTERFACE_ERROR( pSource2Client );
RETURN_FALSE_IF_INTERFACE_ERROR( pLocalize );
RETURN_FALSE_IF_INTERFACE_ERROR( pBaseFileSystem );
// Log:
#if LOG_SDK == 1
DEV_LOG( "\n" );
#endif
// Log:
#if LOG_SDK == 1
DEV_LOG( "[+] pEngineToClient: %p\n" , pEngineToClient );
DEV_LOG( "[+] pGameEntitySystem: %p\n" , pGameEntitySystem );
DEV_LOG( "[+] pSchemaSystem: %p\n" , pSchemaSystem );
DEV_LOG( "[+] pSource2Client: %p\n" , pSource2Client );
DEV_LOG( "[+] pLocalize: %p\n" , pLocalize );
DEV_LOG( "[+] pBaseFileSystem: %p\n" , pBaseFileSystem );
#endif
#if LOG_SDK == 1
DEV_LOG( "\n" );
DEV_LOG( "CCSInventoryManager::Get: %p\n" , CCSInventoryManager::Get() );
DEV_LOG( "CCSPlayerInventory::Get: %p\n" , CCSPlayerInventory::Get() );
DEV_LOG( "CSource2Client::GetEconItemSchema: %p\n" , pSource2Client->GetEconItemSystem()->GetEconItemSchema() );
DEV_LOG( "GetSortedItemDefinitionMap: %p\n" , &pSource2Client->GetEconItemSystem()->GetEconItemSchema()->GetSortedItemDefinitionMap() );
DEV_LOG( "GetPaintKits: %p\n" , &pSource2Client->GetEconItemSystem()->GetEconItemSchema()->GetPaintKits() );
DEV_LOG( "GetMusicKitDefinitions: %p\n" , &pSource2Client->GetEconItemSystem()->GetEconItemSchema()->GetMusicKitDefinitions() );
DEV_LOG( "\n" );
#endif
GetSchemaOffset()->Init();
return true;
}
auto GetSDK_Loader() -> CSDK_Loader*
{
return &g_SDK_Loader;
}
@@ -0,0 +1,11 @@
#pragma once
#include <Common/Common.hpp>
class CSDK_Loader final
{
public:
auto LoadSDK() -> bool;
};
auto GetSDK_Loader() -> CSDK_Loader*;
@@ -0,0 +1,6 @@
#include "Hook_AntiTamper.hpp"
auto Hook_AntiTamper( void* Src , int a2 , __int64 a3 , int a4 ) -> bool
{
return false;
}
@@ -0,0 +1,8 @@
#pragma once
#include <Common/Common.hpp>
auto Hook_AntiTamper( void* Src , int a2 , __int64 a3 , int a4 ) -> bool;
using AntiTamper_t = decltype( &Hook_AntiTamper );
inline AntiTamper_t AntiTamper_o = nullptr;
@@ -0,0 +1,48 @@
#include "Hook_CreateMove.hpp"
#include <CS2/SDK/SDK.hpp>
#include <CS2/SDK/Interface/IEngineToClient.hpp>
#include <CS2/SDK/Update/CCSGOInput.hpp>
#include <AndromedaClient/CAndromedaClient.hpp>
#include <GameClient/CL_Players.hpp>
#include <GameClient/CL_Bypass.hpp>
auto Hook_CreateMove( CCSGOInput* pCCSGOInput , uint32_t split_screen_index , char a3 ) -> bool
{
auto Result = false;
if ( auto* pLocalPlayerController = GetCL_Players()->GetLocalPlayerController(); pLocalPlayerController )
{
Result = CreateMove_o( pCCSGOInput , split_screen_index , a3 );
const auto pUserCmd = pCCSGOInput->GetUserCmd( pLocalPlayerController );
if ( !pUserCmd )
return Result;
if ( SDK::Interfaces::EngineToClient()->IsInGame() && GetCL_Players()->GetLocalPlayerPawn() )
{
GetCL_Bypass()->PreClientCreateMove( pUserCmd );
GetAndromedaClient()->OnCreateMove( pCCSGOInput , pUserCmd );
GetCL_Bypass()->PostClientCreateMove( pCCSGOInput , pUserCmd );
}
}
return Result;
}
auto Hook_MessageLite_SerializePartialToArray( google::protobuf::Message* pMsg , void* out_buffer , int size ) -> bool
{
#if DISABLE_PROTOBUF == 0
const google::protobuf::Descriptor* descriptor = pMsg->GetDescriptor();
const std::string message_name = descriptor->name();
if ( message_name == XorStr( "CBaseUserCmdPB" ) )
{
GetCL_Bypass()->OnCBaseUserCmdPB( reinterpret_cast<CBaseUserCmdPB*>( pMsg ) );
}
#endif
return MessageLite_SerializePartialToArray_o( pMsg , out_buffer , size );
}
@@ -0,0 +1,17 @@
#pragma once
#include <Common/Common.hpp>
#include <CS2/SDK/Network/CNetworkMessages.hpp>
class CCSGOInput;
auto Hook_CreateMove( CCSGOInput* pInput , uint32_t split_screen_index , char a3 ) -> bool;
using CreateMove_t = decltype( &Hook_CreateMove );
inline CreateMove_t CreateMove_o = nullptr;
auto Hook_MessageLite_SerializePartialToArray( google::protobuf::Message* pMsg , void* out_buffer , int size ) -> bool;
using MessageLite_SerializePartialToArray_t = decltype( &Hook_MessageLite_SerializePartialToArray );
inline MessageLite_SerializePartialToArray_t MessageLite_SerializePartialToArray_o = nullptr;
@@ -0,0 +1,10 @@
#include "Hook_CreateSwapChain.hpp"
#include <AndromedaClient/CAndromedaGUI.hpp>
auto WINAPI Hook_CreateSwapChain( IDXGIFactory* pFactory , IUnknown* pDevice , DXGI_SWAP_CHAIN_DESC* pDesc , IDXGISwapChain** ppSwapChain )->HRESULT
{
GetAndromedaGUI()->ClearRenderTargetView();
return CreateSwapChain_o( pFactory , pDevice , pDesc , ppSwapChain );
}
@@ -0,0 +1,9 @@
#pragma once
#include <Common/Common.hpp>
#include <d3d11.h>
auto WINAPI Hook_CreateSwapChain( IDXGIFactory* pFactory , IUnknown* pDevice , DXGI_SWAP_CHAIN_DESC* pDesc , IDXGISwapChain** ppSwapChain )->HRESULT;
using CreateSwapChain_t = decltype( &Hook_CreateSwapChain );
inline CreateSwapChain_t CreateSwapChain_o = nullptr;
@@ -0,0 +1,10 @@
#include "Hook_FireEventClientSide.hpp"
#include <AndromedaClient/CAndromedaClient.hpp>
auto Hook_FireEventClientSide( IGameEventManager2* pGameEventManager2 , IGameEvent* pGameEvent ) -> bool
{
GetAndromedaClient()->OnFireEventClientSide( pGameEvent );
return FireEventClientSide_o( pGameEventManager2 , pGameEvent );
}
@@ -0,0 +1,11 @@
#pragma once
#include <common/Common.hpp>
class IGameEventManager2;
class IGameEvent;
auto Hook_FireEventClientSide( IGameEventManager2* pGameEventManager2 , IGameEvent* pGameEvent ) -> bool;
using FireEventClientSide_t = decltype( &Hook_FireEventClientSide );
inline FireEventClientSide_t FireEventClientSide_o = nullptr;
@@ -0,0 +1,10 @@
#include "Hook_FrameStageNotify.hpp"
#include <AndromedaClient/CAndromedaClient.hpp>
auto Hook_FrameStageNotify( CSource2Client* pCSource2Client , int FrameStage ) -> void
{
GetAndromedaClient()->OnFrameStageNotify( FrameStage );
return FrameStageNotify_o( pCSource2Client , FrameStage );
}
@@ -0,0 +1,10 @@
#pragma once
#include <Common/Common.hpp>
class CSource2Client;
auto Hook_FrameStageNotify( CSource2Client* pCSource2Client , int FrameStage ) -> void;
using FrameStageNotify_t = decltype( &Hook_FrameStageNotify );
inline FrameStageNotify_t FrameStageNotify_o = nullptr;
@@ -0,0 +1,16 @@
#include "Hook_GetMatricesForView.hpp"
#include <CS2/SDK/Math/Math.hpp>
#include <AndromedaClient/Features/CVisual/CVisual.hpp>
auto Hook_GetMatricesForView( void* rcx , void* view ,
VMatrix* pWorldToView ,
VMatrix* pViewToProjection ,
VMatrix* pWorldToProjection ,
VMatrix* pWorldToPixels ) -> void
{
GetMatricesForView_o( rcx , view , pWorldToView , pViewToProjection , pWorldToProjection , pWorldToPixels );
GetVisual()->CalculateBoundingBoxes();
}
@@ -0,0 +1,14 @@
#pragma once
#include <Common/Common.hpp>
class VMatrix;
auto Hook_GetMatricesForView( void* rcx , void* view ,
VMatrix* pWorldToView ,
VMatrix* pViewToProjection ,
VMatrix* pWorldToProjection ,
VMatrix* pWorldToPixels ) -> void;
using GetMatricesForView_t = decltype( &Hook_GetMatricesForView );
inline GetMatricesForView_t GetMatricesForView_o = nullptr;
@@ -0,0 +1,13 @@
#include "Hook_IsRelativeMouseMode.hpp"
#include <AndromedaClient/CAndromedaGUI.hpp>
auto Hook_IsRelativeMouseMode( CInputSystem* pInputSystem , bool Active ) -> void
{
GetAndromedaGUI()->m_bMainActive = Active;
if ( GetAndromedaGUI()->IsVisible() )
return IsRelativeMouseMode_o( pInputSystem , false );
return IsRelativeMouseMode_o( pInputSystem , Active );
}
@@ -0,0 +1,10 @@
#pragma once
#include <Common/Common.hpp>
class CInputSystem;
auto Hook_IsRelativeMouseMode( CInputSystem* pInputSystem , bool Active ) -> void;
using IsRelativeMouseMode_t = decltype( &Hook_IsRelativeMouseMode );
inline IsRelativeMouseMode_t IsRelativeMouseMode_o = nullptr;
@@ -0,0 +1,11 @@
#include "Hook_MouseInputEnabled.hpp"
#include <AndromedaClient/CAndromedaGUI.hpp>
auto Hook_MouseInputEnabled( void* RCX ) -> bool
{
if ( GetAndromedaGUI()->IsVisible() )
return false;
return MouseInputEnabled_o( RCX );
}
@@ -0,0 +1,8 @@
#pragma once
#include <Common/Common.hpp>
auto Hook_MouseInputEnabled( void* RCX ) -> bool;
using MouseInputEnabled_t = decltype( &Hook_MouseInputEnabled );
inline MouseInputEnabled_t MouseInputEnabled_o = nullptr;
@@ -0,0 +1,10 @@
#include "Hook_OnAddEntity.hpp"
#include <AndromedaClient/CAndromedaClient.hpp>
auto Hook_OnAddEntity( CGameEntitySystem* pCGameEntitySystem , CEntityInstance* pInst , CHandle handle ) -> void
{
GetAndromedaClient()->OnAddEntity( pInst , handle );
return OnAddEntity_o( pCGameEntitySystem , pInst , handle );
}
@@ -0,0 +1,13 @@
#pragma once
#include <Common/Common.hpp>
#include <CS2/SDK/Types/CHandle.hpp>
class CGameEntitySystem;
class CEntityInstance;
auto Hook_OnAddEntity( CGameEntitySystem* pCGameEntitySystem , CEntityInstance* pInst , CHandle handle ) -> void;
using OnAddEntity_t = decltype( &Hook_OnAddEntity );
inline OnAddEntity_t OnAddEntity_o = nullptr;
@@ -0,0 +1,12 @@
#include "Hook_OnClientOutput.hpp"
#include <AndromedaClient/CAndromedaClient.hpp>
#include <AndromedaClient/Render/CRenderStackSystem.hpp>
auto Hook_OnClientOutput( void* a1 , void* a2 , void* a3 , void* a4 ) -> void
{
GetAndromedaClient()->OnClientOutput();
GetRenderStackSystem()->OnClientOutput();
return OnClientOutput_o( a1 , a2 , a3 , a4 );
}
@@ -0,0 +1,8 @@
#pragma once
#include <Common/Common.hpp>
auto Hook_OnClientOutput( void* a1 , void* a2 , void* a3 , void* a4 ) -> void;
using OnClientOutput_t = decltype( &Hook_OnClientOutput );
inline OnClientOutput_t OnClientOutput_o = nullptr;
@@ -0,0 +1,10 @@
#include "Hook_OnRemoveEntity.hpp"
#include <AndromedaClient/CAndromedaClient.hpp>
auto Hook_OnRemoveEntity( CGameEntitySystem* pCGameEntitySystem , CEntityInstance* pInst , CHandle handle ) -> void
{
GetAndromedaClient()->OnRemoveEntity( pInst , handle );
return OnRemoveEntity_o( pCGameEntitySystem , pInst , handle );
}
@@ -0,0 +1,13 @@
#pragma once
#include <Common/Common.hpp>
#include <CS2/SDK/Types/CHandle.hpp>
class CGameEntitySystem;
class CEntityInstance;
auto Hook_OnRemoveEntity( CGameEntitySystem* pCGameEntitySystem , CEntityInstance* pInst , CHandle handle ) -> void;
using OnRemoveEntity_t = decltype( &Hook_OnRemoveEntity );
inline OnRemoveEntity_t OnRemoveEntity_o = nullptr;
@@ -0,0 +1,40 @@
#include "Hook_ParseMessage.hpp"
#include <CS2/SDK/SDK.hpp>
#include <CS2/SDK/Interface/CSoundOpSystem.hpp>
#include <CS2/SDK/Network/CNetworkMessages.hpp>
#include <CS2/SDK/Math/Vector3.hpp>
#include <CS2/Protobuf/gameevents.pb.h>
#include <AndromedaClient/CAndromedaClient.hpp>
auto Hook_CDemoRecorder( CDemoRecorder* pDemoRecorder , CNetworkSerializerPB* pSerializer , CNetMessagePB* pNetMessage ) -> bool
{
if ( pSerializer->messageID == GE_SosStartSoundEvent )
{
CMsgSosStartSoundEvent* pMessage = reinterpret_cast<CMsgSosStartSoundEvent*>( (PBYTE)pNetMessage + 0x28 );
if ( pMessage )
{
std::string SoundName = "null";
Vector3 SoundPos;
auto SourceEntityIndex = 0;
if ( pMessage->has_source_entity_index() )
SourceEntityIndex = pMessage->source_entity_index();
if ( pMessage->has_packed_params() && pMessage->packed_params().size() >= 19 && pMessage->packed_params().data() )
SoundPos = *(Vector3*)( pMessage->packed_params().data() + 7 );
const char* szSoundEventName = SDK::Interfaces::SoundOpSystem()->GetCSoundEventManager()->GetSoundEventName( pMessage->soundevent_hash() );
if ( szSoundEventName )
SoundName = szSoundEventName;
DEV_LOG( "StartSoundEvent: %i , %s\n" , SourceEntityIndex , SoundName.c_str() );
}
}
return CDemoRecorder_o( pDemoRecorder , pSerializer , pNetMessage );
}
@@ -0,0 +1,12 @@
#pragma once
#include <Common/Common.hpp>
class CDemoRecorder;
class CNetworkSerializerPB;
class CNetMessagePB;
auto Hook_CDemoRecorder( CDemoRecorder* pDemoRecorder , CNetworkSerializerPB* pSerializer , CNetMessagePB* pNetMessage ) -> bool;
using CDemoRecorder_t = decltype( &Hook_CDemoRecorder );
inline CDemoRecorder_t CDemoRecorder_o = nullptr;
@@ -0,0 +1,10 @@
#include "Hook_Present.hpp"
#include <AndromedaClient/CAndromedaGUI.hpp>
auto Hook_Present( IDXGISwapChain* pSwapChain , UINT SyncInterval , UINT Flags ) -> HRESULT
{
GetAndromedaGUI()->OnPresent( pSwapChain );
return Present_o( pSwapChain , SyncInterval , Flags );
}
@@ -0,0 +1,9 @@
#pragma once
#include <Common/Common.hpp>
#include <d3d11.h>
auto Hook_Present( IDXGISwapChain* pSwapChain , UINT SyncInterval , UINT Flags ) -> HRESULT;
using Present_t = decltype( &Hook_Present );
inline Present_t Present_o = nullptr;
@@ -0,0 +1,10 @@
#include "Hook_ResizeBuffers.hpp"
#include <AndromedaClient/CAndromedaGUI.hpp>
auto Hook_ResizeBuffers( IDXGISwapChain* pSwapChain , UINT BufferCount , UINT Width , UINT Height , DXGI_FORMAT NewFormat , UINT SwapChainFlags ) -> HRESULT
{
GetAndromedaGUI()->OnResizeBuffers( pSwapChain );
return ResizeBuffers_o( pSwapChain , BufferCount , Width , Height , NewFormat , SwapChainFlags );
}
@@ -0,0 +1,9 @@
#pragma once
#include <Common/Common.hpp>
#include <d3d11.h>
auto Hook_ResizeBuffers( IDXGISwapChain* pSwapChain , UINT BufferCount , UINT Width , UINT Height , DXGI_FORMAT NewFormat , UINT SwapChainFlags ) -> HRESULT;
using ResizeBuffers_t = decltype( &Hook_ResizeBuffers );
inline ResizeBuffers_t ResizeBuffers_o = nullptr;
@@ -0,0 +1,15 @@
#include "Hook_SOCacheSubscribed.hpp"
#include <CS2/SDK/Cstrike15/CCSPlayerInventory.hpp>
auto Hook_SOCacheSubscribed( CCSPlayerInventory* pCSPlayerInventory , GCSDK::SOID_t owner , int64_t unk ) -> void*
{
auto pResult = SOCacheSubscribed_o( pCSPlayerInventory , owner , unk );
if ( pCSPlayerInventory->GetOwner().m_type == owner.m_type && pCSPlayerInventory->GetOwner().m_id == owner.m_id )
{
}
return pResult;
}
@@ -0,0 +1,12 @@
#pragma once
#include <Common/Common.hpp>
#include <CS2/SDK/GCSDK/GCSDKTypes/SOID_t.hpp>
class CCSPlayerInventory;
auto Hook_SOCacheSubscribed( CCSPlayerInventory* pCSPlayerInventory , GCSDK::SOID_t owner , int64_t unk ) -> void*;
using SOCacheSubscribed_t = decltype( &Hook_SOCacheSubscribed );
inline SOCacheSubscribed_t SOCacheSubscribed_o = nullptr;
@@ -0,0 +1,10 @@
#include "Hook_UpdateInPVS.hpp"
#include <CS2/SDK/Types/CEntityData.hpp>
auto Hook_UpdateInPVS( CEntityInstance* pEntityInstance , int unk0 ) -> bool
{
return true;
//return UpdateInPVS_o( pEntityInstance , unk0 );
}
@@ -0,0 +1,10 @@
#pragma once
#include <Common/Common.hpp>
class CEntityInstance;
auto Hook_UpdateInPVS( CEntityInstance* pEntityInstance , int unk0 ) -> bool;
using UpdateInPVS_t = decltype( &Hook_UpdateInPVS );
inline UpdateInPVS_t UpdateInPVS_o = nullptr;
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,704 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: cs_prediction_events.proto
#include "cs_prediction_events.pb.h"
#include <algorithm>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/wire_format_lite.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/reflection_ops.h>
#include <google/protobuf/wire_format.h>
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
PROTOBUF_PRAGMA_INIT_SEG
namespace _pb = ::PROTOBUF_NAMESPACE_ID;
namespace _pbi = _pb::internal;
PROTOBUF_CONSTEXPR CCSPredictionEvent_DamageTag::CCSPredictionEvent_DamageTag(
::_pbi::ConstantInitialized): _impl_{
/*decltype(_impl_._has_bits_)*/{}
, /*decltype(_impl_._cached_size_)*/{}
, /*decltype(_impl_.flinch_mod_small_)*/0
, /*decltype(_impl_.flinch_mod_large_)*/0
, /*decltype(_impl_.friendly_fire_damage_reduction_ratio_)*/0} {}
struct CCSPredictionEvent_DamageTagDefaultTypeInternal {
PROTOBUF_CONSTEXPR CCSPredictionEvent_DamageTagDefaultTypeInternal()
: _instance(::_pbi::ConstantInitialized{}) {}
~CCSPredictionEvent_DamageTagDefaultTypeInternal() {}
union {
CCSPredictionEvent_DamageTag _instance;
};
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CCSPredictionEvent_DamageTagDefaultTypeInternal _CCSPredictionEvent_DamageTag_default_instance_;
PROTOBUF_CONSTEXPR CCSPredictionEvent_AddAimPunch::CCSPredictionEvent_AddAimPunch(
::_pbi::ConstantInitialized): _impl_{
/*decltype(_impl_._has_bits_)*/{}
, /*decltype(_impl_._cached_size_)*/{}
, /*decltype(_impl_.punch_angle_)*/nullptr
, /*decltype(_impl_.when_tick_)*/0u
, /*decltype(_impl_.when_tick_frac_)*/0} {}
struct CCSPredictionEvent_AddAimPunchDefaultTypeInternal {
PROTOBUF_CONSTEXPR CCSPredictionEvent_AddAimPunchDefaultTypeInternal()
: _instance(::_pbi::ConstantInitialized{}) {}
~CCSPredictionEvent_AddAimPunchDefaultTypeInternal() {}
union {
CCSPredictionEvent_AddAimPunch _instance;
};
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CCSPredictionEvent_AddAimPunchDefaultTypeInternal _CCSPredictionEvent_AddAimPunch_default_instance_;
static ::_pb::Metadata file_level_metadata_cs_5fprediction_5fevents_2eproto[2];
static const ::_pb::EnumDescriptor* file_level_enum_descriptors_cs_5fprediction_5fevents_2eproto[1];
static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_cs_5fprediction_5fevents_2eproto = nullptr;
const uint32_t TableStruct_cs_5fprediction_5fevents_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
PROTOBUF_FIELD_OFFSET(::CCSPredictionEvent_DamageTag, _impl_._has_bits_),
PROTOBUF_FIELD_OFFSET(::CCSPredictionEvent_DamageTag, _internal_metadata_),
~0u, // no _extensions_
~0u, // no _oneof_case_
~0u, // no _weak_field_map_
~0u, // no _inlined_string_donated_
PROTOBUF_FIELD_OFFSET(::CCSPredictionEvent_DamageTag, _impl_.flinch_mod_small_),
PROTOBUF_FIELD_OFFSET(::CCSPredictionEvent_DamageTag, _impl_.flinch_mod_large_),
PROTOBUF_FIELD_OFFSET(::CCSPredictionEvent_DamageTag, _impl_.friendly_fire_damage_reduction_ratio_),
0,
1,
2,
PROTOBUF_FIELD_OFFSET(::CCSPredictionEvent_AddAimPunch, _impl_._has_bits_),
PROTOBUF_FIELD_OFFSET(::CCSPredictionEvent_AddAimPunch, _internal_metadata_),
~0u, // no _extensions_
~0u, // no _oneof_case_
~0u, // no _weak_field_map_
~0u, // no _inlined_string_donated_
PROTOBUF_FIELD_OFFSET(::CCSPredictionEvent_AddAimPunch, _impl_.punch_angle_),
PROTOBUF_FIELD_OFFSET(::CCSPredictionEvent_AddAimPunch, _impl_.when_tick_),
PROTOBUF_FIELD_OFFSET(::CCSPredictionEvent_AddAimPunch, _impl_.when_tick_frac_),
0,
1,
2,
};
static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
{ 0, 9, -1, sizeof(::CCSPredictionEvent_DamageTag)},
{ 12, 21, -1, sizeof(::CCSPredictionEvent_AddAimPunch)},
};
static const ::_pb::Message* const file_default_instances[] = {
&::_CCSPredictionEvent_DamageTag_default_instance_._instance,
&::_CCSPredictionEvent_AddAimPunch_default_instance_._instance,
};
const char descriptor_table_protodef_cs_5fprediction_5fevents_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
"\n\032cs_prediction_events.proto\032\026networkbas"
"etypes.proto\032\027prediction_events.proto\"\200\001"
"\n\034CCSPredictionEvent_DamageTag\022\030\n\020flinch"
"_mod_small\030\001 \001(\002\022\030\n\020flinch_mod_large\030\002 \001"
"(\002\022,\n$friendly_fire_damage_reduction_rat"
"io\030\003 \001(\002\"m\n\036CCSPredictionEvent_AddAimPun"
"ch\022 \n\013punch_angle\030\001 \001(\0132\013.CMsgQAngle\022\021\n\t"
"when_tick\030\002 \001(\r\022\026\n\016when_tick_frac\030\003 \001(\002*"
"\?\n\023ECSPredictionEvents\022\022\n\016CSPE_DamageTag"
"\020\001\022\024\n\020CSPE_AddAimPunch\020\003"
;
static const ::_pbi::DescriptorTable* const descriptor_table_cs_5fprediction_5fevents_2eproto_deps[2] = {
&::descriptor_table_networkbasetypes_2eproto,
&::descriptor_table_prediction_5fevents_2eproto,
};
static ::_pbi::once_flag descriptor_table_cs_5fprediction_5fevents_2eproto_once;
const ::_pbi::DescriptorTable descriptor_table_cs_5fprediction_5fevents_2eproto = {
false, false, 384, descriptor_table_protodef_cs_5fprediction_5fevents_2eproto,
"cs_prediction_events.proto",
&descriptor_table_cs_5fprediction_5fevents_2eproto_once, descriptor_table_cs_5fprediction_5fevents_2eproto_deps, 2, 2,
schemas, file_default_instances, TableStruct_cs_5fprediction_5fevents_2eproto::offsets,
file_level_metadata_cs_5fprediction_5fevents_2eproto, file_level_enum_descriptors_cs_5fprediction_5fevents_2eproto,
file_level_service_descriptors_cs_5fprediction_5fevents_2eproto,
};
PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_cs_5fprediction_5fevents_2eproto_getter() {
return &descriptor_table_cs_5fprediction_5fevents_2eproto;
}
// Force running AddDescriptors() at dynamic initialization time.
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_cs_5fprediction_5fevents_2eproto(&descriptor_table_cs_5fprediction_5fevents_2eproto);
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ECSPredictionEvents_descriptor() {
::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_cs_5fprediction_5fevents_2eproto);
return file_level_enum_descriptors_cs_5fprediction_5fevents_2eproto[0];
}
bool ECSPredictionEvents_IsValid(int value) {
switch (value) {
case 1:
case 3:
return true;
default:
return false;
}
}
// ===================================================================
class CCSPredictionEvent_DamageTag::_Internal {
public:
using HasBits = decltype(std::declval<CCSPredictionEvent_DamageTag>()._impl_._has_bits_);
static void set_has_flinch_mod_small(HasBits* has_bits) {
(*has_bits)[0] |= 1u;
}
static void set_has_flinch_mod_large(HasBits* has_bits) {
(*has_bits)[0] |= 2u;
}
static void set_has_friendly_fire_damage_reduction_ratio(HasBits* has_bits) {
(*has_bits)[0] |= 4u;
}
};
CCSPredictionEvent_DamageTag::CCSPredictionEvent_DamageTag(::PROTOBUF_NAMESPACE_ID::Arena* arena,
bool is_message_owned)
: ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
SharedCtor(arena, is_message_owned);
// @@protoc_insertion_point(arena_constructor:CCSPredictionEvent_DamageTag)
}
CCSPredictionEvent_DamageTag::CCSPredictionEvent_DamageTag(const CCSPredictionEvent_DamageTag& from)
: ::PROTOBUF_NAMESPACE_ID::Message() {
CCSPredictionEvent_DamageTag* const _this = this; (void)_this;
new (&_impl_) Impl_{
decltype(_impl_._has_bits_){from._impl_._has_bits_}
, /*decltype(_impl_._cached_size_)*/{}
, decltype(_impl_.flinch_mod_small_){}
, decltype(_impl_.flinch_mod_large_){}
, decltype(_impl_.friendly_fire_damage_reduction_ratio_){}};
_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
::memcpy(&_impl_.flinch_mod_small_, &from._impl_.flinch_mod_small_,
static_cast<size_t>(reinterpret_cast<char*>(&_impl_.friendly_fire_damage_reduction_ratio_) -
reinterpret_cast<char*>(&_impl_.flinch_mod_small_)) + sizeof(_impl_.friendly_fire_damage_reduction_ratio_));
// @@protoc_insertion_point(copy_constructor:CCSPredictionEvent_DamageTag)
}
inline void CCSPredictionEvent_DamageTag::SharedCtor(
::_pb::Arena* arena, bool is_message_owned) {
(void)arena;
(void)is_message_owned;
new (&_impl_) Impl_{
decltype(_impl_._has_bits_){}
, /*decltype(_impl_._cached_size_)*/{}
, decltype(_impl_.flinch_mod_small_){0}
, decltype(_impl_.flinch_mod_large_){0}
, decltype(_impl_.friendly_fire_damage_reduction_ratio_){0}
};
}
CCSPredictionEvent_DamageTag::~CCSPredictionEvent_DamageTag() {
// @@protoc_insertion_point(destructor:CCSPredictionEvent_DamageTag)
if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
(void)arena;
return;
}
SharedDtor();
}
inline void CCSPredictionEvent_DamageTag::SharedDtor() {
GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}
void CCSPredictionEvent_DamageTag::SetCachedSize(int size) const {
_impl_._cached_size_.Set(size);
}
void CCSPredictionEvent_DamageTag::Clear() {
// @@protoc_insertion_point(message_clear_start:CCSPredictionEvent_DamageTag)
uint32_t cached_has_bits = 0;
// Prevent compiler warnings about cached_has_bits being unused
(void) cached_has_bits;
cached_has_bits = _impl_._has_bits_[0];
if (cached_has_bits & 0x00000007u) {
::memset(&_impl_.flinch_mod_small_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&_impl_.friendly_fire_damage_reduction_ratio_) -
reinterpret_cast<char*>(&_impl_.flinch_mod_small_)) + sizeof(_impl_.friendly_fire_damage_reduction_ratio_));
}
_impl_._has_bits_.Clear();
_internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}
const char* CCSPredictionEvent_DamageTag::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
_Internal::HasBits has_bits{};
while (!ctx->Done(&ptr)) {
uint32_t tag;
ptr = ::_pbi::ReadTag(ptr, &tag);
switch (tag >> 3) {
// optional float flinch_mod_small = 1;
case 1:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 13)) {
_Internal::set_has_flinch_mod_small(&has_bits);
_impl_.flinch_mod_small_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
ptr += sizeof(float);
} else
goto handle_unusual;
continue;
// optional float flinch_mod_large = 2;
case 2:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 21)) {
_Internal::set_has_flinch_mod_large(&has_bits);
_impl_.flinch_mod_large_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
ptr += sizeof(float);
} else
goto handle_unusual;
continue;
// optional float friendly_fire_damage_reduction_ratio = 3;
case 3:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 29)) {
_Internal::set_has_friendly_fire_damage_reduction_ratio(&has_bits);
_impl_.friendly_fire_damage_reduction_ratio_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
ptr += sizeof(float);
} else
goto handle_unusual;
continue;
default:
goto handle_unusual;
} // switch
handle_unusual:
if ((tag == 0) || ((tag & 7) == 4)) {
CHK_(ptr);
ctx->SetLastTag(tag);
goto message_done;
}
ptr = UnknownFieldParse(
tag,
_internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
ptr, ctx);
CHK_(ptr != nullptr);
} // while
message_done:
_impl_._has_bits_.Or(has_bits);
return ptr;
failure:
ptr = nullptr;
goto message_done;
#undef CHK_
}
uint8_t* CCSPredictionEvent_DamageTag::_InternalSerialize(
uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
// @@protoc_insertion_point(serialize_to_array_start:CCSPredictionEvent_DamageTag)
uint32_t cached_has_bits = 0;
(void) cached_has_bits;
cached_has_bits = _impl_._has_bits_[0];
// optional float flinch_mod_small = 1;
if (cached_has_bits & 0x00000001u) {
target = stream->EnsureSpace(target);
target = ::_pbi::WireFormatLite::WriteFloatToArray(1, this->_internal_flinch_mod_small(), target);
}
// optional float flinch_mod_large = 2;
if (cached_has_bits & 0x00000002u) {
target = stream->EnsureSpace(target);
target = ::_pbi::WireFormatLite::WriteFloatToArray(2, this->_internal_flinch_mod_large(), target);
}
// optional float friendly_fire_damage_reduction_ratio = 3;
if (cached_has_bits & 0x00000004u) {
target = stream->EnsureSpace(target);
target = ::_pbi::WireFormatLite::WriteFloatToArray(3, this->_internal_friendly_fire_damage_reduction_ratio(), target);
}
if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
_internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
}
// @@protoc_insertion_point(serialize_to_array_end:CCSPredictionEvent_DamageTag)
return target;
}
size_t CCSPredictionEvent_DamageTag::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CCSPredictionEvent_DamageTag)
size_t total_size = 0;
uint32_t cached_has_bits = 0;
// Prevent compiler warnings about cached_has_bits being unused
(void) cached_has_bits;
cached_has_bits = _impl_._has_bits_[0];
if (cached_has_bits & 0x00000007u) {
// optional float flinch_mod_small = 1;
if (cached_has_bits & 0x00000001u) {
total_size += 1 + 4;
}
// optional float flinch_mod_large = 2;
if (cached_has_bits & 0x00000002u) {
total_size += 1 + 4;
}
// optional float friendly_fire_damage_reduction_ratio = 3;
if (cached_has_bits & 0x00000004u) {
total_size += 1 + 4;
}
}
return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CCSPredictionEvent_DamageTag::_class_data_ = {
::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
CCSPredictionEvent_DamageTag::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CCSPredictionEvent_DamageTag::GetClassData() const { return &_class_data_; }
void CCSPredictionEvent_DamageTag::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
auto* const _this = static_cast<CCSPredictionEvent_DamageTag*>(&to_msg);
auto& from = static_cast<const CCSPredictionEvent_DamageTag&>(from_msg);
// @@protoc_insertion_point(class_specific_merge_from_start:CCSPredictionEvent_DamageTag)
GOOGLE_DCHECK_NE(&from, _this);
uint32_t cached_has_bits = 0;
(void) cached_has_bits;
cached_has_bits = from._impl_._has_bits_[0];
if (cached_has_bits & 0x00000007u) {
if (cached_has_bits & 0x00000001u) {
_this->_impl_.flinch_mod_small_ = from._impl_.flinch_mod_small_;
}
if (cached_has_bits & 0x00000002u) {
_this->_impl_.flinch_mod_large_ = from._impl_.flinch_mod_large_;
}
if (cached_has_bits & 0x00000004u) {
_this->_impl_.friendly_fire_damage_reduction_ratio_ = from._impl_.friendly_fire_damage_reduction_ratio_;
}
_this->_impl_._has_bits_[0] |= cached_has_bits;
}
_this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}
void CCSPredictionEvent_DamageTag::CopyFrom(const CCSPredictionEvent_DamageTag& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:CCSPredictionEvent_DamageTag)
if (&from == this) return;
Clear();
MergeFrom(from);
}
bool CCSPredictionEvent_DamageTag::IsInitialized() const {
return true;
}
void CCSPredictionEvent_DamageTag::InternalSwap(CCSPredictionEvent_DamageTag* other) {
using std::swap;
_internal_metadata_.InternalSwap(&other->_internal_metadata_);
swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
::PROTOBUF_NAMESPACE_ID::internal::memswap<
PROTOBUF_FIELD_OFFSET(CCSPredictionEvent_DamageTag, _impl_.friendly_fire_damage_reduction_ratio_)
+ sizeof(CCSPredictionEvent_DamageTag::_impl_.friendly_fire_damage_reduction_ratio_)
- PROTOBUF_FIELD_OFFSET(CCSPredictionEvent_DamageTag, _impl_.flinch_mod_small_)>(
reinterpret_cast<char*>(&_impl_.flinch_mod_small_),
reinterpret_cast<char*>(&other->_impl_.flinch_mod_small_));
}
::PROTOBUF_NAMESPACE_ID::Metadata CCSPredictionEvent_DamageTag::GetMetadata() const {
return ::_pbi::AssignDescriptors(
&descriptor_table_cs_5fprediction_5fevents_2eproto_getter, &descriptor_table_cs_5fprediction_5fevents_2eproto_once,
file_level_metadata_cs_5fprediction_5fevents_2eproto[0]);
}
// ===================================================================
class CCSPredictionEvent_AddAimPunch::_Internal {
public:
using HasBits = decltype(std::declval<CCSPredictionEvent_AddAimPunch>()._impl_._has_bits_);
static const ::CMsgQAngle& punch_angle(const CCSPredictionEvent_AddAimPunch* msg);
static void set_has_punch_angle(HasBits* has_bits) {
(*has_bits)[0] |= 1u;
}
static void set_has_when_tick(HasBits* has_bits) {
(*has_bits)[0] |= 2u;
}
static void set_has_when_tick_frac(HasBits* has_bits) {
(*has_bits)[0] |= 4u;
}
};
const ::CMsgQAngle&
CCSPredictionEvent_AddAimPunch::_Internal::punch_angle(const CCSPredictionEvent_AddAimPunch* msg) {
return *msg->_impl_.punch_angle_;
}
void CCSPredictionEvent_AddAimPunch::clear_punch_angle() {
if (_impl_.punch_angle_ != nullptr) _impl_.punch_angle_->Clear();
_impl_._has_bits_[0] &= ~0x00000001u;
}
CCSPredictionEvent_AddAimPunch::CCSPredictionEvent_AddAimPunch(::PROTOBUF_NAMESPACE_ID::Arena* arena,
bool is_message_owned)
: ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
SharedCtor(arena, is_message_owned);
// @@protoc_insertion_point(arena_constructor:CCSPredictionEvent_AddAimPunch)
}
CCSPredictionEvent_AddAimPunch::CCSPredictionEvent_AddAimPunch(const CCSPredictionEvent_AddAimPunch& from)
: ::PROTOBUF_NAMESPACE_ID::Message() {
CCSPredictionEvent_AddAimPunch* const _this = this; (void)_this;
new (&_impl_) Impl_{
decltype(_impl_._has_bits_){from._impl_._has_bits_}
, /*decltype(_impl_._cached_size_)*/{}
, decltype(_impl_.punch_angle_){nullptr}
, decltype(_impl_.when_tick_){}
, decltype(_impl_.when_tick_frac_){}};
_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
if (from._internal_has_punch_angle()) {
_this->_impl_.punch_angle_ = new ::CMsgQAngle(*from._impl_.punch_angle_);
}
::memcpy(&_impl_.when_tick_, &from._impl_.when_tick_,
static_cast<size_t>(reinterpret_cast<char*>(&_impl_.when_tick_frac_) -
reinterpret_cast<char*>(&_impl_.when_tick_)) + sizeof(_impl_.when_tick_frac_));
// @@protoc_insertion_point(copy_constructor:CCSPredictionEvent_AddAimPunch)
}
inline void CCSPredictionEvent_AddAimPunch::SharedCtor(
::_pb::Arena* arena, bool is_message_owned) {
(void)arena;
(void)is_message_owned;
new (&_impl_) Impl_{
decltype(_impl_._has_bits_){}
, /*decltype(_impl_._cached_size_)*/{}
, decltype(_impl_.punch_angle_){nullptr}
, decltype(_impl_.when_tick_){0u}
, decltype(_impl_.when_tick_frac_){0}
};
}
CCSPredictionEvent_AddAimPunch::~CCSPredictionEvent_AddAimPunch() {
// @@protoc_insertion_point(destructor:CCSPredictionEvent_AddAimPunch)
if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
(void)arena;
return;
}
SharedDtor();
}
inline void CCSPredictionEvent_AddAimPunch::SharedDtor() {
GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
if (this != internal_default_instance()) delete _impl_.punch_angle_;
}
void CCSPredictionEvent_AddAimPunch::SetCachedSize(int size) const {
_impl_._cached_size_.Set(size);
}
void CCSPredictionEvent_AddAimPunch::Clear() {
// @@protoc_insertion_point(message_clear_start:CCSPredictionEvent_AddAimPunch)
uint32_t cached_has_bits = 0;
// Prevent compiler warnings about cached_has_bits being unused
(void) cached_has_bits;
cached_has_bits = _impl_._has_bits_[0];
if (cached_has_bits & 0x00000001u) {
GOOGLE_DCHECK(_impl_.punch_angle_ != nullptr);
_impl_.punch_angle_->Clear();
}
if (cached_has_bits & 0x00000006u) {
::memset(&_impl_.when_tick_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&_impl_.when_tick_frac_) -
reinterpret_cast<char*>(&_impl_.when_tick_)) + sizeof(_impl_.when_tick_frac_));
}
_impl_._has_bits_.Clear();
_internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}
const char* CCSPredictionEvent_AddAimPunch::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
_Internal::HasBits has_bits{};
while (!ctx->Done(&ptr)) {
uint32_t tag;
ptr = ::_pbi::ReadTag(ptr, &tag);
switch (tag >> 3) {
// optional .CMsgQAngle punch_angle = 1;
case 1:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
ptr = ctx->ParseMessage(_internal_mutable_punch_angle(), ptr);
CHK_(ptr);
} else
goto handle_unusual;
continue;
// optional uint32 when_tick = 2;
case 2:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
_Internal::set_has_when_tick(&has_bits);
_impl_.when_tick_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
CHK_(ptr);
} else
goto handle_unusual;
continue;
// optional float when_tick_frac = 3;
case 3:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 29)) {
_Internal::set_has_when_tick_frac(&has_bits);
_impl_.when_tick_frac_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
ptr += sizeof(float);
} else
goto handle_unusual;
continue;
default:
goto handle_unusual;
} // switch
handle_unusual:
if ((tag == 0) || ((tag & 7) == 4)) {
CHK_(ptr);
ctx->SetLastTag(tag);
goto message_done;
}
ptr = UnknownFieldParse(
tag,
_internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
ptr, ctx);
CHK_(ptr != nullptr);
} // while
message_done:
_impl_._has_bits_.Or(has_bits);
return ptr;
failure:
ptr = nullptr;
goto message_done;
#undef CHK_
}
uint8_t* CCSPredictionEvent_AddAimPunch::_InternalSerialize(
uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
// @@protoc_insertion_point(serialize_to_array_start:CCSPredictionEvent_AddAimPunch)
uint32_t cached_has_bits = 0;
(void) cached_has_bits;
cached_has_bits = _impl_._has_bits_[0];
// optional .CMsgQAngle punch_angle = 1;
if (cached_has_bits & 0x00000001u) {
target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
InternalWriteMessage(1, _Internal::punch_angle(this),
_Internal::punch_angle(this).GetCachedSize(), target, stream);
}
// optional uint32 when_tick = 2;
if (cached_has_bits & 0x00000002u) {
target = stream->EnsureSpace(target);
target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_when_tick(), target);
}
// optional float when_tick_frac = 3;
if (cached_has_bits & 0x00000004u) {
target = stream->EnsureSpace(target);
target = ::_pbi::WireFormatLite::WriteFloatToArray(3, this->_internal_when_tick_frac(), target);
}
if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
_internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
}
// @@protoc_insertion_point(serialize_to_array_end:CCSPredictionEvent_AddAimPunch)
return target;
}
size_t CCSPredictionEvent_AddAimPunch::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CCSPredictionEvent_AddAimPunch)
size_t total_size = 0;
uint32_t cached_has_bits = 0;
// Prevent compiler warnings about cached_has_bits being unused
(void) cached_has_bits;
cached_has_bits = _impl_._has_bits_[0];
if (cached_has_bits & 0x00000007u) {
// optional .CMsgQAngle punch_angle = 1;
if (cached_has_bits & 0x00000001u) {
total_size += 1 +
::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
*_impl_.punch_angle_);
}
// optional uint32 when_tick = 2;
if (cached_has_bits & 0x00000002u) {
total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_when_tick());
}
// optional float when_tick_frac = 3;
if (cached_has_bits & 0x00000004u) {
total_size += 1 + 4;
}
}
return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CCSPredictionEvent_AddAimPunch::_class_data_ = {
::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
CCSPredictionEvent_AddAimPunch::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CCSPredictionEvent_AddAimPunch::GetClassData() const { return &_class_data_; }
void CCSPredictionEvent_AddAimPunch::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
auto* const _this = static_cast<CCSPredictionEvent_AddAimPunch*>(&to_msg);
auto& from = static_cast<const CCSPredictionEvent_AddAimPunch&>(from_msg);
// @@protoc_insertion_point(class_specific_merge_from_start:CCSPredictionEvent_AddAimPunch)
GOOGLE_DCHECK_NE(&from, _this);
uint32_t cached_has_bits = 0;
(void) cached_has_bits;
cached_has_bits = from._impl_._has_bits_[0];
if (cached_has_bits & 0x00000007u) {
if (cached_has_bits & 0x00000001u) {
_this->_internal_mutable_punch_angle()->::CMsgQAngle::MergeFrom(
from._internal_punch_angle());
}
if (cached_has_bits & 0x00000002u) {
_this->_impl_.when_tick_ = from._impl_.when_tick_;
}
if (cached_has_bits & 0x00000004u) {
_this->_impl_.when_tick_frac_ = from._impl_.when_tick_frac_;
}
_this->_impl_._has_bits_[0] |= cached_has_bits;
}
_this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}
void CCSPredictionEvent_AddAimPunch::CopyFrom(const CCSPredictionEvent_AddAimPunch& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:CCSPredictionEvent_AddAimPunch)
if (&from == this) return;
Clear();
MergeFrom(from);
}
bool CCSPredictionEvent_AddAimPunch::IsInitialized() const {
return true;
}
void CCSPredictionEvent_AddAimPunch::InternalSwap(CCSPredictionEvent_AddAimPunch* other) {
using std::swap;
_internal_metadata_.InternalSwap(&other->_internal_metadata_);
swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
::PROTOBUF_NAMESPACE_ID::internal::memswap<
PROTOBUF_FIELD_OFFSET(CCSPredictionEvent_AddAimPunch, _impl_.when_tick_frac_)
+ sizeof(CCSPredictionEvent_AddAimPunch::_impl_.when_tick_frac_)
- PROTOBUF_FIELD_OFFSET(CCSPredictionEvent_AddAimPunch, _impl_.punch_angle_)>(
reinterpret_cast<char*>(&_impl_.punch_angle_),
reinterpret_cast<char*>(&other->_impl_.punch_angle_));
}
::PROTOBUF_NAMESPACE_ID::Metadata CCSPredictionEvent_AddAimPunch::GetMetadata() const {
return ::_pbi::AssignDescriptors(
&descriptor_table_cs_5fprediction_5fevents_2eproto_getter, &descriptor_table_cs_5fprediction_5fevents_2eproto_once,
file_level_metadata_cs_5fprediction_5fevents_2eproto[1]);
}
// @@protoc_insertion_point(namespace_scope)
PROTOBUF_NAMESPACE_OPEN
template<> PROTOBUF_NOINLINE ::CCSPredictionEvent_DamageTag*
Arena::CreateMaybeMessage< ::CCSPredictionEvent_DamageTag >(Arena* arena) {
return Arena::CreateMessageInternal< ::CCSPredictionEvent_DamageTag >(arena);
}
template<> PROTOBUF_NOINLINE ::CCSPredictionEvent_AddAimPunch*
Arena::CreateMaybeMessage< ::CCSPredictionEvent_AddAimPunch >(Arena* arena) {
return Arena::CreateMessageInternal< ::CCSPredictionEvent_AddAimPunch >(arena);
}
PROTOBUF_NAMESPACE_CLOSE
// @@protoc_insertion_point(global_scope)
#include <google/protobuf/port_undef.inc>
@@ -0,0 +1,733 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: cs_prediction_events.proto
#ifndef GOOGLE_PROTOBUF_INCLUDED_cs_5fprediction_5fevents_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_cs_5fprediction_5fevents_2eproto
#include <limits>
#include <string>
#include <google/protobuf/port_def.inc>
#if PROTOBUF_VERSION < 3021000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
#if 3021008 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
#endif
#include <google/protobuf/port_undef.inc>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/metadata_lite.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h> // IWYU pragma: export
#include <google/protobuf/extension_set.h> // IWYU pragma: export
#include <google/protobuf/generated_enum_reflection.h>
#include <google/protobuf/unknown_field_set.h>
#include "networkbasetypes.pb.h"
#include "prediction_events.pb.h"
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_cs_5fprediction_5fevents_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
} // namespace internal
PROTOBUF_NAMESPACE_CLOSE
// Internal implementation detail -- do not use these members.
struct TableStruct_cs_5fprediction_5fevents_2eproto {
static const uint32_t offsets[];
};
extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_cs_5fprediction_5fevents_2eproto;
class CCSPredictionEvent_AddAimPunch;
struct CCSPredictionEvent_AddAimPunchDefaultTypeInternal;
extern CCSPredictionEvent_AddAimPunchDefaultTypeInternal _CCSPredictionEvent_AddAimPunch_default_instance_;
class CCSPredictionEvent_DamageTag;
struct CCSPredictionEvent_DamageTagDefaultTypeInternal;
extern CCSPredictionEvent_DamageTagDefaultTypeInternal _CCSPredictionEvent_DamageTag_default_instance_;
PROTOBUF_NAMESPACE_OPEN
template<> ::CCSPredictionEvent_AddAimPunch* Arena::CreateMaybeMessage<::CCSPredictionEvent_AddAimPunch>(Arena*);
template<> ::CCSPredictionEvent_DamageTag* Arena::CreateMaybeMessage<::CCSPredictionEvent_DamageTag>(Arena*);
PROTOBUF_NAMESPACE_CLOSE
enum ECSPredictionEvents : int {
CSPE_DamageTag = 1,
CSPE_AddAimPunch = 3
};
bool ECSPredictionEvents_IsValid(int value);
constexpr ECSPredictionEvents ECSPredictionEvents_MIN = CSPE_DamageTag;
constexpr ECSPredictionEvents ECSPredictionEvents_MAX = CSPE_AddAimPunch;
constexpr int ECSPredictionEvents_ARRAYSIZE = ECSPredictionEvents_MAX + 1;
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ECSPredictionEvents_descriptor();
template<typename T>
inline const std::string& ECSPredictionEvents_Name(T enum_t_value) {
static_assert(::std::is_same<T, ECSPredictionEvents>::value ||
::std::is_integral<T>::value,
"Incorrect type passed to function ECSPredictionEvents_Name.");
return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
ECSPredictionEvents_descriptor(), enum_t_value);
}
inline bool ECSPredictionEvents_Parse(
::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ECSPredictionEvents* value) {
return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<ECSPredictionEvents>(
ECSPredictionEvents_descriptor(), name, value);
}
// ===================================================================
class CCSPredictionEvent_DamageTag final :
public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CCSPredictionEvent_DamageTag) */ {
public:
inline CCSPredictionEvent_DamageTag() : CCSPredictionEvent_DamageTag(nullptr) {}
~CCSPredictionEvent_DamageTag() override;
explicit PROTOBUF_CONSTEXPR CCSPredictionEvent_DamageTag(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
CCSPredictionEvent_DamageTag(const CCSPredictionEvent_DamageTag& from);
CCSPredictionEvent_DamageTag(CCSPredictionEvent_DamageTag&& from) noexcept
: CCSPredictionEvent_DamageTag() {
*this = ::std::move(from);
}
inline CCSPredictionEvent_DamageTag& operator=(const CCSPredictionEvent_DamageTag& from) {
CopyFrom(from);
return *this;
}
inline CCSPredictionEvent_DamageTag& operator=(CCSPredictionEvent_DamageTag&& from) noexcept {
if (this == &from) return *this;
if (GetOwningArena() == from.GetOwningArena()
#ifdef PROTOBUF_FORCE_COPY_IN_MOVE
&& GetOwningArena() != nullptr
#endif // !PROTOBUF_FORCE_COPY_IN_MOVE
) {
InternalSwap(&from);
} else {
CopyFrom(from);
}
return *this;
}
inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
}
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
return GetDescriptor();
}
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
return default_instance().GetMetadata().descriptor;
}
static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
return default_instance().GetMetadata().reflection;
}
static const CCSPredictionEvent_DamageTag& default_instance() {
return *internal_default_instance();
}
static inline const CCSPredictionEvent_DamageTag* internal_default_instance() {
return reinterpret_cast<const CCSPredictionEvent_DamageTag*>(
&_CCSPredictionEvent_DamageTag_default_instance_);
}
static constexpr int kIndexInFileMessages =
0;
friend void swap(CCSPredictionEvent_DamageTag& a, CCSPredictionEvent_DamageTag& b) {
a.Swap(&b);
}
inline void Swap(CCSPredictionEvent_DamageTag* other) {
if (other == this) return;
#ifdef PROTOBUF_FORCE_COPY_IN_SWAP
if (GetOwningArena() != nullptr &&
GetOwningArena() == other->GetOwningArena()) {
#else // PROTOBUF_FORCE_COPY_IN_SWAP
if (GetOwningArena() == other->GetOwningArena()) {
#endif // !PROTOBUF_FORCE_COPY_IN_SWAP
InternalSwap(other);
} else {
::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
}
}
void UnsafeArenaSwap(CCSPredictionEvent_DamageTag* other) {
if (other == this) return;
GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
InternalSwap(other);
}
// implements Message ----------------------------------------------
CCSPredictionEvent_DamageTag* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
return CreateMaybeMessage<CCSPredictionEvent_DamageTag>(arena);
}
using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
void CopyFrom(const CCSPredictionEvent_DamageTag& from);
using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
void MergeFrom( const CCSPredictionEvent_DamageTag& from) {
CCSPredictionEvent_DamageTag::MergeImpl(*this, from);
}
private:
static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
public:
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
bool IsInitialized() const final;
size_t ByteSizeLong() const final;
const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
uint8_t* _InternalSerialize(
uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
int GetCachedSize() const final { return _impl_._cached_size_.Get(); }
private:
void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
void SharedDtor();
void SetCachedSize(int size) const final;
void InternalSwap(CCSPredictionEvent_DamageTag* other);
private:
friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
return "CCSPredictionEvent_DamageTag";
}
protected:
explicit CCSPredictionEvent_DamageTag(::PROTOBUF_NAMESPACE_ID::Arena* arena,
bool is_message_owned = false);
public:
static const ClassData _class_data_;
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
// nested types ----------------------------------------------------
// accessors -------------------------------------------------------
enum : int {
kFlinchModSmallFieldNumber = 1,
kFlinchModLargeFieldNumber = 2,
kFriendlyFireDamageReductionRatioFieldNumber = 3,
};
// optional float flinch_mod_small = 1;
bool has_flinch_mod_small() const;
private:
bool _internal_has_flinch_mod_small() const;
public:
void clear_flinch_mod_small();
float flinch_mod_small() const;
void set_flinch_mod_small(float value);
private:
float _internal_flinch_mod_small() const;
void _internal_set_flinch_mod_small(float value);
public:
// optional float flinch_mod_large = 2;
bool has_flinch_mod_large() const;
private:
bool _internal_has_flinch_mod_large() const;
public:
void clear_flinch_mod_large();
float flinch_mod_large() const;
void set_flinch_mod_large(float value);
private:
float _internal_flinch_mod_large() const;
void _internal_set_flinch_mod_large(float value);
public:
// optional float friendly_fire_damage_reduction_ratio = 3;
bool has_friendly_fire_damage_reduction_ratio() const;
private:
bool _internal_has_friendly_fire_damage_reduction_ratio() const;
public:
void clear_friendly_fire_damage_reduction_ratio();
float friendly_fire_damage_reduction_ratio() const;
void set_friendly_fire_damage_reduction_ratio(float value);
private:
float _internal_friendly_fire_damage_reduction_ratio() const;
void _internal_set_friendly_fire_damage_reduction_ratio(float value);
public:
// @@protoc_insertion_point(class_scope:CCSPredictionEvent_DamageTag)
private:
class _Internal;
template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
typedef void InternalArenaConstructable_;
typedef void DestructorSkippable_;
struct Impl_ {
::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
float flinch_mod_small_;
float flinch_mod_large_;
float friendly_fire_damage_reduction_ratio_;
};
union { Impl_ _impl_; };
friend struct ::TableStruct_cs_5fprediction_5fevents_2eproto;
};
// -------------------------------------------------------------------
class CCSPredictionEvent_AddAimPunch final :
public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CCSPredictionEvent_AddAimPunch) */ {
public:
inline CCSPredictionEvent_AddAimPunch() : CCSPredictionEvent_AddAimPunch(nullptr) {}
~CCSPredictionEvent_AddAimPunch() override;
explicit PROTOBUF_CONSTEXPR CCSPredictionEvent_AddAimPunch(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
CCSPredictionEvent_AddAimPunch(const CCSPredictionEvent_AddAimPunch& from);
CCSPredictionEvent_AddAimPunch(CCSPredictionEvent_AddAimPunch&& from) noexcept
: CCSPredictionEvent_AddAimPunch() {
*this = ::std::move(from);
}
inline CCSPredictionEvent_AddAimPunch& operator=(const CCSPredictionEvent_AddAimPunch& from) {
CopyFrom(from);
return *this;
}
inline CCSPredictionEvent_AddAimPunch& operator=(CCSPredictionEvent_AddAimPunch&& from) noexcept {
if (this == &from) return *this;
if (GetOwningArena() == from.GetOwningArena()
#ifdef PROTOBUF_FORCE_COPY_IN_MOVE
&& GetOwningArena() != nullptr
#endif // !PROTOBUF_FORCE_COPY_IN_MOVE
) {
InternalSwap(&from);
} else {
CopyFrom(from);
}
return *this;
}
inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
}
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
return GetDescriptor();
}
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
return default_instance().GetMetadata().descriptor;
}
static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
return default_instance().GetMetadata().reflection;
}
static const CCSPredictionEvent_AddAimPunch& default_instance() {
return *internal_default_instance();
}
static inline const CCSPredictionEvent_AddAimPunch* internal_default_instance() {
return reinterpret_cast<const CCSPredictionEvent_AddAimPunch*>(
&_CCSPredictionEvent_AddAimPunch_default_instance_);
}
static constexpr int kIndexInFileMessages =
1;
friend void swap(CCSPredictionEvent_AddAimPunch& a, CCSPredictionEvent_AddAimPunch& b) {
a.Swap(&b);
}
inline void Swap(CCSPredictionEvent_AddAimPunch* other) {
if (other == this) return;
#ifdef PROTOBUF_FORCE_COPY_IN_SWAP
if (GetOwningArena() != nullptr &&
GetOwningArena() == other->GetOwningArena()) {
#else // PROTOBUF_FORCE_COPY_IN_SWAP
if (GetOwningArena() == other->GetOwningArena()) {
#endif // !PROTOBUF_FORCE_COPY_IN_SWAP
InternalSwap(other);
} else {
::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
}
}
void UnsafeArenaSwap(CCSPredictionEvent_AddAimPunch* other) {
if (other == this) return;
GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
InternalSwap(other);
}
// implements Message ----------------------------------------------
CCSPredictionEvent_AddAimPunch* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
return CreateMaybeMessage<CCSPredictionEvent_AddAimPunch>(arena);
}
using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
void CopyFrom(const CCSPredictionEvent_AddAimPunch& from);
using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
void MergeFrom( const CCSPredictionEvent_AddAimPunch& from) {
CCSPredictionEvent_AddAimPunch::MergeImpl(*this, from);
}
private:
static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
public:
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
bool IsInitialized() const final;
size_t ByteSizeLong() const final;
const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
uint8_t* _InternalSerialize(
uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
int GetCachedSize() const final { return _impl_._cached_size_.Get(); }
private:
void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
void SharedDtor();
void SetCachedSize(int size) const final;
void InternalSwap(CCSPredictionEvent_AddAimPunch* other);
private:
friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
return "CCSPredictionEvent_AddAimPunch";
}
protected:
explicit CCSPredictionEvent_AddAimPunch(::PROTOBUF_NAMESPACE_ID::Arena* arena,
bool is_message_owned = false);
public:
static const ClassData _class_data_;
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
// nested types ----------------------------------------------------
// accessors -------------------------------------------------------
enum : int {
kPunchAngleFieldNumber = 1,
kWhenTickFieldNumber = 2,
kWhenTickFracFieldNumber = 3,
};
// optional .CMsgQAngle punch_angle = 1;
bool has_punch_angle() const;
private:
bool _internal_has_punch_angle() const;
public:
void clear_punch_angle();
const ::CMsgQAngle& punch_angle() const;
PROTOBUF_NODISCARD ::CMsgQAngle* release_punch_angle();
::CMsgQAngle* mutable_punch_angle();
void set_allocated_punch_angle(::CMsgQAngle* punch_angle);
private:
const ::CMsgQAngle& _internal_punch_angle() const;
::CMsgQAngle* _internal_mutable_punch_angle();
public:
void unsafe_arena_set_allocated_punch_angle(
::CMsgQAngle* punch_angle);
::CMsgQAngle* unsafe_arena_release_punch_angle();
// optional uint32 when_tick = 2;
bool has_when_tick() const;
private:
bool _internal_has_when_tick() const;
public:
void clear_when_tick();
uint32_t when_tick() const;
void set_when_tick(uint32_t value);
private:
uint32_t _internal_when_tick() const;
void _internal_set_when_tick(uint32_t value);
public:
// optional float when_tick_frac = 3;
bool has_when_tick_frac() const;
private:
bool _internal_has_when_tick_frac() const;
public:
void clear_when_tick_frac();
float when_tick_frac() const;
void set_when_tick_frac(float value);
private:
float _internal_when_tick_frac() const;
void _internal_set_when_tick_frac(float value);
public:
// @@protoc_insertion_point(class_scope:CCSPredictionEvent_AddAimPunch)
private:
class _Internal;
template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
typedef void InternalArenaConstructable_;
typedef void DestructorSkippable_;
struct Impl_ {
::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
::CMsgQAngle* punch_angle_;
uint32_t when_tick_;
float when_tick_frac_;
};
union { Impl_ _impl_; };
friend struct ::TableStruct_cs_5fprediction_5fevents_2eproto;
};
// ===================================================================
// ===================================================================
#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif // __GNUC__
// CCSPredictionEvent_DamageTag
// optional float flinch_mod_small = 1;
inline bool CCSPredictionEvent_DamageTag::_internal_has_flinch_mod_small() const {
bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
return value;
}
inline bool CCSPredictionEvent_DamageTag::has_flinch_mod_small() const {
return _internal_has_flinch_mod_small();
}
inline void CCSPredictionEvent_DamageTag::clear_flinch_mod_small() {
_impl_.flinch_mod_small_ = 0;
_impl_._has_bits_[0] &= ~0x00000001u;
}
inline float CCSPredictionEvent_DamageTag::_internal_flinch_mod_small() const {
return _impl_.flinch_mod_small_;
}
inline float CCSPredictionEvent_DamageTag::flinch_mod_small() const {
// @@protoc_insertion_point(field_get:CCSPredictionEvent_DamageTag.flinch_mod_small)
return _internal_flinch_mod_small();
}
inline void CCSPredictionEvent_DamageTag::_internal_set_flinch_mod_small(float value) {
_impl_._has_bits_[0] |= 0x00000001u;
_impl_.flinch_mod_small_ = value;
}
inline void CCSPredictionEvent_DamageTag::set_flinch_mod_small(float value) {
_internal_set_flinch_mod_small(value);
// @@protoc_insertion_point(field_set:CCSPredictionEvent_DamageTag.flinch_mod_small)
}
// optional float flinch_mod_large = 2;
inline bool CCSPredictionEvent_DamageTag::_internal_has_flinch_mod_large() const {
bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
return value;
}
inline bool CCSPredictionEvent_DamageTag::has_flinch_mod_large() const {
return _internal_has_flinch_mod_large();
}
inline void CCSPredictionEvent_DamageTag::clear_flinch_mod_large() {
_impl_.flinch_mod_large_ = 0;
_impl_._has_bits_[0] &= ~0x00000002u;
}
inline float CCSPredictionEvent_DamageTag::_internal_flinch_mod_large() const {
return _impl_.flinch_mod_large_;
}
inline float CCSPredictionEvent_DamageTag::flinch_mod_large() const {
// @@protoc_insertion_point(field_get:CCSPredictionEvent_DamageTag.flinch_mod_large)
return _internal_flinch_mod_large();
}
inline void CCSPredictionEvent_DamageTag::_internal_set_flinch_mod_large(float value) {
_impl_._has_bits_[0] |= 0x00000002u;
_impl_.flinch_mod_large_ = value;
}
inline void CCSPredictionEvent_DamageTag::set_flinch_mod_large(float value) {
_internal_set_flinch_mod_large(value);
// @@protoc_insertion_point(field_set:CCSPredictionEvent_DamageTag.flinch_mod_large)
}
// optional float friendly_fire_damage_reduction_ratio = 3;
inline bool CCSPredictionEvent_DamageTag::_internal_has_friendly_fire_damage_reduction_ratio() const {
bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
return value;
}
inline bool CCSPredictionEvent_DamageTag::has_friendly_fire_damage_reduction_ratio() const {
return _internal_has_friendly_fire_damage_reduction_ratio();
}
inline void CCSPredictionEvent_DamageTag::clear_friendly_fire_damage_reduction_ratio() {
_impl_.friendly_fire_damage_reduction_ratio_ = 0;
_impl_._has_bits_[0] &= ~0x00000004u;
}
inline float CCSPredictionEvent_DamageTag::_internal_friendly_fire_damage_reduction_ratio() const {
return _impl_.friendly_fire_damage_reduction_ratio_;
}
inline float CCSPredictionEvent_DamageTag::friendly_fire_damage_reduction_ratio() const {
// @@protoc_insertion_point(field_get:CCSPredictionEvent_DamageTag.friendly_fire_damage_reduction_ratio)
return _internal_friendly_fire_damage_reduction_ratio();
}
inline void CCSPredictionEvent_DamageTag::_internal_set_friendly_fire_damage_reduction_ratio(float value) {
_impl_._has_bits_[0] |= 0x00000004u;
_impl_.friendly_fire_damage_reduction_ratio_ = value;
}
inline void CCSPredictionEvent_DamageTag::set_friendly_fire_damage_reduction_ratio(float value) {
_internal_set_friendly_fire_damage_reduction_ratio(value);
// @@protoc_insertion_point(field_set:CCSPredictionEvent_DamageTag.friendly_fire_damage_reduction_ratio)
}
// -------------------------------------------------------------------
// CCSPredictionEvent_AddAimPunch
// optional .CMsgQAngle punch_angle = 1;
inline bool CCSPredictionEvent_AddAimPunch::_internal_has_punch_angle() const {
bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
PROTOBUF_ASSUME(!value || _impl_.punch_angle_ != nullptr);
return value;
}
inline bool CCSPredictionEvent_AddAimPunch::has_punch_angle() const {
return _internal_has_punch_angle();
}
inline const ::CMsgQAngle& CCSPredictionEvent_AddAimPunch::_internal_punch_angle() const {
const ::CMsgQAngle* p = _impl_.punch_angle_;
return p != nullptr ? *p : reinterpret_cast<const ::CMsgQAngle&>(
::_CMsgQAngle_default_instance_);
}
inline const ::CMsgQAngle& CCSPredictionEvent_AddAimPunch::punch_angle() const {
// @@protoc_insertion_point(field_get:CCSPredictionEvent_AddAimPunch.punch_angle)
return _internal_punch_angle();
}
inline void CCSPredictionEvent_AddAimPunch::unsafe_arena_set_allocated_punch_angle(
::CMsgQAngle* punch_angle) {
if (GetArenaForAllocation() == nullptr) {
delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.punch_angle_);
}
_impl_.punch_angle_ = punch_angle;
if (punch_angle) {
_impl_._has_bits_[0] |= 0x00000001u;
} else {
_impl_._has_bits_[0] &= ~0x00000001u;
}
// @@protoc_insertion_point(field_unsafe_arena_set_allocated:CCSPredictionEvent_AddAimPunch.punch_angle)
}
inline ::CMsgQAngle* CCSPredictionEvent_AddAimPunch::release_punch_angle() {
_impl_._has_bits_[0] &= ~0x00000001u;
::CMsgQAngle* temp = _impl_.punch_angle_;
_impl_.punch_angle_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
auto* old = reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
if (GetArenaForAllocation() == nullptr) { delete old; }
#else // PROTOBUF_FORCE_COPY_IN_RELEASE
if (GetArenaForAllocation() != nullptr) {
temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
}
#endif // !PROTOBUF_FORCE_COPY_IN_RELEASE
return temp;
}
inline ::CMsgQAngle* CCSPredictionEvent_AddAimPunch::unsafe_arena_release_punch_angle() {
// @@protoc_insertion_point(field_release:CCSPredictionEvent_AddAimPunch.punch_angle)
_impl_._has_bits_[0] &= ~0x00000001u;
::CMsgQAngle* temp = _impl_.punch_angle_;
_impl_.punch_angle_ = nullptr;
return temp;
}
inline ::CMsgQAngle* CCSPredictionEvent_AddAimPunch::_internal_mutable_punch_angle() {
_impl_._has_bits_[0] |= 0x00000001u;
if (_impl_.punch_angle_ == nullptr) {
auto* p = CreateMaybeMessage<::CMsgQAngle>(GetArenaForAllocation());
_impl_.punch_angle_ = p;
}
return _impl_.punch_angle_;
}
inline ::CMsgQAngle* CCSPredictionEvent_AddAimPunch::mutable_punch_angle() {
::CMsgQAngle* _msg = _internal_mutable_punch_angle();
// @@protoc_insertion_point(field_mutable:CCSPredictionEvent_AddAimPunch.punch_angle)
return _msg;
}
inline void CCSPredictionEvent_AddAimPunch::set_allocated_punch_angle(::CMsgQAngle* punch_angle) {
::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
if (message_arena == nullptr) {
delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(_impl_.punch_angle_);
}
if (punch_angle) {
::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
::PROTOBUF_NAMESPACE_ID::Arena::InternalGetOwningArena(
reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(punch_angle));
if (message_arena != submessage_arena) {
punch_angle = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
message_arena, punch_angle, submessage_arena);
}
_impl_._has_bits_[0] |= 0x00000001u;
} else {
_impl_._has_bits_[0] &= ~0x00000001u;
}
_impl_.punch_angle_ = punch_angle;
// @@protoc_insertion_point(field_set_allocated:CCSPredictionEvent_AddAimPunch.punch_angle)
}
// optional uint32 when_tick = 2;
inline bool CCSPredictionEvent_AddAimPunch::_internal_has_when_tick() const {
bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
return value;
}
inline bool CCSPredictionEvent_AddAimPunch::has_when_tick() const {
return _internal_has_when_tick();
}
inline void CCSPredictionEvent_AddAimPunch::clear_when_tick() {
_impl_.when_tick_ = 0u;
_impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t CCSPredictionEvent_AddAimPunch::_internal_when_tick() const {
return _impl_.when_tick_;
}
inline uint32_t CCSPredictionEvent_AddAimPunch::when_tick() const {
// @@protoc_insertion_point(field_get:CCSPredictionEvent_AddAimPunch.when_tick)
return _internal_when_tick();
}
inline void CCSPredictionEvent_AddAimPunch::_internal_set_when_tick(uint32_t value) {
_impl_._has_bits_[0] |= 0x00000002u;
_impl_.when_tick_ = value;
}
inline void CCSPredictionEvent_AddAimPunch::set_when_tick(uint32_t value) {
_internal_set_when_tick(value);
// @@protoc_insertion_point(field_set:CCSPredictionEvent_AddAimPunch.when_tick)
}
// optional float when_tick_frac = 3;
inline bool CCSPredictionEvent_AddAimPunch::_internal_has_when_tick_frac() const {
bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
return value;
}
inline bool CCSPredictionEvent_AddAimPunch::has_when_tick_frac() const {
return _internal_has_when_tick_frac();
}
inline void CCSPredictionEvent_AddAimPunch::clear_when_tick_frac() {
_impl_.when_tick_frac_ = 0;
_impl_._has_bits_[0] &= ~0x00000004u;
}
inline float CCSPredictionEvent_AddAimPunch::_internal_when_tick_frac() const {
return _impl_.when_tick_frac_;
}
inline float CCSPredictionEvent_AddAimPunch::when_tick_frac() const {
// @@protoc_insertion_point(field_get:CCSPredictionEvent_AddAimPunch.when_tick_frac)
return _internal_when_tick_frac();
}
inline void CCSPredictionEvent_AddAimPunch::_internal_set_when_tick_frac(float value) {
_impl_._has_bits_[0] |= 0x00000004u;
_impl_.when_tick_frac_ = value;
}
inline void CCSPredictionEvent_AddAimPunch::set_when_tick_frac(float value) {
_internal_set_when_tick_frac(value);
// @@protoc_insertion_point(field_set:CCSPredictionEvent_AddAimPunch.when_tick_frac)
}
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif // __GNUC__
// -------------------------------------------------------------------
// @@protoc_insertion_point(namespace_scope)
PROTOBUF_NAMESPACE_OPEN
template <> struct is_proto_enum< ::ECSPredictionEvents> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::ECSPredictionEvents>() {
return ::ECSPredictionEvents_descriptor();
}
PROTOBUF_NAMESPACE_CLOSE
// @@protoc_insertion_point(global_scope)
#include <google/protobuf/port_undef.inc>
#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_cs_5fprediction_5fevents_2eproto
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,595 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: engine_gcmessages.proto
#include "engine_gcmessages.pb.h"
#include <algorithm>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/wire_format_lite.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/reflection_ops.h>
#include <google/protobuf/wire_format.h>
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
PROTOBUF_PRAGMA_INIT_SEG
namespace _pb = ::PROTOBUF_NAMESPACE_ID;
namespace _pbi = _pb::internal;
PROTOBUF_CONSTEXPR CEngineGotvSyncPacket::CEngineGotvSyncPacket(
::_pbi::ConstantInitialized): _impl_{
/*decltype(_impl_._has_bits_)*/{}
, /*decltype(_impl_._cached_size_)*/{}
, /*decltype(_impl_.match_id_)*/uint64_t{0u}
, /*decltype(_impl_.instance_id_)*/0u
, /*decltype(_impl_.signupfragment_)*/0u
, /*decltype(_impl_.currentfragment_)*/0u
, /*decltype(_impl_.tickrate_)*/0
, /*decltype(_impl_.tick_)*/0u
, /*decltype(_impl_.rtdelay_)*/0
, /*decltype(_impl_.rcvage_)*/0
, /*decltype(_impl_.keyframe_interval_)*/0
, /*decltype(_impl_.cdndelay_)*/0u} {}
struct CEngineGotvSyncPacketDefaultTypeInternal {
PROTOBUF_CONSTEXPR CEngineGotvSyncPacketDefaultTypeInternal()
: _instance(::_pbi::ConstantInitialized{}) {}
~CEngineGotvSyncPacketDefaultTypeInternal() {}
union {
CEngineGotvSyncPacket _instance;
};
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CEngineGotvSyncPacketDefaultTypeInternal _CEngineGotvSyncPacket_default_instance_;
static ::_pb::Metadata file_level_metadata_engine_5fgcmessages_2eproto[1];
static constexpr ::_pb::EnumDescriptor const** file_level_enum_descriptors_engine_5fgcmessages_2eproto = nullptr;
static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_engine_5fgcmessages_2eproto = nullptr;
const uint32_t TableStruct_engine_5fgcmessages_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
PROTOBUF_FIELD_OFFSET(::CEngineGotvSyncPacket, _impl_._has_bits_),
PROTOBUF_FIELD_OFFSET(::CEngineGotvSyncPacket, _internal_metadata_),
~0u, // no _extensions_
~0u, // no _oneof_case_
~0u, // no _weak_field_map_
~0u, // no _inlined_string_donated_
PROTOBUF_FIELD_OFFSET(::CEngineGotvSyncPacket, _impl_.match_id_),
PROTOBUF_FIELD_OFFSET(::CEngineGotvSyncPacket, _impl_.instance_id_),
PROTOBUF_FIELD_OFFSET(::CEngineGotvSyncPacket, _impl_.signupfragment_),
PROTOBUF_FIELD_OFFSET(::CEngineGotvSyncPacket, _impl_.currentfragment_),
PROTOBUF_FIELD_OFFSET(::CEngineGotvSyncPacket, _impl_.tickrate_),
PROTOBUF_FIELD_OFFSET(::CEngineGotvSyncPacket, _impl_.tick_),
PROTOBUF_FIELD_OFFSET(::CEngineGotvSyncPacket, _impl_.rtdelay_),
PROTOBUF_FIELD_OFFSET(::CEngineGotvSyncPacket, _impl_.rcvage_),
PROTOBUF_FIELD_OFFSET(::CEngineGotvSyncPacket, _impl_.keyframe_interval_),
PROTOBUF_FIELD_OFFSET(::CEngineGotvSyncPacket, _impl_.cdndelay_),
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
};
static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
{ 0, 16, -1, sizeof(::CEngineGotvSyncPacket)},
};
static const ::_pb::Message* const file_default_instances[] = {
&::_CEngineGotvSyncPacket_default_instance_._instance,
};
const char descriptor_table_protodef_engine_5fgcmessages_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
"\n\027engine_gcmessages.proto\032 google/protob"
"uf/descriptor.proto\"\335\001\n\025CEngineGotvSyncP"
"acket\022\020\n\010match_id\030\001 \001(\004\022\023\n\013instance_id\030\002"
" \001(\r\022\026\n\016signupfragment\030\003 \001(\r\022\027\n\017currentf"
"ragment\030\004 \001(\r\022\020\n\010tickrate\030\005 \001(\002\022\014\n\004tick\030"
"\006 \001(\r\022\017\n\007rtdelay\030\010 \001(\002\022\016\n\006rcvage\030\t \001(\002\022\031"
"\n\021keyframe_interval\030\n \001(\002\022\020\n\010cdndelay\030\013 "
"\001(\r"
;
static const ::_pbi::DescriptorTable* const descriptor_table_engine_5fgcmessages_2eproto_deps[1] = {
&::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
};
static ::_pbi::once_flag descriptor_table_engine_5fgcmessages_2eproto_once;
const ::_pbi::DescriptorTable descriptor_table_engine_5fgcmessages_2eproto = {
false, false, 283, descriptor_table_protodef_engine_5fgcmessages_2eproto,
"engine_gcmessages.proto",
&descriptor_table_engine_5fgcmessages_2eproto_once, descriptor_table_engine_5fgcmessages_2eproto_deps, 1, 1,
schemas, file_default_instances, TableStruct_engine_5fgcmessages_2eproto::offsets,
file_level_metadata_engine_5fgcmessages_2eproto, file_level_enum_descriptors_engine_5fgcmessages_2eproto,
file_level_service_descriptors_engine_5fgcmessages_2eproto,
};
PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_engine_5fgcmessages_2eproto_getter() {
return &descriptor_table_engine_5fgcmessages_2eproto;
}
// Force running AddDescriptors() at dynamic initialization time.
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_engine_5fgcmessages_2eproto(&descriptor_table_engine_5fgcmessages_2eproto);
// ===================================================================
class CEngineGotvSyncPacket::_Internal {
public:
using HasBits = decltype(std::declval<CEngineGotvSyncPacket>()._impl_._has_bits_);
static void set_has_match_id(HasBits* has_bits) {
(*has_bits)[0] |= 1u;
}
static void set_has_instance_id(HasBits* has_bits) {
(*has_bits)[0] |= 2u;
}
static void set_has_signupfragment(HasBits* has_bits) {
(*has_bits)[0] |= 4u;
}
static void set_has_currentfragment(HasBits* has_bits) {
(*has_bits)[0] |= 8u;
}
static void set_has_tickrate(HasBits* has_bits) {
(*has_bits)[0] |= 16u;
}
static void set_has_tick(HasBits* has_bits) {
(*has_bits)[0] |= 32u;
}
static void set_has_rtdelay(HasBits* has_bits) {
(*has_bits)[0] |= 64u;
}
static void set_has_rcvage(HasBits* has_bits) {
(*has_bits)[0] |= 128u;
}
static void set_has_keyframe_interval(HasBits* has_bits) {
(*has_bits)[0] |= 256u;
}
static void set_has_cdndelay(HasBits* has_bits) {
(*has_bits)[0] |= 512u;
}
};
CEngineGotvSyncPacket::CEngineGotvSyncPacket(::PROTOBUF_NAMESPACE_ID::Arena* arena,
bool is_message_owned)
: ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
SharedCtor(arena, is_message_owned);
// @@protoc_insertion_point(arena_constructor:CEngineGotvSyncPacket)
}
CEngineGotvSyncPacket::CEngineGotvSyncPacket(const CEngineGotvSyncPacket& from)
: ::PROTOBUF_NAMESPACE_ID::Message() {
CEngineGotvSyncPacket* const _this = this; (void)_this;
new (&_impl_) Impl_{
decltype(_impl_._has_bits_){from._impl_._has_bits_}
, /*decltype(_impl_._cached_size_)*/{}
, decltype(_impl_.match_id_){}
, decltype(_impl_.instance_id_){}
, decltype(_impl_.signupfragment_){}
, decltype(_impl_.currentfragment_){}
, decltype(_impl_.tickrate_){}
, decltype(_impl_.tick_){}
, decltype(_impl_.rtdelay_){}
, decltype(_impl_.rcvage_){}
, decltype(_impl_.keyframe_interval_){}
, decltype(_impl_.cdndelay_){}};
_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
::memcpy(&_impl_.match_id_, &from._impl_.match_id_,
static_cast<size_t>(reinterpret_cast<char*>(&_impl_.cdndelay_) -
reinterpret_cast<char*>(&_impl_.match_id_)) + sizeof(_impl_.cdndelay_));
// @@protoc_insertion_point(copy_constructor:CEngineGotvSyncPacket)
}
inline void CEngineGotvSyncPacket::SharedCtor(
::_pb::Arena* arena, bool is_message_owned) {
(void)arena;
(void)is_message_owned;
new (&_impl_) Impl_{
decltype(_impl_._has_bits_){}
, /*decltype(_impl_._cached_size_)*/{}
, decltype(_impl_.match_id_){uint64_t{0u}}
, decltype(_impl_.instance_id_){0u}
, decltype(_impl_.signupfragment_){0u}
, decltype(_impl_.currentfragment_){0u}
, decltype(_impl_.tickrate_){0}
, decltype(_impl_.tick_){0u}
, decltype(_impl_.rtdelay_){0}
, decltype(_impl_.rcvage_){0}
, decltype(_impl_.keyframe_interval_){0}
, decltype(_impl_.cdndelay_){0u}
};
}
CEngineGotvSyncPacket::~CEngineGotvSyncPacket() {
// @@protoc_insertion_point(destructor:CEngineGotvSyncPacket)
if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
(void)arena;
return;
}
SharedDtor();
}
inline void CEngineGotvSyncPacket::SharedDtor() {
GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}
void CEngineGotvSyncPacket::SetCachedSize(int size) const {
_impl_._cached_size_.Set(size);
}
void CEngineGotvSyncPacket::Clear() {
// @@protoc_insertion_point(message_clear_start:CEngineGotvSyncPacket)
uint32_t cached_has_bits = 0;
// Prevent compiler warnings about cached_has_bits being unused
(void) cached_has_bits;
cached_has_bits = _impl_._has_bits_[0];
if (cached_has_bits & 0x000000ffu) {
::memset(&_impl_.match_id_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&_impl_.rcvage_) -
reinterpret_cast<char*>(&_impl_.match_id_)) + sizeof(_impl_.rcvage_));
}
if (cached_has_bits & 0x00000300u) {
::memset(&_impl_.keyframe_interval_, 0, static_cast<size_t>(
reinterpret_cast<char*>(&_impl_.cdndelay_) -
reinterpret_cast<char*>(&_impl_.keyframe_interval_)) + sizeof(_impl_.cdndelay_));
}
_impl_._has_bits_.Clear();
_internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}
const char* CEngineGotvSyncPacket::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
_Internal::HasBits has_bits{};
while (!ctx->Done(&ptr)) {
uint32_t tag;
ptr = ::_pbi::ReadTag(ptr, &tag);
switch (tag >> 3) {
// optional uint64 match_id = 1;
case 1:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
_Internal::set_has_match_id(&has_bits);
_impl_.match_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
CHK_(ptr);
} else
goto handle_unusual;
continue;
// optional uint32 instance_id = 2;
case 2:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
_Internal::set_has_instance_id(&has_bits);
_impl_.instance_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
CHK_(ptr);
} else
goto handle_unusual;
continue;
// optional uint32 signupfragment = 3;
case 3:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
_Internal::set_has_signupfragment(&has_bits);
_impl_.signupfragment_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
CHK_(ptr);
} else
goto handle_unusual;
continue;
// optional uint32 currentfragment = 4;
case 4:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
_Internal::set_has_currentfragment(&has_bits);
_impl_.currentfragment_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
CHK_(ptr);
} else
goto handle_unusual;
continue;
// optional float tickrate = 5;
case 5:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 45)) {
_Internal::set_has_tickrate(&has_bits);
_impl_.tickrate_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
ptr += sizeof(float);
} else
goto handle_unusual;
continue;
// optional uint32 tick = 6;
case 6:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 48)) {
_Internal::set_has_tick(&has_bits);
_impl_.tick_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
CHK_(ptr);
} else
goto handle_unusual;
continue;
// optional float rtdelay = 8;
case 8:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 69)) {
_Internal::set_has_rtdelay(&has_bits);
_impl_.rtdelay_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
ptr += sizeof(float);
} else
goto handle_unusual;
continue;
// optional float rcvage = 9;
case 9:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 77)) {
_Internal::set_has_rcvage(&has_bits);
_impl_.rcvage_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
ptr += sizeof(float);
} else
goto handle_unusual;
continue;
// optional float keyframe_interval = 10;
case 10:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 85)) {
_Internal::set_has_keyframe_interval(&has_bits);
_impl_.keyframe_interval_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
ptr += sizeof(float);
} else
goto handle_unusual;
continue;
// optional uint32 cdndelay = 11;
case 11:
if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 88)) {
_Internal::set_has_cdndelay(&has_bits);
_impl_.cdndelay_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
CHK_(ptr);
} else
goto handle_unusual;
continue;
default:
goto handle_unusual;
} // switch
handle_unusual:
if ((tag == 0) || ((tag & 7) == 4)) {
CHK_(ptr);
ctx->SetLastTag(tag);
goto message_done;
}
ptr = UnknownFieldParse(
tag,
_internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
ptr, ctx);
CHK_(ptr != nullptr);
} // while
message_done:
_impl_._has_bits_.Or(has_bits);
return ptr;
failure:
ptr = nullptr;
goto message_done;
#undef CHK_
}
uint8_t* CEngineGotvSyncPacket::_InternalSerialize(
uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
// @@protoc_insertion_point(serialize_to_array_start:CEngineGotvSyncPacket)
uint32_t cached_has_bits = 0;
(void) cached_has_bits;
cached_has_bits = _impl_._has_bits_[0];
// optional uint64 match_id = 1;
if (cached_has_bits & 0x00000001u) {
target = stream->EnsureSpace(target);
target = ::_pbi::WireFormatLite::WriteUInt64ToArray(1, this->_internal_match_id(), target);
}
// optional uint32 instance_id = 2;
if (cached_has_bits & 0x00000002u) {
target = stream->EnsureSpace(target);
target = ::_pbi::WireFormatLite::WriteUInt32ToArray(2, this->_internal_instance_id(), target);
}
// optional uint32 signupfragment = 3;
if (cached_has_bits & 0x00000004u) {
target = stream->EnsureSpace(target);
target = ::_pbi::WireFormatLite::WriteUInt32ToArray(3, this->_internal_signupfragment(), target);
}
// optional uint32 currentfragment = 4;
if (cached_has_bits & 0x00000008u) {
target = stream->EnsureSpace(target);
target = ::_pbi::WireFormatLite::WriteUInt32ToArray(4, this->_internal_currentfragment(), target);
}
// optional float tickrate = 5;
if (cached_has_bits & 0x00000010u) {
target = stream->EnsureSpace(target);
target = ::_pbi::WireFormatLite::WriteFloatToArray(5, this->_internal_tickrate(), target);
}
// optional uint32 tick = 6;
if (cached_has_bits & 0x00000020u) {
target = stream->EnsureSpace(target);
target = ::_pbi::WireFormatLite::WriteUInt32ToArray(6, this->_internal_tick(), target);
}
// optional float rtdelay = 8;
if (cached_has_bits & 0x00000040u) {
target = stream->EnsureSpace(target);
target = ::_pbi::WireFormatLite::WriteFloatToArray(8, this->_internal_rtdelay(), target);
}
// optional float rcvage = 9;
if (cached_has_bits & 0x00000080u) {
target = stream->EnsureSpace(target);
target = ::_pbi::WireFormatLite::WriteFloatToArray(9, this->_internal_rcvage(), target);
}
// optional float keyframe_interval = 10;
if (cached_has_bits & 0x00000100u) {
target = stream->EnsureSpace(target);
target = ::_pbi::WireFormatLite::WriteFloatToArray(10, this->_internal_keyframe_interval(), target);
}
// optional uint32 cdndelay = 11;
if (cached_has_bits & 0x00000200u) {
target = stream->EnsureSpace(target);
target = ::_pbi::WireFormatLite::WriteUInt32ToArray(11, this->_internal_cdndelay(), target);
}
if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
_internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
}
// @@protoc_insertion_point(serialize_to_array_end:CEngineGotvSyncPacket)
return target;
}
size_t CEngineGotvSyncPacket::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:CEngineGotvSyncPacket)
size_t total_size = 0;
uint32_t cached_has_bits = 0;
// Prevent compiler warnings about cached_has_bits being unused
(void) cached_has_bits;
cached_has_bits = _impl_._has_bits_[0];
if (cached_has_bits & 0x000000ffu) {
// optional uint64 match_id = 1;
if (cached_has_bits & 0x00000001u) {
total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(this->_internal_match_id());
}
// optional uint32 instance_id = 2;
if (cached_has_bits & 0x00000002u) {
total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_instance_id());
}
// optional uint32 signupfragment = 3;
if (cached_has_bits & 0x00000004u) {
total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_signupfragment());
}
// optional uint32 currentfragment = 4;
if (cached_has_bits & 0x00000008u) {
total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_currentfragment());
}
// optional float tickrate = 5;
if (cached_has_bits & 0x00000010u) {
total_size += 1 + 4;
}
// optional uint32 tick = 6;
if (cached_has_bits & 0x00000020u) {
total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_tick());
}
// optional float rtdelay = 8;
if (cached_has_bits & 0x00000040u) {
total_size += 1 + 4;
}
// optional float rcvage = 9;
if (cached_has_bits & 0x00000080u) {
total_size += 1 + 4;
}
}
if (cached_has_bits & 0x00000300u) {
// optional float keyframe_interval = 10;
if (cached_has_bits & 0x00000100u) {
total_size += 1 + 4;
}
// optional uint32 cdndelay = 11;
if (cached_has_bits & 0x00000200u) {
total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(this->_internal_cdndelay());
}
}
return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData CEngineGotvSyncPacket::_class_data_ = {
::PROTOBUF_NAMESPACE_ID::Message::CopyWithSourceCheck,
CEngineGotvSyncPacket::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*CEngineGotvSyncPacket::GetClassData() const { return &_class_data_; }
void CEngineGotvSyncPacket::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg) {
auto* const _this = static_cast<CEngineGotvSyncPacket*>(&to_msg);
auto& from = static_cast<const CEngineGotvSyncPacket&>(from_msg);
// @@protoc_insertion_point(class_specific_merge_from_start:CEngineGotvSyncPacket)
GOOGLE_DCHECK_NE(&from, _this);
uint32_t cached_has_bits = 0;
(void) cached_has_bits;
cached_has_bits = from._impl_._has_bits_[0];
if (cached_has_bits & 0x000000ffu) {
if (cached_has_bits & 0x00000001u) {
_this->_impl_.match_id_ = from._impl_.match_id_;
}
if (cached_has_bits & 0x00000002u) {
_this->_impl_.instance_id_ = from._impl_.instance_id_;
}
if (cached_has_bits & 0x00000004u) {
_this->_impl_.signupfragment_ = from._impl_.signupfragment_;
}
if (cached_has_bits & 0x00000008u) {
_this->_impl_.currentfragment_ = from._impl_.currentfragment_;
}
if (cached_has_bits & 0x00000010u) {
_this->_impl_.tickrate_ = from._impl_.tickrate_;
}
if (cached_has_bits & 0x00000020u) {
_this->_impl_.tick_ = from._impl_.tick_;
}
if (cached_has_bits & 0x00000040u) {
_this->_impl_.rtdelay_ = from._impl_.rtdelay_;
}
if (cached_has_bits & 0x00000080u) {
_this->_impl_.rcvage_ = from._impl_.rcvage_;
}
_this->_impl_._has_bits_[0] |= cached_has_bits;
}
if (cached_has_bits & 0x00000300u) {
if (cached_has_bits & 0x00000100u) {
_this->_impl_.keyframe_interval_ = from._impl_.keyframe_interval_;
}
if (cached_has_bits & 0x00000200u) {
_this->_impl_.cdndelay_ = from._impl_.cdndelay_;
}
_this->_impl_._has_bits_[0] |= cached_has_bits;
}
_this->_internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}
void CEngineGotvSyncPacket::CopyFrom(const CEngineGotvSyncPacket& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:CEngineGotvSyncPacket)
if (&from == this) return;
Clear();
MergeFrom(from);
}
bool CEngineGotvSyncPacket::IsInitialized() const {
return true;
}
void CEngineGotvSyncPacket::InternalSwap(CEngineGotvSyncPacket* other) {
using std::swap;
_internal_metadata_.InternalSwap(&other->_internal_metadata_);
swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
::PROTOBUF_NAMESPACE_ID::internal::memswap<
PROTOBUF_FIELD_OFFSET(CEngineGotvSyncPacket, _impl_.cdndelay_)
+ sizeof(CEngineGotvSyncPacket::_impl_.cdndelay_)
- PROTOBUF_FIELD_OFFSET(CEngineGotvSyncPacket, _impl_.match_id_)>(
reinterpret_cast<char*>(&_impl_.match_id_),
reinterpret_cast<char*>(&other->_impl_.match_id_));
}
::PROTOBUF_NAMESPACE_ID::Metadata CEngineGotvSyncPacket::GetMetadata() const {
return ::_pbi::AssignDescriptors(
&descriptor_table_engine_5fgcmessages_2eproto_getter, &descriptor_table_engine_5fgcmessages_2eproto_once,
file_level_metadata_engine_5fgcmessages_2eproto[0]);
}
// @@protoc_insertion_point(namespace_scope)
PROTOBUF_NAMESPACE_OPEN
template<> PROTOBUF_NOINLINE ::CEngineGotvSyncPacket*
Arena::CreateMaybeMessage< ::CEngineGotvSyncPacket >(Arena* arena) {
return Arena::CreateMessageInternal< ::CEngineGotvSyncPacket >(arena);
}
PROTOBUF_NAMESPACE_CLOSE
// @@protoc_insertion_point(global_scope)
#include <google/protobuf/port_undef.inc>
@@ -0,0 +1,651 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: engine_gcmessages.proto
#ifndef GOOGLE_PROTOBUF_INCLUDED_engine_5fgcmessages_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_engine_5fgcmessages_2eproto
#include <limits>
#include <string>
#include <google/protobuf/port_def.inc>
#if PROTOBUF_VERSION < 3021000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
#if 3021008 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
#endif
#include <google/protobuf/port_undef.inc>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/metadata_lite.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h> // IWYU pragma: export
#include <google/protobuf/extension_set.h> // IWYU pragma: export
#include <google/protobuf/unknown_field_set.h>
#include <google/protobuf/descriptor.pb.h>
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_engine_5fgcmessages_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
} // namespace internal
PROTOBUF_NAMESPACE_CLOSE
// Internal implementation detail -- do not use these members.
struct TableStruct_engine_5fgcmessages_2eproto {
static const uint32_t offsets[];
};
extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_engine_5fgcmessages_2eproto;
class CEngineGotvSyncPacket;
struct CEngineGotvSyncPacketDefaultTypeInternal;
extern CEngineGotvSyncPacketDefaultTypeInternal _CEngineGotvSyncPacket_default_instance_;
PROTOBUF_NAMESPACE_OPEN
template<> ::CEngineGotvSyncPacket* Arena::CreateMaybeMessage<::CEngineGotvSyncPacket>(Arena*);
PROTOBUF_NAMESPACE_CLOSE
// ===================================================================
class CEngineGotvSyncPacket final :
public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:CEngineGotvSyncPacket) */ {
public:
inline CEngineGotvSyncPacket() : CEngineGotvSyncPacket(nullptr) {}
~CEngineGotvSyncPacket() override;
explicit PROTOBUF_CONSTEXPR CEngineGotvSyncPacket(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
CEngineGotvSyncPacket(const CEngineGotvSyncPacket& from);
CEngineGotvSyncPacket(CEngineGotvSyncPacket&& from) noexcept
: CEngineGotvSyncPacket() {
*this = ::std::move(from);
}
inline CEngineGotvSyncPacket& operator=(const CEngineGotvSyncPacket& from) {
CopyFrom(from);
return *this;
}
inline CEngineGotvSyncPacket& operator=(CEngineGotvSyncPacket&& from) noexcept {
if (this == &from) return *this;
if (GetOwningArena() == from.GetOwningArena()
#ifdef PROTOBUF_FORCE_COPY_IN_MOVE
&& GetOwningArena() != nullptr
#endif // !PROTOBUF_FORCE_COPY_IN_MOVE
) {
InternalSwap(&from);
} else {
CopyFrom(from);
}
return *this;
}
inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
}
inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
return GetDescriptor();
}
static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
return default_instance().GetMetadata().descriptor;
}
static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
return default_instance().GetMetadata().reflection;
}
static const CEngineGotvSyncPacket& default_instance() {
return *internal_default_instance();
}
static inline const CEngineGotvSyncPacket* internal_default_instance() {
return reinterpret_cast<const CEngineGotvSyncPacket*>(
&_CEngineGotvSyncPacket_default_instance_);
}
static constexpr int kIndexInFileMessages =
0;
friend void swap(CEngineGotvSyncPacket& a, CEngineGotvSyncPacket& b) {
a.Swap(&b);
}
inline void Swap(CEngineGotvSyncPacket* other) {
if (other == this) return;
#ifdef PROTOBUF_FORCE_COPY_IN_SWAP
if (GetOwningArena() != nullptr &&
GetOwningArena() == other->GetOwningArena()) {
#else // PROTOBUF_FORCE_COPY_IN_SWAP
if (GetOwningArena() == other->GetOwningArena()) {
#endif // !PROTOBUF_FORCE_COPY_IN_SWAP
InternalSwap(other);
} else {
::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
}
}
void UnsafeArenaSwap(CEngineGotvSyncPacket* other) {
if (other == this) return;
GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
InternalSwap(other);
}
// implements Message ----------------------------------------------
CEngineGotvSyncPacket* New(::PROTOBUF_NAMESPACE_ID::Arena* arena = nullptr) const final {
return CreateMaybeMessage<CEngineGotvSyncPacket>(arena);
}
using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
void CopyFrom(const CEngineGotvSyncPacket& from);
using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
void MergeFrom( const CEngineGotvSyncPacket& from) {
CEngineGotvSyncPacket::MergeImpl(*this, from);
}
private:
static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message& to_msg, const ::PROTOBUF_NAMESPACE_ID::Message& from_msg);
public:
PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
bool IsInitialized() const final;
size_t ByteSizeLong() const final;
const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
uint8_t* _InternalSerialize(
uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
int GetCachedSize() const final { return _impl_._cached_size_.Get(); }
private:
void SharedCtor(::PROTOBUF_NAMESPACE_ID::Arena* arena, bool is_message_owned);
void SharedDtor();
void SetCachedSize(int size) const final;
void InternalSwap(CEngineGotvSyncPacket* other);
private:
friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
return "CEngineGotvSyncPacket";
}
protected:
explicit CEngineGotvSyncPacket(::PROTOBUF_NAMESPACE_ID::Arena* arena,
bool is_message_owned = false);
public:
static const ClassData _class_data_;
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;
::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
// nested types ----------------------------------------------------
// accessors -------------------------------------------------------
enum : int {
kMatchIdFieldNumber = 1,
kInstanceIdFieldNumber = 2,
kSignupfragmentFieldNumber = 3,
kCurrentfragmentFieldNumber = 4,
kTickrateFieldNumber = 5,
kTickFieldNumber = 6,
kRtdelayFieldNumber = 8,
kRcvageFieldNumber = 9,
kKeyframeIntervalFieldNumber = 10,
kCdndelayFieldNumber = 11,
};
// optional uint64 match_id = 1;
bool has_match_id() const;
private:
bool _internal_has_match_id() const;
public:
void clear_match_id();
uint64_t match_id() const;
void set_match_id(uint64_t value);
private:
uint64_t _internal_match_id() const;
void _internal_set_match_id(uint64_t value);
public:
// optional uint32 instance_id = 2;
bool has_instance_id() const;
private:
bool _internal_has_instance_id() const;
public:
void clear_instance_id();
uint32_t instance_id() const;
void set_instance_id(uint32_t value);
private:
uint32_t _internal_instance_id() const;
void _internal_set_instance_id(uint32_t value);
public:
// optional uint32 signupfragment = 3;
bool has_signupfragment() const;
private:
bool _internal_has_signupfragment() const;
public:
void clear_signupfragment();
uint32_t signupfragment() const;
void set_signupfragment(uint32_t value);
private:
uint32_t _internal_signupfragment() const;
void _internal_set_signupfragment(uint32_t value);
public:
// optional uint32 currentfragment = 4;
bool has_currentfragment() const;
private:
bool _internal_has_currentfragment() const;
public:
void clear_currentfragment();
uint32_t currentfragment() const;
void set_currentfragment(uint32_t value);
private:
uint32_t _internal_currentfragment() const;
void _internal_set_currentfragment(uint32_t value);
public:
// optional float tickrate = 5;
bool has_tickrate() const;
private:
bool _internal_has_tickrate() const;
public:
void clear_tickrate();
float tickrate() const;
void set_tickrate(float value);
private:
float _internal_tickrate() const;
void _internal_set_tickrate(float value);
public:
// optional uint32 tick = 6;
bool has_tick() const;
private:
bool _internal_has_tick() const;
public:
void clear_tick();
uint32_t tick() const;
void set_tick(uint32_t value);
private:
uint32_t _internal_tick() const;
void _internal_set_tick(uint32_t value);
public:
// optional float rtdelay = 8;
bool has_rtdelay() const;
private:
bool _internal_has_rtdelay() const;
public:
void clear_rtdelay();
float rtdelay() const;
void set_rtdelay(float value);
private:
float _internal_rtdelay() const;
void _internal_set_rtdelay(float value);
public:
// optional float rcvage = 9;
bool has_rcvage() const;
private:
bool _internal_has_rcvage() const;
public:
void clear_rcvage();
float rcvage() const;
void set_rcvage(float value);
private:
float _internal_rcvage() const;
void _internal_set_rcvage(float value);
public:
// optional float keyframe_interval = 10;
bool has_keyframe_interval() const;
private:
bool _internal_has_keyframe_interval() const;
public:
void clear_keyframe_interval();
float keyframe_interval() const;
void set_keyframe_interval(float value);
private:
float _internal_keyframe_interval() const;
void _internal_set_keyframe_interval(float value);
public:
// optional uint32 cdndelay = 11;
bool has_cdndelay() const;
private:
bool _internal_has_cdndelay() const;
public:
void clear_cdndelay();
uint32_t cdndelay() const;
void set_cdndelay(uint32_t value);
private:
uint32_t _internal_cdndelay() const;
void _internal_set_cdndelay(uint32_t value);
public:
// @@protoc_insertion_point(class_scope:CEngineGotvSyncPacket)
private:
class _Internal;
template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
typedef void InternalArenaConstructable_;
typedef void DestructorSkippable_;
struct Impl_ {
::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
uint64_t match_id_;
uint32_t instance_id_;
uint32_t signupfragment_;
uint32_t currentfragment_;
float tickrate_;
uint32_t tick_;
float rtdelay_;
float rcvage_;
float keyframe_interval_;
uint32_t cdndelay_;
};
union { Impl_ _impl_; };
friend struct ::TableStruct_engine_5fgcmessages_2eproto;
};
// ===================================================================
// ===================================================================
#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif // __GNUC__
// CEngineGotvSyncPacket
// optional uint64 match_id = 1;
inline bool CEngineGotvSyncPacket::_internal_has_match_id() const {
bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0;
return value;
}
inline bool CEngineGotvSyncPacket::has_match_id() const {
return _internal_has_match_id();
}
inline void CEngineGotvSyncPacket::clear_match_id() {
_impl_.match_id_ = uint64_t{0u};
_impl_._has_bits_[0] &= ~0x00000001u;
}
inline uint64_t CEngineGotvSyncPacket::_internal_match_id() const {
return _impl_.match_id_;
}
inline uint64_t CEngineGotvSyncPacket::match_id() const {
// @@protoc_insertion_point(field_get:CEngineGotvSyncPacket.match_id)
return _internal_match_id();
}
inline void CEngineGotvSyncPacket::_internal_set_match_id(uint64_t value) {
_impl_._has_bits_[0] |= 0x00000001u;
_impl_.match_id_ = value;
}
inline void CEngineGotvSyncPacket::set_match_id(uint64_t value) {
_internal_set_match_id(value);
// @@protoc_insertion_point(field_set:CEngineGotvSyncPacket.match_id)
}
// optional uint32 instance_id = 2;
inline bool CEngineGotvSyncPacket::_internal_has_instance_id() const {
bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0;
return value;
}
inline bool CEngineGotvSyncPacket::has_instance_id() const {
return _internal_has_instance_id();
}
inline void CEngineGotvSyncPacket::clear_instance_id() {
_impl_.instance_id_ = 0u;
_impl_._has_bits_[0] &= ~0x00000002u;
}
inline uint32_t CEngineGotvSyncPacket::_internal_instance_id() const {
return _impl_.instance_id_;
}
inline uint32_t CEngineGotvSyncPacket::instance_id() const {
// @@protoc_insertion_point(field_get:CEngineGotvSyncPacket.instance_id)
return _internal_instance_id();
}
inline void CEngineGotvSyncPacket::_internal_set_instance_id(uint32_t value) {
_impl_._has_bits_[0] |= 0x00000002u;
_impl_.instance_id_ = value;
}
inline void CEngineGotvSyncPacket::set_instance_id(uint32_t value) {
_internal_set_instance_id(value);
// @@protoc_insertion_point(field_set:CEngineGotvSyncPacket.instance_id)
}
// optional uint32 signupfragment = 3;
inline bool CEngineGotvSyncPacket::_internal_has_signupfragment() const {
bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0;
return value;
}
inline bool CEngineGotvSyncPacket::has_signupfragment() const {
return _internal_has_signupfragment();
}
inline void CEngineGotvSyncPacket::clear_signupfragment() {
_impl_.signupfragment_ = 0u;
_impl_._has_bits_[0] &= ~0x00000004u;
}
inline uint32_t CEngineGotvSyncPacket::_internal_signupfragment() const {
return _impl_.signupfragment_;
}
inline uint32_t CEngineGotvSyncPacket::signupfragment() const {
// @@protoc_insertion_point(field_get:CEngineGotvSyncPacket.signupfragment)
return _internal_signupfragment();
}
inline void CEngineGotvSyncPacket::_internal_set_signupfragment(uint32_t value) {
_impl_._has_bits_[0] |= 0x00000004u;
_impl_.signupfragment_ = value;
}
inline void CEngineGotvSyncPacket::set_signupfragment(uint32_t value) {
_internal_set_signupfragment(value);
// @@protoc_insertion_point(field_set:CEngineGotvSyncPacket.signupfragment)
}
// optional uint32 currentfragment = 4;
inline bool CEngineGotvSyncPacket::_internal_has_currentfragment() const {
bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0;
return value;
}
inline bool CEngineGotvSyncPacket::has_currentfragment() const {
return _internal_has_currentfragment();
}
inline void CEngineGotvSyncPacket::clear_currentfragment() {
_impl_.currentfragment_ = 0u;
_impl_._has_bits_[0] &= ~0x00000008u;
}
inline uint32_t CEngineGotvSyncPacket::_internal_currentfragment() const {
return _impl_.currentfragment_;
}
inline uint32_t CEngineGotvSyncPacket::currentfragment() const {
// @@protoc_insertion_point(field_get:CEngineGotvSyncPacket.currentfragment)
return _internal_currentfragment();
}
inline void CEngineGotvSyncPacket::_internal_set_currentfragment(uint32_t value) {
_impl_._has_bits_[0] |= 0x00000008u;
_impl_.currentfragment_ = value;
}
inline void CEngineGotvSyncPacket::set_currentfragment(uint32_t value) {
_internal_set_currentfragment(value);
// @@protoc_insertion_point(field_set:CEngineGotvSyncPacket.currentfragment)
}
// optional float tickrate = 5;
inline bool CEngineGotvSyncPacket::_internal_has_tickrate() const {
bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0;
return value;
}
inline bool CEngineGotvSyncPacket::has_tickrate() const {
return _internal_has_tickrate();
}
inline void CEngineGotvSyncPacket::clear_tickrate() {
_impl_.tickrate_ = 0;
_impl_._has_bits_[0] &= ~0x00000010u;
}
inline float CEngineGotvSyncPacket::_internal_tickrate() const {
return _impl_.tickrate_;
}
inline float CEngineGotvSyncPacket::tickrate() const {
// @@protoc_insertion_point(field_get:CEngineGotvSyncPacket.tickrate)
return _internal_tickrate();
}
inline void CEngineGotvSyncPacket::_internal_set_tickrate(float value) {
_impl_._has_bits_[0] |= 0x00000010u;
_impl_.tickrate_ = value;
}
inline void CEngineGotvSyncPacket::set_tickrate(float value) {
_internal_set_tickrate(value);
// @@protoc_insertion_point(field_set:CEngineGotvSyncPacket.tickrate)
}
// optional uint32 tick = 6;
inline bool CEngineGotvSyncPacket::_internal_has_tick() const {
bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0;
return value;
}
inline bool CEngineGotvSyncPacket::has_tick() const {
return _internal_has_tick();
}
inline void CEngineGotvSyncPacket::clear_tick() {
_impl_.tick_ = 0u;
_impl_._has_bits_[0] &= ~0x00000020u;
}
inline uint32_t CEngineGotvSyncPacket::_internal_tick() const {
return _impl_.tick_;
}
inline uint32_t CEngineGotvSyncPacket::tick() const {
// @@protoc_insertion_point(field_get:CEngineGotvSyncPacket.tick)
return _internal_tick();
}
inline void CEngineGotvSyncPacket::_internal_set_tick(uint32_t value) {
_impl_._has_bits_[0] |= 0x00000020u;
_impl_.tick_ = value;
}
inline void CEngineGotvSyncPacket::set_tick(uint32_t value) {
_internal_set_tick(value);
// @@protoc_insertion_point(field_set:CEngineGotvSyncPacket.tick)
}
// optional float rtdelay = 8;
inline bool CEngineGotvSyncPacket::_internal_has_rtdelay() const {
bool value = (_impl_._has_bits_[0] & 0x00000040u) != 0;
return value;
}
inline bool CEngineGotvSyncPacket::has_rtdelay() const {
return _internal_has_rtdelay();
}
inline void CEngineGotvSyncPacket::clear_rtdelay() {
_impl_.rtdelay_ = 0;
_impl_._has_bits_[0] &= ~0x00000040u;
}
inline float CEngineGotvSyncPacket::_internal_rtdelay() const {
return _impl_.rtdelay_;
}
inline float CEngineGotvSyncPacket::rtdelay() const {
// @@protoc_insertion_point(field_get:CEngineGotvSyncPacket.rtdelay)
return _internal_rtdelay();
}
inline void CEngineGotvSyncPacket::_internal_set_rtdelay(float value) {
_impl_._has_bits_[0] |= 0x00000040u;
_impl_.rtdelay_ = value;
}
inline void CEngineGotvSyncPacket::set_rtdelay(float value) {
_internal_set_rtdelay(value);
// @@protoc_insertion_point(field_set:CEngineGotvSyncPacket.rtdelay)
}
// optional float rcvage = 9;
inline bool CEngineGotvSyncPacket::_internal_has_rcvage() const {
bool value = (_impl_._has_bits_[0] & 0x00000080u) != 0;
return value;
}
inline bool CEngineGotvSyncPacket::has_rcvage() const {
return _internal_has_rcvage();
}
inline void CEngineGotvSyncPacket::clear_rcvage() {
_impl_.rcvage_ = 0;
_impl_._has_bits_[0] &= ~0x00000080u;
}
inline float CEngineGotvSyncPacket::_internal_rcvage() const {
return _impl_.rcvage_;
}
inline float CEngineGotvSyncPacket::rcvage() const {
// @@protoc_insertion_point(field_get:CEngineGotvSyncPacket.rcvage)
return _internal_rcvage();
}
inline void CEngineGotvSyncPacket::_internal_set_rcvage(float value) {
_impl_._has_bits_[0] |= 0x00000080u;
_impl_.rcvage_ = value;
}
inline void CEngineGotvSyncPacket::set_rcvage(float value) {
_internal_set_rcvage(value);
// @@protoc_insertion_point(field_set:CEngineGotvSyncPacket.rcvage)
}
// optional float keyframe_interval = 10;
inline bool CEngineGotvSyncPacket::_internal_has_keyframe_interval() const {
bool value = (_impl_._has_bits_[0] & 0x00000100u) != 0;
return value;
}
inline bool CEngineGotvSyncPacket::has_keyframe_interval() const {
return _internal_has_keyframe_interval();
}
inline void CEngineGotvSyncPacket::clear_keyframe_interval() {
_impl_.keyframe_interval_ = 0;
_impl_._has_bits_[0] &= ~0x00000100u;
}
inline float CEngineGotvSyncPacket::_internal_keyframe_interval() const {
return _impl_.keyframe_interval_;
}
inline float CEngineGotvSyncPacket::keyframe_interval() const {
// @@protoc_insertion_point(field_get:CEngineGotvSyncPacket.keyframe_interval)
return _internal_keyframe_interval();
}
inline void CEngineGotvSyncPacket::_internal_set_keyframe_interval(float value) {
_impl_._has_bits_[0] |= 0x00000100u;
_impl_.keyframe_interval_ = value;
}
inline void CEngineGotvSyncPacket::set_keyframe_interval(float value) {
_internal_set_keyframe_interval(value);
// @@protoc_insertion_point(field_set:CEngineGotvSyncPacket.keyframe_interval)
}
// optional uint32 cdndelay = 11;
inline bool CEngineGotvSyncPacket::_internal_has_cdndelay() const {
bool value = (_impl_._has_bits_[0] & 0x00000200u) != 0;
return value;
}
inline bool CEngineGotvSyncPacket::has_cdndelay() const {
return _internal_has_cdndelay();
}
inline void CEngineGotvSyncPacket::clear_cdndelay() {
_impl_.cdndelay_ = 0u;
_impl_._has_bits_[0] &= ~0x00000200u;
}
inline uint32_t CEngineGotvSyncPacket::_internal_cdndelay() const {
return _impl_.cdndelay_;
}
inline uint32_t CEngineGotvSyncPacket::cdndelay() const {
// @@protoc_insertion_point(field_get:CEngineGotvSyncPacket.cdndelay)
return _internal_cdndelay();
}
inline void CEngineGotvSyncPacket::_internal_set_cdndelay(uint32_t value) {
_impl_._has_bits_[0] |= 0x00000200u;
_impl_.cdndelay_ = value;
}
inline void CEngineGotvSyncPacket::set_cdndelay(uint32_t value) {
_internal_set_cdndelay(value);
// @@protoc_insertion_point(field_set:CEngineGotvSyncPacket.cdndelay)
}
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif // __GNUC__
// @@protoc_insertion_point(namespace_scope)
// @@protoc_insertion_point(global_scope)
#include <google/protobuf/port_undef.inc>
#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_engine_5fgcmessages_2eproto
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,454 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: network_connection.proto
#include "network_connection.pb.h"
#include <algorithm>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/wire_format_lite.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/reflection_ops.h>
#include <google/protobuf/wire_format.h>
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
PROTOBUF_PRAGMA_INIT_SEG
namespace _pb = ::PROTOBUF_NAMESPACE_ID;
namespace _pbi = _pb::internal;
static const ::_pb::EnumDescriptor* file_level_enum_descriptors_network_5fconnection_2eproto[1];
static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_network_5fconnection_2eproto = nullptr;
const uint32_t TableStruct_network_5fconnection_2eproto::offsets[1] = {};
static constexpr ::_pbi::MigrationSchema* schemas = nullptr;
static constexpr ::_pb::Message* const* file_default_instances = nullptr;
const char descriptor_table_protodef_network_5fconnection_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
"\n\030network_connection.proto\032 google/proto"
"buf/descriptor.proto*\260M\n\033ENetworkDisconn"
"ectionReason\022\036\n\032NETWORK_DISCONNECT_INVAL"
"ID\020\000\022\037\n\033NETWORK_DISCONNECT_SHUTDOWN\020\001\022F\n"
"%NETWORK_DISCONNECT_DISCONNECT_BY_USER\020\002"
"\032\033\242\324\030\027#GameUI_Disconnect_User\022J\n\'NETWORK"
"_DISCONNECT_DISCONNECT_BY_SERVER\020\003\032\035\242\324\030\031"
"#GameUI_Disconnect_Server\022B\n\027NETWORK_DIS"
"CONNECT_LOST\020\004\032%\242\324\030!#GameUI_Disconnect_C"
"onnectionLost\022J\n\033NETWORK_DISCONNECT_OVER"
"FLOW\020\005\032)\242\324\030%#GameUI_Disconnect_Connectio"
"nOverflow\022I\n\037NETWORK_DISCONNECT_STEAM_BA"
"NNED\020\006\032$\242\324\030 #GameUI_Disconnect_SteamIDBa"
"nned\022G\n\036NETWORK_DISCONNECT_STEAM_INUSE\020\007"
"\032#\242\324\030\037#GameUI_Disconnect_SteamIDInUse\022G\n"
"\037NETWORK_DISCONNECT_STEAM_TICKET\020\010\032\"\242\324\030\036"
"#GameUI_Disconnect_SteamTicket\022E\n\036NETWOR"
"K_DISCONNECT_STEAM_LOGON\020\t\032!\242\324\030\035#GameUI_"
"Disconnect_SteamLogon\022M\n&NETWORK_DISCONN"
"ECT_STEAM_AUTHCANCELLED\020\n\032!\242\324\030\035#GameUI_D"
"isconnect_SteamLogon\022O\n(NETWORK_DISCONNE"
"CT_STEAM_AUTHALREADYUSED\020\013\032!\242\324\030\035#GameUI_"
"Disconnect_SteamLogon\022K\n$NETWORK_DISCONN"
"ECT_STEAM_AUTHINVALID\020\014\032!\242\324\030\035#GameUI_Dis"
"connect_SteamLogon\022M\n$NETWORK_DISCONNECT"
"_STEAM_VACBANSTATE\020\r\032#\242\324\030\033#GameUI_Discon"
"nect_SteamVAC\260\324\030\000\022S\n,NETWORK_DISCONNECT_"
"STEAM_LOGGED_IN_ELSEWHERE\020\016\032!\242\324\030\035#GameUI"
"_Disconnect_SteamInUse\022T\n+NETWORK_DISCON"
"NECT_STEAM_VAC_CHECK_TIMEDOUT\020\017\032#\242\324\030\037#Ga"
"meUI_Disconnect_SteamTimeOut\022I\n NETWORK_"
"DISCONNECT_STEAM_DROPPED\020\020\032#\242\324\030\037#GameUI_"
"Disconnect_SteamDropped\022M\n\"NETWORK_DISCO"
"NNECT_STEAM_OWNERSHIP\020\021\032%\242\324\030!#GameUI_Dis"
"connect_SteamOwnership\022U\n&NETWORK_DISCON"
"NECT_SERVERINFO_OVERFLOW\020\022\032)\242\324\030%#GameUI_"
"Disconnect_ServerInfoOverflow\022K\n#NETWORK"
"_DISCONNECT_TICKMSG_OVERFLOW\020\023\032\"\242\324\030\036#Gam"
"eUI_Disconnect_TickMessage\022Y\n*NETWORK_DI"
"SCONNECT_STRINGTABLEMSG_OVERFLOW\020\024\032)\242\324\030%"
"#GameUI_Disconnect_StringTableMessage\022S\n"
"\'NETWORK_DISCONNECT_DELTAENTMSG_OVERFLOW"
"\020\025\032&\242\324\030\"#GameUI_Disconnect_DeltaEntMessa"
"ge\022Q\n&NETWORK_DISCONNECT_TEMPENTMSG_OVER"
"FLOW\020\026\032%\242\324\030!#GameUI_Disconnect_TempEntMe"
"ssage\022O\n%NETWORK_DISCONNECT_SOUNDSMSG_OV"
"ERFLOW\020\027\032$\242\324\030 #GameUI_Disconnect_SoundsM"
"essage\022P\n#NETWORK_DISCONNECT_SNAPSHOTOVE"
"RFLOW\020\030\032\'\242\324\030##GameUI_Disconnect_Snapshot"
"Overflow\022J\n NETWORK_DISCONNECT_SNAPSHOTE"
"RROR\020\031\032$\242\324\030 #GameUI_Disconnect_SnapshotE"
"rror\022P\n#NETWORK_DISCONNECT_RELIABLEOVERF"
"LOW\020\032\032\'\242\324\030##GameUI_Disconnect_ReliableOv"
"erflow\022N\n\037NETWORK_DISCONNECT_BADDELTATIC"
"K\020\033\032)\242\324\030%#GameUI_Disconnect_BadClientDel"
"taTick\022H\n\037NETWORK_DISCONNECT_NOMORESPLIT"
"S\020\034\032#\242\324\030\037#GameUI_Disconnect_NoMoreSplits"
"\022@\n\033NETWORK_DISCONNECT_TIMEDOUT\020\035\032\037\242\324\030\033#"
"GameUI_Disconnect_TimedOut\022H\n\037NETWORK_DI"
"SCONNECT_DISCONNECTED\020\036\032#\242\324\030\037#GameUI_Dis"
"connect_Disconnected\022H\n\037NETWORK_DISCONNE"
"CT_LEAVINGSPLIT\020\037\032#\242\324\030\037#GameUI_Disconnec"
"t_LeavingSplit\022X\n\'NETWORK_DISCONNECT_DIF"
"FERENTCLASSTABLES\020 \032+\242\324\030\'#GameUI_Disconn"
"ect_DifferentClassTables\022P\n#NETWORK_DISC"
"ONNECT_BADRELAYPASSWORD\020!\032\'\242\324\030##GameUI_D"
"isconnect_BadRelayPassword\022X\n\'NETWORK_DI"
"SCONNECT_BADSPECTATORPASSWORD\020\"\032+\242\324\030\'#Ga"
"meUI_Disconnect_BadSpectatorPassword\022L\n!"
"NETWORK_DISCONNECT_HLTVRESTRICTED\020#\032%\242\324\030"
"!#GameUI_Disconnect_HLTVRestricted\022H\n\037NE"
"TWORK_DISCONNECT_NOSPECTATORS\020$\032#\242\324\030\037#Ga"
"meUI_Disconnect_NoSpectators\022N\n\"NETWORK_"
"DISCONNECT_HLTVUNAVAILABLE\020%\032&\242\324\030\"#GameU"
"I_Disconnect_HLTVUnavailable\022@\n\033NETWORK_"
"DISCONNECT_HLTVSTOP\020&\032\037\242\324\030\033#GameUI_Disco"
"nnect_HLTVStop\022<\n\031NETWORK_DISCONNECT_KIC"
"KED\020\'\032\035\242\324\030\031#GameUI_Disconnect_Kicked\022@\n\033"
"NETWORK_DISCONNECT_BANADDED\020(\032\037\242\324\030\033#Game"
"UI_Disconnect_BanAdded\022H\n\037NETWORK_DISCON"
"NECT_KICKBANADDED\020)\032#\242\324\030\037#GameUI_Disconn"
"ect_KickBanAdded\022D\n\035NETWORK_DISCONNECT_H"
"LTVDIRECT\020*\032!\242\324\030\035#GameUI_Disconnect_HLTV"
"Direct\022\\\n)NETWORK_DISCONNECT_PURESERVER_"
"CLIENTEXTRA\020+\032-\242\324\030)#GameUI_Disconnect_Pu"
"reServer_ClientExtra\022V\n&NETWORK_DISCONNE"
"CT_PURESERVER_MISMATCH\020,\032*\242\324\030&#GameUI_Di"
"sconnect_PureServer_Mismatch\022>\n\032NETWORK_"
"DISCONNECT_USERCMD\020-\032\036\242\324\030\032#GameUI_Discon"
"nect_UserCmd\022N\n#NETWORK_DISCONNECT_REJEC"
"TED_BY_GAME\020.\032%\242\324\030!#GameUI_Disconnect_Re"
"jectedByGame\022T\n&NETWORK_DISCONNECT_MESSA"
"GE_PARSE_ERROR\020/\032(\242\324\030$#GameUI_Disconnect"
"_MessageParseError\022X\n(NETWORK_DISCONNECT"
"_INVALID_MESSAGE_ERROR\0200\032*\242\324\030&#GameUI_Di"
"sconnect_InvalidMessageError\022T\n&NETWORK_"
"DISCONNECT_BAD_SERVER_PASSWORD\0201\032(\242\324\030$#G"
"ameUI_Disconnect_BadServerPassword\0221\n-NE"
"TWORK_DISCONNECT_DIRECT_CONNECT_RESERVAT"
"ION\0202\022S\n%NETWORK_DISCONNECT_CONNECTION_F"
"AILURE\0203\032(\242\324\030$#GameUI_Disconnect_Connect"
"ionFailure\022Y\n)NETWORK_DISCONNECT_NO_PEER"
"_GROUP_HANDLERS\0204\032*\242\324\030&#GameUI_Disconnec"
"t_NoPeerGroupHandlers\022#\n\037NETWORK_DISCONN"
"ECT_RECONNECTION\0205\022H\n\037NETWORK_DISCONNECT"
"_LOOPSHUTDOWN\0206\032#\242\324\030\037#GameUI_Disconnect_"
"LoopShutdown\022L\n!NETWORK_DISCONNECT_LOOPD"
"EACTIVATE\0207\032%\242\324\030!#GameUI_Disconnect_Loop"
"Deactivate\022H\n\037NETWORK_DISCONNECT_HOST_EN"
"DGAME\0208\032#\242\324\030\037#GameUI_Disconnect_Host_End"
"Game\022\\\n*NETWORK_DISCONNECT_LOOP_LEVELLOA"
"D_ACTIVATE\0209\032,\242\324\030(#GameUI_Disconnect_Loo"
"pLevelLoadActivate\022V\n\'NETWORK_DISCONNECT"
"_CREATE_SERVER_FAILED\020:\032)\242\324\030%#GameUI_Dis"
"connect_CreateServerFailed\022D\n\032NETWORK_DI"
"SCONNECT_EXITING\020;\032$\242\324\030 #GameUI_Disconne"
"ct_ExitingEngine\022T\n)NETWORK_DISCONNECT_R"
"EQUEST_HOSTSTATE_IDLE\020<\032%\242\324\030!#GameUI_Dis"
"connect_Request_HSIdle\022\\\n.NETWORK_DISCON"
"NECT_REQUEST_HOSTSTATE_HLTVRELAY\020=\032(\242\324\030$"
"#GameUI_Disconnect_Request_HLTVRelay\022Q\n*"
"NETWORK_DISCONNECT_CLIENT_CONSISTENCY_FA"
"IL\020>\032!\242\324\030\035#GameUI_ClientConsistencyFail\022"
"Q\n+NETWORK_DISCONNECT_CLIENT_UNABLE_TO_C"
"RC_MAP\020\?\032 \242\324\030\034#GameUI_ClientUnableToCRCM"
"ap\022=\n NETWORK_DISCONNECT_CLIENT_NO_MAP\020@"
"\032\027\242\324\030\023#GameUI_ClientNoMap\022K\n\'NETWORK_DIS"
"CONNECT_CLIENT_DIFFERENT_MAP\020A\032\036\242\324\030\032#Gam"
"eUI_ClientDifferentMap\022M\n(NETWORK_DISCON"
"NECT_SERVER_REQUIRES_STEAM\020B\032\037\242\324\030\033#GameU"
"I_ServerRequireSteams\022M\n\"NETWORK_DISCONN"
"ECT_STEAM_DENY_MISC\020C\032%\242\324\030!#GameUI_Disco"
"nnect_SteamDeny_Misc\022_\n,NETWORK_DISCONNE"
"CT_STEAM_DENY_BAD_ANTI_CHEAT\020D\032-\242\324\030)#Gam"
"eUI_Disconnect_SteamDeny_BadAntiCheat\022M\n"
"\"NETWORK_DISCONNECT_SERVER_SHUTDOWN\020E\032%\242"
"\324\030!#GameUI_Disconnect_ServerShutdown\022U\n&"
"NETWORK_DISCONNECT_REPLAY_INCOMPATIBLE\020G"
"\032)\242\324\030%#GameUI_Disconnect_ReplayIncompati"
"ble\022Z\n+NETWORK_DISCONNECT_CONNECT_REQUES"
"T_TIMEDOUT\020H\032)\242\324\030%#GameUI_Disconnect_Con"
"nectionTimedout\022U\n&NETWORK_DISCONNECT_SE"
"RVER_INCOMPATIBLE\020I\032)\242\324\030%#GameUI_Disconn"
"ect_ServerIncompatible\022^\n*NETWORK_DISCON"
"NECT_LOCALPROBLEM_MANYRELAYS\020J\032.\242\324\030*#Gam"
"eUI_Disconnect_LocalProblem_ManyRelays\022z"
"\n8NETWORK_DISCONNECT_LOCALPROBLEM_HOSTED"
"SERVERPRIMARYRELAY\020K\032<\242\324\0308#GameUI_Discon"
"nect_LocalProblem_HostedServerPrimaryRel"
"ay\022d\n-NETWORK_DISCONNECT_LOCALPROBLEM_NE"
"TWORKCONFIG\020L\0321\242\324\030-#GameUI_Disconnect_Lo"
"calProblem_NetworkConfig\022T\n%NETWORK_DISC"
"ONNECT_LOCALPROBLEM_OTHER\020M\032)\242\324\030%#GameUI"
"_Disconnect_LocalProblem_Other\022S\n!NETWOR"
"K_DISCONNECT_REMOTE_TIMEOUT\020O\032,\242\324\030(#Game"
"UI_Disconnect_RemoteProblem_Timeout\022h\n,N"
"ETWORK_DISCONNECT_REMOTE_TIMEOUT_CONNECT"
"ING\020P\0326\242\324\0302#GameUI_Disconnect_RemoteProb"
"lem_TimeoutConnecting\022O\n\037NETWORK_DISCONN"
"ECT_REMOTE_OTHER\020Q\032*\242\324\030&#GameUI_Disconne"
"ct_RemoteProblem_Other\022U\n\"NETWORK_DISCON"
"NECT_REMOTE_BADCRYPT\020R\032-\242\324\030)#GameUI_Disc"
"onnect_RemoteProblem_BadCrypt\022Z\n(NETWORK"
"_DISCONNECT_REMOTE_CERTNOTTRUSTED\020S\032,\242\324\030"
"(#GameUI_Disconnect_RemoteProblem_BadCer"
"t\022>\n\032NETWORK_DISCONNECT_UNUSUAL\020T\032\036\242\324\030\032#"
"GameUI_Disconnect_Unusual\022K\n!NETWORK_DIS"
"CONNECT_INTERNAL_ERROR\020U\032$\242\324\030 #GameUI_Di"
"sconnect_InternalError\022Q\n&NETWORK_DISCON"
"NECT_REJECT_BADCHALLENGE\020\200\001\032$\242\324\030 #GameUI"
"_ServerRejectBadChallenge\022A\n!NETWORK_DIS"
"CONNECT_REJECT_NOLOBBY\020\201\001\032\031\242\324\030\025#GameUI_S"
"erverNoLobby\022O\n(NETWORK_DISCONNECT_REJEC"
"T_BACKGROUND_MAP\020\202\001\032 \242\324\030\034#Valve_Reject_B"
"ackground_Map\022M\n\'NETWORK_DISCONNECT_REJE"
"CT_SINGLE_PLAYER\020\203\001\032\037\242\324\030\033#Valve_Reject_S"
"ingle_Player\022I\n%NETWORK_DISCONNECT_REJEC"
"T_HIDDEN_GAME\020\204\001\032\035\242\324\030\031#Valve_Reject_Hidd"
"en_Game\022O\n%NETWORK_DISCONNECT_REJECT_LAN"
"RESTRICT\020\205\001\032#\242\324\030\037#GameUI_ServerRejectLAN"
"Restrict\022O\n%NETWORK_DISCONNECT_REJECT_BA"
"DPASSWORD\020\206\001\032#\242\324\030\037#GameUI_ServerRejectBa"
"dPassword\022M\n$NETWORK_DISCONNECT_REJECT_S"
"ERVERFULL\020\207\001\032\"\242\324\030\036#GameUI_ServerRejectSe"
"rverFull\022]\n,NETWORK_DISCONNECT_REJECT_IN"
"VALIDRESERVATION\020\210\001\032*\242\324\030&#GameUI_ServerR"
"ejectInvalidReservation\022S\n\'NETWORK_DISCO"
"NNECT_REJECT_FAILEDCHANNEL\020\211\001\032%\242\324\030!#Game"
"UI_ServerRejectFailedChannel\022W\n,NETWORK_"
"DISCONNECT_REJECT_CONNECT_FROM_LOBBY\020\212\001\032"
"$\242\324\030 #Valve_Reject_Connect_From_Lobby\022W\n"
",NETWORK_DISCONNECT_REJECT_RESERVED_FOR_"
"LOBBY\020\213\001\032$\242\324\030 #Valve_Reject_Reserved_For"
"_Lobby\022Z\n*NETWORK_DISCONNECT_REJECT_INVA"
"LIDKEYLENGTH\020\214\001\032)\242\324\030%#GameUI_ServerRejec"
"t_InvalidKeyLength\022O\n%NETWORK_DISCONNECT"
"_REJECT_OLDPROTOCOL\020\215\001\032#\242\324\030\037#GameUI_Serv"
"erRejectOldProtocol\022O\n%NETWORK_DISCONNEC"
"T_REJECT_NEWPROTOCOL\020\216\001\032#\242\324\030\037#GameUI_Ser"
"verRejectNewProtocol\022[\n+NETWORK_DISCONNE"
"CT_REJECT_INVALIDCONNECTION\020\217\001\032)\242\324\030%#Gam"
"eUI_ServerRejectInvalidConnection\022U\n(NET"
"WORK_DISCONNECT_REJECT_INVALIDCERTLEN\020\220\001"
"\032&\242\324\030\"#GameUI_ServerRejectInvalidCertLen"
"\022_\n-NETWORK_DISCONNECT_REJECT_INVALIDSTE"
"AMCERTLEN\020\221\001\032+\242\324\030\'#GameUI_ServerRejectIn"
"validSteamCertLen\022C\n\037NETWORK_DISCONNECT_"
"REJECT_STEAM\020\222\001\032\035\242\324\030\031#GameUI_ServerRejec"
"tSteam\022Q\n,NETWORK_DISCONNECT_REJECT_SERV"
"ERAUTHDISABLED\020\223\001\032\036\242\324\030\032#GameUI_ServerAut"
"hDisabled\022Y\n0NETWORK_DISCONNECT_REJECT_S"
"ERVERCDKEYAUTHINVALID\020\224\001\032\"\242\324\030\036#GameUI_Se"
"rverCDKeyAuthInvalid\022E\n NETWORK_DISCONNE"
"CT_REJECT_BANNED\020\225\001\032\036\242\324\030\032#GameUI_ServerR"
"ejectBanned\022T\n%NETWORK_DISCONNECT_KICKED"
"_TEAMKILLING\020\226\001\032(\242\324\030$#Player_DisconnectR"
"eason_TeamKilling\022N\n\"NETWORK_DISCONNECT_"
"KICKED_TK_START\020\227\001\032%\242\324\030!#Player_Disconne"
"ctReason_TK_Start\022^\n*NETWORK_DISCONNECT_"
"KICKED_UNTRUSTEDACCOUNT\020\230\001\032-\242\324\030)#Player_"
"DisconnectReason_UntrustedAccount\022^\n*NET"
"WORK_DISCONNECT_KICKED_CONVICTEDACCOUNT\020"
"\231\001\032-\242\324\030)#Player_DisconnectReason_Convict"
"edAccount\022d\n-NETWORK_DISCONNECT_KICKED_C"
"OMPETITIVECOOLDOWN\020\232\001\0320\242\324\030,#Player_Disco"
"nnectReason_CompetitiveCooldown\022T\n%NETWO"
"RK_DISCONNECT_KICKED_TEAMHURTING\020\233\001\032(\242\324\030"
"$#Player_DisconnectReason_TeamHurting\022Z\n"
"(NETWORK_DISCONNECT_KICKED_HOSTAGEKILLIN"
"G\020\234\001\032+\242\324\030\'#Player_DisconnectReason_Hosta"
"geKilling\022N\n\"NETWORK_DISCONNECT_KICKED_V"
"OTEDOFF\020\235\001\032%\242\324\030!#Player_DisconnectReason"
"_VotedOff\022F\n\036NETWORK_DISCONNECT_KICKED_I"
"DLE\020\236\001\032!\242\324\030\035#Player_DisconnectReason_Idl"
"e\022L\n!NETWORK_DISCONNECT_KICKED_SUICIDE\020\237"
"\001\032$\242\324\030 #Player_DisconnectReason_Suicide\022"
"V\n&NETWORK_DISCONNECT_KICKED_NOSTEAMLOGI"
"N\020\240\001\032)\242\324\030%#Player_DisconnectReason_NoSte"
"amLogin\022X\n\'NETWORK_DISCONNECT_KICKED_NOS"
"TEAMTICKET\020\241\001\032*\242\324\030&#Player_DisconnectRea"
"son_NoSteamTicket\022\217\001\n)NETWORK_DISCONNECT"
"_KICKED_INPUTAUTOMATION\020\242\001\032_\242\324\030(#Player_"
"DisconnectReason_InputAutomation\252\324\030/#Pla"
"yer_DisconnectReason_InputAutomation_Det"
"ail\022n\n0NETWORK_DISCONNECT_KICKED_VACNETA"
"BNORMALBEHAVIOR\020\243\001\0327\242\324\030/#Player_Disconne"
"ctReason_VacNetAbnormalBehavior\260\324\030\000\022Z\n(N"
"ETWORK_DISCONNECT_KICKED_INSECURECLIENT\020"
"\244\001\032+\242\324\030\'#Player_DisconnectReason_Insecur"
"eClient:E\n\030network_connection_token\022!.go"
"ogle.protobuf.EnumValueOptions\030\304\212\003 \001(\t:L"
"\n\037network_connection_detail_token\022!.goog"
"le.protobuf.EnumValueOptions\030\305\212\003 \001(\t:F\n\023"
"allowed_from_client\022!.google.protobuf.En"
"umValueOptions\030\306\212\003 \001(\010:\004true"
;
static const ::_pbi::DescriptorTable* const descriptor_table_network_5fconnection_2eproto_deps[1] = {
&::descriptor_table_google_2fprotobuf_2fdescriptor_2eproto,
};
static ::_pbi::once_flag descriptor_table_network_5fconnection_2eproto_once;
const ::_pbi::DescriptorTable descriptor_table_network_5fconnection_2eproto = {
false, false, 10188, descriptor_table_protodef_network_5fconnection_2eproto,
"network_connection.proto",
&descriptor_table_network_5fconnection_2eproto_once, descriptor_table_network_5fconnection_2eproto_deps, 1, 0,
schemas, file_default_instances, TableStruct_network_5fconnection_2eproto::offsets,
nullptr, file_level_enum_descriptors_network_5fconnection_2eproto,
file_level_service_descriptors_network_5fconnection_2eproto,
};
PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_network_5fconnection_2eproto_getter() {
return &descriptor_table_network_5fconnection_2eproto;
}
// Force running AddDescriptors() at dynamic initialization time.
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_network_5fconnection_2eproto(&descriptor_table_network_5fconnection_2eproto);
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ENetworkDisconnectionReason_descriptor() {
::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_network_5fconnection_2eproto);
return file_level_enum_descriptors_network_5fconnection_2eproto[0];
}
bool ENetworkDisconnectionReason_IsValid(int value) {
switch (value) {
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
case 11:
case 12:
case 13:
case 14:
case 15:
case 16:
case 17:
case 18:
case 19:
case 20:
case 21:
case 22:
case 23:
case 24:
case 25:
case 26:
case 27:
case 28:
case 29:
case 30:
case 31:
case 32:
case 33:
case 34:
case 35:
case 36:
case 37:
case 38:
case 39:
case 40:
case 41:
case 42:
case 43:
case 44:
case 45:
case 46:
case 47:
case 48:
case 49:
case 50:
case 51:
case 52:
case 53:
case 54:
case 55:
case 56:
case 57:
case 58:
case 59:
case 60:
case 61:
case 62:
case 63:
case 64:
case 65:
case 66:
case 67:
case 68:
case 69:
case 71:
case 72:
case 73:
case 74:
case 75:
case 76:
case 77:
case 79:
case 80:
case 81:
case 82:
case 83:
case 84:
case 85:
case 128:
case 129:
case 130:
case 131:
case 132:
case 133:
case 134:
case 135:
case 136:
case 137:
case 138:
case 139:
case 140:
case 141:
case 142:
case 143:
case 144:
case 145:
case 146:
case 147:
case 148:
case 149:
case 150:
case 151:
case 152:
case 153:
case 154:
case 155:
case 156:
case 157:
case 158:
case 159:
case 160:
case 161:
case 162:
case 163:
case 164:
return true;
default:
return false;
}
}
const std::string network_connection_token_default("");
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< ::PROTOBUF_NAMESPACE_ID::EnumValueOptions,
::PROTOBUF_NAMESPACE_ID::internal::StringTypeTraits, 9, false>
network_connection_token(kNetworkConnectionTokenFieldNumber, network_connection_token_default, nullptr);
const std::string network_connection_detail_token_default("");
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< ::PROTOBUF_NAMESPACE_ID::EnumValueOptions,
::PROTOBUF_NAMESPACE_ID::internal::StringTypeTraits, 9, false>
network_connection_detail_token(kNetworkConnectionDetailTokenFieldNumber, network_connection_detail_token_default, nullptr);
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< ::PROTOBUF_NAMESPACE_ID::EnumValueOptions,
::PROTOBUF_NAMESPACE_ID::internal::PrimitiveTypeTraits< bool >, 8, false>
allowed_from_client(kAllowedFromClientFieldNumber, true, nullptr);
// @@protoc_insertion_point(namespace_scope)
PROTOBUF_NAMESPACE_OPEN
PROTOBUF_NAMESPACE_CLOSE
// @@protoc_insertion_point(global_scope)
#include <google/protobuf/port_undef.inc>
@@ -0,0 +1,236 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: network_connection.proto
#ifndef GOOGLE_PROTOBUF_INCLUDED_network_5fconnection_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_network_5fconnection_2eproto
#include <limits>
#include <string>
#include <google/protobuf/port_def.inc>
#if PROTOBUF_VERSION < 3021000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
#if 3021008 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
#endif
#include <google/protobuf/port_undef.inc>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/metadata_lite.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/repeated_field.h> // IWYU pragma: export
#include <google/protobuf/extension_set.h> // IWYU pragma: export
#include <google/protobuf/generated_enum_reflection.h>
#include <google/protobuf/descriptor.pb.h>
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_network_5fconnection_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
} // namespace internal
PROTOBUF_NAMESPACE_CLOSE
// Internal implementation detail -- do not use these members.
struct TableStruct_network_5fconnection_2eproto {
static const uint32_t offsets[];
};
extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_network_5fconnection_2eproto;
PROTOBUF_NAMESPACE_OPEN
PROTOBUF_NAMESPACE_CLOSE
enum ENetworkDisconnectionReason : int {
NETWORK_DISCONNECT_INVALID = 0,
NETWORK_DISCONNECT_SHUTDOWN = 1,
NETWORK_DISCONNECT_DISCONNECT_BY_USER = 2,
NETWORK_DISCONNECT_DISCONNECT_BY_SERVER = 3,
NETWORK_DISCONNECT_LOST = 4,
NETWORK_DISCONNECT_OVERFLOW = 5,
NETWORK_DISCONNECT_STEAM_BANNED = 6,
NETWORK_DISCONNECT_STEAM_INUSE = 7,
NETWORK_DISCONNECT_STEAM_TICKET = 8,
NETWORK_DISCONNECT_STEAM_LOGON = 9,
NETWORK_DISCONNECT_STEAM_AUTHCANCELLED = 10,
NETWORK_DISCONNECT_STEAM_AUTHALREADYUSED = 11,
NETWORK_DISCONNECT_STEAM_AUTHINVALID = 12,
NETWORK_DISCONNECT_STEAM_VACBANSTATE = 13,
NETWORK_DISCONNECT_STEAM_LOGGED_IN_ELSEWHERE = 14,
NETWORK_DISCONNECT_STEAM_VAC_CHECK_TIMEDOUT = 15,
NETWORK_DISCONNECT_STEAM_DROPPED = 16,
NETWORK_DISCONNECT_STEAM_OWNERSHIP = 17,
NETWORK_DISCONNECT_SERVERINFO_OVERFLOW = 18,
NETWORK_DISCONNECT_TICKMSG_OVERFLOW = 19,
NETWORK_DISCONNECT_STRINGTABLEMSG_OVERFLOW = 20,
NETWORK_DISCONNECT_DELTAENTMSG_OVERFLOW = 21,
NETWORK_DISCONNECT_TEMPENTMSG_OVERFLOW = 22,
NETWORK_DISCONNECT_SOUNDSMSG_OVERFLOW = 23,
NETWORK_DISCONNECT_SNAPSHOTOVERFLOW = 24,
NETWORK_DISCONNECT_SNAPSHOTERROR = 25,
NETWORK_DISCONNECT_RELIABLEOVERFLOW = 26,
NETWORK_DISCONNECT_BADDELTATICK = 27,
NETWORK_DISCONNECT_NOMORESPLITS = 28,
NETWORK_DISCONNECT_TIMEDOUT = 29,
NETWORK_DISCONNECT_DISCONNECTED = 30,
NETWORK_DISCONNECT_LEAVINGSPLIT = 31,
NETWORK_DISCONNECT_DIFFERENTCLASSTABLES = 32,
NETWORK_DISCONNECT_BADRELAYPASSWORD = 33,
NETWORK_DISCONNECT_BADSPECTATORPASSWORD = 34,
NETWORK_DISCONNECT_HLTVRESTRICTED = 35,
NETWORK_DISCONNECT_NOSPECTATORS = 36,
NETWORK_DISCONNECT_HLTVUNAVAILABLE = 37,
NETWORK_DISCONNECT_HLTVSTOP = 38,
NETWORK_DISCONNECT_KICKED = 39,
NETWORK_DISCONNECT_BANADDED = 40,
NETWORK_DISCONNECT_KICKBANADDED = 41,
NETWORK_DISCONNECT_HLTVDIRECT = 42,
NETWORK_DISCONNECT_PURESERVER_CLIENTEXTRA = 43,
NETWORK_DISCONNECT_PURESERVER_MISMATCH = 44,
NETWORK_DISCONNECT_USERCMD = 45,
NETWORK_DISCONNECT_REJECTED_BY_GAME = 46,
NETWORK_DISCONNECT_MESSAGE_PARSE_ERROR = 47,
NETWORK_DISCONNECT_INVALID_MESSAGE_ERROR = 48,
NETWORK_DISCONNECT_BAD_SERVER_PASSWORD = 49,
NETWORK_DISCONNECT_DIRECT_CONNECT_RESERVATION = 50,
NETWORK_DISCONNECT_CONNECTION_FAILURE = 51,
NETWORK_DISCONNECT_NO_PEER_GROUP_HANDLERS = 52,
NETWORK_DISCONNECT_RECONNECTION = 53,
NETWORK_DISCONNECT_LOOPSHUTDOWN = 54,
NETWORK_DISCONNECT_LOOPDEACTIVATE = 55,
NETWORK_DISCONNECT_HOST_ENDGAME = 56,
NETWORK_DISCONNECT_LOOP_LEVELLOAD_ACTIVATE = 57,
NETWORK_DISCONNECT_CREATE_SERVER_FAILED = 58,
NETWORK_DISCONNECT_EXITING = 59,
NETWORK_DISCONNECT_REQUEST_HOSTSTATE_IDLE = 60,
NETWORK_DISCONNECT_REQUEST_HOSTSTATE_HLTVRELAY = 61,
NETWORK_DISCONNECT_CLIENT_CONSISTENCY_FAIL = 62,
NETWORK_DISCONNECT_CLIENT_UNABLE_TO_CRC_MAP = 63,
NETWORK_DISCONNECT_CLIENT_NO_MAP = 64,
NETWORK_DISCONNECT_CLIENT_DIFFERENT_MAP = 65,
NETWORK_DISCONNECT_SERVER_REQUIRES_STEAM = 66,
NETWORK_DISCONNECT_STEAM_DENY_MISC = 67,
NETWORK_DISCONNECT_STEAM_DENY_BAD_ANTI_CHEAT = 68,
NETWORK_DISCONNECT_SERVER_SHUTDOWN = 69,
NETWORK_DISCONNECT_REPLAY_INCOMPATIBLE = 71,
NETWORK_DISCONNECT_CONNECT_REQUEST_TIMEDOUT = 72,
NETWORK_DISCONNECT_SERVER_INCOMPATIBLE = 73,
NETWORK_DISCONNECT_LOCALPROBLEM_MANYRELAYS = 74,
NETWORK_DISCONNECT_LOCALPROBLEM_HOSTEDSERVERPRIMARYRELAY = 75,
NETWORK_DISCONNECT_LOCALPROBLEM_NETWORKCONFIG = 76,
NETWORK_DISCONNECT_LOCALPROBLEM_OTHER = 77,
NETWORK_DISCONNECT_REMOTE_TIMEOUT = 79,
NETWORK_DISCONNECT_REMOTE_TIMEOUT_CONNECTING = 80,
NETWORK_DISCONNECT_REMOTE_OTHER = 81,
NETWORK_DISCONNECT_REMOTE_BADCRYPT = 82,
NETWORK_DISCONNECT_REMOTE_CERTNOTTRUSTED = 83,
NETWORK_DISCONNECT_UNUSUAL = 84,
NETWORK_DISCONNECT_INTERNAL_ERROR = 85,
NETWORK_DISCONNECT_REJECT_BADCHALLENGE = 128,
NETWORK_DISCONNECT_REJECT_NOLOBBY = 129,
NETWORK_DISCONNECT_REJECT_BACKGROUND_MAP = 130,
NETWORK_DISCONNECT_REJECT_SINGLE_PLAYER = 131,
NETWORK_DISCONNECT_REJECT_HIDDEN_GAME = 132,
NETWORK_DISCONNECT_REJECT_LANRESTRICT = 133,
NETWORK_DISCONNECT_REJECT_BADPASSWORD = 134,
NETWORK_DISCONNECT_REJECT_SERVERFULL = 135,
NETWORK_DISCONNECT_REJECT_INVALIDRESERVATION = 136,
NETWORK_DISCONNECT_REJECT_FAILEDCHANNEL = 137,
NETWORK_DISCONNECT_REJECT_CONNECT_FROM_LOBBY = 138,
NETWORK_DISCONNECT_REJECT_RESERVED_FOR_LOBBY = 139,
NETWORK_DISCONNECT_REJECT_INVALIDKEYLENGTH = 140,
NETWORK_DISCONNECT_REJECT_OLDPROTOCOL = 141,
NETWORK_DISCONNECT_REJECT_NEWPROTOCOL = 142,
NETWORK_DISCONNECT_REJECT_INVALIDCONNECTION = 143,
NETWORK_DISCONNECT_REJECT_INVALIDCERTLEN = 144,
NETWORK_DISCONNECT_REJECT_INVALIDSTEAMCERTLEN = 145,
NETWORK_DISCONNECT_REJECT_STEAM = 146,
NETWORK_DISCONNECT_REJECT_SERVERAUTHDISABLED = 147,
NETWORK_DISCONNECT_REJECT_SERVERCDKEYAUTHINVALID = 148,
NETWORK_DISCONNECT_REJECT_BANNED = 149,
NETWORK_DISCONNECT_KICKED_TEAMKILLING = 150,
NETWORK_DISCONNECT_KICKED_TK_START = 151,
NETWORK_DISCONNECT_KICKED_UNTRUSTEDACCOUNT = 152,
NETWORK_DISCONNECT_KICKED_CONVICTEDACCOUNT = 153,
NETWORK_DISCONNECT_KICKED_COMPETITIVECOOLDOWN = 154,
NETWORK_DISCONNECT_KICKED_TEAMHURTING = 155,
NETWORK_DISCONNECT_KICKED_HOSTAGEKILLING = 156,
NETWORK_DISCONNECT_KICKED_VOTEDOFF = 157,
NETWORK_DISCONNECT_KICKED_IDLE = 158,
NETWORK_DISCONNECT_KICKED_SUICIDE = 159,
NETWORK_DISCONNECT_KICKED_NOSTEAMLOGIN = 160,
NETWORK_DISCONNECT_KICKED_NOSTEAMTICKET = 161,
NETWORK_DISCONNECT_KICKED_INPUTAUTOMATION = 162,
NETWORK_DISCONNECT_KICKED_VACNETABNORMALBEHAVIOR = 163,
NETWORK_DISCONNECT_KICKED_INSECURECLIENT = 164
};
bool ENetworkDisconnectionReason_IsValid(int value);
constexpr ENetworkDisconnectionReason ENetworkDisconnectionReason_MIN = NETWORK_DISCONNECT_INVALID;
constexpr ENetworkDisconnectionReason ENetworkDisconnectionReason_MAX = NETWORK_DISCONNECT_KICKED_INSECURECLIENT;
constexpr int ENetworkDisconnectionReason_ARRAYSIZE = ENetworkDisconnectionReason_MAX + 1;
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ENetworkDisconnectionReason_descriptor();
template<typename T>
inline const std::string& ENetworkDisconnectionReason_Name(T enum_t_value) {
static_assert(::std::is_same<T, ENetworkDisconnectionReason>::value ||
::std::is_integral<T>::value,
"Incorrect type passed to function ENetworkDisconnectionReason_Name.");
return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
ENetworkDisconnectionReason_descriptor(), enum_t_value);
}
inline bool ENetworkDisconnectionReason_Parse(
::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ENetworkDisconnectionReason* value) {
return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<ENetworkDisconnectionReason>(
ENetworkDisconnectionReason_descriptor(), name, value);
}
// ===================================================================
// ===================================================================
static const int kNetworkConnectionTokenFieldNumber = 50500;
extern ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< ::PROTOBUF_NAMESPACE_ID::EnumValueOptions,
::PROTOBUF_NAMESPACE_ID::internal::StringTypeTraits, 9, false >
network_connection_token;
static const int kNetworkConnectionDetailTokenFieldNumber = 50501;
extern ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< ::PROTOBUF_NAMESPACE_ID::EnumValueOptions,
::PROTOBUF_NAMESPACE_ID::internal::StringTypeTraits, 9, false >
network_connection_detail_token;
static const int kAllowedFromClientFieldNumber = 50502;
extern ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< ::PROTOBUF_NAMESPACE_ID::EnumValueOptions,
::PROTOBUF_NAMESPACE_ID::internal::PrimitiveTypeTraits< bool >, 8, false >
allowed_from_client;
// ===================================================================
#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif // __GNUC__
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif // __GNUC__
// @@protoc_insertion_point(namespace_scope)
PROTOBUF_NAMESPACE_OPEN
template <> struct is_proto_enum< ::ENetworkDisconnectionReason> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::ENetworkDisconnectionReason>() {
return ::ENetworkDisconnectionReason_descriptor();
}
PROTOBUF_NAMESPACE_CLOSE
// @@protoc_insertion_point(global_scope)
#include <google/protobuf/port_undef.inc>
#endif // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_network_5fconnection_2eproto
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More