Jump to content

including native EET compatibility ?


Ikki

Recommended Posts

Not at this time. I've never installed EET (or BGT; I played Tutu before BGEE). The whole "one giant game" just doesn't appeal to me.

 

I have no objection to EET compatibility. It's just not my cup of tea. If someone wants to figure out the edits needed, they can submit them as a pull request on GitHub.

Link to comment

hello AstroBryGuy,

if you want to give it a look, i have a little patch bg1npc_BGT_TUTU_BGEE_EET.rar that allow the installation directly in EET

 

// Log of Currently Installed WeiDU Mods
// The top of the file is the 'oldest' mod
// ~TP2_File~ #language_number #component_number // [subcomponent Name -> ] Component Name [ : Version]
~EET/EET.TP2~ #0 #0 // Initialise EET (first mod in install order): 1.0 RC9
~EET_CORE.TP2~ #0 #0 // Core EET (game importation): 1.0 RC8
~BG1NPC/BG1NPC.TP2~ #2 #0 // BG1 NPC Project : modifications necessaires: v22.8
~BG1NPC/BG1NPC.TP2~ #2 #1 // BG1 NPC Project : bavardages, quetes et interjections: v22.8
~BG1NPC/BG1NPC.TP2~ #2 #2 // BG1 NPC Project : donner a Edwin son portrait de BG2: v22.8
~BG1NPC/BG1NPC.TP2~ #2 #3 // BG1 NPC Project : donner a Imoen son portrait de BG2: v22.8
~BG1NPC/BG1NPC.TP2~ #2 #4 // BG1 NPC Project : donner a Jaheira son portrait de BG2: v22.8
~BG1NPC/BG1NPC.TP2~ #2 #5 // BG1 NPC Project : donner a Minsc son portrait de BG2: v22.8
~BG1NPC/BG1NPC.TP2~ #2 #6 // BG1 NPC Project : donner a Viconia son portrait de BG2: v22.8
~BG1NPC/BG1NPC.TP2~ #2 #7 // BG1 NPC Project : donner a Kivan son portait issu du mod "Kivan and Deheriana Companions": v22.8
~BG1NPC/BG1NPC.TP2~ #2 #9 // BG1 NPC Project : romance d'Ajantis, elements de base (contenu adolescent): v22.8
~BG1NPC/BG1NPC.TP2~ #2 #10 // BG1 NPC Project : romance de Branwen, elements de base (contenu adolescent): v22.8
~BG1NPC/BG1NPC.TP2~ #2 #11 // BG1 NPC Project : romance de Coran, elements de base (contenu adulte): v22.8
~BG1NPC/BG1NPC.TP2~ #2 #12 // BG1 NPC Project : romance de Dynaheir, elements de base (contenu adolescent): v22.8
~BG1NPC/BG1NPC.TP2~ #2 #13 // BG1 NPC Project : relation avec Shar-Teel, elements de base (contenu adulte): v22.8
~BG1NPC/BG1NPC.TP2~ #2 #14 // BG1 NPC Project : romance de Xan, elements de base (contenu adolescent): v22.8
~BG1NPC/BG1NPC.TP2~ #2 #15 // BG1 NPC Project : conflits de romance pour personnage feminin, Ajantis - Xan - Coran: v22.8
~BG1NPC/BG1NPC.TP2~ #2 #16 // BG1 NPC Project : possibilite d'envoyer les PNJs attendre dans une auberge: v22.8
~BG1NPC/BG1NPC.TP2~ #2 #17 // BG1 NPC Project : emplacement initial d'Alora -> Alora apparait a la Maison des Merveilles: v22.8
~BG1NPC/BG1NPC.TP2~ #2 #19 // BG1 NPC Project : emplacement initial d'Eldoth -> Eldoth apparait a Bois-Manteau: v22.8
~BG1NPC/BG1NPC.TP2~ #2 #21 // BG1 NPC Project : emplacement initial de Quayle -> Quayle apparait au Pont de la Porte de Baldur: v22.8
~BG1NPC/BG1NPC.TP2~ #2 #23 // BG1 NPC Project : emplacement initial de Tiax -> Tiax apparait a la Porte de Baldur: v22.8
~BG1NPC/BG1NPC.TP2~ #2 #26 // Ajustement du rythme des bavardages pour BG:EE: v22.8
~BG1NPC/BG1NPC.TP2~ #2 #28 // BG1 NPC Project : ajustement de reputation grace a des bardes: v22.8
~BG1NPC/BG1NPC.TP2~ #2 #29 // BG1 NPC Project : zones de Bois-Manteau accessibles au chapitre 1 -> Rendre accessible le Pavillon de Bois-Manteau (premiere zone de Bois-Manteau uniquement): v22.8
~BG1NPC/BG1NPC.TP2~ #2 #31 // BG1 NPC Project : ajustements du journal de Sarevok -> Journal de Sarevok enrichi par SixofSpades: v22.8
~BG1NPC/BG1NPC.TP2~ #2 #200 // BG1 NPC Project : dialogues inities par le joueur: v22.8

 

 

