Revolution: with BarbarianCiv, Rebellion, AIAutoPlay

Hello,

I'm a Rise of Mankind mod player, and one of my favorites things in it is the Revolution mod, so, first of all, thx for the great work. I have thought one thing that could improve even more the Rev experience. Here goes:

I think the civics' changes should happen DESPITE the players and AI's will, for the good and for the bad. We could use in our advantage the Rev mechanism of insatisfaction with civics and create a new type of revolution, with and without anarchy, depending of the case. We can also use that thing that do people want other civics, like Emancipation.

This lack of control would reflect, i think, many moments of the history, where the people know what would be better for the society, but for different reasons can't change how the things are.

This makes space for a new Great Person, the Great Revolutionary, like Lenin.
These guys would provide the capacity to change the civics according to the will of the leaders. Regular citizens being used at cities would end generating one of these, reflecting the concept that change can happen in any place, any time.
 
Don't be fooled by the out-datedness of this thread, Revolution lives on!

The main place for discussing Revolution is the mod's sub-forum. However, Revolution merged many months ago with RevolutionDCM and most of the development for Revolution is now happening inside of RevolutionDCM.
 
You know what would be cool? That if the Great Revolutionary has an ability to send another civ into anarchy for several turns, perhaps even ending Golden Ages.
 
It's now a part of RevDCM.

but RevDCM has

Revolutions (SDK, Python, XML)
Dales Combat Mod (SDK, XML)
Influence Driven War (SDK, XML)
Revolution Inquisitions (Python, XML)
Super Spies (SDK, XML)
BUG Mod (Python, XML)
WoC Mod (SDK, Python, XML)
Better BTS AI (SDK)

and i only want revolutions and influence driven war together, i want to attempt make my own custom mod to play.

I would really like to have the source code for revolutions 3.19 :/ Can anyone point me in the right direction of where to get it?

Grealy appreciated for any help thanks.
 
I'd like to try to make a stand alone version of Revolution for Civ 3.19. Here's my plan. I have a compiling VC++2005 project that produces a standard Civ 3.19 DLL and it copies of it work to produce functional modified DLLs. I have the same thing for RevDCM 2.51. I have WinMerge. So, I open the RevDCM as a project, search for REVOLUTION and note down which files have parts of it. Then I open standard and RevDCM versions of both files in WinMerge and transfer the Revolution segments into the copy of the standard file. Then I Rebuild the now modified copy of the Civ 3.19 SDK. I build a mod around the dll from final release, merging the python and xml as well as I can from RevDCM 2.51 and see if it works.

Aside from it being a lot of work (Revolution stuff appears in an enormous noumber of cpp and h files) it might not even work. Some of the stuff in the Revolution parts may depend on other stuff in RevDCM by now, and without understanding it all I wouldn't really know. Further, I think the XML and Python is less well documented as to what is part of which modcomp, and though the older version of Rev might be a guide it's a long way from a sure thing...

EDIT: It's not going to be simple. I simply merged all Revolultion_Mod blocks and it compiles up to CvGame.cpp, then can't find a whole bunch of functions and variables. I suppose these functions and variables are new to RevDCM and shared, thus not found inside either Revolution_Mod blocks or standard 3.19 files. Thus, to do this I would have to track down each of these and put it in.

