Bug Reporting

But it's not clear for me why the non-silent version hasn't started. Should it pop up a dialog asking which file should be the log going in? It didn't.

Enabling the logging system only lets the game listen for [ALT + L] to tell it to start/stop logging. Silent start goes one step further and starts the log whenever a game starts/loads.
 
Oh, sorry :hammer2: I missed that reply. Enabling silent start was the solution. But it's not clear for me why the non-silent version hasn't started. Should it pop up a dialog asking which file should be the log going in? It didn't.

the same for me :confused: if you can explain better how those options work (including those about default file, name and path), I can make the hover text more clear :blush: Thanks :)

Oh, and it's not clear what the default path is; anyway it should be:
..\My Games\Beyond the Sword\Autolog, or maybe, using the Civ4 logs folder,
..\My Games\Beyond the Sword\Logs
 
Enabling the logging system only lets the game listen for [ALT + L] to tell it to start/stop logging. Silent start goes one step further and starts the log whenever a game starts/loads.

Ok, now this part is clear, and the hover text is not (I'll change it);
also the name is cunfusing, now it should be "automatic start" or omething like this, I think.

Edit: changed the hover text; I'm waiting for feedback about changing the name from silet to automatic, and for more info about which is the exact behaviour of the 3 options about the file to use, to improve their hover text and help file about them. (Waiting does not mean I'm in a hurry for them, only that I'm on hold and will not change them in the meanwhile :) )
 
"Automatic" is a more accurate description of what the feature does. "Silent" implies that the option doesn't actually change the logging behaviour, but just whether or not the player gets a notice about it. Hence, "automatic" gets my vote. :)
 
I run across a bug with the unit grouping when playing my turns in the FOX-SG lately.

Spoiler :
Civ4ScreenShot0020.jpg


All those trebs are supposed to be on the same line, right? Played with BtS 3.17, solver, BUG 3.0 (installed after deinstalling the old version of BUG).

Save one turn before the screenshot was taken (you guys are lucky I save nearly every turn :p)
View attachment Fox30 AD-1718.CivBeyondSwordSave
 
@mystyfly - Thanks. I've seen this too. The strange thing is that once I applied the promotion to the two trebs that were on their own line, they dropped down to be with the other trebs.

BTW, you can set Civ to autosave every turn in the CivilizationIV.ini.
 
You know, that would be a good idea for an options tab. "Unused Civ Options". Can put things like number of autosaves, and how often to autosave, and a few other things not included in the normal options.
 
EmperorFool said:
BTW, you can set Civ to autosave every turn in the CivilizationIV.ini.
I know that. But they get deleted or overwritten in the unlikely case I need them (like here :p) so I'd rather save on my own :smug:
 
alerum68 said:
You know, that would be a good idea for an options tab. "Unused Civ Options". Can put things like number of autosaves, and how often to autosave, and a few other things not included in the normal options.
... and what mod to use when starting, etc, etc.
I'd rather keep the (two) option menus at least a bit tidy, so when I'm looking for something I actually find it.
 
These map scripts Lows Random Maps and Planet Generator give me the Full of Resources map. Tried it about 5 times per script.
 
The last SVN version is broken: no more BUG Option screen (at least for me).

Can you please post your PythonErr.log file?
 
The BUG Military Advisor (version 3.0, tested under BTS 3.17 plus Solver 0.19) may "lose" some units because of an assumption made when the unitlist is built in the UL_refreshUnitSelection() function. I can provide some saves showing this behavior but the following method will show you how to see for yourself:

  1. Start a new game on something like Noble difficulty. (Guarantees 2 units which should match my example)
  2. Before doing anything, hit F5. You should see 2 units in the BUG Military Advisor: Settler and Warrior/Scout/Other
  3. Fortify the "Other" Unit and found a city.
  4. Check F5 again. There are now no units listed.
So what happened? The problem is the assumption that the number of Units returned by player.getNumUnits() will be bigger than the index of the last unit. This is not necessarily the case. In my above example, the following happens:

At the start of the game player.getNumUnits is 2 so the unit lister loops through units 0 and 1. This works great because those are the units we have:
  • Unit 0: Settler
  • Unit 1: Warrior
However, after founding the city, getNumUnits will now return 1 so the unit lister loop only looks at unit 0. Unit 0 is still our Settler but it fails the isNone() validity check so the advisor rightly ignores it. However, because the loop is now done, it never sees our ID 1 Warrior and thus the military advisor unit list is blank.

Anytime that there are "holes" in the unit list (due to deaths, orders which consume units, gifts, deletions, etc.) that aren't yet filled by newly built units we'll be affected by this situation because one or more units with indicies >= the number of units will be missing from the list.

As to how to fix it.... I'm not sure as I'm fairly new to BTS itself and civ4 modding in general and don't understand some things fully. However I expect that you want to use a listing method similar to what the Firaxis advisor uses: calling the PyPlayer helper function getUnitList() which builds and returns a list of valid units and then looping over that list.
Code:
				player = PyPlayer(iPlayer)
				if (player.isAlive()):
					unitList = player.getUnitList()
					for loopUnit in unitList:
						unitType = loopUnit.getUnitType()

Hope this helps and please keep up the excellent work; BUG does so much that I'd wished for from the off-the-shelf games and is really a tremendous piece of work.
 
Thanks, Dresden, that makes perfect sense. I was hoping to avoid creating the full list of units up-front, but once again I've been bitten by premature optimization. :mischief: That screen takes enough time to open.
 
Can you please post your PythonErr.log file?

Here it is ( sorry for the delay, I had to go to work :) )

Code:
Traceback (most recent call last):
  File "<string>", line 1, in ?
  File "<string>", line 52, in load_module
  File "CvEventInterface", line 13, in ?
  File "<string>", line 52, in load_module
  File "CvCustomEventManager", line 30, in ?
ImportError
: 
No module named CvGreatPersonModEventManager

Failed to load python module CvEventInterface.
ERR: Call function onEvent failed. Can't find module CvEventInterface
ERR: Call function onEvent failed. Can't find module CvEventInterface
Traceback (most recent call last):

  File "CvAppInterface", line 56, in onLoad

AttributeError: 'module' object has no attribute 'onEvent'
ERR: Python function onLoad failed, module CvAppInterface
ERR: Call function onEvent failed. Can't find module CvEventInterface
Traceback (most recent call last):

  File "CvScreensInterface", line 797, in forceScreenUpdate

  File "CvMainInterface", line 2772, in updateScreen

AttributeError: 'module' object has no attribute 'getEventManager'
ERR: Python function forceScreenUpdate failed, module CvScreensInterface
ERR: Call function onEvent failed. Can't find module CvEventInterface
ERR: Call function onEvent failed. Can't find module CvEventInterface
Traceback (most recent call last):

  File "CvScreensInterface", line 797, in forceScreenUpdate

  File "CvMainInterface", line 2832, in updateScreen

AttributeError: 'module' object has no attribute 'getEventManager'
ERR: Python function forceScreenUpdate failed, module CvScreensInterface
ERR: Call function onEvent failed. Can't find module CvEventInterface
(repeted several times)
 
@Cammagno - I fixed the problem you're having with the broken build in SVN. And yes, Dresden's post addresses the issue you're having with disappearing units. I will fix that issue shortly.
 
Back
Top Bottom