Discussion in 'Bugs and Crashes' started by strategyonly, Aug 2, 2012.
No, I have not set up C++ yet. I am having enough problems setting up everything else.
You know... if its crashing, you'd have a minidump you could post (even on load I believe.) That could help us figure out the problem if its simple enough even if we don't fully 'get' the caching mechanism.
I don't think you can... its an integer setting that would round out to 1 or be ignored completely if you tried... could possibly even cause a bug.
What are the Civics that give Fixed Borders? The pedia says Despotism, Monarchy, Federal, Communist, Fascist, Vassalage, Parliament, President, Nationalist, Planned, Corporatist, and State Church.
But there is no more Communist, and Federal, President, Nationalist, Planned, Corporatist and State Church do not have Fixed borders.
Whom ever submitted changes to the last SVN in Hydro's Science folder had a few errors, these are just some:
Is there some particular reason the Tribal Guardian guy is not set to be DOMAIN_IMMOBILE? Units set to have this domain are, by definition, immobile. You can set their movement to 1 and they won't go anywhere.
Probably because I was in a hurry and did not know about that solution.
Edit Someone else is going to need to do it. I still cant get C2C to run
They should be fixed now.
Mini dump file from my last attempt to run C2C.
Add the breakpoint, then right click on it and add a condition.
The property solver gathers all active property manipulators by looping over all game objects and then checking all potential property manipulators on that game object. That last part is done in CvGameObject.cpp, for promotions in CvGameObjectUnit::foreachManipulator.
After that all manipulators are treated the same so if the manipulator on the promotion is gathered, it will work.
Wait, such a thing exists? I should probably change that, thanks. Although it would make sense to also change the DLL to also avoid any chance of dividing by 0 there.
I'd need to kow more abou the context it happens in to be certain, but I think your proposed solution I'd fine EXCEPT that instead of returning 0 when the divisor is 0 you should return MAX_INT most likely to get sensible behavior.
To breakpoint a specific unit you would have to kow why it's unit id is. This is displayed (if you have chipotle enabled) by shift hover (or maybe ctrl hover, I can't remember), or if you know it from having crashed and being in the debugger at a point later in the process that's fine too. Anyway, once you k ow the unit id just set the breakpoint on m_iId being equal to that value.
1. Regarding the divide-by-0 error yes, that makes sense, I'll do that.
2. Cool thanks, now I'll be able to see whether or not there is a calculation error with Properties or a display error with them (see JosEPh's posts about the Policing promotion for background on that).
Thanks for the minidump DH! I'll take a look at that later today when I have some time to work on things.
Wow... now that is some interesting stuff about breaking on a particular unit... I almost want to try it out just to go through the motions and see it work! Neat!
Max int? Isn't that an absolutely huge 6-7 digit number? I'm not following that numerical logic very well. Wouldn't it be closer to the intention of dividing by 0 to run the division but establish the divisor as 1? I don't doubt that you're right... just don't get how that works.
The AI selection mentioned is a good fix, yes, but what bothers me is... well let's put it this way, this has let me know I'm going to be creating bugs I didn't know I was going to be creating ... So without finding every situation where we have a divide by 0 if a unit has a 0 move and the ai figures it should be moved, I need to prepare to run across this problem. So, if you want to only temporarily change a unit's AI to immobile and then, when the condition is removed, allow it to revert back to its original, is there a standard method for establishing and retracting such a temporary ai change?
What revision is that from?
iMoves is supposed to be the number of turns it will take the unit to get somewhere if I understand it correctly, so setting it to MAX_INT would work. I changed the TG to DOMAIN_IMMOBILE to stop that particular crash, but I'm going to harden the DLL against any other instances where this might occur.
SVN starts but get this error:
TagOMAIN_IMMOBILE in Info class was incorrect
Current XML file is:
Also, Joan of Arc is still bugged. She just floats across the map with no animation and when I click on her, there are no icons displaying for her to do anything.
Sorry, fixed now.
Whom ever changed the MainInterface on the cost, pls change it back to HALF of what it is not, it gets i the way on ALL advisors.
Invisible units are still showing up when nothing is around?? (pic 2)
On a good note, i am glad to see a Barbarian unit in the Ren Era just pop out of no where, nice!!!! (pic 3)
In regard to picture 2, you have visibility from every tile you own, so this is probably correct.
Separate names with a comma.