Usual caveats apply, I've searched for this, though not exhaustively.
This thread by Knight Otu touches on the issue, slightly.
Now I'm looking at modding for the first time, it seems to me that it could be a bit more forgiving and/or structured in, say, an Elder Scrolls kind of way. What I'd suggest is that the game loads mods from a directory entirely other than the raws directory. Thus the game might load the raws for a new world in the following manner:
- Load vanilla raws from master dir
- Load mod raws from next mod dir
- If this mod overwrites an existing entry, do so
- Goto step 2
Advantages: Mods are more truly modular, easier to add and remove mods by simply adding or removing directories. There would be no issues with breaking the game when removing because the master raws would always fill the gaps. By loading mods in a predictable manner, e.g. alphabetic order, they can be combined predictably at run time without the hassle of having to manually combine them. If someone wanted to totally replace the master raws they could still do so. A simple screen could pop up at world-gen if mod folders were detected and let the user toggle mods on or off. I envisage this would only be applicable at worldgen since changing raws afterwards is extremely tricky.
Disadvantages: I'm prone to overlooking the obvious and there is probably some reason why this has not been implemented or it has already been considered. A system like this would possibly need some UI work on Toady's part which could make it into something less than kind-of-trivial to implement.
Thoughts?