845 Commits

Author SHA1 Message Date
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
Kawe Mazidjatari
72a2d07e66 Improve dedicated server performance
Prevent 'CClientState::Disconnect()' from being ran in 'Host_Disconnect()'.
2022-05-20 10:16:21 +02:00
Kawe Mazidjatari
604e25e046 Fix mistake 2022-05-20 02:46:18 +02:00
Kawe Mazidjatari
fc64dfc9be Default back to GAMEDLL_S3 2022-05-20 02:45:13 +02:00
Kawe Mazidjatari
60edcff6c2 Add JT_ParallelCall function to SDK 2022-05-20 02:35:36 +02:00
Kawe Mazidjatari
9f8ff78a8d Color logging improvements
Check local variable for overriding colors instead of relying on the global one set from 'sqstd_aux_printerror()'. This should make it render properly in the in-game console.
2022-05-20 02:14:54 +02:00
Kawe Mazidjatari
cb5f7cd1b0 Fix pattern for 'SV_ShutdownGameDLL()'
Now backwards compatible with older builds (function prototype changed).
2022-05-20 01:59:24 +02:00
Kawe Mazidjatari
0fa525c717 Fix CHostState structure alignment for builds below S3
Static level name array size has been increased from 32 bytes to 64 bytes in S3
2022-05-20 01:40:44 +02:00
Kawe Mazidjatari
1fb89c35c8 Rename to more appropriate name 2022-05-20 01:16:30 +02:00
Kawe Mazidjatari
ad90ef6813 Rename to more appropriate name 2022-05-20 01:12:05 +02:00
Kawe Mazidjatari
93b7a21849 Uppercase to lowercase for address logging 2022-05-20 01:08:09 +02:00
Kawe Mazidjatari
8c76283ba1 Color log game logic errors 2022-05-20 01:07:42 +02:00
Kawe Mazidjatari
f14b3e5dfa Confirmed working on <S3 2022-05-19 21:29:40 +02:00
Kawe Mazidjatari
62b062df6a Mat_CrossHair_f works and CMaterialGlue structure aligns 2022-05-19 19:37:54 +02:00
Amos
02744e2569 Fix alignment for SQVM struct 2022-05-19 10:56:27 +02:00
Kawe Mazidjatari
f2bfbdc568 Update cmd.cpp 2022-05-19 02:21:06 +02:00
Kawe Mazidjatari
3e403224d0 Pad seconds by 10 instead (3+1+6) 2022-05-19 02:20:52 +02:00
Kawe Mazidjatari
8816a28372 SQVM cleanup
The SDK could now obtain context index for builds before S3
2022-05-19 02:19:43 +02:00
PixieCore
67201edc82 fix comments on RTech::GetPakLoadedInfo. 2022-05-19 00:53:58 +02:00
PixieCore
5655b8c759 Implementation for rpak swap. Read description.
* RTech::GetPakLoadedInfo returns a reference now instead of a copy. Make sure to check the pointer is valid from now on if dealing with the returned pak entry.
* RTech::GetPakLoadedInfo now has a overloaded function that takes string as argument for searching an pak entry.
* new ConCommand pak_swap which has Pak_Swap_f as callback.
* Pak_Swap_f performs pak unload and then load again.
* pak_requestunload can now be used with pak name
2022-05-19 00:47:16 +02:00
Kawe Mazidjatari
6bd1643dfb Fix SDK for S1 bin 2022-05-18 02:04:37 +02:00
Kawe Mazidjatari
c19dc30898 Fix S1 compiler error 2022-05-18 01:22:59 +02:00
Kawe Mazidjatari
42bb077e8e Update cmaterialsystem.h 2022-05-18 01:01:49 +02:00
Kawe Mazidjatari
e83c1da649 Add missing directive 2022-05-18 01:01:30 +02:00
Kawe Mazidjatari
32487b4230 Fix SDK for S2 bin 2022-05-18 01:00:46 +02:00
Kawe Mazidjatari
ddfdb4ffd8 See description
Add '-nodiscord' and '-nobakedparticles' to launch params for dedicated.
Add hook for 'MemAlloc_Internal()'.
Rename loggers to be more consistent with naming.
Revert omitting frame pointers.
2022-05-17 23:00:30 +02:00
Kawe Mazidjatari
64abf323ec Update baseclient.h 2022-05-17 02:38:17 +02:00
Kawe Mazidjatari
bc94820b29 CBaseClient backwards compatibility 2022-05-17 02:37:48 +02:00
Kawe Mazidjatari
291ca3700d Update CBaseClient struct 2022-05-17 02:28:16 +02:00
Kawe Mazidjatari
2ef4f087c5 RPakLoadedInfo_t backwards compatibility
Padded struct with 48 bytes (extra FF padding in memory) to match the size with earlier builds (<S3)
2022-05-17 01:33:45 +02:00
Kawe Mazidjatari
325b3d15dc Cleanup 2022-05-17 01:31:49 +02:00
Kawe Mazidjatari
637041d5e7 Use 'fs' instead of 'std::filesystem' 2022-05-16 21:54:46 +02:00
Kawe Mazidjatari
2e38f2e0dd Forgot to unlock mutex in early return condition 2022-05-16 21:48:32 +02:00
Kawe Mazidjatari
3bdae1a05f Use mutex instead 2022-05-16 21:41:15 +02:00
Kawe Mazidjatari
e4c26736e5 Use DevMsg instead of Warning 2022-05-16 21:40:52 +02:00
Kawe Mazidjatari
6dff43bc75 Move and rename ConCommand callbacks appropriately 2022-05-16 21:15:25 +02:00
Kawe Mazidjatari
d1402a7465 General cleanup and improvements
Hook CPakFile::Unload() and track when mp_lobby is unloaded.
Removed duplicate pointers for MOD_ProcessPakQueue().
Use DWORD for thread id comparison in MOD_ProcessPakQueue().
Use RPakHandle_t for all RPak handles.
2022-05-16 20:44:19 +02:00
Kawe Mazidjatari
ea3caa1a0b Fix crash case on invalid pointer 2022-05-16 02:41:35 +02:00
Kawe Mazidjatari
15e01fe309 Fix crash on older windows versions 2022-05-16 02:00:46 +02:00
Kawe Mazidjatari
596682c483 More robust RPak loading/unloading system
This is currently the most robust way to perform this.
However it might fail still as the locks don't seem valid for the second loads (we currently load more paks from the same queue..).

We need to push the strings to the queue list and let the engine load these too so a new lock is acquired for that job.
2022-05-15 12:20:21 +02:00