NearInfinityBrowser / NearInfinity

An Infinity Engine Browser and Editor

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DLG checker marking a lot of valid dialogue as errors

CamDawg opened this issue · comments

As someone who's got his hands in a lot of Fixpacks, I love the checking tools in NI. However the current iteration of the DLG checker is flagging a lot of false positives. On an unmodded BG2EE 2.6 with NI v2.2-20211218, it flags about 1800 errors of one specific type. Take these, for example:

File: AERIE25J.DLG, Owner: Response 36, Error: Response has no trigger, but parent state 22 has response 37 without text - this response won't be accessible to the player
File: AERIE25J.DLG, Owner: Response 36, Error: Response has no trigger, but parent state 22 has response 38 without text - this response won't be accessible to the player

The state in question is this:

IF ~~ THEN BEGIN 22 SAY #70392
  IF ~~ THEN EXIT
  IF ~IfValidForPartyDialogue("Sarevok")~ THEN EXTERN ~SAREV25J~ 9
  IF ~IfValidForPartyDialogue("Imoen2")~ THEN EXTERN ~IMOEN25J~ 22
END

This is a perfectly valid set of transitions--transitions are evaluated from the bottom-up so all three of these are available.

`

I've added this check when I investigated strange behaviour in PST. I've found a dialog where response 1 didn't show, responses started from number 2 (#104). Digging into resources I found, that this is an error in data.

So can you confirm in game that you can see that responses?

I can confirm this issue. @CamDawg Try the attached binary until it's fixed properly. It doesn't execute the responsible code.

NearInfinity.zip