Jump to content

Version 5 Bug Reports


Recommended Posts

So, unfortunately, I cannot(or, rather, an average gamer cannot) complete the game, yet, so I think I'll wait for the next batch of fixes before releasing the beta IWD NPC, as it probably wouldn't make sense now.

 

Strategy-wise, I think that's sensible. I think we're almost at the stage that the beta is playable (hopefully it's been an entirely different experience from playing v4 in spring 2009?) but we're not quite there. At the moment, I'm tentatively hoping that in the next 4-8 weeks we'll have a conversion that survives critical path testing, at which point we can deem it a "proper", recreationally-playable beta. That's the point at which I think releasing IWDNPC makes sense.

Link to comment

OK, time for a quick thread reset.

 

Confirmed bugs since 2a that are on my to-do list:

  • Protagonist mapped to LastTalkedToBy in dialogues.
  • Copy keymap and languages file (if not already present)
  • AR9800 - The summoners became attackers rather than remain where they are and summon Glabrezu's to attack.
  • Cutscene that reveals Hobart as a rakshasha needs a lot of work. Hobart transforms, but the replacement rakshasha immediately deactivates. One of the rakshashas has identical loot to Hobart.
  • Item type (38) are hardcoded in BG2 to be familiars, causing the Shattered Blade of Aihonen (jhoswd1) to have a 'Release Familiar' button. Same is true for the generic broken sword (misc56) but I don't think that's used anywhere ingame.
  • Add movies to movidesc.2da. Get subtitles to work on movies.
  • ar2005, Kuldahar pass mill basement. Much like Tom Cruise, Jermsy is viewable despite hiding in the closet. (Bazing! I'll be here all week!)
  • Shorten the travel area from the first to second floor in Arundel's home. Since it's crescent-shaped, you can stand in the middle of the semicircle, not on the stairs at all, and move up.
  • Fix code loop in baldur.bcs: SPRITE_IS_DEADULIGAR
  • Fix search map in ar6001.
  • One of the traps in the second floor of Kresselack's tomb (ar3502, Crypt Trap 1) is already detected.
  • Paladin's immunity to disease does not suppress the diseased icon.
  • Hobart's not appearing in the Whistling Gallows.

Bugs that I need to confirm or need more info:

 

The orc archer in AR2004 failed to go hostile when Uligar did.

Scripting looks fine.

 

One of the sword spiders near Everain's body was standing in place, playing its attack sounds and animation over and over (other sword spiders were fine). Once it could see an actual enemy it behaved normally.

Looked, couldn't see anything odd in scripting.

 

Back to the first one, solo with kill sword, I've reached all the way to the revealing of Icasaracht. First problem was that Angaar was not at the gate. I had to CLUA him in. Second problem was when Icasaracht kills the seer and flees Wyldene's body. The cutscene hung, probably another BCS problem. Give me the code and I'll fix it here. Everything else worked fine and now I'm closing in on the end. I'd like to get there and have all entrances/exits checked...

Need a bit more information, though I have a hunch... Where exactly does it hang? Does Wylfdene kill the seer, and does he then escape? Or does it hang prior to either of these actions?

 

Once I enter the Great Hall, Wylfdene "has nothing to say" to me. His dialog fails to trigger. Asking a tribesman, I can ask which way the dragon spirit fled. Talking to Hjollder, he responds with his Burial Isle dialog.

Hmm, this should have been tightened up in v2a. I'll take another look.

 

Spurious 'enemy sighted' messages.

Will try and put together a hotfix, but this is better addressed in the core. This is low priority for now. As is...

 

area animation layering

I'm starting to think it'll be easier to compile a list of area animations from IWD, look at them, and decide which need background flags and 0 z-index. Right now it's a mess of fireplaces.

 

After clearing Upper Dorn's, I went to return Kalibak's Journal to Bandoth. I had already returned the Razorvine Extract. With or without the journal I was unable to re-enter the area. CTD.

Have not been able to look in to this yet.

 

Finally, the badges activate the switches properly, but the stairs up remain inaccessible.

Worked fine here... Can you check the ALL_KEYS global variable? It should increment by one with every badge, and when it's equal to six the stairs open.

 

AR9711 - As soon as I entered two invisible stalkers attack me. None should appear until summoned by the Hobard Rakshasa.

There are, I believe, 10 invisible stalkers in the area and only two are triggered by Hobart.

 

Some kit abilities appear to not be working. Paladin's detect/protection from evil, thief's set snare. Lathander abilities appear to be working, as does a ranger's charm (used no prob on Apsel's wolf).

Need to follow-up.

 

Rest monsters

Ugh, just ugh.

 

Also, maybe that's an odd little issue, but when I used Tab to highlight all items in the Lonelywood tavern, there was an odd item highlighted in the upper-left corner of the Lonelywood tavern map(not available by walking). Same thing with the upper right corner of the Lonelywood map - lots of highlighted objects(but my party can't approach them).

