Single Player bugs and crashes v36 plus (SVN) - After the 24th of October 2015

Status
Not open for further replies.
I started my current game with the latest SVN and I got a free Gatherer when I was the second to research the tech. I also got the message that a gatherer born in a far away land a couple of turns earlier.

You always get a free gatherer when you get that tech but via python. Only the first gets a second free gatherer.
 
This can happen if your art defines are not quite correct. I am assuming you are using your mod, I have not looked at the pedia directly with your mod in yet.

edit just checked it with your mod and it is working fine for me.

Hm... Had the problem with a modded 9221, with an original and fully unmodded 9228, but not with a modded 9219. Don't get it... :eek:
 
I did not try that but I can't see how it would make a difference.

In my opinion, all it should be checking is if its the same unit doing the evaluation for the same plot and a battle or move to or from that plot hasn't taken place since the last check. Maybe you're right though that this would be a potential fix. The problem is that my understanding of maps are pretty terrible. It didn't seem like any cached values were actually being saved in the map as all results it had mapped out were 0.

All results are stored in that map even those with 0 value. This is needed because calculating the Defender Value takes more time as getting the result from the map does.
 
All results are stored in that map even those with 0 value. This is needed because calculating the Defender Value takes more time as getting the result from the map does.

What I'm saying is that there are NO non-zero stored values so there must be a failure to save data since there should be at least SOME cached checks with a value. I must admit that I don't know how to check the validity of that = statement because I know so little about the storage method being employed. But having some results of 0 would be understandable while ALL of them being 0 is not.
 
Just got this CTD,

Traceback (most recent call last):

File "CvScreensInterface", line 98, in showMainInterface

File "CvMainInterface", line 711, in interfaceScreen

RuntimeError: unidentifiable C++ exception
ERR: Python function showMainInterface failed, module CvScreensInterface

mini and save in zip

I've solved this and the commit is headed to the SVN now.

I'll take a look at the caching issue suggestion when I can Alberts2. I do see a way that what you suggest could have bearing so I'll be trying it but I wanted to get this fix in as quickly as I could being as it was very simple really.
 
You always get a free gatherer when you get that tech but via python. Only the first gets a second free gatherer.
I didn't know that. I mean the first part. I don't know why but I always thought that the first one gets two gatherers the second one gets one and everybody else gets nothing. :blush:

I became curious so I tried to repeat the problem. You're right. I didn't get the second gatherer either.
 
I build the palace in a other city but the palace at the old city didn't get removed out of some reason and now I have 2 palace.
Edit: Maybe because I activated unlimted National Units?
 
My citizens are revolting in triplicate in 9229.

I'm playing with Resolutions on, and I'm getting revolutions because I'm a noob, but in two out of two games where I've had revolutions, I've had three in one turn.
I'll get three popup boxes stack in front of each other (these may not have the same content - I can have 1 x "A revolution is brewing!" and 2 x "You citizens are growing restless!" ) and if I do reject, in a few turns I'll have one to three separate civs spawn units outside my city.


I shut the game down, restarted civ and reloaded the save (despite not updating my SVN version inbetween, it asked me if I wanted to recalculate) so the below PythonDbg.log is for one turn only.

Code:
PY:onModNetMessage
load_module encodings.ascii

PY:  Loading revolution data
Error!  Rebel types not found, no short lists available

