This caused the 'CUtlBinaryBlock' destructor to be called twice (freeing memory on the same pointer twice). Destructor should only be called explicitly in 'CUtlBinaryBlock' itself to purge vector memory due to late binding of game's memalloc singleton.
Optimize hexdump utility by packing as many trace calls as possible and by changing single character pointers to immediate values. Also adjusted function to support newer versions of the spdlog library.
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.
Utilize 'ConCommand::AutoCompleteSuggest' instead of our temporary inline console solution. This fixes all crashes caused by calling command autocomplete callbacks that uses the newer system (e.g. 'ent_fire').
Added pattern for 'ConCommand::AutoCompleteSuggest' (will be used for the console autocomplete instead as it supports the old and new callback system).
* Promote all size types to int64 to accomodate in-memory structure size of the game itself.
* Explicitly call destructors for members. Due to the way we hook the game and utilize the global memory allocation singleton, the destructor of the objects aren't called. CUtlVector does call the destructor of CUtlString. Explicitly defined a destructor that also destructs its underlying memory to avoid any memory leaks.
Fix crash caused in threading code; attempting to call a callback function. The callback ptr was assigned to uninitialized memory. Manual debugging revealed 'CEngineVGui::RenderStart' (semantic name) was causing the crash. Further research revealed that both 'CEngineVGui_RenderStart' and 'CEngineVGui::RenderEnd' weren't even necessary to draw the VGui debug overlays. These have been removed.
Check if we are initialized, have at least one socket, and in case of a console log, if we have at least 1 authorized netconsole before serializing the message and sending the result.
Removed all checks for 'ui.rpak' and 'ui_mp.rpak'. None of these are useful for dedicated server. 'bUnconnected' has been changed to true (should had been in the first place). Promoted some integers to 64bit types to suppress compiler warnings, output code remained the same.
Added 2 new patches:
* Patch0: Unnecessary loop called from 'CModelLoader::UnloadModel'. This calls a 'nullsub' CMaterialGlue vtable method.
* Patch1: CClientState constructor; Removed due to high mem allocation during init (100MiB+). 'CClientState' is useless on dedicated, and all its feature are thereof disabled.