Spoiler :
1>CvGame.cpp(6463) : error C2065: 'pLoopArea' : undeclared identifier
1>CvGame.cpp(6463) : error C2227: left of '->getCitiesPerPlayer' must point to class/struct/union
1> type is ''unknown-type''
1>CvGame.cpp(6464) : error C2227: left of '->getNumCities' must point to class/struct/union
1> type is ''unknown-type''
1>CvGame.cpp(6464) : error C3861: 'pLoopArea': identifier not found, even with argument-dependent lookup
1>CvGame.cpp(6470) : error C3861: 'pLoopArea': identifier not found, even with argument-dependent lookup
1>CvGame.cpp(6478) : error C2065: 'eBestUnit' : undeclared identifier
1>CvGame.cpp(6479) : error C2679: binary '!=' : no operator found which takes a right-hand operand of type 'UnitTypes' (or there is no acceptable conversion)
1>CvGame.cpp(6479) : error C3861: 'eBestUnit': identifier not found, even with argument-dependent lookup
1>CvGame.cpp(6481) : error C3861: 'eBestUnit': identifier not found, even with argument-dependent lookup
1>CvGame.cpp(6497) : error C2065: 'pLoopUnit' : undeclared identifier
1>CvGame.cpp(6497) : error C2065: 'iLoop' : undeclared identifier
1>CvGame.cpp(6497) : error C3861: 'pLoopUnit': identifier not found, even with argument-dependent lookup
1>CvGame.cpp(6497) : error C3861: 'pLoopUnit': identifier not found, even with argument-dependent lookup
1>CvGame.cpp(6497) : error C3861: 'iLoop': identifier not found, even with argument-dependent lookup
1>CvGame.cpp(6499) : error C2227: left of '->isAnimal' must point to class/struct/union
1> type is ''unknown-type''
1>CvGame.cpp(6499) : error C3861: 'pLoopUnit': identifier not found, even with argument-dependent lookup
1>CvGame.cpp(6501) : error C2227: left of '->kill' must point to class/struct/union
1> type is ''unknown-type''
1>CvGame.cpp(6501) : error C3861: 'pLoopUnit': identifier not found, even with argument-dependent lookup
1>CvGame.cpp(6510) : error C2601: 'CvGame::createAnimals' : local function definitions are illegal
1>CvGame.cpp(6595) : error C2601: 'CvGame::updateWar' : local function definitions are illegal
1>CvGame.cpp(6628) : error C2601: 'CvGame::updateMoves' : local function definitions are illegal
1>CvGame.cpp(6686) : error C2601: 'CvGame::verifyCivics' : local function definitions are illegal
1>CvGame.cpp(6700) : error C2601: 'CvGame::updateTimers' : local function definitions are illegal
1>CvGame.cpp(6714) : error C2601: 'CvGame::updateTurnTimer' : local function definitions are illegal
1>CvGame.cpp(6744) : error C2601: 'CvGame::testAlive' : local function definitions are illegal
1>CvGame.cpp(6754) : error C2601: 'CvGame::testVictory' : local function definitions are illegal
1>CvGame.cpp(7064) : error C2601: 'CvGame::testVictory' : local function definitions are illegal
1>CvGame.cpp(7164) : error C2601: 'CvGame::processVote' : local function definitions are illegal
1>CvGame.cpp(7298) : error C2601: 'CvGame::getIndexAfterLastDeal' : local function definitions are illegal
1>CvGame.cpp(7304) : error C2601: 'CvGame::getNumDeals' : local function definitions are illegal
1>CvGame.cpp(7310) : error C2601: 'CvGame::getDeal' : local function definitions are illegal
1>CvGame.cpp(7316) : error C2601: 'CvGame::addDeal' : local function definitions are illegal
1>CvGame.cpp(7322) : error C2601: 'CvGame::deleteDeal' : local function definitions are illegal
1>CvGame.cpp(7328) : error C2601: 'CvGame::firstDeal' : local function definitions are illegal
1>CvGame.cpp(7334) : error C2601: 'CvGame::nextDeal' : local function definitions are illegal
1>CvGame.cpp(7340) : error C2601: 'CvGame::getMapRand' : local function definitions are illegal
1>CvGame.cpp(7346) : error C2601: 'CvGame::getMapRandNum' : local function definitions are illegal
1>CvGame.cpp(7352) : error C2601: 'CvGame::getSorenRand' : local function definitions are illegal
1>CvGame.cpp(7358) : error C2601: 'CvGame::getSorenRandNum' : local function definitions are illegal
1>CvGame.cpp(7364) : error C2601: 'CvGame::calculateSyncChecksum' : local function definitions are illegal
1>CvGame.cpp(7469) : error C2601: 'CvGame::calculateOptionsChecksum' : local function definitions are illegal
1>CvGame.cpp(7494) : error C2601: 'CvGame::addReplayMessage' : local function definitions are illegal
1>CvGame.cpp(7511) : error C2601: 'CvGame::clearReplayMessageMap' : local function definitions are illegal
1>CvGame.cpp(7524) : error C2601: 'CvGame::getReplayMessageTurn' : local function definitions are illegal
1>CvGame.cpp(7538) : error C2601: 'CvGame::getReplayMessageType' : local function definitions are illegal
1>CvGame.cpp(7552) : error C2601: 'CvGame::getReplayMessagePlotX' : local function definitions are illegal
1>CvGame.cpp(7566) : error C2601: 'CvGame::getReplayMessagePlotY' : local function definitions are illegal
1>CvGame.cpp(7580) : error C2601: 'CvGame::getReplayMessagePlayer' : local function definitions are illegal
1>CvGame.cpp(7594) : error C2601: 'CvGame::getReplayMessageText' : local function definitions are illegal
1>CvGame.cpp(7608) : error C2601: 'CvGame::getReplayMessageColor' : local function definitions are illegal
1>CvGame.cpp(7623) : error C2601: 'CvGame::getNumReplayMessages' : local function definitions are illegal
1>CvGame.cpp(7630) : error C2601: 'CvGame::read' : local function definitions are illegal
1>CvGame.cpp(7857) : error C2601: 'CvGame::write' : local function definitions are illegal
1>CvGame.cpp(8012) : error C2601: 'CvGame::writeReplay' : local function definitions are illegal
1>CvGame.cpp(8024) : error C2601: 'CvGame::saveReplay' : local function definitions are illegal
1>CvGame.cpp(8030) : error C2601: 'CvGame::showEndGameSequence' : local function definitions are illegal
1>CvGame.cpp(8123) : error C2601: 'CvGame::getReplayInfo' : local function definitions are illegal
1>CvGame.cpp(8128) : error C2601: 'CvGame::setReplayInfo' : local function definitions are illegal
1>CvGame.cpp(8134) : error C2601: 'CvGame::hasSkippedSaveChecksum' : local function definitions are illegal
1>CvGame.cpp(8147) : error C2601: 'CvGame::logMsg' : local function definitions are illegal
1>CvGame.cpp(8157) : error C2601: 'CvGame::addPlayer' : local function definitions are illegal
1>CvGame.cpp(8200) : error C2601: 'CvGame::isCompetingCorporation' : local function definitions are illegal
1>CvGame.cpp(8224) : error C2601: 'CvGame::getPlotExtraYield' : local function definitions are illegal
1>CvGame.cpp(8237) : error C2601: 'CvGame::setPlotExtraYield' : local function definitions are illegal
1>CvGame.cpp(8277) : error C2601: 'CvGame::removePlotExtraYield' : local function definitions are illegal
1>CvGame.cpp(8295) : error C2601: 'CvGame::getPlotExtraCost' : local function definitions are illegal
1>CvGame.cpp(8308) : error C2601: 'CvGame::changePlotExtraCost' : local function definitions are illegal
1>CvGame.cpp(8332) : error C2601: 'CvGame::removePlotExtraCost' : local function definitions are illegal
1>CvGame.cpp(8344) : error C2601: 'CvGame::getVoteSourceReligion' : local function definitions are illegal
1>CvGame.cpp(8357) : error C2601: 'CvGame::setVoteSourceReligion' : local function definitions are illegal
1>CvGame.cpp(8383) : error C2601: 'CvGame::getShrineBuildingCount' : local function definitions are illegal
1>CvGame.cpp(8396) : error C2601: 'CvGame::getShrineBuilding' : local function definitions are illegal
1>CvGame.cpp(8423) : error C2601: 'CvGame::changeShrineBuilding' : local function definitions are illegal
1>CvGame.cpp(8471) : error C2601: 'CvGame::culturalVictoryValid' : local function definitions are illegal
1>CvGame.cpp(8481) : error C2601: 'CvGame::culturalVictoryNumCultureCities' : local function definitions are illegal
1>CvGame.cpp(8486) : error C2601: 'CvGame::culturalVictoryCultureLevel' : local function definitions are illegal
1>CvGame.cpp(8496) : error C2601: 'CvGame::getCultureThreshold' : local function definitions are illegal
1>CvGame.cpp(8507) : error C2601: 'CvGame::doUpdateCacheOnTurn' : local function definitions are illegal
1>CvGame.cpp(8545) : error C2601: 'CvGame::getVoteSelection' : local function definitions are illegal
1>CvGame.cpp(8550) : error C2601: 'CvGame::addVoteSelection' : local function definitions are illegal
1>CvGame.cpp(8692) : error C2601: 'CvGame::deleteVoteSelection' : local function definitions are illegal
1>CvGame.cpp(8697) : error C2601: 'CvGame::getVoteTriggered' : local function definitions are illegal
1>CvGame.cpp(8702) : error C2601: 'CvGame::addVoteTriggered' : local function definitions are illegal
1>CvGame.cpp(8712) : error C2601: 'CvGame::addVoteTriggered' : local function definitions are illegal
1>CvGame.cpp(8746) : error C2601: 'CvGame::deleteVoteTriggered' : local function definitions are illegal
1>CvGame.cpp(8751) : error C2601: 'CvGame::doVoteResults' : local function definitions are illegal
1>CvGame.cpp(8973) : error C2601: 'CvGame::doVoteSelection' : local function definitions are illegal
1>CvGame.cpp(9076) : error C2601: 'CvGame::isEventActive' : local function definitions are illegal
1>CvGame.cpp(9089) : error C2601: 'CvGame::initEvents' : local function definitions are illegal
1>CvGame.cpp(9100) : error C2601: 'CvGame::isCivEverActive' : local function definitions are illegal
1>CvGame.cpp(9117) : error C2601: 'CvGame::isLeaderEverActive' : local function definitions are illegal
1>CvGame.cpp(9134) : error C2601: 'CvGame::isUnitEverActive' : local function definitions are illegal
1>CvGame.cpp(9150) : error C2601: 'CvGame::isBuildingEverActive' : local function definitions are illegal
1>CvGame.cpp(9166) : error C2601: 'CvGame::processBuilding' : local function definitions are illegal
1>CvGame.cpp(9177) : error C2601: 'CvGame::pythonIsBonusIgnoreLatitudes' : local function definitions are illegal