Will check.

 

However, I keep getting a strange issue: each time I Alt-tab between the game and Windows(sometimes once, sometimes a few times), the font in the game is replaced by an unreadable combination of white points, so I can no longer read the game dialogue and messages. I have searched in this thread, but haven't found similar reports. It never happened with my BG2 games, so maybe there's another file I need to copy to IWDTutu directory? I just don't know which one.

I'm also getting this; it's somewhat dependent on a) if Widescreen is installed and b) size of your dialogue box (the one at the bottom with 'Enemy sighted' messages, damage, dialogues, etc.). There are three possible sizes (small, medium large). I tested this with and without Widescreen on a 1440x900 monitor.

  • Playing in a window has no issue.
  • Playing fullscreen w/o Widesceen gets scrambled text only if the dialogue box is small. Medium and large boxes don't scramble.
  • Playing fullscreen w/widescreen gets scrambled text with small and medium text boxes.

Here's a fun fact: if you get scrambled text, you can fix it without quitting. Make the text box large and then alt-tab out and then back in. It's a serviceable workaround for the moment, but ultimately we probably need Ladejarl and/or bigg to look at this.

 

Stuff I need to go back in to IWD and check

 

Creature animation speeds.

We've got four animations that need to be looked at (barrow wights, yetis (yetii?), verbeegs, and spectral guards) for speed issues. At some point and I just need to run speed tests on every imported animation and be done with it.

 

TotTL spawns

Nail down what the CheckPartyAverageLevel trigger actually checks (used in the TotL castle interior spawns).

Link to comment

Shall we have a list of things that really ought to go into core-converter v6, too? Mine at the moment is something like

 

  • new area maps (if only on size grounds)
  • LastTalkedToBy (I reckon this one will be a royal pain to fix after the event)
  • spurious 'enemy sighted'
  • copying over keymap and languages file (I don't think this can be done perfectly outside the core, because I don't save down a record of where the original BG2 directory is, though in practice we could probably workaround with a standard version)
  • possibly fireplace (et al) animations

 

That's leaving out various things that reflect errors in the converter - for aesthetic reasons it'd be nice to include them, but it's not important.

Link to comment

While I'm at it, something is clearly not quite right with death variables, and possibly that needs to be addressed in general. If I recall correctly, I deal with secondary and tertiary death variables by brute force in the core: every time something that's supposed to have a given secondary/tertiary death variable dies, baldur.bcs increments said variable. Example:

 

IF
GlobalsGT("SPRITE_IS_DEADTowerArcher4","I#DV_TowerArcher4")
THEN
RESPONSE #100
	IncrementGlobal("I#DV_TowerArcher4","GLOBAL",1)
	IncrementGlobal("SPRITE_IS_DEAD8002_ARCHERS","GLOBAL",1)
	Continue()
END

 

(There's a certain amount of working around the - few - creatures where the primary death variable underdetermines the secondary and tertiary ones.)

 

The occasional DV problems coming up presumably represent either (i) some failure in this kind of code that I'm missing, or (ii) something about secondary and tertiary variables I don't get. Looking at IESDP, I suspect it's the latter: it appears that tertiary DVs get incremented, but secondary ones just get set to 1. If that's right (Cam, any idea?) it should probably be fixed inside the core converter. It's probably also a GOOD THING in terms of efficiency, as I can do it without so many auxiliary variables (not that I've noticed any slowdown from a monster BALDUR, here or elsewhere).

Link to comment
Shall we have a list of things that really ought to go into core-converter v6, too? Mine at the moment is something like

 

  • LastTalkedToBy (I reckon this one will be a royal pain to fix after the event)
  • spurious 'enemy sighted'
  • copying over keymap and languages file (I don't think this can be done perfectly outside the core, because I don't save down a record of where the original BG2 directory is, though in practice we could probably workaround with a standard version)

 

