And this is the actual case that made me think it was that way... I didn't realize some of them could be split. I thought if you were going to split it you had to put in a separate file e.g. jordarkelf_events..... I knew dependencies could override it, but outside of groupings like HIP (which pre-merger did do it) most mods don't tend to write in dependencies for each other.
And I'll second Finarfin's comment. Watching your explanations here and on Git have taught me a ton in the last few months and challenged me to try more. Actually - challenging my daughter now too. Though I'm making her wait for summer break before we try to write the pre - 1066 event/balances we have thought of.
Not entirely sure what you mean by 'split': But I think I understand. Yeah, to split a file of vanilla's (or upstream mod's), you need to first replace the upstream file to be split with an empty file. Then, there won't be multiple definitions when you break out the content into separate mod- or topic- specific files. PB's common/cb_types/00_cb_types.txt split is a good example of this. A similar but slightly quirky example is how plain PB's landed_titles.txt is split into multiple files. In this case, certain titles (e.g., titles that have a head of religion) must remain in landed_titles.txt for some stupid reason. All the rest are taken-out and split de jure by empire with titular titles in a small collection of files as well.
I will note that the PB/SWMH/PB+SWMH interaction is a complex thing to analyze in terms of what we've been discussing. There are multiple explicit dependencies in use and multiple cases of emptying-out and redefining files before they ever see the light of day. E.g., PB+SWMH
unsplits what plain PB did to landed_titles.txt by emptying-out the topic-specific files and allowing landed_titles.txt to be overridden by SWMH in the normal, monolithic fashion.
Regarding the props, thank you. I have a tendency to be too detailed sometimes, but I think that's somewhat a product of my technical job and educational/teaching background. The advantages to such a style of writing pretty much only apply to technical topics. Even then, that's only when your audience wants to understand the topic you're explaining.
I'm glad that you're watching git and even more delighted to hear that you have a daughter that you've apparently raised-up as a Paradoxian and a tinkerer (
and that you guys plan to do projects together, no less). That's really special.
Gotta say, z, I love your in-depth explanations of things. Does that make me a masochist?
Yes. When you
choose to follow me down the rabbit hole, it will almost always be educational or generate new ideas for both of us, though. When you don't choose, well, that's more like me being a sadist.
Rabbit Hole Alert:
If my nickname were a mod (it is), I'd have to be
almost perfectly explicit about all my possible dependencies, because just about everything would take higher precedence. This is what I want, because I always explicitly list my dependencies for those mods I knowingly override; if I'm trying out a new, random mod, I don't want to run the risk of silently overriding some of their files (likely making the mod break or its important features never work right). I'll know full well if my own functionality was overridden, but at least the mod I'm trying will work properly.
Here's where it gets truly geeky (what? you said you might be a masochist!):
The name of my personal mod is actually
~z, however. Why? Among the symbols directly accessible via a keyboard, only the tilde (
~) has a higher ASCII/byte/lexicographic value than lowercase
z. That guarantees I override no mod implicitly (unless they started with two tildes-- then, I'm in trouble). Indeed, the tilde is actually the absolute highest-valued ASCII character (with a byte value of 0x7F, or 127 in decimal). All of the rest of normal punctuation characters are either between or below the digits, uppercase, and lowercase sets (making each one serve a different purpose in such an ordered scheme). Lot of tricks can be performed with the tilde. Among other places, you'll see it used in software version numbers (version strings
must be capable of automatic comparison to each other).
The ASCII subset in Windows'
Character Map utility shows all printable characters (i.e., the visible ones) in order from lowest to highest. You can always use that as a guide to figuring-out mod or file load orders-- particularly when punctuation is involved-- as it really does come up a lot in intelligent modding and/or troubleshooting.
No, that's Ziji!
Aye, 'tis z.
Pop Quiz:
What happens when one mod or file name is a prefix of another? Which comes first (the lowest lexicographic value)?
Example:
We've got two mod versions named:
MFCamillus and
MFCamillus-NorseExtensions
They overlap in the files they override big time, as you might imagine. Which one's files will take precedence over the other? Why? Note that I haven't actually explained this quirk, but it is quite easy to intuitively derive. And, of course, there's an easy way to cheat (but not on the
why).
