Single Player bugs and crashes v37 plus (SVN) - After the 24th of December 2016

1. Python error:
Traceback (most recent call last):

File "CvScreensInterface", line 1376, in forceScreenRedraw

File "CvMainInterface", line 1402, in redraw

File "CvMainInterface", line 4151, in updateCityScreen

RuntimeError: vector<T> too long
ERR: Python function forceScreenRedraw failed, module CvScreensInterface

2. Also:
Traceback (most recent call last):

File "CvScreensInterface", line 1376, in forceScreenRedraw

File "CvMainInterface", line 1381, in redraw

File "CvMainInterface", line 2761, in updateSelectionButtons

RuntimeError: unidentifiable C++ exception
ERR: Python function forceScreenRedraw failed, module CvScreensInterface


3.
Traceback (most recent call last):

File "CvRandomEventInterface", line 3286, in canTriggerGreed

NameError: global name 'player' is not defined
ERR: Python function canTriggerGreed failed, module CvRandomEventInterface



1. cant upgrade my boat, see pic 1 and pic 3 also assassin also??

2. regular worker wont build a mine?? pic 2

3. now for some reason also the "roads" are now showing up on the map?? (pic 4
Not sure about the first 2. The third looks to be an incorrect way to reference the player in the Greed event. @Toffer90

In the last 3
1) Undoubtedly an issue with my gold overflow fix. I'll have to take a look at that. Apparently getEffectiveGold() is not working as planned.
2) Might have to take a look at mountain mines. Perhaps its not enabled for those Donkey workers?
3) Are you saying there are supposed to be roads in those plots but there aren't now and you can't see why?
 
Traceback (most recent call last):

File "CvRandomEventInterface", line 3286, in canTriggerGreed

NameError: global name 'player' is not defined
ERR: Python function canTriggerGreed failed, module CvRandomEventInterface



1. cant upgrade my boat, see pic 1 and pic 3 also assassin also??

2. regular worker wont build a mine?? pic 2

