Skip to content

[BG:EE Modding Compatability] Request (When we get there - not now!) Unique WeiDU GAME_IS Identifier

cmorgancmorgan Member Posts: 707
edited July 2012 in General Modding
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

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)

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
Prior community experience has show that having a unique .are file is the most stable and simple way of determining the platform.

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!)

Comments

  • AndreaColomboAndreaColombo Member Posts: 5,530
    I support this 100% and agree wholeheartedly with @cmorgan's every point.
  • ArdanisArdanis Member Posts: 1,736
    I suppose we'll see for ourselves regardless what new filenames will be added once EE is out.

    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.
  • AndreaColomboAndreaColombo Member Posts: 5,530
    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.
    Even though that stuff is likely under NDA right now, I believe it won't be an issue for the devs' to provide modders with the information once the NDA is relieved.
  • ScottBrooksScottBrooks Member Posts: 687
    @cmorgan this should not be a problem. The TOTSC check will probably evaluate to be true until WeiDU is updated to catch us.
  • cmorgancmorgan Member Posts: 707
    @ScottBrooks - sure thing - thanks for keeping it on the radar. I figure the new content might have some unique area name or something, so we should be good :)
Sign In or Register to comment.