RevolutionDCM for BTS

@Afforess
Yes a classic typo there thanks. The only affect is that if the spelling is not corrected, then the modifier will be fixed at 1.0 in the python.

@BobTheTerrible
Yeah it sounds nice as an option, keep reminding me. At the moment, there are other pressing issues that have to be dealt with.

@Zappara
Changing the CloseRadius is fine and doesn't impact on the distance calculation. You might like to check out RevCivicUtils.getCivicsDistanceMod() and see if there are any adjustments you could make to your civics related to distance that you may have done at some time in the past. NBAfan may have a point.
Changing CloseRadius causes a few effects. It's used in a few different algorithms in the revolutions code. It would affect colonies, who joins in revolts, the request for independence, slave revolts, and reincarnation civ choice. At an initial look as a general feel for that number, increasing it shifts the emphasis from colony break aways to independence break aways.

@Kettyo
So long as you aren't using woc, just grab your standard bts fonts and stick em in assets/res/fonts and see how you go. I'm not sure exactly of what the effect of doing that is. Can't hurt to try.

@Phungus
Do you add specific civic distance information in your mod, that perhaps RoM needs to do?
EDIT: All the info you need about the project fix is in the revolutiondcm docs or on page one of this forum under "known issues". Now that the distance calculation issue is resolving, I'll move onto fixing the xml interdependency bug for you and others.

Cheers.
 
@Phungus
Do you add specific civic distance information in your mod, that perhaps RoM needs to do?
No I don't, just use standard RevDCM civic stuff. Well I do have a slight tweak, serfdom builds military units with food, but adds a distance penalty, but this doesn't change anything, other then make serfdom unable to handle large empires. It's not possible that this effects RoM's issues though. I think there is an issue with RoM civics.

BTW, it would be cool to expose the distance and rev effects of the new civic Revolution tags through CvGameTextManager.cpp, if you don't want to do this, I'll definatly include it in a future update of LoR, I've found exposing information from XML tags through gametexmanager to be pretty straight forward, so this is something I can definatly handle. At least it'll display the information in the Civilopedia when I'm done with it. I'm also going to expose the max units of collateral damage, and max collateral damage when I do this, and upload the source so you can easily incorporate to the RevDCM source. It might take me a bit to get around to doing this, but it's definatly something I'll do unless you say you're on it (in which case I don't want to double the work :mischief:

EDIT: All the info you need about the project fix is in the revolutiondcm docs or on page one of this forum under "known issues". Now that the distance calculation issue is resolving, I'll move onto fixing the xml interdependency bug for you and others.

Cheers.

OK, will look through the docs. Any specific file I should be looking in?
 
The note to modders section doesn't tell me where to look and fix this. I searched through all the modified source and this is all I come up with:

Code:
Search "getProjectsNeeded()" (0 hits in 0 files)
Search "CvProjectInfo::getProjectsNeeded()" (0 hits in 0 files)
Search "CvProjectInfo::getProjectsNeeded()" (0 hits in 0 files)

Glider, where is this hardcoded fix? How can I find it :please:

Also I know you are working on getting the XML to work. I don't need that right now, I can wait. I just need to change your hardcoded fix, by 1, because I use the default BtS project infos and your fix is using 1 number larger because of the prescence of the Chain Reactor project. Like I said, I'm pretty sure I can fix this, but I need to know where to look :sad:
 
Nevermind glider. Found it :king: And yeah, simple fix, just changed a 2 to a 3 :)
 
@Zappara
Changing the CloseRadius is fine and doesn't impact on the distance calculation. You might like to check out RevCivicUtils.getCivicsDistanceMod() and see if there are any adjustments you could make to your civics related to distance that you may have done at some time in the past. NBAfan may have a point.
Changing CloseRadius causes a few effects. It's used in a few different algorithms in the revolutions code. It would affect colonies, who joins in revolts, the request for independence, slave revolts, and reincarnation civ choice. At an initial look as a general feel for that number, increasing it shifts the emphasis from colony break aways to independence break aways.
RoM does use revolution's civic modifiers much more than regular RevDCM does so the "problem" might be there - In my own games I haven't ran yet to this problem situation but that's probably because I'm quite familiar playing with Revolution on. Also in RoM cities start without trade routes and sea/coastal trade is enabled bit later than in regular BtS - these values seemed to be also in distance calculation so I might have to fiddle a bit with the values.

Last night when checking python files I did found small bug from RevUtils.py. GameModSpeed function's first if clause never gets true value because the calculation above that particular line never seems to give exactly 751.
 
I fixed the typo in the file and the distence penalty seams to be normal now.

Keep an eye on it, because with me, it seems to happen randomly. Some games it works and some it doesn't. Still, I'll give it a try myself.

EDIT: Yeah, fixing the type didn't help. I still got the severe penalty. I'm going to try what Zappara said about trade routes.

EDIT #2: Nope, that didn't work either.
 
This is a really stupid question, but how do I get the DCM options like stack attack and archer bombard to work? I looked at the globaldefinesalt, and for DCM and such, they are all intergers as opposed to on/off, and when I load up the game it says ranged fire is loaded, but my archers get no ranged fore button when next to an enemy unit.
 
This is a really stupid question, but how do I get the DCM options like stack attack and archer bombard to work? I looked at the globaldefinesalt, and for DCM and such, they are all intergers as opposed to on/off, and when I load up the game it says ranged fire is loaded, but my archers get no ranged fore button when next to an enemy unit.

No question is stupid as long as it is asked in honest integrity.

