Author Topic: Some EasyTutu Modding Notes  (Read 1643 times)

Offline Macready

  • Planewalker
  • *****
  • Posts: 1801
    • EasyTutu
Some EasyTutu Modding Notes
« on: July 13, 2006, 01:18:18 PM »
Hello -

Now that it seems as if I may have finally, successfully added support to EasyTutu for not having the Tales of the Sword Coast expansion installed, it is probably a good idea to make a post discussing how and why this particular feature was implemented.  One of the weaknesses of conventional Tutu has always been its mediocre support for not having the BG1 expansion.  Although it clearly works, there has inevitably been a complicated dance involved in getting it operational: shuffling various files around to get the conversion to run, editing TotSC references out of game scripts to avoid CTDs, etc.  All of this is understandable, because the developers are all working from TotSC-based installations -- not having access to vanilla-BG1-only makes it very hard to perceive the areas in which expansion dependencies exist.

For this reason, no-TotSC support in EasyTutu was implemented in such a way as to make such an installation indistinguishable from a TotSC-based one to as great an extent as is possible.  This approach has a few consequences.  First, it means that I am working on a unified base of game data, so that anything that works for TotSC people should be equally functional for no-TotSC people.  Second, it means that for *most* mods, the question of whether TotSC is installed or not becomes irrelevant.  In other words, assume it is, act accordingly, and everything will just work.  If there are any existing Tutu mods that are presently "TotSC-only," and for which the author one day intends to try and support the absence of the expansion, one alternative is to just say "use EasyTutu," or at the very least, "use EasyTutu until I get no-TotSC support working properly."

One negative consequence of this approach is that I am making the lives of a small group of modders more difficult.  There are in fact certain game resources that are just not going to be present: specifically, many of the types of resources you'd find in AREA biffs for TotSC-only areas.  An example of this would be the new BG1UB mod: it attempts the restoration of a missing level from the TotSC ice island, and I very much suspect that in the course of doing so it manipulates TotSC-specific area graphics data.  Well, even though a no-TotSC EasyTutu will look as if TotSC is installed, TotSC-specific area graphics resources are not going to be there, so a bit of extra code would be required in order to check if EasyTutu is in use (sorry, ice).  Another example of such an issue might be a mod that wanted to introduce an item which allows teleportation to a TotSC-only area such as the werewolf island or Durlag's Tower -- such a mod would have to check to make sure that EasyTutu wasn't tricking them into thinking the expansion areas were fully functional when they were not.

So, in the interest of helping address some of these more unusual modding needs, I am writing this post with some sample WeiDU code which will tell you what you need to know about your target environment.  First, the conditon...

Code: [Select]
FILE_EXISTS_IN_GAME ~macinit.bcs~

...will let you know whether or not you are dealing with regular Tutu or EasyTutu.  If that file exists as a game resource, it's EasyTutu.  If it doesn't, you have regular Tutu.

Second, the condition...

Code: [Select]
FILE_EXISTS ~bg1data/area0500.bif~

...will let you know whether an EasyTutu installation is a true TotSC installation, or just a looks-like-TotSC-but-isn't installation.  If that file exists, it is a true-TotSC installation.  If not, it is a no-TotSC installation.  So, then, combining these two tests as appropriate would tell you anything you needed to know.  For example:

Code: [Select]
((FILE_EXISTS_IN_GAME ~macinit.bcs~) && (FILE_EXISTS ~bg1data/area0500.bif~))

...will return true only if the installation is EasyTutu AND is a true TotSC installation.

I'd like to reiterate that these extra coding steps are only necessary if you are doing some deeply TotSC-specific thing like manipulating TotSC area graphics.  For normal modding activities like editing CREs, extending dialogs, and the like, everything should just work, even if it didn't in the past because of some sort of TotSC dependency.

Of course, the final question is: yeah, sounds great, but does any of this actually work in practice?  I think so.  For "real world" testing, I chose Finch v2, BG1NPC v11, and the BG1NPC music pack v4.  Finch I chose because I think I remember reading that it has slight TotSC dependencies, and as for BG1NPC, it is hugely popular, and complicated enough that it should reveal problems with the faux-TotSC approach.  All components of each mod installed successfully on my looks-like-TotSC-but-isn't installation.

Feel free to respond if you have any questions, comments, concerns.

EDIT: Removed one bit of flawed logic.
« Last Edit: July 22, 2006, 01:56:24 PM by Macready »
EasyTutu: Tutu installation made simple.

 

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Name: Email:
Verification:
Type the letters shown in the picture
Listen to the letters / Request another image
Type the letters shown in the picture:
What color is grass?:
What is the seventh word in this sentence?:
What is five minus two (use the full word)?: