Actions

SADX Mod Loader

From Sonic Retro

Revision as of 14:11, 15 April 2018 by Hivebrain (talk | contribs) (Text replacement - "MainMemory" to "MainMemory")
SADXModManager.png
SADX Mod Loader
Version: 2
Status: Active
System: Microsoft Windows
Supported Games: Sonic Adventure DX: Director's Cut PC
Credits: MainMemory

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++ 2017 runtime, and the mod manager program requires .NET Framework 4.0.

Installation/Usage

First, it's required that you have the U.S. version of sonic.exe (Can be found on MainMemory's page or compared with the MD5 C6D65712475602252BFCE53D0D8B7D6F)
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.
On the first page 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 buttons to refresh the list and view the mod folder.
On the second page you'll find a list of available cheat codes from the Codes.xml file in the mods folder.
Below that you will find various options for the loader. Currently the options include:

  • Debug Messages: These options allow debugging messages such as the loader's version and build date, the mods loaded, any file replacements performed, SADX's debug messages, and any messages that mods print.
    • Console: Shows a console window alongside the game which will display messages.
    • Screen: Displays debugging messages on the game's screen.
    • File: Writes messages to the file mods\SADXModLoader.log in UTF-8.
  • Don't Fix Window: By default, the loader 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.
The "Config Editor" button allows you to edit SADX's configuration settings, as a replacement for autorun.exe. It also allows you to change controller settings.

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 SADX.
  • Call Insertion: mods can specify addresses to be overwritten with calls to code in your DLL or other code in SADX.
  • Pointer Overwriting: mods can specify addresses to be overwritten with a pointer to data or code.
  • 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.
  • vgmstream Music: SADX can play music in any of the formats supported by vgmstream. For example, a file in the music folder named ecoast1.adx will be played in Emerald Coast part 1.

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

Download

External Links

Sonic Retro
Discussion thread