mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
This patch partially rebuilds the data block sender/receiver. The receiver leaks memory if the sender sends a bogus LZ4 packet, it would allocate memory to copy the encoded data into, from which it would decode it to the scratch buffer, but it would never deallocate this temporary buffer is the LZ4 decoder failed. This has been fixed. The second reason to rebuild these was to look into potential compression optimization. The data block rebuild now also features the latest LZ4 codec.
80 lines
2.4 KiB
C
80 lines
2.4 KiB
C
#pragma once
|
|
#include "shared_pch.h"
|
|
#if !defined(DEDICATED) && !defined(PLUGINSDK)
|
|
#include <d3d11.h>
|
|
#endif // !DEDICATED && !PLUGINSDK
|
|
|
|
// Must be included before any third party lib!
|
|
// this header replaces the standard new/delete
|
|
// operators with our own, along with the standard
|
|
// malloc/free functions.
|
|
#include "tier0/memstd.h"
|
|
|
|
// Thirdparty includes.
|
|
#include "thirdparty/detours/include/detours.h"
|
|
#include "thirdparty/detours/include/idetour.h"
|
|
|
|
#include "thirdparty/lzham/include/lzham_assert.h"
|
|
#include "thirdparty/lzham/include/lzham_types.h"
|
|
#include "thirdparty/lzham/include/lzham.h"
|
|
|
|
#include "thirdparty/zstd/zstd.h"
|
|
#include "thirdparty/zstd/decompress/zstd_decompress_internal.h"
|
|
|
|
#include "thirdparty/lz4/lz4.h"
|
|
|
|
#include "thirdparty/curl/include/curl/curl.h"
|
|
|
|
#include "rapidjson/document.h"
|
|
#include "rapidjson/writer.h"
|
|
#include "rapidjson/stringbuffer.h"
|
|
#include "rapidjson/prettywriter.h"
|
|
#include "rapidjson/error/en.h"
|
|
|
|
#if !defined(DEDICATED) && !defined(PLUGINSDK)
|
|
#include "thirdparty/imgui/imgui.h"
|
|
#include "thirdparty/imgui/imgui_internal.h"
|
|
#include "thirdparty/imgui/misc/imgui_logger.h"
|
|
#include "thirdparty/imgui/misc/imgui_editor.h"
|
|
#include "thirdparty/imgui/misc/imgui_utility.h"
|
|
#include "thirdparty/imgui/misc/cpp/imgui_stdlib.h"
|
|
#include "thirdparty/imgui/backends/imgui_impl_dx11.h"
|
|
#include "thirdparty/imgui/backends/imgui_impl_win32.h"
|
|
|
|
#include "thirdparty/nvapi/pclstats.h"
|
|
#include "thirdparty/nvapi/nvapi.h"
|
|
#include "thirdparty/nvapi/nvapi_lite_common.h"
|
|
#endif // !DEDICATED && !PLUGINSDK
|
|
|
|
|
|
#pragma warning(push)
|
|
#pragma warning( disable : 4505 )
|
|
#include "thirdparty/spdlog/spdlog.h"
|
|
#include "thirdparty/spdlog/async.h"
|
|
#include "thirdparty/spdlog/sinks/ostream_sink.h"
|
|
#include "thirdparty/spdlog/sinks/basic_file_sink.h"
|
|
#include "thirdparty/spdlog/sinks/stdout_sinks.h"
|
|
#include "thirdparty/spdlog/sinks/stdout_color_sinks.h"
|
|
#include "thirdparty/spdlog/sinks/ansicolor_sink.h"
|
|
#include "thirdparty/spdlog/sinks/rotating_file_sink.h"
|
|
#pragma warning(pop)
|
|
|
|
// Tier0 includes.
|
|
#include "tier0/memaddr.h"
|
|
#include "tier0/utility.h"
|
|
#include "tier0/module.h"
|
|
#include "tier0/basetypes.h"
|
|
#include "tier0/platform.h"
|
|
#include "tier0/platwindow.h"
|
|
#include "tier0/annotations.h"
|
|
#include "tier0/commonmacros.h"
|
|
#include "tier0/memalloc.h"
|
|
#include "tier0/tier0_iface.h"
|
|
#include "tier0/dbg.h"
|
|
|
|
// Tier1 includes.
|
|
#include "tier1/tier1.h"
|
|
#include "tier1/cvar.h"
|
|
#include "tier1/cmd.h"
|
|
#include "common/global.h"
|