What happens in the mod process?
OcculusX
Member Posts: 99
I don't know how to successfully run mods on my version of the mac. There was an easy-mod tool that was released on the forums for the mac, but it will not run on my mac [Wrong CPU Type Error] (mine uses an old 32-bit intel based processor). This means that if I am to install mods, I may need to do it all manually. I don't mind doing it manually, but I need more information from those who actually know what they are doing.
In the main resources folder I have a chitin.key file (what does this do)? I also have directories:
[1] data
[2] lang
[3] movies
[4] music
[5] scripts
[6] OSX-DungeonCrawl_v7 (A mod I would like to install)
Now, it looks like the way you would normally do this would be to run the Setup-DC binary. (Which I assume puts all the folders and data in the right places).
Now, for data storage formats (this is, in fact, a data driven game with an engine running on top of it... I think).
-- In the data file, I see ".bif" and ".BIF" files.
-- In the lang file, I see, "dialog.tlk"... this looks important, but it's written in binary. (Am I going to need to start hacking away at this with a hex editor?) Moving further in, I see .wav format sounds. (Good, something I recognize). I assume the dialog.tlk file handles the indexing and tells the Infinity engine what to do with the sounds and where to put them. What does it do?
-- In the movies file, I see, ".wbm" files. I don't recognize what these are, but I assume they are just frames with frame flipping directions with an audio and video compression technique used on them.
-- In the music file, I see, ".MUS" files and ".mus" files. There are also directories with names like "bsd", "mx0013", etc. In the directories, I see ".acm" files. What are these? What do they do?
-- Finally, In the scripts file, I see, ".BS" files and these are written in ASCII. But without a table telling me what most of these numbers are... (I suppose that I could just change the numbers blindly and see what happens, but this doesn't seem wise).
There are lots of differences between the data types that I see in the actual game folders, and the data that I see in the mod file. In the mod file, I see (.are, .tis, .MOS, .cre, .d, .tra, .baf, .sto) files. Files such as these are also present in older versions of the game for windows. Can the Enhanced Edition Infinity Engine still read these?
Is anyone willing to give me some advice? I have a working version of the command line tool WeiDU for my mac that I managed to compile last night.
I will read through this:
http://weidu.org/WeiDU/README-WeiDU.html
In the main resources folder I have a chitin.key file (what does this do)? I also have directories:
[1] data
[2] lang
[3] movies
[4] music
[5] scripts
[6] OSX-DungeonCrawl_v7 (A mod I would like to install)
Now, it looks like the way you would normally do this would be to run the Setup-DC binary. (Which I assume puts all the folders and data in the right places).
Now, for data storage formats (this is, in fact, a data driven game with an engine running on top of it... I think).
-- In the data file, I see ".bif" and ".BIF" files.
-- In the lang file, I see, "dialog.tlk"... this looks important, but it's written in binary. (Am I going to need to start hacking away at this with a hex editor?) Moving further in, I see .wav format sounds. (Good, something I recognize). I assume the dialog.tlk file handles the indexing and tells the Infinity engine what to do with the sounds and where to put them. What does it do?
-- In the movies file, I see, ".wbm" files. I don't recognize what these are, but I assume they are just frames with frame flipping directions with an audio and video compression technique used on them.
-- In the music file, I see, ".MUS" files and ".mus" files. There are also directories with names like "bsd", "mx0013", etc. In the directories, I see ".acm" files. What are these? What do they do?
-- Finally, In the scripts file, I see, ".BS" files and these are written in ASCII. But without a table telling me what most of these numbers are... (I suppose that I could just change the numbers blindly and see what happens, but this doesn't seem wise).
There are lots of differences between the data types that I see in the actual game folders, and the data that I see in the mod file. In the mod file, I see (.are, .tis, .MOS, .cre, .d, .tra, .baf, .sto) files. Files such as these are also present in older versions of the game for windows. Can the Enhanced Edition Infinity Engine still read these?
Is anyone willing to give me some advice? I have a working version of the command line tool WeiDU for my mac that I managed to compile last night.
I will read through this:
http://weidu.org/WeiDU/README-WeiDU.html
0
Comments
In my resources folder I have weidu parked.
I just tried to run:
./weidu --biff data/hexxat.bif
-> Which is supposed to enumerate all the contents of a bif file. I didn't know what this was supposed to mean exactly. But apparently it spits out over a thousand entries like this:
[DATA/HEXXAT.BIF] contains HEXXATDR.0x3FF at index 0
[DATA/HEXXAT.BIF] contains O700000.PVRZ at index 1
[DATA/HEXXAT.BIF] contains O700001.PVRZ at index 2
[DATA/HEXXAT.BIF] contains O700002.PVRZ at index 3
[DATA/HEXXAT.BIF] contains O700003.PVRZ at index 4
[DATA/HEXXAT.BIF] contains O700004.PVRZ at index 5
[DATA/HEXXAT.BIF] contains O700005.PVRZ at index 6
[DATA/HEXXAT.BIF] contains O710000.PVRZ at index 7
[DATA/HEXXAT.BIF] contains O710001.PVRZ at index 8
Included is: (.bmp, .pvrz, .wav, .mos, .are, .wed, .bcs, .dlg, .cre, .itm, .spl, .vvc, .tis) files. This must mean that .bif files are like an archiving mechanism, kind of like .tar files. (If I say something stupid, please tell me so and correct me).
By the way, if you do this; backup baldurs gate II. You might destroy something by accident. (I haven't, yet, but that doesn't mean that I won't). Weidu is a powerful tool. It will be interesting to see what all it can do.
Weidu seems to have it's own scripting language, the scripts are written as ".d" files. Then weidu can be run on the ".d" files and convert them to any of the file formats included above. What are it's limitations? How can I create my own .bif files? How are these related to the chitin.key? Mysterious, mysterious. I would love to have someone tell me and not have to continue stumbling around in the dark.
./weidu --list-biffs
Prints a list of all biffs in the chitin.key. Beautiful!!! This means that the chitin.key contains a list of biff files! Why does it contain a list of biff files? What does the Infinity Engine do with them? I don't know. But I would imagine it does something!
This probably means that if you want to make a change to game. You can change hexxat, for instance, and make her romance-able by males, for instance by blowing up her ".bif" file; there may be a global variable that her file checks to see the main character's gender; if it is female, she starts putting on the charm, if it is male, she doesn't. After you make the necessary changes; you might repackage all of the changes you made into a new "hexxat.bif" file and have it replace the old one. You would probably need to update the chitin key (both the ".bif" list, and the resources list). Then voila. You have a vampire who gets all hot and bothered by boys.
./weidu --list-files
Generates a list of all resources that are seen in the chitin.key. The more I play around with this, the more I suspect that the chitin.key plays a valuable role in what makes it into and out of the game. This is probably a list of all the resources in all the .bif files in the chitin.key. So, how do I add a resource to the chitin.key? How do I alter the displays on the opening menu? How much of the information is driven by the data vs how much is hard-coded into the infinity engine? I don't know.
Again, correct me when I make a wrong statement, I'm sure I've made a few by now.
http://nwvault.ign.com/View.php?view=Other.Detail&id=1520
This may be neverwinter nights specific... and windows centric, but I've got wine. I might still be able to use this tool. ".bif" files, what is your history? Where did you come from? Are you a bioware invention? Or did you come from somewhere else?
Running this:
./weidu --biff creature.bif
This will list all of the monsters in the game. On that list is the red dragon: or "dragred.cre".
Running this:
./weidu --biff-get dragred.cre
Will create a copy of dragred.cre in your current directory. What this means is that you can alter the red dragon information without damaging the underlying file. Furthermore, this suggests that there is probably a way to "destructively replace" an old file with a new file. Isn't that nifty? Well, yes, but you also need to be careful with this kind of thing.
More information on the .cre format can be found here:
http://iesdp.gibberlings3.net/file_formats/ie_formats/cre_v9.htm
Does software exist to alter this format directly?
There are other tools required to create most types of files (CRE included). Look for DLTCEP and Near Infinity in this list.
If you're just trying to install mods and you're already able to run WeiDU, I believe you might find instructions on how to proceed in this thread.
Just ignore the following part of the tutorial as this is not needed anymore provided you use a version of beyond 232 (current is 236). Weidu 232 and beyond will instead ask you to tell which language you selected in the game and will internally behave as if this link or copy was actually made.
If you want to change Hexxat's romance to be available for dudes as well, you can easily do so with the TP2 actions COPY_EXISTING and REPLACE_TEXTUALLY. You may be interested in reading this.
Manually biffing and unbiffing files is the wrong answer to almost everything.
http://forum.baldursgate.com/discussion/21345/wanted-person-who-compiles-programs#latest
Do you need me to provide you with my 32 bit version of Weidu for the intel based macs? The reason why I have one is because I compiled it from the ocaml source code.
From the Resources directory:
>> ln -s lang/en_us/dialog.tlk dialog.tlk
and... from the override directory:
>> pwd
/Applications/Baldur's Gate II - Enhanced Edition/Game Data/00782/BaldursGateIIEnhancedEdition.app/Contents/Resources/override/OSX-DungeonCrawl_v7/DC
and...
>> ../../../weidu Setup-DC.tp2
[../../../weidu] WeiDU version 23600
[../../../chitin.key] 185 BIFFs, 59859 resources
[../../../dialog.tlk] claims to be writeable.
[../../../dialog.tlk] claims to be a regular file.
WARNING: parsing log [WeiDU.log]: Sys_error("WeiDU.log: No such file or directory")
Choose your language:
0 [English]
1 [Russian]
2 [German (Translated by Gerri)]
3 [Italian (Translated by Ilot)]
4 [Polish (Translated by Aristo)]
0
Using Language [English]
[English] has 1 top-level TRA files
ERROR: could not match a directory in ../../../dialog.tlk
ERROR: problem parsing TP file [Setup-DC.tp2]: Not_found
FATAL ERROR: Not_found
Press ENTER to exit.
What's the deal? I pointed it to the dialog.tlk file with the ln command above.
If you want to provide a 32-bit Mac build, you are very welcome to.
https://www.dropbox.com/s/00u6fr33ncqsk5e/weidu-osx-intel.2013-03-17
Can you build the osx_zip target? I'll then upload it to weidu.org.
If you can upload your build of elkhound, that'd would also be swell.
But this one is:
https://www.dropbox.com/s/9ye0v4z8dy1fjrc/weidu-osx-intel-12-27-2013
Here is the build for elkhound:
https://www.dropbox.com/s/1qoddgczwb68m3m/elkhound
Here is the build for osx_zip:
https://www.dropbox.com/s/acaeslwjzyjnwxs/WeiDU-Mac-236.zip
Do you think you can build TISPack and MosPack as well? They are utilities occasionally used to install mods but to my knowledge they are not available for x86 OS X. Both are written in standard C and require zlib and libjpeg (Independent JPEG group's JPEG library).
Hmm... for MosPack, the executables are definitely broken for my cpu type. Here is a file containing the binaries generated from my build process:
https://www.dropbox.com/s/uc3zk46zzxux4r6/osx.tar.gz
The executables provided in the macosx directory for tispack seems to run just fine. No compilation required on my mac, but I don't think they will work on the newer 64 bit macs.
>> ./tispack
Usage: tispack [-s] [-q quality] [-o outfile.tiz] [-e] [-V] infile.tis
args:
-s Be silent. Supply twice for really silent.
-q quality Set the compression quality, between 1-100.
With quality 1-99 lossy compression is used,
with quality 100 non-lossy compression is used.
The default is 75.
-b blur Set the amount of blur used with lossy compression,
between 1-100. The default is no blur.
-o outfile.tiz Select output file. The default is .tiz.
-e Do not halt on errors.
-V Print version number and exit
>> ./tispack -V
tispack 0.91 (C) Per Olofsson 2004
>> ./tisunpack
Usage: tisunpack [-s] [-f] [-o outfile.tis] infile.tiz
args:
-s Be silent. Supply twice for really silent.
-h Don't write the 24-byte tis header.
-f Force overwrite of existing output file.
-d Dither 24-bit tiles.
-o outfile.tis Select output file. The default is .tis.
-e Do not halt on errors.
-V Print version number and exit
>> ./tisunpack -V
tisunpack 0.91 (C) Per Olofsson 2004
The MosPack binaries are x86-64 and the TISPack binaries included in the download at PPG are PPC (there are x86-64 ones as well, but they aren't included here). TISPack runs on your system due to Rosetta, but as you probably know, Apple discontinued that past some version of OS X. However, Rosetta may cover all x86 Macs, so maybe x86 binaries are not needed.
Thanks.
"TISPack runs on your system due to Rosetta, but as you probably know, Apple discontinued that past some version of OS X. However, Rosetta may cover all x86 Macs, so maybe x86 binaries are not needed."
I didn't know that, actually.
Well, I have tispack compiled here, just in case:
https://www.dropbox.com/s/ngoybm7r0l3jgkv/tis.tar.gz