2560 Commits

Author SHA1 Message Date
Kawe Mazidjatari
df98f30c57 Rename '-ansiclr' to '-ansicolor' 2023-03-27 17:10:11 +02:00
Kawe Mazidjatari
5aea2f4261 RCON system upgrade
RCON upgrade with additional logging system improvements:
* Netconsole's can now log received messages in color, even when the RCON server has ANSI colors disabled; logs are fully composed locally.
* RCON server now also sends the log type over the wire, along with the (already existing) context.
* SDK logging code is now shared with the standalone netconsole application.
* Improved logging readability for the standalone netconsole application.
2023-03-27 02:01:48 +02:00
Kawe Mazidjatari
608f14e920 Update protobuf source files
Added new field 'messageType'; renamed 'responseID' to 'messageID', renamed 'responseBuf' to 'responseMsg'.
2023-03-27 01:37:15 +02:00
Kawe Mazidjatari
27ddc30d68 Prune ununsed/useless cvars
Also removed these from the CFG files.
* 'sq_showvmoutput' has been renamed to 'script_show_output'.
* 'sq_showvmwarning' has been renamed to 'script_show_warning'.
2023-03-26 18:18:50 +02:00
Kawe Mazidjatari
4cb8f3f019 Enable SpdLog file rotation
Enable logger rotation. Rotation takes place when log file hits the limit defined by 'SPDLOG_MAX_SIZE'.
2023-03-26 17:47:42 +02:00
Kawe Mazidjatari
24b8cc6215 Check is no longer necessary
Check is no longer necessary; shipped cvars get initialized early enough now.
2023-03-26 17:46:30 +02:00
Kawe Mazidjatari
d9926af80c Fix compiler error for project 'dedicated' 2023-03-26 17:45:34 +02:00
Kawe Mazidjatari
a60609a0e8 Initialize concommand/convar as early as possible
'CSourceAppSystemGroup::PreInit' is as early as we can initialize them; CCvar gets initialized in 'CSourceAppSystemGroup::Create'.
2023-03-26 17:45:09 +02:00
Kawe Mazidjatari
8b89c1d2b5 Init concommand/convars a bit earlier
Init in 'CEngineAPI::Init'.
2023-03-26 16:47:47 +02:00
Kawe Mazidjatari
9978227915 Lock filesystem 'read' logs behind a cvar
Locked behind cvar as loading a single map already causes 500kb 'read' logs.
2023-03-26 16:21:49 +02:00
Kawe Mazidjatari
793fcd62f2 End of logger refactor
Changed all loggers to use the internal 'CoreMsg/CoreMsgV' functions. Significantly reduced duplicate code and CPU time. Code is also much more robust.

* Code now only acquires mutex lock when the actual logging part takes place.
* Code now only checks and strip ANSI rows if its enabled to begin with.
* Code now supports setting log levels, which ultimately could be tweaked with a cvar.
* Changed logger and file names to be more readable.

