Add basic ReHLDS and ReGameDLL support (#417)
* Add ReHLDS API files and its dependencies Note: This has been stolen from ReAPI AMXX module and modified/adjusted to match AMXX existing includes and to provide as less dependencies as possible as well * Add the necessary files to get ReHLDS interface * Split SV_DropClient into pre/post code * Init ReHLDS API and add SV_DropClient hook * Add Cvar_DirectSet hook and adjust code with helpers Note: we don't need to split code here. This is pretty much the naive and straight way, but fairly enough for our case. If it happens we got a lot more hooks, we may consider to use some class to manage better the things. * Move platform and interface stuff in their own files in public directory * Make sure to init cvar stuff after ReHLDS * Add ReGameDLL API files and its dependencies in cstrike module * Init ReHLDS in cstrike module and adjust code Note: About cs_uset_set_model(). ReHLDS API doesn't offer a way to know directly the precached models, so instead of looping through all the ressources, the models list is saved one time at map change into a hashmap. * Init ReGameDLL and adjust code * Fix linux compilation * Init ReGameDLL in fakemeta module and adjust code * Rename /reapi directory to /resdk to avoid confusion * Retrieve gamerules pointer through InstallGameRules in fakemeta module * Retrieve gamerules pointer through InstallGameRules in cstrike module Note: actually gamerules is not used if regamedll is enabled, but it could be used in future natives. * Fix a typo when ReGameDLL is not enabled * Fix missing interface check for ReHLDS. I'm pretty sure I was checking at the very first since I worked first on vanilla version of engine, looks like change has been lost.
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2013
|
||||
VisualStudioVersion = 12.0.31101.0
|
||||
# Visual Studio 14
|
||||
VisualStudioVersion = 14.0.25420.1
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "amxmodx_mm", "amxmodx_mm.vcxproj", "{2BF64D1A-AC89-41B0-9D02-FB8CB610F850}"
|
||||
EndProject
|
||||
|
@ -151,6 +151,7 @@
|
||||
<ClCompile Include="..\..\public\memtools\CDetour\asm\asm.c" />
|
||||
<ClCompile Include="..\..\public\memtools\CDetour\detours.cpp" />
|
||||
<ClCompile Include="..\..\public\memtools\MemoryUtils.cpp" />
|
||||
<ClCompile Include="..\..\public\resdk\mod_rehlds_api.cpp" />
|
||||
<ClCompile Include="..\..\third_party\hashing\hashers\crc32.cpp">
|
||||
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='JITDebug|Win32'">$(IntDir)hashing\</ObjectFileName>
|
||||
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='JITRelease|Win32'">$(IntDir)hashing\</ObjectFileName>
|
||||
@ -311,6 +312,10 @@
|
||||
<ClInclude Include="..\..\public\memtools\CDetour\detourhelpers.h" />
|
||||
<ClInclude Include="..\..\public\memtools\CDetour\detours.h" />
|
||||
<ClInclude Include="..\..\public\memtools\MemoryUtils.h" />
|
||||
<ClInclude Include="..\..\public\resdk\common\hookchains.h" />
|
||||
<ClInclude Include="..\..\public\resdk\engine\rehlds_api.h" />
|
||||
<ClInclude Include="..\..\public\resdk\engine\rehlds_interfaces.h" />
|
||||
<ClInclude Include="..\..\public\resdk\mod_rehlds_api.h" />
|
||||
<ClInclude Include="..\..\third_party\hashing\hashers\crc32.h" />
|
||||
<ClInclude Include="..\..\third_party\hashing\hashers\keccak.h" />
|
||||
<ClInclude Include="..\..\third_party\hashing\hashers\md5.h" />
|
||||
|
@ -46,6 +46,15 @@
|
||||
<Filter Include="Third Party\Hashing\hashers">
|
||||
<UniqueIdentifier>{fb5fd616-bb2e-42f1-a113-a61eb9ead739}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ReSDK">
|
||||
<UniqueIdentifier>{5dd87e1c-9be5-43d3-8216-74d36f4f7610}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ReSDK\common">
|
||||
<UniqueIdentifier>{26cdecf1-06de-459e-9ea0-0bbb4a2b3bf6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ReSDK\engine">
|
||||
<UniqueIdentifier>{04fab577-6f56-40d0-8f69-7ce1b8bf3bb9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\amx.cpp">
|
||||
@ -291,6 +300,9 @@
|
||||
<ClCompile Include="..\CoreConfig.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\public\resdk\mod_rehlds_api.cpp">
|
||||
<Filter>ReSDK</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\amx.h">
|
||||
@ -503,6 +515,18 @@
|
||||
<ClInclude Include="..\CFrameAction.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\public\resdk\common\hookchains.h">
|
||||
<Filter>ReSDK\common</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\public\resdk\engine\rehlds_api.h">
|
||||
<Filter>ReSDK\engine</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\public\resdk\engine\rehlds_interfaces.h">
|
||||
<Filter>ReSDK\engine</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\public\resdk\mod_rehlds_api.h">
|
||||
<Filter>ReSDK</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\version.rc">
|
||||
|
Reference in New Issue
Block a user