About
This is a patch for Throne of Bhaal v26498 executables, allowing you to assign new creature and character animation slots.
•Back to top
Author: Erephine • WeiDU coding: Miloch
Mod Website • Mod Forum • Download • Version 6.0.1 (Alpha)
This is a patch for Throne of Bhaal v26498 executables, allowing you to assign new creature and character animation slots.
If you'd like to add your own animation to the game, please take the time to read and follow the guidelines outlined below. The process is very simple and should not take more than a few minutes. If everyone (that includes you) can stick to these guidelines, moderation or approval of claims will not be required.
I. Add only what you have, not what you might need.
Only make claims for animations that you already have implemented in the game. If you are in the process of developing for a mod, do NOT make claims in advance. Only finished content qualifies to be added.
II. Your content must be publicly available.
Only content that is publicly available qualifies for an animation slot. If your mod is still in development, either wait until it is released before claiming, or upload the animation(s) in question to add your entries. Ideally, your animation files should be available as a separate archive and linked to from the Infinity Animations forum, but this is not required as long as they are otherwise openly released (in this case, you implicitly grant permission to use and redistribute them in such context however). A download link to the files in question should be posted in either case.
III. Check for duplicates before you make a claim.
Especially where ported animations are concerned, someone else might already have added them to the game. Please do not clutter the available slots with duplicate entries that could be avoided.
IV. Only add animations that enrich the game.
This is not as clear-cut as the other rules, but the point stands. Ask yourself if your addition really adds anything to the game before making a claim. That is, 1:1 copies of current animations would most certainly not qualify, while a new animation subtype of an existing creature might. Joke entries (such as a jumping dot animation) might qualify in the context of an appropriate mod. Use common sense.
>V. Make sure your content is as final as possible before adding it.
Smaller updates and fixes to your animations (or adding object animations, etc.) are generally okay, but please try to avoid making larger changes or complete replacements of entries you added. Just because you added them does not mean they are exclusively yours, or no one else will use them in their mods.
VI. Check your spelling and use clear descriptions.
Animation descriptors should be in legible English, and accurately describe the animation where possible. "PINK BEHOLDER, SMALL" would be a good description, "OBSERVATEUR ROSE PETIT" or "BEH_MEGAMOD 112" (even worse) would not be desirable. Proper names such as "FALL FROM GRACE" are fine. Please note that the description name length is limited to 34 characters.
If you've read and understood these guidelines and feel your claim qualifies read on in the next section.
It is highly recommended to use the supplied tool to add an animation entry.
While it is possible to manually add entries, the current version of this tool is not great at recovering defective entries (which can easily occur when manually editing). Inaccurate list entries may lead to incompatibilities or conflicts that could affect other mods, potentially leading to a situation where it will have to be reverted to a pre-bugged state, animations re-added, etc.
As such, this section will cover the assisted method of adding animations using the IA Reference Picker.
Note: You can tell IA Reference Picker to use a particular language, provided that the translation exists. See below.
This is a step-by-step overview of the process.
1. Run the supplied tool from your install location of choice (see below).
You should now see the main window giving you the five clear text options of loading the current reference list, claiming an animation, browsing the current IDs, opening the reference chart or building .IDS files.
Opening the reference chart will give you an overview of the supported animation slot types (where p stands for paletted, np stands for not paletted and pnp for both). If you are unsure about your animation type or would like to have the reference at hand, now would be a good time to open it.
2. Click on 'IA Reference List'.
You should now get a large-ish text field prompting you to get the current animation list. It would be a very good idea to in fact do so.
3. Get the current list from the forums.
Go to the Infinity Animations forum and open the pinned Animation Listings. This hyperlink should take you to the thread directly. Find the last post in the topic. It should contain a codebox listing animation slots, looking sort of like this:
0x100d 4AM ANNAH LARGE 5 Lt BGI MONSTER LONG 4 PART unpaletted 0x100e 4AN EMPTY LARGE 5 Lp BGI MONSTER LONG 4 PART unpaletted 0x100f 4AO PINK BEHOLDER, SMALL LARGE 5 Lx BGI MONSTER LONG 4 PART unpaletted 0x1010 4AP EMPTY LARGE 5 Lp BGI MONSTER LONG 4 PART unpaletted 0x1011 4AQ ----- LARGE 5 Lx BGI MONSTER LONG 4 PART unpaletted 0x1012 4AR EMPTY LARGE 5 Lp BGI MONSTER LONG 4 PART unpaletted 0x1013 4AS THIS IS AN EXAMPLE LARGE 5 Lx BGI MONSTER LONG 4 PART unpaletted
Copy the entire list (this is important), including all EMPTY and ----- entries, up to the last symbol (i.e. make sure you didn't forget to select the last 'd' of unpaletted of the last entry or anything like that) and paste it into the text field by clicking on the 'Paste from Clipboard' button.
Note : There is another (and maybe easier) way to get the current animations list. As the list grew to a huge extend and became very painful to read and to copy in the forum thread, the last contributors released it as a .txt file, attached at the bottom of theirs posts, like this one. Find the last post, download the attached file, then loas it into the text field by clicking on the 'Load from File' button. 😉
If you didn't get an error so far, chances are the list is not bugged, which is a good sign:
4. Choose animation slot type.
Click on the 'Claim an animation' tab. You should now have a window with several list buttons. At this point you should be absolutely certain of the type of slot you need for your animation. Consult the reference chart (see above) if in doubt.
5. Select animation properties.
You should now see a first window called Step 1: Find a slot. Here you can choose the specifics of your animation from available options, including animation slot type, foot circle size and subtype (commonly unpaletted or paletted, more for character slots) and whether your animation needs a paperdoll and/or a 2DA soundset.
Important: Your animation will only need a paperdoll if your creature is joinable or can be polymorphed into. If this is not the case, please set this option to 'No', which is the default setting. Doing so will preserve open slots for other animations. Only set this to 'Yes' if it is absolutely vital to have a correct paperdoll.
Note that only available options are listed (so IWD slots will only give you the 'unpaletted' subtype, for instance).
Almost all combinations of the given options are supported. If you pick a combination that is not available, or all slots of the given type are claimed, you will be informed that no matching slot could be found and the program will terminate (you will have to go through the above process again).
Select the appropriate options to proceed:
6. Confirm.
If you picked a valid configuration, a new red line will pop up, which will show you detailed informations about the candidate matching your criteria picked out for you.
Verify that the given animation type, subtype, foot circle size, paperdoll and soundset options are correct. If they are, continue. If they are not, cancel (click 'Clear Selections') and repeat the above steps.
7. Enter a name.
Enter a descriptive identifier for your animation (see the naming guidelines above) in the second window called Step 2: Pick a name.
In the third window called Step 3: Claim your slot, click 'Claim Animation Slot' to proceed.
8. Implement your slot in the game.
When you're finished with everything else, you can copy or note down the ANIMATE.IDS and ANISND.IDS from the last window below (Step 4: Implement your new slot). These are the entries you're going to want in your .ids files so your animation slots show up properly in Near Infinity and other tools. If you are building an installer for your mod, you might find the WeiDU output more useful (click the appropriate button 'Copy to Clipboard') to have them added to the game .ids files.
9. Claim another slot.
If vous wish to claim other slots on the run, click 'Claim Another' to proceed and repeat the above steps.
10. Last but not least, the most important step of them all.
Click on the IA Reference List tab and you you should see a new list similar to the one you loaded before:
In all cases the list should contain more entries than it did before. For our example, let's say it looked like this:
0x100d 4AM ANNAH LARGE 5 Lt BGI MONSTER LONG 4 PART unpaletted 0x100e 4AN EMPTY LARGE 5 Lp BGI MONSTER LONG 4 PART unpaletted 0x100f 4AO PINK BEHOLDER, SMALL LARGE 5 Lx BGI MONSTER LONG 4 PART unpaletted 0x1010 4AP EMPTY LARGE 5 Lp BGI MONSTER LONG 4 PART unpaletted 0x1011 4AQ ----- LARGE 5 Lx BGI MONSTER LONG 4 PART unpaletted 0x1012 4AR EMPTY LARGE 5 Lp BGI MONSTER LONG 4 PART unpaletted 0x1013 4AS THIS IS AN EXAMPLE LARGE 5 Lx BGI MONSTER LONG 4 PART unpaletted 0x6840 0A0D PISCATA ROSEA NORMAL 3 Cx CHARACTER BGII WQL paletted
You need to copy and post this complete list to the Animation Listings thread on the Infinity Animation forums. Here is the hyperlink again, for your convenience. To facilitate doing so, below the listing you will find a 'Copy to Clipboard' button. If you click it, the above list content should be ready to be pasted into the thread in your clipboard (note that this will erase your current clipboard).
In order to preserve the formatting and keeping it from looking like a mess, paste the content into [codebox] [/codebox] tags. Preview your post. If your post accurately matches the list displayed in the IA Reference List window, submit it. Don't forget to upload your animation set and post it in the content thread if it isn't yet available.
Notes:
Congratulations, you have just claimed an animation entry! 🥂
On total conversions.
If you are modding in the context of a total conversion with no links to the original game/other mods, you may skip the entire process above and keep track of your own set of references of course. Such references should not be posted in the animation listing.
Every animation slot has a few standard sounds assigned to it (walking noises, etc.). For the sake of simplicity these are all linked to existing animation slot information so, for instance, any IWD type slot added will have the same soundset. Where this is undesirable, you can change the sounds by creating a 2DA file named as the identifier of the animation (i.e. 0A0A.2DA for our piscata rosea animation above). You can use one of the existing ones (e.g. MAIR.2DA) as a template.
The Reference Picker also allows you a more detailed overview of the currently implemented animations.
To access it, click on the 'Browse the current IDs' tab:
On the top of the window you should see a progress bar indicating the animation slot usage, displaying the percentage of free, partially free and taken animation slots. I hope checking the percentage of completely free animation entries available might comfort you if you would feel bad about taking up animation entry space. 😎
Partially free animation slots are available for animations with the limitation that they cannot have their own paperdoll (this is because some different animation slot types can coexist, but would have conflicting paperdoll files).
To the left is a list of all animations that have been added in the scope of this mod. Click on one to initialise the information. It is listed by identifier and description name. The corresponding details will be listed under the progress bar, while on the far right a list of all files this animation slot occupies can be found.
The reference browser also supports preview icons of the slotted animations. To have them show up, place a .gif file named as the slot ID in the referencepicker/preview directory (if it does not exist, create it): i.e. the animation ID 0x1001 would look for 0x1001.gif. The icon will show to the right of the files list.
Note: The hypothetical number of available slots is not actually Infinity, but well in the thousands, so don't be concerned if it shows 90% available even if some slots are used.
You can build .ids files by clicking Build IDS.
Doing so will open a new window displaying complete .IDS files built from the original game animations and the list you entered in Step 3.
BGII/IWD style.
The ANIMATE.IDS listing allows you to toggle between Baldur's Gate II and Icewind Dale formatting for your own use. As the IDS is only a modding reference pour NearInfinity or other related tools, it is up to personal taste whether you'd like to have list output matching standard BGII formatting (e.g. GOBLIN_AXE) or IWD's prettier spaced referencing (e.g. Goblin, Axe). Any installer output when adding animation entries will match BGII's standard format.
The setting is remembered.
Building IDS files.
You can copy these files with the 'Copy to clipboard' button. If you click it, the above list content should be ready to be pasted into another file in your clipboard (note that this will erase your current clipboard).
Note: You can also save the listing in a .IDS file by clicking the 'Save to File' button. 😉
This is the information shown in the reference chart, along with (eventually more) additional information. Note that BGII animations are limited to a size of 255x255 pixels. If you need a larger animation you will have to use one of the 4-part or dragon slots. Note that this includes equipped objects: if the object plus base animation exceeds 255x255 pixels it will not display properly, or crash.
⁂ BGI MONSTER LONG 4 PART
16 Directions unmirrored (10 + 6E)
G11 G11E G12 G12E G13 G13E G14 G14E // 16 Seq.
G21 G21E G22 G22E G23 G23E G24 G24E // 80 Seq.
G31 G31E G32 G32E G33 G33E G34 G34E // 48 Seq.
This is exactly the same as the BGI MONSTER LONG animation scheme, with each of G1, G2, and G3 split into four parts.
Examples : Large Wyvern (MWYV), BGI Tanar'ri (MTAN)
⁂ BGI MONSTER LONG
16 Directions unmirrored (10 + 6E)
G1 G1E // 16 Seq.
G2 G2E // 80 Seq.
G3 G3E // 48 Seq.
Examples: Carrion Crawler (MCAR), Small Wyvern (MWYV)
⁂ BGI SIMPLE CASTER (BOW)
8 Directions unmirrored (5 + 3E)
G1 G1E // 48 Seq.
G2 G2E // 24 Seq.
Optionally supports bow animations (BG1, BG1E, BG2, BG2E). Has casting animations.
Example: Sirine (MWYV)
⁂ BGI SIMPLE CASTER (S1)
8 Directions unmirrored (5 + 3E)
G1 G1E // 48 Seq.
G2 G2E // 24 Seq.
Optionally supports sword animations (SG1, SG1E, SG2, SG2E). Has casting animations.
Example: Ogre Mage (MOGM)
⁂ BGI ANKHEG (currently broken)
8 Directions unmirrored (5 + 3E)
G1 G1E // 32 Seq.
G2 G2E // 24 Seq.
G3 G3E // 16 Seq.
+D (ground effects below; DG1, DG1E...)
Currently not functional, will loop the idle animation for all sequences. (I figured it would not be the most popular type of animation slot, so this may or may not change soon.).
Examples: Ankheg (MAKH)
⁂ BGI SIMPLE MONSTER
8 Directions unmirrored (5 + 3E)
G1 G1E // 48 Seq.
G2 G2E // 24 Seq.
Note on paperdolls: These animation slots do support paperdolls, but their naming system might be inconsistent at this point. Try [ID]INV, [ID]0INV, [ID]1INV... one of these should work.
Same as the caster animations, but has extra attack animations instead of casting ones.
Example: Werewolf (MWER)
⁂ CHARACTER BGI
8 Directions unmirrored (5 + 3E)
A1 A1E A2 A2E A3 A3E A4 A4E A5 A5E A6 A6E SA SAE SX SXE // 8 Seq. (A1 has 16).
CA CAE // 62/64 Seq.
G1 G1E // 72 Seq.
W2 W2E // 8 Seq.
+ Armour Levels (4)
+ Arbitrary (originally WP) Object anim.
+ CSHD.
Where CBGI is the animation identifier...
[CBGI][1]A1 (id + armour level 1-4)
[CBGI][1]INV
Objects are...
[BGI][S1]A1 (3 last letters of id + object id)
[BGI][S1]INV
Note that differing from other animation types, equipping non-existent objects CRASHES for characters.
Keep in mind all BGI character animations display the CSHD shadow animation.
If you'd like to have an animation using existing object animations (e.g. because it's an edit of an existing animation), choose one of the CHARACTER BGI WPM/L/S animation slots with the desired size category.
⁂ DRAGONS (XDR)
9 Directions mirrored
9 Animation parts.
5 Animations (5: 1 split no base; 4: 2 split).
Animation + Part + Split + Direction.
Where XDR1 is the identifier...
[XDR1][1][9][0][2] is the first animation, 9th part (bottom right corner), first split,facing south west (third direction).
Parts are arranged top left to bottom right.
⁂ BGII SPLIT
9 Directions mirrored
G1 G11 G12 G13 G14 G15 // 54 Seq.
G2 G21 G22 G23 G24 G25 G26 // 63 Seq.
You can add objects to these much as you would to characters. The object animations are unsplit, G1[ID] G2[ID]. As opposed to character slots, equipping a non-existent item does not crash. An item with the inventory appearance set to BW (Bow) would thus look for the animations G1BW, G2BW.
Examples: Solar (MSOL), Troll (MTRO)
⁂ BGII SPLIT 4 PART
9 Directions mirrored
G11 G12 G13 G14 // 54 Seq.
G111 G121 G131 G141 // 54 Seq.
G113 G123 G133 G143 // 54 Seq.
G114 G124 G134 G144 // 54 Seq.
G115 G125 G135 G145 // 54 Seq.
G21 G22 G23 G24 // 63 Seq.
G211 G221 G231 G241 // 63 Seq.
G212 G222 G232 G242 // 63 Seq.
G213 G223 G233 G243 // 63 Seq.
G214 G224 G234 G244 // 63 Seq.
G215 G225 G235 G245 // 63 Seq.
G216 G226 G236 G246 // 63 Seq.
This is essentially the same as the BGII SPLIT animation type, except split into four parts arranged as shown above.
Example: Demogorgon (MDEM)
⁂ BGII UNSPLIT EXT
9 Directions mirrored
G1 // 72 Seq.
G2 // 63 Seq.
An expanded variant of the BGII SPLIT animation type, with all sequences in one file rather than distributed. Supports object animations as well (see above).
Examples: Melissan (MMEL), Death Tyrant (MBEG)
⁂ CHARACTER BGII
8 Directions mirrored
A1 A2 A3 A4 A5 A6 A7 A8 A9 SA SS SX // 9 Seq.
CA // 72 Seq.
G1 (not split) // 99 Seq.
+ Armour Levels (4)
+ Arbitrary (originally WQ) Object anim.
Where CBGT is the animation identifier...
[CBGT][1]A1 (id + armour level 1-4)
[CBGT][1]INV
Objects are...
[BGT][S1]A1 (3 last letters of id + object id)
[BPT][S1]INV (second character is forced to P!!)
^ This behaviour is due to BGII animations using WQ objects with WP paperdolls. It only applies to INV files. For the character slots this P will always fall on the second unique letter (3 or 0, with the two identifying letters remaining intact.)
Note that differing from other animation types equipping non-existent objects CRASHES for characters.
This animation type differs from the one used for the original game files in that I've decided not to split the G animation series. It's exactly the same content, just kept in one file (see BGII SPLIT/BGII UNSPLIT). Essentially, if you'd like a duplicate or edit of a current character animation, you will have to join the G1 G11 G12... files into a single G1 file. This is done mainly to save override clutter (et makes it easier to create content to boot).
If you'd like to have an animation using existing object animations (e.g. because it's an edit of an existing animation), choose one of the CHARACTER BGII WQM/L/N/S animation slots with the desired size category.
⁂ IWD
8 Directions unmirrored (5 + 3E)
A1 A1E A2 A2E A3 A3E A4 A4E // 5 Seq. 8 Seq. resp.
CA CAE // 5 Seq. 8 Seq. resp.
DE DEE // 5 Seq. 8 Seq. resp.
GH GHE // 5 Seq. 8 Seq. resp.
GU GUE // 5 Seq. 8 Seq. resp.
SC SCE // 5 Seq. 8 Seq. resp.
SD SDE // 5 Seq. 8 Seq. resp.
SL SLE // 5 Seq. 8 Seq. resp.
SP SPE // 5 Seq. 8 Seq. resp.
TW TWE // 5 Seq. 8 Seq. resp.
WK WKE // 5 Seq. 8 Seq. resp.
+ Object (SA1, MA1...).
IWD animations can coexist with a BGII SPLIT/UNSPLIT animation (which in turn can coexist with some 4 PART animations, etc.) for the same identifier as long as either of them does not need a paperdoll, in fact they often do so with the original game files.
Any type of object can be added to an IWD slot. However, the last character of the object id is stripped off (e.g. WH becomes W).
Equipping a non-existent object does not cause the game to crash, as it does with character animations.
⁂ Planescape Torment
PST animations generally have the following scheme:
5 Directions mirrored
AT1 AT2 // 5 Seq.
C2S // 5 Seq. (combat->idle)
CF1 // 5 Seq. (taunt))
(CF2)
DFB // 5 Seq. (fall)
GUP // 5 Seq. (get up)
HIT // 5 Seq. (hit)
S2C // 5 Seq. (idle->combat)
SF1 // 5 Seq. (stretch)
SP1 // 5 Seq. (spell)
SP2 // 5 Seq. (spell)
SP3 // 5 Seq. (spell)
(SP4)
STC // 5 Seq. (combat idle)
STD // 5 Seq. (idle normal)
TK1 // 5 Seq. (talk)
TK2 // 5 Seq. (talk)
TK3 // 5 Seq. (talk)
(TK4, TK5, TK6).
9 Directions mirrored
RUN // 9 Seq. (run)
WLK // 9 Seq. (walk)
This means PST animations should be ported into BGII UNSPLIT EXT. or BGII character type slots where possible, preserving most of their various non-combat animations and their extended walking / running directions. These would be lost porting to an IWD or BGI animation slot. Since they use five directions mirrored for most animation parts, you'll have to pad them to fit accordingly, and join them into G1 & G2 files with the sequences set up properly.
⁂ To install without the provided WeiDU installer:
⁂ For the animation slot mapper
Extract the directory Reference Picker/ and its contents to any location.
You can tell IA Reference Picker to use a particular language by editing Config.txt. Under the Section [Program] you will find a key "UseLang"; set the value of this key to [Language]; e.g. UseLang=French would load the strings from <.\lang\French.txt>. The strings are loaded at runtime, so if you change the language after starting IA Reference Picker, you will need to restart it for the changes to take effect.
⚠️ Please note that the translations need to be encoded in UTF-16 LE BOM. UTF-8 will not work.
You can also use a hotkey (Alt+L) to be able to load a different language file from within the GUI. This will cause the program to restart with the new language.
The file anims.list is necessary for the tool to run. DO NOT MODIFY THIS FILE.