3. now for some reason also the "roads" are now showing up on the map?? (pic 4
I probably did something wrong with the quest event in my last event, I'll have a closer look.
 
1. Python error:
Traceback (most recent call last):

File "CvScreensInterface", line 1376, in forceScreenRedraw

File "CvMainInterface", line 1402, in redraw

File "CvMainInterface", line 4151, in updateCityScreen

RuntimeError: vector<T> too long
ERR: Python function forceScreenRedraw failed, module CvScreensInterface

2. Also:
Traceback (most recent call last):

File "CvScreensInterface", line 1376, in forceScreenRedraw

File "CvMainInterface", line 1381, in redraw

File "CvMainInterface", line 2761, in updateSelectionButtons

RuntimeError: unidentifiable C++ exception
ERR: Python function forceScreenRedraw failed, module CvScreensInterface


3.
Traceback (most recent call last):

File "CvRandomEventInterface", line 3286, in canTriggerGreed

NameError: global name 'player' is not defined
ERR: Python function canTriggerGreed failed, module CvRandomEventInterface



1. cant upgrade my boat, see pic 1 and pic 3 also assassin also??

2. regular worker wont build a mine?? pic 2

3. now for some reason also the "roads" are now showing up on the map?? (pic 4
1. Have you met the requirements for these upgrades?
2. regular worker not allowed to build mountain mine. Has been this way forever.
 
2. regular worker not allowed to build mountain mine. Has been this way forever.
This is a bug. Regular workers should be just as capable as any other of building a mountain mine. Might've been around for a long time but if that's been the case it hasn't been right.
 
3) Are you saying there are supposed to be roads in those plots but there aren't now and you can't see why?
Correct / / /


I probably did something wrong with the quest event in my last event, I'll have a closer look.

yeah will be hard to re-test without a proper dll, will have to wait till TB gets a newer one correcting the interface screen stuff . .
 
I have no idea how to even follow how tags like this are supposed to work, even into the code to see how such tags are supposed to work. It's just too confusing.
@AIAndy might be able to comment.
The first reference the validator is pointing at is programmed with this syntax:
Code:
                     <TargetCondition>
                       <Or>
                         <Is>TAG_WATER</Is>
                         <Is>TAG_CITY</Is>
                         <Has>
                           <GOMType>GOM_IMPROVEMENT</GOMType>
                           <ID>IMPROVEMENT_FARM</ID>
                         </Has>
                       </Or>
                     </TargetCondition>
No idea how TargetCondition is supposed to function.
The schema is wrong, TargetCondition is not text only. It is a BoolExpr tag so it can have any of the sub tags that can appear in BoolExpr tags like And/Or/... . BoolExpr tags are the same as an expression that evaluates to bool in C++ (like what you could write in an if). In this specific case the plot is considered a valid target if it is either water or a city or has the improvement farm. TargetCondition is by far not the only place in the C2C XML that can handle a BoolExpr tag. One other example is ConstructCondition (at least I think that was the name), that allows you to restrict when a building can be built. So e.g. you could only allow a building to be built if there is no building of its kind or there is one already built within 20 plots.
 

Attachments

  • ip.JPG
    ip.JPG
    381.5 KB · Views: 47
yeah, and right now cant upgrade to any unit from the looks of it??
Yeah, it's thinking you don't have any gold for the upgrade. I did something incorrect with the logic on that evaluation.
 
The schema is wrong, TargetCondition is not text only. It is a BoolExpr tag so it can have any of the sub tags that can appear in BoolExpr tags like And/Or/... . BoolExpr tags are the same as an expression that evaluates to bool in C++ (like what you could write in an if). In this specific case the plot is considered a valid target if it is either water or a city or has the improvement farm. TargetCondition is by far not the only place in the C2C XML that can handle a BoolExpr tag. One other example is ConstructCondition (at least I think that was the name), that allows you to restrict when a building can be built. So e.g. you could only allow a building to be built if there is no building of its kind or there is one already built within 20 plots.
That's what I thought... that the schema was wrong, not the syntax of the xml that was applied. Thanks for commenting AIAndy! Nice to see you around.
 
Yeah, it's thinking you don't have any gold for the upgrade. I did something incorrect with the logic on that evaluation.
ahhh ok, i went back to an earlier dll and it's fine now . .plus the roads are back . .

EDIT: OK, the roads, the mines on the mountains the upgrades are all working now with the OLD dll . .

EDIT EDIT: Also looking at the animal spawn also, every time i kill an animal it is replaced with another one on the same plot again next turn, so i have to keep kill the animals every turn, at least this is how it is working on "NORMAL" speed . .
 
Last edited:
ahhh ok, i went back to an earlier dll and it's fine now . .plus the roads are back . .

EDIT: OK, the roads, the mines on the mountains the upgrades are all working now with the OLD dll . .

EDIT EDIT: Also looking at the animal spawn also, every time i kill an animal it is replaced with another one on the same plot again next turn, so i have to keep kill the animals every turn, at least this is how it is working on "NORMAL" speed . .
The roads must have some interaction with needed gold as well. It should be an easy fix soon as I can clear up my code enough to compile a dll.

I've been finding on normal speed in the MP game we're playing, the conservative one, that animals are spawning at a breakneck pace. You have peace among NPCs on so it would really be an issue. Somehow the scaling factor is working too hard here on gamespeed and I have to figure out why and how to curtail it. Sure, some, fine, but this is too much and I figured it would lead to crashes and it sure seems to be.

The XML Validator works off the schema so if the schema is wrong then we will get validation errors.:lol:
Yep. Makes sense. As I said, I was thinking that might've had something to do with it. So the text only part of that tag in the schema can simply be removed and it should be right.
 
The roads must have some interaction with needed gold as well. It should be an easy fix soon as I can clear up my code enough to compile a dll.
Trade routes and Gold have always been connected to roads. And the different forms of roads. At least that is what Afforess told me .........a long time ago.....in a land far far away (RoM)...........under a different king.......called Zappara.......
 
The affects of road types on stuff is already mostly done in the XML. Most often it is a boost in plot yield to plot improvements and sometimes to resources as well.
 
So I've been playing with the latest SVN (9730) and got a ctd. Can't say what caused it, but I've included my autosave and the minidump file.

I'm giving the game a go again to see if the ctd repeats.


Later edit: The ctd didn't repeat at the included save, but the game did ctd a few turns later, after a reload. I've included the autosave and minidump if you want to have a look at it.
 

Attachments

  • minidump n'save.rar
    8.8 MB · Views: 47
  • minidump n' save 2.rar
    8.9 MB · Views: 49
Last edited:
So I've been playing with the latest SVN (9730) and got a ctd. Can't say what caused it, but I've included my autosave and the minidump file.

I'm giving the game a go again to see if the ctd repeats.


Later edit: The ctd didn't repeat at the included save, but the game did ctd a few turns later, after a reload. I've included the autosave and minidump if you want to have a look at it.
Ok. I'll look into it as soon as time permits. Thank you!
 
Ok. I'll look into it as soon as time permits. Thank you!

Cool.

Just to add some more info - the ctds both happened while moving the map around in my turn, either shifting from unit to unit or just moving it around.

Also I just noticed that there's also a PythonErr.log for the 2nd ctd- so I've included it as an attached files.
 

Attachments

  • PythonErr2.rar
    2.2 KB · Views: 46
Top Bottom