This is a build of the `experimental` version of the emu in `steamclient` mode, with an included loader which was originally [written by Rat431](https://github.com/Rat431/ColdAPI_Steam/tree/master/src/ColdClientLoader) and later modified to suite the needs of this emu.
The backend .dll/.so of Steam is a library called `steamclient`, this build will act as a `steamclient` allowing you to retain the original `steam_api(64).dll`.
See both the regular and experimental readmes for how to configure it.
---
**Note** that all emu config files should be put beside the `steamclient(64).dll`.
2. While it is not mandatory, it is highly recommended to copy the relevant `GameOverlayRenderer` dll(s)
This is recommended because some apps check for the existence of this dll, either on disk, on inside their memory space, otherwise they'll trigger custom protection.
*`ExeRunDir`*(optional)*: generally this must be set to the folder containing the game's exe, if left empty then it will be automatically set to the folder containing the game's exe.
*`ExeCommandLine`*(optional)*: additional args to pass to the exe, example: `-dx11 -windowed`
*`ResumeByDebugger`: setting this to `1` or `y` or `true` will prevent the loader from calling `ResumeThread()` on the main thread after spawning the .exe, and it will display a mesage with the process ID (PID) so you attach your debugger on it.
Note that you have to resume the main thread from the debugger after attaching, also the entry breakpoint may not be set automatically, but you can do that manually.
The folder specified by this identifier should contain the .dll files you'd like to inject in the app earlier during its creation.
All the subfolders inside this folder will be traversed recursively, and the .dll files inside these subfolders will be loaded/injected.
Additionaly, you can create a file called `load_order.txt` inside your folder (root level, not inside any subdir), mentioning on each line the .dll files to inject, the order of the lines will instruct the loader which .dll to inject first, the .dll mentioned on the first line will be injected first and so on.
Each line inside this file has to be the relative path to the target .dll, and it should be relative to your folder. Check the example.
Any .dll file not mentioned in this file will be loaded later, but in random order.
This folder contains an experimental dll which, when injected, will attempt to patch the Stub drm in memory, mainly for newer variants but it also works on some of the older ones.
This isn't a complete solution, just a different method.
---
## `GameOverlayRenderer`
Some apps verify the existence of this dll, either on disk, or inside their memory space, that's why this dll exists.