133 Commits

Author SHA1 Message Date
Kawe Mazidjatari
5056d8f040 Move interface types to public header 2023-04-01 01:05:43 +02:00
Kawe Mazidjatari
aa42126154 Re-enable COMDAT folding and references linker optimization flags
Re-enabled to significantly reduce binary size without affecting code generation results.
2023-03-31 20:05:10 +02:00
Kawe Mazidjatari
1a361d9961 Remove /TSAWARE compiler flag from DLL projects 2023-03-31 00:19:23 +02:00
Kawe Mazidjatari
731bdbb010 Remove explicit COMDAT/References linker optimization flags 2023-03-30 23:03:48 +02:00
Kawe Mazidjatari
6b6ead34a4 Enable TERMINAL_SERVER_AWARE PE header flag
Enabled to enforce maximum compatibility with game executable, which has this enabled as well.
2023-03-30 22:57:19 +02:00
Kawe Mazidjatari
9a8b39d71d Additional compiler option changes
Force consistency between all libraries
2023-03-30 22:47:17 +02:00
Kawe Mazidjatari
c9f51a5dab Change project compiler options
Changed to match the assembly of the game as much as possible. Will be finished when port to CMake is completed.
2023-03-30 22:21:18 +02:00
Kawe Mazidjatari
47aabf244b Remove redundant tier1 files
These files are no longer necessary.
2023-03-28 01:30:09 +02:00
Kawe Mazidjatari
ab106a452c Disable SpdLog exceptions in release builds 2023-03-20 12:23:43 +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
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
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
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
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
b8bbe6e6d0 Add libcurl to project 2023-01-26 13:09:18 +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
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
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
Kawe Mazidjatari
afe8efbc2a Add CUserCmd class to SDK
Implemented CUserCmd to SDK. Constructor resets the class using the game's 'Reset' implementation as the majority of the structure is unknown.
2023-01-19 16:11:48 +01:00
Kawe Mazidjatari
54f08bd887 Work-in-progress user command executor
* Added some getters in 'CBaseEntity' and 'CServerNetworkProperty'.
* Implemented 'CPlayer::SetTimeBase'.
* WIP implementation of 'CPlayer::RunNullCommand'.
2023-01-19 15:25:45 +01:00
Kawe Mazidjatari
1cf03355a5 Light cleanup and work for future
Moved some structures around and added ehandle headers.
2023-01-19 02:03:36 +01:00
Amos
b63765e1dc Finished CPlayer inheritance 2023-01-18 12:39:18 +01:00
Kawe Mazidjatari
3ed423543e Add more entity structures to the SDK
Stuff will be separated properly very soon.
2023-01-18 01:34:40 +01:00
Kawe Mazidjatari
217bbc8ea1 Add new work-in-progress entity structures to SDK
Thanks to rexx for the structures.
2023-01-18 00:46:17 +01:00
Kawe Mazidjatari
21f4d0fa07 Initial working bots implementation
* Changed 'CClient' handle time to 'edict_t' which is an alias of 'uint16_t'.
* Changed 'g_pServerGameDLL' and 'g_pServerGameClients' init (obtain from factory instead).
* Use interface version macro's for obtaining factory pointers instead.
* Added 'g_pServerGameEntities'.
2023-01-16 21:09:21 +01:00
Kawe Mazidjatari
6139d943d8 Increase stack reserve size
Increased to that of 'r5apex.exe' for all dll's directly interfacing with the main game executable.
2022-12-28 16:37:55 +01:00
Kawe Mazidjatari
b4383478d1 Initial refactor of the CCrashHandler class
* Fixed recursive call.
* Format file similarly to Respawn's.
* Reduced output code size.

TODO:
* Call crashmsg.exe.
* Add build and system information.
2022-12-26 20:11:37 +01:00
Rika
10c82e7e64
Model fixup (#91)
* fix header, flags, and add rest of major structs

* minor type swap

* bone flags because there are new ones

* forgor this

* Add compressed vector types.

* fix bitfield sizes

* Fix compilation.

Co-authored-by: Marvin D <41352111+IcePixelx@users.noreply.github.com>
Co-authored-by: rexx <67599507+r-ex@users.noreply.github.com>
2022-12-26 01:42:26 +01:00
Marvin D
37a50c92b8 VectoredExceptionHandler init.
* Only gets compiled in for release builds.
* Attaches on gamesdk init, so should catch everything on dll setup also.
* Fake PDB parsing still needs to be done.
2022-12-23 02:56:40 +01:00
Marvin D
ef256618f6 CVTableHelper class for easier RE.
* THIS IS NOT SUPPOSED TO BE USED WITH SHIPPING CODE!
* This is used for a quick way to call virtual functions for reverse engineering and rebuilding big functions, upon successful rebuild, implement needed VTables accordingly.
2022-12-09 01:15:42 +01:00
Kawe Mazidjatari
1021a95068 Merge branch 'SignatureMap' into indev 2022-12-04 14:21:14 +01:00