CTD during turn

TheCivNewbie

Chieftain
Joined
Jul 30, 2007
Messages
4
1. Load the game.
2. Choose a single player game.
3. Load the save
4. finish the turn (<Enter>)

German; Patch 3.02 (no other patches)
Resolution 1600x1200; Radeon X1900; Catalyst 7-7_xp32_dd_ccc_wdm_49709
2GByte HS

Update:
Checks:
- drivers for graphic card are valid; DirectX uptodate; PC all time stable

Some more tests (also crashing):
- changing resolution (1024x768)
- changing graphic quality to medium
- declaring war to all civilization (to get new events ;-)) - tec-trade/tec-exchange not possible, because disabled
 

Attachments

After using a mem checker, reinstalling DirectX 9.0c and getting new video card drivers, the solution was to drop the graphics down to "medium". I had to do this on my laptop for vanilla but never for my "main" pc.

I have a Radeon 9800 video card and have major issues until I changed the graphics down to "medium".

Try this and rerun your game. I saw another thread with a user having mid game CTD with a radeon card (Radeon 9200se).
 
A Radeon X1900 sounds to be really fit for the job.

Maybe problems with your soundcard?
 
with and without Sound -> crash
Is it running on your PC?

I have regular crashes after 5-20 minutes of play which are without doubt caused by the Graphics card (Radeon 9250). It diesn´t fully support Shader 3.0 and BtS as well as other new games seem to make extensive use of this and other features of Direct X 9.0
I expect my own problem to go away as soon as I get me a new graphics card this or next week that fully supports the new Direct X features (Radeon X1600 or X 1650)
 
My problem is so similar I thought I could use this thread. I've attached my savegame and DxDiag.txt. Just loading the savegame and hitting end turn should reproduce a crash to desktop during "Waiting for other civilizations...". I have 3.02 EU version
 

Attachments

TheCivNewbie, the crash was because of Washington splitting off a colony. Thanks, I've identified the problem & found a fix.

Modders: in CvTeam::getName(), replace

Code:
if (GET_PLAYER((PlayerTypes)iI).getTeam() == getID())

with

Code:
if (GET_PLAYER((PlayerTypes)iI).getTeam() == getID() && GET_PLAYER((PlayerTypes)iI).isAlive())
 
Actually.. the real fix for this is to replace the following code in CvPlayer::getSplitEmpirePlayer


Code:
for (int i = 0; i < MAX_CIV_TEAMS; ++i)
{
	if (!GET_TEAM((TeamTypes)i).isEverAlive())
	{
		eTeam = (TeamTypes)i;
		break;
	}
}
with
Code:
eTeam = GC.getInitCore().getTeam(eNewPlayer);
 
Back
Top Bottom