Bug Reporting

Ah. BAT doesn't play nice with Multiplayer for some reason. It's hit or miss at best, and BAT 3.0 adds the concept of unit graphic switching by using a clumsy unit kill function. That might be what is messing things up. I'm working on a fix for BAT 4 that doesn't use the Python kill function, but it's a staggering amount of work because all of BAT's Unit XML has to be changed to accommodate it.

Good to know that you are working on it. Let me know if I can help with the C++ side of the debugging :)

I'm curious, what is the change required to XML?
 
Good to know that you are working on it. Let me know if I can help with the C++ side of the debugging :)

I'm curious, what is the change required to XML?
There are a number of new tags that I have exposed that allows a modder to specify alternate art for certain things. I almost have the work done in the DLL, and I made it optional in the XML schema (mostly, BAT is a special case). I'm going to release it as a tutorial/modcomp when I'm finished.

The thing is, at the very least, I have to alter most of the Unit XML for the female units, and there are now female units for every unit in the game, including UU's. BAT's female code is not optional, so the XML must accommodate. :crazyeye:
 
Can you show the lines that you changed?:scan:

I wish I could, but I changed it back coz it didnt work completely (the numbers didnt follow) so I'm back at square 1. It was a vertical scroller, and I think if I could just get the table to show 2 (or 3) lines it would work. But I cant remember what I did :crazyeye:
(I'm not very strong with python, and it was mostly a trial and error with a lot of errors attempt)
 
I posted a new bug for EventSigns in its forum. Basically, when a second event is fired for the same time we need to merge the descriptions and bonuses.
 
Is this a bug? (Screenie attached) The city doesn't show up, but you can open it normally and everything seems to be there, just the animation on the main screen is missing. I believe I'm running BAT 3.0. I tried advancing a couple of turns to see if it would show up but nothing changed.
 

Attachments

  • Missing city.JPG
    Missing city.JPG
    107.7 KB · Views: 157
Unit Spamming in BAT?

Good morning all. I've been playing Civ IV for a long while now, and the excellent information found in the War Academy has helped me greatly in getting better at the game. I'm now working on winning at the Warlord level in BTS and trying out mods. I recently updated BTS to 3.19 and am trying out BUG & BULL - don't know how I ever lived without those before! I got BAT also and am trying that out, but noticed one oddity that I haven't seen mentioned in my searches here ('course, I may have missed it since I'm new to posting here & searched with the term 'unit spam'). I'd appreciate any help in resolving this possible bug...

This is what I've seen happen in my first game with BAT - when I tell a city to build a unit like a Warrior, Archer, etc. it immediately starts work on another unit of the same type without even asking what else I'd like to build, nor have I told it to build another by queuing it. I have to go into the City Screen and change the build to something else to stop the spamming. Any ideas on why this is happening? I have the latest BTS, BUG, BULL & BAT. Thanks!
 
There is an option in the BUG options to spam units. Ctrl-Alt-O and search the option tabs for that option - uncheck it. I cannot remember exactly what it is called.
 
There is an option in the BUG options to spam units. Ctrl-Alt-O and search the option tabs for that option - uncheck it. I cannot remember exactly what it is called.

Ah - thanks for the info. Guess I'll go & dig into all the options available in BUG, etc. Still great useful Mods! One thing I'd like to suggest though - the help files for those would be much more useful with screenshots indicating what does what, etc. I had to dig quite a bit here just to figure out what the heck the colored circles were when I left-clicked on a city name, for example. Thanks again for all your & fellow modders' hard work on these! :goodjob:
 
There are two options on the City Screen tab called "Build Units Forever": one for military units and another for civilian units.
 
Maybe this is already been reported earlier, I really don't know but anyway.
My mod runs under BUG 4.2 and I've added a couple of projects. When accessing the project overview screen I get a Python-error. Here's a screenie:

bugprojectoverview.jpg


Here the piece of code that causes the error, I think:
PHP:
			color = -1
			ePlayerColor = gc.getPlayer(iPlayer).getPlayerColor() ## causes error?
			if ePlayerColor != -1:
				playerColor = gc.getPlayerColorInfo(ePlayerColor)
				if playerColor:
					color = playerColor.getColorTypePrimary()
Spoiler PythonErr.log :
Traceback (most recent call last):

File "CvScreensInterface", line 914, in handleInput

File "CvInfoScreen", line 3083, in handleInput

File "CvInfoScreen", line 3185, in handleInput_Wonders

File "CvInfoScreen", line 666, in redrawContents

File "CvInfoScreen", line 1651, in drawTopCitiesTab

File "CvInfoScreen", line 1861, in drawWondersTab

File "CvInfoScreen", line 2535, in drawWondersList_BUG

AttributeError: 'NoneType' object has no attribute 'getPlayerColor'
ERR: Python function handleInput failed, module CvScreensInterface
Any idea what's wrong?

*** EDIT ***
This error occurs when somebody builds a project who you haven't met yet.
The error disappears when you meet that civ :)
I made some stone age projects in my mod like Lascaux Cave Paintings and Nazca Lines and most of the time they get built by civs I haven't met causing this error. Hope you find this info helpful and find a solution.
 
