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
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