Guess what. Not gonna do it. Tried to just merge the 1.65 code in too but that didn't work.
 
What, EXACTLY, does this include?

I know Revolutions for a long while included Inquisition (which I find to be extremely important in a Revolution game).

And is this WoC standard, or standalone revolution?
 
It's standalone Revolution, and totally unauthorized. I took Revolution DCM 2.51 and cut out everything that wasn't necessary for Revolution. A deMerge, as it were. Civ Changer AI Autoplay, and Barbarian Civilizations are involved, since they are inseperable. Basically its like Revolution 1.65, which was the last stand alone version of Revolution.

Revolution DCM includes Inquisition. If you don't want the rest of Revolution DCM but want Revolution with Inquitiion, and have 3.19, then I believe this would make a good basis for it. You would only have to merge in Inquisition.

I'm pretty sure it's NOT WoC standard. Its a mod that can also be used as a large modcomp for people who like to merge the old fashioned way.

EDIT: actually, I've playtested it through several games and observed some things. First, it needs to be named Revolution not Rev319. Otherwise it won't find the ini and all components won't be working. Soon I'll change the python files that look for the ini so that isn't necessary. Also, new civs never seem to emerge. Revolutions are always disorganized rebels, and barbs stay barbs. And even though Civ Changer is supposedly running, there's no button for it. So, I need to find out what's wrong there with that.
 
