Open JeodC opened 1 month ago
Loading extra.gam
is performed in manage.cpp. Perhaps this can be the entrypoint to loading mods. Possibly convert that entire section to a function and use it to load extra table files.
Will need to trace function calls, starting with InitTableFiles.
Description
This issue is really to document things. The Descent 3 Pyromania mod replaces the vanilla ship selection with custom models, each with their own properties, and has some other features like new titlescreen artwork, classic weapons and sounds, and its own gamemode (.d3m).
The mod was created via hex editing the executable (pre-source release) and the relevant files
mania15.hog
andtrack.hog
contain.gam
files that replace the original game'sTable.gam
andextra.gam
files (found ind3.hog
andmerc.hog
). There is currently no method to append table files, so to use Pyromania, one must outright replace existing ships. In the future, it would be nice to be able to implement addons such as this via appending table files and optionally selecting which parts to use (as in this one, the Telcom ship selection menu would not provide the full array of ships if appended). If successfully done, multiplayer would need some kind of check for modded ships which a client may not have models of.*Note: The
custom/graphics
andcustom/sounds
folders are used for ship decals and multiplayer taunts--NOT for mods as might be believed.