1759 Commits

Author SHA1 Message Date
Marvin D
0e12551158 indent 2022-12-03 02:58:34 +01:00
Marvin D
9fb7667075 Info regarding CServerGameDLL::GameShutdown 2022-12-03 02:58:05 +01:00
Marvin D
c0c06a14b8 client networkable vars init. 2022-12-03 02:57:11 +01:00
Marvin D
0ba475b62f Most likely depth variable in cmaterialglue 2022-12-03 00:34:24 +01:00
Kawe Mazidjatari
41dbf77715 Add type alias uintp and intp
Commonly used types across Valve Source SDK.
2022-11-29 20:36:45 +01:00
Kawe Mazidjatari
25aa8f02c0 Update CMemStack to 64bit
Use unsigned 64bit integer types for all size types, and use 64bit format specifier. Also use 64bit pointer types/value assignments. The virtual class and overrides no longer exist, these have been commented.
2022-11-29 01:45:24 +01:00
Kawe Mazidjatari
3a4a5a08f8 Add CMemStack class 2022-11-29 00:01:47 +01:00
Kawe Mazidjatari
edeb8ea586 Add Valve Source SDK utl classes
These have pending modifications/implementations.
2022-11-28 23:54:38 +01:00
Kawe Mazidjatari
00deea0ccb Improve Audio logger color
A more vibrant orange.
Also improved consistency with RUI notify overlay.
2022-11-28 23:13:18 +01:00
Kawe Mazidjatari
6e1f15933f CUtlRBTree int64 promotion
Promote parameter types to int64 as CUtlMemory has been modified to use int64 for size types.
2022-11-27 22:26:02 +01:00
Kawe Mazidjatari
31a9d1cb25 Update IKeyValuesMemory method string parameter names 2022-11-27 22:13:47 +01:00
Kawe Mazidjatari
3d72d60385 Update IKeyValuesMemory method parameter types
These have been promoted to 64bit integers as CKeyValuesSystem::m_iMaxKeyValuesSize has been changed a 64bit
2022-11-27 22:12:30 +01:00
Kawe Mazidjatari
806f2514db Add new method to IKeyValuesSystem class
This is a new virtual method introduced in Respawn's engine.
2022-11-27 21:57:17 +01:00
Kawe Mazidjatari
f6c26464c7 Add IKeyValuesSystem class from Valve Source SDK 2013 2022-11-27 21:53:54 +01:00
rexx
b1b1e85b69 add MilesBankPatch hook for future debug print 2022-11-27 20:44:37 +00:00
rexx
6695a9bdaf add MilesQueueEventRun debug print 2022-11-27 20:44:17 +00:00
rexx
b15b876eed Revert "add more miles debug hooks"
This reverts commit feeaf5c54536a6ff7dae385314f9036ff45c4cd2.
2022-11-27 20:26:58 +00:00
rexx
feeaf5c545 add more miles debug hooks 2022-11-27 20:14:41 +00:00
Kawe Mazidjatari
3ab4597121 Use 'Warning()' if 'Miles_Initialize' failed 2022-11-27 17:41:03 +01:00
Kawe Mazidjatari
03dc4eada5 Move Miles and Bink hooks/implementations to shared 'codecs' folder 2022-11-27 17:27:35 +01:00
rexx
2636a5faa5 fix semicolon 2022-11-27 16:20:17 +00:00
rexx
70c64202b8 added Miles_Initialize print 2022-11-27 16:19:29 +00:00
Kawe Mazidjatari
4de66e7866 Add logging hook for Bink Video error output
Hook BinkOpen, and retrieve error message from exported function BinkGetError if BinkOpen failed.
2022-11-27 17:07:03 +01:00
Kawe Mazidjatari
6fbf78a4eb Add logging hook for Miles Sound System debug output
Miles Sound System sets a pointer to a logger function in the exported function "MilesStartup", which can be set by passing a pointer to your logging function in the first parameter. Since this call is inline, we just hook the function that Respawn used for the audio logger instead, which has the actual print within the function stripped.
2022-11-27 15:02:22 +01:00
Kawe Mazidjatari
d20250e436 Heavy output code cleanup
Only add to detour if the VFTable pointer didn't exist yet. Not declaring these in the anonymous namespace significantly reduces code size and unnecessary memory allocations. We might want to consider refactoring this, although it will probably require a big change.
2022-11-27 15:01:55 +01:00
Kawe Mazidjatari
9e7495e407 Added new logger types (AudioSystem & VideoSystem)
These loggers are to be used for hooking and logging Miles Audio and Bink Video systems.
2022-11-27 10:19:23 +01:00
Kawe Mazidjatari
befd3bbe8c Fix compile errors for client dll project
Server classes are only included on dedicated and host, client didn't use them. These files included the keyvalues header. Added header file to fix the compile errors.
2022-11-27 10:12:42 +01:00
Kawe Mazidjatari
81154df155 Improve Server Browser host panel
* Immediately display the "Stop Server" and "Change Level" buttons when hoststate indicated there is an active game, since stopping the server or switching levels is still valid when the server is not simulating.
* Only display the AINetwork/NavMesh rebuild/reload and Settings Reparse buttons when the server is simulating.
2022-11-26 17:04:12 +01:00
Kawe Mazidjatari
c13fe64abc Use correct types for RPak virtual pointers 2022-11-25 23:16:13 +01:00
Kawe Mazidjatari
adbd1816df Rename new RPak struct fields
Correct field names for RPakDescriptor_t, RPakMemPageInfo_t and RPakVirtualSegment_t.
2022-11-25 23:12:23 +01:00
Kawe Mazidjatari
277e05b2b8 Improve logging throughout SDK
Used proper enum for context. The low level tier1 stuff should print in COMMON.
Also added newlines where missing, the logging system will undergo a change where a newline will only be appended if we are logging in the same context without a newline.
2022-11-25 23:03:56 +01:00
Kawe Mazidjatari
8373cc70ca Rename/improve RPak structure fields
* Renamed for consistency.
* Added new structures for known fields.
2022-11-25 23:01:59 +01:00
Kawe Mazidjatari
69396d5f42 Fix edge case bug where client doesn't load pak files when connected to a remote server
We used the hoststate levelname string, but this only applies to the host. Keep the levelname that was passed to 'Mod_LoadPakForMap()', and set the init bool after we ran 'Mod_GetLevelSettings()'.
2022-11-25 02:34:34 +01:00
Kawe Mazidjatari
00bf56a6bb Log RPak patch header descriptors as well 2022-11-25 02:15:25 +01:00
Kawe Mazidjatari
9bc1a7f4e4 Fix RPak patch header size fields not getting set properly
Small mistake that happened when porting the decompressor over to the engine FileSystem API.
2022-11-25 02:12:54 +01:00
Kawe Mazidjatari
ad690379ab Log RPak build date/time properly during decompress
Log the date stored in the RPak header in full detail.
2022-11-25 00:57:32 +01:00
Kawe Mazidjatari
57f17a3aad Use engine's FileSystem API for decompressing and patching RPak files 2022-11-25 00:11:17 +01:00
Kawe Mazidjatari
1e76624c9b Increase viewport scroll speed for the recast editor
Due to the large scale of the Apex maps, and the modifications done to the library, this had to be increased significantly.
2022-11-25 00:08:10 +01:00
Kawe Mazidjatari
ea18f30eda Fix incorrect rasterization at tile borders (recastnavigation/recastnavigation#476)
Merge recastnavigation/recastnavigation@3901c5854c
2022-11-25 00:05:36 +01:00
Kawe Mazidjatari
c62620ec6b Fix bug where the playlists file doesn't reload when disconnecting from a server
When you connect to a server, the server sends its playlists down to the client. When we disconnect from the server, we reload the playlists so that our panels, and the game itself, presents the playlists that are on the clients disk. The reload never really happened as we checked if the call was not from the main thread, but since the large refactor several months ago, the call will always be issued from the main thread. I removed the dispatching code and made it only run on the client.
2022-11-24 16:29:53 +01:00
Kawe Mazidjatari
734e24b355 Fix edge case bug where level hasn't changed while it did
Fix bug where  'Mod_LevelHasChanged(...)' returns false even though it had changed. The static var was set in a different function which worked with the old system. The static var is now set within 'Mod_GetLevelSettings()', if 'Mod_LevelHasChanged()' returns true.
2022-11-24 15:47:14 +01:00
Kawe Mazidjatari
634184eb56 Fix bug where 'atof' was used instead of 'atoi'
This operation obtains the entity index, which requires 'atoi'. compiler casted it to int, but ideally we just convert it to an int right away.
2022-11-24 15:43:26 +01:00
Kawe Mazidjatari
4ba88963ff Fix bugs and many compiler warnings
* Promoted size types in CUtlBuffer to int64.
* Fixed bug where CUtlBuffer::GetPtr returns a 64bit pointer that was promoted from a 32bit integral type.
* Use int64/size_t for anything strlen, pointer subtraction, etc..
* Removed invalid structure alignment declarations.
2022-11-24 15:41:52 +01:00
Kawe Mazidjatari
1f10bb1643 Check ptr for 's_pLevelSetKV' before deleting
Only delete if the pointer is valid to prevent segmentation fault.
2022-11-24 13:41:18 +01:00
Kawe Mazidjatari
009fd49e7f Null hlclient pointer on dedicated server properly
We have a pointer to a pointer, as we obtain the address in which the pointer to the hlclient structure is set.
2022-11-24 13:39:57 +01:00
Kawe Mazidjatari
27d00215ac Use memalloc pool pointer directly 2022-11-24 12:10:11 +01:00
Kawe Mazidjatari
c24e8a9f21 Rename 'MOD_' to 'Mod_'
The engine names these functions as 'Mod_'.
2022-11-24 11:58:32 +01:00
Kawe Mazidjatari
8dc12644be Remove unused functions 2022-11-24 11:50:21 +01:00
Kawe Mazidjatari
b8b79385e1 Open ignore file in text mode 2022-11-24 11:48:23 +01:00
Kawe Mazidjatari
a7c33d4df3 Use KeyValues system for level settings file instead
Previously we used Json, however the rest of the game features KeyValues. I changed the system to feature KeyValues instead, to maintain consistency. Also improved the logic behind loading/parsing so we don't reparse the same level settings file if the pointer is still valid and we are on the same level.
2022-11-24 11:10:46 +01:00