RevolutionDCM for BTS

@Johny
Yeah good one have been in a similar dilemma many many times! I suspect the resolution to this very good debate is that there is no such thing as "mutually exclusive" except as we perceive it in our intellect. The intellect is a bit like a difference engine, trying to find ways to seperate issues out, when issues are always interrelated like a "chicken and egg" and the issues cannot actually be seperated except through arbitrary definitions. Problems get resolved by a combination of imagination and reason, and they work interrelatedly and cannot be seperated, and it takes as much time as it will take. This is pure commonsense, because in the nature of this problem for example, I as glider1 do not have to solve it. Others could equally well solve it as well, so long as the solution is not viewed from a mutually exclusive vantage point.
Many thanks for uploading that code, will "check it out".
Cheers.
 
How do we make maps for this mod? Is it py maps only or can pre made maps be used? If I can do a pre made map how do i go about doing it?

I will be posting one possibly this weekend at the link in my sig... (a new 50mod version map will replace the better faster 40mod version - no one makes a 40mod dll anymore)

the short version is yes you can make a map.

1 start a random game with number of civs you want
2 play one turn
3 go to worldbuilder save file as worldbuilder file
4 open saved file in notepad
5 copy the player setups at the top part of the file into the map you want to play (be sure to adjust the xy coords or better yet copy the empty position slots up to 50 at the end of an existing maps default player list).

also - whats up with this thread? did the pm system break?
 
It is really late here. Sorry I am tired, and not have looked at the SDK in a little while. I had commented out something that I should of left alone. Anyway I just gave it a quick shot at commenting it out again. If still problems will have to look deeper is all I know right now. Sorry again for the mix up.

Edit: That means use the BtS schema for events. All the changes have been commented out.

Sadly, this does not seem to fix the events. I replaced the dll in the RevDCM folder with this one and deleted the event xml files so it would revert to BTS, then tried out the save I had of the herbalist event. As far as I can tell, the same problem persists, in that the event cannot trigger secondary events.
 
I am not sure if a save file would be effected or not from the old information. I am going in merky water with that one. Someone should be able to verify that it still fails from a new game. You can turn up the eventtriggers to 100 percent to test some that were known to be bugged. I will look at when I get break.
 
I ran one quick test with the WoC Lite. Man plain civ bores me now but click the buttons still is fun:lol:. Anyway it is still bugged. Will see what the Full does.

Spoiler :
So yes you can toss the WoC then it is complete trash. Everyone would rather merge the xml manually in the xml folder. I mean improvements, diplomacy, global defines, technologies, and etc are totally silly to load from modules. We should have new players update these on their own or not allow players to have new ones at all. It is so much better that way so we have the few events working properly again. Why did I ever bother I don't know. Bad drugs I guess. Maybe the nutty WoC guys can figure out what is wrong in the future, but really was not needed in the first place. My existence is fallacy.:crazyeye: Let's burn it, piss on it, screw it, poop on it, sit on it, and fart on it. And praise the all mighty Sid.
 
I got small problem with RevCivicUtils.py file (in Rise of Mankind) - it seems to init civics list in some games each turn which causes len(civicslist) to overflow eventually as it keeps growing each turn (and by each player?). I don't know what triggers the init process each turn, I assume it's suppose to run only once per game? The python is same as in RevDCM but RoM does have 7 civic categories (54 choices) instead of the default 5 BtS categories. Any ideas how I could prevent this problem from happening? I had to add BugUtils debug message to check the value of len(civicslist) - stumbled on this by accident when checking other things...
 
when attempting to play this mod in multiplayer (any kind) the religions seem to bug out and you start getting a repeat of the religions as soon as you build your first city, wanting to spread into your city. It keeps going for a very long time. You have to keep clicking whether you want to convert or not and it does eventually stop but then the game seems to bug out with units on cities. It only happens on mp games it seems. I have tried directip and internet.

Any ideas what i can do to fix it?

EDIT: ok i figured out an advanced start will fix this however the units on cities are still bugged with the unit actions. You can't click anything there while they are on the city but you can move them off and then click the action or use the shortcut key. For promotions i had to move them off to do the promotion then move them back.

2nd EDIT: Upon further testing it seems to be purely a GUI issue. The rest of the UI components do not function properly either when you have a city or unit in a city selected.
 
All this talk about tossing WoC is rediculous and a quiter's mentality. Quiters never win. Winners overcome obsticles and problems and achieve great things. ...Kind of like playing CIV. Are you going to quit, just because the AI is beating you or are you going to hang in there and learn what needs to be done to beat the AI? I like the WoC concept and believe "every" unit and building should be in WOC format. Formating new units and buildings in the traditional XML way just defeats the pupose for why we want WoC in the first place.

