RevolutionDCM for BTS


May 29, 2006
Where animals hop not run
RevolutionDCM mod download:

RevolutionDCM mod sources download:
Select the "RevDCM Source" optional add on when installing RevDCM, the source files will be installed into the main mod's folder

RevolutionDCM SVN SourceForge home:

Instructions for accessing SVN development versions:
(NOTE: these versions contain bugs and are not supported until officially released)

Downloading SVN versions of RevDCM

A link to older versions of RevolutionDCM:
Older versions

Current Version: 2.90
Downloads to date: 17587

Jdog5000, Glider1, phungus420, Afforess, Fuyu, Lemmy101(MP)

To integrate high quality mods onto the back of the brilliant Revolutions mod that add strategic richness to BTS, compliment Revolutions and yet still make for a compact download size. At all times basic BTS game experience and stability is it's reference guiding development.

Any combination of mods within RevolutionDCM are controllable in a user interface. Any mod can be turned on or off as desired within this interface. In this way, RevolutionDCM can be hypothetically reduced down to a base BTS 3.19 core running Better BTS and BUG. RevolutionDCM uses the Better BTS AI to incorporate these high quality mods:
Revolutions (SDK, Python, XML)
Dales Combat Mod (SDK, XML)
Influence Driven War (SDK, XML)
Revolution Inquisitions (SDK, XML)
Super Spies (SDK, XML)
BUGMod (SDK, Python, XML)
WoC Mod (SDK, Python, XML)
Better BTS AI (SDK, Python)
Better Bug AI (BULL) (SDK, XML)
RevolutionDCM is now capable of recognising and installing WoC modules, so long as they have been converted over to the RevolutionDCM schema and do not conflict with the mods already present in RevolutionDCM.


Big thanks to:
Jdog5000 and Dom Pedro II for Revolutions:

Dale for DCM (uniquely ported to RevDCM):

Moctezuma for IDW (uniquely ported to RevDCM):

Solver, Dresdon and Jdog5000 for the BTS unofficial patch:

Better BTS AI Team and Jdog5000:

Bug Mod Team and EmperorFool (uniquely ported to RevDCM):

Trojan Sheep for Super Spies (uniquely ported to RevDCM):

WoC Mod Team (uniquely ported to RevDCM):

Better Bug AI Team lead by Fuyu:

These people are some seriously brilliant modders and thinkers.

Also thanks for these important contributions as well:
Lemmy101 for helping to develop and fix multiplayer.
OS79 for helping test RevDCM 2.9 when everyone else is partying
Init and Carwyn for helping to debug and test multiplayer.
Johny Smith for his woc-lite concept
Faichele for his help with the woc code
Lord Tirian for super spies updates
PieceOfMind for the Advanced Combat Mod!
Smeagolheart for Examine City at Conquest mod
OrionVeteran for some core algorithms in Revolutions Inquisitions
Cephalo for the PerfectWorld map!
Thomas SG for the "Positions of Scores" scrollbar and Trait's code
Minor Annoyance for Global Warming Mod
Kael for Barbarian World game option
DaveMcW for Show Hidden Attitude Mod
Afforess, Duuk for excellent beta testing
Mamba for WoC contributions like java utilities and forum help
ChrisAdams3997 for kick starting the final stage development on RevDCM 2.8
LunarMongoose for unofficial patch fixes

If I forgot anyone, sorry!

Simply double click the installer to install

WoC Modules:
WoC module forum:

The only change in the user interface from BUG is that all RevolutionDCM game options are accessed via
The BUG user interface option control system. The user presses the standard key sequence that BUG uses
CTRL-ALT-O to access this option control and navigates to the RevDCM tab, next to the General options
tab. To see which options have been enabled as secondary feedback to the option screen itself,
the user presses CTRL-SHIFT-Q which brings up the game configuration popup. WoC modules that do not
conflict with the RevolutionDCM core mods, are dropped into the modules folder and removed when finished.
Modular loading does not need to be enabled in the ini files and custom assets have been disabled by
default so as not to conflict with woc installations (can be re-enabled in RevolutionDCM.ini)

