From 1fa0c550770612f1873a5304dc0ee0ba2811f8fd Mon Sep 17 00:00:00 2001 From: GeckoEidechse <40122905+GeckoEidechse@users.noreply.github.com> Date: Wed, 24 Aug 2022 23:38:10 +0200 Subject: Fix line endings (hopefully) (#244) * Fix line endings (hopefully) * Fix more line endings --- NorthstarDLL/NorthstarDLL.vcxproj | 1348 +++++------ NorthstarDLL/NorthstarDLL.vcxproj.filters | 3594 ++++++++++++++--------------- NorthstarDLL/rpakfilesystem.h | 78 +- NorthstarDLL/scriptjson.cpp | 554 ++--- NorthstarDLL/scriptutility.cpp | 44 +- 5 files changed, 2809 insertions(+), 2809 deletions(-) diff --git a/NorthstarDLL/NorthstarDLL.vcxproj b/NorthstarDLL/NorthstarDLL.vcxproj index 6aa671ea..e4cce334 100644 --- a/NorthstarDLL/NorthstarDLL.vcxproj +++ b/NorthstarDLL/NorthstarDLL.vcxproj @@ -1,675 +1,675 @@ - - - - - Debug - x64 - - - Release - x64 - - - - 16.0 - Win32Proj - {cfad2623-064f-453c-8196-79ee10292e32} - NorthstarDedicatedTest - 10.0 - NorthstarDLL - - - - DynamicLibrary - true - v143 - Unicode - - - DynamicLibrary - false - v143 - true - Unicode - - - - - - - - - - - - - - - - true - Northstar - - - false - Northstar - - - - Level3 - true - _DEBUG;NORTHSTARDEDICATEDTEST_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions);CURL_STATICLIB - true - Use - pch.h - stdcpp20 - $(ProjectDir)include;%(AdditionalIncludeDirectories) - - - Windows - true - false - $(ProjectDir)include\MinHook.x64.lib;$(ProjectDir)include\libcurl\lib\libcurl_a.lib;dbghelp.lib;Wldap32.lib;Normaliz.lib;version.lib;%(AdditionalDependencies) - - - %(AdditionalLibraryDirectories) - - - - - - - copy /Y "$(TargetPath)" "$(SolutionDir)..\..\" - - - - - Level3 - true - true - true - NDEBUG;NORTHSTARDEDICATEDTEST_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions);CURL_STATICLIB - true - Use - pch.h - stdcpp20 - $(ProjectDir)include;%(AdditionalIncludeDirectories) - MultiThreadedDLL - - - Windows - true - true - true - false - $(ProjectDir)include\MinHook.x64.lib;$(ProjectDir)include\libcurl\lib\libcurl_a.lib;dbghelp.lib;Wldap32.lib;Normaliz.lib;version.lib;%(AdditionalDependencies) - - - %(AdditionalLibraryDirectories) - - - - - - - copy /Y "$(TargetPath)" "$(SolutionDir)..\..\" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Create - Create - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + Debug + x64 + + + Release + x64 + + + + 16.0 + Win32Proj + {cfad2623-064f-453c-8196-79ee10292e32} + NorthstarDedicatedTest + 10.0 + NorthstarDLL + + + + DynamicLibrary + true + v143 + Unicode + + + DynamicLibrary + false + v143 + true + Unicode + + + + + + + + + + + + + + + + true + Northstar + + + false + Northstar + + + + Level3 + true + _DEBUG;NORTHSTARDEDICATEDTEST_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions);CURL_STATICLIB + true + Use + pch.h + stdcpp20 + $(ProjectDir)include;%(AdditionalIncludeDirectories) + + + Windows + true + false + $(ProjectDir)include\MinHook.x64.lib;$(ProjectDir)include\libcurl\lib\libcurl_a.lib;dbghelp.lib;Wldap32.lib;Normaliz.lib;version.lib;%(AdditionalDependencies) + + + %(AdditionalLibraryDirectories) + + + + + + + copy /Y "$(TargetPath)" "$(SolutionDir)..\..\" + + + + + Level3 + true + true + true + NDEBUG;NORTHSTARDEDICATEDTEST_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions);CURL_STATICLIB + true + Use + pch.h + stdcpp20 + $(ProjectDir)include;%(AdditionalIncludeDirectories) + MultiThreadedDLL + + + Windows + true + true + true + false + $(ProjectDir)include\MinHook.x64.lib;$(ProjectDir)include\libcurl\lib\libcurl_a.lib;dbghelp.lib;Wldap32.lib;Normaliz.lib;version.lib;%(AdditionalDependencies) + + + %(AdditionalLibraryDirectories) + + + + + + + copy /Y "$(TargetPath)" "$(SolutionDir)..\..\" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create + Create + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/NorthstarDLL/NorthstarDLL.vcxproj.filters b/NorthstarDLL/NorthstarDLL.vcxproj.filters index f1ece300..ab788fff 100644 --- a/NorthstarDLL/NorthstarDLL.vcxproj.filters +++ b/NorthstarDLL/NorthstarDLL.vcxproj.filters @@ -1,1798 +1,1798 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - {d4199e4b-10d2-43ce-af9c-e1fa79e1e64e} - - - {b6f79919-9735-476d-8798-067a75cbeca0} - - - {ca657be5-c2d8-4322-a689-1154aaafe57b} - - - {8596cc1c-0492-4467-91e3-1f03b7e19f77} - - - {11eaa578-6336-456e-9c7c-8bd202470945} - - - {7ecd75d2-7eee-41c4-87b6-3b7c2213f34e} - - - {8afc70f1-639c-49ef-9348-ef6dcece114e} - - - {398efed5-0a92-4d32-b5ba-b4a725b2a70a} - - - {74567974-c66b-45ef-ab28-97b7154ca224} - - - {4ca5392e-7d3d-4066-833f-f534cd5787c3} - - - {94b15898-ef33-41c7-995a-31791fccb7e2} - - - {6495657f-ea55-4552-8aa7-b54eb8e86a99} - - - {85aacdee-0f92-4ec4-b20c-0739c1175055} - - - {3d41d3fc-8a3b-4358-b3e8-4f06dc96abfe} - - - {d69760a9-d5ec-4f3e-8f43-f74041654d44} - - - {365e5c1f-4b2f-4d8b-a1d8-cdef401ca689} - - - {24fd0855-9288-4129-93ba-c6cafdc98d1b} - - - {4cb0dd89-5f16-4549-a864-34ca3075352a} - - - {914d8b8f-6b19-4f23-b746-f40062d72906} - - - {09516029-fac7-4235-ad61-402977534a0b} - - - {8cc1ae44-9dbf-4719-91a2-82e00b8d78e2} - - - {ea1e17a6-40b7-4e1b-8edb-e9ae704ce604} - - - {51910ba0-2ff8-461d-9f67-8d7907b57d22} - - - {325e0d7d-6832-496d-8d8e-968fdfa5dd40} - - - {802d0771-62f1-4733-89f9-57a4d8864b8d} - - - {04fd662a-6e70-494c-b720-c694a5cc2fb1} - - - {a18afb37-5fdd-4340-a6b4-a6541593e398} - - - {4a8a695a-a103-4b1f-b314-0ec19a253119} - - - {d8a83b5e-9a23-4124-824f-eab37880cb08} - - - {2cbddb28-0b17-4881-847d-8773da52b268} - - - {4db0d1e9-9035-457f-87f1-5dc3f13b6b9e} - - - {59b0f68f-daa7-4641-b6fa-8464b56da2bb} - - - {3e892d07-2239-44da-9cf3-c288a34cf9a2} - - - {14fc0931-acad-46ec-a55e-94f4469d4235} - - - {947835db-67d6-42c0-870d-62743f85231f} - - - {bf0769d8-40fd-4701-85e9-7ed94aab2283} - - - {9751b551-5886-45d4-a039-cbd10445263d} - - - {96101d42-72af-4fd1-8559-8d1d1ff66240} - - - {ee3ba13a-3061-41d7-981d-328ac2596fd2} - - - {0c93d909-e0d6-4c35-a8a4-a13f681a1012} - - - {94259c8c-5411-48bf-af4f-46ca32b7d0bb} - - - {44a83740-9d70-480d-9a7a-43b81f8eab9e} - - - {6bbce8a5-38b4-4763-a7cb-4e98012ec245} - - - {826d5193-3ad0-434b-ba7c-dd24ed4bbd0c} - - - {0f1ba4c4-78ee-4b05-afa5-6f598063f5c1} - - - {ca669b16-b8bb-4654-993f-fffa44c914f1} - - - {26365f16-ff52-4e80-a01b-2ca020376c93} - - - {7263403a-7550-4aa2-a724-f622ab200eed} - - - - - Header Files - - - Header Files\include - - - Header Files - - - Header Files\Client - - - Header Files\include\spdlog - - - Header Files\include\spdlog - - - Header Files\include\spdlog - - - Header Files\include\spdlog - - - Header Files\include\spdlog - - - Header Files\include\spdlog - - - Header Files\include\spdlog - - - Header Files\include\spdlog - - - Header Files\include\spdlog - - - Header Files\include\spdlog - - - Header Files\include\spdlog - - - Header Files\include\spdlog - - - Header Files\include\spdlog - - - Header Files\include\spdlog - - - Header Files\include\spdlog - - - Header Files\include\spdlog - - - Header Files\include\spdlog\cfg - - - Header Files\include\spdlog\cfg - - - Header Files\include\spdlog\cfg - - - Header Files\include\spdlog\cfg - - - Header Files\include\spdlog\fmt - - - Header Files\include\spdlog\fmt - - - Header Files\include\spdlog\fmt - - - Header Files\include\spdlog\fmt - - - Header Files\include\spdlog\fmt\bundled - - - Header Files\include\spdlog\fmt\bundled - - - Header Files\include\spdlog\fmt\bundled - - - Header Files\include\spdlog\fmt\bundled - - - Header Files\include\spdlog\fmt\bundled - - - Header Files\include\spdlog\fmt\bundled - - - Header Files\include\spdlog\fmt\bundled - - - Header Files\include\spdlog\fmt\bundled - - - Header Files\include\spdlog\fmt\bundled - - - Header Files\include\spdlog\fmt\bundled - - - Header Files\include\spdlog\fmt\bundled - - - Header Files\include\spdlog\fmt\bundled - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\sinks - - - Header Files\include\spdlog\details - - - Header Files\include\spdlog\details - - - Header Files\include\spdlog\details - - - Header Files\include\spdlog\details - - - Header Files\include\spdlog\details - - - Header Files\include\spdlog\details - - - Header Files\include\spdlog\details - - - Header Files\include\spdlog\details - - - Header Files\include\spdlog\details - - - Header Files\include\spdlog\details - - - Header Files\include\spdlog\details - - - Header Files\include\spdlog\details - - - Header Files\include\spdlog\details - - - Header Files\include\spdlog\details - - - Header Files\include\spdlog\details - - - Header Files\include\spdlog\details - - - Header Files\include\spdlog\details - - - Header Files\include\spdlog\details - - - Header Files\include\spdlog\details - - - Header Files\include\spdlog\details - - - Header Files\include\spdlog\details - - - Header Files\include\spdlog\details - - - Header Files\include\spdlog\details - - - Header Files\include\spdlog\details - - - Header Files\include\spdlog\details - - - Header Files\include\rapidjson - - - Header Files\include\rapidjson - - - Header Files\include\rapidjson - - - Header Files\include\rapidjson - - - Header Files\include\rapidjson - - - Header Files\include\rapidjson - - - Header Files\include\rapidjson - - - Header Files\include\rapidjson - - - Header Files\include\rapidjson - - - Header Files\include\rapidjson - - - Header Files\include\rapidjson - - - Header Files\include\rapidjson - - - Header Files\include\rapidjson - - - Header Files\include\rapidjson - - - Header Files\include\rapidjson - - - Header Files\include\rapidjson - - - Header Files\include\rapidjson - - - Header Files\include\rapidjson - - - Header Files\include\rapidjson - - - Header Files\include\rapidjson\error - - - Header Files\include\rapidjson\error - - - Header Files\include\rapidjson\internal - - - Header Files\include\rapidjson\internal - - - Header Files\include\rapidjson\internal - - - Header Files\include\rapidjson\internal - - - Header Files\include\rapidjson\internal - - - Header Files\include\rapidjson\internal - - - Header Files\include\rapidjson\internal - - - Header Files\include\rapidjson\internal - - - Header Files\include\rapidjson\internal - - - Header Files\include\rapidjson\internal - - - Header Files\include\rapidjson\internal - - - Header Files\include\rapidjson\internal - - - Header Files\include\rapidjson\msinttypes - - - Header Files\include\rapidjson\msinttypes - - - Header Files\Server\Authentication - - - Header Files\include - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\openssl\internal - - - Header Files\include\libcurl - - - Header Files\include\libcurl - - - Header Files\include\libcurl - - - Header Files\include\libcurl - - - Header Files\include\libcurl - - - Header Files\include\libcurl - - - Header Files\include\libcurl - - - Header Files\include\libcurl - - - Header Files\include\libcurl - - - Header Files\include\libcurl - - - Header Files\Server\Authentication - - - Header Files\Client - - - Header Files\Client - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files\Server\Scripted - - - Header Files\Dedicated Server - - - Header Files - - - Source Files\Exploit Fixes - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files\Math - - - Header Files\Math - - - Header Files\Convar - - - Header Files\Convar - - - Header Files\Convar - - - Header Files\Filesystem - - - Header Files\Hooks - - - Header Files\Exploit Fixes - - - Header Files\Console - - - Header Files\Convar - - - Header Files\Mods - - - Header Files\Mods\Compiled Assets - - - Header Files\Console - - - Header Files\Console - - - Header Files\Game Functions - - - Header Files\Game Functions - - - Header Files\Game Functions - - - Header Files\Mods\Compiled Assets - - - Header Files\Game Functions - - - Header Files\Hooks - - - Header Files\Filesystem - - - Header Files\Math - - - Header Files\Server - - - Header Files\Hooks - - - Header Files - - - Header Files\Squirrel - - - Header Files\Squirrel - - - - - Source Files - - - Source Files\Dedicated Server - - - Source Files\Client - - - Source Files\Mods - - - Source Files\Mods\Compiled Assets - - - Source Files\Server\Authentication - - - Source Files\Mods\Compiled Assets - - - Source Files\Client - - - Source Files\Client - - - Source Files\Dedicated Server - - - Source Files\Mods\Compiled Assets - - - Source Files\Client - - - Source Files\Server - - - Source Files\Server\Authentication - - - Source Files\Client - - - Source Files\Client - - - Source Files\Client - - - Source Files\Server - - - Source Files\Client - - - Source Files - - - Source Files\Client - - - Source Files\Client - - - Source Files - - - Source Files\Client - - - Source Files\Client\Scripted - - - Source Files\Client\Scripted - - - Source Files\Client\Scripted - - - Source Files\Client\Scripted - - - Source Files\Client\Scripted - - - Source Files\Client\Scripted - - - Source Files\Server\Scripted - - - Source Files\Server\Scripted - - - Source Files\Client - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files\Game Functions - - - Source Files\Game Functions - - - Source Files\Game Functions - - - Source Files\Filesystem - - - Source Files\Filesystem - - - Source Files\Exploit Fixes - - - Source Files\Exploit Fixes - - - Source Files\Hooks - - - Source Files\Hooks - - - Source Files\Math - - - Source Files\Convar - - - Source Files\Convar - - - Source Files\Console - - - Source Files\Console - - - Source Files\Convar - - - Source Files\Convar - - - Source Files\Game Functions - - - Source Files\Console - - - Source Files\Server - - - Source Files - - - Source Files\Hooks - - - Source Files\Exploit Fixes - - - Source Files\Scripted - - - Source Files\Scripted - - - Source Files\Squirrel - - - Source Files\Scripted - - - - - Source Files\Client - - - - - Header Files\include\spdlog\fmt\bundled - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\openssl - - - Header Files\include\openssl\crypto - - - Header Files\include\openssl\crypto - - + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + {d4199e4b-10d2-43ce-af9c-e1fa79e1e64e} + + + {b6f79919-9735-476d-8798-067a75cbeca0} + + + {ca657be5-c2d8-4322-a689-1154aaafe57b} + + + {8596cc1c-0492-4467-91e3-1f03b7e19f77} + + + {11eaa578-6336-456e-9c7c-8bd202470945} + + + {7ecd75d2-7eee-41c4-87b6-3b7c2213f34e} + + + {8afc70f1-639c-49ef-9348-ef6dcece114e} + + + {398efed5-0a92-4d32-b5ba-b4a725b2a70a} + + + {74567974-c66b-45ef-ab28-97b7154ca224} + + + {4ca5392e-7d3d-4066-833f-f534cd5787c3} + + + {94b15898-ef33-41c7-995a-31791fccb7e2} + + + {6495657f-ea55-4552-8aa7-b54eb8e86a99} + + + {85aacdee-0f92-4ec4-b20c-0739c1175055} + + + {3d41d3fc-8a3b-4358-b3e8-4f06dc96abfe} + + + {d69760a9-d5ec-4f3e-8f43-f74041654d44} + + + {365e5c1f-4b2f-4d8b-a1d8-cdef401ca689} + + + {24fd0855-9288-4129-93ba-c6cafdc98d1b} + + + {4cb0dd89-5f16-4549-a864-34ca3075352a} + + + {914d8b8f-6b19-4f23-b746-f40062d72906} + + + {09516029-fac7-4235-ad61-402977534a0b} + + + {8cc1ae44-9dbf-4719-91a2-82e00b8d78e2} + + + {ea1e17a6-40b7-4e1b-8edb-e9ae704ce604} + + + {51910ba0-2ff8-461d-9f67-8d7907b57d22} + + + {325e0d7d-6832-496d-8d8e-968fdfa5dd40} + + + {802d0771-62f1-4733-89f9-57a4d8864b8d} + + + {04fd662a-6e70-494c-b720-c694a5cc2fb1} + + + {a18afb37-5fdd-4340-a6b4-a6541593e398} + + + {4a8a695a-a103-4b1f-b314-0ec19a253119} + + + {d8a83b5e-9a23-4124-824f-eab37880cb08} + + + {2cbddb28-0b17-4881-847d-8773da52b268} + + + {4db0d1e9-9035-457f-87f1-5dc3f13b6b9e} + + + {59b0f68f-daa7-4641-b6fa-8464b56da2bb} + + + {3e892d07-2239-44da-9cf3-c288a34cf9a2} + + + {14fc0931-acad-46ec-a55e-94f4469d4235} + + + {947835db-67d6-42c0-870d-62743f85231f} + + + {bf0769d8-40fd-4701-85e9-7ed94aab2283} + + + {9751b551-5886-45d4-a039-cbd10445263d} + + + {96101d42-72af-4fd1-8559-8d1d1ff66240} + + + {ee3ba13a-3061-41d7-981d-328ac2596fd2} + + + {0c93d909-e0d6-4c35-a8a4-a13f681a1012} + + + {94259c8c-5411-48bf-af4f-46ca32b7d0bb} + + + {44a83740-9d70-480d-9a7a-43b81f8eab9e} + + + {6bbce8a5-38b4-4763-a7cb-4e98012ec245} + + + {826d5193-3ad0-434b-ba7c-dd24ed4bbd0c} + + + {0f1ba4c4-78ee-4b05-afa5-6f598063f5c1} + + + {ca669b16-b8bb-4654-993f-fffa44c914f1} + + + {26365f16-ff52-4e80-a01b-2ca020376c93} + + + {7263403a-7550-4aa2-a724-f622ab200eed} + + + + + Header Files + + + Header Files\include + + + Header Files + + + Header Files\Client + + + Header Files\include\spdlog + + + Header Files\include\spdlog + + + Header Files\include\spdlog + + + Header Files\include\spdlog + + + Header Files\include\spdlog + + + Header Files\include\spdlog + + + Header Files\include\spdlog + + + Header Files\include\spdlog + + + Header Files\include\spdlog + + + Header Files\include\spdlog + + + Header Files\include\spdlog + + + Header Files\include\spdlog + + + Header Files\include\spdlog + + + Header Files\include\spdlog + + + Header Files\include\spdlog + + + Header Files\include\spdlog + + + Header Files\include\spdlog\cfg + + + Header Files\include\spdlog\cfg + + + Header Files\include\spdlog\cfg + + + Header Files\include\spdlog\cfg + + + Header Files\include\spdlog\fmt + + + Header Files\include\spdlog\fmt + + + Header Files\include\spdlog\fmt + + + Header Files\include\spdlog\fmt + + + Header Files\include\spdlog\fmt\bundled + + + Header Files\include\spdlog\fmt\bundled + + + Header Files\include\spdlog\fmt\bundled + + + Header Files\include\spdlog\fmt\bundled + + + Header Files\include\spdlog\fmt\bundled + + + Header Files\include\spdlog\fmt\bundled + + + Header Files\include\spdlog\fmt\bundled + + + Header Files\include\spdlog\fmt\bundled + + + Header Files\include\spdlog\fmt\bundled + + + Header Files\include\spdlog\fmt\bundled + + + Header Files\include\spdlog\fmt\bundled + + + Header Files\include\spdlog\fmt\bundled + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\sinks + + + Header Files\include\spdlog\details + + + Header Files\include\spdlog\details + + + Header Files\include\spdlog\details + + + Header Files\include\spdlog\details + + + Header Files\include\spdlog\details + + + Header Files\include\spdlog\details + + + Header Files\include\spdlog\details + + + Header Files\include\spdlog\details + + + Header Files\include\spdlog\details + + + Header Files\include\spdlog\details + + + Header Files\include\spdlog\details + + + Header Files\include\spdlog\details + + + Header Files\include\spdlog\details + + + Header Files\include\spdlog\details + + + Header Files\include\spdlog\details + + + Header Files\include\spdlog\details + + + Header Files\include\spdlog\details + + + Header Files\include\spdlog\details + + + Header Files\include\spdlog\details + + + Header Files\include\spdlog\details + + + Header Files\include\spdlog\details + + + Header Files\include\spdlog\details + + + Header Files\include\spdlog\details + + + Header Files\include\spdlog\details + + + Header Files\include\spdlog\details + + + Header Files\include\rapidjson + + + Header Files\include\rapidjson + + + Header Files\include\rapidjson + + + Header Files\include\rapidjson + + + Header Files\include\rapidjson + + + Header Files\include\rapidjson + + + Header Files\include\rapidjson + + + Header Files\include\rapidjson + + + Header Files\include\rapidjson + + + Header Files\include\rapidjson + + + Header Files\include\rapidjson + + + Header Files\include\rapidjson + + + Header Files\include\rapidjson + + + Header Files\include\rapidjson + + + Header Files\include\rapidjson + + + Header Files\include\rapidjson + + + Header Files\include\rapidjson + + + Header Files\include\rapidjson + + + Header Files\include\rapidjson + + + Header Files\include\rapidjson\error + + + Header Files\include\rapidjson\error + + + Header Files\include\rapidjson\internal + + + Header Files\include\rapidjson\internal + + + Header Files\include\rapidjson\internal + + + Header Files\include\rapidjson\internal + + + Header Files\include\rapidjson\internal + + + Header Files\include\rapidjson\internal + + + Header Files\include\rapidjson\internal + + + Header Files\include\rapidjson\internal + + + Header Files\include\rapidjson\internal + + + Header Files\include\rapidjson\internal + + + Header Files\include\rapidjson\internal + + + Header Files\include\rapidjson\internal + + + Header Files\include\rapidjson\msinttypes + + + Header Files\include\rapidjson\msinttypes + + + Header Files\Server\Authentication + + + Header Files\include + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\openssl\internal + + + Header Files\include\libcurl + + + Header Files\include\libcurl + + + Header Files\include\libcurl + + + Header Files\include\libcurl + + + Header Files\include\libcurl + + + Header Files\include\libcurl + + + Header Files\include\libcurl + + + Header Files\include\libcurl + + + Header Files\include\libcurl + + + Header Files\include\libcurl + + + Header Files\Server\Authentication + + + Header Files\Client + + + Header Files\Client + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files\Server\Scripted + + + Header Files\Dedicated Server + + + Header Files + + + Source Files\Exploit Fixes + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files\Math + + + Header Files\Math + + + Header Files\Convar + + + Header Files\Convar + + + Header Files\Convar + + + Header Files\Filesystem + + + Header Files\Hooks + + + Header Files\Exploit Fixes + + + Header Files\Console + + + Header Files\Convar + + + Header Files\Mods + + + Header Files\Mods\Compiled Assets + + + Header Files\Console + + + Header Files\Console + + + Header Files\Game Functions + + + Header Files\Game Functions + + + Header Files\Game Functions + + + Header Files\Mods\Compiled Assets + + + Header Files\Game Functions + + + Header Files\Hooks + + + Header Files\Filesystem + + + Header Files\Math + + + Header Files\Server + + + Header Files\Hooks + + + Header Files + + + Header Files\Squirrel + + + Header Files\Squirrel + + + + + Source Files + + + Source Files\Dedicated Server + + + Source Files\Client + + + Source Files\Mods + + + Source Files\Mods\Compiled Assets + + + Source Files\Server\Authentication + + + Source Files\Mods\Compiled Assets + + + Source Files\Client + + + Source Files\Client + + + Source Files\Dedicated Server + + + Source Files\Mods\Compiled Assets + + + Source Files\Client + + + Source Files\Server + + + Source Files\Server\Authentication + + + Source Files\Client + + + Source Files\Client + + + Source Files\Client + + + Source Files\Server + + + Source Files\Client + + + Source Files + + + Source Files\Client + + + Source Files\Client + + + Source Files + + + Source Files\Client + + + Source Files\Client\Scripted + + + Source Files\Client\Scripted + + + Source Files\Client\Scripted + + + Source Files\Client\Scripted + + + Source Files\Client\Scripted + + + Source Files\Client\Scripted + + + Source Files\Server\Scripted + + + Source Files\Server\Scripted + + + Source Files\Client + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files\Game Functions + + + Source Files\Game Functions + + + Source Files\Game Functions + + + Source Files\Filesystem + + + Source Files\Filesystem + + + Source Files\Exploit Fixes + + + Source Files\Exploit Fixes + + + Source Files\Hooks + + + Source Files\Hooks + + + Source Files\Math + + + Source Files\Convar + + + Source Files\Convar + + + Source Files\Console + + + Source Files\Console + + + Source Files\Convar + + + Source Files\Convar + + + Source Files\Game Functions + + + Source Files\Console + + + Source Files\Server + + + Source Files + + + Source Files\Hooks + + + Source Files\Exploit Fixes + + + Source Files\Scripted + + + Source Files\Scripted + + + Source Files\Squirrel + + + Source Files\Scripted + + + + + Source Files\Client + + + + + Header Files\include\spdlog\fmt\bundled + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\openssl + + + Header Files\include\openssl\crypto + + + Header Files\include\openssl\crypto + + \ No newline at end of file diff --git a/NorthstarDLL/rpakfilesystem.h b/NorthstarDLL/rpakfilesystem.h index f9039500..88811686 100644 --- a/NorthstarDLL/rpakfilesystem.h +++ b/NorthstarDLL/rpakfilesystem.h @@ -1,39 +1,39 @@ -#pragma once - -enum class ePakLoadSource -{ - UNTRACKED = -1, // not a pak we loaded, we shouldn't touch this one - - CONSTANT, // should be loaded at all times - MAP // loaded from a map, should be unloaded when the map is unloaded -}; - -struct LoadedPak -{ - ePakLoadSource m_nLoadSource; - int m_nPakHandle; - size_t m_nPakNameHash; -}; - -class PakLoadManager -{ - private: - std::map m_vLoadedPaks {}; - std::unordered_map m_HashToPakHandle {}; - - public: - int LoadPakAsync(const char* pPath, const ePakLoadSource nLoadSource); - void UnloadPak(const int nPakHandle); - void UnloadMapPaks(); - void* LoadFile(const char* path); //this is a guess - - LoadedPak* TrackLoadedPak(ePakLoadSource nLoadSource, int nPakHandle, size_t nPakNameHash); - void RemoveLoadedPak(int nPakHandle); - - LoadedPak* GetPakInfo(const int nPakHandle); - - int GetPakHandle(const size_t nPakNameHash); - int GetPakHandle(const char* pPath); -}; - -extern PakLoadManager* g_pPakLoadManager; +#pragma once + +enum class ePakLoadSource +{ + UNTRACKED = -1, // not a pak we loaded, we shouldn't touch this one + + CONSTANT, // should be loaded at all times + MAP // loaded from a map, should be unloaded when the map is unloaded +}; + +struct LoadedPak +{ + ePakLoadSource m_nLoadSource; + int m_nPakHandle; + size_t m_nPakNameHash; +}; + +class PakLoadManager +{ + private: + std::map m_vLoadedPaks {}; + std::unordered_map m_HashToPakHandle {}; + + public: + int LoadPakAsync(const char* pPath, const ePakLoadSource nLoadSource); + void UnloadPak(const int nPakHandle); + void UnloadMapPaks(); + void* LoadFile(const char* path); //this is a guess + + LoadedPak* TrackLoadedPak(ePakLoadSource nLoadSource, int nPakHandle, size_t nPakNameHash); + void RemoveLoadedPak(int nPakHandle); + + LoadedPak* GetPakInfo(const int nPakHandle); + + int GetPakHandle(const size_t nPakNameHash); + int GetPakHandle(const char* pPath); +}; + +extern PakLoadManager* g_pPakLoadManager; diff --git a/NorthstarDLL/scriptjson.cpp b/NorthstarDLL/scriptjson.cpp index 9a77d3a2..dff5800e 100644 --- a/NorthstarDLL/scriptjson.cpp +++ b/NorthstarDLL/scriptjson.cpp @@ -1,278 +1,278 @@ -#include "pch.h" -#include "squirrel.h" - -#include "rapidjson/error/en.h" -#include "rapidjson/document.h" -#include "rapidjson/writer.h" -#include "rapidjson/stringbuffer.h" - -#ifdef _MSC_VER -#undef GetObject // fuck microsoft developers -#endif - -template void -DecodeJsonArray(HSquirrelVM* sqvm, rapidjson::GenericValue, rapidjson::MemoryPoolAllocator>* arr) -{ - g_pSquirrel->newarray(sqvm, 0); - - for (auto& itr : arr->GetArray()) - { - switch (itr.GetType()) - { - case rapidjson::kObjectType: - DecodeJsonTable(sqvm, &itr); - g_pSquirrel->arrayappend(sqvm, -2); - break; - case rapidjson::kArrayType: - DecodeJsonArray(sqvm, &itr); - g_pSquirrel->arrayappend(sqvm, -2); - break; - case rapidjson::kStringType: - g_pSquirrel->pushstring(sqvm, itr.GetString(), -1); - g_pSquirrel->arrayappend(sqvm, -2); - break; - case rapidjson::kTrueType: - case rapidjson::kFalseType: - g_pSquirrel->pushbool(sqvm, itr.GetBool()); - g_pSquirrel->arrayappend(sqvm, -2); - break; - case rapidjson::kNumberType: - if (itr.IsDouble() || itr.IsFloat()) - g_pSquirrel->pushfloat(sqvm, itr.GetFloat()); - else - g_pSquirrel->pushinteger(sqvm, itr.GetInt()); - g_pSquirrel->arrayappend(sqvm, -2); - break; - } - } -} - -template void -DecodeJsonTable(HSquirrelVM* sqvm, rapidjson::GenericValue, rapidjson::MemoryPoolAllocator>* obj) -{ - g_pSquirrel->newtable(sqvm); - - for (auto itr = obj->MemberBegin(); itr != obj->MemberEnd(); itr++) - { - switch (itr->value.GetType()) - { - case rapidjson::kObjectType: - g_pSquirrel->pushstring(sqvm, itr->name.GetString(), -1); - DecodeJsonTable( - sqvm, (rapidjson::GenericValue, rapidjson::MemoryPoolAllocator>*)&itr->value); - g_pSquirrel->newslot(sqvm, -3, false); - break; - case rapidjson::kArrayType: - g_pSquirrel->pushstring(sqvm, itr->name.GetString(), -1); - DecodeJsonArray( - sqvm, (rapidjson::GenericValue, rapidjson::MemoryPoolAllocator>*)&itr->value); - g_pSquirrel->newslot(sqvm, -3, false); - break; - case rapidjson::kStringType: - g_pSquirrel->pushstring(sqvm, itr->name.GetString(), -1); - g_pSquirrel->pushstring(sqvm, itr->value.GetString(), -1); - - g_pSquirrel->newslot(sqvm, -3, false); - break; - case rapidjson::kTrueType: - case rapidjson::kFalseType: - g_pSquirrel->pushstring(sqvm, itr->name.GetString(), -1); - g_pSquirrel->pushbool(sqvm, itr->value.GetBool()); - g_pSquirrel->newslot(sqvm, -3, false); - break; - case rapidjson::kNumberType: - if (itr->value.IsDouble() || itr->value.IsFloat()) - { - g_pSquirrel->pushstring(sqvm, itr->name.GetString(), -1); - g_pSquirrel->pushfloat(sqvm, itr->value.GetFloat()); - } - else - { - g_pSquirrel->pushstring(sqvm, itr->name.GetString(), -1); - g_pSquirrel->pushinteger(sqvm, itr->value.GetInt()); - } - g_pSquirrel->newslot(sqvm, -3, false); - break; - } - } -} - -template -void EncodeJSONTable(SQTable* table, rapidjson::GenericValue, rapidjson::MemoryPoolAllocator>* obj, rapidjson::MemoryPoolAllocator& allocator) -{ - for (int i = 0; i < table->_numOfNodes; i++) - { - tableNode* node = &table->_nodes[i]; - if (node->key._Type == OT_STRING) - { - rapidjson::GenericValue, rapidjson::MemoryPoolAllocator> newObj(rapidjson::kObjectType); - rapidjson::GenericValue, rapidjson::MemoryPoolAllocator> newArray(rapidjson::kArrayType); - - switch (node->val._Type) - { - case OT_STRING: - obj->AddMember( - rapidjson::StringRef(node->key._VAL.asString->_val), rapidjson::StringRef(node->val._VAL.asString->_val), allocator); - break; - case OT_INTEGER: - obj->AddMember( - rapidjson::StringRef(node->key._VAL.asString->_val), - rapidjson::GenericValue, rapidjson::MemoryPoolAllocator>( - (int)node->val._VAL.asInteger), - allocator); - break; - case OT_FLOAT: - obj->AddMember( - rapidjson::StringRef(node->key._VAL.asString->_val), - rapidjson::GenericValue, rapidjson::MemoryPoolAllocator>(node->val._VAL.asFloat), - allocator); - break; - case OT_BOOL: - if (node->val._VAL.asInteger) - { - obj->AddMember( - rapidjson::StringRef(node->key._VAL.asString->_val), - rapidjson::GenericValue, rapidjson::MemoryPoolAllocator>(true), - allocator); - } - else - { - obj->AddMember( - rapidjson::StringRef(node->key._VAL.asString->_val), - rapidjson::GenericValue, rapidjson::MemoryPoolAllocator>(false), - allocator); - } - break; - case OT_TABLE: - EncodeJSONTable(node->val._VAL.asTable, &newObj, allocator); - obj->AddMember(rapidjson::StringRef(node->key._VAL.asString->_val), newObj, allocator); - break; - case OT_ARRAY: - EncodeJSONArray(node->val._VAL.asArray, &newArray, allocator); - obj->AddMember(rapidjson::StringRef(node->key._VAL.asString->_val), newArray, allocator); - break; - default: - spdlog::warn("SQ_EncodeJSON: squirrel type {} not supported", SQTypeNameFromID(node->val._Type)); - break; - } - } - } -} - -template void EncodeJSONArray( - SQArray* arr, - rapidjson::GenericValue, rapidjson::MemoryPoolAllocator>* obj, - rapidjson::MemoryPoolAllocator& allocator) -{ - for (int i = 0; i < arr->_usedSlots; i++) - { - SQObject* node = &arr->_values[i]; - - rapidjson::GenericValue, rapidjson::MemoryPoolAllocator> newObj(rapidjson::kObjectType); - rapidjson::GenericValue, rapidjson::MemoryPoolAllocator> newArray(rapidjson::kArrayType); - - switch (node->_Type) - { - case OT_STRING: - obj->PushBack(rapidjson::StringRef(node->_VAL.asString->_val), allocator); - break; - case OT_INTEGER: - obj->PushBack( - rapidjson::GenericValue, rapidjson::MemoryPoolAllocator>((int)node->_VAL.asInteger), - allocator); - break; - case OT_FLOAT: - obj->PushBack( - rapidjson::GenericValue, rapidjson::MemoryPoolAllocator>(node->_VAL.asFloat), - allocator); - break; - case OT_BOOL: - if (node->_VAL.asInteger) - obj->PushBack(rapidjson::StringRef("true"), allocator); - else - obj->PushBack(rapidjson::StringRef("false"), allocator); - break; - case OT_TABLE: - EncodeJSONTable(node->_VAL.asTable, &newObj, allocator); - obj->PushBack(newObj, allocator); - break; - case OT_ARRAY: - EncodeJSONArray(node->_VAL.asArray, &newArray, allocator); - obj->PushBack(newArray, allocator); - break; - default: - spdlog::info("SQ encode Json type {} not supported", SQTypeNameFromID(node->_Type)); - } - } -} - - -// table function DecodeJSON( string json, bool fatalParseErrors = false ) -template SQRESULT SQ_DecodeJSON(HSquirrelVM* sqvm) -{ - const char* pJson = g_pSquirrel->getstring(sqvm, 1); - const bool bFatalParseErrors = g_pSquirrel->getbool(sqvm, 2); - - rapidjson_document doc; - doc.Parse(pJson); - if (doc.HasParseError()) - { - g_pSquirrel->newtable(sqvm); - - std::string sErrorString = fmt::format( - "Failed parsing json file: encountered parse error \"{}\" at offset {}", - GetParseError_En(doc.GetParseError()), - doc.GetErrorOffset()); - - if (bFatalParseErrors) - g_pSquirrel->raiseerror(sqvm, sErrorString.c_str()); - else - spdlog::warn(sErrorString); - - return SQRESULT_NOTNULL; - } - - DecodeJsonTable(sqvm, (rapidjson::GenericValue, rapidjson::MemoryPoolAllocator>*)&doc); -} - - -// string function EncodeJSON( table data ) -template SQRESULT SQ_EncodeJSON(HSquirrelVM* sqvm) -{ - rapidjson_document doc; - doc.SetObject(); - - // temp until this is just the func parameter type - HSquirrelVM* vm = (HSquirrelVM*)sqvm; - SQTable* table = vm->_stackOfCurrentFunction[1]._VAL.asTable; - EncodeJSONTable(table, &doc, doc.GetAllocator()); - - rapidjson::StringBuffer buffer; - rapidjson::Writer writer(buffer); - doc.Accept(writer); - const char* pJsonString = buffer.GetString(); - - g_pSquirrel->pushstring(sqvm, pJsonString, -1); - return SQRESULT_NOTNULL; -} - -ON_DLL_LOAD_CLIENT_RELIESON("client.dll", ClientScriptJSON, ClientSquirrel, (CModule module)) -{ - g_pSquirrel->AddFuncRegistration( - "table", "DecodeJSON", "string json, bool fatalParseErrors = false", "converts a json string to a squirrel table", SQ_DecodeJSON); - g_pSquirrel->AddFuncRegistration( - "string", "EncodeJSON", "table data", "converts a squirrel table to a json string", SQ_EncodeJSON); - - g_pSquirrel->AddFuncRegistration( - "table", "DecodeJSON", "string json", "converts a json string to a squirrel table", SQ_DecodeJSON); - g_pSquirrel->AddFuncRegistration( - "string", "EncodeJSON", "table data", "converts a squirrel table to a json string", SQ_EncodeJSON); -} - -ON_DLL_LOAD_RELIESON("server.dll", ServerScriptJSON, ServerSquirrel, (CModule module)) -{ - g_pSquirrel->AddFuncRegistration( - "table", "DecodeJSON", "string json", "converts a json string to a squirrel table", SQ_DecodeJSON); - g_pSquirrel->AddFuncRegistration( - "string", "EncodeJSON", "table data", "converts a squirrel table to a json string", SQ_EncodeJSON); +#include "pch.h" +#include "squirrel.h" + +#include "rapidjson/error/en.h" +#include "rapidjson/document.h" +#include "rapidjson/writer.h" +#include "rapidjson/stringbuffer.h" + +#ifdef _MSC_VER +#undef GetObject // fuck microsoft developers +#endif + +template void +DecodeJsonArray(HSquirrelVM* sqvm, rapidjson::GenericValue, rapidjson::MemoryPoolAllocator>* arr) +{ + g_pSquirrel->newarray(sqvm, 0); + + for (auto& itr : arr->GetArray()) + { + switch (itr.GetType()) + { + case rapidjson::kObjectType: + DecodeJsonTable(sqvm, &itr); + g_pSquirrel->arrayappend(sqvm, -2); + break; + case rapidjson::kArrayType: + DecodeJsonArray(sqvm, &itr); + g_pSquirrel->arrayappend(sqvm, -2); + break; + case rapidjson::kStringType: + g_pSquirrel->pushstring(sqvm, itr.GetString(), -1); + g_pSquirrel->arrayappend(sqvm, -2); + break; + case rapidjson::kTrueType: + case rapidjson::kFalseType: + g_pSquirrel->pushbool(sqvm, itr.GetBool()); + g_pSquirrel->arrayappend(sqvm, -2); + break; + case rapidjson::kNumberType: + if (itr.IsDouble() || itr.IsFloat()) + g_pSquirrel->pushfloat(sqvm, itr.GetFloat()); + else + g_pSquirrel->pushinteger(sqvm, itr.GetInt()); + g_pSquirrel->arrayappend(sqvm, -2); + break; + } + } +} + +template void +DecodeJsonTable(HSquirrelVM* sqvm, rapidjson::GenericValue, rapidjson::MemoryPoolAllocator>* obj) +{ + g_pSquirrel->newtable(sqvm); + + for (auto itr = obj->MemberBegin(); itr != obj->MemberEnd(); itr++) + { + switch (itr->value.GetType()) + { + case rapidjson::kObjectType: + g_pSquirrel->pushstring(sqvm, itr->name.GetString(), -1); + DecodeJsonTable( + sqvm, (rapidjson::GenericValue, rapidjson::MemoryPoolAllocator>*)&itr->value); + g_pSquirrel->newslot(sqvm, -3, false); + break; + case rapidjson::kArrayType: + g_pSquirrel->pushstring(sqvm, itr->name.GetString(), -1); + DecodeJsonArray( + sqvm, (rapidjson::GenericValue, rapidjson::MemoryPoolAllocator>*)&itr->value); + g_pSquirrel->newslot(sqvm, -3, false); + break; + case rapidjson::kStringType: + g_pSquirrel->pushstring(sqvm, itr->name.GetString(), -1); + g_pSquirrel->pushstring(sqvm, itr->value.GetString(), -1); + + g_pSquirrel->newslot(sqvm, -3, false); + break; + case rapidjson::kTrueType: + case rapidjson::kFalseType: + g_pSquirrel->pushstring(sqvm, itr->name.GetString(), -1); + g_pSquirrel->pushbool(sqvm, itr->value.GetBool()); + g_pSquirrel->newslot(sqvm, -3, false); + break; + case rapidjson::kNumberType: + if (itr->value.IsDouble() || itr->value.IsFloat()) + { + g_pSquirrel->pushstring(sqvm, itr->name.GetString(), -1); + g_pSquirrel->pushfloat(sqvm, itr->value.GetFloat()); + } + else + { + g_pSquirrel->pushstring(sqvm, itr->name.GetString(), -1); + g_pSquirrel->pushinteger(sqvm, itr->value.GetInt()); + } + g_pSquirrel->newslot(sqvm, -3, false); + break; + } + } +} + +template +void EncodeJSONTable(SQTable* table, rapidjson::GenericValue, rapidjson::MemoryPoolAllocator>* obj, rapidjson::MemoryPoolAllocator& allocator) +{ + for (int i = 0; i < table->_numOfNodes; i++) + { + tableNode* node = &table->_nodes[i]; + if (node->key._Type == OT_STRING) + { + rapidjson::GenericValue, rapidjson::MemoryPoolAllocator> newObj(rapidjson::kObjectType); + rapidjson::GenericValue, rapidjson::MemoryPoolAllocator> newArray(rapidjson::kArrayType); + + switch (node->val._Type) + { + case OT_STRING: + obj->AddMember( + rapidjson::StringRef(node->key._VAL.asString->_val), rapidjson::StringRef(node->val._VAL.asString->_val), allocator); + break; + case OT_INTEGER: + obj->AddMember( + rapidjson::StringRef(node->key._VAL.asString->_val), + rapidjson::GenericValue, rapidjson::MemoryPoolAllocator>( + (int)node->val._VAL.asInteger), + allocator); + break; + case OT_FLOAT: + obj->AddMember( + rapidjson::StringRef(node->key._VAL.asString->_val), + rapidjson::GenericValue, rapidjson::MemoryPoolAllocator>(node->val._VAL.asFloat), + allocator); + break; + case OT_BOOL: + if (node->val._VAL.asInteger) + { + obj->AddMember( + rapidjson::StringRef(node->key._VAL.asString->_val), + rapidjson::GenericValue, rapidjson::MemoryPoolAllocator>(true), + allocator); + } + else + { + obj->AddMember( + rapidjson::StringRef(node->key._VAL.asString->_val), + rapidjson::GenericValue, rapidjson::MemoryPoolAllocator>(false), + allocator); + } + break; + case OT_TABLE: + EncodeJSONTable(node->val._VAL.asTable, &newObj, allocator); + obj->AddMember(rapidjson::StringRef(node->key._VAL.asString->_val), newObj, allocator); + break; + case OT_ARRAY: + EncodeJSONArray(node->val._VAL.asArray, &newArray, allocator); + obj->AddMember(rapidjson::StringRef(node->key._VAL.asString->_val), newArray, allocator); + break; + default: + spdlog::warn("SQ_EncodeJSON: squirrel type {} not supported", SQTypeNameFromID(node->val._Type)); + break; + } + } + } +} + +template void EncodeJSONArray( + SQArray* arr, + rapidjson::GenericValue, rapidjson::MemoryPoolAllocator>* obj, + rapidjson::MemoryPoolAllocator& allocator) +{ + for (int i = 0; i < arr->_usedSlots; i++) + { + SQObject* node = &arr->_values[i]; + + rapidjson::GenericValue, rapidjson::MemoryPoolAllocator> newObj(rapidjson::kObjectType); + rapidjson::GenericValue, rapidjson::MemoryPoolAllocator> newArray(rapidjson::kArrayType); + + switch (node->_Type) + { + case OT_STRING: + obj->PushBack(rapidjson::StringRef(node->_VAL.asString->_val), allocator); + break; + case OT_INTEGER: + obj->PushBack( + rapidjson::GenericValue, rapidjson::MemoryPoolAllocator>((int)node->_VAL.asInteger), + allocator); + break; + case OT_FLOAT: + obj->PushBack( + rapidjson::GenericValue, rapidjson::MemoryPoolAllocator>(node->_VAL.asFloat), + allocator); + break; + case OT_BOOL: + if (node->_VAL.asInteger) + obj->PushBack(rapidjson::StringRef("true"), allocator); + else + obj->PushBack(rapidjson::StringRef("false"), allocator); + break; + case OT_TABLE: + EncodeJSONTable(node->_VAL.asTable, &newObj, allocator); + obj->PushBack(newObj, allocator); + break; + case OT_ARRAY: + EncodeJSONArray(node->_VAL.asArray, &newArray, allocator); + obj->PushBack(newArray, allocator); + break; + default: + spdlog::info("SQ encode Json type {} not supported", SQTypeNameFromID(node->_Type)); + } + } +} + + +// table function DecodeJSON( string json, bool fatalParseErrors = false ) +template SQRESULT SQ_DecodeJSON(HSquirrelVM* sqvm) +{ + const char* pJson = g_pSquirrel->getstring(sqvm, 1); + const bool bFatalParseErrors = g_pSquirrel->getbool(sqvm, 2); + + rapidjson_document doc; + doc.Parse(pJson); + if (doc.HasParseError()) + { + g_pSquirrel->newtable(sqvm); + + std::string sErrorString = fmt::format( + "Failed parsing json file: encountered parse error \"{}\" at offset {}", + GetParseError_En(doc.GetParseError()), + doc.GetErrorOffset()); + + if (bFatalParseErrors) + g_pSquirrel->raiseerror(sqvm, sErrorString.c_str()); + else + spdlog::warn(sErrorString); + + return SQRESULT_NOTNULL; + } + + DecodeJsonTable(sqvm, (rapidjson::GenericValue, rapidjson::MemoryPoolAllocator>*)&doc); +} + + +// string function EncodeJSON( table data ) +template SQRESULT SQ_EncodeJSON(HSquirrelVM* sqvm) +{ + rapidjson_document doc; + doc.SetObject(); + + // temp until this is just the func parameter type + HSquirrelVM* vm = (HSquirrelVM*)sqvm; + SQTable* table = vm->_stackOfCurrentFunction[1]._VAL.asTable; + EncodeJSONTable(table, &doc, doc.GetAllocator()); + + rapidjson::StringBuffer buffer; + rapidjson::Writer writer(buffer); + doc.Accept(writer); + const char* pJsonString = buffer.GetString(); + + g_pSquirrel->pushstring(sqvm, pJsonString, -1); + return SQRESULT_NOTNULL; +} + +ON_DLL_LOAD_CLIENT_RELIESON("client.dll", ClientScriptJSON, ClientSquirrel, (CModule module)) +{ + g_pSquirrel->AddFuncRegistration( + "table", "DecodeJSON", "string json, bool fatalParseErrors = false", "converts a json string to a squirrel table", SQ_DecodeJSON); + g_pSquirrel->AddFuncRegistration( + "string", "EncodeJSON", "table data", "converts a squirrel table to a json string", SQ_EncodeJSON); + + g_pSquirrel->AddFuncRegistration( + "table", "DecodeJSON", "string json", "converts a json string to a squirrel table", SQ_DecodeJSON); + g_pSquirrel->AddFuncRegistration( + "string", "EncodeJSON", "table data", "converts a squirrel table to a json string", SQ_EncodeJSON); +} + +ON_DLL_LOAD_RELIESON("server.dll", ServerScriptJSON, ServerSquirrel, (CModule module)) +{ + g_pSquirrel->AddFuncRegistration( + "table", "DecodeJSON", "string json", "converts a json string to a squirrel table", SQ_DecodeJSON); + g_pSquirrel->AddFuncRegistration( + "string", "EncodeJSON", "table data", "converts a squirrel table to a json string", SQ_EncodeJSON); } \ No newline at end of file diff --git a/NorthstarDLL/scriptutility.cpp b/NorthstarDLL/scriptutility.cpp index cc4c0c00..db26cf31 100644 --- a/NorthstarDLL/scriptutility.cpp +++ b/NorthstarDLL/scriptutility.cpp @@ -1,23 +1,23 @@ -#include "pch.h" -#include "squirrel.h" - -// asset function StringToAsset( string assetName ) -template SQRESULT SQ_StringToAsset(HSquirrelVM* sqvm) -{ - g_pSquirrel->pushasset(sqvm, g_pSquirrel->getstring(sqvm, 1), -1); - return SQRESULT_NOTNULL; -} - -ON_DLL_LOAD_CLIENT_RELIESON("client.dll", ClientSharedScriptUtility, ClientSquirrel, (CModule module)) -{ - g_pSquirrel->AddFuncRegistration( - "asset", "StringToAsset", "string assetName", "converts a given string to an asset", SQ_StringToAsset); - g_pSquirrel->AddFuncRegistration( - "asset", "StringToAsset", "string assetName", "converts a given string to an asset", SQ_StringToAsset); -} - -ON_DLL_LOAD_RELIESON("server.dll", ServerSharedScriptUtility, ServerSquirrel, (CModule module)) -{ - g_pSquirrel->AddFuncRegistration( - "asset", "StringToAsset", "string assetName", "converts a given string to an asset", SQ_StringToAsset); +#include "pch.h" +#include "squirrel.h" + +// asset function StringToAsset( string assetName ) +template SQRESULT SQ_StringToAsset(HSquirrelVM* sqvm) +{ + g_pSquirrel->pushasset(sqvm, g_pSquirrel->getstring(sqvm, 1), -1); + return SQRESULT_NOTNULL; +} + +ON_DLL_LOAD_CLIENT_RELIESON("client.dll", ClientSharedScriptUtility, ClientSquirrel, (CModule module)) +{ + g_pSquirrel->AddFuncRegistration( + "asset", "StringToAsset", "string assetName", "converts a given string to an asset", SQ_StringToAsset); + g_pSquirrel->AddFuncRegistration( + "asset", "StringToAsset", "string assetName", "converts a given string to an asset", SQ_StringToAsset); +} + +ON_DLL_LOAD_RELIESON("server.dll", ServerSharedScriptUtility, ServerSquirrel, (CModule module)) +{ + g_pSquirrel->AddFuncRegistration( + "asset", "StringToAsset", "string assetName", "converts a given string to an asset", SQ_StringToAsset); } \ No newline at end of file -- cgit v1.2.3