BAT Errata

UP 1.60 is 110 days old already, June 28th..

I go off the tags so I make sure to get the actual release, but I guess jdog forgot to tag the 1.60 release. :cry: This gives me a snapshot at release that I can compare from release to release so I don't miss anything.
 
@entwood - Better BUG AI is BUG + BULL + Better AI, so you don't lose BULL. But you're right that there's none of the cool work being done by Lemon Merchant in it. The only thing necessary would be for some kind soul to take the Better BUG AI SDK (BULL + Better AI) and compile it with some extra options enabled (whichever ones Lemon uses which I think is all).

For maximum player satisfaction, Lemon would need to alter her install script to allow the player to choose which DLL to install. Or we could just install both DLLs and let the player swap it out.

The above is based on my recollection that Better AI is all in the SDK, save for the Python assets it includes from the UP which BAT includes already. That sound about right Fuyu?
 
I changed HidePythonExceptions in CIv IV.ini from 0 to 1. Just started a game and everything is working.

I always play with exceptions hidden because it's impossible to read them when Civ shows alerts for them line by line. They are always written to PythonErr.log anyway, and it's easier to get them from there. I have no idea how turning the display of exceptions off has any effect. The exception still happens, and the game still stops whatever it was doing.

So either you're getting lucky and not getting the problem any more which others have said does happen sometimes, or it has an effect that I just can't think of now. Can you check your Logs folder to see if you have PythonErr.log?

At least this is something more to go on. Thanks!
 
I was playing around with that setting but my install is not perfectly clean BAT 3.0 at the moment but I did get this

Civ4ScreenShot0000.JPG
 
@entwood - Better BUG AI is BUG + BULL + Better AI, so you don't lose BULL. But you're right that there's none of the cool work being done by Lemon Merchant in it. The only thing necessary would be for some kind soul to take the Better BUG AI SDK (BULL + Better AI) and compile it with some extra options enabled (whichever ones Lemon uses which I think is all).

For maximum player satisfaction, Lemon would need to alter her install script to allow the player to choose which DLL to install. Or we could just install both DLLs and let the player swap it out.

The above is based on my recollection that Better AI is all in the SDK, save for the Python assets it includes from the UP which BAT includes already. That sound about right Fuyu?
I'm not sure what cool work by LM would be lost if you swap out the dll. Except for Global Warming mod I don't know what's in BAT's dll that isn't included in mine. Maybe that movie mod, if that has SDK parts, idk. But mostly I'd expect BAT to work with my dll.

Of course it's not savegame compatible but that never was the case anyway, both Better AI on my side and the Global Warming mod on BAT's side are to blame for that.

Better AI also has a few python files though, like AIAutoplay, and in general Better BUG AI is updated more often than BAT so the recommended course of action is still to just take Better BUG AI Assets and copy them over the BAT assets.. which will remove female units. I guess I have to look at BAT 3.0 and make sure I identify all xml/python files that need merging.
 
I was wrong about editing the HidePythonExceptions line in Civ IV.ini being responsible for the no-Gui behavior. Turns out that the behavior is civ-specific. I just finished opening a game with every leader using the same map type, map size, and difficulty level parameters for each game.

The civs that exhibit the no-GUI issue:
Arabian Aztec Chinese Dutch
German Greek Japanese Khmer
Korean Maya Mongolian Ottoman
Persian Portugese Zulu

The civs that don't exhibit no-GUI issue:
American Babylonian Carthaginian
Celtic Egyptian English
Ethiopian French Holy Roman
Indian Malinese Native American
Roman Russian Spanish
Sumerian Viking

Te behavior is the same regardless of the setting of the python exception line. I went back and tested ten leaders from each group above with the HidePythonExceptions set to 0 and the behavior of each civ was the same as above.

With the above mentioned line set to 0, I get the Python Exception dialog shown in the attached screen shot.

Hoping that someone who knows this excellent mod can provide a fix.
 

Attachments

  • py_except.jpg
    py_except.jpg
    83.1 KB · Views: 138
I've yanked BAT 3 off of SourceForge until I can fix this.

