Ok, I wrote a Module under this new system myself to test things out, and I wanted to put out some notes on how to do it. Much of this might seem like gibberish until you actually get a chance to make one for yourself, but hopefully it is a handy reference when that time comes for someone.
-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-
MLF Files. These are the "Master Load Files" and their purpose is to control the order in which the Modules are loaded. Remember in the old system that you couldn't modify the same <Type> in the same file with 2 different modules. Whichever module loaded up last would be the only one read. This was REALLY bad for files where you had to include the entire thing (like an improvementinfos file which included an improvement which can upgrade), since then only the last file would be used at all.
There are a few ways to use the MLF:
First, you can just NOT use it. Then the loading is done in whatever order the DLL decides to grab them in (generally alphabetical by folder depth). The downside of this is that you will get an error message when you launch Civ from the desktop saying that it cannot find the MLF file. The error can be ignored though as it won't actually effect anything.
Second: You can use them to block modules completely by listing all of the folders EXCEPT the one you no longer desire to use.
Third: You can use them to control the loading order of each module. This is the INTENDED use. What order they are listed in is the order they will load in. You can make multiple configurations if you want, but swapping from one to another requires that you edit the MLF anyway, so I am not sure why that function was programmed other than because it was possible.
The downside of using them (remember the downside of NOT using them was that annoying little error message): If you use an MLF file in a folder to control the load order of the subfolders, then each subfolder must ALSO include an MLF. This can potentially cause you some issues someday if you forget it.
-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-
Refreshing:
There seems to be a small issue with the refreshing of the Text files in modules. I am still trying to figure out precisely what is going on with it, but it would seem that the text is cached when first read and then never looked at again, possibly if I could remember where the cache was I could clear it and be fine, but I have 2 text keys which simply don't seem to be getting read, and they are the 2 I added after the first time I launched the module.
-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-
Partial edits:
The flat out coolest feature of the entire new system, you can change a single line of any <Type> with just that type and the one line you want to change in your module. This means you are even LESS likely to need to update a module when a new patch comes out. As an example (which doesn't matter for FF, but would for Orbis) you can modify your favorite GameOptions to always be on by just stating the name of the option and the default value you would like.
Here would be the complete file you would need for my example:
Code:
<Civ4GameOptionInfos xmlns="x-schema:CIV4GameInfoSchema.xml">
<GameOptionInfos>
<GameOptionInfo>
<Type>GAMEOPTION_RAGING_BARBARIANS</Type>
<bDefault>1</bDefault>
</GameOptionInfo>
<GameOptionInfo>
<Type>GAMEOPTION_BARBARIAN_WORLD</Type>
<bDefault>1</bDefault>
</GameOptionInfo>
<GameOptionInfo>
<Type>GAMEOPTION_AI_NO_BUILDING_PREREQS</Type>
<bDefault>1</bDefault>
</GameOptionInfo>
<GameOptionInfo>
<Type>GAMEOPTION_AI_NO_MINIMUM_LEVEL</Type>
<bDefault>1</bDefault>
</GameOptionInfo>
<GameOptionInfo>
<Type>GAMEOPTION_NEW_RANDOM_SEED</Type>
<bDefault>1</bDefault>
</GameOptionInfo>
<GameOptionInfo>
<Type>GAMEOPTION_DOUBLE_EVENTS</Type>
<bDefault>1</bDefault>
</GameOptionInfo>
<GameOptionInfo>
<Type>GAMEOPTION_ALL_UNIQUE_IMPROVEMENTS</Type>
<bDefault>1</bDefault>
</GameOptionInfo>
</GameOptionInfos>
</Civ4GameOptionInfos>
And now those options would be selected at the start of each game for you. If more options are added in the future, everything updates just fine, the important thing is just that these options don't get renamed/deleted

To avoid even having to update at that time, you could modify things slightly to read:
Code:
<Civ4GameOptionInfos xmlns="x-schema:CIV4GameInfoSchema.xml">
<GameOptionInfos>
<GameOptionInfo>
<Type>GAMEOPTION_RAGING_BARBARIANS</Type>
<bTypeDependency>1</bTypeDependency>
<bDefault>1</bDefault>
</GameOptionInfo>
<GameOptionInfo>
<Type>GAMEOPTION_BARBARIAN_WORLD</Type>
<bTypeDependency>1</bTypeDependency>
<bDefault>1</bDefault>
</GameOptionInfo>
<GameOptionInfo>
<Type>GAMEOPTION_AI_NO_BUILDING_PREREQS</Type>
<bTypeDependency>1</bTypeDependency>
<bDefault>1</bDefault>
</GameOptionInfo>
<GameOptionInfo>
<Type>GAMEOPTION_AI_NO_MINIMUM_LEVEL</Type>
<bTypeDependency>1</bTypeDependency>
<bDefault>1</bDefault>
</GameOptionInfo>
<GameOptionInfo>
<Type>GAMEOPTION_NEW_RANDOM_SEED</Type>
<bTypeDependency>1</bTypeDependency>
<bDefault>1</bDefault>
</GameOptionInfo>
<GameOptionInfo>
<Type>GAMEOPTION_DOUBLE_EVENTS</Type>
<bTypeDependency>1</bTypeDependency>
<bDefault>1</bDefault>
</GameOptionInfo>
<GameOptionInfo>
<Type>GAMEOPTION_ALL_UNIQUE_IMPROVEMENTS</Type>
<bTypeDependency>1</bTypeDependency>
<bDefault>1</bDefault>
</GameOptionInfo>
</GameOptionInfos>
</Civ4GameOptionInfos>
What bTypeDependency does is it says "If this <Type> doesn't already exist, then ignore what I am doing here..." Which is a good thing because this is one XML file you do NOT want to add items to on accident
At this point, the little module which loads your favorite gameoptions is 100% immune to needing updated for any future patches (well, unless a new gameoption appears that you also want to set as default ON...

)
-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-
Graphics:
OK, Monsterous Creatures Module had an issue where the promotions showed up as HUGE pink boxes on mouseover of the unit. I said it was due to a space in the filename of the DDS, and I was right, just not COMPLETELY right. If there is a space ANYWHERE in the file PATH then this happens. So you can name your folder whatever you want, just don't use spaces if you will be including promotion buttons (or any automatically resized button for that matter)