Jump to content

PID component in BGT (and other) installs


Guest Draco

Recommended Posts

This is not a request, but I just remembered that the "player initiated dialog" component of this mod interfered with Imoen romance, in one of my first attempts at a mega-install, and fubar'ed almost all of Imoens Dialog in both bg1 and 2. It's difficult to be certain of the culprit in mega-installs, but it worked ok when I installed everything except p.i.d. from scratch. I know this isn't very helpful though, as I don't have any logs or anything from that installation left, but I can try to replicate the bug if you'd like...

Link to comment

Does Imoen use the same J file for both BG1 and BG2? That's the only way I can see getting a conflict. How are other NPCs that cross over, like Jaheira handled?

 

Oh, wait. I don't think the Flirt pack is compatible with BGT, so BG2 Jaheira PID would not be affected even *if* BG1 NPC project was adding PID to her. Although if there were an active Jaheira romance, and J file was the same in both BG1 and BG2, you would probably get BG1 NPC PID options in her romance.

 

Maybe a separate option to install Imoen PID on BGT installs?

Link to comment

Long Story:

PIDs work as a no-condition dialogue that fires whenever the NPC is force-talked and no dialogue is queued (i.e., instead of "NPC has nothing to say to you").

 

Chev's research and SimDing0's suggested/confirmed fix for making it possible to install the PIDs (and other content) and not have to uninstall them on a BGT install was to add conditions to all dialogue (and especially the PIDs) to close them out if ENDOFBG1 returned above 2 or 3 (I forget which right now).

 

Supposedly, the Flirt Pack could be adjusted to have a similar/reversed check, i.e. !GlobalLT("ENDOFBG1","GLOBAL",1).

 

In either case, the problem remains that several of the BP mods add other, conflicting no-condition dialogues. In addition, some of the hard work pro5 has done has been identifying where both chapter numbers and dialogue state numbers are different in vanilla BGT and in Tutu; this problem climbs exponentially when you use other BP mods, especially older ones that require Ascension64 to do some pretty intricate code-magic to let them install together!

 

The PID will definitely mess with Imoen Romance - it is difficult to say how it would be possible to make the PID compatible without some tremendous research and active re-patching of dialogue after the Imoen Romance changes stuff. Thanks to Pro5's current research and (pending) fixes there are some ways of making it more compatible with vanilla BGT; I think all of this sort of change is actually in the main component rather than the PIDs. It would involve identifying the dialogue states that had no condition manually, then setting up a separate install section of the tp2 to make it happen only for installs with the Imoen Romance, etc.

 

Short Story:

Draco, if you are up to assisting, you could do the following, on the understanding that I probably would not be able to look at it before June 17th, 2007 -

1. decompile the Imoen dialogue states on a BP install with the Imoen Romance, and .rar them and send them to svowles at comcast dot net

2. pop through to the first couple of problems and give me the text you see, so I can identify what is up.

 

 

Probably, for now, the best bet is to say

"Imoen Romance is incompatible with BG1 NPC. Wait for cmorgan and Jennai to create the Imoen mod for the BG1 side, install that, then uninstall BG1NPC after the transition to BG2 and install the Imoen Romance afterwards!"

:p

Link to comment

This should no longer be happening in v12 Beta3, since ENDOFBG1 checks have been added:

 

APPEND ~IMOEN2J~

IF ~IsGabber(Player1) !Global("endofbg1","GLOBAL",2)~ THEN BEGIN IMCH
SAY @1970

 

Does Imoen use the same J file for both BG1 and BG2? That's the only way I can see getting a conflict. How are other NPCs that cross over, like Jaheira handled?

 

Yes, same dialog files are used in BGT and SoA (for NPCs who are in both).

Link to comment

Hm, I will try to add the P.i.d. and the Imoen Romance to my current mega install and see what happens...

 

First thing that happened was that Imoen Romance wouldn't install before i did some editing to the tp2.

 

Original code:

BEGIN @0

REQUIRE_FILE ~Data/25Dialog.bif~ @1000

PRINT @1

 

25Dialog.bif is where it should be, but still the mod won't let me install before I remove this part:

REQUIRE_FILE ~Data/25Dialog.bif~ @1000

PRINT @1

 

Don't know why it does this, but it installs ok afterwards.

 

A closer look at the debug file reveals the following:

[./override/BIMOEN2.DLG] loaded, 46107 bytes
[BIMOEN2.DLG] loaded
WARNING: EXTEND_TOP #position 2 out of range 0-2
WARNING: REPLACE specifies no WEIGHT for state 0 and DLG uses non-trivial weights.  Using weight from DLG (1). [17]
WARNING: REPLACE specifies no WEIGHT for state 4 and DLG uses non-trivial weights.  Using weight from DLG (5). [17]
WARNING: REPLACE specifies no WEIGHT for state 6 and DLG uses non-trivial weights.  Using weight from DLG (6). [17]
WARNING: REPLACE specifies no WEIGHT for state 7 and DLG uses non-trivial weights.  Using weight from DLG (7). [17]

 