PY:Player 42 Civilization Aggressive Animals Unit Puff Adder was killed by Player 41
PY:Player 41 Civilization Passive Animals Unit Hippopotamus was killed by Player 42
PY:  REVOLT - Skala (Incan Empire) has decided to launch a revolution with index 1625 (44 local) and odds 29.2 in year -45000!!!!
PY:  REVOLT - Factors effecting timing: Bad local, Disorder, 
PY:  Revolt - Peaceful revolution
PY:  Revolt - Revolution in homeland
PY:  Revolt - Capital or large number of cities in peaceful revolution!
PY:  Revolt - Asking for change in leader from Sara
PY:  Revolt - Switching from leader type 9 to 7 (Augustus Caesar)
PY:  Revolt - 1 cities in revolution, buyoff cost 146
PY:  Revolt - Potential new leader: Augustus Caesar
PY:  Revolt - Approval rating (initially 73) adjusted due to 1 of 1 cities revolting
PY:  Revolt - Odds are 30
PY:  Revolt - Adjusted approval rating is 25
PY:  Revolt - Offering human choice on leader change
PY:Player 41 Civilization Passive Animals Unit Barn Owl was killed by Player 42
PY:Player 43 Civilization Neutral Animals Unit Sabretooth was killed by Player 42
PY:Player 41 Civilization Passive Animals Unit Barn Owl was killed by Player 42
PY:Player 41 Civilization Passive Animals Unit Deer was killed by Player 42
PY:Player 42 Civilization Aggressive Animals Unit Dire Wolf was killed by Player 3
PY:Player 41 Civilization Passive Animals Unit Mountain Tapir was killed by Player 42
PY:Player 41 Civilization Passive Animals Unit Deer was killed by Player 42
PY:  REVOLT - Skala (Incan Empire) has decided to launch a revolution with index 1663 (44 local) and odds 29.9 in year -45000!!!!
PY:  REVOLT - Factors effecting timing: Bad local, Disorder, 
PY:  Revolt - Peaceful revolution
PY:  Revolt - Revolution in homeland
PY:  Revolt - Capital or large number of cities in peaceful revolution!
PY:  Revolt - Asking for change in leader from Sara
PY:  Revolt - Switching from leader type 9 to 15 (Canute the Great)
PY:  Revolt - 1 cities in revolution, buyoff cost 133
PY:  Revolt - Potential new leader: Canute the Great
PY:  Revolt - Approval rating (initially 73) adjusted due to 1 of 1 cities revolting
PY:  Revolt - Odds are 30
PY:  Revolt - Adjusted approval rating is 25
PY:  Revolt - Offering human choice on leader change
PY:Player 41 Civilization Passive Animals Unit Barred Owl was killed by Player 43
PY:  REVOLT - Skala (Incan Empire) has decided to launch a revolution with index 1701 (44 local) and odds 30.6 in year -45000!!!!
PY:  REVOLT - Factors effecting timing: Bad local, Disorder, 
PY:  Revolt - Violent, above always violent threshold
PY:  Revolt - Revolution in homeland
PY:  Revolt - Capital or majority of cities in violent revolution!
PY:  Revolt - Demanding change in leader from Sara
PY:  Revolt - Switching from leader type 9 to 60 (Justinian I)
Error!  Rebel types not found, no short lists available

PY:  Revolt - Looking for revolution worthy civ in Skala
PY:  Revolt - Creating new player in slot 5
PY:  Revolt - Created the Jivaro Empire in slot 5
PY:  Rev - NOT giving rev all of Cave Dwelling
PY:  Rev - NOT giving rev all of Controlled Fire
PY:  Revolt - 1 cities in revolution, buyoff cost -1
PY:  Revolt - Potential new leader: Justinian I
PY:  Revolt - Approval rating (initially 73) adjusted due to 1 of 1 cities revolting
PY:  Revolt - Odds are 50
PY:  Revolt - Adjusted approval rating is 25
PY:  Revolt - Offering human choice on leader change
PY:OnPreSave
PY:  Revolt - Handling local revolution popup
PY:  Revolt - Local Button 1 pressed, label: reject
Modder's net message!

PY:onModNetMessage
Modder's net message!

PY:onModNetMessage
PY:  Revolt - Handling network revolution popups including local player
PY:  Revolt - Button :reject: pressed by playerID = 0
PY:  Revolt - Processing revolution revolution type: leader
PY:  Revolt - Skala has now revolted 1 times
PY:  Revolt - Player clings to power
PY:  Revolt - Jivaro Empire's Extra Attitude towards Incan Empire now -5
RevData:  Initializing player object

PY:  Revolt - Stored revolt spawn data for rev player 5, revolt against player 0 idx 2
PY:  Revolt - Completed processing revolution
PY:  Revolt - Handling local revolution popup
PY:  Revolt - Local Button 1 pressed, label: reject
Modder's net message!

