I am sympathetic, but this would be too large already and likely to grow.
My ruling: no mod support in vanilla graphics packs.
To balance this: once someone designs a format for graphics to be included in mods, I'll give feedback and once happy implement it in PyLNP.
== Requested Features ===
Mod graphics addons should probably be able to do these three things at minimum:
- Add PNGs to the <DF>/data/art/ folder
- Concatenate text to the bottom of the <DF>/data/init/overrides.txt file (if one exists)
- Add PNGs, TXT files, and folders to the <DF>/raw/graphics/ folder
Bonus Points: Stonesense support
Normal graphics packs don't really need to add graphics to the Stonesense, but if a mod adds a new workshop or type of furniture, it would be nice if graphics for this could be added to Stonesense.
Stonesense support would need to at least be able to do these two things:
- Add folders to the <DF>/Stonesense directory (if it exists). These folders would be able to contain XML files, PNGs, TXTs, and more folders.
- Concatenate text to the bottom of the <DF>/index.txt file
== Graphics Addon format suggestions ==
In the root directory of a mod, have some kind of "Graphics Addons" folder. This folder could contain a bunch of different "addons". These "addons" would be like mini graphics packs. A mod could have a different addon for each graphics pack, or it could have several graphics packs share a single addon.
So inside your /LNP/mods/Fortress Defense Mod II/ folder you would have a /Graphics Addons/ folder (or whatever name works best). And inside that folder you might have several more folders. For example:
/Graphics Addons/GemSet/
/Graphics Addons/Rally Ho/
/Graphics Addons/Spacefox/
/Graphics Addons/Sphr16/
/Graphics Addons/Sphr18/
/Graphics Addons/Sphr32/
Since a graphics pack won't always have the same name in every Lazy Newb Pack, maybe it would be possible to search the value of "get_folder_prefix(pack)" to make a guess at what is currently installed. Maybe it could be made to look for either an exact match or a partial match. First it would check for exact matches, and if doesn't find any, then it would check for any partial matches. At first I was thinking it would be good to specify an addon to be the "Else" addon in case there are no matches, but you probably wouldn't want graphics addons to be installed into more ASCII-ish graphics packs like
Taffer and
AutoReiv.
The mod's manifest.json might be a good place to specify which addon should be used with particular graphics packs. I'm not sure if that would work very well for that, though.
Title: "Fortress Defense Mod II",
Content_Version: "v21",
Author: "darkflagrance",
Min_Version: "0.43.01",
Max_Version: "0.43.05",
Graphics Addon 1: "Sphr32",
Exact Matches 1: "DawnFortress 32" "DawnFortress_32" "DawnFortress 32x32" "DawnFortress_32x32" "Dawn Fortress 32" "Dawn Fortress_32" "Dawn Fortress 32x32" "Dawn Fortress_32x32",
Graphics Addon 2: "Sphr16",
Partial Matches 2: "Dawn Fortress" "Dawn Fortress" "Phoebus" "Obsidian" "Mayday",
Graphics Addon 3: "GemSet",
Partial Matches 3: "GemSet" "Gem Set" "Gem_Set",
Graphics Addon 4: "Sphr18",
Partial Matches 4: "Ironhand",
Graphics Addon 5: "Spacefox",
Partial Matches 5: "Afro" "Spacefox" "Space Fox",
Graphics Addon 6: "Rally Ho",
Exact Matches 6: "Rally Ho" "Rally_Ho",
Partial Matches 6: "Rally",
...
(Sorry, I'm not very familiar with how JSON works, but it gives you an idea.)
Sorry for any parts that don't make sense.
If my graphics pack already includes support for some mods, would I need to remove them? My graphics pack currently includes sprites for all the Fortress Defense races and Succubus sprites for Succubus Fortress.
I didn't realize
Rally Ho had so much
Fortress Defense support. I thought it only had graphics for its dark elf race. If you're going to continue adding support for more mod content, it would be convenient for me if there was a list somewhere (if there isn't already) that indicates what mods are supported.
Maybe not every graphics pack needs to use the same method of supporting mods. There's advantages to bundling mod-graphics with the mods, and there's advantages to bundling mod-graphics with the graphics packs.