Anyway, in-game you can press ctrl+alt+o and there will be a pop-up. Click on RevDCM tab. In there you will see DCM options for you to check or uncheck corresponding your taste. That pop-up is BUG (BtS Unaltered Gameplay) interface and you should check it out for any other options you want to adjust as well.
 
Hey glider1, I just wanted to thank you for your earlier suggestion. After a lot of work (mostly due to my own stupidity) I managed to get your dll file to work with my mod. My mod is now 3.19 compatible thanks to your dll file!
 
So long as you aren't using woc, just grab your standard bts fonts and stick em in assets/res/fonts and see how you go. I'm not sure exactly of what the effect of doing that is. Can't hurt to try.

Thank you for the quick reply.
Tried it but no success.
Deleting all the tga files in the fonts folder also didn't help.
To be honest i don't have an idea from where the 'gamefont' images are taken by the mod.
 
Fonts are locked. The default resources load in the mod. The only difference is the resource buttons not the fonts. This is the only way to loading all of the extra symbols for religions, corporations, and resources. There may be some ways around it, but the standard ones load now so see no need to fix something that is no broken.

To fix the buttons under assets/art/interface/buttons/ there is a resource atlas that can be deleted to have the normal buttons in game. Sorry I should of said something before, but I am still confused really if this is what you mean or not.
 
@General_Tso
Good work. If you ever want different types of flexibility experiment with Johny's revdcm woc_lite build where all of the extra's addon's are woc modularised.

@Craterus22
Thanks for more info on quests. These are interdependent on other events so makes sense that some of them at least will be broken. Once the mechanism is fixed and one of the interdependent events begins to work, they'll all fall back into line.

@Phungus
Yeah the changes you want to displaying revolutions data are probably good ideas. Best to lead by example because at the moment, if I spent time doing it myself I would probably not get it the way you want it, and I should be bug fixing in any case....

@Zappara
Yeah that is quite a good point there Zapp. The code could be made more clear. What code did you end up using for it? Here's the original as it is now:
Code:
gameSpeedMod = (751.0)/(game.getEstimateEndTurn() + 1.0)
            if( gameSpeedMod == 751.0 ) : gameSpeedMod = 1.0 
            elif( gameSpeedMod > 2 ) : gameSpeedMod = 2.0
            elif( gameSpeedMod < 0.5 ) : gameSpeedMod = 0.5
return gameSpeedMod

The first 751 test must be for getEstimateEndTurn() returning zero. Otherwise gameSpeedMod just becomes fractional with limits of 2 and 0.5. Seems ok? Perhaps the 751 test could be better written.

Cheers.
 
Just a quick question. Has anyone done much experimentation with the numbers in revolution.ini?

ReligionModifier, ColonyModifier, stuff like that? I want religion to cause a load of trouble, but not so much that it breaks the game, and I'm trying to figure what the relative scale here is. I'm wondering if I go from 1.0 in the ReligionModifier to, say, 1.5 how much effect it will have; or if I go to 3.0 how much effect that would have. I've been testing a bit but it's hard to judge.
 
I've noticed an issue with the Battle Effects submod:
@Hephaiston
Thanks for the battle effect fix. I've supplied the fix here. From my end it appears that only promotioninfos has to change I hope you agree.

@battle effects users
Hep is correct, a simple xml change fixes battle effects. Just replace the xml file in the attachment but you will have to start another game.

Sometimes it's easier to fix the simplest problems first.
Cheers.
 

Attachments

@Zappara
Yeah that is quite a good point there Zapp. The code could be made more clear. What code did you end up using for it? Here's the original as it is now:
Code:
gameSpeedMod = (751.0)/(game.getEstimateEndTurn() + 1.0)
            if( gameSpeedMod == 751.0 ) : gameSpeedMod = 1.0 
            elif( gameSpeedMod > 2 ) : gameSpeedMod = 2.0
            elif( gameSpeedMod < 0.5 ) : gameSpeedMod = 0.5
return gameSpeedMod

The first 751 test must be for getEstimateEndTurn() returning zero. Otherwise gameSpeedMod just becomes fractional with limits of 2 and 0.5. Seems ok? Perhaps the 751 test could be better written.

Cheers.
Ah, that explains it - I guess there wasn't any bugs after all, I just didn't think about the case if getEstimateEndTurn() returns zero.


I've just got couple bug reports about the dreaded "waiting for civs" bug happening again in RoM 2.7 which has now RevDCM 2.5 included. I'll let you know if I can find any reasons why it happened this time.
 
I can't answer this. Zappara may be able to shed some light on it, the RoM player base is much larger, so he might have had some players that tried a RevDCM 2.x core in multi, and could find out if it worked or not.

Personal experience with ROM and RevDCM 2.00 (not 2.5) and it works fine for multi (6 players long game. + a few smaller quick games)
 
I've just got couple bug reports about the dreaded "waiting for civs" bug happening again in RoM 2.7 which has now RevDCM 2.5 included. I'll let you know if I can find any reasons why it happened this time.

I was able to track critical bugs in LoR pretty well using a debug dll. The two I couldn't, I was able to post the Assert Failure for jdog, and he figured out they were problems with RevDCM AILogic both times. If I were you I'd compile a debug gamecore, load up the save before the hang, press enter and see what assert you get. It wol't hurt, and might help isolate the cause.
 
Seems that for one player the "waiting for civ" problem was caused by AI player who had 40-60 Inquisitors... :eek: For him the problem stopped after he deleted those inquisitors in worldbuilder and turned off Inquisition. Looks like I'll have to check Inquisition code once again.
 
Back
Top Bottom