1434 Commits

Author SHA1 Message Date
Kawe Mazidjatari
79d602c274 KeyValues class rebuild (see description)
Class has been mostly copied from the Valve SourceSDK.
Modified to fit this particular engine.

Modifications include:
* More consistent naming.
* Using c++ style casts over c style casts.
* Using c++ datatypes for assigning default.
  - nullptr and size_t for pointers and size types.
2022-05-28 16:31:38 +02:00
Kawe Mazidjatari
dc9798d455 Add KeyValue leak tracing
CUtlVector has to be rebuild for this to work
2022-05-28 16:28:26 +02:00
Kawe Mazidjatari
c8432acc9a Add 'tier0/commonmacros.h' to precompiled header 2022-05-28 16:15:39 +02:00
Kawe Mazidjatari
e2b43b9753 Update keyvaluesystem
* Return global pointer with 'KeyValuesSystem()'.
* Declare 'bCreate' as false by default for 'GetSymbolForString()' and 'GetSymbolForStringCaseSensitive()'.
2022-05-28 16:14:53 +02:00
Kawe Mazidjatari
306174afdf Fix typo 2022-05-28 16:12:56 +02:00
Kawe Mazidjatari
059a394523 Add commonmacros.h and strtools.h/.cpp from SourceSDK
strtools has been redacted to just what we need
2022-05-28 16:12:37 +02:00
Kawe Mazidjatari
b19cf95420 Fix IFileSystem::RemoveSearchPath bug 2022-05-28 16:10:52 +02:00
Kawe Mazidjatari
c808aa077d Light KeyValues cleanup 2022-05-28 02:24:57 +02:00
Kawe Mazidjatari
dbec823be6 FileSystem improvements
* Added vftable interface for 'IFileSystem::RemoveSearchPath'.
* Added hook for 'CBaseFileSystem::AddSearchPath'.
* Added hook for 'CBaseFileSystem::RemoveSearchPath'.
* Added method in KeyValues for loading a KV file and parsing it via the game exe (loads from cache, vpk and disk).
* Added method in KeyValues to parse GameInfo.txt when the engine loads this.
2022-05-28 02:05:54 +02:00
Kawe Mazidjatari
52b8755219 FileSystem improvements
* Added proper pointer to g_pFileSystem_Stdio.
* Renamed existing one to g_pFullFileSystem (correct name).
* Obtain g_pFileSystem from the same constructor as g_pFileSystem_Stdio.
2022-05-27 22:38:49 +02:00
Kawe Mazidjatari
2cc47f60e2 Cleanup for 'StreamDB_Init' 2022-05-27 22:31:52 +02:00
Kawe Mazidjatari
83c57fbd99 Fix compiler error 2022-05-27 22:31:12 +02:00
Kawe Mazidjatari
facee1a871 Fix reference to natvis file
libcppkore
2022-05-27 17:00:12 +02:00
Kawe Mazidjatari
112f0a25b7 Update IConsole.h 2022-05-27 16:29:47 +02:00
Kawe Mazidjatari
bcd75b354a Fix suggest window drawing below server browser window 2022-05-27 16:28:37 +02:00
Kawe Mazidjatari
de2e91220d Cast to wider type 2022-05-27 16:28:03 +02:00
Kawe Mazidjatari
28ff12272f Cleanup 2022-05-27 14:39:43 +02:00
Kawe Mazidjatari
7db3e16a97 Align and use SQVM struct for builds below S3 2022-05-27 14:39:29 +02:00
Kawe Mazidjatari
e6ef3d71f1 Rename variable 'g_pIConsole' to 'g_pConsole' 2022-05-27 02:46:13 +02:00
Kawe Mazidjatari
58d46c0a8c Rename class 'IBrowser' to 'CBrowser'
Renamed 'g_pIBrowser' to 'g_pBrowser' as well
2022-05-27 02:44:36 +02:00
Kawe Mazidjatari
555eb264c1 Server browser cleanup 2022-05-27 02:39:08 +02:00
Kawe Mazidjatari
5aeac9f72a rename 'g_szNetKey' to 'g_svNetKey'
sv = string variable
2022-05-27 02:24:34 +02:00
Kawe Mazidjatari
fc74a692fa Prefix global vectors with 'g_v' 2022-05-27 02:21:54 +02:00
Kawe Mazidjatari
47d2e4c915 See description
* Added new function 'GetAvailablePlaylists' to all VM's.
* Moved function 'GetAvailableMaps' from UI VM to all VM's.
* Improved logic behind 'GetAvailableMaps'.
* Server browser and SQVM now rely on 'MOD_GetAllInstalledMaps'. This new function populates the global vector 'g_vAllMaps' with all installed maps.
* Improved 'KeyValues' structure to use union for shared members.
2022-05-27 02:08:51 +02:00
Kawe Mazidjatari
bf4d9d4ead Fix copy bug
Right click on element should now copy the selected index
2022-05-26 22:14:53 +02:00
Kawe Mazidjatari
2f4f4ae838 Merge branch 'gui_launcher' into indev 2022-05-26 22:05:32 +02:00
Kawe Mazidjatari
e1799887d0 Finished GUI SDK Launcher
Implemented logic behind console frontend.
cleaned up sdklauncher.cpp (methods properly split up in class).
2022-05-26 22:04:50 +02:00
Kawe Mazidjatari
7833eb9b1d Load ui_sdk.rpak upon init
Load ui_sdk.rpak after ui_mp.rpak.
Moved the loading of common_sdk.rpak to after common_sp.rpak/common_mp.rpak.
This should allow overriding existing assets.
2022-05-26 02:58:46 +02:00
Kawe Mazidjatari
c406147261 Load common_sdk.rpak upon init
The pak gets loaded before common_sp.rpak/common_mp.rpak gets loaded (this could be changed to after if needed).
2022-05-26 02:26:48 +02:00
Kawe Mazidjatari
49be7e4e96 Update ai_networkmanager.cpp 2022-05-26 01:44:54 +02:00
Kawe Mazidjatari
11652d015d SDK launcher progress
* Fixed compiler error when trying to compile SDK Launcher in debug (static lib was not compiled with static link runtime).
* Documented most stuff in basepanel.cpp
* Split some logic into dedicated functions in basepanel.cpp
* Implemented VDF parser from Matthias Moeller.
* Parse playlist file and load all playlists into the combo box.
2022-05-26 01:44:46 +02:00
Kawe Mazidjatari
4b72afb74f Light refactor for logging
Moved logging functions to dbg.h (tier0) and export them from the dll.
Added additional functions for checking bad pointers (debug only!).
Reduced output code size.
2022-05-25 14:18:29 +02:00
Kawe Mazidjatari
4eaba9f5a2 Gui launcher work
Improved theme
Implemented dedicated server and client logic (gui side only)
2022-05-25 12:07:08 +02:00
Amos
d233262b79 Things 2022-05-24 19:26:05 +02:00
Kawe Mazidjatari
dacd307663 See description
* Finished designer code for launcher gui.
* Basic implementation of setting flags for host launch option.
* Check in 'CHostState::LoadConfig' if -launcher is below 1.. if condition is met the cfg's will be executed from 'CHostState::LoadConfig'.
* Added 'StringIsDigit' utility.
2022-05-24 02:23:37 +02:00
Kawe Mazidjatari
7225de1bd4 Finished designer code
Work in progress gui launcher
2022-05-23 19:14:12 +02:00
Kawe Mazidjatari
4afc4e8d6a Update cppkore theme 2022-05-23 19:12:37 +02:00
Kawe Mazidjatari
b7057a1204 Set correct icon resolution
Small icon handle is no longer equal to large if Icon::ApplicationIcon() is called
2022-05-21 22:41:15 +02:00
Kawe Mazidjatari
04bee896be Fix string/wstring type conflict
cppkore uses string/wstring as StringBase while we use std::string/std::wstring as string/wstring. Changed all types in cppkore to String/WString instead.
2022-05-21 21:51:35 +02:00
Kawe Mazidjatari
f11f3fe95d Add 'cppkore' library to project 2022-05-21 19:58:09 +02:00
Kawe Mazidjatari
62f3108909 Cleanup 'NET_DisconnectClient()' 2022-05-21 18:56:56 +02:00
Kawe Mazidjatari
8bf6c196cd Improved SQVM structure
* Added more fields to the existing structure.
* Removed redundant C string casts.
Note: The global context objects appear to be a different class containing a pointer (0x8 in) to the VM objects.
2022-05-21 18:15:48 +02:00
Kawe Mazidjatari
f74371327e Reduce CPU time on dedicated server
Don't run 'CInputSystem::RunFrameIME()' each frame
2022-05-21 13:11:10 +02:00
Kawe Mazidjatari
a75aa33cc3 More consistent member variable names 2022-05-21 12:42:46 +02:00
Kawe Mazidjatari
4680f8cecc Reduce CPU time on dedicated server
Additional functions and statements found during performance profiling.
Swapped 'Community_Frame()' C3 patch in favor of using shipped ConVar instead.
2022-05-21 12:42:28 +02:00
Amos
d46db531a0 Use of v->GetContext() 2022-05-21 11:15:36 +02:00
Kawe Mazidjatari
853dd03f84 Remove additional overhead from dedicated server
This should reduce CPU time even more (2 whole frame loops for chat room (client only) and discord presence (client only)).

Idle mem has been reduced by .8MiB.
2022-05-21 01:57:21 +02:00
rexx
e5880fe590 rename SQFuncRegistration to ScriptFunctionBinding_t 2022-05-20 20:33:37 +01:00
Kawe Mazidjatari
52883808e1 Reversed CServer structure (almost complete). See desc
* Mostly rebuild CServer structure.
* Partially rebuild CNetworkStringTable structure.
* Partially rebuild CNetworkStringTableContainer structure.
* Removed redundant patterns which are now covered in the data structure.
2022-05-20 20:14:39 +02:00
Kawe Mazidjatari
efb7c36408 Light project restructure
Moved server/client headers and implementations into dedicated subfolder.
Renamed Some classes to match the game binary (e.g. CBaseClient is now CClient).
Removed redundant files.
2022-05-20 11:52:19 +02:00