Change Log version 2.83 to 2.90
- New unit automation for spies to automate the counter espionage mission
- Add civ4lert for when a civ is willing to trade for war
- Advanced Unit Automations show in the military advisor
- Fixed the Better BTS AI implementation of defensive pacts
- Advanced Unit Automations 1.0 by Afforess added to the BUG options screen
- Expose a couple of AUA functions in CvUnit to python: isAutoPromoting(), isAutoUpgrading()
- Fix AUA automate_shadow null pointer bug

General options are no longer controlled by editing GlobalDefinesAlt.xml. There are still detailed game
state variables in that file that can be edited manually, so long as those state variables are not being
controlled by the user interface. Option control follows this flow:
1) RevolutionDCM.ini is checked for option state; the Revolution.ini file is now loaded as a BUG module
see Assets\Config\Revolution.xml for default settings
2) RevDCM.xml stores default option states
3) is the user interface code for options
4) is the option handler for python option states and SDK options states. This code will modify
GlobalDefinesAlt.xml automatically
5) BUG loads it's options and handles it's settings in the UserSettings folder; see below for more information

UserSettings Folder:
The UserSettings folder is used by the BUG mod to store, create and use BUG's ini files.
RevDCM usually installs this folder to .../My Documents/My Games/Bts/RevDCM/ (see the install script for all possible install locations)
The installer puts the UserSettings folder there instead of the main RevDCM mod folder in the Program Files path because doing so is a work around for the security protocols of Windows Vista and Windows 7;
BtS itself does something similar; for the same reason, it stores the BtS config file in My Documents/My Games/BtS

When using RevDCM as a base you will need to include the UserSettings folder in your mod
For a mod that is intended for distribution and use by other users, you have two options:
1) You may either create an installer for your mod, setting up the installation of the UserSettings folder the same way RevDCM does
(it's recommended you use the RevDCM install script as a template, and simply change the mod name and file path definitions for you computer and mod, the install script should be easy to use for any user competent enough to create a Civ4 mod, as everything is well commented)
2) You may copy the UserSettings folder itself directly into your mod's folder
(doing so will require your users on Windows Vista or Windows 7 to launch the mod as an administrator, otherwise the BUG components will not be able to write to the ini files it needs to access, however the advantage to this method is that you will not need to set up an installer for your mod to handle the UserSettings folder)

In both cases you must change the name of the mod in to your mod's name, so that the BUG components of your mod will know where to look for the UserSettings folder

WoC Module Conversion:
WoC modules allows for a non programming method to add a simple mod containing XML definitions and art, without requiring programming effort and without having to alter the mod's own core XML. There are some "rules" that modders should follow to convert WoC modules to RevolutionDCM:
1) Ensure that all the schema xml in the module has at least the same schema definitions that are in the RevolutionDCM schema files found under assets/xml/etc etc.
2) The two default MLF loading control files in assets/modules, define a default directory structure for modules and is equivalent to the WoC definition. It may still undergo revisions to the structure if modders do not like it.
3) If the default MLF loading control file system is used, loading control files must also be used in the modules subdirectory as well.
4) Modules can work without MLF loading control definitions (nothing but folders with xml), but this will limit the ability to add and combine other modules into your installation.