i don't have possibilities to read all in this thread, so, sorry for question:

- the revolution icons don't work. the mod r going correctly, but buttons cannot be pressed and i can't see rev information screen.. what's a problem?
 
GEM is using a very old version of RevDCM. You should lobby the modmaker to update to the current version.
 
hm.. i've downloaded last version of RevDCM mod, but it's interface also don't work corretly
 
Pozdrav!
I just have one question about AI AUTOPLAY..
So the main reason for creating this was to tested mods..When I use AI AUTOPLAY to check stability of my mod there is no single crash alway throw modern time...
So the game stuck in one point and couse BTS to stop working I load save game try again and there is ctd again and BTS stop working...Iload game again from the same point and this time I use AI AUTOPLAY and with autoplay game works fine I go throw the same point where was crash and can play normally rest of game....
So I am confused when I play single game there is crash but with autoplay there is no crash at the same point of game...:crazyeye:
Please can someone explain me how is this possible...if I have bug in game AI AUTOPLAY should crash game at the same point right?????
 
The two best ways to figure out what could be crashing are to check your art with civchecker:

http://forums.civfanatics.com/showthread.php?t=276286

Civchecker is awesome, use it. Though it wol't work if you use modular loading.

The second way is to use a debug dll. Since you are using modified source, you will need to compile it yourself, then play the game. Almost always the cause of a crash is an art bug, so long as this isn't caused by the LSystem files the debug dll will point you to the error.
 
The two best ways to figure out what could be crashing are to check your art with civchecker:

http://forums.civfanatics.com/showthread.php?t=276286

Civchecker is awesome, use it. Though it wol't work if you use modular loading.

The second way is to use a debug dll. Since you are using modified source, you will need to compile it yourself, then play the game. Almost always the cause of a crash is an art bug, so long as this isn't caused by the LSystem files the debug dll will point you to the error.

Ok I get it..
The art file is fine..and I use revdcm 2.71 as a base and I didnt touch any LSystem file as I know this files are used in Buildings folder I dont have those files in my mod...
But please is it posible that with single player i get crash and with ai autoplay not at the same point in game....
 
Run civchecker, if that finds nothing compile a debug dll. 90% chance your crash is caused by art, and those will find the cause.

Edit:
Also turn on logging in your main Civ4 config file. Look in the logs, specifically the resmanager log (or something like this), look on the last item in the list. If you have a bad button (usually caused by leaving a comma in a non atlased button) it will be the last unit in the list that is causing the crash.
 
Top Bottom