Change that line you have marked to these:

Code:
pBuilderPlayer = gc.getPlayer(iPlayer)
ePlayerColor = -1
if pBuilderPlayer:
    ePlayerColor = pBuilderPlayer.getPlayerColor()

That should solve the problem in your mod until we can get a fix out.
 
Change that line you have marked to these:

Code:
pBuilderPlayer = gc.getPlayer(iPlayer)
ePlayerColor = -1
if pBuilderPlayer:
    ePlayerColor = pBuilderPlayer.getPlayerColor()

That should solve the problem in your mod until we can get a fix out.

Thank you EmperorFool, the code worked like a charm :goodjob:
See:
bugprojectoverviewok.jpg
 
Great. Judging by the PLE icons at the bottom of the screen, it looks like you're using an older version of BUG. You're probably missing out on some nice features and bug fixes. I know it's not easy to upgrade BUG if you've got Python changes yourself, but you might want to think about it.
 
Great. Judging by the PLE icons at the bottom of the screen, it looks like you're using an older version of BUG. You're probably missing out on some nice features and bug fixes. I know it's not easy to upgrade BUG if you've got Python changes yourself, but you might want to think about it.
The mod uses BUG 4.2
 
I'm using the most recent revision 2245 from BUG SVN along with revision 220 from BULL SVN. I never noticed this before, but as I've started modding now I very often check the Python log files ;D . Strangely BUG doesn't initialize fully:

Spoiler PythonDbg.log :
sys.path = ['..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\email', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\encodings', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\build', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\lib', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\py', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\tools', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\lib\\colourchooser', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\lib\\editor', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\lib\\floatcanvas', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\lib\\masked', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\lib\\mixins', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\lib\\ogl', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\af', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\ca', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\cs', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\da', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\de', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\el', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\es', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\eu', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\fi', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\fr', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\hi', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\hu', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\id', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\it', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\ja', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\lv', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\nb', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\nl', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\pl', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\pt_BR', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\ru', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\sl', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\sv', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\tr', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\uk', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\zh_CN', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\zh_TW', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\af\\LC_MESSAGES', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\ca\\LC_MESSAGES', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\cs\\LC_MESSAGES', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\da\\LC_MESSAGES', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\de\\LC_MESSAGES', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\el\\LC_MESSAGES', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\es\\LC_MESSAGES', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\eu\\LC_MESSAGES', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\fi\\LC_MESSAGES', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\fr\\LC_MESSAGES', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\hi\\LC_MESSAGES', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\hu\\LC_MESSAGES', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\id\\LC_MESSAGES', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\it\\LC_MESSAGES', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\ja\\LC_MESSAGES', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\lv\\LC_MESSAGES', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\nb\\LC_MESSAGES', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\nl\\LC_MESSAGES', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\pl\\LC_MESSAGES', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\pt_BR\\LC_MESSAGES', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\ru\\LC_MESSAGES', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\sl\\LC_MESSAGES', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\sv\\LC_MESSAGES', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\tr\\LC_MESSAGES', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\uk\\LC_MESSAGES', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\zh_CN\\LC_MESSAGES', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\locale\\zh_TW\\LC_MESSAGES', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\py\\tests', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\tools\\XRCed', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM\\wx\\tools\\XRCed\\src-images', '..\\WARLORDS\\ASSETS\\PYTHON\\SYSTEM']