Other documentation:
For a more detailed version log with extra information, see RevolutionDCM_readme.txt
For a more detailed version log for Revolutions, see /docs/Revolution/*
For a merge guide useful for tips on how RevolutionDCM was merged, see /docs/RevolutionDCM_merge.txt

Build notes:
- Add unit automation for spies to automate the counter espionage mission. Once the automation is selected the automated spy will continue to perform counter espionage missions on the highest priority targets until the automation is cancelled. (Thanks Glider1)

- Fix AUA automate_shadow null pointer bug (Thanks Glider1)

- Add civ4lert for when a civ is willing to trade for war (Thanks Glider1)

- Exposes a couple of AUA functions in CvUnit to python: isAutoPromoting(), isAutoUpgrading() so that the military advisor can detect them separately to other unit orders (Thanks Glider1)

- Advanced Unit Automations show in the military advisor (Thanks Glider1)

- Fixed the Better BTS AI implementation of defensive pacts. The default option is unchanged but option 1 has become a genuine middle ground between the default option and the offensive pact option 2. The BBAI alliance option has been removed and instead incorporated into BBAI_DEFENSIVE_PACT_BEHAVIOR. (Thanks Glider1)

- Advanced Unit Automations 1.0 by Afforess added to the BUG options screen. Be aware that the behaviour of units in auto patrol may not be as capable as the RoM mod because the CvUnit::canMoveInto() function is not modified further than the BetterBTSAI version of that function. (Thanks Afforess for the development and Glider1 for the merge)
Known Issues:
- Multiplayer for the first time becomes a playable option! There are however important instructions to follow:
2) Two player direct IP seems to be reliable, but more than two players under LAN may still have issues (not tested thouroughly yet)
3) Autoplay now works in MP mode! Each player set's the number of turns to autoplay and end's the current turn before autoplay takes over.
4) At the moment there is no way to stop MP players from cheating by handing over control to the autoplay AI.
- Multiplayer option enforcer code:
The code doesn't allow the user to change any options in the RevDCM tab, it simply sets them to default settings
and locks them. With the new system you can still manual alter settings at the XML level but
all users would need to change their settings in RevDCM.xml and Revolution.xml in the config folder
to what they wanted (and ensure they are all the same). Thus user customization is still possible;
it's just now by default the game assumes that users wol't do that, and thus enforces compliance
for all options for all players to default.
- Testing multiplayer:
Best thing to do would be to set your CivilizationIV ini to enable python exceptions,
and set it or BUG to autosave every turn (only one of you needs to do this - and it won't cause sync issues,
unless there is a Python exception, in which case we'd need to fix that anyway).
If you get a Sync or other issue, post the save game from the turn before for us to look at,
and if there is a python exception post the Python Error log (it's a text file in your logs folder -
the logs folder will be created by Civ4 when you enable logging in the CivilizationIV ini file).
That would be very helpful, playtesting is what we really need now to advance multiplayer.

- Spies get to move after they have returned from successful espionage if they are given a logistics promotion immediately upon their return.

- Stack attack interface control can be lost on some machines but control can be re-enabled by clicking on the minimap at the bottom right hand corner of the screen. If you are one of the small number who experience crashes in your game with this option on, reload your game and leave stack attack off. It is not recommended for multiplayer games.


General BTS:
- The standard BTS collateral damage model will inflict ZERO damage to a stack consisting of any number of seige accompanied by a single unit of any other type, despite reporting successful collateral attack to the player.

- WoC folders with white space in the folder name causes problems with BUG and pink squares showing up in city bar hover. Simply do not use white spaces in your WoC folders.
- Missing MLF control files will stop module from loading at all as of version 2.51. This is not correct behaviour. Missing MLF files should simply induce a random load order disregarding dependencies.

Random Events:

- Revolution Graph in the info screen should not display if the Revolutions mod is off.
- Alignment of the revolution watch advisor numbers are not centred in the column space.

Good Idea!! Particularly helpful for modders who would like to get both comps intos their mods. It is also nice for those who might like playing both comps without the trophies that come with a full modpack.

Will a download link be available soon, or are you still working on the merge?
Good Idea!! Particularly helpful for modders who would like to get both comps intos their mods. It is also nice for those who might like playing both comps without the trophies that come with a full modpack.

Will a download link be available soon, or are you still working on the merge?

Good point on the download link! There is now a download link in my first post of this forum. Be wary about using this mod. It is a beta only with very limited testing and may not work in contexts other than single player.

This is perfect. I was looking for a mod just like this. I commend you for a good job.
This is perfect. I was looking for a mod just like this. I commend you for a good job.

Thanks and trust that you enjoy it. You commend me, but I commend Jdog5000, Dom Pedro II, Dale and Bhruic. They are the brains and the one's to be commended, not me. I have only the instinct that a combat mod such as Dale's would compliment Revolutions and thus compliment BTS, without detracting from any of them. It would be impossible for me to return to vanilla BTS after playing Revolutions and DCM.

Please feel free to direct my attention to any obvious merge bugs.
Sounds like a good combo, glider1. Did you include all the features of Revolution - I mean the full mod? I'm looking to include just the revolution bits, but I don't know if that's possible.
Sounds like a good combo, glider1. Did you include all the features of Revolution - I mean the full mod? I'm looking to include just the revolution bits, but I don't know if that's possible.

The perspective is that the Revolutions Mod is actually the base of this merge so all code and assets in Revolutions are included, even the game customisers. I have absorbed Dale's combat mod as a battle enhancement addon and excluded all Dale's game customisers.

It would definetly be possible to do another mod of this mod which excludes all of the Revolutions customisers as well, although it would take a little attendence to detail because you probably have to exclude both c++ code and python code from the python assets as well in order for nothing to complain. You could discuss this in the Revolutions forum if you wanted.

If you have played Revolutions, I think it's primary aim is as an enhancement of BTS stock play, and is not really a scenario mod, although I guess it could be artificially configured as one to suit particular aims.

So far there do appear to be bugs in the DCM mod version 1.3 component of this modpack. Stack attack, archer bombardment and a couple of the bomber missions are flawed in small ways. Refer to the DCM website for more details.

When RevolutionDCM loads it doesn't indicate which components of DCM are active, however you can still activate and deactivate individual DCM components using the GlobalDefinesAlt.xml file which is found in:

The only issue so far detected is that large late game field stack attacks seem to cause CTD's. Typical world builder field test stacks are 4xinf, 4xsam, 4xmarines, 4xcav, 4xtank, 4xartillery, 4xhelicopter verses the same enemy stack, each stack on grassland.

For precisely this crackup stack attack was removed from Merged Mod, I believe.;)
Mmm... I didn't remove the code, but I've suggested to use Stack Attack with caution, in particular in multiplayer games. I've switched it off personally, but that's more to do with the weird bug involved with air units.
Which version of BTS is this for? I am getting an XML load error

"Failed loading XML file xml\Civilizations/CIV4TraitsInfos.xml. [.\FXml.cpp:133] Error parsing XML File -

File: xml\Civilizations/CIV4TraitsInfos.xml
Reason: Ellement content is invalid according to the DTD/Schema.

Expecting: {x-schema:CIV4CivilizationsSchema.xml}iHappiness.

Line: 14,17
Source: <iMaxAnarchy>-1</iMaxAnarchy>
Sorry, I too should have said I was using BTS 3.13. I get the exact same error with the World of Civilization mod as well. However others are fine eg "History in the Making", TAM and so on.
Just in case any one is interested I've attached a couple of updates to the foreign and domestic advisor screens that I have written to provide more information very useful to playing Revolutions.

The Foreign Advisor now has a "change" tab which indicates the change in relations between all and any civ you have come in contact with since you last viewed the screen. This is very handy for keeping up to date on civ relations when there are large numbers of civs such as in Revolutions which sometimes can mean a 30x30 relationship matrix to stay in touch with!

The Domestic Advisor now adds information to the food column to indicate how many turns are left before a city is due next to grow. The amount of turns is in brackets next to the food number and mimics the same behaviour as the culture column. This is very handy for the Revolutions mod when you have a large number of cities on "the edge" and you don't want them to inadvertantly fall into ill health or unhappiness.

Installation is simply a matter of copying them into the screens folder of the mod. Read the readme for a little bit more detail. I'll be incorporating the screens into the next release of RevolutionDCM.
Have you thought of incorporating the BUG mod. The Civ4lert component of it alerts you if a city is going to grow on next turn indicating in particular if it will become unhappy, or unhealthy. Other components are nice in general.

This is not to say that your innovations for foriegn and domestic advisors are not good. They would actually be very nice if added to what the BUG advisors have.
Thanks for the tip. I'm trying to keep this merge tight but you have well observed that the Bug mod isn't that big an "overhead" it seems. I'll check it out in more detail when I do the next merge build. I'm just waiting for Dale to release DCM 1.4. What is it with the claims about the Bug mod fixing the graphics even unit graphics?
Cheers and thanks.
Not to complain, but I can't download this-"ERROR: File not found."

Would you mind reuploading this? DCM is good, revolutions is good, so a combination sounds great.
Top Bottom