TODO:
* The RCON protocol has to be modified to accommodate these changes.
2023-03-26 16:09:05 +02:00
Kawe Mazidjatari
0f76c864fd Start of logger refactor
Start of refactoring entire logging system. This refactor should remove all duplicate code across all loggers. The logic behind DevMsg, Warning and Error has now been successfully refactored into a single helper function.
2023-03-25 21:27:49 +01:00
Kawe Mazidjatari
d9a6ab5cf6 Optimize script functions
Light cleanup and optimizations for Squirrel script functions. Use existing pointers or references as much as possible in place of extraneous string copies.
2023-03-25 17:54:05 +01:00
Kawe Mazidjatari
d12ecd80d8 Default 'GetSymbolForString(CaseSensitive)' creation overload to true
Default creation overload of 'GetSymbolForString' and 'GetSymbolForStringCaseSensitive' to true.
2023-03-25 17:31:41 +01:00
Kawe Mazidjatari
0f58137167 Light symbol cleanup 2023-03-25 17:26:42 +01:00
Kawe Mazidjatari
9dd34ef53a Merge recastnavigation/recastnavigation@8e9c308afd 2023-03-25 17:17:45 +01:00
Kawe Mazidjatari
cea69d3637 Merge recastnavigation/recastnavigation@3c4a34968a 2023-03-25 17:17:12 +01:00
Kawe Mazidjatari
3649f9be5c Remove old comment
This field has been reverse engineered.
2023-03-25 17:14:04 +01:00
Kawe Mazidjatari
3be9f3dd95 Use KeyValues for ImGui panel key binds
Use KeyValues instead of JSON for ImGui panel key binds. The Server Browser 'default' key has been swapped with the 'extended' one: Default = 'VK_F10', Extended = 'VK_HOME'.
2023-03-25 17:13:16 +01:00
Kawe Mazidjatari
d2369af46e NavEditor: Move "Save" button below "Load"
Minor UX improvements.
2023-03-25 12:24:09 +01:00
Kawe Mazidjatari
59e084eafa Add ImGui include directory to project directories 2023-03-25 12:09:06 +01:00
Kawe Mazidjatari
13d9ba3e13 Save SDK Launcher state in settings file
Store the state of the SDK launcher (toggled/text options) to a file on the disk to persist state.
2023-03-24 00:10:48 +01:00
Kawe Mazidjatari
193c5bdeba Move sdk specific cfg files to different folder
Move all SDK internal CFG's to 'cfg/system'.
2023-03-24 00:04:45 +01:00
Kawe Mazidjatari
1758abb0aa Fix 'cppkore' close event bug
Fix close callback getting called recursively when application gets closed by user. The initial call originated from 'Form::WmClose', second call from 'Form::CheckCloseDialog'. The original call should set the 'called' flag, but never did.
2023-03-23 23:43:05 +01:00
Kawe Mazidjatari
b169a78542 Force consistency within code
* Use C-style format specifiers everywhere.
* Use std::string as much as possible.
* Reorder CSurface class structure by groups.
* Light optimizations in 'CSurface::ForwardCommandToGame'.
2023-03-22 00:28:41 +01:00
rexx
338d0ad3f9 fix CUtlMemory dtor crash
for some reason this caused an exception when trying to free CUtlString in the console auto-complete routine.
2023-03-21 22:43:09 +00:00
Kawe Mazidjatari
c29c2a9063 Adjust SMap path formatting
'/' is always a path separator, '\\' is implementation defined. The standard filesystem class takes care for OS regardless. Changed to standard separator.
2023-03-21 00:20:22 +01:00
Kawe Mazidjatari
f66019fbf8 Prune unused features in 'libcppkore' 2023-03-21 00:16:03 +01:00
Kawe Mazidjatari
8177707413 SDK Launcher light refactor
* Fixed bug causing command line interface not to work properly.
* Optimized warning text and instructions.
* Terminal will not be freed when compiled in Debug/Profile.
* The console will now forward the command to all game window instances.
2023-03-21 00:14:54 +01:00
Kawe Mazidjatari
a5881094db Adjust build order
Build 'libspdlog' before 'sdklauncher'.
2023-03-20 14:17:41 +01:00
Kawe Mazidjatari
8d895bab14 Remove extraneous 'template' keyword in Protobuf
Has to be removed, as older (but still capable!) MSVC compilers throw the error 'C2903' (symbol is neither a class template nor a function template). Generated code remained identical after this change.
2023-03-20 13:54:26 +01:00
Kawe Mazidjatari
3da7f10430 Link SpdLog as static lib to netconsole
As static lib in all configurations, no exceptions in Release.
2023-03-20 13:45:06 +01:00
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
7b2c7927be Adjust build order
Build 'libsdl' before 'netconsole' and 'pluginsdk'.
2023-03-20 13:08:53 +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