sys.modules = {'zipimport': <module 'zipimport' (built-in)>, 'signal': <module 'signal' (built-in)>, '__builtin__': <module '__builtin__' (built-in)>, 'sys': <module 'sys' (built-in)>, '__main__': <module '__main__' (built-in)>, 'exceptions': <module 'exceptions' (built-in)>, 'CvPythonExtensions': <module 'CvPythonExtensions' (built-in)>}

sys.builtin_module_names = ('CvPythonExtensions', '__builtin__', '__main__', '_bisect', '_codecs', '_codecs_cn', '_codecs_hk', '_codecs_iso2022', '_codecs_jp', '_codecs_kr', '_codecs_tw', '_csv', '_heapq', '_hotshot', '_locale', '_multibytecodec', '_random', '_sre', '_subprocess', '_symtable', '_weakref', '_winreg', 'array', 'audioop', 'binascii', 'cPickle', 'cStringIO', 'cmath', 'collections', 'datetime', 'errno', 'exceptions', 'gc', 'imageop', 'imp', 'itertools', 'marshal', 'math', 'md5', 'mmap', 'msvcrt', 'nt', 'operator', 'parser', 'regex', 'rgbimg', 'sha', 'signal', 'strop', 'struct', 'sys', 'thread', 'time', 'xxsubtype', 'zipimport')
load_module CvEventInterface
load_module BugEventManager
load_module CvEventManager
load_module CvUtil
load_module traceback
load_module CvScreensInterface
load_module CvMainInterface
load_module ScreenInput
load_module CvScreenEnums
load_module time
load_module BugDll
load_module BugOptions
load_module BugConfig
load_module BugCore
load_module BugUtil
load_module BugPath
load_module BugConfigTracker
load_module ColorUtil
load_module BugInit
load_module BugTypes
load_module xmllib
..\WARLORDS\ASSETS\PYTHON\SYSTEM\xmllib.py:9: DeprecationWarning: The xmllib module is obsolete. Use xml.sax instead.
17:01:08 DEBUG: BugConfig - registering xml handler BugConfig.RootHandler
17:01:08 DEBUG: BugConfig - registering bug handler BugConfig.BugHandler
17:01:08 DEBUG: BugConfig - registering load handler BugConfig.LoadHandler
17:01:08 DEBUG: BugConfig - registering config handler BugConfig.ConfigHandler
17:01:08 DEBUG: BugConfig - registering arg handler BugConfig.ArgHandler
load_module configobj
load_module __future__
load_module codecs
load_module validate
validate import failed
load_module BugOptionsScreen
load_module BugErrorOptionsTab
load_module BugOptionsTab
load_module BugHelp
load_module Popup
17:01:09 INFO : BugCore - creating uninitialized mod Core
17:01:09 INFO : BugCore - creating uninitialized mod MainInterface
load_module CityUtil
17:01:09 INFO : BugCore - creating uninitialized mod NJAGC
17:01:09 INFO : BugCore - creating uninitialized mod Scores
17:01:09 INFO : BugCore - creating uninitialized mod CityScreen
load_module ReligionUtil
load_module FontUtil
17:01:09 INFO : BugCore - creating uninitialized mod PLE
load_module Scoreboard
load_module DealUtil
load_module PlayerUtil
load_module TradeUtil
load_module DiplomacyUtil
load_module AttitudeUtil
load_module GameUtil
load_module BugUnitPlot
load_module MonkeyTools
load_module PyHelpers
load_module UnitUtil
load_module ReminderEventManager
load_module SdToolKit
load_module BugData
load_module cPickle
load_module autolog
load_module CvModName
17:01:09 INFO : BugCore - creating uninitialized mod Autolog
17:01:09 INFO : BugCore - creating uninitialized mod Reminder
load_module CvAppInterface
load_module GGUtil
load_module GPUtil
load_module ProgressBarUtil
load_module PLE
load_module AStarTools
load_module RawYields
load_module CvTechChooser
load_module TechPrefs
17:01:10 INFO : BugCore - creating uninitialized mod Advisors
load_module CvForeignAdvisor
load_module math
load_module CvExoticForeignAdvisor
load_module IconGrid_BUG
load_module DomPyHelpers
load_module TechTree
load_module FavoriteCivicDetector
load_module CvReligionScreen
load_module CvCorporationScreen
load_module CvCivicsScreen
load_module CvVictoryScreen
load_module TechUtil
load_module GameSetUpCheck
load_module AutoSave
load_module MapFinder
load_module MapFinderStatusScreen
17:01:11 INFO : BugCore - creating uninitialized mod MapFinder
17:01:11 INFO : BugCore - creating uninitialized mod AutoSave
load_module Buffy
17:01:11 INFO : BugCore - creating uninitialized mod BUFFY
load_module CvEspionageAdvisor
load_module SpyUtil
load_module BugScreen
17:01:11 INFO : BugCore - creating uninitialized mod BetterEspionage
load_module CvOptionsScreen
load_module CvReplayScreen
load_module CvHallOfFameScreen
load_module CvDanQuayle
load_module CvGameUtils
load_module CvUnVictoryScreen
load_module CvDawnOfMan
load_module CvTechSplashScreen
load_module CvTopCivs
load_module random
load_module CvInfoScreen
load_module CvIntroMovieScreen
load_module CvVictoryMovieScreen
load_module CvWonderMovieScreen
load_module CvEraMovieScreen
load_module CvSpaceShipScreen
load_module SevoScreenEnums
load_module CvWorldBuilderScreen
load_module CvWorldBuilderDiplomacyScreen
load_module CvDebugTools
load_module CvDebugInfoScreen
load_module CvMapGeneratorUtil
load_module CvGFCScreen
load_module CvPopupInterface
load_module CvScreenUtilsInterface
load_module CvOverlayScreenUtils
load_module CvDotMapOverlayScreen
load_module CvStrategyOverlay
17:01:12 INFO : BugCore - creating uninitialized mod StrategyOverlay
17:01:12 INFO : BugCore - creating uninitialized mod CustDomAdv
17:01:12 INFO : BugCore - creating uninitialized mod TechWindow
init-ing world builder screen
load_module CvWBPopups
load_module CvCameraControls
load_module CvAdvisorUtils
load_module InputUtil
17:01:12 DEBUG: BugUtil - extending BugEventManager.preGameStart instead CvAppInterface
17:01:12 DEBUG: BugEventManager - adding event 'PreGameStart'
17:01:12 DEBUG: BugEventManager - adding event 'BeginActivePlayerTurn'
17:01:12 DEBUG: BugEventManager - adding event 'SwitchHotSeatPlayer'
17:01:12 DEBUG: BugEventManager - adding event 'LanguageChanged'
17:01:12 DEBUG: BugEventManager - adding event 'ResolutionChanged'
17:01:12 DEBUG: BugEventManager - adding event 'PythonReloaded'
17:01:12 DEBUG: BugEventManager - adding event 'unitUpgraded'
17:01:12 DEBUG: BugEventManager - adding event 'unitCaptured'
17:01:12 DEBUG: BugEventManager - adding event 'combatWithdrawal'
17:01:12 DEBUG: BugEventManager - adding event 'combatRetreat'
17:01:12 DEBUG: BugEventManager - adding event 'combatLogCollateral'
17:01:12 DEBUG: BugEventManager - adding event 'combatLogFlanking'
17:01:12 DEBUG: BugEventManager - adding event 'playerRevolution'
17:01:12 DEBUG: BugInit - game not fully initialized
PY:OnInit


It has nothing to do with me fiddling around with stuff as a fresh BUG install from the SVN behaves identically. I'm running it in Custom Assets.
 
·Imhotep·;11137624 said:
17:01:12 DEBUG: BugInit - game not fully initialized

This message always appears. It's not really an error, though it does certainly sound like one. I think it's telling you that the game hasn't finished loading, though I dont quite understand the purpose of adding that message to the log.
 
Back
Top Bottom