That's leaving out various things that reflect errors in the converter - for aesthetic reasons it'd be nice to include them, but it's not important.

Trying to think what else... any animation fixes, obviously... probably movidesc.2da, only because we probably need to grab strings from IWD (unless they're also static in the conversion).

Link to comment
Trying to think what else... any animation fixes, obviously... probably movidesc.2da, only because we probably need to grab strings from IWD (unless they're also static in the conversion).

 

Any IWD string can be found in dialog.tlk by adding 74100 to its string index in IWD. In its current incarnation the converter just takes the whole IWD dialog file and dumps it onto the BG2 dialog after 74100. That seemed easier to use than copying the strings over as and when, TUTU style.

 

If you want to be careful, define ~iwd_offset~=74100 in the ALWAYS block of the fixpack, and then add that rather than hardcoding 74100. I have changed iwd_offset a couple of times, always because I'd failed to allow for some late-stage ToB string being referenced by the engine. (In practice, though, I'm morally certain it won't change again.)

Link to comment
While I'm at it, something is clearly not quite right with death variables, and possibly that needs to be addressed in general. If I recall correctly, I deal with secondary and tertiary death variables by brute force in the core: every time something that's supposed to have a given secondary/tertiary death variable dies, baldur.bcs increments said variable. Example:

 

IF
GlobalsGT("SPRITE_IS_DEADTowerArcher4","I#DV_TowerArcher4")
THEN
RESPONSE #100
	IncrementGlobal("I#DV_TowerArcher4","GLOBAL",1)
	IncrementGlobal("SPRITE_IS_DEAD8002_ARCHERS","GLOBAL",1)
	Continue()
END

 

(There's a certain amount of working around the - few - creatures where the primary death variable underdetermines the secondary and tertiary ones.)

 

The occasional DV problems coming up presumably represent either (i) some failure in this kind of code that I'm missing, or (ii) something about secondary and tertiary variables I don't get. Looking at IESDP, I suspect it's the latter: it appears that tertiary DVs get incremented, but secondary ones just get set to 1. If that's right (Cam, any idea?) it should probably be fixed inside the core converter. It's probably also a GOOD THING in terms of efficiency, as I can do it without so many auxiliary variables (not that I've noticed any slowdown from a monster BALDUR, here or elsewhere).

Yeah, and at least in one case it's causing an infinite loop (see Jarno's report on SPRITE_IS_DEADULIGAR).

 

From a pragmatic standpoint we could probably dump the overwhelming majority of these. There are really only a handful of places that the secondary and tertiary DVs are used, and IWD got them wrong in a lot of those places anyway (Talonite priests in Dragon Eye, e.g.). It might be better to compile the list of secondary and tertiary DVs and then run a search against game dialogues and scripts to see if they're ever referenced. Given the state of IWD modding it's unlikely we're going to affect anything there either.

 

As for increment vs. set... from memory they both increment, but I'd have to fire up IWD and go and look. I'm pretty sure secondaries increment--IIRC that was the whole problem with Saablic Tan not realizing Krilag was dead, since Krilag and the neo-orog generals all had the same secondary DV.

Link to comment
From a pragmatic standpoint we could probably dump the overwhelming majority of these. There are really only a handful of places that the secondary and tertiary DVs are used, and IWD got them wrong in a lot of those places anyway (Talonite priests in Dragon Eye, e.g.). It might be better to compile the list of secondary and tertiary DVs and then run a search against game dialogues and scripts to see if they're ever referenced. Given the state of IWD modding it's unlikely we're going to affect anything there either.

 

Sure, in principle. Most of coding v1-5 was a desperate attempt not to have to do that kind of analysis, because it was driving me completely mad - the core converter errs really heavily on the side of using automated algorithms. (Plus, I don't actually know IWD that well!) But for specific cases, it might well be the way to go.

Link to comment
Back to the first one, solo with kill sword, I've reached all the way to the revealing of Icasaracht. First problem was that Angaar was not at the gate. I had to CLUA him in. Second problem was when Icasaracht kills the seer and flees Wyldene's body. The cutscene hung, probably another BCS problem. Give me the code and I'll fix it here. Everything else worked fine and now I'm closing in on the end. I'd like to get there and have all entrances/exits checked...

Need a bit more information, though I have a hunch... Where exactly does it hang? Does Wylfdene kill the seer, and does he then escape? Or does it hang prior to either of these actions?

Seer dies, Wyldene dies (even spurts blood after a few moments), but Icasaracht's spirit doesn't appear to flee the body. This could also mean an animation glitch as well, but I'm more inclined toward some sort of (near)infinte loop going on.

Link to comment
Sure, in principle. Most of coding v1-5 was a desperate attempt not to have to do that kind of analysis, because it was driving me completely mad - the core converter errs really heavily on the side of using automated algorithms. (Plus, I don't actually know IWD that well!) But for specific cases, it might well be the way to go.

Heh, fair enough--let's put it on the long, long, long-term wishlist then. :thumbsup:

 

From memory secondary/tertiary DVs are used... for the Talonites in Dragon's Eye, for the fire salamanders in Guello's area and the main LDD cavern, for the digging umber hulks in LDD, Malavon's iron golems... and perhaps for some of the town hostile scripts (i.e. just about every peasant has TOWNIE somewhere in their DVs).

 

What about moving them to other scripts, i.e. creature or area a la how i#hideme works for deactivated creatures?

 

This may not be the best place to kick off the discussion, but we should strongly consider marking the Galdalf flag (NPCs SHALL NOT PASS) for all area transitions. In Tutu it's fairly harmless, but given how juat about every monster tries to set some variant of MAP_GROUP_HOSTILE on MYAREA, letting red-circled creatures pursue the party through areas is bound to have bad consequences. They never worried about it since they couldn't move area-to-area in IWD.

Link to comment
This may not be the best place to kick off the discussion, but we should strongly consider marking the Galdalf flag (NPCs SHALL NOT PASS) for all area transitions. In Tutu it's fairly harmless, but given how juat about every monster tries to set some variant of MAP_GROUP_HOSTILE on MYAREA, letting red-circled creatures pursue the party through areas is bound to have bad consequences. They never worried about it since they couldn't move area-to-area in IWD.

 

Yeah, that sounds sensible.

Link to comment
As for increment vs. set... from memory they both increment, but I'd have to fire up IWD and go and look. I'm pretty sure secondaries increment--IIRC that was the whole problem with Saablic Tan not realizing Krilag was dead, since Krilag and the neo-orog generals all had the same secondary DV.

Nope, I'm on crack. Secondary sets, tertiary increments.

Link to comment

OK, knocked out some of the easy stuff.

 

  • Protagonist mapped to LastTalkedToBy in dialogues.
  • Copy keymap and languages file (if not already present)
  • Item type (38) are hardcoded in BG2 to be familiars, causing the Shattered Blade of Aihonen (jhoswd1) to have a 'Release Familiar' button. Same is true for the generic broken sword (misc56) but I don't think that's used anywhere ingame.
  • ar2005, Kuldahar pass mill basement. Much like Tom Cruise, Jermsy is viewable despite hiding in the closet. (Bazing! I'll be here all week!)
  • Fix search map in ar6001.
  • One of the traps in the second floor of Kresselack's tomb (ar3502, Crypt Trap 1) is already detected.

 

For rest monsters, I've reduced the frequency by a factor of five--still getting much higher rates than indicated, but it's somewhat reasonable now.

 

The initial Wylfdene encounter patch in v2a failed because I'm a dumbass and patched the wrong file. This really is fixed for v3.

 

I've fixed the hanging cutscene with the Wylfdene-Seer encounter (thanks grogerson).

 

I went through and compiled misbehaving area animations (nearly all fireplaces) and should have a patch shortly.

 

Next up is Hobart spawning, which should be just a simple removal of his deactivate script.

Link to comment

Second walkthrough in the Vale of Shadows.

 

Yeti are faster than in vanilla. Hate to say it, but I like it. Makes them even more threatening. Slowing them down (along with vanilla XP grants and dialogs) might be an optional component, as an idea, in the next fixpack or IWDinBG2 update.

 

Had a ghoul in AR3201 fail to attack even though enemy (red foot circle). Same for a lesser shadow outside Kresselack's tomb entrance.

 

I'll deal with the tomb tomorrow. Time for bed. Don't need to be a zombie at work tomorrow (I'll be dealing with enough of them tomorrow...).

Link to comment
I went through and compiled misbehaving area animations (nearly all fireplaces) and should have a patch shortly.

 

Next up is Hobart spawning, which should be just a simple removal of his deactivate script.

These are now fixed. Also discovered that the Brother Perdiem fix was failing, so that also really gets fixed in v3.

Link to comment

Archived

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

×
×
  • Create New...