Pocket Plane Group

Friends and Neighbors => Near Infinity => Topic started by: the bigg on September 14, 2006, 09:53:31 AM

Title: Notes for EasyTutu users (and other multiple installations as well)...
Post by: the bigg on September 14, 2006, 09:53:31 AM
If you want to have your game detected as BG2, you need to create a fake baldur.exe. Otherwise, a lot of things will be broken (to name a few, GAMs will be unbrowsable and a lot of effects will be not detected correctly).
Title: Re: Notes for EasyTutu users (and other multiple installations as well)...
Post by: berelinde on September 14, 2006, 10:23:08 AM
I'm sorry, but I don't understand what will happen without a fake baldur.exe. I understood everything up to the word "broken". I know my lack of computer savvy is not your problem, but if I better understood what browsable GAMs and detectable effects were, I'm sure I'd better understand the reason to create a dummy file.
Title: Re: Notes for EasyTutu users (and other multiple installations as well)...
Post by: WizWom on September 14, 2006, 10:52:18 AM
What he means is that the EasyTutu installation does not copy the Baldur.exe from the SoA directory.
Spend 3 MB and copy it over, things work better.  Like NI, for instance, which uses the versioning on the Baldur.exe to determine the proper way to display things.
Title: Re: Notes for EasyTutu users (and other multiple installations as well)...
Post by: the bigg on September 14, 2006, 11:38:10 AM
Yes, that is a more clear way to say things  :)
Title: Re: Notes for EasyTutu users (and other multiple installations as well)...
Post by: berelinde on September 14, 2006, 11:46:28 AM
Oh. I get it. Thanks!
Title: Re: Notes for EasyTutu users (and other multiple installations as well)...
Post by: cmorgan on September 14, 2006, 06:02:13 PM
And to make things clear for me as well, that means that copying the Baldur.exe from your SoA/ToB install after EasyTutu installation will have no effect on EasyTutu operation, but will allow NI to stop seeing all of the NPCs as CHARNAME ?
reference post http://forums.pocketplane.net/index.php/topic,22923.msg292848.html#msg292848
Title: Re: Notes for EasyTutu users (and other multiple installations as well)...
Post by: the bigg on September 14, 2006, 06:13:12 PM
Yes, that's one of the bugs that not having baldur.exe will cause. (the other one being that a number of opcodes won't be displayed correctly; try seeing a weapon proficiency effect in a .cre in Tutu for an example: fields will be listed as unknown, rather than with the proper type). Mac users will also have to create dummy .exe.

For those code inclined, here's how games are detected:
Code: [Select]
    currentGame = ID_UNKNOWNGAME;
    if (new File(rootDir, "torment.exe").exists())
      currentGame = ID_TORMENT;
    else if (new File(rootDir, "idmain.exe").exists())
      currentGame = ID_ICEWIND;
    else if (new File(rootDir, "iwd2.exe").exists())
      currentGame = ID_ICEWIND2;
    else if (new File(rootDir, "nwn.exe").exists())
      currentGame = ID_NWN;
    else if (new File(rootDir, "swkotor.exe").exists())
      currentGame = ID_KOTOR;
    else if (new File(rootDir, "swkotor2.exe").exists())
      currentGame = ID_KOTOR2;
    else if (new File(rootDir, "baldur.exe").exists() && new File(rootDir, "BGConfig.exe").exists())
      currentGame = ID_BG2;
    else if (new File(rootDir, "baldur.exe").exists() && new File(rootDir, "Config.exe").exists())
      currentGame = ID_BG1;
    else if (new File(rootDir, "bg1tutu.exe").exists())
      currentGame = ID_TUTU;
    else if (new File(rootDir, "baldur.exe").exists() && new File(rootDir, "chitin.ini").exists())
      currentGame = ID_DEMO;

    keyfile = new Keyfile(file, currentGame);
    factory = this;

    try {
      loadResources();

      // Expansion pack detection
      if (currentGame == ID_ICEWIND && resourceExists("HOWDRAG.MVE"))
        currentGame = ID_ICEWINDHOW;
      // Detect Trials of the Luremaster
      if (currentGame == ID_BG2 && resourceExists("SARADUSH.MVE"))
        currentGame = ID_BG2TOB;
      if (currentGame == ID_BG1 && resourceExists("DURLAG.MVE"))
        currentGame = ID_BG1TOTSC;

Your goal is to have your game detected as ID_BG2TOB (or, if SoA only, as ID_BG2), rather than as ID_UNKNOWN or as ID_TUTU.
Title: Re: Notes for EasyTutu users (and other multiple installations as well)...
Post by: Macready on September 16, 2006, 09:11:50 PM
Hello -

Eh.  Go figure.

For anyone affected by this issue (i.e., for EasyTutu users who care), would you rather I copy over the actual baldur.exe, or just have the installer dummy one up?

Now that I think about it, perhaps I could code up a little C program which looks for BGMain.exe in the current directory and executes it if found -- thus, a quasi-functional dummy file.

Anyone have a preference?
Title: Re: Notes for EasyTutu users (and other multiple installations as well)...
Post by: WizWom on September 16, 2006, 09:21:26 PM
Er, really, why are you doing it this way, rather than looking at the Vesion header on BGMain?
In BG1 BGMain, it does not exist; in BGII - SoA & ToB, it exists, and changes version between the two.

Do you need me to look up the Java code to do that, and write it?
Title: Re: Notes for EasyTutu users (and other multiple installations as well)...
Post by: the bigg on September 17, 2006, 06:34:30 AM
Er, really, why are you doing it this way, rather than looking at the Vesion header on BGMain?
In BG1 BGMain, it does not exist; in BGII - SoA & ToB, it exists, and changes version between the two.

Do you need me to look up the Java code to do that, and write it?
Would that work on Mac OSX? It used to look for the intro .mve files, but for some reason was changed (E.G., if NWN or KOTOR .key file works differently).

@Macready: while you're there, you may also want to copy bgconfig.exe (if you're not already copying it).
Also, you can point out in the readme that EasyTutu works in Linux/Wine quite well, with the following caveats:
- BG1 + TotSC + patches installs fine and dandy under Linux.
- BG2 + ToB + patches couldn't install under Linux, I had to reboot in Windows to install them (and do a bit of juggling with the baldur.ini). However, on appdb.winehq.com it says that it installs fine for most people, so it's probably a problem in my configuration.
- when you run Easy Tutu, it unpacks itself in the temp directory, but fails to proceed from there. You can simply run %TEMPDIR%\EasyTutuSetup\Setup.exe and it'll work (it will appear to hang because the window from 'unpack override' doesn't appear automatically, but it's just an aestethical thing). Also, unpacking ~10000 files was painfully slow for me, but I don't know if I have to blame Wine or the fact that I use FAT32 as a file system.
- to install WeiDU mods under Linux, see http://forums.gibberlings3.net/index.php?showtopic=7573
- BG2/Tutu seems to run fine, with a few graphical and audio glitches (I didn't complete a game, but I got up to Beregost and out of Chateau Irenicus without any major problems)
EDIT: I used an up to date Ubuntu 6.06 with wine 0.9.20.
Title: Re: Notes for EasyTutu users (and other multiple installations as well)...
Post by: WizWom on September 17, 2006, 06:44:46 AM
Well, I don't have a Mac to test it on, but I would be surprised if it didn't; version headers started on the Mac.

But now that I think about it, why not just look for BGMain instead of Baldur.exe, since BGMain is needed to run, and Baldur.exe isn't?  Actually, I don't know where there was a BGMain for the demo.
Title: Re: Notes for EasyTutu users (and other multiple installations as well)...
Post by: Macready on September 17, 2006, 07:39:56 AM
Hello -

@Macready: while you're there, you may also want to copy bgconfig.exe (if you're not already copying it).

