Commit Graph

95 Commits (cf3dea2bbee0ac78ecc9b8b2896c1805eb9f95de)

Author SHA1 Message Date
Nemirtingas cf3dea2bbe Allow ImGui to process events if the overlay is hidden
This is used for the notifications when overlay is off.
2019-11-08 15:52:50 +01:00
Nemirtingas ce79df1c26 Added customizable notification
Notification can have a type depending on what to show.
2019-11-08 15:52:38 +01:00
Nemirtingas 982ec56007 Enable DX12 overlay 2019-11-08 15:46:57 +01:00
Nemirtingas c667dbd3af Rework DX12 overlay to use Present to render the overlay 2019-11-08 15:45:52 +01:00
Nemirtingas c006555b01 Add infos on friend game
Add friend appid and check if the game is compatible.
2019-10-14 16:35:53 +02:00
Nemirtingas bce574dc43 Changed windows id and fixed chat layout 2019-10-13 12:27:48 +02:00
Nemirtingas d467248236 Forgot to initialize overlay's close button 2019-10-13 12:27:44 +02:00
Nemirtingas 4d99b6affd Fix race condition
Fix race condition when renderer was found and we were hooking a library func
2019-10-13 12:27:41 +02:00
Nemirtingas 894300b6f4 Process raw mouse events
Some games doesn't use the window proc to get the mouse events (ETS2), but it checks for raw mouse inputs.
2019-10-13 12:27:37 +02:00
Nemirtingas 8abb0c8bc2 Add close button for overlay 2019-10-13 12:27:32 +02:00
Nemirtingas 6c09635600 Added the possibility to create new fonts.
Fonts cannot be created after a NewFrame call.
2019-09-05 09:00:02 +02:00
Nemirtingas e82579b82c Update steam_overlay.h 2019-09-04 17:40:22 +00:00
Nemirtingas 2db31928e9 Notifications 2019-09-04 19:31:31 +02:00
Nemirtingas 344674b889 revert of "Should fix the cursor until we draw our own cursor." 2019-09-03 19:22:08 +02:00
Nemirtingas 6ebc946607 Fixed overlay now showing on some games
In sanctum2, not writing in our own context makes the game crash.
2019-09-03 17:25:55 +02:00
Nemirtingas 1016e7f47f Fix lag on events
Found on sanctum2, returning 0 in XPending & XEventsQueued make the SDL do something else than polling events and makes lag the event loop.
Now the event loop returns 0 when there are no more events.
2019-09-03 17:25:42 +02:00
Nemirtingas ecd753422b Updated Linux X11 & OLGX hooks.
Use LD_PRELOAD=$PWD/libsteam_api.so app_name to load overlay.
2019-09-03 11:38:37 +02:00
Nemirtingas d6f29ffffa Added logs for Linux_Detour 2019-09-03 11:38:28 +02:00
Nemirtingas 5af1d18a8f Fixed overlay thread joining on himself 2019-09-02 10:51:32 +02:00
Nemirtingas 95e87eb832 Clean Linux Detour 2019-09-01 23:21:50 +02:00
Nemirtingas b9cd9ae6c2 Fix build 2019-09-01 20:53:16 +02:00
Nemirtingas 1785ae6eaf Moved every platform specific code to their own folder 2019-09-01 20:48:27 +02:00
Nemirtingas 549dc7c50e This carries window exit 2019-09-01 20:47:13 +02:00
Nemirtingas c27ab3993c Linux renderer detection 2019-09-01 20:47:10 +02:00
Nemirtingas 86f94bc337 Linux hooks 2019-09-01 20:47:07 +02:00
Nemirtingas 0573c4eb94 Windows only part 2019-09-01 20:47:00 +02:00
Nemirtingas 495bc957cd Added some os detection
Need to detect linux x86 or x64
2019-09-01 20:46:55 +02:00
Nemirtingas 92ed36f499 Linux version of detour 2019-09-01 20:45:43 +02:00
Nemirtingas b6eb929383 Should fix the cursor until we draw our own cursor. 2019-08-27 21:15:58 +02:00
Nemirtingas 4f7e42a905 Call the true function before initializing hook. 2019-08-27 19:56:41 +02:00
Nemirtingas 3c265596a9 Removed DX12 until further notice. 2019-08-27 19:21:32 +02:00
Nemirtingas 622c435cb7 Fixed typo in DX12 & reorder hook call.
Should call the Present function before hooking DX cause DX also hook Present even if the hook is disabled by Renderer_Detector before initializing the DX hook.
2019-08-27 17:40:44 +02:00
Nemirtingas 36e8966223 Cleanup again 2019-08-27 16:29:20 +02:00
Nemirtingas 04847abeb7 Overlay & Hook cleanup. 2019-08-27 15:45:53 +02:00
Nemirtingas 44d583ee7d Added class Renderer_Detector.
Hook_Manager now only manages hooks.
Renderer_Detector is used to detect the game's renderer. There will be 2 version of it. 1 for windows and 1 for Linux.
2019-08-27 15:38:07 +02:00
Nemirtingas ff25f294f0 Fixed typo 2019-08-27 00:16:53 +02:00
Nemirtingas 9b178146c4 Cleaned a bit hooks and added sanity checks. 2019-08-26 19:36:07 +02:00
Nemirtingas d0251b0b01 Some kind of DX12 hook 2019-08-26 16:46:56 +02:00
Nemirtingas 8e07dd0c6b Changed window detection. 2019-08-26 16:38:21 +02:00
Nemirtingas dd530e80b1 Now passing to hooks device object.
Added Base_Hook::get_lib_name to track what renderer is hooked for overlay.
Objects used to detect renderer type are now also used to hook the rendering functions. So we don't have to build another device.
Updated VTables for DX12.
2019-08-26 16:38:01 +02:00
Nemirtingas cd8c5fc2ea Fixed memory leak 2019-08-25 21:22:25 +02:00
Nemirtingas 42a22dd4bb Don't free objects with shutdown
Some games don't like to free the DX objects after the game has shut down.
2019-08-21 21:52:08 +02:00
Nemirtingas 4db2b6528c Changed window detection code.
GetModuleHandle(NULL) get the exe handle. Sometimes the window couldn't be found because the window wasn't created in the .exe but in a dll. Thats why I list all dll HANDLES and try to find the main window handle.
2019-08-21 21:50:59 +02:00
Nemirtingas 0fa2d82c67 Fixed overlay on x64
They are not longer available with GetWindowLong. There is a new function GetWindowLongPtr.
GWLP* must be used.
2019-08-21 10:46:58 +02:00
Nemirtingas 5a0653d080 Refactor dx device creation
Find the game's window instead of using the foreground window.
2019-08-20 23:27:17 +02:00
Nemirtingas dc7480c633 Better compatibility for dx10 and 11 2019-08-20 08:27:50 +02:00
Nemirtingas 8757f4a548 Fixed ressource leaks. 2019-08-19 19:51:35 +02:00
Nemirtingas c99628a88a Added hook retry.
Handed hook detection to a thread that can then retry.
With that, don't need to wait for loadLibrary.
Will remove all those commented functions in another version.
2019-08-19 18:57:55 +02:00
Nemirtingas 5893b69d1f Partially working DX12 overlay
DX12 hook seems ok, there are some bugs remaining.
ImGui setup for DX12 doesn't work.
2019-08-19 18:56:15 +02:00
Nemirtingas 3c83e08d34 Fix the last frame before not showing overlay
The last frame was sending inputs to the game window, making the game receive a <TAB>.
2019-08-18 17:49:47 +02:00