Mysterious Python Error!

The Capo

godless Heathen
Joined
Jan 29, 2001
Messages
9,302
Location
Washington, DC
Hey everyone, I am adding the Iroquois and Israelis to the game and changing the Natives to the Sioux. I started out by putting in the Iroquois. I had some trouble getting the Iroquios Axeman to show up and to allow the Iroquois to build it. Thankfully Chuggi helped me out with some advice, and when I realized what was going on I changed only the UnitArtStyleTypeInfos_Iroquois file and went into the mod for my latest test. So I choose the Iroquois, select the leader "Deganawida" (Hiawatha is the other leader) and enter the game to see if my Axeman finally shows up (Here is the thread for that issue, if you want more concise background on what happened which lead to this). Well I can't check for the Axeman because the interface didn't show up at all, and I got this error mesage (I'll post an image below in case I misspelled anything);

File "CvAppInterface," line 70, in preGameStart

File "CvScreensInterface," line 75, in showTechChooser

File "CvTechChooser," line 124, in interfaceScreen

File "CvTechChooser." line 205, in placeTechs


RuntimeError: unidentifiable C++ exception

So yeah, I have no idea what this means. I'm hoping to find somebody who does. I will post everything from the appropriate files, and I'll start from the top. Here's lines 66 through 71:

Code:
	if not CyGame().isPitbossHost():
		# Preload the tech chooser..., only do this release builds, in debug build we may not be raising the tech chooser
		if (not gc.isDebugBuild()):
			NiTextOut("Preloading tech chooser")
			CvScreensInterface.showTechChooser()
			CvScreensInterface.techChooser.hideScreen()

Now lines 72 through 75 in the CvScreensInterface.py:

Code:
techChooser = CvTechChooser.CvTechChooser()
def showTechChooser():
	if (-1 != CyGame().getActivePlayer()):
		techChooser.interfaceScreen()

Now lines 123 and 124 in CvTechChooser:

Code:
		# Place the tech blocks
		self.placeTechs()

And finally

Code:
			# Unlockable units...
			for j in range( gc.getNumUnitClassInfos() ):
				eLoopUnit = gc.getCivilizationInfo(gc.getGame().getActiveCivilizationType()).getCivilizationUnits(j)
				if (eLoopUnit != -1):
					if (gc.getUnitInfo(eLoopUnit).getPrereqAndTech() == i):
						szUnitButton = "Unit" + str(j)
						screen.addDDSGFCAt( szUnitButton, szTechRecord, gc.getPlayer(gc.getGame().getActivePlayer()).getUnitButton(eLoopUnit), iX + fX, iY + Y_ROW, TEXTURE_SIZE, TEXTURE_SIZE, WidgetTypes.WIDGET_PEDIA_JUMP_TO_UNIT, eLoopUnit, 1, True )
						fX += X_INCREMENT

Now none of these files are present in my mod, so these are just the vanilla codes, which means I probably have something wrong in my mod. If you can either (a) tell me what I need to change here I can just plug it into my mod no problem or (b) tell me what it refers to so I know what I did wrong in my mod. Either one of those things would help greatly, and for the more visceral people out there, here is a little attatchment showing the error message, in the background the TECHNOLOGY civlopedia screen pops up but its blank, only the title shows and the pop-up comes up. The pop-up shows up right after the game loads up for a new game and right before you begin a new game.
 
Oh I'll add this too; everytime I tested this before the Iroquois worked perfectly, there were no problems at all with the interface or anything, and it wasn't until I added the Axemen that this started. That's all I did, just a little XML is all that was changed. And its only the Iroquois that are causing the error, every other country works fine.
 
Top Bottom