jdog5000
Revolutionary
This thread is for questions and answers about the coding aspects of the Revolution mod and how to customize it or merge it with other mods. Some of these comments still hold for RevolutionDCM, but much has been changed by the new additions and the switch to the WOC Lite system for modular XML loading.
Source Code
The source code for RevolutionDCM, the latest and greatest version of Revolution, can be found on sourceforge. The source code for the last stand-alone version of Revolution is available here on CivFanatics.
General Modding Notes
This mod uses DrElmerGiggles custom event manager, many thanks to him for putting it together! It should be very easy to merge the Python portion with other mods that also use this convention.
This mod also uses Teg Navanis's enhancement of Stone-D's tool kit for saving mod data.
The Revolution effects for civics are now completely controlled by XML fields in CivicInfos.xml! This means this mod can now be merged with civics mods. See the XML FAQ and included CivicInfos.xml for a guide on how to set things up to work well. It also means that these XML changes are now required for the proper functioning of the mod.
SDK Parts
There are few gameplay changes in the Revolution SDK code, instead these changes mainly enable new features that were not possible otherwise. Included in these new features are the ability to create new civs in the middle of the game. The extensive Python parts of the mod make use of these new features and are really what drive Revolution.
Sources for the SDK code are included in the download as is an FAQ that contains (somewhat outdated but still useful) descriptions/answers to how to use the SDK sources for your own mod.
Compatibility With Other Mods
All components are designed to be as compatible with other mods as possible. It will work with any mod that simply adds new units/techs/civs/leaders, as it searches through the XML data for the best buildable units of a certain class or with a certain AI type and spawns new civs by searching for unused civs. However, it may not work properly if you have removed unit classes or removed some techs (like Horseback riding) or removed the minor or barbarian civs from the XML. For civics mods, you'll need to merge your changes with the Revolution fields in CivicInfos and associated Schema, see the include XML FAQ.
Multiplayer
Revolution does not work in multiplayer, but if you want to try to update it for multiplayer, please post. Not a trivial task.
Source Code
The source code for RevolutionDCM, the latest and greatest version of Revolution, can be found on sourceforge. The source code for the last stand-alone version of Revolution is available here on CivFanatics.
General Modding Notes
This mod uses DrElmerGiggles custom event manager, many thanks to him for putting it together! It should be very easy to merge the Python portion with other mods that also use this convention.
This mod also uses Teg Navanis's enhancement of Stone-D's tool kit for saving mod data.
The Revolution effects for civics are now completely controlled by XML fields in CivicInfos.xml! This means this mod can now be merged with civics mods. See the XML FAQ and included CivicInfos.xml for a guide on how to set things up to work well. It also means that these XML changes are now required for the proper functioning of the mod.
SDK Parts
There are few gameplay changes in the Revolution SDK code, instead these changes mainly enable new features that were not possible otherwise. Included in these new features are the ability to create new civs in the middle of the game. The extensive Python parts of the mod make use of these new features and are really what drive Revolution.
Sources for the SDK code are included in the download as is an FAQ that contains (somewhat outdated but still useful) descriptions/answers to how to use the SDK sources for your own mod.
Compatibility With Other Mods
All components are designed to be as compatible with other mods as possible. It will work with any mod that simply adds new units/techs/civs/leaders, as it searches through the XML data for the best buildable units of a certain class or with a certain AI type and spawns new civs by searching for unused civs. However, it may not work properly if you have removed unit classes or removed some techs (like Horseback riding) or removed the minor or barbarian civs from the XML. For civics mods, you'll need to merge your changes with the Revolution fields in CivicInfos and associated Schema, see the include XML FAQ.
Multiplayer
Revolution does not work in multiplayer, but if you want to try to update it for multiplayer, please post. Not a trivial task.