This I already do.  The latest version of EasyTutu also creates a shortcut for it in the Tutu start menu folder.

Quote
- when you run Easy Tutu, it unpacks itself in the temp directory, but fails to proceed from there. You can simply run %TEMPDIR%\EasyTutuSetup\Setup.exe and it'll work (it will appear to hang because the window from 'unpack override' doesn't appear automatically, but it's just an aestethical thing).

OK, but the EasyTutu package actually defaults to a "hard-coded" C:\Temp\EasyTutuSetup, so I think the %TEMPDIR% var will only work for people using C:\Temp as their temp folder.

Quote
Also, unpacking ~10000 files was painfully slow for me, but I don't know if I have to blame Wine or the fact that I use FAT32 as a file system.

The inner package is a solid archive, which fact cuts down substantially on archive size, but also makes extraction more of a chore.  I suspect that contributed to the crapulence.

If you or anyone else wishes to create a more Linux friendly version of the installation process, I'd be happy to support you in your efforts.  Basically, if a Linux user did everything possible to simplify installation of the actual games / patches, and then created a cloned BG2 for Tutu use (I'd provide the details of exactly how the clone needs to be set up to work with the core EasyTutu distributions), I'd be happy to host a more Linux-friendly version of the actual Tutu core files (.DLGs, .CREs, the .KEY and .TLK, etc.), and I'd also provide the C source code for the program which does the binary patch of the SoA / ToB game executables.  This was basically the deal I was going to offer to Loriel when he expressed interest in bringing EasyTutu to the Mac.

In any case, I have to add a couple of things to the FAQ soon anyway, so I'll link your post for Linux users.
Title: Re: Notes for EasyTutu users (and other multiple installations as well)...
Post by: the bigg on September 17, 2006, 07:46:59 AM
OK, but the EasyTutu package actually defaults to a "hard-coded" C:\Temp\EasyTutuSetup, so I think the %TEMPDIR% var will only work for people using C:\Temp as their temp folder.
details, details  ;)

Quote
The inner package is a solid archive, which fact cuts down substantially on archive size, but also makes extraction more of a chore.  I suspect that contributed to the crapulence.
Oh, well, running COPY_EXISTING_REGEXP GLOB on FAT32/Linux/Wine is slow in any event, so it doesn't matter much. A Linux version using .tar.gz would probably help, though  ;)

Quote
If you or anyone else wishes to create a more Linux friendly version of the installation process, I'd be happy to support you in your efforts.  Basically, if a Linux user did everything possible to simplify installation of the actual games / patches, and then created a cloned BG2 for Tutu use (I'd provide the details of exactly how the clone needs to be set up to work with the core EasyTutu distributions), I'd be happy to host a more Linux-friendly version of the actual Tutu core files (.DLGs, .CREs, the .KEY and .TLK, etc.), and I'd also provide the C source code for the program which does the binary patch of the SoA / ToB game executables.  This was basically the deal I was going to offer to Loriel when he expressed interest in bringing EasyTutu to the Mac.
Well, I'm thinking of adding 'Install EasyTutu' and 'Clone an install' to the list of tasks available to WeiGUI/WeiDB, but that's scheduled for when I decide to learn PHP and MySQL, so it's for the future  ;)