SADX Mod Loader

From Sonic Retro

Revision as of 11:37, 9 August 2013 by MainMemory (talk | contribs) (Created page with "{{Program | screen=SADXModManager.png | screenwidth=320 | version=2 | date=August 9, 2013 | status=Active | system=Microsoft Windows | games=[[Sonic Adventure DX: Director's C...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Template:Program SADX Mod Loader is a tool for DLL-based mods in the US release of the 2004 PC version of Sonic Adventure DX: Director's Cut (not the Steam release). The loader dll requires the Microsoft Visual C++ 2010 runtime, and the mod manager program requires .NET Framework 3.5.


To install the loader, extract the 7z archive to the folder SADX is installed in.
To install or uninstall the loader or to change the settings for the loader, run the SADXModManager.exe program.
At the top you'll find a list of available mods, with Up and Down arrows to change the order they're loaded in (if two mods change the same thing, the one on bottom will be used) and a "?" button which displays more information about the mod.
Below that you will find various options for the loader. Currently the options include:

  • Show Console: Shows a console window alongside the game, which will print the loader's version and build date, the mods loaded, any file replacements performed, and any messages that mods print.
  • Show SADX Debug Output: Displays debug messages from SADX in the console.
  • Don't Fix Window: By default, the loader inserts overrides SADX's window creation function with a version that produces a correctly sized window for your selected resolution. Checking this will disable this feature and use SADX's normal window creation instead.
  • Disable CD Check: Skips the code which checks your computer's disc drives for disc 2.
  • Use Custom Resolution: Allows you to specify a display resolution which is not included in SADX's default list. However, many nonstandard resolutions will simply cause SADX to close.

The "Save and Play" button will save your settings, launch the game (must be named "sonic.exe") and exit the manager.
The "Save" button simply saves your settings and continues.
The "Install loader"/"Uninstall loader" button will install or uninstall the loader dll. The DLL is placed over CHRMODELS.dll, with the original moved to CHRMODELS_orig.dll.
To install mods, simply place each mod in its own subfolder of the "mods" folder and tick the checkbox next to their entry in the mod manager's list.

Mod Features

The mod loader allows mods access to the following features:

  • Data Patching: mods can specify addresses to be patched and data to be written to those addresses.
  • Jump Insertion: mods can specify addresses to be overwritten with jumps to code in your DLL or other code in SA2.
  • Call Insertion: mods can specify addresses to be overwritten with calls to code in your DLL or other code in SA2.
  • Pointer Overwriting: mods can specify addresses to be overwritten with a pointer to data or code.
  • DLL Export Overriding: mods can specify names of exports to override from any of SADX's DLLs and the data to return instead.
  • File Redirection: mods can have a "system" folder containing files which will be used instead of data in SADX's "system" folder and subfolders. This does not require a DLL. Unfortunately this does not currently work for music or video files.

The mod loader also patches SADX's depth buffer list so it will use the highest available setting, rather than the lowest.