218 Commits

Author SHA1 Message Date
Kawe Mazidjatari
47aabf244b Remove redundant tier1 files
These files are no longer necessary.
2023-03-28 01:30:09 +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
59e084eafa Add ImGui include directory to project directories 2023-03-25 12:09:06 +01:00
Kawe Mazidjatari
f66019fbf8 Prune unused features in 'libcppkore' 2023-03-21 00:16:03 +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
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
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
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
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
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
9dfb79ff4a Set floating point model to 'Fast' 2023-03-18 10:01:14 +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
3db039b7d3 Compile utlstring 2023-03-17 00:14:28 +01:00
Kawe Mazidjatari
33b8fcd825 Fix compiler output paths
Some output paths were wrong.
2023-02-12 19:35:10 +01:00
Kawe Mazidjatari
0734d56fe2 Add reversed 'CNetKey' class
Confirmed size, mostly unknown still. But some of this seems to be data related to OpenSSL.
2023-02-12 02:15:58 +01:00
Amos
a445e0fc9b Fix compile error for sdklauncher and netconsole
Thirdparty directory has to be set as include directory as well.
2023-02-11 17:44:56 +01:00
Kawe Mazidjatari
ff597ae6ad Add thirdparty folder to project includes 2023-02-07 00:10:48 +01:00
Kawe Mazidjatari
45ae9add6c Add missing includes to project filters 2023-02-06 23:58:42 +01:00
Kawe Mazidjatari
a67967134d Split x64 and x86 binaries
Don't overwrite each other.
2023-02-06 23:52:09 +01:00
Kawe Mazidjatari
feb1c7712f Remove 32bit project configuration for cppkore
CppKore doesn't support 32bit entirely.
2023-02-06 23:14:07 +01:00
Kawe Mazidjatari
b61870421f Remove 32bit project configuration for pluginsdk
Plugin cannot be 32bit as the game and SDK is 64bit.
2023-02-06 23:11:11 +01:00
Kawe Mazidjatari
f2fd9102d0 Properly configure project includes
Moved project includes from VC/System includes to project includes. This fixes the problem where the autocomplete feature doesn't work in Visual Studio when trying to include headers from the project itself.
2023-02-06 23:01:18 +01:00
Kawe Mazidjatari
836839e6a5 Add completion logic for 'give' command
* Implemented class 'CAutoCompleteFileList' (features engine's implementation for 'AutoCompletionFunc').
* Added completion callback for 'give' command.
2023-02-05 23:01:01 +01:00
Kawe Mazidjatari
dc10b2305a Remove 'cdll_engine_int' from dedicated
No longer required.
2023-02-05 19:19:03 +01:00
Kawe Mazidjatari
34f69a5b1e Move crashhandler implementation to tier0 2023-01-31 22:13:40 +01:00
Kawe Mazidjatari
b33c8794a0 Reorder registration order
Slight reorder, removed 'VStudioRenderContext' from dedicated.
2023-01-31 17:21:16 +01:00
Kawe Mazidjatari
f0512d7f92 Add 'CAppSystemGroup::Destroy' callback
* Add hook for 'CAppSystemGroup::Destroy'.
* Moved 'IAppSystem.h' header file to public.
2023-01-30 21:22:17 +01:00
Kawe Mazidjatari
5f56c23af2 Compile CRConServer for gamesdk
RCON can now be used on the host game as well (previously dedicated exclusive).
2023-01-29 16:07:02 +01:00
Kawe Mazidjatari
b98eee0268 RCON system refactor and improvements
* Use game's CNetAdr RCON and socket creator.
* Add support for constructing host from [ip]:port format in the netconsole client.
* Pass 'netadr_t' parameter by reference to 'CSocketCreator::OnSocketAccepted'.
2023-01-29 15:24:24 +01:00
Kawe Mazidjatari
500a7c1925 Finish libcurl implementation
Master server queries now use SSL.
2023-01-26 20:06:48 +01:00
Kawe Mazidjatari
14487abfaf Belongs to the previous commit 2023-01-26 20:01:21 +01:00
Kawe Mazidjatari
b8bbe6e6d0 Add libcurl to project 2023-01-26 13:09:18 +01:00
Kawe Mazidjatari
188cbf8359 Update protobuf to latest
Updated to v21.12.
2023-01-26 03:15:10 +01:00
Kawe Mazidjatari
f47fb63e5f Fix dedicated server compile errors
Huge cleanup for dedicated. All patches in 'opcodes.cpp' are now directly applied to the executable, and kept as reference in the source file. The patch logic is commented. Any other patches for the dedicated server executable should be documented in the patch file found in 'r5dev/resource/patch'.
2023-01-26 02:59:50 +01:00
Kawe Mazidjatari
a618990937 Detour code refactor
This change was planned for a long time. This moves all REGISTER calls to a single translation unit, this is required as we currently added a very dirty workaround for not registering duplicates by checking if VFTable pointer was already present in the vector... Registering from single translation unit prevents duplicate instances that gets created if header is included by more cpp files.
Reworking this reduced 100kb+ of compiled code. This commit also reworked the way functions/variables/constant gets logged with their addresses; the new code formats them on the fly, and allows for resize at any time. Formatting is no longer required by programmer.

TODO: currently there are some compile errors for dedicated and client dll's. These will be resolved very soon as they need to be properly worked out still (server & client only stuff needs to be properly split). Use the 'main' (stable) branch for the time being if you need to compile these dll's.
2023-01-25 02:26:52 +01:00
Kawe Mazidjatari
66ef9fb6a0 Fix crash in hitbox drawing code and light restructure
* Fix null pointer dereference crash in server hitbox drawing code; implemented a proper getter for CStudioHdr.
* Moved 'baseentity.h/cpp' to 'game/server/' instead.
* Overall light cleanup.
2023-01-23 23:21:29 +01:00
Kawe Mazidjatari
07ef57536d Add modelinfo vftable pointers 2023-01-22 16:48:16 +01:00
Kawe Mazidjatari
9903ed2597 Add bsp flags from source sdk 2023-01-21 16:38:55 +01:00
Kawe Mazidjatari
7b669ea8c6 Engine trace cleanup
Separate into different files to make it easier for other classes to access.
2023-01-20 17:20:50 +01:00
Kawe Mazidjatari
dcf05a0adf CClientEntityList reversal
Slightly reversed CClientEntityList while looking around its singleton.
2023-01-20 00:28:49 +01:00
Kawe Mazidjatari
82c914c2fd Detour 'Physics_RunThinkFunctions'
Hook will be used to run simulation for bots.
2023-01-19 22:53:45 +01:00
Kawe Mazidjatari
05748e6184 Add client movehelper to SDK
Structure and vftable align 100%.
2023-01-19 19:39:15 +01:00
Kawe Mazidjatari
754c986e3d Add server movehelper to SDK
Initial implementation of server movehelper. IMoveHelper interface class is fully reversed and aligns with implementation in engine. CMoveHelperServer is also reversed, excect for CGameTrace, though this isn't necessary for now.
2023-01-19 18:52:46 +01:00