13 Commits

Author SHA1 Message Date
Kawe Mazidjatari
1038ba786e CBaseClient overhaul and partial class rebuild
Also added initial CBaseServer rebuild
TODO: INetChannel rebuild..
2022-03-26 00:24:13 +01:00
Amos
f488b7e75e Load 'server' VPK's instead if the dedicated server is a standalone dedicated server
* Load server VPK's instead of client VPK's on standalone servers
* Dynamically search for 'g_bDedicated' global boolean instead of hardcoded address
* Add 'PatchString' to memory class
2022-01-26 23:45:58 +01:00
Amos
a359ae25bc Small update
* IVEngineServer::PersistenceAvailable() only sets the persistence var in the CClient struct when 'g_bIsPersistenceVarSet[clientidx]' is false.  It sets it to true when a client connects and the var has been set. The var gets reset on any disconnection, and 'g_bIsPersistenceVarSet[clientidx]' gets set to false by CBaseClient::Clear()

* current Origin globals are already cross season compatible.
2022-01-17 23:26:42 +01:00
IcePixelx
55b708c9fe Comment regarding persistence and hardcoded variables. 2022-01-17 03:41:27 +01:00
Amos
381b97eb65 Remove unnecessary include
basetypes.h is now precompiled
2022-01-16 01:40:27 +01:00
Amos
8d1023212a Small alignment 2022-01-10 02:24:30 +01:00
Amos
64c07af6e0 Cleanup to use new ConVar utilities 2022-01-09 17:17:05 +01:00
Amos
0177c17da9 Draw simulation stats and GPU stats to debug text overlay 2022-01-09 16:14:41 +01:00
IcePixelx
ae09372cc7 Pylon system changes. 2022-01-09 14:35:43 +01:00
Amos
d52bd5eeec Initial support for S1 2022-01-05 23:02:20 +01:00
Amos
77c2be57ec Fix crash when setting persistence var in CClient struct 2021-12-27 02:06:03 +01:00
IcePixelx
15bfffdd0f Fixed typo. Properly mask off cheats and dev from concommands and convars. 2021-12-26 22:58:28 +01:00
Amos
d5b2e58dae Code base refactor + major performance and readability improvement. Read description for details.
* 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!).
2021-12-25 22:36:38 +01:00