Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Making raws able to properly handle mods and changes over multiple versions  (Read 861 times)

Tachytaenius

  • Bay Watcher
    • View Profile

Because managing raws with lots of mods (especially big, complex mods) as versions of mods and vanilla changes can be very, very difficult, I propose that DF's raws have a new feature added called... well, mods.

The raw folder would be supposed to remain unchanged and a new mods folder would contain a folder for every mod, which would contain files that denote changes to the raws in some sensible format.

The main mechanism would be the addition and removal of tags from and creation/deletion of objects, but things like replacing objects with new definitions or making changes under specific tags like castes would need to have their own mechanisms too.

Maybe every "mechanism" would have its own folder, where the files have where you are going to be making changes in unindented sections and the changes in indented sections. Example:
raw-mods/aging-goblins/add-tag/add-goblin-maxage.txt:
Code: [Select]
[CREATURE:GOBLIN:NONE] where NONE would be a caste
    [MAXAGE:60:80]

This would make changes to the raws far more sustainable over new versions and easier to add/update/remove as it'd just be a folder.

What do you all think? And, probably quite importantly, does anyone else struggle with organising their raws?
« Last Edit: April 29, 2022, 08:41:45 am by Tachytaenius »
Logged
"Even if they are natural laws, I cannot allow it!"

Tachytaenius

  • Bay Watcher
    • View Profile

my bad, i forgot to check for an already-present thread on the forums. http://www.bay12forums.com/smf/index.php?topic=179270.msg8332004#msg8332004
Logged
"Even if they are natural laws, I cannot allow it!"

Putnam

  • Bay Watcher
  • DAT WIZARD
    • View Profile

my bad, i forgot to check for an already-present thread on the forums. http://www.bay12forums.com/smf/index.php?topic=179270.msg8332004#msg8332004

...As well as the announcement of the new modding system 4 months ago:

Quote
Mods are now zip files in their own folder, and the vanilla objects are stored similarly (though they aren't zipped.) Plop a zip file in the mods folder, and it becomes available for use - it needs to have a little info.txt file inside of it so that the system can read it. The vanilla files also use the same format, so there'll be plenty of examples. The info file also allows author information, descriptions, and version/compat info, including required/conflicting mod identifiers.

When you create a world, you can set a load order from among the mods that are installed on your computer, including the vanilla objects. The default is just to load the vanilla objects in order, and you don't even see this if you haven't put mods on your system. On the other hand, vanilla objects don't need to be loaded at all, though obviously in that case you'll generally want something to replace them. Hopefully this will allow total object conversions and other large changes without needing to leave the in-game interface.

Saves no longer store their mods - this isn't feasible with all the graphics, so you'll need to have the right mods installed to load modded saves. Different saves on the same computer can still use different mods; it loads the specified mods with each save, so it doesn't matter if you have conflicting mods installed, as long as they don't conflict within a single world. Mods store version compatibility information, so saves should be able to update their mods if the authors provide when they release new versions. I've also generally restructured the data and raw folders so that more of the text files are encompassed in the object/mod system.