I have tested it with BGEE too and it install without problems ( for TUTU and BGT there maybe some tuning require )

the patch require some extented cpmvars (it use those from k4thos, and the missing association are put in bg1npc_[tutu bgee bgee eet].tpa

there is a text file with the change done in the .rar

take it as a template, i have certainly made some bugs

 

And Thank for your mod

Link to comment

Why did you duplicate entries from the cpmvars in the bg1npc_[GAME].tpa files? That's asking to cause errors. If something gets changed in one location but not the other, the changed variable may get overwritten by the unchanged variable in the second location.

 

EDIT: Also, why are you applying the Update SPELDESC.2DA routine for EET? I thought it is using BG2EE as a "base", like BGT used BG2. By updating SPELDESC.2DA to use BGEE string indexes, you'll mess up the strings for healing services in temples.

 

EDIT 2: Many of the creatures added by BG1NPC utilize BG2 soundsets by default, since these resources are available on Tutu/BGT. On BGEE, these resources aren't always available, so I added routines to replace the BG2 soundsets with those available in BGEE. These routines are only applied in BGEE. Like Tutu & BGT, EET should have the BG2 soundsets available, but you have EET using the BGEE routines. Shouldn't EET use the BG2 resources like Tutu/BGT, since they are available? Or are there issues with the BG2 resources in EET?

 

EDIT 3: There will also be issues with EraseJournalEntry() commands, since the string references for the BG1 portion of EET do not match those in BGEE.

Link to comment

 

Why did you duplicate entries from the cpmvars in the bg1npc_[GAME].tpa files

I tried to not duplicate them, if there are duplicate they must be removed

 

Just to explain what i have done with those .tpa

for EET convertion i needed the cpmvars from K4thos ( they are twice the size )

 

that's the association missing in K4thos eet_cpmvars, that where present in yours cpmvars : i put them in the bg1npc_eet.tpa files

/* Items and Variables that need special handling */
    OUTER_SPRINT "VoiceStrange" "False()"
    OUTER_SPRINT "RunAwayFrom" "RunAwayFromNoLeaveArea"
    ACTION_IF FILE_EXISTS_IN_GAME ~corwyvrn.cre~ THEN BEGIN
    	OUTER_SPRINT "CorWyvrn"	"CORWYVRN"
    END ELSE BEGIN
    	OUTER_SPRINT "CorWyvrn"	"X#CoranWyvern"
    END
	OUTER_SPRINT "port_s" "m"
	OUTER_SPRINT "port_l" "l"   
/* Tutu/BGT vs BGEE Dialog states */											   
    OUTER_SET housg3state5 = 0

for the other game, i needed K4thos cpmvars too because now there new %ID% that must find a game reference

so i have done the same, used K4thos.tpa for say BGT and put the missing reference (that existed only in bg1npc) in bg1npc_bgt.tpa

in the bg1npc_bgt.tpa i see 2 line duplicate in the g3_bgt_cpmvars.tpa, those duplicate should be removed (but if they are identical it won't do any harm)

 

 

These routines are only applied in BGEE

I didn't even know about this routines, sure don't apply them on EET game

 

And thank again for updating your mod for EET

Link to comment

Didn't have time to look at the Iggi's code but will try to answer some questions regarding how EET works.

EDIT 3: There will also be issues with EraseJournalEntry() commands, since the string references for the BG1 portion of EET do not match those in BGEE.

indeed. I'm not aware how it's implemented in this mod but if there is some way to patch them on the fly (since BGT would have dynamic number there rather than static one like BG:EE) then when it comes to referencing exact BG:EE strrefs in EET, without relaying on SAY, all that has to be done is adding 200000 to the original strref (whole BG:EE TLK is appended to BG2:EE and starts from string 200000 onward, same goes for quest entries in bgee.lua - static BG:EE number + 200000. SAY weidu command is not used during conversion).

 

EDIT 2: Many of the creatures added by BG1NPC utilize BG2 soundsets by default, since these resources are available on Tutu/BGT. On BGEE, these resources aren't always available, so I added routines to replace the BG2 soundsets with those available in BGEE. These routines are only applied in BGEE. Like Tutu & BGT, EET should have the BG2 soundsets available, but you have EET using the BGEE routines. Shouldn't EET use the BG2 resources like Tutu/BGT, since they are available? Or are there issues with the BG2 resources in EET?

no changes at all when it comes to BG2:EE string numbers. So either use BG2:EE routines or like above add 200000 to the BG:EE strref to display BG:EE strings.

EDIT: Also, why are you applying the Update SPELDESC.2DA routine for EET? I thought it is using BG2EE as a "base", like BGT used BG2. By updating SPELDESC.2DA to use BGEE string indexes, you'll mess up the strings for healing services in temples.

correct, BG2:EE is used as a base.

Link to comment

Thanks, k4thos.

 

Regarding the EraseJournalEntry() commands. BG1NPC is actually not very good about cleaning up vanilla journal entries when it adds new options to vanilla dialogs. I tried to fix that for BGEE by defining a variable before compiling the dialog that contains the actions from the vanilla dialog.

  ACTION_IF GAME_IS ~bgee~ THEN BEGIN
  	OUTER_SPRINT ~BGEEDynaheirEraseJournalEntries~ ~EraseJournalEntry(27171)  EraseJournalEntry(27274) EraseJournalEntry(27275) EraseJournalEntry(27031)  AddexperienceParty(800)~
  END ELSE BEGIN
  	OUTER_SPRINT ~BGEEDynaheirEraseJournalEntries~ ~~
  END

I did it like this since the game isn't ossified like the dialog.tlk for the original BG1 & BG2, i.e. Beamdog is still fixing typos, tweaking formatting, etc.. (all of which would throw off simply using string-matching). I could create an EET version that adds 200000 to the strrefs pretty easily.

Link to comment
I did it like this since the game isn't ossified like the dialog.tlk for the original BG1 & BG2, i.e. Beamdog is still fixing typos, tweaking formatting, etc.. (all of which would throw off simply using string-matching). I could create an EET version that adds 200000 to the strrefs pretty easily.

multiple versions of the same files are harder to maintain, so I would suggest approach used by Tweaks Anthology regarding BG2 chapter numbers differences. Instead of copies of the same files or additional variables just use code like this at the beginning of the mod installation:

ACTION_IF GAME_IS ~eet~ BEGIN
  ACTION_FOR_EACH file IN here_goes_list_with_path_to_each_d_and_baf_files_that_use_EraseJournalEntry BEGIN
    COPY ~%file%~ ~%file%~
      REPLACE_EVALUATE CASE_INSENSITIVE ~EraseJournalEntry(\([0-9]+\))~ BEGIN
        MATCH1 = MATCH1 + 200000
      END ~EraseJournalEntry(%MATCH1%)~
    BUT_ONLY
  END
END

Above code will update all EraseJournalEntry(x) to EraseJournalEntry(x + 200000) if GAME_IS ~eet~, so the same files that BG:EE version uses are ready for installation.

Link to comment

Sorry, I didn't understand your post correctly. If you're already using variable for adding those journals removal then it would be a matter of changing it like this (or adding this var into cpmvars):

ACTION_IF GAME_IS ~bgee~ THEN BEGIN
  OUTER_SPRINT ~BGEEDynaheirEraseJournalEntries~ ~EraseJournalEntry(27171)  EraseJournalEntry(27274) EraseJournalEntry(27275) EraseJournalEntry(27031)  AddexperienceParty(800)~
END ELSE ACTION_IF GAME_IS ~eet~ THEN BEGIN
  OUTER_SPRINT ~BGEEDynaheirEraseJournalEntries~ ~EraseJournalEntry(227171)  EraseJournalEntry(227274) EraseJournalEntry(227275) EraseJournalEntry(227031)  AddexperienceParty(800)~
END ELSE BEGIN
  OUTER_SPRINT ~BGEEDynaheirEraseJournalEntries~ ~~
END
Link to comment

@ikki - a warning, most of the edits created by the automatic converter are wrong for BG1NPC. Most the GAME_IS ~bgee~ checks in BG1NPC aren't to deal with engine issues, but with missing BG2 resources, which EET has. If you play through with the version you sent me, you may encounter lots of creatures with random strings for character sounds. I also have serious doubts that the Romance Challenges component will work at all. Two of the areas added by that component will have ARE files based on BG1's AR6000, but trying use BG2 AR6000.WED (i.e., results will be random, you will be able to walk through trees but get stopped by invisible walls).

 

I'd recommend for now installing BG1NPC before EET conversion.

Link to comment

 

you may encounter lots of creatures with random strings for character sounds

Yes, that's right, it was strange sometimes

 

 

I'd recommend for now installing BG1NPC before EET conversion

That's too late , but i didn't encounter so many problematic bugs, and a lot of content worked well

Link to comment

@ikki - Why did you comment out Shar-Teel's interjections on TAZOK states 12-35? The only change you note for the x#shint.d is replacing TAZOK with TAZOK%eet_var%, no editorial changes are noted.

 

Please don't include undocumented editorial changes as part of an EET conversion.

Link to comment

@ikki - Why did you comment out Shar-Teel's interjections on TAZOK states 12-35? The only change you note for the x#shint.d is replacing TAZOK with TAZOK%eet_var%, no editorial changes are noted.

 

Please don't include undocumented editorial changes as part of an EET conversion.

This was a mistake on my end.

before renaming TAZOK to TAZOK%eet_var% this dialog was throwing error and I comment this part trying to narrow the problem, then forgot to uncomment it

Link to comment

Archived

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

×
×
  • Create New...