Don't know how big a problem this is...?

 

Will check out more later...

Link to comment

Just a thought, but does the "endofbg1" variable get set before, during, or after the BG1 to BG2 transition?

 

If it's before or during the transition, then it won't get set if you start a new BG2 game. If's after, perhaps one of the mega mods is interfering with the relevant script; CTB seems the most likely culprit.

Link to comment
Just a thought, but does the "endofbg1" variable get set before, during, or after the BG1 to BG2 transition?

 

If it's before or during the transition, then it won't get set if you start a new BG2 game. If's after, perhaps one of the mega mods is interfering with the relevant script; CTB seems the most likely culprit.

 

It gets set just before the NEWGAME cutscene starts (where Irenicus first appears).

 

It's not something BG1NPC can fix, it's just Imoen Romance needs some tweaking to become compatible with BGT.

Link to comment

Hm, seems I was unable to replicate the bug...

Everything seemed to be working fine at first glance in both bg1 and 2, at least normal banters and P.I.D. I didn't get to check if the imoen romance dialogue works, but that isn't your problem anyhow...

Any thoughts on the code problems in my previous post?

Link to comment

And another thing, it seems like part of the romance dialogues was installed in bimoen2.dlg. Correct me if I'm wrong, but isn't that dialogue file only used in the bg1 portion of bgt?

Link to comment
And another thing, it seems like part of the romance dialogues was installed in bimoen2.dlg. Correct me if I'm wrong, but isn't that dialogue file only used in the bg1 portion of bgt?

 

Correcting, you're wrong. :p

 

It's her party banter file which she keeps from start of BGT till start of ToB.

 

It's just very little (if any) original BG2 stuff in where, because I don't think she has any banters after you rescue her from Spellhold.

 

I got TS installed right now though, and it added some of its bg2 banters there.

Link to comment
I thought Imoen2j.dlg handled all the banters in bg2?

Interjections, not banters. All romance talks from the romance should indeed go into the J file, banter file is various party interaction talks, which Imoen Romance adds in abundance.

 

Which B and J dialog files are used by NPC is determined by INTERDIA.2DA and PDIALOG.2DA files respectively. These files don't change between BG1 and BG2 parts of BGT, so the same dialogs are used in both parts of the game. The only time NPCs change their B/J dialogs is when party moves on to TOB.

Link to comment

My knowledge of coding in bg limits itself to what you can figure out from using dltcep and Near Infinity, so thanks for clarifying...

 

Any idea if this would screw something up?

WARNING: EXTEND_TOP #position 2 out of range 0-2
WARNING: REPLACE specifies no WEIGHT for state 0 and DLG uses non-trivial weights.  Using weight from DLG (1). [17]
WARNING: REPLACE specifies no WEIGHT for state 4 and DLG uses non-trivial weights.  Using weight from DLG (5). [17]
WARNING: REPLACE specifies no WEIGHT for state 6 and DLG uses non-trivial weights.  Using weight from DLG (6). [17]
WARNING: REPLACE specifies no WEIGHT for state 7 and DLG uses non-trivial weights.  Using weight from DLG (7). [17]

Link to comment

This:

WARNING: EXTEND_TOP #position 2 out of range 0-2

concerns me, i have no idea what it means but would love to know (always helps to extend knowledge base!)

 

This:

WARNING: REPLACE specifies no WEIGHT for state 0 and DLG uses non-trivial weights.  Using weight from DLG (1). [17]
WARNING: REPLACE specifies no WEIGHT for state 4 and DLG uses non-trivial weights.  Using weight from DLG (5). [17]
WARNING: REPLACE specifies no WEIGHT for state 6 and DLG uses non-trivial weights.  Using weight from DLG (6). [17]
WARNING: REPLACE specifies no WEIGHT for state 7 and DLG uses non-trivial weights.  Using weight from DLG (7). [17]

is (sort of) ok; it shows up in many mods (including the BG1 NPC Project, if you look at the .DEBUG file) in places where a modder has not given a specific weighting or ordering command (e.g. IF WEIGHT #-1 or some such command to tell WeiDU to put it at the top of the order or not). WeiDU fixes this by adjusting from the related dialogue. ("sort of" means that there is no problem with this from a player's perspective; technically, if the modder was a master programmer with an encyclopedic knowledge of the weighting system and everything was perfectly coded, you could get rid of these messages. It would be way beyond me, and judging by the number of mods that toss this line in the .DEBUG it is not something most modders worry about. For all I know, it is a logical consequence of REPLACE :p ).

Link to comment

Archived

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

×
×
  • Create New...