Post Feb 1st 2013 - bugs - Single Player

Status
Not open for further replies.
This is a pure XML bug:

Code:
		<UnitInfo>
			<Class>UNITCLASS_HURON_MANLET</Class>
			<Type>UNIT_HURON_MANLET</Type>
                           ...
			<iCombat>4</iCombat>
			<iCombatLimit>0</iCombatLimit>
			<iAirCombat>0</iAirCombat>
			<iAirCombatLimit>0</iAirCombatLimit>
                           ...
		</UnitInfo>

iCombatLimit of 0 means it can only damage enemy units by up to 0% of their total health!

OK that one was the Huron one, but i couldn't even attack with the atlatl from the city??
 
King's Council is in building category now. I think it's supposed to be a national wonder.
Also I cant use captives - civilian to join cities unlike captives - military. But I guess the slavery system is still being redone so np.
 
King's Council is in building category now. I think it's supposed to be a national wonder.
Also I cant use captives - civilian to join cities unlike captives - military. But I guess the slavery system is still being redone so np.

captives - Civilians can only join cities with current populations less than 7. Just like Immigrants.
 
I also have missing units (but they ARE there)???(USA savedgame)

Also for Koshling, (same pic) the enemy units (far bottom right) declared war, but do NOT attack when they have a far superior force??6770 saved game (both same game really, one is just sooner than the other).

SVN: 5111. No VP.

The reason the stack is not attacking is two-fold:

1) It's not as strong as it looks right now, because it's just hung out in terrain0-damagign tile, so it's only at 85% strength when it evaluates its strength (it should move to the hill and heal before attacking anyway)

2) You are playing on deity. The AI calculates how much over-powering force it needs based somewhat on the implied competence of its target as judged by their handicap level. This is making it think it needs considerably more strength than you

3) Taking account of all promotions, fortify bonus and city bonus, you defending AtlAtls are actually a fair bit stronger than the attacking ones

Taken together these factors make it decide it's not yet ready for a frontal attack. HOWEVER, in walking through this I did find some issue and things I have tweaked:

  • City defense was being double-counted (which I am fixing)
  • The handicap-based modifier was intended to cause it to build bigger stacks before it set out. Once they are close to the target city this modifier is not really useful since the element of surprise is lost, so I have changed it to only apply while the stack is building in home territory, or some distance away from its target
  • There was a nasty bug in the combat mod code that meant attackers were assessing their own unit combat modifiers against themselves! This didn't impact this case but it was obviously wrong when walking through the code. I will PM TB about it, since it was a deliberate change he made, but the reasons are unclear. Since its 100% certainly wrong as i stands I have fixed the case I am aware of, but that may have broken something TB was aware of that am not (he left a cryptic comment in the code about assassins but it's not clear how it impacts them)

