Jump to content

A question about Tutu and Baldur's Gate Trilogy (original)


temnix

Recommended Posts

These game versions gave different designations to areas, right? According to the Baldur's Gate Wiki, what is area AR2100 for other versions of BG, is FW2100 in Tutu and AR8800 in BGT. My question is, do those versions carry over unfilled area script references from the original game? I mean that in BG, including the Enhanced Edition, areas have their area names prefilled for their area script slots, even if there no such scripts actually. For example, area AR0126, where nothing important happens, doesn't have a script, but its area script field reads by default with "AR0126." A modder can create the script for the area without checks and special insert actions just by writing something and compiling the BAF under AR0126. It will be there and working. This is very convenient, but it makes more sense to extend the script instead of compiling a brand-new BAF under that name, because that would overwrite any other scripts with that name, whether ones that come shipped with the game or from other mods. Instead one can write:

ACTION_IF ...some kind of game check... THEN BEGIN

EXTEND_TOP ~AR0126.BCS~ ~Your Mod/Your Scripts/AR0126.BAF~

END

You don't compile the BAF but only take the information from there and put it on top of the name; if no AR0126.BCS exists, the BAF will become that file. This way a modder can be assured of compatibility, he just needs to remember to end his code with Continue() for the possible blocks below. Now, this is probably not news, but I'm coming around to my question about these alternative versions, Tutu and BGT. What do they have by default in area script fields? Their new designations? Or did the people who created them clean out the references? This makes a good deal of difference for my patching, if I want my stuff to work in those alternatives. If I must read the area scripts first everywhere, that's extra uncreative headache for me. I also have to ask if the area codes are traditional in EE Trilogy and everywhere else?

 

Link to comment

You don't want to associate with the "Original BGT", it's at least 13 years old mark3 patched, but still lates was uploaded in 2006... you want to do business with the BGT-weidu that actually allocated the areas with their script files. Or so the readme told me, when I read it in 2010+.

Also the file name can be included from a library file. EET has it's own, as do BGT(-weidu) and Tutu... you need a tutorial for that.

Link to comment

I'm probably not understanding the question because I know you know more than I do about this, but I just check for existence (empty files read as not there).  If there, extend, if not, compile a new one.

Like:

ACTION_IF FILE_EXISTS ~BG0146.BCS~ THEN BEGIN
    COPY_EXISTING ~BG0146.BCS~ ~override~
        DECOMPILE_AND_PATCH BEGIN
            APPEND_FILE TEXT ~transitions/scripts/BG0146.baf~
        END
    BUT_ONLY_IF_IT_CHANGES
END ELSE BEGIN
    COMPILE EVALUATE_BUFFER ~transitions/scripts/BG0146.baf~
END

EDIT: or more fitting your extend-top thingie

ACTION_IF FILE_EXISTS ~BG0146.BCS~ THEN BEGIN
    EXTEND_TOP ~BG0146.BCS~ ~transitions/scripts/BG0146.baf~
END ELSE BEGIN
    COMPILE EVALUATE_BUFFER ~transitions/scripts/BG0146.baf~
END

But I'm sure you know that...and I just missed the point of your question.

 

Edited by Lauriel
Link to comment
2 hours ago, Lauriel said:

EET uses BD for SOD areas, BG for BG1 areas, and leaves AR areas as is for BG2

That's what I wanted to know. Thanks. I have dug up the info already, but still. ;) Your code misses the mark because you start off with FILE_EXISTS. But lots of areas don't have the BCS files for them, only references to where the files should be. Look at an area in Near Infinity. If the scripts really exist, the EXTEND_TOP adds to them, if not, the content of the BAF becomes the file.

Link to comment

Oh and I don't know if this is exclusive to EET, but there are a lot of empty area script files in there.  The FILE_EXISTS will return true false in this case as well.  Just an FYI - I spent an entire day trying to figure out why I was getting an error when it was due to an empty file that existed in override. EDIT: It existed but the functions to add to it would fail because it was empty.  They need to be treated as if they didn't exist, is what I'm trying to say.

EDIT:  I mean the FILE_EXISTS will return FALSE!  not true

Edited by Lauriel
Link to comment

Here's the base tutorial about how to associate area files using a variable... later the lib libraries were added, to get that contacts via simple INCLUDE ~~ , and even later they were enlargened.

See it says to be for Tutu, BGT and beyond.

Edited by Jarno Mikkola
Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...