mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
* Codebase restructured to SourceSDK codebase style and .cpp/.h assertion paths in the game executable. * Document most functions with valve style 'Purpose' blocks. * Rename variables to match the rest of the codebase and Valve's naming convention. * Dedicated DLL and the SDKLauncher now share the same codebase as the DevSDK. * Obtain globals or pointers directly instead of waiting for runtime initialized data. * Dynamically search for all functions and globals (this doesn't count for dedicated yet!). * Initialize most in-SDK variables. * Move certain prints and other utilities under ConVars to reduce verbosity and increase performance. * Print all pattern scan results through a virtual function to make it easier to add and debug new patterns in the future. * Type global var pointers appropriately if class or type is known and implemented. * Forward declare 'CClient' class to avoid having 2 'g_pClient' copies. * Add IDA's pseudo definitions for easier prototyping with decompiled assembly code. * RPAK decompress Command callback implementation. * Load decompressed RPaks from 'paks\Win32\' overriding the ones in 'paks\Win64\' (the decompress callback will automatically fix the header and write it to 'paks\Win32\'). * VPK decompress Command callback implementation. * Move CRC32 ands Adler32 to implementation files. * Server will print out more details about the connecting client. * Upgrade ImGui lib to v1.86. * Don't compile id3dx.h for dedicated. * Don't compile id3dx.cpp for dedicated * Implement DevMsg print function allowing to print information to the in-game VGUI/RUI console overlay, ImGui console overlay and the external windows console * Fixed bug where the Error function would not properly terminate the process when an error is called. This caused access violations for critical/non-recoverable errors. * Fixed bug where the game would crash if the console or server browser was enabled while the game was still starting up. * Several bug fixes for the dedicated server (warning: dedicated is still considered work-in-progress!).
125 lines
5.5 KiB
C
125 lines
5.5 KiB
C
// Copyright(c) 2015-present, Gabi Melman & spdlog contributors.
|
|
// Distributed under the MIT License (http://opensource.org/licenses/MIT)
|
|
|
|
#pragma once
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Edit this file to squeeze more performance, and to customize supported
|
|
// features
|
|
//
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// Under Linux, the much faster CLOCK_REALTIME_COARSE clock can be used.
|
|
// This clock is less accurate - can be off by dozens of millis - depending on
|
|
// the kernel HZ.
|
|
// Uncomment to use it instead of the regular clock.
|
|
//
|
|
// #define SPDLOG_CLOCK_COARSE
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// Uncomment if thread id logging is not needed (i.e. no %t in the log pattern).
|
|
// This will prevent spdlog from querying the thread id on each log call.
|
|
//
|
|
// WARNING: If the log pattern contains thread id (i.e, %t) while this flag is
|
|
// on, zero will be logged as thread id.
|
|
//
|
|
// #define SPDLOG_NO_THREAD_ID
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// Uncomment to prevent spdlog from using thread local storage.
|
|
//
|
|
// WARNING: if your program forks, UNCOMMENT this flag to prevent undefined
|
|
// thread ids in the children logs.
|
|
//
|
|
// #define SPDLOG_NO_TLS
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// Uncomment to avoid spdlog's usage of atomic log levels
|
|
// Use only if your code never modifies a logger's log levels concurrently by
|
|
// different threads.
|
|
//
|
|
// #define SPDLOG_NO_ATOMIC_LEVELS
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// Uncomment to enable usage of wchar_t for file names on Windows.
|
|
//
|
|
// #define SPDLOG_WCHAR_FILENAMES
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// Uncomment to override default eol ("\n" or "\r\n" under Linux/Windows)
|
|
//
|
|
#define SPDLOG_EOL ""
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// Uncomment to override default folder separators ("/" or "\\/" under
|
|
// Linux/Windows). Each character in the string is treated as a different
|
|
// separator.
|
|
//
|
|
// #define SPDLOG_FOLDER_SEPS "\\"
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// Uncomment to use your own copy of the fmt library instead of spdlog's copy.
|
|
// In this case spdlog will try to include <fmt/format.h> so set your -I flag
|
|
// accordingly.
|
|
//
|
|
// #define SPDLOG_FMT_EXTERNAL
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// Uncomment to enable wchar_t support (convert to utf8)
|
|
//
|
|
// #define SPDLOG_WCHAR_TO_UTF8_SUPPORT
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// Uncomment to prevent child processes from inheriting log file descriptors
|
|
//
|
|
// #define SPDLOG_PREVENT_CHILD_FD
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// Uncomment to customize level names (e.g. "MY TRACE")
|
|
//
|
|
// #define SPDLOG_LEVEL_NAMES { "MY TRACE", "MY DEBUG", "MY INFO", "MY WARNING",
|
|
// "MY ERROR", "MY CRITICAL", "OFF" }
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// Uncomment to customize short level names (e.g. "MT")
|
|
// These can be longer than one character.
|
|
//
|
|
// #define SPDLOG_SHORT_LEVEL_NAMES { "T", "D", "I", "W", "E", "C", "O" }
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// Uncomment to disable default logger creation.
|
|
// This might save some (very) small initialization time if no default logger is needed.
|
|
//
|
|
// #define SPDLOG_DISABLE_DEFAULT_LOGGER
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// Uncomment and set to compile time level with zero cost (default is INFO).
|
|
// Macros like SPDLOG_DEBUG(..), SPDLOG_INFO(..) will expand to empty statements if not enabled
|
|
//
|
|
// #define SPDLOG_ACTIVE_LEVEL SPDLOG_LEVEL_INFO
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
// Uncomment (and change if desired) macro to use for function names.
|
|
// This is compiler dependent.
|
|
// __PRETTY_FUNCTION__ might be nicer in clang/gcc, and __FUNCTION__ in msvc.
|
|
// Defaults to __FUNCTION__ (should work on all compilers) if not defined.
|
|
//
|
|
// #define SPDLOG_FUNCTION __PRETTY_FUNCTION__
|
|
///////////////////////////////////////////////////////////////////////////////
|