52 Commits

Author SHA1 Message Date
Amos
b9af86b9c1 Implement terminal utilities for Windows console + add new colors for various output variations
* Add new SDK launch logo.
* Remove ansi-color coding from in-game console and file loggers.
* Improve console colors for Windows.
* Implement various string utilities.
* Implement various terminal utilities.
2022-01-16 01:33:07 +01:00
Amos
f909635526 Separate SQVM function namespaces per VM type
* Separate based on VM type instead.
* Allow compilation for DEDICATED.
2022-01-16 00:35:39 +01:00
IcePixelx
829e122cea SQ Serverbrowser V1 push. Clean-up following after @r-ex fixed SQ things. 2022-01-15 15:25:19 +01:00
Amos
f2f8a088bf Fix compiler error caused merge from separate branch 2022-01-14 20:51:32 +01:00
Amos
1c5df4e178 Ansi terminal color support + big optimizations on all log systems + 'Warning()' hook
* Ansi colors can now be enabled with the '-ansiclr- flag.
* All loggers have been optimized and are all initialized only once at process startup.
* New hook for 'Warning()' print function with warning level.
2022-01-14 20:48:16 +01:00
Amos
0146f22e0a Implement CommandLine utilities 2022-01-10 01:20:44 +01:00
Amos
c292d8ad46 Implement new ConVar features
Slight cleanup with new ConVar features to be used throughout the SDK
2022-01-09 16:18:35 +01:00
Amos
b80be10c4d Compile LZHAM with the solution. Fix missing detours files for sdklauncher 2022-01-06 15:08:39 +01:00
Amos
a0b7bbf366 Compile Microsoft Detours with the solution 2022-01-06 02:22:28 +01:00
Amos
1612c439d2 Fix project filters 2022-01-05 23:44:01 +01:00
Amos
d52bd5eeec Initial support for S1 2022-01-05 23:02:20 +01:00
Amos
fbcea85631 Fix compiler error caused by merging commits from different branches 2022-01-04 12:11:59 +01:00
Amos
84e7729ca0 Add client and debug utilities + cleanup 2022-01-04 11:56:31 +01:00
Amos
22c0b5c867 Dedicated server improvements 2021-12-30 17:20:47 +01:00
Amos
39a8a8fd30 Implement patch to enable 'DrawAllOverlays()'. 2021-12-30 02:36:43 +01:00
Amos
69161ae6c0 Implement RTech_AsyncLoad hook and concommand
The ConCommand 'rtech_asyncload' allows the user to load specific pak files on-demand.
2021-12-27 16:53:35 +01:00
IcePixelx
8cfc55289b Git client decided not to commit this. 2021-12-25 22:58:51 +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
IcePixelx
262365b733 origin sdk, throw error if originsdk failed. 2021-12-15 15:58:50 +01:00
r-ex
7f86722116
changed paint hook for logsystem and fixed some issue (#58)
* changed paint hook

* Update gameclasses.cpp

* fixed vector issue with logsystem (i think)
2021-10-20 18:04:21 +02:00
rexx
ea336277bd base logsystem 2021-10-05 20:56:31 +01:00
IcePixelx
17d45a02aa Read description for changes.
* Completely re-wrote the DirectX creation and hooks.
* Using spdlog mostly everywhere now.
* Added prints for when compiled in debug.
* Using LockCursor now to prevent input to the game while in the gui.
* Patched the game to call CMatSystemSurface::LockCursor instead of it calling the inlined version.
* Added rebuild CHostState::FrameUpdate (Not finished yet)
* Added option to print to command prompt again.
* Added log Auto-Clear.
* Added scan for NetChan Encryption Key Pointer.
* Added more error handling when loading gui config.
2021-10-05 00:25:58 +02:00
r-ex
25c5a5c9af
custom native ui & client script functions (#52)
* custom native ui & client script functions

* spacing is hard

* sq_pushbool, sq_pushstring, sq_getstring, sq_getinteger

* sq_pushinteger, sq_newarray, sq_arrayappend, sq_newtable, sq_newslot

* Re-factored code.

Co-authored-by: IcePixelx <41352111+PixieCore@users.noreply.github.com>
2021-09-14 17:25:22 +02:00
IcePixelx
2da6d71fb3 Alot of changes read description
* Ban list added
* Playlist parser added
* Kick functions added
* Connect uses encryption keys now
* Fixed restricted server commands
2021-09-08 00:32:03 +02:00
IcePixelx
8496ccc417 Read description for changes!
* Parsing playlist from keyvalues now.
* When hosting a server it will ask for a playlist to be chosen.
* Load playlist on demand into memory.
* Load playlist from disk.
* Added LoadPlaylist hook to clear the MapVPKCache that causes crashes with launchplaylist concommand
* KeyValues class is useable now.
2021-08-20 23:40:44 +02:00
IcePixelx
b1bf7ee7c4 Re-Load playlists from disk after disconnecting or getting dropped of server. 2021-08-14 12:46:52 +02:00
Alex
d77878d638 Merge commit 2021-08-13 23:00:54 +03:00
Alex
5e3e8d5a5f Fixed prev commit (mostly) 2021-08-13 22:57:47 +03:00
Alex
ed36428cbb Separated web requests to comp-sv into r5net (new project); commit is not functional 2021-08-12 14:51:20 +03:00
IcePixelx
443d3fcc15 added filesystemwarning hook, commented and not doing anything yet 2021-08-08 22:32:30 +02:00
Amos
540ce8d2b0 Split CCompanion and CGameConsole into separate implementations 2021-08-06 18:12:07 -07:00
IcePixelx
8004ee4db3 Added more Server Host Utils. 2021-07-31 16:51:06 +02:00
IcePixelx
d47996821c Switched hooking lib for r5-dev and r5-dedicated. Refactored code base. 2021-07-27 23:08:20 +02:00
Amos
f02bc8a5fd Fixed small oversight 2021-07-26 05:58:49 -07:00
Amos
d45e6446df Initial project setup for dedicated server
* Move shared utils to shared directory
* Partial cleanup of existing codebase
* Add precompiled header for debug configurations
2021-07-26 03:32:37 -07:00
IcePixelx
b3d5b5c2ad Switched to precompiled headers, compile time is very fast now. 2021-07-19 15:45:42 +02:00
IcePixelx
5191a24d37 Added GameGlobals, Re-factored overlay.cpp. 2021-07-18 17:34:15 +02:00
IcePixelx
ebd13bfd11 Update r5dev.vcxproj.filters 2021-07-18 02:00:13 +02:00
alexsandulescu
5f85c0510d Merge remote-tracking branch 'upstream/master' 2021-07-16 23:12:20 +03:00
IcePixelx
33ba9ed11f Added CInputSystem Interface and use a different method of disabling game input. 2021-07-13 18:38:48 +02:00
alexsandulescu
0e2eab438e Fixed my shit 2021-07-09 22:27:32 +03:00
Amos
54de5fed0e Add spdlog library 2021-07-08 07:07:27 -07:00
Amos
cb0bbd6c42 Move external libraries to dedicated directory 2021-07-08 07:01:02 -07:00
Amos
869e60af66 Initialize input hooks 2021-06-19 11:21:31 -07:00
Amos
d424c75081 Refactor D3DX11 hook + implement ResizeBuffer handler
Destroy/release objects and recreate render view target on resolution change of the application
2021-06-16 16:12:53 -07:00
Amos
341d8fc638 Implement DirectX hook + ImGui console
/* PROTOTYPE */
2021-06-14 17:58:48 -07:00
Amos
003454d659 Implement Imgui files 2021-06-14 17:42:11 -07:00
Amos
584b64f0f3 Restructure R5Dev codebase 2021-06-14 17:41:20 -07:00
Amos
850bbc19ef Code refactor + improvents
* Move all utilities to single implementation file
* Remove unnecessary code in .cpp and .h
* Patch opcodes in runtime instead of patching raw PE file
* Move launch parameters to cfg folder instead
* Move back to pattern scan instead of hardcoded offsets
* Change langauge to new ISO C++17 standard
2021-06-08 10:54:49 -07:00
Amos
c8a682ddaa New hook for ConCommandBase::IsFlagSet(...)
Updated signatures
Code cleanup and improvements
Fixd some bugs and crashes
2021-04-25 14:36:55 -07:00