God I feel stupid!! :(
 
I've yanked BAT 3 off of SourceForge until I can fix this.

God I feel stupid!! :(

On the bright side BAT 3.0 is many light years ahead of a certain newly released game :lol:

:goodjob:
 
Lemon, you aren't stupid, kid (Old Guy, here). I hope that the lists above will help you to identify the cause of the issue. PM me if you need something tested: I'm retired and I do have the time and the interest.

On the bright side BAT 3.0 is many light years ahead of a certain newly released game :lol:

:goodjob:
Love ya both, boys. :)
 
Meanwhile, I'm still playing. For the listed civs, you just have to reload the save - not a big deal for me. I like the mod too much to give it up. Looking forward to the fix. From another old guy, life's too short to feel stupid about making a mistake. You should only feel stupid if you keep repeating the same mistake.
 
It does sound similar to the "not updated to 3.19" problem. In that case, one of the icons being drawn by the Technology Advisor is not recognized by the system, and it stops drawing mid-stream. This leaves the advisor open and keeps the game from drawing the main screen. Alt-tabbing out and back in or loading a new game causes the main screen to be redrawn, but I suspect your Technology Advisor is still half-drawn.

So, this gives me an idea. BAT added female great people (what I like to call Great Women of History), and perhaps this is not working on the TA. Oh, I now see that IPEX did post PythonErr.log. Here's the problem:

Code:
AttributeError: type object 'CvPythonExtensions.WidgetTypes' has no attribute 'WIDGET_TECH_CHOOSER_ERA'

This is a new widget added by Ruff when he added the era colors to the Technology Advisor. I'll have to take a look when I get home to see where it's defined, but for now you can modify the following line (324) from Assets/Python/Screens/CvTechChooser.py:

Code:
screen.attachPanelAt( sPanel, szTechRecordShadow, u"", u"", True, False, PanelStyles.PANEL_STYLE_TECH, iX - 6 + iShadowOffset, iY - 6 + iShadowOffset, self.getXStart() + 6, 12 + ( self.BOX_INCREMENT_HEIGHT * self.PIXEL_INCREMENT ), WidgetTypes.[B][COLOR="Red"]WIDGET_TECH_CHOOSER_ERA[/COLOR][/B], gc.getTechInfo(i).getEra(), -1 )

to

Code:
screen.attachPanelAt( sPanel, szTechRecordShadow, u"", u"", True, False, PanelStyles.PANEL_STYLE_TECH, iX - 6 + iShadowOffset, iY - 6 + iShadowOffset, self.getXStart() + 6, 12 + ( self.BOX_INCREMENT_HEIGHT * self.PIXEL_INCREMENT ), WidgetTypes.[B][COLOR="Red"]WIDGET_GENERAL[/COLOR][/B], -1, -1 )

I think this issue/fix is still an item because if you load a Mod such as VD with just BUG 4.4 in Custom Assets, the error may appear and this fix does get past it. Does somebody want to verify?

Traceback (most recent call last):
File "BugUtil", line 691, in <lambda>
File "BugEventManager", line 570, in preGameStart
File "CvAppInterface", line 70, in preGameStart
File "CvScreensInterface", line 83, in showTechChooser
File "CvTechChooser", line 231, in interfaceScreen
File "CvTechChooser", line 243, in ConstructTabs
File "CvTechChooser", line 280, in DrawTechChooser
File "CvTechChooser", line 324, in placeTechs
AttributeError: type object 'CvPythonExtensions.WidgetTypes' has no attribute 'WIDGET_TECH_CHOOSER_ERA'
ERR: Python function preGameStart failed, module CvAppInterface

After applying the fix there is still an error log:
Traceback (most recent call last):
File "BugUtil", line 691, in <lambda>
File "BugEventManager", line 570, in preGameStart
File "CvAppInterface", line 74, in preGameStart
File "CvScreensInterface", line 72, in showMainInterface
File "CvMainInterface", line 428, in interfaceScreen
File "CvMainInterface", line 346, in initState
File "PLE", line 180, in PLE_CalcConstants
File "PLE", line 851, in getMaxRow
ZeroDivisionError: integer division or modulo by zero
ERR: Python function preGameStart failed, module CvAppInterface
 
entwood, I changed line 324 in BAT mod's CvTechChooser.py file as you suggested then started a game with all 15 of the civs that had the no GUI behavior. Your fix worked, all 15 loaded the mods and the GUI. I also started a game with 5 of the civs that didn't have the no GUI behavior just because no one has ever fixed one thing and broken something else. They were okay as well.

I did notice one other issue that I hadn't mentioned before: no matter which civ I choose, there is a persistent on screen message "Bug Options - cannot locate settings folder" I attached a screen shot.

If there's a simple fix for this one I would be a happy person.
 

Attachments

  • bugoptions.jpg
    bugoptions.jpg
    206 KB · Views: 195
@binhthuy71 - Can you post your PythonDbg.log file after you get the error about the settings folder. It means that BUG cannot find the "UserSettings" folder that should be in the root of the "BAT Mod 3.0" folder.
 
@binhthuy71 - Can you post your PythonDbg.log file after you get the error about the settings folder. It means that BUG cannot find the "UserSettings" folder that should be in the root of the "BAT Mod 3.0" folder.

"User Settings" installed to the root of the BAT Mod 3.0 folder. I did a search for the PythonDbg.log file and it didn't return a log file. Do I need to enable something?
 
Fixed!! (I think) :crazyeye:

Just apply this little patch. The instructions are in the readme.txt file inside.

View attachment UnitArt.7z

I'll re-release in a day or two.
 
Top Bottom