2419 Commits

Author SHA1 Message Date
Kawe Mazidjatari
229361315d Cleanup compiler commands in all projects
Mostly reordered.
2023-03-20 13:12:07 +01:00
Kawe Mazidjatari
0eb945f402 Link 'libspdlog' to 'netconsole' and 'pluginsdk' project
No longer gets compiled in PCH; link as static lib.
2023-03-20 13:10:27 +01:00
Kawe Mazidjatari
990745e4f3 Remove extraneous compiler command from 'libcppcore'
Removed '/std:c++17'.
2023-03-20 13:09:32 +01:00
Kawe Mazidjatari
511eb74200 Remove extraneous compiler command from 'libsdl'
Removed '/arch:AVX2'.
2023-03-20 13:08:14 +01:00
Kawe Mazidjatari
362b0dbbd5 Compile SpdLog with no exceptions in release 2023-03-20 13:04:05 +01:00
Kawe Mazidjatari
ab106a452c Disable SpdLog exceptions in release builds 2023-03-20 12:23:43 +01:00
Kawe Mazidjatari
6a8085f024 Rename UI class to 'CSurface' 2023-03-20 11:16:29 +01:00
Kawe Mazidjatari
7b2a5d5d12 Initial major launcher code refactor
* Removed most boilerplate/duplicate code from launcher API.
* Make launcher API more friendly for external usage.
2023-03-20 10:26:43 +01:00
Kawe Mazidjatari
340c4d3383 Fix compile error in SpdLog
Added check for older compilers to prevent the error 'C2131' (expression did not evaluate to a constant).
2023-03-20 00:28:36 +01:00
Kawe Mazidjatari
68b5fc24fb Remove CSigCache singleton from PCH
Removed from precompiled header, and only used where needed.
2023-03-20 00:24:40 +01:00
Kawe Mazidjatari
aa332bad8a Format the function name out instead 2023-03-20 00:21:41 +01:00
Kawe Mazidjatari
1bd1ef6330 Make patching code compatible with older compilers
Make it compatible with older versions of the Visual Studio 2017 compiler.
2023-03-20 00:21:03 +01:00
Kawe Mazidjatari
cdb03a5d97 Use standalone filesystem functions instead
The member variants do not exist in experimental filesystem implementations.
2023-03-20 00:19:17 +01:00
Kawe Mazidjatari
dd48093c23 Add experimental switch header
This header allows us to properly switch between experimental/finished STD implementations without having to adjust the source code (required for compiling on older versions of the Visual Studio 2017 compiler).
2023-03-20 00:17:29 +01:00
Kawe Mazidjatari
767049e38f Add support for Windows SDK 10.0.10240.0
Defined missing types from this particular version of the SDK.
2023-03-20 00:10:49 +01:00
Kawe Mazidjatari
5762f767b5 Make RTech code compatible with older compilers
Make it compatible with older versions of the Visual Studio 2017 compiler.
2023-03-20 00:05:04 +01:00
Kawe Mazidjatari
8a95c956d5 Make launcher UI code compatible with older compilers
Make it compatible with older versions of the Visual Studio 2017 compiler.
2023-03-20 00:01:49 +01:00
Kawe Mazidjatari
3e9f405474 Fix MSVC error 'C2280' and 'C2955'
Fix 'attempting to reference a deleted function'.
Fix 'use of class requires a template argument list'.
2023-03-19 17:58:01 +01:00
Kawe Mazidjatari
1f1f5f5ae8 Prune 'libcppkore'
Only compile necessary files for the SDK launcher.
2023-03-19 17:55:37 +01:00
Kawe Mazidjatari
8e518ad2c6 Set C language standard to 'Default' 2023-03-19 11:57:07 +01:00
Kawe Mazidjatari
b33fa424b5 Fix edge case crash in VDF parser
Check if 'curObj' isn't nullptr.
2023-03-19 11:25:19 +01:00
Kawe Mazidjatari
180d762089 Fix SDK launcher bugs
Fixed bugs preventing the SDK launcher from working when compiled using the Visual Studio 2017 compiler.
2023-03-19 11:20:04 +01:00
Kawe Mazidjatari
a67de5bc58 Fix init crash on builds compiled with MSVC14
The MSVC14 (Visual Studio 2017) compiler doesn't support creating threads during dll entry. SDK fixed frame thread init has been moved to 'CModAppSystemGroup::Main'. SpdLog buffer flush worker init has been moved to 'SpdLog_PostInit', and 'SpdLog_PostInit' has been moved to 'LauncherMain'.
2023-03-18 21:42:30 +01:00
Kawe Mazidjatari
bdeadc039f Finish 'FindFileAbsoluteList' prototype
'CUtlString' has been implemented recently; finish function prototype.
2023-03-18 21:37:11 +01:00
Kawe Mazidjatari
fcf99d8f78 Fix bug caused by loading certain paths from mod
Don't attempt to load absolute file paths from the mod directory.
2023-03-18 21:36:05 +01:00
Kawe Mazidjatari
1bdc0c466e De-inline CHostState
Force inlining this was a temporary solution in the past to overcome a crash caused by stack corruption. This problem seems to be solved, and thus its no longer necessary to force inline all methods.
2023-03-18 17:36:09 +01:00
Kawe Mazidjatari
b7b9068870 Indicate when PCH is compiled 2023-03-18 16:46:15 +01:00
Kawe Mazidjatari
371e15db41 Fix many verbose compiler warnings
Many compiler warnings regarding implicit conversions.
2023-03-18 16:45:43 +01:00
Kawe Mazidjatari
e886208d64 Remove extraneous destructor
This caused the 'CUtlBinaryBlock' destructor to be called twice (freeing memory on the same pointer twice). Destructor should only be called explicitly in 'CUtlBinaryBlock' itself to purge vector memory due to late binding of game's memalloc singleton.
2023-03-18 15:40:04 +01:00
Kawe Mazidjatari
a0fe2a0b1a More dynamic project include paths
Lookup directly from project directory instead of solution directory.
2023-03-18 14:28:25 +01:00
Kawe Mazidjatari
62be540702 Properly shutdown SpdLog
Shutdown SpdLog on SDK shutdown or crash, this makes sure the buffers gets flushed.
2023-03-18 14:10:29 +01:00
Kawe Mazidjatari
fd7e981e8c Upgrade SpdLog library to 1.11.0
* Upgrade SpdLog library to 1.11.0.
* Compile SpdLog as static library.
2023-03-18 13:34:43 +01:00
Kawe Mazidjatari
f7e7858dae HexDump: optimizations
Optimize hexdump utility by packing as many trace calls as possible and by changing single character pointers to immediate values. Also adjusted function to support newer versions of the spdlog library.
2023-03-18 13:31:56 +01:00
Kawe Mazidjatari
7c8fc3a67d CPylon: explicitly cast status in string format to int
Newer versions of the 'fmt::format' library require these to be casted as such.
2023-03-18 13:29:40 +01:00
Kawe Mazidjatari
9dfb79ff4a Set floating point model to 'Fast' 2023-03-18 10:01:14 +01:00
Kawe Mazidjatari
52c14c5590 Add warning message during pch compile
Add warning message when binary is compiled in debug/profile mode; these should never be released.
2023-03-18 09:08:29 +01:00
Kawe Mazidjatari
da0153a3bd Fix incremental linking for Profile builds
Much faster compile times.
2023-03-18 02:37:55 +01:00
Kawe Mazidjatari
bbaa35cbaf Add 'Profile' build configuration
Add 'Profile' build configuration (similar configuration to many game engines).
This should be the main configuration for development. In the future, this will include incremental linking and asserts.
2023-03-18 02:04:18 +01:00
Kawe Mazidjatari
737aad34f6 CUtlString: promote everything to 64 bits
Fix all compiler warnings from CUtlString.
2023-03-18 01:59:32 +01:00
Kawe Mazidjatari
1f735f1f6e Improve comments regarding design issue 2023-03-18 00:55:03 +01:00
Kawe Mazidjatari
4e12402c76 Fix bug causing completion list to never update
Use actual 'partial' command input buffer instead of the explicit command name.
2023-03-17 19:24:54 +01:00
Kawe Mazidjatari
fd1a5d76cf Utilize the internal autocomplete suggest system
Utilize 'ConCommand::AutoCompleteSuggest' instead of our temporary inline console solution. This fixes all crashes caused by calling command autocomplete callbacks that uses the newer system (e.g. 'ent_fire').
2023-03-17 00:17:35 +01:00
Kawe Mazidjatari
98a01e0ae2 Add pattern for 'ConCommand::AutoCompleteSuggest'
Added pattern for 'ConCommand::AutoCompleteSuggest' (will be used for the console autocomplete instead as it supports the old and new callback system).
2023-03-17 00:15:43 +01:00
Kawe Mazidjatari
3db039b7d3 Compile utlstring 2023-03-17 00:14:28 +01:00
Kawe Mazidjatari
650b89fa25 CUtlString modifications
* Promote all size types to int64 to accomodate in-memory structure size of the game itself.
* Explicitly call destructors for members. Due to the way we hook the game and utilize the global memory allocation singleton, the destructor of the objects aren't called. CUtlVector does call the destructor of CUtlString. Explicitly defined a destructor that also destructs its underlying memory to avoid any memory leaks.
2023-03-17 00:12:37 +01:00
Kawe Mazidjatari
b030344c10 Add 'CUtlString' to SDK
Add 'CUtlString' from Source SDK.
2023-03-17 00:08:16 +01:00
Kawe Mazidjatari
6cb8e8854b Add 'Verify' macro stub in dbg.h 2023-03-17 00:04:08 +01:00
Kawe Mazidjatari
50d380df29 Define 'MAX_FILEPATH' in platform.h 2023-03-17 00:01:00 +01:00
Kawe Mazidjatari
877c867e08 Add 'tier0/annotations.h' to precompiled header 2023-03-17 00:00:37 +01:00
Kawe Mazidjatari
a0527721b6 Add new strtools
New strtools from Source SDK (will be used in the future).
2023-03-17 00:00:09 +01:00