Jump to content

Map crashes


DavidW

Recommended Posts

I thought I'd post the error reports I get when the game CTDs on going to the map screen, as and when I get them... perhaps others can make sense of them for me. (This is an intermittent, fairly rare bug).

 

EDIT: in fact, I'm now reasonably sure the report I quoted doesn't have anything to do with the map crash bug.

 

ASSERTION FAILED!
File: InfGame.cpp
Line: 22002

Exp: pLinks[j].m_nArea >= 0 && pLinks[j].m_nArea < g_pBaldurChitin->GetObjectGame()->GetWorldMap().GetNumAreas(nMap)

Msg: no msg.
Run Debugger?

 

(AR1201 - orc lair)

Link to comment
I thought I'd post the error reports I get when the game CTDs on going to the map screen, as and when I get them...

...perhaps others can make sense of them for me. (This is an intermittent, fairly rare bug).

(AR1201 - orc lair)

On my memory, the Cave of Orcs in the original game leads to no where and is actually just an impase. So, so where exactly are you going to ?

Yes, when you kill the orcs in there, one goes back to Easthaven and reports back... and eventually gets taken to the Kuldahar Pass. And you get to the Cave of Orcs from the Easthaven and the cave entrance(ar1000 -> ar1200 -> ar1201) and there is no Worldmap use at all.

Link to comment
I thought I'd post the error reports I get when the game CTDs on going to the map screen, as and when I get them...

...perhaps others can make sense of them for me. (This is an intermittent, fairly rare bug).

(AR1201 - orc lair)

On my memory, the Cave of Orcs in the original game leads to no where and is actually just an impase. So, so where exactly are you going to ?

Yes, when you kill the orcs in there, one goes back to Easthaven and reports back... and eventually gets taken to the Kuldahar Pass. And you get to the Cave of Orcs from the Easthaven and the cave entrance(ar1000 -> ar1200 -> ar1201) and there is no Worldmap use at all.

 

This isn't relevant to the problem. The worldmap has nothing to do with it.

 

EDIT: sorry, that was too brief to make sense. The crash occurs when you go to the map screen, not the worldmap screen; it happens intermittently (so it's not that you can straightforwardly predict when it happens); it happens in a fairly wide variety of areas.

Link to comment

I can't make a whole lot of sense out of the message since I've never seen anything like it, but it seems to suggest the game expected the links in the area to be greater than or equal to zero and less than the number of areas from the worldmap (?). Which apparently wasn't the case. I don't see what the problem is from looking at the area, since there should be just one link to ar1200. There's no .mos or auxiliary map funkiness that I can see either.

Link to comment
I can't make a whole lot of sense out of the message since I've never seen anything like it, but it seems to suggest the game expected the links in the area to be greater than or equal to zero and less than the number of areas from the worldmap (?). Which apparently wasn't the case. I don't see what the problem is from looking at the area, since there should be just one link to ar1200. There's no .mos or auxiliary map funkiness that I can see either.

 

Checking further, I'm not even sure this error (logged partway down baldur.err) is the error caused by the map crash - in which case, the latter has no error debug message at all. (Joy)

Link to comment

If it crashes only when going to the map, it seems to indicate the .mos, though like I said, I can't see any obvious issues. This seems a long shot, but try rebuilding it with DLTCEP from the .tis - the "Create minimap" option (you'll have to set the .tis to 50x37 first as it can't seem to calculate the dimensions). I did this and got a .mos file of the same size (~151kb) but the initial entries (for the palette I'm guessing) were different in the rebuilt file.

 

Eh... dunno if this works... wasn't aware I could attach stuff here.

 

Link to comment

Belatedly following this up... the problem is, since I can't reproduce the bug reliably, the only way I could test this would be by rebuilding all the (173) mos files this way, and then playing and seeing if a crash happens. Which I'd consider doing if there was some batch way to do the rebuilding, but so far as I know, all I can do is do each one manually in DLTCEP. And now that's starting to look agonizingly painful given it's a long shot. (Which isn't to say I won't be forced to try it sooner or later.)

Link to comment

It should be possible to enforce a palette ordering or .mos conversion via batch. BAM Batcher does something of that nature (but for BAMs obviously). DLTCEP is written in C++ so it really should be capable of batching multiple files (I asked here). As you say, it might be a bit dodgy to do so unless we're certain the bug goes away with the "fix" but I guess it won't hurt anyway.

