33 Commits

Author SHA1 Message Date
Kawe Mazidjatari
8bf6dac3d8 Code improvements
* Use GetVirtualMethodTable for VFTable pointers.
* Pack CClientState to 4 bytes (this aligns it properly in memory).
* Use CClientState members directly for setting m_bRestrictServerCommands/m_bRestrictClientCommands.
2022-08-15 22:29:16 +02:00
Kawe Mazidjatari
88b3336758 Many small code improvements and optimizations
* Use c++ methods as much as possible.
* Use enum types for accessing NavMesh objects from array.
* Use size_t for for loops when testing against size types.
* Don't compute strlen twice of more on the same string.
* Don't use unnecessary c string casts if there is a method with a std::string overload.
* Don't create string objects from string pointers if we could use them directly.
* Don't initialize RCON password twice on each change, and don't set if the new password equals the old.
2022-08-11 11:07:45 +02:00
Kawe Mazidjatari
0c583d7522 Temporary fix for rpaks not loading from override dir 2022-08-06 22:17:47 +02:00
PixieCore
946da4b2cc Fix variable names in RTech::OpenFile 2022-08-06 00:20:49 +02:00
PixieCore
1cd0ae5c87 General code cleanup, Rebuild and hooked RTech::OpenFile
* RTech std namespace removal
* RTech::OpenFile Rebuild.
* FileHandleTracker_t fully reversed, grabbing m_FileHandles from memory now.
* RTech::FindFreeSlotInFiles needs more research.
*
2022-08-06 00:16:11 +02:00
rexx
2e3b4205c0 remove streamoverlay hook 2022-07-21 17:05:19 +01:00
rexx
cb4e422724 reimplement stream overlay drawing 2022-07-20 22:50:55 +01:00
PixieCore
8aa71d6676 RTech::CreateDXTexture cleanup. 2022-07-20 14:54:59 +02:00
PixieCore
f57da25341 RTech changes.
* Added RPakAssetBinding_t.
* Added RPakUnknownStruct_t
* PatternScan the global RPakUnknownStruct_t.
* Renamed Members of CMaterialGlue
* RTechTextureInfo_t now has another unknown member named.
2022-07-20 11:27:42 +02:00
PixieCore
2be140f09d Update rtech_utils.cpp 2022-07-10 13:24:48 +02:00
PixieCore
afc312d86d Removed s_pBitsPerPixelWord and implemented it properly. 2022-07-10 13:11:48 +02:00
PixieCore
0eec5c6361 Updated RTech.
* Further cleanup of RTech::CreateDXTexture.
* New field in RTechTextureInfo_t which counts the total streamed mips.
* Added a few comments.
2022-07-09 10:41:02 +02:00
Kawe Mazidjatari
59eeec656a Guard RTech::CreateDXTexture out for S0/S1 2022-07-08 23:50:38 +02:00
rexx
d64079fd6b enable CreateDXTexture hook 2022-07-08 22:33:43 +01:00
PixieCore
931670e0ac Moved dxgiFormat further down. 2022-07-08 23:19:53 +02:00
PixieCore
d51ceddf38 RTech::CreateDXTexture cleanup.
* Separated RPakTextureHeader_t and made an RTech version.
* Fixed up RTechTextureInfo_t struct.
* Still needs testing with 4K textures.
2022-07-08 23:18:15 +02:00
PixieCore
ff7ae51718 RTech::CreateDXTexture works now.
* Will clean up the function next.
2022-07-08 20:31:27 +02:00
PixieCore
1b2c0cecd0 CShaderGlue changes and RTech implementation.
* Added RTech::LoadShaderSet for the asset load routine
* Grabbing CShaderGlue::SetupShader and CShaderGlue::m_pVTable dynamically now
* Everything verified for every season, cross-compatible!
2022-07-04 22:52:10 +02:00
IcePixelx
f1395c0bad
Little cleanup, branch to test changes when at home. (#69)
* Little cleanup, branch to test changes when at home.

* Remove non-used variables
2022-06-23 18:03:53 +02:00
PixieCore
0e4c126823 Revert NULL passing into second arg (was for testing) 2022-06-22 14:06:53 +02:00
PixieCore
62ac2c03ff RTech::CreateDXTexture fix for CreateShaderResourceView 2022-06-22 14:03:41 +02:00
PixieCore
8bf08af7b9 Start of RTech::CreateDXTexture rebuild.
* Currently crashes due to stack corruption.
2022-06-19 18:07:43 +02:00
Kawe Mazidjatari
e110aa5832 RTech decompress cleanup
Cast to proper types
2022-06-17 18:42:13 +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
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
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
e32cc6ae6a Code overhaul
Moved every pattern to IDetour interface. This allows for debugging patterns scans more easily, and create threads during pattern searching (Operation is now fired in APIENTRY).

Also cleaned up some unused code/extraneous comments.
Slightly increased performance by purging duplicate patterns.
Made variable search less dependent from other results (except if pattern-to-scan results is within the same header)
2022-04-18 03:35:08 +02:00
Kawe Mazidjatari
446f13680f Improve SQVM function registration and add SERVER and CLIENT logic
SERVER and CLIENT functions can now be registered as well.
For checking whether to register for CLIENT or UI, we now check its context instead of comparing pointers. For server, a dedicated function was build.
2022-03-28 19:34:51 +02:00
PixieCore
56a71aba56 A few RTech changes.
* Renamed pak_asyncload to pak_requestload
* Added new ConCommand to unload rpaks. It's called pak_requestunload.
* When CHostState requests an rpak unload, it will now print the name of it.
* Turned a few static addresses onto patternscans.
2022-03-28 18:47:11 +02:00
IcePixelx
71dabb52e1 RTech var renames and struct renames. 2022-02-13 17:07:02 +01:00
Amos
e03d74b753 Rename RTech decompression methods 2021-12-27 16:58:07 +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