diff options
-rw-r--r-- | NorthstarDLL/NorthstarDLL.vcxproj | 1349 | ||||
-rw-r--r-- | NorthstarDLL/NorthstarDLL.vcxproj.filters | 3 | ||||
-rw-r--r-- | NorthstarDLL/dedicatedmaterialsystem.cpp | 1 | ||||
-rw-r--r-- | NorthstarDLL/exploitfixes.cpp | 30 | ||||
-rw-r--r-- | NorthstarDLL/hoststate.cpp | 2 | ||||
-rw-r--r-- | NorthstarDLL/logging.cpp | 12 | ||||
-rw-r--r-- | NorthstarDLL/scriptdatatables.cpp | 23 | ||||
-rw-r--r-- | NorthstarDLL/sigscanning.cpp | 41 | ||||
-rw-r--r-- | NorthstarDLL/squirrel.cpp | 2 | ||||
-rw-r--r-- | NorthstarDLL/vector.h | 10 | ||||
-rw-r--r-- | loader_launcher_proxy/Memory.cpp | 82 | ||||
-rw-r--r-- | loader_launcher_proxy/Memory.h | 24 |
12 files changed, 718 insertions, 861 deletions
diff --git a/NorthstarDLL/NorthstarDLL.vcxproj b/NorthstarDLL/NorthstarDLL.vcxproj index ac1b3991..7b2ece51 100644 --- a/NorthstarDLL/NorthstarDLL.vcxproj +++ b/NorthstarDLL/NorthstarDLL.vcxproj @@ -1,676 +1,675 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|x64"> - <Configuration>Debug</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|x64"> - <Configuration>Release</Configuration> - <Platform>x64</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <VCProjectVersion>16.0</VCProjectVersion> - <Keyword>Win32Proj</Keyword> - <ProjectGuid>{cfad2623-064f-453c-8196-79ee10292e32}</ProjectGuid> - <RootNamespace>NorthstarDedicatedTest</RootNamespace> - <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion> - <ProjectName>NorthstarDLL</ProjectName> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> - <ConfigurationType>DynamicLibrary</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v143</PlatformToolset> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> - <ConfigurationType>DynamicLibrary</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v143</PlatformToolset> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>Unicode</CharacterSet> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - <Import Project="$(VCTargetsPath)\BuildCustomizations\masm.props" /> - </ImportGroup> - <ImportGroup Label="Shared"> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <LinkIncremental>true</LinkIncremental> - <TargetName>Northstar</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <LinkIncremental>false</LinkIncremental> - <TargetName>Northstar</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> - <ClCompile> - <WarningLevel>Level3</WarningLevel> - <SDLCheck>true</SDLCheck> - <PreprocessorDefinitions>_DEBUG;NORTHSTARDEDICATEDTEST_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions);CURL_STATICLIB</PreprocessorDefinitions> - <ConformanceMode>true</ConformanceMode> - <PrecompiledHeader>Use</PrecompiledHeader> - <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile> - <LanguageStandard>stdcpp20</LanguageStandard> - <AdditionalIncludeDirectories>$(ProjectDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <GenerateDebugInformation>true</GenerateDebugInformation> - <EnableUAC>false</EnableUAC> - <AdditionalDependencies>$(ProjectDir)include\MinHook.x64.lib;$(ProjectDir)include\libcurl\lib\libcurl_a.lib;dbghelp.lib;Wldap32.lib;Normaliz.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies> - <ForceSymbolReferences> - </ForceSymbolReferences> - <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> - </Link> - <PreBuildEvent> - <Command> - </Command> - </PreBuildEvent> - <PostBuildEvent> - <Command>copy /Y "$(TargetPath)" "$(SolutionDir)..\..\"</Command> - </PostBuildEvent> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> - <ClCompile> - <WarningLevel>Level3</WarningLevel> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <PreprocessorDefinitions>NDEBUG;NORTHSTARDEDICATEDTEST_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions);CURL_STATICLIB</PreprocessorDefinitions> - <ConformanceMode>true</ConformanceMode> - <PrecompiledHeader>Use</PrecompiledHeader> - <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile> - <LanguageStandard>stdcpp20</LanguageStandard> - <AdditionalIncludeDirectories>$(ProjectDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> - </ClCompile> - <Link> - <SubSystem>Windows</SubSystem> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - <GenerateDebugInformation>true</GenerateDebugInformation> - <EnableUAC>false</EnableUAC> - <AdditionalDependencies>$(ProjectDir)include\MinHook.x64.lib;$(ProjectDir)include\libcurl\lib\libcurl_a.lib;dbghelp.lib;Wldap32.lib;Normaliz.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies> - <ForceSymbolReferences> - </ForceSymbolReferences> - <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> - </Link> - <PreBuildEvent> - <Command> - </Command> - </PreBuildEvent> - <PostBuildEvent> - <Command>copy /Y "$(TargetPath)" "$(SolutionDir)..\..\"</Command> - </PostBuildEvent> - </ItemDefinitionGroup> - <ItemGroup> - <ClInclude Include="audio.h" /> - <ClInclude Include="bansystem.h" /> - <ClInclude Include="bitbuf.h" /> - <ClInclude Include="bits.h" /> - <ClInclude Include="crashhandler.h" /> - <ClInclude Include="squirreldatatypes.h" /> - <ClInclude Include="limits.h" /> - <ClInclude Include="maxplayers.h" /> - <ClInclude Include="memory.h" /> - <ClInclude Include="printcommand.h" /> - <ClInclude Include="hoststate.h" /> - <ClInclude Include="localchatwriter.h" /> - <ClInclude Include="printmaps.h" /> - <ClInclude Include="ns_version.h" /> - <ClInclude Include="plugins.h" /> - <ClInclude Include="plugin_abi.h" /> - <ClInclude Include="r2client.h" /> - <ClInclude Include="r2engine.h" /> - <ClInclude Include="r2server.h" /> - <ClInclude Include="serverchathooks.h" /> - <ClInclude Include="color.h" /> - <ClInclude Include="concommand.h" /> - <ClInclude Include="nsprefix.h" /> - <ClInclude Include="convar.h" /> - <ClInclude Include="cvar.h" /> - <ClInclude Include="dedicated.h" /> - <ClInclude Include="filesystem.h" /> - <ClInclude Include="hooks.h" /> - <ClInclude Include="include\crypto\aes_platform.h" /> - <ClInclude Include="include\crypto\aria.h" /> - <ClInclude Include="include\crypto\asn1.h" /> - <ClInclude Include="include\crypto\asn1err.h" /> - <ClInclude Include="include\crypto\asn1_dsa.h" /> - <ClInclude Include="include\crypto\async.h" /> - <ClInclude Include="include\crypto\asyncerr.h" /> - <ClInclude Include="include\crypto\bioerr.h" /> - <ClInclude Include="include\crypto\bn.h" /> - <ClInclude Include="include\crypto\bnerr.h" /> - <ClInclude Include="include\crypto\bn_conf.h" /> - <ClInclude Include="include\crypto\bn_dh.h" /> - <ClInclude Include="include\crypto\bn_srp.h" /> - <ClInclude Include="include\crypto\buffererr.h" /> - <ClInclude Include="include\crypto\chacha.h" /> - <ClInclude Include="include\crypto\cmll_platform.h" /> - <ClInclude Include="include\crypto\cmperr.h" /> - <ClInclude Include="include\crypto\cmserr.h" /> - <ClInclude Include="include\crypto\comperr.h" /> - <ClInclude Include="include\crypto\conferr.h" /> - <ClInclude Include="include\crypto\crmferr.h" /> - <ClInclude Include="include\crypto\cryptlib.h" /> - <ClInclude Include="include\crypto\cryptoerr.h" /> - <ClInclude Include="include\crypto\cterr.h" /> - <ClInclude Include="include\crypto\ctype.h" /> - <ClInclude Include="include\crypto\decoder.h" /> - <ClInclude Include="include\crypto\decodererr.h" /> - <ClInclude Include="include\crypto\des_platform.h" /> - <ClInclude Include="include\crypto\dh.h" /> - <ClInclude Include="include\crypto\dherr.h" /> - <ClInclude Include="include\crypto\dsa.h" /> - <ClInclude Include="include\crypto\dsaerr.h" /> - <ClInclude Include="include\crypto\dso_conf.h" /> - <ClInclude Include="include\crypto\ec.h" /> - <ClInclude Include="include\crypto\ecerr.h" /> - <ClInclude Include="include\crypto\ecx.h" /> - <ClInclude Include="include\crypto\encoder.h" /> - <ClInclude Include="include\crypto\encodererr.h" /> - <ClInclude Include="include\crypto\engine.h" /> - <ClInclude Include="include\crypto\engineerr.h" /> - <ClInclude Include="include\crypto\err.h" /> - <ClInclude Include="include\crypto\ess.h" /> - <ClInclude Include="include\crypto\esserr.h" /> - <ClInclude Include="include\crypto\evp.h" /> - <ClInclude Include="include\crypto\evperr.h" /> - <ClInclude Include="include\crypto\httperr.h" /> - <ClInclude Include="include\crypto\lhash.h" /> - <ClInclude Include="include\crypto\md32_common.h" /> - <ClInclude Include="include\crypto\modes.h" /> - <ClInclude Include="include\crypto\objects.h" /> - <ClInclude Include="include\crypto\objectserr.h" /> - <ClInclude Include="include\crypto\ocsperr.h" /> - <ClInclude Include="include\crypto\pem.h" /> - <ClInclude Include="include\crypto\pemerr.h" /> - <ClInclude Include="include\crypto\pkcs12err.h" /> - <ClInclude Include="include\crypto\pkcs7.h" /> - <ClInclude Include="include\crypto\pkcs7err.h" /> - <ClInclude Include="include\crypto\poly1305.h" /> - <ClInclude Include="include\crypto\ppc_arch.h" /> - <ClInclude Include="include\crypto\punycode.h" /> - <ClInclude Include="include\crypto\rand.h" /> - <ClInclude Include="include\crypto\randerr.h" /> - <ClInclude Include="include\crypto\rand_pool.h" /> - <ClInclude Include="include\crypto\rsa.h" /> - <ClInclude Include="include\crypto\rsaerr.h" /> - <ClInclude Include="include\crypto\security_bits.h" /> - <ClInclude Include="include\crypto\sha.h" /> - <ClInclude Include="include\crypto\siphash.h" /> - <ClInclude Include="include\crypto\siv.h" /> - <ClInclude Include="include\crypto\sm2.h" /> - <ClInclude Include="include\crypto\sm2err.h" /> - <ClInclude Include="include\crypto\sm4.h" /> - <ClInclude Include="include\crypto\sparc_arch.h" /> - <ClInclude Include="include\crypto\sparse_array.h" /> - <ClInclude Include="include\crypto\store.h" /> - <ClInclude Include="include\crypto\storeerr.h" /> - <ClInclude Include="include\crypto\tserr.h" /> - <ClInclude Include="include\crypto\types.h" /> - <ClInclude Include="include\crypto\uierr.h" /> - <ClInclude Include="include\crypto\x509.h" /> - <ClInclude Include="include\crypto\x509err.h" /> - <ClInclude Include="include\crypto\x509v3err.h" /> - <ClInclude Include="include\crypto\__DECC_INCLUDE_EPILOGUE.H" /> - <ClInclude Include="include\crypto\__DECC_INCLUDE_PROLOGUE.H" /> - <ClInclude Include="include\httplib.h" /> - <ClInclude Include="include\internal\asn1.h" /> - <ClInclude Include="include\internal\bio.h" /> - <ClInclude Include="include\internal\comp.h" /> - <ClInclude Include="include\internal\conf.h" /> - <ClInclude Include="include\internal\constant_time.h" /> - <ClInclude Include="include\internal\core.h" /> - <ClInclude Include="include\internal\cryptlib.h" /> - <ClInclude Include="include\internal\dane.h" /> - <ClInclude Include="include\internal\deprecated.h" /> - <ClInclude Include="include\internal\der.h" /> - <ClInclude Include="include\internal\dso.h" /> - <ClInclude Include="include\internal\dsoerr.h" /> - <ClInclude Include="include\internal\endian.h" /> - <ClInclude Include="include\internal\err.h" /> - <ClInclude Include="include\internal\ffc.h" /> - <ClInclude Include="include\internal\ktls.h" /> - <ClInclude Include="include\internal\namemap.h" /> - <ClInclude Include="include\internal\nelem.h" /> - <ClInclude Include="include\internal\numbers.h" /> - <ClInclude Include="include\internal\o_dir.h" /> - <ClInclude Include="include\internal\packet.h" /> - <ClInclude Include="include\internal\param_build_set.h" /> - <ClInclude Include="include\internal\passphrase.h" /> - <ClInclude Include="include\internal\property.h" /> - <ClInclude Include="include\internal\propertyerr.h" /> - <ClInclude Include="include\internal\provider.h" /> - <ClInclude Include="include\internal\refcount.h" /> - <ClInclude Include="include\internal\sha3.h" /> - <ClInclude Include="include\internal\sizes.h" /> - <ClInclude Include="include\internal\sm3.h" /> - <ClInclude Include="include\internal\sockets.h" /> - <ClInclude Include="include\internal\sslconf.h" /> - <ClInclude Include="include\internal\symhacks.h" /> - <ClInclude Include="include\internal\thread_once.h" /> - <ClInclude Include="include\internal\tlsgroups.h" /> - <ClInclude Include="include\internal\tsan_assist.h" /> - <ClInclude Include="include\internal\unicode.h" /> - <ClInclude Include="include\internal\__DECC_INCLUDE_EPILOGUE.H" /> - <ClInclude Include="include\internal\__DECC_INCLUDE_PROLOGUE.H" /> - <ClInclude Include="include\libcurl\include\curl\curl.h" /> - <ClInclude Include="include\libcurl\include\curl\curlver.h" /> - <ClInclude Include="include\libcurl\include\curl\easy.h" /> - <ClInclude Include="include\libcurl\include\curl\mprintf.h" /> - <ClInclude Include="include\libcurl\include\curl\multi.h" /> - <ClInclude Include="include\libcurl\include\curl\options.h" /> - <ClInclude Include="include\libcurl\include\curl\stdcheaders.h" /> - <ClInclude Include="include\libcurl\include\curl\system.h" /> - <ClInclude Include="include\libcurl\include\curl\typecheck-gcc.h" /> - <ClInclude Include="include\libcurl\include\curl\urlapi.h" /> - <ClInclude Include="include\MinHook.h" /> - <ClInclude Include="include\openssl\aes.h" /> - <ClInclude Include="include\openssl\asn1.h" /> - <ClInclude Include="include\openssl\asn1err.h" /> - <ClInclude Include="include\openssl\asn1t.h" /> - <ClInclude Include="include\openssl\asn1_mac.h" /> - <ClInclude Include="include\openssl\async.h" /> - <ClInclude Include="include\openssl\asyncerr.h" /> - <ClInclude Include="include\openssl\bio.h" /> - <ClInclude Include="include\openssl\bioerr.h" /> - <ClInclude Include="include\openssl\blowfish.h" /> - <ClInclude Include="include\openssl\bn.h" /> - <ClInclude Include="include\openssl\bnerr.h" /> - <ClInclude Include="include\openssl\buffer.h" /> - <ClInclude Include="include\openssl\buffererr.h" /> - <ClInclude Include="include\openssl\camellia.h" /> - <ClInclude Include="include\openssl\cast.h" /> - <ClInclude Include="include\openssl\cmac.h" /> - <ClInclude Include="include\openssl\cmp.h" /> - <ClInclude Include="include\openssl\cmperr.h" /> - <ClInclude Include="include\openssl\cmp_util.h" /> - <ClInclude Include="include\openssl\cms.h" /> - <ClInclude Include="include\openssl\cmserr.h" /> - <ClInclude Include="include\openssl\comp.h" /> - <ClInclude Include="include\openssl\comperr.h" /> - <ClInclude Include="include\openssl\conf.h" /> - <ClInclude Include="include\openssl\conferr.h" /> - <ClInclude Include="include\openssl\configuration.h" /> - <ClInclude Include="include\openssl\conftypes.h" /> - <ClInclude Include="include\openssl\conf_api.h" /> - <ClInclude Include="include\openssl\core.h" /> - <ClInclude Include="include\openssl\core_dispatch.h" /> - <ClInclude Include="include\openssl\core_names.h" /> - <ClInclude Include="include\openssl\core_object.h" /> - <ClInclude Include="include\openssl\crmf.h" /> - <ClInclude Include="include\openssl\crmferr.h" /> - <ClInclude Include="include\openssl\crypto.h" /> - <ClInclude Include="include\openssl\cryptoerr.h" /> - <ClInclude Include="include\openssl\cryptoerr_legacy.h" /> - <ClInclude Include="include\openssl\ct.h" /> - <ClInclude Include="include\openssl\cterr.h" /> - <ClInclude Include="include\openssl\decoder.h" /> - <ClInclude Include="include\openssl\decodererr.h" /> - <ClInclude Include="include\openssl\des.h" /> - <ClInclude Include="include\openssl\dh.h" /> - <ClInclude Include="include\openssl\dherr.h" /> - <ClInclude Include="include\openssl\dsa.h" /> - <ClInclude Include="include\openssl\dsaerr.h" /> - <ClInclude Include="include\openssl\dtls1.h" /> - <ClInclude Include="include\openssl\ebcdic.h" /> - <ClInclude Include="include\openssl\ec.h" /> - <ClInclude Include="include\openssl\ecdh.h" /> - <ClInclude Include="include\openssl\ecdsa.h" /> - <ClInclude Include="include\openssl\ecerr.h" /> - <ClInclude Include="include\openssl\encoder.h" /> - <ClInclude Include="include\openssl\encodererr.h" /> - <ClInclude Include="include\openssl\engine.h" /> - <ClInclude Include="include\openssl\engineerr.h" /> - <ClInclude Include="include\openssl\err.h" /> - <ClInclude Include="include\openssl\ess.h" /> - <ClInclude Include="include\openssl\esserr.h" /> - <ClInclude Include="include\openssl\evp.h" /> - <ClInclude Include="include\openssl\evperr.h" /> - <ClInclude Include="include\openssl\e_os2.h" /> - <ClInclude Include="include\openssl\fipskey.h" /> - <ClInclude Include="include\openssl\fips_names.h" /> - <ClInclude Include="include\openssl\hmac.h" /> - <ClInclude Include="include\openssl\http.h" /> - <ClInclude Include="include\openssl\httperr.h" /> - <ClInclude Include="include\openssl\idea.h" /> - <ClInclude Include="include\openssl\kdf.h" /> - <ClInclude Include="include\openssl\kdferr.h" /> - <ClInclude Include="include\openssl\lhash.h" /> - <ClInclude Include="include\openssl\macros.h" /> - <ClInclude Include="include\openssl\md2.h" /> - <ClInclude Include="include\openssl\md4.h" /> - <ClInclude Include="include\openssl\md5.h" /> - <ClInclude Include="include\openssl\mdc2.h" /> - <ClInclude Include="include\openssl\modes.h" /> - <ClInclude Include="include\openssl\objects.h" /> - <ClInclude Include="include\openssl\objectserr.h" /> - <ClInclude Include="include\openssl\obj_mac.h" /> - <ClInclude Include="include\openssl\ocsp.h" /> - <ClInclude Include="include\openssl\ocsperr.h" /> - <ClInclude Include="include\openssl\opensslconf.h" /> - <ClInclude Include="include\openssl\opensslv.h" /> - <ClInclude Include="include\openssl\ossl_typ.h" /> - <ClInclude Include="include\openssl\params.h" /> - <ClInclude Include="include\openssl\param_build.h" /> - <ClInclude Include="include\openssl\pem.h" /> - <ClInclude Include="include\openssl\pem2.h" /> - <ClInclude Include="include\openssl\pemerr.h" /> - <ClInclude Include="include\openssl\pkcs12.h" /> - <ClInclude Include="include\openssl\pkcs12err.h" /> - <ClInclude Include="include\openssl\pkcs7.h" /> - <ClInclude Include="include\openssl\pkcs7err.h" /> - <ClInclude Include="include\openssl\proverr.h" /> - <ClInclude Include="include\openssl\provider.h" /> - <ClInclude Include="include\openssl\prov_ssl.h" /> - <ClInclude Include="include\openssl\rand.h" /> - <ClInclude Include="include\openssl\randerr.h" /> - <ClInclude Include="include\openssl\rc2.h" /> - <ClInclude Include="include\openssl\rc4.h" /> - <ClInclude Include="include\openssl\rc5.h" /> - <ClInclude Include="include\openssl\ripemd.h" /> - <ClInclude Include="include\openssl\rsa.h" /> - <ClInclude Include="include\openssl\rsaerr.h" /> - <ClInclude Include="include\openssl\safestack.h" /> - <ClInclude Include="include\openssl\seed.h" /> - <ClInclude Include="include\openssl\self_test.h" /> - <ClInclude Include="include\openssl\sha.h" /> - <ClInclude Include="include\openssl\srp.h" /> - <ClInclude Include="include\openssl\srtp.h" /> - <ClInclude Include="include\openssl\ssl.h" /> - <ClInclude Include="include\openssl\ssl2.h" /> - <ClInclude Include="include\openssl\ssl3.h" /> - <ClInclude Include="include\openssl\sslerr.h" /> - <ClInclude Include="include\openssl\sslerr_legacy.h" /> - <ClInclude Include="include\openssl\stack.h" /> - <ClInclude Include="include\openssl\store.h" /> - <ClInclude Include="include\openssl\storeerr.h" /> - <ClInclude Include="include\openssl\symhacks.h" /> - <ClInclude Include="include\openssl\tls1.h" /> - <ClInclude Include="include\openssl\trace.h" /> - <ClInclude Include="include\openssl\ts.h" /> - <ClInclude Include="include\openssl\tserr.h" /> - <ClInclude Include="include\openssl\txt_db.h" /> - <ClInclude Include="include\openssl\types.h" /> - <ClInclude Include="include\openssl\ui.h" /> - <ClInclude Include="include\openssl\uierr.h" /> - <ClInclude Include="include\openssl\whrlpool.h" /> - <ClInclude Include="include\openssl\x509.h" /> - <ClInclude Include="include\openssl\x509err.h" /> - <ClInclude Include="include\openssl\x509v3.h" /> - <ClInclude Include="include\openssl\x509v3err.h" /> - <ClInclude Include="include\openssl\x509_vfy.h" /> - <ClInclude Include="include\openssl\__DECC_INCLUDE_EPILOGUE.H" /> - <ClInclude Include="include\openssl\__DECC_INCLUDE_PROLOGUE.H" /> - <ClInclude Include="include\rapidjson\allocators.h" /> - <ClInclude Include="include\rapidjson\document.h" /> - <ClInclude Include="include\rapidjson\encodedstream.h" /> - <ClInclude Include="include\rapidjson\encodings.h" /> - <ClInclude Include="include\rapidjson\error\en.h" /> - <ClInclude Include="include\rapidjson\error\error.h" /> - <ClInclude Include="include\rapidjson\filereadstream.h" /> - <ClInclude Include="include\rapidjson\filewritestream.h" /> - <ClInclude Include="include\rapidjson\fwd.h" /> - <ClInclude Include="include\rapidjson\internal\biginteger.h" /> - <ClInclude Include="include\rapidjson\internal\diyfp.h" /> - <ClInclude Include="include\rapidjson\internal\dtoa.h" /> - <ClInclude Include="include\rapidjson\internal\ieee754.h" /> - <ClInclude Include="include\rapidjson\internal\itoa.h" /> - <ClInclude Include="include\rapidjson\internal\meta.h" /> - <ClInclude Include="include\rapidjson\internal\pow10.h" /> - <ClInclude Include="include\rapidjson\internal\regex.h" /> - <ClInclude Include="include\rapidjson\internal\stack.h" /> - <ClInclude Include="include\rapidjson\internal\strfunc.h" /> - <ClInclude Include="include\rapidjson\internal\strtod.h" /> - <ClInclude Include="include\rapidjson\internal\swap.h" /> - <ClInclude Include="include\rapidjson\istreamwrapper.h" /> - <ClInclude Include="include\rapidjson\memorybuffer.h" /> - <ClInclude Include="include\rapidjson\memorystream.h" /> - <ClInclude Include="include\rapidjson\msinttypes\inttypes.h" /> - <ClInclude Include="include\rapidjson\msinttypes\stdint.h" /> - <ClInclude Include="include\rapidjson\ostreamwrapper.h" /> - <ClInclude Include="include\rapidjson\pointer.h" /> - <ClInclude Include="include\rapidjson\prettywriter.h" /> - <ClInclude Include="include\rapidjson\rapidjson.h" /> - <ClInclude Include="include\rapidjson\reader.h" /> - <ClInclude Include="include\rapidjson\schema.h" /> - <ClInclude Include="include\rapidjson\stream.h" /> - <ClInclude Include="include\rapidjson\stringbuffer.h" /> - <ClInclude Include="include\rapidjson\writer.h" /> - <ClInclude Include="include\spdlog\async.h" /> - <ClInclude Include="include\spdlog\async_logger-inl.h" /> - <ClInclude Include="include\spdlog\async_logger.h" /> - <ClInclude Include="include\spdlog\cfg\argv.h" /> - <ClInclude Include="include\spdlog\cfg\env.h" /> - <ClInclude Include="include\spdlog\cfg\helpers-inl.h" /> - <ClInclude Include="include\spdlog\cfg\helpers.h" /> - <ClInclude Include="include\spdlog\common-inl.h" /> - <ClInclude Include="include\spdlog\common.h" /> - <ClInclude Include="include\spdlog\details\backtracer-inl.h" /> - <ClInclude Include="include\spdlog\details\backtracer.h" /> - <ClInclude Include="include\spdlog\details\circular_q.h" /> - <ClInclude Include="include\spdlog\details\console_globals.h" /> - <ClInclude Include="include\spdlog\details\file_helper-inl.h" /> - <ClInclude Include="include\spdlog\details\file_helper.h" /> - <ClInclude Include="include\spdlog\details\fmt_helper.h" /> - <ClInclude Include="include\spdlog\details\log_msg-inl.h" /> - <ClInclude Include="include\spdlog\details\log_msg.h" /> - <ClInclude Include="include\spdlog\details\log_msg_buffer-inl.h" /> - <ClInclude Include="include\spdlog\details\log_msg_buffer.h" /> - <ClInclude Include="include\spdlog\details\mpmc_blocking_q.h" /> - <ClInclude Include="include\spdlog\details\null_mutex.h" /> - <ClInclude Include="include\spdlog\details\os-inl.h" /> - <ClInclude Include="include\spdlog\details\os.h" /> - <ClInclude Include="include\spdlog\details\periodic_worker-inl.h" /> - <ClInclude Include="include\spdlog\details\periodic_worker.h" /> - <ClInclude Include="include\spdlog\details\registry-inl.h" /> - <ClInclude Include="include\spdlog\details\registry.h" /> - <ClInclude Include="include\spdlog\details\synchronous_factory.h" /> - <ClInclude Include="include\spdlog\details\tcp_client-windows.h" /> - <ClInclude Include="include\spdlog\details\tcp_client.h" /> - <ClInclude Include="include\spdlog\details\thread_pool-inl.h" /> - <ClInclude Include="include\spdlog\details\thread_pool.h" /> - <ClInclude Include="include\spdlog\details\windows_include.h" /> - <ClInclude Include="include\spdlog\fmt\bin_to_hex.h" /> - <ClInclude Include="include\spdlog\fmt\bundled\chrono.h" /> - <ClInclude Include="include\spdlog\fmt\bundled\color.h" /> - <ClInclude Include="include\spdlog\fmt\bundled\compile.h" /> - <ClInclude Include="include\spdlog\fmt\bundled\core.h" /> - <ClInclude Include="include\spdlog\fmt\bundled\format-inl.h" /> - <ClInclude Include="include\spdlog\fmt\bundled\format.h" /> - <ClInclude Include="include\spdlog\fmt\bundled\locale.h" /> - <ClInclude Include="include\spdlog\fmt\bundled\os.h" /> - <ClInclude Include="include\spdlog\fmt\bundled\ostream.h" /> - <ClInclude Include="include\spdlog\fmt\bundled\posix.h" /> - <ClInclude Include="include\spdlog\fmt\bundled\printf.h" /> - <ClInclude Include="include\spdlog\fmt\bundled\ranges.h" /> - <ClInclude Include="include\spdlog\fmt\chrono.h" /> - <ClInclude Include="include\spdlog\fmt\fmt.h" /> - <ClInclude Include="include\spdlog\fmt\ostr.h" /> - <ClInclude Include="include\spdlog\formatter.h" /> - <ClInclude Include="include\spdlog\fwd.h" /> - <ClInclude Include="include\spdlog\logger-inl.h" /> - <ClInclude Include="include\spdlog\logger.h" /> - <ClInclude Include="include\spdlog\pattern_formatter-inl.h" /> - <ClInclude Include="include\spdlog\pattern_formatter.h" /> - <ClInclude Include="include\spdlog\sinks\android_sink.h" /> - <ClInclude Include="include\spdlog\sinks\ansicolor_sink-inl.h" /> - <ClInclude Include="include\spdlog\sinks\ansicolor_sink.h" /> - <ClInclude Include="include\spdlog\sinks\base_sink-inl.h" /> - <ClInclude Include="include\spdlog\sinks\base_sink.h" /> - <ClInclude Include="include\spdlog\sinks\basic_file_sink-inl.h" /> - <ClInclude Include="include\spdlog\sinks\basic_file_sink.h" /> - <ClInclude Include="include\spdlog\sinks\daily_file_sink.h" /> - <ClInclude Include="include\spdlog\sinks\dist_sink.h" /> - <ClInclude Include="include\spdlog\sinks\dup_filter_sink.h" /> - <ClInclude Include="include\spdlog\sinks\hourly_file_sink.h" /> - <ClInclude Include="include\spdlog\sinks\msvc_sink.h" /> - <ClInclude Include="include\spdlog\sinks\null_sink.h" /> - <ClInclude Include="include\spdlog\sinks\ostream_sink.h" /> - <ClInclude Include="include\spdlog\sinks\ringbuffer_sink.h" /> - <ClInclude Include="include\spdlog\sinks\rotating_file_sink-inl.h" /> - <ClInclude Include="include\spdlog\sinks\rotating_file_sink.h" /> - <ClInclude Include="include\spdlog\sinks\sink-inl.h" /> - <ClInclude Include="include\spdlog\sinks\sink.h" /> - <ClInclude Include="include\spdlog\sinks\stdout_color_sinks-inl.h" /> - <ClInclude Include="include\spdlog\sinks\stdout_color_sinks.h" /> - <ClInclude Include="include\spdlog\sinks\stdout_sinks-inl.h" /> - <ClInclude Include="include\spdlog\sinks\stdout_sinks.h" /> - <ClInclude Include="include\spdlog\sinks\syslog_sink.h" /> - <ClInclude Include="include\spdlog\sinks\systemd_sink.h" /> - <ClInclude Include="include\spdlog\sinks\tcp_sink.h" /> - <ClInclude Include="include\spdlog\sinks\wincolor_sink-inl.h" /> - <ClInclude Include="include\spdlog\sinks\wincolor_sink.h" /> - <ClInclude Include="include\spdlog\sinks\win_eventlog_sink.h" /> - <ClInclude Include="include\spdlog\spdlog-inl.h" /> - <ClInclude Include="include\spdlog\spdlog.h" /> - <ClInclude Include="include\spdlog\stopwatch.h" /> - <ClInclude Include="include\spdlog\tweakme.h" /> - <ClInclude Include="include\spdlog\version.h" /> - <ClInclude Include="logging.h" /> - <ClInclude Include="main.h" /> - <ClInclude Include="masterserver.h" /> - <ClInclude Include="memalloc.h" /> - <ClInclude Include="misccommands.h" /> - <ClInclude Include="modmanager.h" /> - <ClInclude Include="pch.h" /> - <ClInclude Include="pdef.h" /> - <ClInclude Include="playlist.h" /> - <ClInclude Include="rpakfilesystem.h" /> - <ClInclude Include="scriptsrson.h" /> - <ClInclude Include="serverauthentication.h" /> - <ClInclude Include="serverpresence.h" /> - <ClInclude Include="sigscanning.h" /> - <ClInclude Include="sourceconsole.h" /> - <ClInclude Include="sourceinterface.h" /> - <ClInclude Include="squirrel.h" /> - <ClInclude Include="exploitfixes_utf8parser.cpp" /> - <ClInclude Include="tier0.h" /> - <ClInclude Include="vector.h" /> - <ClInclude Include="version.h" /> - </ItemGroup> - <ItemGroup> - <ClCompile Include="audio.cpp" /> - <ClCompile Include="bansystem.cpp" /> - <ClCompile Include="bits.cpp" /> - <ClCompile Include="buildainfile.cpp" /> - <ClCompile Include="chatcommand.cpp" /> - <ClCompile Include="clientauthhooks.cpp" /> - <ClCompile Include="clientchathooks.cpp" /> - <ClCompile Include="clientruihooks.cpp" /> - <ClCompile Include="clientvideooverrides.cpp" /> - <ClCompile Include="concommand.cpp" /> - <ClCompile Include="exploitfixes_lzss.cpp" /> - <ClCompile Include="limits.cpp" /> - <ClCompile Include="memory.cpp" /> - <ClCompile Include="nsprefix.cpp" /> - <ClCompile Include="convar.cpp" /> - <ClCompile Include="crashhandler.cpp" /> - <ClCompile Include="cvar.cpp" /> - <ClCompile Include="debugoverlay.cpp" /> - <ClCompile Include="dedicated.cpp" /> - <ClCompile Include="dedicatedmaterialsystem.cpp" /> - <ClCompile Include="demofixes.cpp" /> - <ClCompile Include="dllmain.cpp" /> - <ClCompile Include="filesystem.cpp" /> - <ClCompile Include="hooks.cpp" /> - <ClCompile Include="host.cpp" /> - <ClCompile Include="hoststate.cpp" /> - <ClCompile Include="keyvalues.cpp" /> - <ClCompile Include="latencyflex.cpp" /> - <ClCompile Include="localchatwriter.cpp" /> - <ClCompile Include="printmaps.cpp" /> - <ClCompile Include="maxplayers.cpp" /> - <ClCompile Include="languagehooks.cpp" /> - <ClCompile Include="memalloc.cpp" /> - <ClCompile Include="misccommands.cpp" /> - <ClCompile Include="miscserverfixes.cpp" /> - <ClCompile Include="modlocalisation.cpp" /> - <ClCompile Include="logging.cpp" /> - <ClCompile Include="masterserver.cpp" /> - <ClCompile Include="modmanager.cpp" /> - <ClCompile Include="pch.cpp"> - <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader> - <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader> - </ClCompile> - <ClCompile Include="pdef.cpp" /> - <ClCompile Include="playlist.cpp" /> - <ClCompile Include="plugins.cpp" /> - <ClCompile Include="printcommands.cpp" /> - <ClCompile Include="r2client.cpp" /> - <ClCompile Include="r2engine.cpp" /> - <ClCompile Include="r2server.cpp" /> - <ClCompile Include="rpakfilesystem.cpp" /> - <ClCompile Include="runframe.cpp" /> - <ClCompile Include="scriptbrowserhooks.cpp" /> - <ClCompile Include="scriptjson.cpp" /> - <ClCompile Include="scriptdatatables.cpp" /> - <ClCompile Include="scriptmainmenupromos.cpp" /> - <ClCompile Include="scriptmodmenu.cpp" /> - <ClCompile Include="scriptserverbrowser.cpp" /> - <ClCompile Include="scriptsrson.cpp" /> - <ClCompile Include="scriptutility.cpp" /> - <ClCompile Include="serverauthentication.cpp" /> - <ClCompile Include="miscserverscript.cpp" /> - <ClCompile Include="serverchathooks.cpp" /> - <ClCompile Include="scriptservertoclientstringcommand.cpp" /> - <ClCompile Include="serverpresence.cpp" /> - <ClCompile Include="sigscanning.cpp" /> - <ClCompile Include="sourceconsole.cpp" /> - <ClCompile Include="sourceinterface.cpp" /> - <ClCompile Include="squirrel.cpp" /> - <ClCompile Include="exploitfixes.cpp" /> - <ClCompile Include="tier0.cpp" /> - <ClCompile Include="version.cpp" /> - </ItemGroup> - <ItemGroup> - <None Include="include\crypto\bn_conf.h.in" /> - <None Include="include\crypto\dso_conf.h.in" /> - <None Include="include\openssl\asn1.h.in" /> - <None Include="include\openssl\asn1t.h.in" /> - <None Include="include\openssl\bio.h.in" /> - <None Include="include\openssl\cmp.h.in" /> - <None Include="include\openssl\cms.h.in" /> - <None Include="include\openssl\conf.h.in" /> - <None Include="include\openssl\configuration.h.in" /> - <None Include="include\openssl\crmf.h.in" /> - <None Include="include\openssl\crypto.h.in" /> - <None Include="include\openssl\ct.h.in" /> - <None Include="include\openssl\err.h.in" /> - <None Include="include\openssl\ess.h.in" /> - <None Include="include\openssl\fipskey.h.in" /> - <None Include="include\openssl\lhash.h.in" /> - <None Include="include\openssl\ocsp.h.in" /> - <None Include="include\openssl\opensslv.h.in" /> - <None Include="include\openssl\pkcs12.h.in" /> - <None Include="include\openssl\pkcs7.h.in" /> - <None Include="include\openssl\safestack.h.in" /> - <None Include="include\openssl\srp.h.in" /> - <None Include="include\openssl\ssl.h.in" /> - <None Include="include\openssl\ui.h.in" /> - <None Include="include\openssl\x509.h.in" /> - <None Include="include\openssl\x509v3.h.in" /> - <None Include="include\openssl\x509_vfy.h.in" /> - <None Include="include\spdlog\fmt\bundled\LICENSE.rst" /> - </ItemGroup> - <ItemGroup> - <MASM Include="audio_asm.asm" /> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - <Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" /> - </ImportGroup> +<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <VCProjectVersion>16.0</VCProjectVersion>
+ <Keyword>Win32Proj</Keyword>
+ <ProjectGuid>{cfad2623-064f-453c-8196-79ee10292e32}</ProjectGuid>
+ <RootNamespace>NorthstarDedicatedTest</RootNamespace>
+ <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
+ <ProjectName>NorthstarDLL</ProjectName>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v143</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v143</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ <Import Project="$(VCTargetsPath)\BuildCustomizations\masm.props" />
+ </ImportGroup>
+ <ImportGroup Label="Shared">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ <TargetName>Northstar</TargetName>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ <TargetName>Northstar</TargetName>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>_DEBUG;NORTHSTARDEDICATEDTEST_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions);CURL_STATICLIB</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
+ <LanguageStandard>stdcpp20</LanguageStandard>
+ <AdditionalIncludeDirectories>$(ProjectDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableUAC>false</EnableUAC>
+ <AdditionalDependencies>$(ProjectDir)include\MinHook.x64.lib;$(ProjectDir)include\libcurl\lib\libcurl_a.lib;dbghelp.lib;Wldap32.lib;Normaliz.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <ForceSymbolReferences>
+ </ForceSymbolReferences>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ </Link>
+ <PreBuildEvent>
+ <Command>
+ </Command>
+ </PreBuildEvent>
+ <PostBuildEvent>
+ <Command>copy /Y "$(TargetPath)" "$(SolutionDir)..\..\"</Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ <PreprocessorDefinitions>NDEBUG;NORTHSTARDEDICATEDTEST_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions);CURL_STATICLIB</PreprocessorDefinitions>
+ <ConformanceMode>true</ConformanceMode>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
+ <LanguageStandard>stdcpp20</LanguageStandard>
+ <AdditionalIncludeDirectories>$(ProjectDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableUAC>false</EnableUAC>
+ <AdditionalDependencies>$(ProjectDir)include\MinHook.x64.lib;$(ProjectDir)include\libcurl\lib\libcurl_a.lib;dbghelp.lib;Wldap32.lib;Normaliz.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <ForceSymbolReferences>
+ </ForceSymbolReferences>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ </Link>
+ <PreBuildEvent>
+ <Command>
+ </Command>
+ </PreBuildEvent>
+ <PostBuildEvent>
+ <Command>copy /Y "$(TargetPath)" "$(SolutionDir)..\..\"</Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClInclude Include="audio.h" />
+ <ClInclude Include="bansystem.h" />
+ <ClInclude Include="bitbuf.h" />
+ <ClInclude Include="bits.h" />
+ <ClInclude Include="crashhandler.h" />
+ <ClInclude Include="squirreldatatypes.h" />
+ <ClInclude Include="limits.h" />
+ <ClInclude Include="maxplayers.h" />
+ <ClInclude Include="memory.h" />
+ <ClInclude Include="printcommand.h" />
+ <ClInclude Include="hoststate.h" />
+ <ClInclude Include="localchatwriter.h" />
+ <ClInclude Include="printmaps.h" />
+ <ClInclude Include="ns_version.h" />
+ <ClInclude Include="plugins.h" />
+ <ClInclude Include="plugin_abi.h" />
+ <ClInclude Include="r2client.h" />
+ <ClInclude Include="r2engine.h" />
+ <ClInclude Include="r2server.h" />
+ <ClInclude Include="serverchathooks.h" />
+ <ClInclude Include="color.h" />
+ <ClInclude Include="concommand.h" />
+ <ClInclude Include="nsprefix.h" />
+ <ClInclude Include="convar.h" />
+ <ClInclude Include="cvar.h" />
+ <ClInclude Include="dedicated.h" />
+ <ClInclude Include="filesystem.h" />
+ <ClInclude Include="hooks.h" />
+ <ClInclude Include="include\crypto\aes_platform.h" />
+ <ClInclude Include="include\crypto\aria.h" />
+ <ClInclude Include="include\crypto\asn1.h" />
+ <ClInclude Include="include\crypto\asn1err.h" />
+ <ClInclude Include="include\crypto\asn1_dsa.h" />
+ <ClInclude Include="include\crypto\async.h" />
+ <ClInclude Include="include\crypto\asyncerr.h" />
+ <ClInclude Include="include\crypto\bioerr.h" />
+ <ClInclude Include="include\crypto\bn.h" />
+ <ClInclude Include="include\crypto\bnerr.h" />
+ <ClInclude Include="include\crypto\bn_conf.h" />
+ <ClInclude Include="include\crypto\bn_dh.h" />
+ <ClInclude Include="include\crypto\bn_srp.h" />
+ <ClInclude Include="include\crypto\buffererr.h" />
+ <ClInclude Include="include\crypto\chacha.h" />
+ <ClInclude Include="include\crypto\cmll_platform.h" />
+ <ClInclude Include="include\crypto\cmperr.h" />
+ <ClInclude Include="include\crypto\cmserr.h" />
+ <ClInclude Include="include\crypto\comperr.h" />
+ <ClInclude Include="include\crypto\conferr.h" />
+ <ClInclude Include="include\crypto\crmferr.h" />
+ <ClInclude Include="include\crypto\cryptlib.h" />
+ <ClInclude Include="include\crypto\cryptoerr.h" />
+ <ClInclude Include="include\crypto\cterr.h" />
+ <ClInclude Include="include\crypto\ctype.h" />
+ <ClInclude Include="include\crypto\decoder.h" />
+ <ClInclude Include="include\crypto\decodererr.h" />
+ <ClInclude Include="include\crypto\des_platform.h" />
+ <ClInclude Include="include\crypto\dh.h" />
+ <ClInclude Include="include\crypto\dherr.h" />
+ <ClInclude Include="include\crypto\dsa.h" />
+ <ClInclude Include="include\crypto\dsaerr.h" />
+ <ClInclude Include="include\crypto\dso_conf.h" />
+ <ClInclude Include="include\crypto\ec.h" />
+ <ClInclude Include="include\crypto\ecerr.h" />
+ <ClInclude Include="include\crypto\ecx.h" />
+ <ClInclude Include="include\crypto\encoder.h" />
+ <ClInclude Include="include\crypto\encodererr.h" />
+ <ClInclude Include="include\crypto\engine.h" />
+ <ClInclude Include="include\crypto\engineerr.h" />
+ <ClInclude Include="include\crypto\err.h" />
+ <ClInclude Include="include\crypto\ess.h" />
+ <ClInclude Include="include\crypto\esserr.h" />
+ <ClInclude Include="include\crypto\evp.h" />
+ <ClInclude Include="include\crypto\evperr.h" />
+ <ClInclude Include="include\crypto\httperr.h" />
+ <ClInclude Include="include\crypto\lhash.h" />
+ <ClInclude Include="include\crypto\md32_common.h" />
+ <ClInclude Include="include\crypto\modes.h" />
+ <ClInclude Include="include\crypto\objects.h" />
+ <ClInclude Include="include\crypto\objectserr.h" />
+ <ClInclude Include="include\crypto\ocsperr.h" />
+ <ClInclude Include="include\crypto\pem.h" />
+ <ClInclude Include="include\crypto\pemerr.h" />
+ <ClInclude Include="include\crypto\pkcs12err.h" />
+ <ClInclude Include="include\crypto\pkcs7.h" />
+ <ClInclude Include="include\crypto\pkcs7err.h" />
+ <ClInclude Include="include\crypto\poly1305.h" />
+ <ClInclude Include="include\crypto\ppc_arch.h" />
+ <ClInclude Include="include\crypto\punycode.h" />
+ <ClInclude Include="include\crypto\rand.h" />
+ <ClInclude Include="include\crypto\randerr.h" />
+ <ClInclude Include="include\crypto\rand_pool.h" />
+ <ClInclude Include="include\crypto\rsa.h" />
+ <ClInclude Include="include\crypto\rsaerr.h" />
+ <ClInclude Include="include\crypto\security_bits.h" />
+ <ClInclude Include="include\crypto\sha.h" />
+ <ClInclude Include="include\crypto\siphash.h" />
+ <ClInclude Include="include\crypto\siv.h" />
+ <ClInclude Include="include\crypto\sm2.h" />
+ <ClInclude Include="include\crypto\sm2err.h" />
+ <ClInclude Include="include\crypto\sm4.h" />
+ <ClInclude Include="include\crypto\sparc_arch.h" />
+ <ClInclude Include="include\crypto\sparse_array.h" />
+ <ClInclude Include="include\crypto\store.h" />
+ <ClInclude Include="include\crypto\storeerr.h" />
+ <ClInclude Include="include\crypto\tserr.h" />
+ <ClInclude Include="include\crypto\types.h" />
+ <ClInclude Include="include\crypto\uierr.h" />
+ <ClInclude Include="include\crypto\x509.h" />
+ <ClInclude Include="include\crypto\x509err.h" />
+ <ClInclude Include="include\crypto\x509v3err.h" />
+ <ClInclude Include="include\crypto\__DECC_INCLUDE_EPILOGUE.H" />
+ <ClInclude Include="include\crypto\__DECC_INCLUDE_PROLOGUE.H" />
+ <ClInclude Include="include\httplib.h" />
+ <ClInclude Include="include\internal\asn1.h" />
+ <ClInclude Include="include\internal\bio.h" />
+ <ClInclude Include="include\internal\comp.h" />
+ <ClInclude Include="include\internal\conf.h" />
+ <ClInclude Include="include\internal\constant_time.h" />
+ <ClInclude Include="include\internal\core.h" />
+ <ClInclude Include="include\internal\cryptlib.h" />
+ <ClInclude Include="include\internal\dane.h" />
+ <ClInclude Include="include\internal\deprecated.h" />
+ <ClInclude Include="include\internal\der.h" />
+ <ClInclude Include="include\internal\dso.h" />
+ <ClInclude Include="include\internal\dsoerr.h" />
+ <ClInclude Include="include\internal\endian.h" />
+ <ClInclude Include="include\internal\err.h" />
+ <ClInclude Include="include\internal\ffc.h" />
+ <ClInclude Include="include\internal\ktls.h" />
+ <ClInclude Include="include\internal\namemap.h" />
+ <ClInclude Include="include\internal\nelem.h" />
+ <ClInclude Include="include\internal\numbers.h" />
+ <ClInclude Include="include\internal\o_dir.h" />
+ <ClInclude Include="include\internal\packet.h" />
+ <ClInclude Include="include\internal\param_build_set.h" />
+ <ClInclude Include="include\internal\passphrase.h" />
+ <ClInclude Include="include\internal\property.h" />
+ <ClInclude Include="include\internal\propertyerr.h" />
+ <ClInclude Include="include\internal\provider.h" />
+ <ClInclude Include="include\internal\refcount.h" />
+ <ClInclude Include="include\internal\sha3.h" />
+ <ClInclude Include="include\internal\sizes.h" />
+ <ClInclude Include="include\internal\sm3.h" />
+ <ClInclude Include="include\internal\sockets.h" />
+ <ClInclude Include="include\internal\sslconf.h" />
+ <ClInclude Include="include\internal\symhacks.h" />
+ <ClInclude Include="include\internal\thread_once.h" />
+ <ClInclude Include="include\internal\tlsgroups.h" />
+ <ClInclude Include="include\internal\tsan_assist.h" />
+ <ClInclude Include="include\internal\unicode.h" />
+ <ClInclude Include="include\internal\__DECC_INCLUDE_EPILOGUE.H" />
+ <ClInclude Include="include\internal\__DECC_INCLUDE_PROLOGUE.H" />
+ <ClInclude Include="include\libcurl\include\curl\curl.h" />
+ <ClInclude Include="include\libcurl\include\curl\curlver.h" />
+ <ClInclude Include="include\libcurl\include\curl\easy.h" />
+ <ClInclude Include="include\libcurl\include\curl\mprintf.h" />
+ <ClInclude Include="include\libcurl\include\curl\multi.h" />
+ <ClInclude Include="include\libcurl\include\curl\options.h" />
+ <ClInclude Include="include\libcurl\include\curl\stdcheaders.h" />
+ <ClInclude Include="include\libcurl\include\curl\system.h" />
+ <ClInclude Include="include\libcurl\include\curl\typecheck-gcc.h" />
+ <ClInclude Include="include\libcurl\include\curl\urlapi.h" />
+ <ClInclude Include="include\MinHook.h" />
+ <ClInclude Include="include\openssl\aes.h" />
+ <ClInclude Include="include\openssl\asn1.h" />
+ <ClInclude Include="include\openssl\asn1err.h" />
+ <ClInclude Include="include\openssl\asn1t.h" />
+ <ClInclude Include="include\openssl\asn1_mac.h" />
+ <ClInclude Include="include\openssl\async.h" />
+ <ClInclude Include="include\openssl\asyncerr.h" />
+ <ClInclude Include="include\openssl\bio.h" />
+ <ClInclude Include="include\openssl\bioerr.h" />
+ <ClInclude Include="include\openssl\blowfish.h" />
+ <ClInclude Include="include\openssl\bn.h" />
+ <ClInclude Include="include\openssl\bnerr.h" />
+ <ClInclude Include="include\openssl\buffer.h" />
+ <ClInclude Include="include\openssl\buffererr.h" />
+ <ClInclude Include="include\openssl\camellia.h" />
+ <ClInclude Include="include\openssl\cast.h" />
+ <ClInclude Include="include\openssl\cmac.h" />
+ <ClInclude Include="include\openssl\cmp.h" />
+ <ClInclude Include="include\openssl\cmperr.h" />
+ <ClInclude Include="include\openssl\cmp_util.h" />
+ <ClInclude Include="include\openssl\cms.h" />
+ <ClInclude Include="include\openssl\cmserr.h" />
+ <ClInclude Include="include\openssl\comp.h" />
+ <ClInclude Include="include\openssl\comperr.h" />
+ <ClInclude Include="include\openssl\conf.h" />
+ <ClInclude Include="include\openssl\conferr.h" />
+ <ClInclude Include="include\openssl\configuration.h" />
+ <ClInclude Include="include\openssl\conftypes.h" />
+ <ClInclude Include="include\openssl\conf_api.h" />
+ <ClInclude Include="include\openssl\core.h" />
+ <ClInclude Include="include\openssl\core_dispatch.h" />
+ <ClInclude Include="include\openssl\core_names.h" />
+ <ClInclude Include="include\openssl\core_object.h" />
+ <ClInclude Include="include\openssl\crmf.h" />
+ <ClInclude Include="include\openssl\crmferr.h" />
+ <ClInclude Include="include\openssl\crypto.h" />
+ <ClInclude Include="include\openssl\cryptoerr.h" />
+ <ClInclude Include="include\openssl\cryptoerr_legacy.h" />
+ <ClInclude Include="include\openssl\ct.h" />
+ <ClInclude Include="include\openssl\cterr.h" />
+ <ClInclude Include="include\openssl\decoder.h" />
+ <ClInclude Include="include\openssl\decodererr.h" />
+ <ClInclude Include="include\openssl\des.h" />
+ <ClInclude Include="include\openssl\dh.h" />
+ <ClInclude Include="include\openssl\dherr.h" />
+ <ClInclude Include="include\openssl\dsa.h" />
+ <ClInclude Include="include\openssl\dsaerr.h" />
+ <ClInclude Include="include\openssl\dtls1.h" />
+ <ClInclude Include="include\openssl\ebcdic.h" />
+ <ClInclude Include="include\openssl\ec.h" />
+ <ClInclude Include="include\openssl\ecdh.h" />
+ <ClInclude Include="include\openssl\ecdsa.h" />
+ <ClInclude Include="include\openssl\ecerr.h" />
+ <ClInclude Include="include\openssl\encoder.h" />
+ <ClInclude Include="include\openssl\encodererr.h" />
+ <ClInclude Include="include\openssl\engine.h" />
+ <ClInclude Include="include\openssl\engineerr.h" />
+ <ClInclude Include="include\openssl\err.h" />
+ <ClInclude Include="include\openssl\ess.h" />
+ <ClInclude Include="include\openssl\esserr.h" />
+ <ClInclude Include="include\openssl\evp.h" />
+ <ClInclude Include="include\openssl\evperr.h" />
+ <ClInclude Include="include\openssl\e_os2.h" />
+ <ClInclude Include="include\openssl\fipskey.h" />
+ <ClInclude Include="include\openssl\fips_names.h" />
+ <ClInclude Include="include\openssl\hmac.h" />
+ <ClInclude Include="include\openssl\http.h" />
+ <ClInclude Include="include\openssl\httperr.h" />
+ <ClInclude Include="include\openssl\idea.h" />
+ <ClInclude Include="include\openssl\kdf.h" />
+ <ClInclude Include="include\openssl\kdferr.h" />
+ <ClInclude Include="include\openssl\lhash.h" />
+ <ClInclude Include="include\openssl\macros.h" />
+ <ClInclude Include="include\openssl\md2.h" />
+ <ClInclude Include="include\openssl\md4.h" />
+ <ClInclude Include="include\openssl\md5.h" />
+ <ClInclude Include="include\openssl\mdc2.h" />
+ <ClInclude Include="include\openssl\modes.h" />
+ <ClInclude Include="include\openssl\objects.h" />
+ <ClInclude Include="include\openssl\objectserr.h" />
+ <ClInclude Include="include\openssl\obj_mac.h" />
+ <ClInclude Include="include\openssl\ocsp.h" />
+ <ClInclude Include="include\openssl\ocsperr.h" />
+ <ClInclude Include="include\openssl\opensslconf.h" />
+ <ClInclude Include="include\openssl\opensslv.h" />
+ <ClInclude Include="include\openssl\ossl_typ.h" />
+ <ClInclude Include="include\openssl\params.h" />
+ <ClInclude Include="include\openssl\param_build.h" />
+ <ClInclude Include="include\openssl\pem.h" />
+ <ClInclude Include="include\openssl\pem2.h" />
+ <ClInclude Include="include\openssl\pemerr.h" />
+ <ClInclude Include="include\openssl\pkcs12.h" />
+ <ClInclude Include="include\openssl\pkcs12err.h" />
+ <ClInclude Include="include\openssl\pkcs7.h" />
+ <ClInclude Include="include\openssl\pkcs7err.h" />
+ <ClInclude Include="include\openssl\proverr.h" />
+ <ClInclude Include="include\openssl\provider.h" />
+ <ClInclude Include="include\openssl\prov_ssl.h" />
+ <ClInclude Include="include\openssl\rand.h" />
+ <ClInclude Include="include\openssl\randerr.h" />
+ <ClInclude Include="include\openssl\rc2.h" />
+ <ClInclude Include="include\openssl\rc4.h" />
+ <ClInclude Include="include\openssl\rc5.h" />
+ <ClInclude Include="include\openssl\ripemd.h" />
+ <ClInclude Include="include\openssl\rsa.h" />
+ <ClInclude Include="include\openssl\rsaerr.h" />
+ <ClInclude Include="include\openssl\safestack.h" />
+ <ClInclude Include="include\openssl\seed.h" />
+ <ClInclude Include="include\openssl\self_test.h" />
+ <ClInclude Include="include\openssl\sha.h" />
+ <ClInclude Include="include\openssl\srp.h" />
+ <ClInclude Include="include\openssl\srtp.h" />
+ <ClInclude Include="include\openssl\ssl.h" />
+ <ClInclude Include="include\openssl\ssl2.h" />
+ <ClInclude Include="include\openssl\ssl3.h" />
+ <ClInclude Include="include\openssl\sslerr.h" />
+ <ClInclude Include="include\openssl\sslerr_legacy.h" />
+ <ClInclude Include="include\openssl\stack.h" />
+ <ClInclude Include="include\openssl\store.h" />
+ <ClInclude Include="include\openssl\storeerr.h" />
+ <ClInclude Include="include\openssl\symhacks.h" />
+ <ClInclude Include="include\openssl\tls1.h" />
+ <ClInclude Include="include\openssl\trace.h" />
+ <ClInclude Include="include\openssl\ts.h" />
+ <ClInclude Include="include\openssl\tserr.h" />
+ <ClInclude Include="include\openssl\txt_db.h" />
+ <ClInclude Include="include\openssl\types.h" />
+ <ClInclude Include="include\openssl\ui.h" />
+ <ClInclude Include="include\openssl\uierr.h" />
+ <ClInclude Include="include\openssl\whrlpool.h" />
+ <ClInclude Include="include\openssl\x509.h" />
+ <ClInclude Include="include\openssl\x509err.h" />
+ <ClInclude Include="include\openssl\x509v3.h" />
+ <ClInclude Include="include\openssl\x509v3err.h" />
+ <ClInclude Include="include\openssl\x509_vfy.h" />
+ <ClInclude Include="include\openssl\__DECC_INCLUDE_EPILOGUE.H" />
+ <ClInclude Include="include\openssl\__DECC_INCLUDE_PROLOGUE.H" />
+ <ClInclude Include="include\rapidjson\allocators.h" />
+ <ClInclude Include="include\rapidjson\document.h" />
+ <ClInclude Include="include\rapidjson\encodedstream.h" />
+ <ClInclude Include="include\rapidjson\encodings.h" />
+ <ClInclude Include="include\rapidjson\error\en.h" />
+ <ClInclude Include="include\rapidjson\error\error.h" />
+ <ClInclude Include="include\rapidjson\filereadstream.h" />
+ <ClInclude Include="include\rapidjson\filewritestream.h" />
+ <ClInclude Include="include\rapidjson\fwd.h" />
+ <ClInclude Include="include\rapidjson\internal\biginteger.h" />
+ <ClInclude Include="include\rapidjson\internal\diyfp.h" />
+ <ClInclude Include="include\rapidjson\internal\dtoa.h" />
+ <ClInclude Include="include\rapidjson\internal\ieee754.h" />
+ <ClInclude Include="include\rapidjson\internal\itoa.h" />
+ <ClInclude Include="include\rapidjson\internal\meta.h" />
+ <ClInclude Include="include\rapidjson\internal\pow10.h" />
+ <ClInclude Include="include\rapidjson\internal\regex.h" />
+ <ClInclude Include="include\rapidjson\internal\stack.h" />
+ <ClInclude Include="include\rapidjson\internal\strfunc.h" />
+ <ClInclude Include="include\rapidjson\internal\strtod.h" />
+ <ClInclude Include="include\rapidjson\internal\swap.h" />
+ <ClInclude Include="include\rapidjson\istreamwrapper.h" />
+ <ClInclude Include="include\rapidjson\memorybuffer.h" />
+ <ClInclude Include="include\rapidjson\memorystream.h" />
+ <ClInclude Include="include\rapidjson\msinttypes\inttypes.h" />
+ <ClInclude Include="include\rapidjson\msinttypes\stdint.h" />
+ <ClInclude Include="include\rapidjson\ostreamwrapper.h" />
+ <ClInclude Include="include\rapidjson\pointer.h" />
+ <ClInclude Include="include\rapidjson\prettywriter.h" />
+ <ClInclude Include="include\rapidjson\rapidjson.h" />
+ <ClInclude Include="include\rapidjson\reader.h" />
+ <ClInclude Include="include\rapidjson\schema.h" />
+ <ClInclude Include="include\rapidjson\stream.h" />
+ <ClInclude Include="include\rapidjson\stringbuffer.h" />
+ <ClInclude Include="include\rapidjson\writer.h" />
+ <ClInclude Include="include\spdlog\async.h" />
+ <ClInclude Include="include\spdlog\async_logger-inl.h" />
+ <ClInclude Include="include\spdlog\async_logger.h" />
+ <ClInclude Include="include\spdlog\cfg\argv.h" />
+ <ClInclude Include="include\spdlog\cfg\env.h" />
+ <ClInclude Include="include\spdlog\cfg\helpers-inl.h" />
+ <ClInclude Include="include\spdlog\cfg\helpers.h" />
+ <ClInclude Include="include\spdlog\common-inl.h" />
+ <ClInclude Include="include\spdlog\common.h" />
+ <ClInclude Include="include\spdlog\details\backtracer-inl.h" />
+ <ClInclude Include="include\spdlog\details\backtracer.h" />
+ <ClInclude Include="include\spdlog\details\circular_q.h" />
+ <ClInclude Include="include\spdlog\details\console_globals.h" />
+ <ClInclude Include="include\spdlog\details\file_helper-inl.h" />
+ <ClInclude Include="include\spdlog\details\file_helper.h" />
+ <ClInclude Include="include\spdlog\details\fmt_helper.h" />
+ <ClInclude Include="include\spdlog\details\log_msg-inl.h" />
+ <ClInclude Include="include\spdlog\details\log_msg.h" />
+ <ClInclude Include="include\spdlog\details\log_msg_buffer-inl.h" />
+ <ClInclude Include="include\spdlog\details\log_msg_buffer.h" />
+ <ClInclude Include="include\spdlog\details\mpmc_blocking_q.h" />
+ <ClInclude Include="include\spdlog\details\null_mutex.h" />
+ <ClInclude Include="include\spdlog\details\os-inl.h" />
+ <ClInclude Include="include\spdlog\details\os.h" />
+ <ClInclude Include="include\spdlog\details\periodic_worker-inl.h" />
+ <ClInclude Include="include\spdlog\details\periodic_worker.h" />
+ <ClInclude Include="include\spdlog\details\registry-inl.h" />
+ <ClInclude Include="include\spdlog\details\registry.h" />
+ <ClInclude Include="include\spdlog\details\synchronous_factory.h" />
+ <ClInclude Include="include\spdlog\details\tcp_client-windows.h" />
+ <ClInclude Include="include\spdlog\details\tcp_client.h" />
+ <ClInclude Include="include\spdlog\details\thread_pool-inl.h" />
+ <ClInclude Include="include\spdlog\details\thread_pool.h" />
+ <ClInclude Include="include\spdlog\details\windows_include.h" />
+ <ClInclude Include="include\spdlog\fmt\bin_to_hex.h" />
+ <ClInclude Include="include\spdlog\fmt\bundled\chrono.h" />
+ <ClInclude Include="include\spdlog\fmt\bundled\color.h" />
+ <ClInclude Include="include\spdlog\fmt\bundled\compile.h" />
+ <ClInclude Include="include\spdlog\fmt\bundled\core.h" />
+ <ClInclude Include="include\spdlog\fmt\bundled\format-inl.h" />
+ <ClInclude Include="include\spdlog\fmt\bundled\format.h" />
+ <ClInclude Include="include\spdlog\fmt\bundled\locale.h" />
+ <ClInclude Include="include\spdlog\fmt\bundled\os.h" />
+ <ClInclude Include="include\spdlog\fmt\bundled\ostream.h" />
+ <ClInclude Include="include\spdlog\fmt\bundled\posix.h" />
+ <ClInclude Include="include\spdlog\fmt\bundled\printf.h" />
+ <ClInclude Include="include\spdlog\fmt\bundled\ranges.h" />
+ <ClInclude Include="include\spdlog\fmt\chrono.h" />
+ <ClInclude Include="include\spdlog\fmt\fmt.h" />
+ <ClInclude Include="include\spdlog\fmt\ostr.h" />
+ <ClInclude Include="include\spdlog\formatter.h" />
+ <ClInclude Include="include\spdlog\fwd.h" />
+ <ClInclude Include="include\spdlog\logger-inl.h" />
+ <ClInclude Include="include\spdlog\logger.h" />
+ <ClInclude Include="include\spdlog\pattern_formatter-inl.h" />
+ <ClInclude Include="include\spdlog\pattern_formatter.h" />
+ <ClInclude Include="include\spdlog\sinks\android_sink.h" />
+ <ClInclude Include="include\spdlog\sinks\ansicolor_sink-inl.h" />
+ <ClInclude Include="include\spdlog\sinks\ansicolor_sink.h" />
+ <ClInclude Include="include\spdlog\sinks\base_sink-inl.h" />
+ <ClInclude Include="include\spdlog\sinks\base_sink.h" />
+ <ClInclude Include="include\spdlog\sinks\basic_file_sink-inl.h" />
+ <ClInclude Include="include\spdlog\sinks\basic_file_sink.h" />
+ <ClInclude Include="include\spdlog\sinks\daily_file_sink.h" />
+ <ClInclude Include="include\spdlog\sinks\dist_sink.h" />
+ <ClInclude Include="include\spdlog\sinks\dup_filter_sink.h" />
+ <ClInclude Include="include\spdlog\sinks\hourly_file_sink.h" />
+ <ClInclude Include="include\spdlog\sinks\msvc_sink.h" />
+ <ClInclude Include="include\spdlog\sinks\null_sink.h" />
+ <ClInclude Include="include\spdlog\sinks\ostream_sink.h" />
+ <ClInclude Include="include\spdlog\sinks\ringbuffer_sink.h" />
+ <ClInclude Include="include\spdlog\sinks\rotating_file_sink-inl.h" />
+ <ClInclude Include="include\spdlog\sinks\rotating_file_sink.h" />
+ <ClInclude Include="include\spdlog\sinks\sink-inl.h" />
+ <ClInclude Include="include\spdlog\sinks\sink.h" />
+ <ClInclude Include="include\spdlog\sinks\stdout_color_sinks-inl.h" />
+ <ClInclude Include="include\spdlog\sinks\stdout_color_sinks.h" />
+ <ClInclude Include="include\spdlog\sinks\stdout_sinks-inl.h" />
+ <ClInclude Include="include\spdlog\sinks\stdout_sinks.h" />
+ <ClInclude Include="include\spdlog\sinks\syslog_sink.h" />
+ <ClInclude Include="include\spdlog\sinks\systemd_sink.h" />
+ <ClInclude Include="include\spdlog\sinks\tcp_sink.h" />
+ <ClInclude Include="include\spdlog\sinks\wincolor_sink-inl.h" />
+ <ClInclude Include="include\spdlog\sinks\wincolor_sink.h" />
+ <ClInclude Include="include\spdlog\sinks\win_eventlog_sink.h" />
+ <ClInclude Include="include\spdlog\spdlog-inl.h" />
+ <ClInclude Include="include\spdlog\spdlog.h" />
+ <ClInclude Include="include\spdlog\stopwatch.h" />
+ <ClInclude Include="include\spdlog\tweakme.h" />
+ <ClInclude Include="include\spdlog\version.h" />
+ <ClInclude Include="logging.h" />
+ <ClInclude Include="main.h" />
+ <ClInclude Include="masterserver.h" />
+ <ClInclude Include="memalloc.h" />
+ <ClInclude Include="misccommands.h" />
+ <ClInclude Include="modmanager.h" />
+ <ClInclude Include="pch.h" />
+ <ClInclude Include="pdef.h" />
+ <ClInclude Include="playlist.h" />
+ <ClInclude Include="rpakfilesystem.h" />
+ <ClInclude Include="scriptsrson.h" />
+ <ClInclude Include="serverauthentication.h" />
+ <ClInclude Include="serverpresence.h" />
+ <ClInclude Include="sigscanning.h" />
+ <ClInclude Include="sourceconsole.h" />
+ <ClInclude Include="sourceinterface.h" />
+ <ClInclude Include="squirrel.h" />
+ <ClInclude Include="exploitfixes_utf8parser.cpp" />
+ <ClInclude Include="tier0.h" />
+ <ClInclude Include="vector.h" />
+ <ClInclude Include="version.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="audio.cpp" />
+ <ClCompile Include="bansystem.cpp" />
+ <ClCompile Include="bits.cpp" />
+ <ClCompile Include="buildainfile.cpp" />
+ <ClCompile Include="chatcommand.cpp" />
+ <ClCompile Include="clientauthhooks.cpp" />
+ <ClCompile Include="clientchathooks.cpp" />
+ <ClCompile Include="clientruihooks.cpp" />
+ <ClCompile Include="clientvideooverrides.cpp" />
+ <ClCompile Include="concommand.cpp" />
+ <ClCompile Include="exploitfixes_lzss.cpp" />
+ <ClCompile Include="limits.cpp" />
+ <ClCompile Include="memory.cpp" />
+ <ClCompile Include="nsprefix.cpp" />
+ <ClCompile Include="convar.cpp" />
+ <ClCompile Include="crashhandler.cpp" />
+ <ClCompile Include="cvar.cpp" />
+ <ClCompile Include="debugoverlay.cpp" />
+ <ClCompile Include="dedicated.cpp" />
+ <ClCompile Include="dedicatedmaterialsystem.cpp" />
+ <ClCompile Include="demofixes.cpp" />
+ <ClCompile Include="dllmain.cpp" />
+ <ClCompile Include="filesystem.cpp" />
+ <ClCompile Include="hooks.cpp" />
+ <ClCompile Include="host.cpp" />
+ <ClCompile Include="hoststate.cpp" />
+ <ClCompile Include="keyvalues.cpp" />
+ <ClCompile Include="latencyflex.cpp" />
+ <ClCompile Include="localchatwriter.cpp" />
+ <ClCompile Include="printmaps.cpp" />
+ <ClCompile Include="maxplayers.cpp" />
+ <ClCompile Include="languagehooks.cpp" />
+ <ClCompile Include="memalloc.cpp" />
+ <ClCompile Include="misccommands.cpp" />
+ <ClCompile Include="miscserverfixes.cpp" />
+ <ClCompile Include="modlocalisation.cpp" />
+ <ClCompile Include="logging.cpp" />
+ <ClCompile Include="masterserver.cpp" />
+ <ClCompile Include="modmanager.cpp" />
+ <ClCompile Include="pch.cpp">
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
+ </ClCompile>
+ <ClCompile Include="pdef.cpp" />
+ <ClCompile Include="playlist.cpp" />
+ <ClCompile Include="plugins.cpp" />
+ <ClCompile Include="printcommands.cpp" />
+ <ClCompile Include="r2client.cpp" />
+ <ClCompile Include="r2engine.cpp" />
+ <ClCompile Include="r2server.cpp" />
+ <ClCompile Include="rpakfilesystem.cpp" />
+ <ClCompile Include="runframe.cpp" />
+ <ClCompile Include="scriptbrowserhooks.cpp" />
+ <ClCompile Include="scriptjson.cpp" />
+ <ClCompile Include="scriptdatatables.cpp" />
+ <ClCompile Include="scriptmainmenupromos.cpp" />
+ <ClCompile Include="scriptmodmenu.cpp" />
+ <ClCompile Include="scriptserverbrowser.cpp" />
+ <ClCompile Include="scriptsrson.cpp" />
+ <ClCompile Include="scriptutility.cpp" />
+ <ClCompile Include="serverauthentication.cpp" />
+ <ClCompile Include="miscserverscript.cpp" />
+ <ClCompile Include="serverchathooks.cpp" />
+ <ClCompile Include="scriptservertoclientstringcommand.cpp" />
+ <ClCompile Include="serverpresence.cpp" />
+ <ClCompile Include="sourceconsole.cpp" />
+ <ClCompile Include="sourceinterface.cpp" />
+ <ClCompile Include="squirrel.cpp" />
+ <ClCompile Include="exploitfixes.cpp" />
+ <ClCompile Include="tier0.cpp" />
+ <ClCompile Include="version.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="include\crypto\bn_conf.h.in" />
+ <None Include="include\crypto\dso_conf.h.in" />
+ <None Include="include\openssl\asn1.h.in" />
+ <None Include="include\openssl\asn1t.h.in" />
+ <None Include="include\openssl\bio.h.in" />
+ <None Include="include\openssl\cmp.h.in" />
+ <None Include="include\openssl\cms.h.in" />
+ <None Include="include\openssl\conf.h.in" />
+ <None Include="include\openssl\configuration.h.in" />
+ <None Include="include\openssl\crmf.h.in" />
+ <None Include="include\openssl\crypto.h.in" />
+ <None Include="include\openssl\ct.h.in" />
+ <None Include="include\openssl\err.h.in" />
+ <None Include="include\openssl\ess.h.in" />
+ <None Include="include\openssl\fipskey.h.in" />
+ <None Include="include\openssl\lhash.h.in" />
+ <None Include="include\openssl\ocsp.h.in" />
+ <None Include="include\openssl\opensslv.h.in" />
+ <None Include="include\openssl\pkcs12.h.in" />
+ <None Include="include\openssl\pkcs7.h.in" />
+ <None Include="include\openssl\safestack.h.in" />
+ <None Include="include\openssl\srp.h.in" />
+ <None Include="include\openssl\ssl.h.in" />
+ <None Include="include\openssl\ui.h.in" />
+ <None Include="include\openssl\x509.h.in" />
+ <None Include="include\openssl\x509v3.h.in" />
+ <None Include="include\openssl\x509_vfy.h.in" />
+ <None Include="include\spdlog\fmt\bundled\LICENSE.rst" />
+ </ItemGroup>
+ <ItemGroup>
+ <MASM Include="audio_asm.asm" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ <Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
+ </ImportGroup>
</Project>
\ No newline at end of file diff --git a/NorthstarDLL/NorthstarDLL.vcxproj.filters b/NorthstarDLL/NorthstarDLL.vcxproj.filters index 293543f7..66fe25ca 100644 --- a/NorthstarDLL/NorthstarDLL.vcxproj.filters +++ b/NorthstarDLL/NorthstarDLL.vcxproj.filters @@ -1652,9 +1652,6 @@ <ClCompile Include="hooks.cpp">
<Filter>Source Files\Hooks</Filter>
</ClCompile>
- <ClCompile Include="sigscanning.cpp">
- <Filter>Source Files\Hooks</Filter>
- </ClCompile>
<ClCompile Include="bits.cpp">
<Filter>Source Files\Math</Filter>
</ClCompile>
diff --git a/NorthstarDLL/dedicatedmaterialsystem.cpp b/NorthstarDLL/dedicatedmaterialsystem.cpp index 18bf6a57..5dfa19ec 100644 --- a/NorthstarDLL/dedicatedmaterialsystem.cpp +++ b/NorthstarDLL/dedicatedmaterialsystem.cpp @@ -1,4 +1,3 @@ -#pragma once #include "pch.h" #include "dedicated.h" #include "tier0.h" diff --git a/NorthstarDLL/exploitfixes.cpp b/NorthstarDLL/exploitfixes.cpp index dbe065cc..419fc448 100644 --- a/NorthstarDLL/exploitfixes.cpp +++ b/NorthstarDLL/exploitfixes.cpp @@ -5,6 +5,7 @@ #include "tier0.h" #include "r2engine.h" #include "r2client.h" +#include "vector.h" AUTOHOOK_INIT() @@ -26,23 +27,6 @@ ConVar* Cvar_sv_cheats; return false; \ }()) -// Make sure 3 or less floats are valid -bool ValidateFloats(float a, float b = 0, float c = 0) -{ - return !isnan(a) && !isnan(b) && !isnan(c); -} - -struct Float3 -{ - float vals[3]; - - void MakeValid() - { - for (auto& val : vals) - if (isnan(val)) - val = 0; - } -}; // block bad netmessages // Servers can literally request a screenshot from any client, yeah no AUTOHOOK(CLC_Screenshot_WriteToBuffer, engine.dll + 0x22AF20, @@ -209,11 +193,11 @@ void, __fastcall, (void* buf, void* pCmd_move, void* pCmd_from)) // 4C 89 44 24 DWORD command_number; DWORD tick_count; float command_time; - Float3 worldViewAngles; + Vector3 worldViewAngles; BYTE gap18[4]; - Float3 localViewAngles; - Float3 attackangles; - Float3 move; + Vector3 localViewAngles; + Vector3 attackangles; + Vector3 move; DWORD buttons; BYTE impulse; short weaponselect; @@ -221,8 +205,8 @@ void, __fastcall, (void* buf, void* pCmd_move, void* pCmd_from)) // 4C 89 44 24 BYTE gap4C[24]; char headoffset; BYTE gap65[11]; - Float3 cameraPos; - Float3 cameraAngles; + Vector3 cameraPos; + Vector3 cameraAngles; BYTE gap88[4]; int tickSomething; DWORD dword90; diff --git a/NorthstarDLL/hoststate.cpp b/NorthstarDLL/hoststate.cpp index 6008a0f2..875d671d 100644 --- a/NorthstarDLL/hoststate.cpp +++ b/NorthstarDLL/hoststate.cpp @@ -72,7 +72,7 @@ void,, (CHostState* self)) g_pServerPresence->SetMap(g_pHostState->m_levelName); } -AUTOHOOK(CHostState__State_GameShutdown, engine.dll + 0x16E520, +AUTOHOOK(CHostState__State_GameShutdown, engine.dll + 0x16E640, void,, (CHostState* self)) { spdlog::info("HostState: GameShutdown"); diff --git a/NorthstarDLL/logging.cpp b/NorthstarDLL/logging.cpp index e82c2131..5bd5ae40 100644 --- a/NorthstarDLL/logging.cpp +++ b/NorthstarDLL/logging.cpp @@ -4,6 +4,7 @@ #include "concommand.h" #include "nsprefix.h" #include "bitbuf.h" +#include "tier0.h" #include "spdlog/sinks/basic_file_sink.h" #include <iomanip> @@ -225,11 +226,12 @@ void InitialiseLogging() AllocConsole(); // Bind stdout to receive console output. - FILE* fp; - freopen_s(&fp, "CONOUT$", "w", stdout); - //_dup2(_fileno(stdout), _fileno(stderr)); - - spdlog::default_logger()->set_pattern("[%H:%M:%S] [%l] %v"); + // these two lines are responsible for stuff to not show up in the console sometimes, from talking about it on discord + // apparently they were meant to make logging work when using -northstar, however from testing it seems that it doesnt + // work regardless of these two lines + // freopen("CONOUT$", "w", stdout); + // freopen("CONOUT$", "w", stderr); + spdlog::default_logger()->set_pattern("[%H:%M:%S] [%^%l%$] %v"); } ON_DLL_LOAD_CLIENT_RELIESON("engine.dll", EngineSpewFuncHooks, ConVar, (CModule module)) diff --git a/NorthstarDLL/scriptdatatables.cpp b/NorthstarDLL/scriptdatatables.cpp index cd8a6b2a..2861b964 100644 --- a/NorthstarDLL/scriptdatatables.cpp +++ b/NorthstarDLL/scriptdatatables.cpp @@ -46,7 +46,6 @@ struct Datatable ConVar* Cvar_ns_prefer_datatable_from_disk; template <ScriptContext context> Datatable* (*SQ_GetDatatableInternal)(HSquirrelVM* sqvm); -std::string DataTableToString(Datatable* datatable); struct CSVData { @@ -97,6 +96,7 @@ Vector3 StringToVector(char* pString) return vRet; } +// var function GetDataTable( asset path ) template <ScriptContext context> SQRESULT SQ_GetDatatable(HSquirrelVM* sqvm) { const char* pAssetName; @@ -271,6 +271,7 @@ template <ScriptContext context> SQRESULT SQ_GetDatatable(HSquirrelVM* sqvm) } } +// int function GetDataTableRowCount( var datatable, string columnName ) template <ScriptContext context> SQRESULT SQ_GetDataTableColumnByName(HSquirrelVM* sqvm) { CSVData** pData; @@ -297,6 +298,7 @@ template <ScriptContext context> SQRESULT SQ_GetDataTableColumnByName(HSquirrelV return SQRESULT_NOTNULL; } +// int function GetDataTableRowCount( var datatable ) template <ScriptContext context> SQRESULT SQ_GetDataTableRowCount(HSquirrelVM* sqvm) { CSVData** pData; @@ -307,12 +309,11 @@ template <ScriptContext context> SQRESULT SQ_GetDataTableRowCount(HSquirrelVM* s return g_pSquirrel<context>->m_funcOriginals["GetDatatableRowCount"](sqvm); CSVData* csv = *pData; - const char* pColumnName = g_pSquirrel<context>->getstring(sqvm, 2); - g_pSquirrel<context>->pushinteger(sqvm, csv->dataPointers.size()); return SQRESULT_NOTNULL; } +// string function GetDataTableString( var datatable, int row, int col ) template <ScriptContext context> SQRESULT SQ_GetDataTableString(HSquirrelVM* sqvm) { CSVData** pData; @@ -339,6 +340,7 @@ template <ScriptContext context> SQRESULT SQ_GetDataTableString(HSquirrelVM* sqv return SQRESULT_NOTNULL; } +// asset function GetDataTableAsset( var datatable, int row, int col ) template <ScriptContext context> SQRESULT SQ_GetDataTableAsset(HSquirrelVM* sqvm) { CSVData** pData; @@ -365,6 +367,7 @@ template <ScriptContext context> SQRESULT SQ_GetDataTableAsset(HSquirrelVM* sqvm return SQRESULT_NOTNULL; } +// int function GetDataTableInt( var datatable, int row, int col ) template <ScriptContext context> SQRESULT SQ_GetDataTableInt(HSquirrelVM* sqvm) { CSVData** pData; @@ -391,6 +394,7 @@ template <ScriptContext context> SQRESULT SQ_GetDataTableInt(HSquirrelVM* sqvm) return SQRESULT_NOTNULL; } +// float function GetDataTableFloat( var datatable, int row, int col ) template <ScriptContext context> SQRESULT SQ_GetDataTableFloat(HSquirrelVM* sqvm) { CSVData** pData; @@ -417,6 +421,7 @@ template <ScriptContext context> SQRESULT SQ_GetDataTableFloat(HSquirrelVM* sqvm return SQRESULT_NOTNULL; } +// bool function GetDataTableBool( var datatable, int row, int col ) template <ScriptContext context> SQRESULT SQ_GetDataTableBool(HSquirrelVM* sqvm) { CSVData** pData; @@ -443,6 +448,7 @@ template <ScriptContext context> SQRESULT SQ_GetDataTableBool(HSquirrelVM* sqvm) return SQRESULT_NOTNULL; } +// vector function GetDataTableVector( var datatable, int row, int col ) template <ScriptContext context> SQRESULT SQ_GetDataTableVector(HSquirrelVM* sqvm) { CSVData** pData; @@ -466,6 +472,7 @@ template <ScriptContext context> SQRESULT SQ_GetDataTableVector(HSquirrelVM* sqv return SQRESULT_NOTNULL; } +// int function GetDataTableRowMatchingStringValue( var datatable, int col, string value ) template <ScriptContext context> SQRESULT SQ_GetDataTableRowMatchingStringValue(HSquirrelVM* sqvm) { CSVData** pData; @@ -491,6 +498,7 @@ template <ScriptContext context> SQRESULT SQ_GetDataTableRowMatchingStringValue( return SQRESULT_NOTNULL; } +// int function GetDataTableRowMatchingAssetValue( var datatable, int col, asset value ) template <ScriptContext context> SQRESULT SQ_GetDataTableRowMatchingAssetValue(HSquirrelVM* sqvm) { CSVData** pData; @@ -517,6 +525,7 @@ template <ScriptContext context> SQRESULT SQ_GetDataTableRowMatchingAssetValue(H return SQRESULT_NOTNULL; } +// int function GetDataTableRowMatchingFloatValue( var datatable, int col, float value ) template <ScriptContext context> SQRESULT SQ_GetDataTableRowMatchingFloatValue(HSquirrelVM* sqvm) { CSVData** pData; @@ -542,6 +551,7 @@ template <ScriptContext context> SQRESULT SQ_GetDataTableRowMatchingFloatValue(H return SQRESULT_NOTNULL; } +// int function GetDataTableRowMatchingIntValue( var datatable, int col, int value ) template <ScriptContext context> SQRESULT SQ_GetDataTableRowMatchingIntValue(HSquirrelVM* sqvm) { CSVData** pData; @@ -567,6 +577,7 @@ template <ScriptContext context> SQRESULT SQ_GetDataTableRowMatchingIntValue(HSq return SQRESULT_NOTNULL; } +// int function GetDataTableRowMatchingVectorValue( var datatable, int col, vector value ) template <ScriptContext context> SQRESULT SQ_GetDataTableRowMatchingVectorValue(HSquirrelVM* sqvm) { CSVData** pData; @@ -593,6 +604,7 @@ template <ScriptContext context> SQRESULT SQ_GetDataTableRowMatchingVectorValue( return SQRESULT_NOTNULL; } +// int function GetDataTableRowGreaterThanOrEqualToIntValue( var datatable, int col, int value ) template <ScriptContext context> SQRESULT SQ_GetDataTableRowGreaterThanOrEqualToIntValue(HSquirrelVM* sqvm) { CSVData** pData; @@ -619,6 +631,7 @@ template <ScriptContext context> SQRESULT SQ_GetDataTableRowGreaterThanOrEqualTo return SQRESULT_NOTNULL; } +// int function GetDataTableRowLessThanOrEqualToIntValue( var datatable, int col, int value ) template <ScriptContext context> SQRESULT SQ_GetDataTableRowLessThanOrEqualToIntValue(HSquirrelVM* sqvm) { CSVData** pData; @@ -644,6 +657,7 @@ template <ScriptContext context> SQRESULT SQ_GetDataTableRowLessThanOrEqualToInt return SQRESULT_NOTNULL; } +// int function GetDataTableRowGreaterThanOrEqualToFloatValue( var datatable, int col, float value ) template <ScriptContext context> SQRESULT SQ_GetDataTableRowGreaterThanOrEqualToFloatValue(HSquirrelVM* sqvm) { CSVData** pData; @@ -669,6 +683,7 @@ template <ScriptContext context> SQRESULT SQ_GetDataTableRowGreaterThanOrEqualTo return SQRESULT_NOTNULL; } +// int function GetDataTableRowLessThanOrEqualToFloatValue( var datatable, int col, float value ) template <ScriptContext context> SQRESULT SQ_GetDataTableRowLessThanOrEqualToFloatValue(HSquirrelVM* sqvm) { CSVData** pData; @@ -919,4 +934,4 @@ ON_DLL_LOAD_RELIESON("engine.dll", SharedScriptDataTables, ConVar, (CModule modu RegisterConCommand("dump_datatables", ConCommand_dump_datatables, "dumps all datatables from a hardcoded list", FCVAR_NONE); RegisterConCommand("dump_datatable", ConCommand_dump_datatable, "dump a datatable", FCVAR_NONE); -}
\ No newline at end of file +} diff --git a/NorthstarDLL/sigscanning.cpp b/NorthstarDLL/sigscanning.cpp deleted file mode 100644 index 618645e0..00000000 --- a/NorthstarDLL/sigscanning.cpp +++ /dev/null @@ -1,41 +0,0 @@ -#include "pch.h" -#include "sigscanning.h" -#include <map> - -// note: sigscanning is only really intended to be used for resolving stuff like shared function definitions -// we mostly use raw function addresses for stuff - -size_t GetModuleLength(HMODULE moduleHandle) -{ - // based on sigscan code from ttf2sdk, which is in turn based on CSigScan from https://wiki.alliedmods.net/Signature_Scanning - MEMORY_BASIC_INFORMATION mem; - VirtualQuery(moduleHandle, &mem, sizeof(mem)); - - IMAGE_DOS_HEADER* dos = (IMAGE_DOS_HEADER*)mem.AllocationBase; - IMAGE_NT_HEADERS* pe = (IMAGE_NT_HEADERS*)((unsigned char*)dos + dos->e_lfanew); - - return pe->OptionalHeader.SizeOfImage; -} - -void* FindSignature(std::string dllName, const char* sig, const char* mask) -{ - HMODULE module = GetModuleHandleA(dllName.c_str()); - - unsigned char* dllAddress = (unsigned char*)module; - unsigned char* dllEnd = dllAddress + GetModuleLength(module); - - size_t sigLength = strlen(mask); - - for (auto i = dllAddress; i < dllEnd - sigLength + 1; i++) - { - int j = 0; - for (; j < sigLength; j++) - if (mask[j] != '?' && sig[j] != i[j]) - break; - - if (j == sigLength) // loop finished of its own accord - return i; - } - - return nullptr; -} diff --git a/NorthstarDLL/squirrel.cpp b/NorthstarDLL/squirrel.cpp index 4bd4bca8..cf5cb49e 100644 --- a/NorthstarDLL/squirrel.cpp +++ b/NorthstarDLL/squirrel.cpp @@ -135,7 +135,7 @@ template <ScriptContext context> void SquirrelManager<context>::VMDestroyed() template <ScriptContext context> void SquirrelManager<context>::ExecuteCode(const char* pCode) { - if (!m_pSQVM) + if (!m_pSQVM || !m_pSQVM->sqvm) { spdlog::error("Cannot execute code, {} squirrel vm is not initialised", GetContextName(context)); return; diff --git a/NorthstarDLL/vector.h b/NorthstarDLL/vector.h index a5d68003..122fd211 100644 --- a/NorthstarDLL/vector.h +++ b/NorthstarDLL/vector.h @@ -12,11 +12,19 @@ union Vector3 float raw[3];
Vector3() : x(0), y(0), z(0) {}
+ Vector3(float x, float y, float z) : x(x), y(y), z(z) {}
Vector3(float* pRawFloats) // assumes float[3] => vector
{
memcpy(raw, pRawFloats, sizeof(this));
}
+ void MakeValid()
+ {
+ for (auto& fl : raw)
+ if (isnan(fl))
+ fl = 0;
+ }
+
// todo: more operators maybe
bool operator==(const Vector3& other)
{
@@ -41,4 +49,4 @@ union QAngle {
return x == other.x && y == other.y && z == other.z && w == other.w;
}
-};
\ No newline at end of file +};
diff --git a/loader_launcher_proxy/Memory.cpp b/loader_launcher_proxy/Memory.cpp deleted file mode 100644 index 200246eb..00000000 --- a/loader_launcher_proxy/Memory.cpp +++ /dev/null @@ -1,82 +0,0 @@ -#include "pch.h" - -extern HMODULE hTier0Module; -IMemAlloc** g_ppMemAllocSingleton; - -void LoadTier0Handle() -{ - if (!hTier0Module) - hTier0Module = GetModuleHandleA("tier0.dll"); - if (!hTier0Module) - return; - - g_ppMemAllocSingleton = (IMemAlloc**)GetProcAddress(hTier0Module, "g_pMemAllocSingleton"); -} - -const int STATIC_ALLOC_SIZE = 4096; - -size_t g_iStaticAllocated = 0; -void* g_pLastAllocated = nullptr; -char pStaticAllocBuf[STATIC_ALLOC_SIZE]; - -// they should never be used here, except in LibraryLoadError? - -void* malloc(size_t n) -{ - // allocate into static buffer - if (g_iStaticAllocated + n <= STATIC_ALLOC_SIZE) - { - void* ret = pStaticAllocBuf + g_iStaticAllocated; - g_iStaticAllocated += n; - return ret; - } - else - { - // try to fallback to g_pMemAllocSingleton - if (!hTier0Module || !g_ppMemAllocSingleton) - LoadTier0Handle(); - if (g_ppMemAllocSingleton && *g_ppMemAllocSingleton) - return (*g_ppMemAllocSingleton)->m_vtable->Alloc(*g_ppMemAllocSingleton, n); - else - throw "Cannot allocate"; - } -} - -void free(void* p) -{ - // if it was allocated into the static buffer, just do nothing, safest way to deal with it - if (p >= pStaticAllocBuf && p <= pStaticAllocBuf + STATIC_ALLOC_SIZE) - return; - - if (g_ppMemAllocSingleton && *g_ppMemAllocSingleton) - (*g_ppMemAllocSingleton)->m_vtable->Free(*g_ppMemAllocSingleton, p); -} - -void* realloc(void* old_ptr, size_t size) -{ - // it was allocated into the static buffer - if (old_ptr >= pStaticAllocBuf && old_ptr <= pStaticAllocBuf + STATIC_ALLOC_SIZE) - { - if (g_pLastAllocated == old_ptr) - { - // nothing was allocated after this - size_t old_size = g_iStaticAllocated - ((size_t)g_pLastAllocated - (size_t)pStaticAllocBuf); - size_t diff = size - old_size; - if (diff > 0) - g_iStaticAllocated += diff; - return old_ptr; - } - else - { - return malloc(size); - } - } - - if (g_ppMemAllocSingleton && *g_ppMemAllocSingleton) - return (*g_ppMemAllocSingleton)->m_vtable->Realloc(*g_ppMemAllocSingleton, old_ptr, size); - return nullptr; -} - -void* operator new(size_t n) { return malloc(n); } - -void operator delete(void* p) { return free(p); } diff --git a/loader_launcher_proxy/Memory.h b/loader_launcher_proxy/Memory.h deleted file mode 100644 index 824d9d0f..00000000 --- a/loader_launcher_proxy/Memory.h +++ /dev/null @@ -1,24 +0,0 @@ -#pragma once - -class IMemAlloc -{ - public: - struct VTable - { - void* unknown[1]; // alloc debug - void* (*Alloc)(IMemAlloc* memAlloc, size_t nSize); - void* unknown2[1]; // realloc debug - void* (*Realloc)(IMemAlloc* memAlloc, void* pMem, size_t nSize); - void* unknown3[1]; // free #1 - void (*Free)(IMemAlloc* memAlloc, void* pMem); - void* unknown4[2]; // nullsubs, maybe CrtSetDbgFlag - size_t (*GetSize)(IMemAlloc* memAlloc, void* pMem); - void* unknown5[9]; // they all do literally nothing - void (*DumpStats)(IMemAlloc* memAlloc); - void (*DumpStatsFileBase)(IMemAlloc* memAlloc, const char* pchFileBase); - void* unknown6[4]; - int (*heapchk)(IMemAlloc* memAlloc); - }; - - VTable* m_vtable; -}; |