Link to comment

This is a worldmap inconsistency, it has nothing to do with minimaps.

I hope you haven't made this worldmap with DLTCEP because that would mean me more work :)

 

Basically it says: that

 

WMAP V1.0 Area Link entry

 

Offset Size (datatype) Description

0x0000 4 (dword) Index of destination area

 

must be in the valid interval. That is 0-number of areas in worldmap.

I don't know if DLTCEP has a check for this, but it is pretty easy to check on.

Link to comment
This is a worldmap inconsistency, it has nothing to do with minimaps.

I hope you haven't made this worldmap with DLTCEP because that would mean me more work :)

 

Basically it says: that

 

WMAP V1.0 Area Link entry

 

Offset Size (datatype) Description

0x0000 4 (dword) Index of destination area

 

must be in the valid interval. That is 0-number of areas in worldmap.

I don't know if DLTCEP has a check for this, but it is pretty easy to check on.

 

You mean the code I quoted above? ... if so, yes, I thought that was probably the case. (See post above.) Unfortunately, what that means is just that the map crash issue has nothing to do with that bug report, and so it's still mysterious.

Link to comment
Well, if you can get me any more tips on where it crashes, i might tell you the exact cause.

 

It occurs when going to the map screen. Other than that, I've never found a pattern. It happens in a variety of areas, perhaps one time in twenty, though I haven't been able to reproduce it by deliberately going to and from the screen in rapid succession. I've had situations where I've saved, then very shortly afterwards had a crash, then reloaded, tried again, and had no crash.

 

 

I hope you turned logging on, so you will have a baldur.err/baldur.log

 

Yes, though I'm the first to admit I don't really understand the structure of those files. (Hence my false positive above.) So far as I can see, the map crashes leave no signature in baldur.err. My Baldur.log seems to consist entirely of lines like

 

CVisibilityMap::AddCharacter : ( 2744, 810 ) #:1441814 R:14

 

which I don't know how to interpret. Having said that, I don't think I've seen a map crash locally for a little while so (depending on when the .log file is reset - is it ever?) may mean that the record is lost.

Link to comment
Yes, though I'm the first to admit I don't really understand the structure of those files. (Hence my false positive above.) So far as I can see, the map crashes leave no signature in baldur.err. My Baldur.log seems to consist entirely of lines like

CVisibilityMap::AddCharacter : ( 2744, 810 ) #:1441814 R:14

which I don't know how to interpret. Having said that, I don't think I've seen a map crash locally for a little while so (depending on when the .log file is reset - is it ever?) may mean that the record is lost.

I believe the baldur.log entries are just coordinates where a character spawns - not terribly useful for most crash investigations (though now that I think of it, it might be useful to check if a character's spawned *off* the map, but I don't think that's the issue here if the crash occurs only when viewing the minimap).

 

It's baldur.err that would be useful here, but if it's blank after a map crash, it doesn't tell us much. It never gets wiped unless you delete it, and obviously you have logging enabled since you're getting other crash entries appended to it. A lot of graphics-related crashes do not get reported to baldur.err from what I've seen (such as with faulty animations).

 

For what it's worth, there's a component of Ascension64's TobEx that reports logs additional data. But I think that's just additional data, so it may not do anything for instances where there's no data getting logged.

Link to comment

Crashes that appear in the logs are 'planned' crashes or assertions.

It looks like what you got here is a genuine bug in the engine the programmers didn't expect.

Those things can really be random, because they are usually indexing problems.

 

Hmm, maybe it happens when you are on the bottom of the screen in certain areas?

Afaik, there is a change in the minimap dimensions between iwd and tob.

Heh, you'll have to regenerate those minimaps, really.

In iwd/iwd2 a minimap pixel is 8x8 original pixels (a factor of 8)

In bg2 3x3 minimap pixels are 32x32 original pixels. (roughly 6)

 

So, an iwd minimap is smaller than a bg minimap.

Link to comment

Well, folks, I've got great news all around. I was getting crashes in ar8004 (Svir camp in LDD) and ar9711 (Luremaster castle interior) every time I pulled up the minimap. Since I rebuilt the minimaps with DLTCEP, both areas are crash free when viewing the map.

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...