Commit Graph

552 Commits (0a5f136bc39a694a1ded348d34c7b30701c7d811)

Author SHA1 Message Date
Nemirtingas ea4588f442 (WIP) achievements support
build is also WIP
2019-08-21 20:52:36 +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
Nemirtingas ca0ef4380a Moved hooks calls and added hook retry
With that change, I no longer re-hook rendering functions as Hook_Manager::FoundRenderer removes all hooks and then we hook the true functions in the renderer specialization.
Added a retry count.
2019-08-18 17:12:57 +02:00
Nemirtingas 5b0306dccc Moved window hooks to its own class
Every class has a job. Overlay is to show an overlay not to hook windows functions.
Hook_Manager's job is to manage hooks and should not contain a reference to the overlay. (It should not contains any reference to directX or OpenGL either but I'll see that later... Maybe)
This makes the overlay code much cleaner and "could" be used in Linux as well.
2019-08-18 16:22:07 +02:00
Nemirtingas f096a2d8a2 Use LoadLibrary instead of LoadModule
LoadLibrary increase the reference count to the library. So we make sure this library is still loaded when we shut down the hook.
2019-08-18 16:19:28 +02:00
Nemirtingas fdeb5912d3 Try to Disable all inputs when overlay is on 2019-08-18 14:29:08 +02:00
Nemirtingas 7daf605511 Merge branch 'master' into overlay_h 2019-08-18 12:30:51 +02:00
Mr_Goldberg ced9b77afc
Tweaked auth delays. 2019-08-17 18:15:18 -04:00
Mr_Goldberg 06b4332187
Add some commented out code to disable https in winhttp. 2019-08-17 18:03:21 -04:00
Mr_Goldberg 0e17aeef76
Basic steamclient.dll emulation.
Build with STEAMCLIENT_DLL defined to build in steamclient.dll mode.
2019-08-17 18:02:15 -04:00
Mr_Goldberg e044205e71
Make encrypted ticket size more realistic. 2019-08-17 18:00:31 -04:00
Nemirtingas 757dc479e4 Removed inline 2019-08-16 19:32:32 +02:00
Nemirtingas 5d4b4371f3 Fixed everything that I've forgot 2019-08-16 19:21:30 +02:00
Nemirtingas d06fbba104 Added error handling when hook fails 2019-08-16 19:10:12 +02:00
Nemirtingas 71d3e301c2 Added Winmm (Wav Play) 2019-08-16 18:33:51 +02:00
Nemirtingas 1b37e837a1 Notification sound when something happen 2019-08-16 18:31:56 +02:00
Nemirtingas 7b53134512 Initialize overlay after full initialization of UI. 2019-08-16 18:30:55 +02:00
Nemirtingas 05f3fa09b3 Better compatibility for DX10 & DX11
Create a NULL Device (We only need it to retrieve its vtable)
2019-08-16 18:29:49 +02:00
Nemirtingas d7f6d254eb Added static glew to build scripts 2019-08-16 11:27:07 +02:00
Nemirtingas cb0e1dff25 Added opengl32 lib and declared glew as static 2019-08-16 11:11:13 +02:00
Nemirtingas 78ffbc6571 Added ImGui wildcard escape 2019-08-16 10:42:43 +02:00
Nemirtingas 2792793bf3 Only call overlay related functions if it is ready
Continue to receive friends notifications, so if the overlay becomes ready we already have the list of friends.
2019-08-16 10:37:45 +02:00
Nemirtingas 40615d07a7 Reworked how renderers are hooked.
Some games doesn't initialise Steam before initalizing their Renderer (even if the doc says to) . So instead of waiting for the game to initialize it, hook to the rendering functions and deduce which implementation should be used.
2019-08-16 10:36:44 +02:00
Nemirtingas 4d3c355fcc Renammed hook_<renderer> to start_hook 2019-08-16 10:31:29 +02:00
Nemirtingas 2fe5e90294 Reworked booleans 2019-08-16 10:28:23 +02:00
Nemirtingas 8abd24ca54 Re-enabled auto join if overlay is not ready 2019-08-16 00:12:11 +02:00
Nemirtingas 3516b98042 Replaced wildcard with sed. 2019-08-15 22:23:59 +02:00
Nemirtingas bbfdcd848f Moved download of glew 2019-08-15 14:02:40 +02:00
Nemirtingas 631bcd96ce Added glew and pointing to the right directory for imgui 2019-08-15 12:54:18 +02:00
Nemirtingas 71afa0daf6 Added ImGui include dir 2019-08-15 10:40:49 +02:00
Nemirtingas 86d74c7a05 Added EMU_EXPERIMENTAL_BUILD define 2019-08-14 23:57:47 +02:00
Nemirtingas 664d9a29b1 Updated build paths 2019-08-14 23:22:56 +02:00
Nemirtingas 9729ae9e4d Added overlay files to cmake 2019-08-14 23:01:56 +02:00
Nemirtingas 411c2c2dda Revert Test Fix 2019-08-14 22:31:44 +02:00
Nemirtingas c67bc528d1 Removed overlay from lobby_connect in linux build 2019-08-14 22:20:17 +02:00
Nemirtingas 2b5516f709 Even if disabled, remove overlay sources from linux build 2019-08-14 22:13:25 +02:00
Nemirtingas 6ef60bfe63 Test fix 2019-08-14 22:08:22 +02:00
Nemirtingas b17db3ce1d Added linux overlay (disaled) 2019-08-14 19:09:53 +02:00
Nemirtingas 7386e55fb5 Added overlay to windows batch build 2019-08-14 19:06:14 +02:00
Nemirtingas cb67853e45 Fixed build for 64bits 2019-08-14 18:54:38 +02:00
Nemirtingas 6224350142 Fixed compilation for windows 2019-08-14 18:11:00 +02:00
Nemirtingas 1ce95ec672 Fixed compilation on Clang-cl 2019-08-14 18:06:32 +02:00
Nemirtingas d87760b78b Created a define to not compile overlay. 2019-08-14 15:09:57 +02:00
Nemirtingas 40d7237ab0 Merge branch 'master' into overlay_h 2019-08-14 14:57:51 +02:00