Especially with how little free time I have right now.
Still, it's too good of an idea to waste, so I wrote it down and I'll put it up here too, so anyone who cares to look can laugh at my feeble attempts in their free time.
The project is called the Fort Knox, and it is based on a more recent idea of mine combined with a rather well-known program I've already made before. Except this time it's going to be done in C#, a language I have only a faint knowledge of (basing on mediocre familiarity with C++ and some knowledge of VB). The recent updates have already rendered a large part of the existing ModBase project useless (like the tileset output), and the upcoming update will likely destroy it completely because of all the new raw structures and new per-save-folder raw placement.
So, to the things I typed down. The project consists of four (five) parts.
Part One: The Mason
- Scans the DF Raw files from a specified directory.
- Takes note of each file spec, entry, and tag.
- Takes note of all available values and present tags for each tag and entry.
- Outputs the notes on each file spec, entry, and tag to several massive files.
Part Two: The Architect
- Uses The Mason's massive metaraws to create a listing of possible entries and tags, and the rules by which they are placed.
- Provides special Raw structures for Mod files.
- Scans the DF Raw files from a specified directory.
- Scans the DF Text files.
- Scans the DF Mod files.
- Creates a per-entry per-tag internal listing of all loaded raws.
- Displays shorthands for all loaded raws in the user interface.
- Allows user to turn parts of the raws and distinct mods on and off.
- Allows user to add or remove mods, entries, and tags to the loaded raws, using the rules from the loaded Mason's metaraws as guidance for the user.
- Recompiles all loaded Raws into a final Rawset to be used by DF, using the loaded Mason's metaraws as guidance for tag placement.
Part Three: The Engraver
- Scans the DF Init file.
- Scans the DF Art and Graphics folders.
- Provides special functions for modifying existing Art and Graphics.
- Scans the DF ArtMod and GraphicsMod files.
- Creates an internal listing of all settings provided by the Init, Graphics and Mod files.
- Displays shorthands for all loaded settings in the user interface.
- Allows the user to adjust all loaded settings.
- Allows the user to turn ArtMods and GraphicsMods on and off.
- Allows the user to preview the graphics style of DF with the settings selected.
- Allows the user to save and load preset configurations of settings for sharing and reuse.
- Recompiles all loaded settings, Art and Graphics into a format used by DF.
Part Three Point Five: The Noble
- Scans the DF Music files.
- Scans the User Music files.
- Scans the MusicMod files.
- Allows the user to select a list of music compositions to listen to while playing.
- Allows the user to save and load composition lists as MusicMod files.
- Allows the user to select consecutive or random playing.
- Compiles the selected music tracks into one track for use by DF.
- Allows the user to set automatic randomization and recompilation of the track list on each launch of DF.
Part Four: The Fort Knox
- Provides the User Interface for the Mason, the Architect, and the Engraver.(and the Noble)
- Allows the user to save and load preset configurations of the Architect and the Engraver for sharing and reuse.
- Allows the user to compile all selected alterations to original DF files into a separate folder for distribution.
- Replaces the standard DF launching window, allowing the user to launch DF in fullscreen or windowed mode.
The "3.5" is there because I both don't know whether I will be separating it from 3, and because I'm not sure if it's going to be possible.
All in all, it's horrendously ambitious (it took me a lot of time to bring ModBase to where it is, and it's a lot simpler and with a much simpler language), but ultimately very useful to the community. So I might just plug away at it, and hopefully have something to show for it when the next release rolls around.
Suggestions and inspirational posts are very welcome.