14 Commits

Author SHA1 Message Date
Kawe Mazidjatari
d399b486b6 NVIDIA: rename Reflex function prefixes
Prevent ambiguity when AMD Anti-Lag 2 is implemented.
2024-09-13 21:29:25 +02:00
Kawe Mazidjatari
ceeaddb2e1 InputSystem: change mutex types
Use SDK's CThreadMutex, which is the actual underlying mutex type used for this class.
2024-07-29 19:26:36 +02:00
Kawe Mazidjatari
155bfd5be3 InputSystem: remove legacy code
InputSystem's interface has been reverse engineered already, the old placeholder interface is no longer needed.
2024-06-17 15:27:46 +02:00
Kawe Mazidjatari
fb8ef4f379 InputSystem: add reverse engineered 'InputStackSystem' class
Reverse engineered as part of reverse engineering class 'CInput' which is for a future commit. Singleton pointer has been exposed to SDK through the pointer 'g_pInputStackSystem'.
2024-06-16 20:32:57 +02:00
Kawe Mazidjatari
a165534b3c InputSystem: implement GetAttachedWindow()
No longer virtual in r5, but is still needed; reimplemented.
2024-06-16 20:27:05 +02:00
Kawe Mazidjatari
e825a1e7a8 IDetour: remove extraneous pointer assignments
Originally, we store the search results in a CMemory instance which we then assign to the actual function pointer. CMemory is just a pointer class; we can assign the results directly to the actual function pointer. This commit reduces a lot of code verbosity, and also reduced roughly 2KiB worth of static pointers in the resulting executable. This commit also officially deprecates the support for any GameDLL's below S3 (Season 3), since it makes more sense to port the assets from earlier/later games back to the version this SDK supports.
2024-01-02 15:21:36 +01:00
Kawe Mazidjatari
0251c59227 NVIDIA: properly enqueue frame ID
Sync Frame ID between main thread and render thread, this changes makes the integration PASS the reflex test utility.
2023-12-25 19:23:01 +01:00
Kawe Mazidjatari
0e62280896 NVIDIA: add PC_LATENCY_PING marker to msg pump 2023-12-24 20:38:50 +01:00
Kawe Mazidjatari
d42ca04e8c EngineAPI: key event dispatcher rebuild 2023-12-24 16:29:42 +01:00
Kawe Mazidjatari
fc668bb7f5 InputSystem: add comment to field 2023-12-24 15:15:17 +01:00
Kawe Mazidjatari
ccfef821b0 InputSystem: fixup enumerants and controller structs
Enumerants:
* ButtonCode_t::JOYSTICK_MAX_BUTTON_COUNT = 32 (previously 26, incorrect...).
* AnalogCode_t::JOYSTICK_FIRST_AXIS = 2 (previously 4, incorrect...).
* Added: ButtonCode_t::KEY_CREDITSIGN (k104, last key).
* Fixed up Xbox controller enums.

Structs xdevice_t:
* Added partially reversed unkownhiddevice_t structure (used for non-xbox hardware).

General:
* Added static assertions for structure sizes.
2023-12-24 02:58:11 +01:00
Kawe Mazidjatari
4ba6227759 InputSystem: largely reversed struct and fully reversed iface
Struct has been largely mapped out (still requires a bit of work, mostly the Xbox/Hid data structures). The vftable has been fully mapped out.
2023-12-23 17:23:17 +01:00
Kawe Mazidjatari
e541814482 IDetour: code refactor
Utilize the new IDetour::DetourSetup() code, IDetour::Attach and IDetour::Detach have been removed in favor of this (significantly reduces chance of user error). Since the template check happens in the idetour header, it is much more aggressive on type mismatches, such as a difference in parameter types, between the function and detour, will now raise a compile time error. As a result, some type mismatches have been fixed in this commit as well.
2023-11-26 13:21:20 +01:00
Kawe Mazidjatari
fd3e227a86 Align folder structure with p4 2023-09-19 22:13:22 +02:00