jastey Posted March 12, 2017 Share Posted March 12, 2017 I am sorry if this is explained elsewhere (please give me the link). Gavin BG1 adds Gavin's dialogue files to //2da appending for dialogues APPEND ~pdialog.2da~ ~B!GAVIN B!GAVINP B!GAVINJ B!GAVIND~ UNLESS ~B!GAVIN~ APPEND ~interdia.2da~ ~B!GAVIN BB!GAVIN~ UNLESS ~B!GAVIN~ For SoD, I guess it would be (appends to interdia.2da are the same as for BG1, I assume): APPEND ~bddialog.2da~ ~B!GAVIN B!GAVINP B!GAVINJ B!GAVIND~ UNLESS ~B!GAVIN~ For BGII, the Gavin BGII mod adds this to the BGII pdialog.2da //2da appending for dialogues APPEND ~pdialog.2da~ ~b!gavin2 b!gavp b!gavj b!gavd b!gav25p b!gav25j b!gav25d b!gav25s~ UNLESS ~b!gavin2~ APPEND ~interdia.2da~ ~b!gavin2 bb!gav bb!gav25~ UNLESS ~b!gavin2~ How do I treat this for EET, if I want to make an NPC combination of type 1 + 3 (treat the two Gavin mods separately)? How is the xxdialog.2da treated in general? EDIT: My second question: how does EET treat the bdbaldur.bcs and baldur.bcs? Link to comment
argent77 Posted March 12, 2017 Share Posted March 12, 2017 The active global script is defined in CAMPAIGN.2DA. It's BALDUR.BCS for BG1 and SoA, BDBALDUR.BCS for SoD and BALDUR25.BCS for ToB. CAMPAIGN.2DA also defines other 2DA resources, such as INTERDIA, PDIALOG, INTERACT, CLASTEXT and RACETEXT.Example campaign.2da for EET: 2DA V1.0 * WORLDSCRIPT DESCRIPTION ICON INTERDIA LOADHINT MASTAREA MUSIC NAME NPCLEVEL TBPPARTY PDIALOG SAVE_DIR STARTARE STRTGOLD STARTPOS STWEAPON 25STWEAP XPCAP XPLIST WORLDMAP WORLDSCRIPT MAP_DROPSHADOW MAP_FONTCOLOR KEEP_POWERS INTRO_MOVIE IMPORT INTERACT YEARS REPUTATION CLASTEXT RACETEXT SOA BALDUR -1 2 INTERDIA * MASTAREA 33 -1 * * PDIALOG save STARTARE STRTGOLD STARTPOS * * * * WORLDMAP BALDUR 1 0xFFFFFFFF 1 INTRO15F PARTY INTERACT YEARS REPUTATI CLASTEXT RACETEXT TOB BALDUR25 -1 3 25BANTER * MASTAREA 81 -1 * * 25DIALOG save 25STARTA STRTGOLD 25STARTP 25STWEAP 25STWEAP * * WORLDMAP BALDUR25 1 0xFFFFFFFF 0 INTRO PARTY INTERACT 25YEARS REPUTATI CLASTEXT RACETEXT BG1 BALDUR -1 0 BGBANTER * MASTAREA 159 -1 * * BGDIALOG save BGSTARTA STRTGOLD BGSTARTP STWEAPON STWEAPON * * WORLDMAP BALDUR 1 0xFFFFFFFF 0 INTRO_ PARTY INTERACT BGYEARS REPUTATI BGCLATXT BGRACTXT SOD BDBALDUR -1 1 BDBANTER * MASTAREA 152 -1 * * BDDIALOG save SODSTRTA STRTGOLD SODSTPOS SODWEAP BDSTWEAP * * BGMAP BDBALDUR 1 0xFFFFFFFF 1 SODCIN01 PARTY SODINTER SODYEARS REPUTATI SODCLTXT SODRACE BP1 BALDUR -1 4 * * MASTAREA 106 -1 * TBPPART_ * bpsave STARTBP_ STRTGOLD * * * * * WORLDMAP BALDUR 1 0xFFFFFFFF 0 BLACKPI_ PARTY * BGYEARS * * * BP2 BALDUR -1 5 * * MASTAREA 106 -1 * TBPPARTY * bpsave STARTBP STRTGOLD * * * * * WORLDMAP BALDUR 1 0xFFFFFFFF 0 BLACKPIT PARTY * YEARS * * * TUT BALDUR -1 6 * * MASTAREA 136 -1 * * * save TUSTARTA STRTGOLD TUSTARTP STWEAPON STWEAPON * * WORLDMAP BALDUR 1 0xFFFFFFFF 0 BGENTER PARTY * BGYEARS REPUTATI BGCLATXT BGRACTXT Link to comment
jastey Posted March 12, 2017 Author Share Posted March 12, 2017 Thank you! This means that if I install an NPC mod to an existing EET game, in the tp2 I would need all of these (I'll take the Gavin references for now, even though it's officially two different mods with different dv)? (Is the ToB override-script patching "b!gav25s" correct?)BG1: //2da appending for dialogues APPEND ~BGDIALOG.2da~ ~B!GAVIN B!GAVINP B!GAVINJ B!GAVIND~ UNLESS ~B!GAVIN~ APPEND ~BGBANTER.2da~ ~B!GAVIN BB!GAVIN~ UNLESS ~B!GAVIN~ SoD: APPEND ~BDDIALOG.2da~ ~B!GAVIN B!GAVINP B!GAVINJ B!GAVIND~ UNLESS ~B!GAVIN~ APPEND ~BDBANTER.2da~ ~B!GAVIN BB!GAVIN~ UNLESS ~B!GAVIN~ SoA: APPEND ~pdialog.2da~ ~b!gavin2 b!gavp b!gavj b!gavd~ UNLESS ~b!gavin2~ APPEND ~interdia.2da~ ~b!gavin2 bb!gav bb!gav25~ UNLESS ~b!gavin2~ ToB: APPEND ~25DIALOG.2da~ ~b!gav25p b!gav25j b!gav25d b!gav25s~ UNLESS ~b!gavin2~ APPEND ~25BANTER.2da~ ~b!gavin2 bb!gav bb!gav25~ UNLESS ~b!gavin2~ Link to comment
Roxanne Posted March 12, 2017 Share Posted March 12, 2017 It really depends on what you try to achieve. EET (per default) takes the standard 2da entries for mods and automatically adds them to SoD etc (UNLESS you require something different). My example APPEND ~pdialog.2da~~CVSandr CVSandrP CVSandrJ CVSandrD CVSan25P CVSan25J CVSan25D CVSan25~UNLESS ~CVSandr~APPEND ~interdia.2da~~CVSandr BSandr BSandr25 ~UNLESS ~CVSandr~ Results in the non-25 banter files are used from BG1 until switch to ToB - thereafter the 25's. The non-25 joined and parting files are used throughout - even though you put your ToB contents into the 25 file which is referenced (EET will do the merge) Without me doing anything, the entry in BDDialog.2da AND BGDialog.2da is this CVSandr CVSandrP CVSandrJ CVSandrD and in BDBanter.2da AND BGBanter.2da CVSandr BSandr PS - If you still remember the discussion about the NPC banters in SoD, the horrible situation at this time is that the vanilla NPCs have special banter files assigned for that campaign ALTHOUGH they do not use them and the *banters* are displayed as strings over their heads instead. Here is the reason why. Link to comment
jastey Posted March 12, 2017 Author Share Posted March 12, 2017 Thank you! But I am confused about the SoD banter file assignment. There is no BDBANTER.2DA in original SoD? How do I know which banter files are assigned (in SoD without EET - this is OT)? Link to comment
Roxanne Posted March 12, 2017 Share Posted March 12, 2017 Thank you! But I am confused about the SoD banter file assignment. There is no BDBANTER.2DA in original SoD? How do I know which banter files are assigned (in SoD without EET - this is OT)? Sorry, there was a mistake in my previous description (for the ToB files). I have corrected it. As for banters in the vanilla SoD, there are none for the vanilla NPCs. If I remember correctly from developping my SoD contents before EET was released, the BG1 banter continued for my NPC - but banters failed after the opening line because the counterpart had no file assigned. e.g. Sandrah detected Safana and started a b-file banter but there was no response. Link to comment
jastey Posted March 12, 2017 Author Share Posted March 12, 2017 Ah, so SoD works with a BDBanter.2da which doesn't exist in vanilla SoD, so to say. Thank you! Link to comment
Roxanne Posted March 12, 2017 Share Posted March 12, 2017 Ah, so SoD works with a BDBanter.2da which doesn't exist in vanilla SoD, so to say. Thank you! In hindsight - this is from memory - I started a short game in BGEE just enough to have Sandrah join the PC. I then exported them to SoD for my testing. It may be that due to this process she kept her banter file assignment. So *normal* game play may differ, it is better to test this again. I never play the stand alone games, so be careful. Link to comment
K4thos Posted March 26, 2017 Share Posted March 26, 2017 sorry for late reply. What Roxanne mentioned about PDIALOG.2DA file patching is correct. In short all you need to patch for BG2 Gavin is PDIALOG.2DA the same way as you would do in vanilla BG2:EE. setup-EET.exe will automatically update ToB version of these files to include your Gavin references (25DIALOG.2DA). You can do it manually yourself but the result would be the same since the last component in install order checks those files and extracts ToB references to correct files. As for banters in the vanilla SoD, there are none for the vanilla NPCs. If I remember correctly from developing my SoD contents before EET was released, the BG1 banter continued for my NPC - but banters failed after the opening line because the counterpart had no file assigned. e.g. Sandrah detected Safana and started a b-file banter but there was no response. banter files are switched on each campaign automatically via CAMPAIGN.2DA. BG1 uses BGBanter.2da, no changes to dlg files but some of them are renamed due to conflicts with BG2 resources (this in handled automatically if mod is installed on BG:EE). After BG1 portion of the story they are switched to those referenced in BDBanter.2da (there are no banter files at all in vanilla SoD, so you won't have banters in files referenced in that 2da unless you patch them in). In BG2 engine switches it into INTERDIA.2DA (no changes at all compared to BG2:EE) and in ToB it's changed to 25BANTER.2DA (again no changes). Notice that BG2 portion of the game uses vanilla implementation so no changes are needed for BG2:EE mods when it comes to banter files. Since the files are swapped on each campaign no filtering is needed (unless you use the same banter file for multiple campaigns). The problem you mentioned Roxanne shouldn't be the case if you don't try to trigger banter manually that is not currently assigned. setup-eet_end doesn't update other banter 2da files because we don't really want automatic banters from different portion of the game to trigger at wrong time, so if you use the same banter file for Sandrah for all campaigns (since your mod works from BG1 up until ToB and beyond) than you should manually add them to BGBANTER.2da, BDBANTER.2da, interdia.2da, 25BANTER.2da during your mod installation (again this is not needed for mods with BG2:EE only content or mods installed on BG:EE). Link to comment
K4thos Posted March 26, 2017 Share Posted March 26, 2017 additional post since I missed that you have both BG:EE and BG2:EE version of the Gavin. In such case: BG:EE Gavin: - if BG:EE Gavin is meant to be installed on BG:EE before EET (the way he is implemented now) no changes are needed compared to your current code - if BG:EE Gavin will be coded to work natively on EET (which is not really needed to work as intented although it would be easy to add considering your mod uses cpmvars) you would need to patch BG1 and SoD version of 2da files with your files references. BG2:EE Gavin: - no changes needed when it comes to PDIALOG.2DA and INTERDIA.2DA compared to your vanilla BG2:EE code Link to comment
jastey Posted March 26, 2017 Author Share Posted March 26, 2017 - if BG:EE Gavin will be coded to work natively on EET (which is not really needed to work as intented although it would be easy to add considering your mod uses cpmvars) you would need to patch BG1 and SoD version of 2da files with your files references. That's a very useful info. Maybe not for Gavin, but for a continuous NPC I am writing currently. Questions for a continuous NPC: Let's say I am smart and design the NPC so I can use the EET_NPC_TRANSITION function. Then the NPC would be type "3". -I would use differently named override script files during the different campaign parts -I would use the same joined dialogue through the whole campaign -I would patch BG1 and SoD version of 2da files with my files references -I would assign the banter files for the different campaigns by hand to BGBANTER.2da, BDBANTER.2da, interdia.2da, 25BANTER.2da -I would script the move to SoA by hand (because the NPC will not spawn in ID) Does this make sense so far? Would it "hurt" to patch the SoA and ToB pdialog.2da with the dlg file references, too? What with kickout dialogue? What with dream script? How are these handled / merged / do I need to patch them manually to all campaign parts? Link to comment
Blash2 Posted March 26, 2017 Share Posted March 26, 2017 This means we will be having Gavin for EET, from BG1 all the way to ToB? Link to comment
jastey Posted March 26, 2017 Author Share Posted March 26, 2017 Blash2: At some point, yes (no ETA), but I am shying away from making it a full-continuous experience (meaning, Gavin will have suffered from a short temporary memory loss when you meet him in BGII - although berelinde designed the meeting dialogue so that it's very little immersion breaking, but it does mean the player could pick the wrong reply option and turn deeply in love Gavin into a mere friend or vice versa.). I was toying with a full-continuous version, but it means editing half of the mod (since the engagement from BG1 leads to several additional reply options even if Gavin is not there, yet), and although I would not entirely dodge from the work included, it's just too great an edit (and, risk of integrating bugs) for a mod that's not my own. Why am I typing this here? I should post in the Gavin forum. :-) Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.