From a quick code crosscheck, I have the following preliminary notes on UB/BG1 NPC Compatibility. With a few exceptions, most players will have no trouble with installation in either order. There will be some oddities with storyline, but only one or two palces where things just won't work right/will be an untanglable mess when someone reports difficulty.
Icelus and I originally discussed flag files. His tentative list was
COPY ~tutu_ub/BG1UBcomponent.xx~ ~override/BG1UBIceIsland.UB~
COPY ~tutu_ub/BG1UBcomponent.xx~ ~override/BG1UBVial.UB~
COPY ~tutu_ub/BG1UBcomponent.xx~ ~override/BG1UBElminster.UB~
COPY ~tutu_ub/BG1UBcomponent.xx~ ~override/BG1UBSharTeel.UB~
COPY ~tutu_ub/BG1UBcomponent.xx~ ~override/BG1UBKagain.UB~
COPY ~tutu_ub/BG1UBcomponent.xx~ ~override/BG1UBCoran.UB~
COPY ~tutu_ub/BG1UBcomponent.xx~ ~override/BG1UBKivan.UB~
COPY ~tutu_ub/BG1UBcomponent.xx~ ~override/BG1UBBranwen.UB~
COPY ~tutu_ub/BG1UBcomponent.xx~ ~override/BG1UBSafana.UB~
COPY ~tutu_ub/BG1UBcomponent.xx~ ~override/BG1UBAlbert.UB~
COPY ~tutu_ub/BG1UBcomponent.xx~ ~override/BG1UBEntar.UB~
COPY ~tutu_ub/BG1UBcomponent.xx~ ~override/BG1UBScar.UB~
COPY ~tutu_ub/BG1UBcomponent.xx~ ~override/BG1UBQuoningar.UB~
COPY ~tutu_ub/BG1UBcomponent.xx~ ~override/BG1UBShiloChen.UB~
COPY ~tutu_ub/BG1UBcomponent.xx~ ~override/BG1UBEdie.UB~
COPY ~tutu_ub/BG1UBcomponent.xx~ ~override/BG1UBFlamingFist.UB~
COPY ~tutu_ub/BG1UBcomponent.xx~ ~override/BG1UBCreCorrect.UB~
COPY ~tutu_ub/BG1UBcomponent.xx~ ~override/BG1UBCreRestore.UB~
COPY ~tutu_ub/BG1UBcomponent.xx~ ~override/BG1UBCreName.UB~
COPY ~tutu_ub/BG1UBcomponent.xx~ ~override/BG1UBDialogue.UB~
COPY ~tutu_ub/BG1UBcomponent.xx~ ~override/BG1UBAudio.UB~
COPY ~tutu_ub/BG1UBcomponent.xx~ ~override/BG1UBStore.UB~
COPY ~tutu_ub/BG1UBcomponent.xx~ ~override/BG1UBItems.UB~
COPY ~tutu_ub/BG1UBcomponent.xx~ ~override/BG1UBAreas.UB~
COPY ~tutu_ub/BG1UBcomponent.xx~ ~override/BG1UBCorpses.UB~
COPY ~tutu_ub/BG1UBcomponent.xx~ ~override/BG1UBSarevok.UB~
Ours are a little simpler for escaping: as far as I can tell (at the present time), the only flag file needed for the UB/BG1NPC conflicts from UB's perspective is ~override/X#BG1NPCPhase1.G3~.
/* Tells other mods BG1NPC Core is installed */
COPY ~BG1NPC/Core/X#component.xx~ ~override/X#BG1NPCCore.G3~ //has core files, alwys installed:
COPY ~BG1NPC/Core/X#component.xx~ ~override/X#BG1NPCPhase1.G3~
then we can both
ACTION_IF FILE_EXISTS ~override/X#BG1NPCCore.G3~ THEN BEGIN FAIL ~This component is not compatible with the BG1 NPC Project. If you wish to use the UB version, please install UB before BG1 NPC.~ END
ACTION_IF FILE_EXISTS ~override/BG1UBKagain.UB~ THEN BEGIN FAIL ~This component is not compatible with UB. If you wish to use BG1 NPC's Kagain's Quest, please uninstall the UB version first.~ END
The initial .cre fixes put UB install before BG1 NPC, as we assign portraits and use some of these as base .cres to create project creatures. If these fixes are moved into Tutufix or another fix mod, then we can swap install order around without conflict, and the other components can probably be determined by install order (first one's component gets the priority, other mod escapes the changes to avoid conflict). If they remain here, then UB should be installed before BG1 NPC, and if people want the BG1 NPC components that work with the same materials as UB they will need to skip the conflicting parts of UB.
~bg1ub/Tutu/ARE~ ~override~ (FW1010.ARE and .MOS)
Does this mean that UB needs to be installed before the DeGreenifier?
We will escape the "corrected Sarevok Diary Dates" from BG1 NPC bg1npc.tra @2 fixes to _SCRL3F.ITM if UB is installed.
Ice Island Level Two Restoration - if you folks can suggest a good way of detecting the component being installed (I like flags) I can add the area script assignment to the common code that makes sure all areas know that they might have a script (probably silly - who would mod into an area like this
- but it would be complete, and I love complete.)
Finishable Kagain Caravan Quest - incompatible from both code and storyline. Oddities will ensue! If you provide a flag file, I will escape ours if yours is installed - it might be nice to throw a warning on yours to let folks know they will have to skip this component if somene wants to try the BG1 NPC version. Especially as we add more content!
Coran and the Wyverns - might actually be ok as is, no real conflict, but I need to research the states.
Kivan and Tazok, Branwen and Tranzig - we do more development than the restorations on these; this one might be ok from an installing standpoint, but there will definitely be a double-dialogue call on the BCS and two acknowledgements with Kivan. The Branwen materials also are double-ICTs with similar dialogue. These are probably best labled as a "story conflict", and escaped.
WRITE_EVALUATED_ASCII 0x280 ~Carbos~ #18 // dv = 18 bytes
We use #32 for dvs - IESDP indicates that is the field length for dv. Do we have it wrong (if so I had better fix it fast...)?
Forward-looking note: Nythrun's L1 NPC mod will have to be installed after UB without special handling, as this
COPY_EXISTING _IMOEN.CRE OVERRIDE // Imoen (Thief, AR2600, Candlekeep)
corrects and adds weapons to the NPC.
Line 2208 code clearing portraits means UB must be installed first or needs special handling, as a number of these creatures can be assigned portraits now via the component in BG1 NPC, and more are expected to be assigned.
Lines 2480 - 2521 could be replaced by the more comprehensive area assignment tph I tossed on the G3 common code area of the wikki