After the above tweaks, it moves to the same hill and heals, after which (if you haven't reinforced more at least) it attacks.
 
@Koshling could you please look at my savegame and minidump?

"The thread tried to read from or write to a virtual address for which it does not have the appropriate access." - error form minidump
 
Keep getting a Python Exception when I right click on an Outrigger and hold mouse button down over a dragon ship. Has happened twice in last 5-10 turns. See screen shots.

1st time (after Ctrl/alt/Del and shutting down unresponsive CIV IV) I was able to restart from previous turn. When I got to the outrigger vs Dragon ship I just attacked and game proceeded.

It's when you hold down the mouse to get Combat odds that the hang occurs with the python popup and even though the OK button depresses the message will not go away.

This from SVN version 5093 build.

JosEPh
 
Keep getting a Python Exception when I right click on an Outrigger and hold mouse button down over a dragon ship. Has happened twice in last 5-10 turns. See screen shots.

1st time (after Ctrl/alt/Del and shutting down unresponsive CIV IV) I was able to restart from previous turn. When I got to the outrigger vs Dragon ship I just attacked and game proceeded.

It's when you hold down the mouse to get Combat odds that the hang occurs with the python popup and even though the OK button depresses the message will not go away.

This from SVN version 5093 build.

JosEPh

Please post the PythonErr.log it is easier to locate the problem from text than it is from an image. Especially given my dyslexia.
 
DH,

Here you go PythonErr.log.

JosEPh
 
I was just adding in concept pages for Captives and World Views and I got the following missing text (TXT_KEY_TRAIT_BARBARIAN) in the concept page. Does this mean I've done something wrong? I did not do a before check.

Edit Just did a before so it is someone else's problem :D

Missing game text TXT_KEY_TRAIT_BARBARIAN.
 
Keep getting a Python Exception when I right click on an Outrigger and hold mouse button down over a dragon ship. Has happened twice in last 5-10 turns. See screen shots.

1st time (after Ctrl/alt/Del and shutting down unresponsive CIV IV) I was able to restart from previous turn. When I got to the outrigger vs Dragon ship I just attacked and game proceeded.

It's when you hold down the mouse to get Combat odds that the hang occurs with the python popup and even though the OK button depresses the message will not go away.

This from SVN version 5093 build.

JosEPh

I have seen that problem before and I was not able to fix it in Python. Basically it looks like the dll is not returning a string from CyInterface().getHelpString(). Line in the python is
Code:
 screen.setHelpTextString( [B]CyInterface().getHelpString()[/B] )

The whole module is:
Code:
  # Will update the help Strings
  def updateHelpStrings( self ):
  
    screen = CyGInterfaceScreen( "MainInterface", CvScreenEnums.MAIN_INTERFACE )

    if ( CyInterface().getShowInterface() == InterfaceVisibility.INTERFACE_HIDE_ALL ):
      screen.setHelpTextString( "" )
    else:
      screen.setHelpTextString( CyInterface().getHelpString() )
    
    return 0
 
I was just adding in concept pages for Captives and World Views and I got the following missing text (TXT_KEY_TRAIT_BARBARIAN) in the concept page. Does this mean I've done something wrong? I did not do a before check.

Edit Just did a before so it is someone else's problem :D

Missing game text TXT_KEY_TRAIT_BARBARIAN.


I see the problem, its misspelled, fixed, thx.
 
<TEXT>
<Tag>TXT_KEY_TRAIT_BARBARIAN</Tag>
<English>Barbarian</English>

Its there as far as i can see??

Its in Civ4-third traits

But due to dyslexia on my part I should have typed it with out a B. The missing text is actually TXT_KEY_TRAIT_BARARIAN. So it is a typo in the trait infos file.
 
I have seen that problem before and I was not able to fix it in Python. Basically it looks like the dll is not returning a string from CyInterface().getHelpString(). Line in the python is
Code:
 screen.setHelpTextString( [B]CyInterface().getHelpString()[/B] )

The whole module is:
Code:
  # Will update the help Strings
  def updateHelpStrings( self ):
  
    screen = CyGInterfaceScreen( "MainInterface", CvScreenEnums.MAIN_INTERFACE )

    if ( CyInterface().getShowInterface() == InterfaceVisibility.INTERFACE_HIDE_ALL ):
      screen.setHelpTextString( "" )
    else:
      screen.setHelpTextString( CyInterface().getHelpString() )
    
    return 0

CyInterface.getHelpString() is not a DLL function - it's a core engine function. No idea what it's supposed to do exactly though, given it has no parameters...
 
koshling fixed pathing error, and now I'm getting CTD without error on next turn.

Unfortunately I was unable to reproduce the crash (probably because other changes in my code since the version you used have caused slightly different AI behavior that doesn't trigger the critical case). However, the minidump was a sufficient smoking gun for a theory, which I have been able to prove does happen (and leads to corrupt data that conceivably could result in the crash your minidump shows). I have tested with a fix for that and it runs fine for me as well as not giving rise to the corruption that I **think** caused your crash.

Once I push this fix to the SVN (later this evening) I'd appreciate it if you could confirm that it solves your problem for you also (when you are able to).

Also, in the course of running this save, I came across an odds calculation error that was causing occasional bad odds evaluation. I'm currently working on a fix for that also, which will hopefully be included with this evening's SVN push.
 
CyInterface.getHelpString() is not a DLL function - it's a core engine function. No idea what it's supposed to do exactly though, given it has no parameters...

Okay then, don't try to get combat odds from a Outrigger to a Dragon ship. Just Attack! ;)

JosEPh :)
 
CyInterface.getHelpString() is not a DLL function - it's a core engine function. No idea what it's supposed to do exactly though, given it has no parameters...

I'll put in a test for a null return then since I don't think the CyGInterfaceScreen function setHelpTextString does any checks. Though last time I did that it did not help either.
 
Status
Not open for further replies.
Back
Top Bottom