PY:onModNetMessage
Modder's net message!

PY:onModNetMessage
PY:  Revolt - Handling network revolution popups including local player
PY:  Revolt - Button :reject: pressed by playerID = 0
PY:  Revolt - Processing revolution revolution type: leader
PY:  Revolt - Skala has now revolted 2 times
PY:  Revolt - Player clings to power
PY:  Revolt - Peaceful, increasing rev indices
PY:  Revolt - Completed processing revolution
PY:  Revolt - Handling local revolution popup
PY:  Revolt - Local Button 1 pressed, label: reject
Modder's net message!

PY:onModNetMessage
Modder's net message!

PY:onModNetMessage
PY:  Revolt - Handling network revolution popups including local player
PY:  Revolt - Button :reject: pressed by playerID = 0
PY:  Revolt - Processing revolution revolution type: leader
PY:  Revolt - Skala has now revolted 3 times
PY:  Revolt - Player clings to power
PY:  Revolt - Peaceful, increasing rev indices
PY:  Revolt - Completed processing revolution

The last time I played C2C before updating to 9229 was from an SVN before the animals and barbs were split up into separate players; back then I was only getting one popup at a time.


I don't know if you're actively working on Revolutions or if it's an aside (When I was looking this up, I found a few bits and pieces on there being balance issues anyway), but if you are, I've attached a zipped save (should get 3 popups on the next turn).

Edit: Could this be something to do with Barbs not being the last player? (Referenced briefly in the breaking saves thread)
http://forums.civfanatics.com/showthread.php?t=559751&page=16

In WorldBuilder for my saved game, there are a number of players and the last 6 in the list are:
"Barbarian" Player 40
"The Green Man" Player 41
"The Green Man" Player 42
"The Green Man" Player 43
"Neanderthal" Player 44
"Barbarian" Player 45

Therefore, the loop
Code:
if( iNextPlayer > gc.getBARBARIAN_PLAYER() ) :
			iGameTurn += 1
			iNextPlayer = 0
			while( iNextPlayer < iPlayer ) :
				if( RevData.revObjectExists(gc.getPlayer(iNextPlayer)) ) :
					# RevolutionMP start - general fix thanks Init
					spawnList = RevData.revObjectGetVal(gc.getPlayer(iNextPlayer), 'SpawnList' )
					if( spawnList != None and len(spawnList) > 0 ) :
					# RevolutionMP end - general fix thanks Init
						bDoLaunchRev = True
						break

				if( not gc.getPlayer(iNextPlayer).isAlive() ) :
					iNextPlayer += 1
				else :
					break
		# Stuff at beginning of this players turn
		if( gc.getPlayer(iNextPlayer).isAlive() ) :
			#if( self.LOG_DEBUG ) : CvUtil.pyPrint(" Beginning turn %d for player %d, %s"%(iGameTurn, iNextPlayer, gc.getPlayer(iNextPlayer).getCivilizationDescription(0)))
			self.updatePlayerRevolution( [iGameTurn,iNextPlayer] )

		if( bDoLaunchRev ) :
			self.launchRevolution( iNextPlayer )
