Sorry for the late reply.
Hazelnut wrote: ↑Wed Feb 03, 2021 8:03 pm
So I've updated the section titled "Altering an existing town building" in this post
viewtopic.php?p=32886#p32886 with details of how the building list stuff works with building overrides, as well as the NameSeed I've added. (should hopefully be in the next DFU release)
Please give it a read and let me know if you have any questions, or whether it's clear?
Nothing jumps out at me as needing an improvement.
Hazelnut wrote: ↑Wed Feb 03, 2021 8:03 pm
Also, if you need any assistance with converting any work from block to building overrides I'm happy to help. I know this stuff is confusing and I definitely want the initial mods to be good examples of efficient use of the world data system.
Don't worry. I think I know how building overrides work. Also, I need to check but I think converting from Block to Building overrides or vice versa can be done by dumping the one while the other is installed.
Hazelnut wrote: ↑Thu Feb 04, 2021 11:55 am
Now your website is working for me I can see that you've documented every change - nice work, very impressed actually! (I imagine that I'd have not done that and then regretted it half way though making the mod if it were me
)
Thanks. I do that partly so that I can remember what I've changed.
Hazelnut wrote: ↑Thu Feb 04, 2021 11:55 am
I can see that as currently implemented it wont have a record to match in location data, so I think converting to building override will help avoid having to override every location it's present, but to get the name to vary by location would require some more changes.
Yeah, I've already encountered that issue and had to do some corresponding location overrides. The Temple to Zen fix was particularly nasty.
Hazelnut wrote: ↑Thu Feb 04, 2021 11:55 am
Thinking of maybe making the NameSeed get combined with location index to achieve this as a way to automate and avoid lots of location data overrides being required for this type of change. I tried it out and it works great. What do you think?
Sounds good. My only concern is if a building override that doesn't touch the name seed changes the buildings' names from vanilla.
Hazelnut wrote: ↑Fri Feb 05, 2021 7:59 pm
The other thing I've done is to see if the override system will allow an overridden RMB to have a building overridden and it doesn't. I'd forgotten some implementation details, but the RMB replaces the entire block data which is never read from DF datafiles, wheras building overrides are merged in as DFU reads the DF datafiles. So essentially if someone has your mod then no other mods can alter the blocks you've replaced. (probably a good safelty feature actually)
I'm very surprised and not so sure that this should be the correct way to do it. My thought is that the thing which has the smaller scope should override the thing with more. In fact, one of the reasons I went with block and location overrides is because I assumed that it worked this way. I also think the current implementation could cause issues for modders that made conflicting mods.
Let's take one possible scenario where modder #1 wants to edit a block's ground textures and Misc3dObjectRecords in the block while leaving buildings alone. Meanwhile, #2 creates a mod where he/she edits a few buildings in the block. #2 uses Building overrides whereas #1 uses a Block override since he/she has to. With how I thought things were implemented, the two mods would automatically be compatible. With how things are currently done, the two mods are incompatible unless #2 releases a separate version of the mod that consists of a block with the contents of both the Block and Building overrides.
For another scenario, modder #1 releases a mod that completely overhauls a Block and #2 makes one small change to one of the buildings. With how things are currently done, #2 once again has to release a separate version that uses the altered block and that one edit. With my assumption, #2 only needs to release a separate version of the Building override that has the changes from the two mods merged. Conversely, if #1 wants to prevent #2's mod from overriding the Block changes if his/her mod has a later priority, this can be done by creating Building overrides with the same data for every building.
That said, this is all just my opinion.