My vision is to see a post having multiple units, buildings and wonders, all in WoC format, available for download. Just paste it in, follow the instructions for any modular python and now you have a new addition to your favorite mod. That's the goal my friends. It will revolutionize this game. So, let's be patient and let the experts figure out how to overcome the obsticles and we will all benefit in the end.

Note: I'm using WoC Lite and my modular events all work. I'm currently transfering everything over to RevDCM, as it has features I particularly desire, like DCM and many others. So Johny and Glider, keep up the good work, for it is appreciated by many.

Sincerely,

Orion Veteran :cool:
 
Yo,

not that glider needs any confirmation,
but I'm a pro-WoC fan BIG-TIME!:band:
No way I want to go back to stone age.:nuke:

(I was sceptic at first about stability, but I've seen it can be stable and these small errors can be solved)

WoC! WoC! WoC![party]
 
@Zapp
Yeah it is a bit strange but I'm sure there's a good reason. The revolution code checks rev index regularly through the game in updateCivStability() and that will call a couple of functions in RevCivicsUtil like getCivicsRevIdxLocal(). Those functions check that the civicsList array matches the number of civics in the xml. If they do not match, initCivicsList() is called. Why exactly it is necessary I'm not sure. That logic has been around for a long time. The most likely explanation to me is that there must be some chance that RevEvents which initialises RevUtils.initCivicsList() during it's initialisation, does not necessarily happen before the first call to RevCivicsUtil.getCivicsRevIdxLocal(). This is why these functions need to check that the civicsList has been filled.

That is not necessarily bad at all. The question is why does RoM correctly fill the civicsList initially, but then future initializations break? The call to gc.getNumCivicInfos() in RevCivicsUtil.initCivicsList() is a call that refers to an array in the SDK that is filled once at the beginning of the game and thus does not change during the game in vanilla RevDCM. All appears well in the logic. We have a puzzle. PM me if you need to continue the hunt.

@Johny
Regarding the intependency bug, yeah your idea is good and logical. I have tried this idea myself and it fails as well. There will be a simple explanation as the interdependency mechanism is not complicated. I've got some time today so I'll check it out with hopefully fresh eyes.

@Tgvulcan
Multiplayer is broken in untested ways as you know. Thanks for testing it. At this stage all that would be nice to know is if there is a difference in the bug(s) emerging or not, depending on how multiplayer is connected. Some have said that direct lan is ok, but gamespy is broken for example. Also, if you are going to test multiplayer, turn all the options off like Revolutions, and run the core as a straight Better BTS AI core. You mention the issue being a GUI issue. Wonder what effect BUG code has on multiplayer. Logically none but logic is sometimes not commonsense.

Cheers.
 
I like the WoC concept and believe "every" unit and building should be in WOC format. Formating new units and buildings in the traditional XML way just defeats the pupose for why we want WoC in the first place.

My vision is to see a post having multiple units, buildings and wonders, all in WoC format, available for download. Just paste it in, follow the instructions for any modular python and now you have a new addition to your favorite mod. That's the goal my friends. It will revolutionize this game.

complete agreement here, but hey, there are still folks who do it the CIV way, not even the modular BtS way, so we will see about how fast the WoC spreads.

Note: I'm using WoC Lite and my modular events all work. I'm currently transfering everything over to RevDCM, as it has features I particularly desire, like DCM and many others. So Johny and Glider, keep up the good work, for it is appreciated by many.

Interesting, if the events work in WoC Lite, then whatever breaks them would actually either be in RevDCM or in an error when merging it with WoC Lite.

Maybe phungus can shed some light on it, now that he has a WoC free (as far as events are concerned) dll.
 
My vision is to see a post having multiple units, buildings and wonders, all in WoC format, available for download. Just paste it in, follow the instructions for any modular python and now you have a new addition to your favorite mod. That's the goal my friends. It will revolutionize this game.

Well, I kinda agree but this above goal is incomplete. An actual better goal is that we achieve this what you say, but also the ability for heavy weight mods to do what they want with the core without changing the core. This is because the heavy weight mods have a unique ability over any woc concept. They have dedicated modders working on them that understand the integrated nature of their mod and want to share it in it's totality. WoC does not have this feature.

Cheers.
 
@Tgvulcan
Multiplayer is broken in untested ways as you know. Thanks for testing it. At this stage all that would be nice to know is if there is a difference in the bug(s) emerging or not, depending on how multiplayer is connected. Some have said that direct lan is ok, but gamespy is broken for example. Also, if you are going to test multiplayer, turn all the options off like Revolutions, and run the core as a straight Better BTS AI core. You mention the issue being a GUI issue. Wonder what effect BUG code has on multiplayer. Logically none but logic is sometimes not commonsense.

Cheers.

The mp seems to work fine except for the GUI issue. I think I narrowed down the religion bug to being related to particular leaders or civs but i can't be sure. The only major issue is the GUI when on a city but i tried disabling everything i could and it didn't help. It seems to confuse which layer of gui is suppose to be active. When you choose a city and hit enter to go to your next unit it will also leave the city screen ui on. On the unit actions you will also see the real actions flash for a second as you cycle through units and then the fake layer comes up and it has spread religion icons in it no matter what the unit. Usually there are like 10 of them all blank.

I am testing directip only atm since it's the easiest to do.

I will probably test it more as this would be an excellent mp mod.
 
@tgvulcan
Thanks for the update and the work :goodjob:

@anyone
The good news is that the interdependency bug has got nothing to do at all with the WoC xml algorithmic logic I don't think. I have double checked that today. The information is read from the XML perfectly by the WoC system (PM me for more details if you want). The bad news is that the problem still exists. The possibilities that I can see at this stage are these:

1) There is some detail in the merge between woc_lite and revdcm that I am missing (but what?) The CvProjectInfo vector fills up with pointers to ten CvProjectInfo class objects. The objects point to data that is all perfect except that the m_piProjectsNeeded array pointer is always 0x0000000h. However during very early initialisation of the game xml, the m_piProjectsNeeded fills up correctly. It is once the game reaches the user menu, that the pointer to that array becomes dead. The simple test for this is that at the game menu, you go to the civilopaedia and notice that project interdependency is dead, but not the projects themselves, nor their immediate data. It is just that array. As I have already done as of last week is to patch CvProjectInfo::getProjectsNeeded() to bypass the need to access that array. This is a hard coded solution that works while I clear my head and try again, or someone comes up with a miracle.