Which should only run once (because the barbs are the last players), I think may be running several times and therefore giving me, player 0, a check for Revolution for each player after Barbarian. (Hence why I don't always get the same content in the 'duplicate' popups.)
...Assuming that player 40 "Barbarian" is considered to be BARBARIAN_PLAYER.
 

Attachments

revolutions is bugged all buildings that increase/decrease revolt risk that should only affect the city there in affect all cities
 
Someone said here somewhere that he couldn't build African buildings or units after conquering some African city. I can confirm the existence of the problem. I have two different games with the problem. In the first I didn't get Oceanian culture after occupying Maori cities, in the second I didn't get South American culture after conquering the Inca empire.

Both saves created with SVN 9228, the game options are included in the zip files.
I realized what happened here. When you conquer a city you don't get the culture immediately. The people will build it in the next turn. So it was my mistake, sorry for the false bug report.
 
My citizens are revolting in triplicate in 9229.

I'm playing with Resolutions on, and I'm getting revolutions because I'm a noob, but in two out of two games where I've had revolutions, I've had three in one turn.
I'll get three popup boxes stack in front of each other (these may not have the same content - I can have 1 x "A revolution is brewing!" and 2 x "You citizens are growing restless!" ) and if I do reject, in a few turns I'll have one to three separate civs spawn units outside my city.


I shut the game down, restarted civ and reloaded the save (despite not updating my SVN version inbetween, it asked me if I wanted to recalculate) so the below PythonDbg.log is for one turn only.

Code:
PY:onModNetMessage
load_module encodings.ascii

PY:  Loading revolution data
Error!  Rebel types not found, no short lists available

PY:Player 42 Civilization Aggressive Animals Unit Puff Adder was killed by Player 41
PY:Player 41 Civilization Passive Animals Unit Hippopotamus was killed by Player 42
PY:  REVOLT - Skala (Incan Empire) has decided to launch a revolution with index 1625 (44 local) and odds 29.2 in year -45000!!!!
PY:  REVOLT - Factors effecting timing: Bad local, Disorder, 
PY:  Revolt - Peaceful revolution
PY:  Revolt - Revolution in homeland
PY:  Revolt - Capital or large number of cities in peaceful revolution!
PY:  Revolt - Asking for change in leader from Sara
PY:  Revolt - Switching from leader type 9 to 7 (Augustus Caesar)
PY:  Revolt - 1 cities in revolution, buyoff cost 146
PY:  Revolt - Potential new leader: Augustus Caesar
PY:  Revolt - Approval rating (initially 73) adjusted due to 1 of 1 cities revolting
PY:  Revolt - Odds are 30
PY:  Revolt - Adjusted approval rating is 25
PY:  Revolt - Offering human choice on leader change
PY:Player 41 Civilization Passive Animals Unit Barn Owl was killed by Player 42
PY:Player 43 Civilization Neutral Animals Unit Sabretooth was killed by Player 42
PY:Player 41 Civilization Passive Animals Unit Barn Owl was killed by Player 42
PY:Player 41 Civilization Passive Animals Unit Deer was killed by Player 42
PY:Player 42 Civilization Aggressive Animals Unit Dire Wolf was killed by Player 3
PY:Player 41 Civilization Passive Animals Unit Mountain Tapir was killed by Player 42
PY:Player 41 Civilization Passive Animals Unit Deer was killed by Player 42
PY:  REVOLT - Skala (Incan Empire) has decided to launch a revolution with index 1663 (44 local) and odds 29.9 in year -45000!!!!
PY:  REVOLT - Factors effecting timing: Bad local, Disorder, 
PY:  Revolt - Peaceful revolution
PY:  Revolt - Revolution in homeland
PY:  Revolt - Capital or large number of cities in peaceful revolution!
PY:  Revolt - Asking for change in leader from Sara
PY:  Revolt - Switching from leader type 9 to 15 (Canute the Great)
PY:  Revolt - 1 cities in revolution, buyoff cost 133
PY:  Revolt - Potential new leader: Canute the Great
PY:  Revolt - Approval rating (initially 73) adjusted due to 1 of 1 cities revolting
PY:  Revolt - Odds are 30
PY:  Revolt - Adjusted approval rating is 25
PY:  Revolt - Offering human choice on leader change
PY:Player 41 Civilization Passive Animals Unit Barred Owl was killed by Player 43
PY:  REVOLT - Skala (Incan Empire) has decided to launch a revolution with index 1701 (44 local) and odds 30.6 in year -45000!!!!
PY:  REVOLT - Factors effecting timing: Bad local, Disorder, 
PY:  Revolt - Violent, above always violent threshold
PY:  Revolt - Revolution in homeland
PY:  Revolt - Capital or majority of cities in violent revolution!
PY:  Revolt - Demanding change in leader from Sara
PY:  Revolt - Switching from leader type 9 to 60 (Justinian I)
Error!  Rebel types not found, no short lists available

PY:  Revolt - Looking for revolution worthy civ in Skala
PY:  Revolt - Creating new player in slot 5
PY:  Revolt - Created the Jivaro Empire in slot 5
PY:  Rev - NOT giving rev all of Cave Dwelling
PY:  Rev - NOT giving rev all of Controlled Fire
PY:  Revolt - 1 cities in revolution, buyoff cost -1
PY:  Revolt - Potential new leader: Justinian I
PY:  Revolt - Approval rating (initially 73) adjusted due to 1 of 1 cities revolting
PY:  Revolt - Odds are 50
PY:  Revolt - Adjusted approval rating is 25
PY:  Revolt - Offering human choice on leader change
PY:OnPreSave
PY:  Revolt - Handling local revolution popup
PY:  Revolt - Local Button 1 pressed, label: reject
Modder's net message!

PY:onModNetMessage
Modder's net message!

PY:onModNetMessage
PY:  Revolt - Handling network revolution popups including local player
PY:  Revolt - Button :reject: pressed by playerID = 0
PY:  Revolt - Processing revolution revolution type: leader
PY:  Revolt - Skala has now revolted 1 times
PY:  Revolt - Player clings to power
PY:  Revolt - Jivaro Empire's Extra Attitude towards Incan Empire now -5
RevData:  Initializing player object

PY:  Revolt - Stored revolt spawn data for rev player 5, revolt against player 0 idx 2
PY:  Revolt - Completed processing revolution
PY:  Revolt - Handling local revolution popup
PY:  Revolt - Local Button 1 pressed, label: reject
Modder's net message!

PY:onModNetMessage
Modder's net message!

PY:onModNetMessage
PY:  Revolt - Handling network revolution popups including local player
PY:  Revolt - Button :reject: pressed by playerID = 0
PY:  Revolt - Processing revolution revolution type: leader
PY:  Revolt - Skala has now revolted 2 times
PY:  Revolt - Player clings to power
PY:  Revolt - Peaceful, increasing rev indices
PY:  Revolt - Completed processing revolution
PY:  Revolt - Handling local revolution popup
PY:  Revolt - Local Button 1 pressed, label: reject
Modder's net message!

PY:onModNetMessage
Modder's net message!

PY:onModNetMessage
PY:  Revolt - Handling network revolution popups including local player
PY:  Revolt - Button :reject: pressed by playerID = 0
PY:  Revolt - Processing revolution revolution type: leader
PY:  Revolt - Skala has now revolted 3 times
PY:  Revolt - Player clings to power
PY:  Revolt - Peaceful, increasing rev indices
PY:  Revolt - Completed processing revolution

The last time I played C2C before updating to 9229 was from an SVN before the animals and barbs were split up into separate players; back then I was only getting one popup at a time.


I don't know if you're actively working on Revolutions or if it's an aside (When I was looking this up, I found a few bits and pieces on there being balance issues anyway), but if you are, I've attached a zipped save (should get 3 popups on the next turn).

Edit: Could this be something to do with Barbs not being the last player? (Referenced briefly in the breaking saves thread)
http://forums.civfanatics.com/showthread.php?t=559751&page=16

In WorldBuilder for my saved game, there are a number of players and the last 6 in the list are:
"Barbarian" Player 40
"The Green Man" Player 41
"The Green Man" Player 42
"The Green Man" Player 43
"Neanderthal" Player 44
"Barbarian" Player 45

Therefore, the loop
Code:
if( iNextPlayer > gc.getBARBARIAN_PLAYER() ) :
			iGameTurn += 1
			iNextPlayer = 0
			while( iNextPlayer < iPlayer ) :
				if( RevData.revObjectExists(gc.getPlayer(iNextPlayer)) ) :
					# RevolutionMP start - general fix thanks Init
					spawnList = RevData.revObjectGetVal(gc.getPlayer(iNextPlayer), 'SpawnList' )
					if( spawnList != None and len(spawnList) > 0 ) :
					# RevolutionMP end - general fix thanks Init
						bDoLaunchRev = True
						break

				if( not gc.getPlayer(iNextPlayer).isAlive() ) :
					iNextPlayer += 1
				else :
					break
		# Stuff at beginning of this players turn
		if( gc.getPlayer(iNextPlayer).isAlive() ) :
			#if( self.LOG_DEBUG ) : CvUtil.pyPrint(" Beginning turn %d for player %d, %s"%(iGameTurn, iNextPlayer, gc.getPlayer(iNextPlayer).getCivilizationDescription(0)))
			self.updatePlayerRevolution( [iGameTurn,iNextPlayer] )

		if( bDoLaunchRev ) :
			self.launchRevolution( iNextPlayer )
Which should only run once (because the barbs are the last players), I think may be running several times and therefore giving me, player 0, a check for Revolution for each player after Barbarian. (Hence why I don't always get the same content in the 'duplicate' popups.)
...Assuming that player 40 "Barbarian" is considered to be BARBARIAN_PLAYER.
I think you're probably right but this is one of those places where the assumption was that the barb player would be the last player that exists in many places throughout python. I had tried to fix this but I had to back out of the fix because it didn't work - hoping DH would take a look at these instances.

I build the palace in a other city but the palace at the old city didn't get removed out of some reason and now I have 2 palace.
Edit: Maybe because I activated unlimted National Units?
Known bug. Will take a look now that you've reregistered the issue but will take a look in the order its been reported. Could be a bit.

revolutions is bugged all buildings that increase/decrease revolt risk that should only affect the city there in affect all cities
LONG known bug - I found this one about 2 yrs ago. I will thus take care of it when your bug report comes up but it's an interesting one in that it may take some python interaction.
 
You don't mention if this was working before I changed the tech screen. Was it?

A screenshot may also help. A few times a screenshot has jogged a modders memory and a fix was quickly found.

I don't know... It wasn't working in April, but it was working in Beggining of January if I remember.
Between January and april i was "unavailible". I always used SVN version.

Screenshoot isn't needed. If player A use tech tree, player B see same things in tech tree (including techs A invented which B doesn't) and clicking on any technology doesn't help. Video might help, but I didn't recorded anything-video and won't like to learn.

I think the new Tech Tree Menu is probably the guilty you seek. I guess it takes player as constant (0 or 1, I don't know how it is implemented in Civ4), instead of variable (the one would hold player number). Thanks for Help, for us players, and please keep in mind, I am admiring your mod :) (testers are sometimes hated instead the bugs, please don't hate me :| )
 
my game doesnt show combat animations at all
i saw this when i first switchted to SVN (a few versions back - my SVN log goes back to version 9130) and i am now using the latest SVN (9229) and its the same issue

is this a known issue and is there maybe a workaround ? or this one of the disadvantages of using a dev version ?
 
my game doesnt show combat animations at all
i saw this when i first switchted to SVN (a few versions back - my SVN log goes back to version 9130) and i am now using the latest SVN (9229) and its the same issue

is this a known issue and is there maybe a workaround ? or this one of the disadvantages of using a dev version ?

It is a known issue. Combat animations had to be disabled because they were causing the game to crash out. We are unsure why at the moment as many changes were made at the same time. I am not sure it is actively being examined or not, I am not looking at it right now.
 
I don't know... It wasn't working in April, but it was working in Beggining of January if I remember.
Between January and april i was "unavailible". I always used SVN version.

Screenshoot isn't needed. If player A use tech tree, player B see same things in tech tree (including techs A invented which B doesn't) and clicking on any technology doesn't help. Video might help, but I didn't recorded anything-video and won't like to learn.

I think the new Tech Tree Menu is probably the guilty you seek. I guess it takes player as constant (0 or 1, I don't know how it is implemented in Civ4), instead of variable (the one would hold player number). Thanks for Help, for us players, and please keep in mind, I am admiring your mod :) (testers are sometimes hated instead the bugs, please don't hate me :| )

The fastest way to test if it is the new tech screen would be if you went into Assets/Python/Screens and renamed CvTechChooser.py to something else. You will get the default BtS Tech Chooser (I have just checked this is the case) which has some other issues around display but if you get the correct screen for the correct player then it is the new screen that is causing the problem.
 
Status
Not open for further replies.
Back
Top Bottom