Some cool stuff in the SVN. CvRhyes is almost gone, and should be all gone within a week
Moved all strings to Consts.py and maps to Maps.py. This means that:
- provinces, city art styles and settler maps can be changed without altering the DLL
- they can be changed even without restarting the game, allowing mods to change map data with events, respawns etc.
- actual maps can be resized without altering the DLL (the mod will load even if the map's size doesn't match the arrays in Maps.py)
- the mod can use multiple maps of different sizes with the same DLL (with some extra Python work you can have a single, multi-map mod)
- settler found values can be easily randomized in Python (see DataLoader.py)
SorenRand.py - replacement for Python random module based on Civ4's synchronous RNG; has useful functions like shuffle (shuffle a list), choice (select random list element), sample (select x random elements) or dice (roll 1-100).
Not on SVN yet - XML-to-variable converter; an easy way to handle XML data in Python, makes a large part of Consts.py obsolete. Once you import it, you no longer need to use getInfoTypeForString("...") or maintain long lists of variables that have match XML data. Instead you just do an import and you can use variables like UNIT_SPEARMAN or BONUS_IRON that always correspond to XML indices. The module loads all XML types found in the files, including future ones. The question is, again, whether modders' want it. After all it involves changing all the variables in all Python files. IMHO it's not that much work with Find&Replace, and the benefits are nice for future work, which always involves adding/removing a lot of units/buildings/bonuses etc.