2) At first, I chased the possibility down that it is something wrong in the compiler stage due to something wrong in the makefile. However I don't think it's that any more but could be wrong.

Once again, there is nothing at all fundamentally flawed with the WoC xml loading system that I can see in the debugger. It is working just fine in an algorithmic sense. If the project interdependency bug can be found, the random events interdependency bug will also be squashed because it is probably the same process.

Cheers.
 
@anyone
The good news is that the interdependency bug has got nothing to do at all with the WoC xml algorithmic logic I don't think. I have double checked that today. The information is read from the XML perfectly by the WoC system (PM me for more details if you want). The bad news is that the problem still exists.

Once again, there is nothing at all fundamentally flawed with the WoC xml loading system that I can see in the debugger. It is working just fine in an algorithmic sense. If the project interdependency bug can be found, the random events interdependency bug will also be squashed because it is probably the same process.

Ok, in this case Phungus should still have the same problems, even with the modular event loading removed.

Phungus, care to confirm this ?

And you just might owe the WoC team an apology ;)

@glider: could it be a rogue pointer pointing towards that array ? I do not know VC much, is there a conditional breakpoint ? if so, can it break upon the array being nulled again ? That way you should be able to locate the cause (but I guess if it had such a feature, you would know about it...)
 
Come on mamba.

I am not sure if it is not related truthfully still. Just don't want to start this again. Phungus may go over a line sometimes with comments, but probing him for more is not good. This is just turning into flaming really.

I just don't want to irritate anyone. This is not meant to show off. I want it working that is all just like everyone else.
 
Yeah Phungus has contributed a lot to CivFanatics and has totally valid points, no more or less valid than anyone elses. He will get things sorted. If the woc thing doesn't work out I can help building a non-woc for him and anyone else, if this has not already been done by someone else.

As for the debugging side of things, the main point on the interdependency bug, is that the xml system is loading in all the states into their appropriate arrays correctly during game initialisation, but the pointer to the array get's wiped by the time initialisation is over. At this stage I cannot see any code that would do that. It makes me think there is something in the compilation phase that is allowing the address space to corrupt, but this is most probably a conspiracy theory I have, to a problem that eludes me for now. There are many other ways to skin this cat, than via a conspiracy theory.

Cheers.
 
Suck my balls mamba.
 
Come on mamba.

I am not sure if it is not related truthfully still. Just don't want to start this again. Phungus may go over a line sometimes with comments, but probing him for more is not good. This is just turning into flaming really.

Hehe, I had already decided to not comment on whatever he would be saying to prevent flaming :)

But seriously, he has been doing nothing but blame WoC for any problem he has in LoR, even when noone so far has confirmed the problem in RevDCM (events continually firing, in fact it was mentioned they work in RevDCM) or WoC (Orion said the events work in WoC Lite, but of course they still could have been broken in the integration of WoC Lite into RevDCM).

If I am vocal about putting blame on someone without any fact, only to find out I was wrong, I do owe an apology as far as I am concerned (actually I should not have done so in the first place, but that point is moot) ;)
 
The interdependencies not firing is caused by WoC, glider and johnny just can't figure out why. So as usual you're just an ass.
 
Back
Top Bottom