Overlay D3D - Kissaki/mumble GitHub Wiki
General Documentation
On windows:
-
Initialisation starts in the Mumble client
Overlay_win.cpp
OverlayPrivateWin::OverlayPrivateWin
Loads mumble_ol.dll from the (running) Mumbles app path, viaQLibrary()->load()
-
On success, call
GetOverlayMagicVersion
Version check of Mumble clients expected overlay library version and the loaded library version -
Prepare for injecting the functions
InstallHooks
,RemoveHooks
,PrepareD3D9
,PrepareDXGI
,PrepareDXGI11
into the system library. -
Call the Prepare 9, 10, 11 functions
…
x. setActive(true) call from somewhere -> Installhook function is run
(not in alphabetical order, but a structured order)
* overlay ** ods.h - ods is a shorthand function for logging strings to debug - _ods_out and fods ** ods.c ** lib.h - structure data common to all D3D overlay libs ** lib.cpp ** HardHook.h - struct HardHook - Will serve as the intermediate object between lib and D3D windows lib, hooking the overlay lib into the windows one ** HardHook.cpp ** opengl.cpp ** overlay.h ** overlay.fx ** overlay.hex ** overlay11.hex ** overlay_blacklist.h - defines an array with the default process blacklist the overlay is not drawn in ** overlay.pro - Qt project file * overlay_gl - Overlay library source for _*nix_ systems ** overlay.c - The OpenGL hook code ** overlay_gl.pro - Qt project file * macx/overlay ** avail.h ** avail.pl - script to generate avail.h out of overlay.m ** mach_override.h ** mach_override.c ** overlay.m - - as [https://github.com/mumble-voip/mumble/pull/44#issuecomment-2648392](per), replicated from /overlay_gl/overlay.c ** overlay.plist ** overlay.pro - Qt project file