Jump to content


Perreim

Member Since 12 Feb 2013
Offline Last Active Mar 20 2019 06:58 AM

Topics I've Started

[BGT] CTD, diagnostic and correction... HTH !

12 February 2013 - 08:58 AM

Hi all,

 

I've been experiencing a CTD last week and managed to find what was the cause and solve the problem yesterday.

As I found most of the clues which helped me here on the forums, I wanted to post the details on how I corrected it, hopefully helping anyone experiencing the same problem...

 

This is the first time I'm installing and playing BGI and II with mods so any improvements and advices would be greatly appreciated ! :-)

 

I've installed the following mods and fixes in that order :

 

BG1 with latest patch
BG2 with latest patch
BG2 fixpack 9
BGT 1.15
BG1 Unfinished Business 1.3
BG2 Unfinished Business 1.9
TDD 1.14
Dark Horizon 207
DSotSC 216
Worldmap 9.01
BG2 tweaks 9
Widescreen 3.05

 

Upon entering Wyrm's Crossing when going to Baldur's Gate city in chapter 5, just after the loading of the area the game froze on a black screen forcing me to kill the "bgmain.exe" in windows task manager.

 

Looking in the game directory, I found an empty "Baldur.err" but no further ideas of what was going on...

 

While wandering here on the forum, I red a post from Miloch (here) explaining that the debug should be enabled in order to have details of the problem in the "Baldur.err" file... So I edited my "baldur.ini" and added the required entry :

 

[Program Options]
Logging On=1

 

I restarted BGII and reloaded my save in order to load the failing area and reproduce the freezing black screen, killed the process again and went to the "Baldur.err" file and found the following message :

 

---------------------Start Logging Session---------------------

ASSERTION FAILED!
File: ObjCreature.cpp
Line: 12162

Exp: pCreature != NULL && creatureSize > 0

Msg: no msg.
Run Debugger?

 

With a further search on the forum, I found another post from Miloch (here) explaining that must be an error creating a creature in the area.

 

I downloaded the last version of "NearInfinity" (from here) in order to have a closer look to the games files.

 

I opened the AR0900.ARE (area code of Wyrm's Crossing in Gamebanshee's walkthrough) in order to have a look at it, but the content of the area wasn't at all corresponding with what is supposed to be in the sector (like Umberlee priestess called Tenya and the Flaming Fist Mercenary of the bridge)

 

Remembering that the original files from BGI are imported into the BGII installation by BGT, I looked once again on the forum and found another post (from Miloch again!) giving the area codes for BGT and Tutu (here), giving me the new code for the Wyrm's Crossing area : AR7900.ARE

 

Opening AR7900.ARE in NI, I could not find any clues on each the listed actors of the area which could explain the crash : I opened each actor .CRE file, inventory item .ITM and .SPL with no detected error or problem...

 

I then wondered why the NPC Quayle wasn't displayed in the actor list, as this is the area where I'm supposed to meet him...

 

I searched around the related files of the area and found him in the area script AR7900.BCS file after the following scripts lines :

 

IF
	Global("CmElf900","GLOBAL",0)
THEN
	RESPONSE #100
		CreateCreature("CMELF01",[4033.3285],5) // Jhaeros Auglathla
		CreateCreature("CMELF02",[4119.3252],6) // Ygrainne Windstar
		CreateCreature("CMELF03",[4199.3242],5) // Elven Body Guard
		CreateCreature("CMELF04",[3987.3314],6) // Elven Body Guard
		CreateCreature("CMELF05",[4055.3232],6) // <NO TEXT> - If we can find it and return it to the playhouse, the reward offered by our Stagemistress, Raelis Shai, shall be yours.  Come, then, let us search for it: free money does not come often in the arts.
		SetGlobal("CmElf900","GLOBAL",1)
		Continue()
END

 

As I never encountered theses characters in the original BGI, I decided to have a further look to those .CRE files first, especially the last one "CMELF05" as it had a strange comment next to it

 

Upon opening the CMELF05.CRE file, NI displayed:

 

Error reading CMELF05.CRE
Unsupported version:ÿÿÿÿ

 

As advised in one of the previous post I red, I went into the console to execute the "WeiDU.exe --change-log CMELF05.CRE" command line and I got :

 

Mods affecting CMELF05.CRE:
00000: /* from game biffs */ ~SETUP-DARKHORIZONS.TP2~ 0 0 //  "Dark Horizons" Mod (Requires Tales of the Sword Coast, TuTu or BGT): BGT v207
00001: /* from game biffs */ ~BG2_TWEAKS/SETUP-BG2_TWEAKS.TP2~ 0 1210 // Use BG Walking Speeds (BETA): v9

 

I did a search of the CMELF05.CRE file in the BGII directory and found a saved file in the bg2_tweaks\backup directory.

 

As I could open the saved file using NI, I just knew I had to restore the original file and proceed manually with the changes BG2 tweaks should have done properly to the file.

 

In order to identify the changes I needed to do, I just had to make a few comparisons between the current CMELF04.CRE and the previous saved version of CMELF04.CRE and CMELF05.CRE files, as both .CRE are nearly the same (except a single attribute called "Script name")

 

It was finally easier to delete the corrupted CMELF05.CRE, to duplicate the current CMELF04.CRE, rename it and change the "Script name" Value.

 

I reloaded the game and save, went back to the Wyrm's Crossing... and the area loaded without a single trouble !

 

I'm still wondering how could BG2 tweaks corrupt CMELF05.CRE and neither CMELF04.CRE nor CMELF03.CRE despite them being the same but anyway, many thanks to the modders for their great work (and especially Miloch's posts, very useful in this crash case ! :-) )

 

Perreim