Skip to content

Add dxgi to the proxy export list#103

Merged
ManlyMarco merged 1 commit into
NeighTools:masterfrom
HetCreep:feat/dxgi-proxy
Jun 22, 2026
Merged

Add dxgi to the proxy export list#103
ManlyMarco merged 1 commit into
NeighTools:masterfrom
HetCreep:feat/dxgi-proxy

Conversation

@HetCreep

@HetCreep HetCreep commented Jun 6, 2026

Copy link
Copy Markdown
Contributor

What

Adds the public dxgi.dll exports (CreateDXGIFactory, CreateDXGIFactory1, CreateDXGIFactory2, DXGIDeclareAdapterRemovalSupport, DXGIGetDebugInterface1) to proxylist.txt so the proxy also works when renamed to dxgi.dll.

Why

Some Unity 6 IL2CPP games - DMM titles especially - touch winhttp very early (their own networking/DRM), and with the winhttp.dll proxy host they silently fail to launch (#102). Those games import dxgi.dll too, so dxgi.dll is a clean alternative host - but the proxy currently exports no dxgi functions, so renaming it to dxgi.dll leaves the game unable to resolve CreateDXGIFactory* and it crashes on startup.

The proxy already picks its real host by its own filename (proxy.h -> system32\<name>.dll), so as dxgi.dll it forwards to the system dxgi correctly - only the export list was missing.

Testing

  • CI build green (the existing Windows build).
  • Built the x64 release, renamed it dxgi.dll, and launched Princess Connect! Re:Dive (DMM, Unity 6000.0.58f2, IL2CPP) with it: the game starts and BepInEx bootstraps, whereas the winhttp.dll host silently fails to launch the same game.

Additive only - winhttp.dll / version.dll are unaffected (they just carry a few extra unused exports, the same way winhttp and version already share one list).

Refs #102

@ManlyMarco

Copy link
Copy Markdown
Collaborator

The build needs to be fixed before this can be merged.

Forward the five dxgi.dll exports (CreateDXGIFactory/1/2,
DXGIDeclareAdapterRemovalSupport, DXGIGetDebugInterface1) so the doorstop
proxy can stand in as dxgi.dll -- the proxy host some titles load instead of
winhttp/version. Same mechanism as the existing version/winhttp lists.
@HetCreep

Copy link
Copy Markdown
Contributor Author

Rebased onto current master (now includes #106), so this is back to just the five dxgi exports.

The earlier CI red was an older toolchain treating -Wint-conversion as fatal on the generated proxy forwarders - the current clang builds the existing pattern fine (master is green), so no generator change is needed here. CI is green now.

@ManlyMarco ManlyMarco merged commit c957772 into NeighTools:master Jun 22, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants