View Full Version : Quick & dirty fix for the mercenary button crash


Psyringe
Oct 13, 2007, 02:49 PM
Okay, I took a look at the code, ran some experiments, and think I have a temporary fix for the annoying mercenary button crash bug.

In the "Rhye's and Fall of Civilization" directory, open this file:
Assets\Python\screens\CvMainInterface.py

Go to line 304. Right now it reads:
screen.setImageButton( "MercenaryManagerButton", ArtFileMgr.getInterfaceArtInfo("INTERFACE_MERCENARIES_MANAGER").getPath(), iBtnX, iBtnY - 1, iBtnWidth, iBtnWidth, WidgetTypes.WIDGET_ACTION, -1, -1 )

The first of the two trailing "-1" is the problem. It should tell the interface what to do when you move the mouse over the button, but it doesn't. Change the line into:

screen.setImageButton( "MercenaryManagerButton", ArtFileMgr.getInterfaceArtInfo("INTERFACE_MERCENARIES_MANAGER").getPath(), iBtnX, iBtnY - 1, iBtnWidth, iBtnWidth, WidgetTypes.WIDGET_ACTION, gc.getControlInfo(ControlTypes.CONTROL_TURN_LOG).g etActionInfoIndex() , -1 )

This is a rather dirty (but working) hack which replaces the non-working "-1" with a working function call copied over from the "Event Log" button. As a result, when you mouse over the mercenaries button, the interface displays the info "Event Log <Ctrl + Tab>" in the lower left corner. Not perfect, but at least it doesn't crash anymore.

Ideally, the game should display "Mercenaries Screen <Alt + M>" instead, but I don't know yet where to enter that info.

Also, I have not the slightest hint of an idea why this bug does occur for some people, while others never see it. But at least I can play without crashes now. :)

As usual, backup any files before you change them, and keep in mind that changed files can lead to problems in multiplayer.