[BG:EE Modding Compatability] Request (When we get there - not now!) Unique WeiDU GAME_IS Identifier
cmorgan
Member Posts: 707
Observed Behavior: None observed
Requested Behavior: Please provide a unique identifier for BG:EE so that WeiDU can determine GAME_IS status
Why: Ease of adapting existting mods to BG:EE, or allowing old and new mods to determine what DLC/Expanded Content Pack/BG:EEMod content is on the install, allowing modders to adapt to any changes/unneeded repairs/etc. while coding.
Focus: BG:EE new unique *.are files
Details: Currently, checking for specific versions of Infinity Engine games uses .are files unique to the platform in question. The modder can then call things like
Expansion: Current list of identifying files (can be in .bif, etc., but usually found in master override)
Other ways, for those additions not adding areas:
- detecting .dlg files with unique registered community prefixes, so that C-ARAN.DLG detects Aran Whitehand (without the C- prefix, the BG2 ARAN.DLG for our favorite evil A.L. would mess things up immensely ). This is commonly used for NPCs.
- adding unique 0 byte flag files (see Fixpack/Tweakpack implementation) that show what component is installed by creating a flag file in override; usually used by tweaks, fixes, or A.I mods.
(This may be classified a Feature Request - if so, please move it to whever it best fits - I just thought this was so modder-specific it should start here rather than hit the huge list of requests right away!)
Requested Behavior: Please provide a unique identifier for BG:EE so that WeiDU can determine GAME_IS status
Why: Ease of adapting existting mods to BG:EE, or allowing old and new mods to determine what DLC/Expanded Content Pack/BG:EEMod content is on the install, allowing modders to adapt to any changes/unneeded repairs/etc. while coding.
Focus: BG:EE new unique *.are files
Details: Currently, checking for specific versions of Infinity Engine games uses .are files unique to the platform in question. The modder can then call things like
ACTION_IF GAME_IS ~TUTU~ BEGIN
X
END ELSE
ACTION_IF GAME_IS ~BGT~ BEGIN
Y
END ELSE
FAIL ~This mod is designed for Tutu or BGT, and cannot be installed on the game you are attempting to modify.~
END
Expansion: Current list of identifying files (can be in .bif, etc., but usually found in master override)
Prior community experience has show that having a unique .are file is the most stable and simple way of determining the platform.
let tutu = if game_or_engine then f "fw0125.are" else false in
let bgt = if game_or_engine then f "ar7200.are" else false in
let ca = if game_or_engine then f "tc1300.are" else false in
let bg2 = f "ar0803.are" in
let tob = f "ar6111.are" in
let iwd2 = f "ar6050.are" in
let pst = f "ar0104a.are" in
let bg1 = f "ar0125.are" in
let tosc = f "ar2003.are" in
let iwd1 = f "ar2116.are" in
let how = f "ar9109.are" in
let tolm = f "ar9715.are" in
let ttsc = f "fw2003.are" in
.....>snip of content<.....
| "BG2"
| "SOA" -> bg2 && not tutu && not tob && not ca
| "TOB" -> bg2 && not tutu && tob && not ca
| "IWD2" -> iwd2
| "PST" -> pst
| "BG1" -> bg1 && not tosc && not bg2
| "TOTSC" -> bg1 && tosc && not bg2 && not iwd1
| "IWD"
| "IWD1" -> iwd1 && not how && not tolm
| "HOW" -> iwd1 && how && not tolm
| "TOTLM" -> iwd1 && how && tolm
| "TUTU" -> tutu && not ttsc
| "TUTU_TOTSC"
| "TUTU+TOTSC" -> tutu && ttsc
| "BGT" -> bgt
| "CA" -> ca
Other ways, for those additions not adding areas:
- detecting .dlg files with unique registered community prefixes, so that C-ARAN.DLG detects Aran Whitehand (without the C- prefix, the BG2 ARAN.DLG for our favorite evil A.L. would mess things up immensely ). This is commonly used for NPCs.
- adding unique 0 byte flag files (see Fixpack/Tweakpack implementation) that show what component is installed by creating a flag file in override; usually used by tweaks, fixes, or A.I mods.
(This may be classified a Feature Request - if so, please move it to whever it best fits - I just thought this was so modder-specific it should start here rather than hit the huge list of requests right away!)
13
Comments
Imo it is far more important to know what exact changes have been made to original BG content - i.e. new states in DLGs, new items/creatures added to old areas, etc.