Jump to content


Photo

Infinity Animations Readme


  • Please log in to reply
122 replies to this topic

#1 Erephine

Erephine

    leit að lífi

  • Member
  • 1912 posts

Posted 30 November 2009 - 01:44 PM

Infinity Animations
A Spellhold Studios mod for Baldur's Gate II: ToB, Baldur's Gate Trilogy and Tutu

Author: Erephine, WeiDU packaging & components by Miloch

Infinity Animations
Last Updated Oct 17 2024 03:36 PM



Introduction

This mod patches Baldur's Gate II: Throne of Bhaal to support additional creature and character animations (referred to as "animation slots"). It also offers a dynamic automated process for claiming new animation slots. Thus, it acts as a central hub, usable by anyone who would like to add animation entries to the game without being bogged down by issues of mod conflicts and incompatibilities.

Infinity Animations supports a wide variety of animation types from Baldur's Gate I, Baldur's Gate II, Icewind Dale I, Icewind Dale II, Planescape: Torment and Neverwinter Nights. As an added bonus, the mod restores Baldur's Gate I character animations in their entirety, and paperdolls have been unlocked for some animations that did not support them previously.

An important feature for players who use several large mods (known as "megamods") is a resolution of animation conflicts, and a restoration of standard animations that megamods have overwritten. Finally, this mod contains optional components that implement many new animations into the game. Ongoing work will address sound sets for new animations. While the number of supported animations may not be "infinite" as the name suggests, it should be large enough to accommodate everyone's present (and in all likelihood future) needs.

Key features

  • Restores Baldur's Gate I character animations
  • Improves paperdoll support for existing animations
  • Adds custom game animations for characters and creatures (including dragons)
  • Allows use of many different animation types (some never before seen in the games)
  • Resolves the problems of animation stacking, slot and naming conflicts
  • Offers GUI support for adding new animations
  • Lets you watch as the percentage of free animation entries refuses to go down (:

For details on how to add new animations, consult the Adding Slots section of the original documentation.

Compatibility

Infinity Animations works with BG2: Throne of Bhaal and conversions based on ToB. Make sure you have Throne of Bhaal patched to version 26498. Check the ReadMe files related to your patch in your game folder and the BioWare website if necessary.

This mod should also work with all other mods, including Baldur's Gate Tutu (and EasyTutu), Baldur's Gate Trilogy and the BiG World Project.

Install this mod after most other mods, particularly those that add creatures or animations, but before any final "biffing" routines.
 
Start a new game after installing this mod, or use the Saved Game Animation Fixer component if you're reluctant to do that.

Installation
 
Note: If you've previously installed the mod, remove it before extracting the new version. To do this, run setup-infinityanimations.exe, uninstall all previously installed components and delete the infinityanimations folder. When installing or uninstalling, do not close the DOS window by clicking on the X button! Instead, press the Enter key whenever instructed to do so.
 
Installing with non-ANSI compatible language systems
Baldur's Gate II uses the non-Unicode Windows-1252 code page to load resource files. Some of the resources in Infinity Animations use characters like £/µ/Þ/... which map to different numerical values.
 
If your system is using a different code page, you must change it manually yourself before unpacking the mod archive and installing. This can be done as follows on Windows systems:
-> Control Panel
-> Region
-> Administrative tab
-> Language for non-Unicode programs
-> Change system locale: English (United States)
 
Disable any antivirus or other memory-resident software before installing this or any other mod. Some (particularly avast!) have a tendency to report false positives with mod activity, resulting in failed installs.
You can extract files from the archive using WinRAR, ZipGenius or another file compression utility that handles .rar files.
 
Windows
Extract the contents of the mod to the folder of the game you wish to modify (BG2, BGT or EasyTutu). On successful extraction, there should be an infinityanimations folder and a setup-infinityanimations.exe file in your game folder. To install, simply double-click setup-infinityanimations.exe and follow the instructions on screen.
 
Run setup-infinityanimations.exe in your game folder to reinstall, uninstall or otherwise change components.
 
Linux
Extract the contents of the mod to the folder of the game you wish to modify. Download the latest Linux version of WeiDU and copy WeiDU and WeInstall to /usr/bin. Then open a terminal and cd to your game installation directory.
 
Optional: run 'tolower' and answer 'Y' to both queries. You can avoid running the second option (linux.ini) if you've already ran it once in the same directory. To save time, the archive is already tolowered, so there's no need to run the first option (lowercasing file names) either, if you've extracted only this mod since the last time you lowercased file names. If unsure, running tolower and choosing both options is the safe bet.
 
Run WeInstall setup-infinityanimations in your game folder to install the mod. Then run wine BGMain.exe and start playing.

Components

The installer includes the following components. The number of each is the component DESIGNATED number which gives it a fixed install position, lets other components detect it and allows automated installers like the BiG World Setup specify component choices.

All subcomponents require the main component (they need to since it's the one that installs new content). All components are otherwise optional. Also note that no component affects joinable NPCs, something best left to individual modder discretion. (Hence, if something says it affects all female tieflings, it doesn't include Amber and Fade in that.)

0. Infinity Animations
Requires ToB v26498

  • Checks mod files and .exe validity
  • Backs up and patches the .exe
  • Replaces _LOW creature animations
  • Updates .ids files
  • Restores any necessary mod-overwritten animations
  • Copies new animations (any extracted to /content folder)
  • Fixes any affected creatures

50. Distinctive Genies

  • Uses djinn, efreet, dao, jann and marid animations where sensible

100. Distinctive Fiends

  • Nabassus get a green-grey tanar'ri animation
  • Chromatic Demon gets a somewhat more colourful base animation
  • Bebiliths (Longer Road and Drizzt Saga only) get the NWN animation
  • Some mariliths get a darker animation
  • Bone fiends get the NWN osyluth animation
  • Gelugons (only if added by a mod) get an ice salamander animation
  • Yochlols (except those in drow form) get a dark otyugh-based animation
  • White, green and red abishai get the relevant IWD or PST animations
  • Manes get the IWD drowned dead animation
  • Erinyes get a black-winged elf avatar
  • Succubi get the NWN succubus animation
  • Maurezhi get a dark ghoulish animation
  • Glabrezu get the proper glabrezu animation

Pit Fiends
150. All get the NWN animation
175. Some get the NWN animation

  • Choice of subcomponent (or none); "some" = roughly half, randomly selected

Cambion/Isair Animation
200. All cambions and male tieflings
210. All cambions only
220. Some cambions and male tieflings
230. Some cambions only

  • Same logic as Pit Fiend component

Alu-Fiend/Madae Animation
260. All alu-fiends
270. Some alu-fiends and female tieflings
280. Some alu-fiends
290. Some alu-fiends and female tieflings

  • Same logic as Pit Fiend component

400. Distinctive Undead

  • Banshees get the wailing virgin animation
  • Floating skulls get the demilich animation
  • Greater ghasts get the IWD ghast animation
  • Generic ghosts get the IWD ghost animation
  • Greater ghouls get the IWD ghoul animation
  • Greater liches get the IWD lich animation
  • Apparitions get the mist creature animation
  • Revenants get the revenant animation
  • Shadow Beasts get the shadow animation
  • Wraiths get the IWD large shadow animation
  • Spectres get the IWD large shadow alternate
  • Shadows get the IWD small shadow animation
  • Some shadows get the IWD small shadow alternate
  • Greater skeletons get the skeleton0 animation
  • Moon horrors get the skeletonb animation
  • Wights get the IWD grey wight animation
  • Green zombies get the IWD green wight animation
  • Zombie lords get the IWD yellow wight animation
  • Undead knights and similar get the IWD barrow wight animation
  • Greater zombies get the IWD yellow zombie animation
  • Lacedons and sea zombies get the IWD blue zombie animation

Skeleton Warriors
410. Barrow Wight animation
415. Skeleton animation
420. SkeletonA animation

  • Assigns the chosen animation to all skeleton warriors

Seer Animation
450. Some beggars and slaves
455. Some beggars
460. Some slaves

  • Same logic as Pit Fiend component

480. Svirneblin Animations
Skipped if Aurora's Shoes installed (does the same thing)

  • Uses all svirfneblin variants for Underdark deep gnomes

500. More Base Animations

  • Histachii get the IWD histachii animation
  • Lizardman warriors get the brown lizardman animation
  • Lizardman shamans get the green lizardman animation
  • Lizardman chiefs get the lizard king animation
  • Variant trolls (normal, blue, ice, snow, small) where relevant
  • Greater umber hulks get the IWD umber hulk animation

550. More Icewind Dale Animations

  • Animated Plates get animated plate animations
  • Archdruids get the IWD Arundel animation
  • Variant barbarians (brown, red, tan and shamans)
  • Greater elementals make use of variant BG2/IWD animations
  • Some fire giants get the IWD fire giant animation
  • Iron golems get the IWD iron golem animation
  • Adamantite golems get the BG2 iron golem animation
  • Sahuagin priestesses get the IWD sahuagin animation
  • Sahuagin royal guards get the BG2 large sahuagin animation
  • Sahuagin chiefs get the IWD large sahuagin animation

600. More Icewind Dale II Animations

  • Greater fire giants and firbolgs get the fire giant variant
  • Variant goblins (worgriders, leaders, browns, greens, elites)
  • Hook horrors get the hook horror animation
  • Shadow druids get the Malarite animation
  • Death tyrants get the death tyrant animation
  • Wererat gets the wererat animation
  • Worgs get the IWD2 worg animation

650. More Neverwinter Nights Animations

  • Greater basilisks get the NWN basilisk animation
  • Modrons get the modron animation
  • Bombardier beetle (in Big Picture) gets the NWN animation
  • Displacer beasts (in AjocMod) get the NWN-CCP animation
  • Some fire giants get the NWN female fire giant animation
  • Some frost giants get the NWN female frost giant animation

Troubleshooting
 
These are some general tips if you have problems getting the game working, with or without this or other mods. Many times, errors have to do with the game engine itself or the manner of installation or gameplay. The game recommends deleting all files out of the /cache, /temp and /tempsave subfolders in your game folder to see if that resolves the problem before any further troubleshooting.
 
Installing with non-ANSI compatible language systems
Baldur's Gate II uses the non-Unicode Windows-1252 codepage to load resource files. Some of the resources in Infinity Animations use characters like £/µ/Þ/... which map to different numerical values.
 
If your system is using a different codepage, you must change it manually yourself. This can be done as follows on Windows systems:
-> Control Panel
-> Language
-> Change date, time, or number formats
-> Administrative tab
-> Language for non-Unicode programs
-> Change system locale: English (United States)
 
Symptom: Game freezes or crashes to desktop (CTDs)
Sometimes the game displays an "assertion error" in a pop-up window when this happens, but often times it doesn't. To enable the full error message, open the file baldur.ini in your game folder with a text editor (such as Notepad). If you find you can't edit it or save changes, see this topic for assistance.
Under the [Program Options] section in the file, type Logging On=1 (unless it's already there). While you're there, you may also want to make sure Debug Mode=1 is there to enable the CLUA Console for debugging and testing. Save the file and exit. Now go back into the game and try to reproduce the crash. Then look in your game folder again for the Baldur.err file and open it with a text editor to analyse its contents.
 
Symptom: Game crashes with no Baldur.err log and shows either a black screen or a pop-up window indicating an error at offset 005ca8a8
This usually indicates an animation-related issue. Make sure you have the latest version of the mod. If you've installed other mods after it and have this issue, install the fix available here.
 
ERROR: error copying [infinityanimations/content/somefile.bam]
ERROR: [SOMEFILE.CRE] -> [override/SOMEFILE.CRE] Patching failed (COPY)
Stopping installation because of error.
(with no other error message)
Less-than-informative messages like these may indicate you're installing to a hard drive with a low data transfer rate or an antivirus program is active during installation (which can also affect data transfer). Try installing to an internal drive with antivirus protection disabled during the install. If unsure, disconnect from the Internet (either unplug your network cable or disable your wireless adaptor) and turn off all memory-resident programs during the install. To get a list of these, go to Start > Run and type msconfig where it says "Open:" then click OK. When the System Configuration Utility appears, click on the Startup tab. The only really necessary programs that need to be loaded in memory at startup are those related to your graphics chip (typically ATI or NVIDIA). Uncheck everything else, reboot and try installing the mod again. There are well-documented issues with installing mods while Avast antivirus is running, so make absolutely sure all components of Avast are completely disabled.
 
Other issues
If you have more than one large mod installed, please refer to the Megamod FAQ for more troubleshooting tips. If none of this resolves your issue, or you have mod-specific issues, please report the problem in the mod's forum. Include the contents of your WeiDU.log file in the post, or attach it if it's large.

Version History

Spoiler


Edited by skellytz, 14 November 2024 - 11:04 AM.
updated with v5.1.1

崇高滑稽
·


#2 Erephine

Erephine

    leit að lífi

  • Member
  • 1912 posts

Posted 30 November 2009 - 04:01 PM

The following is a complete copy of the original in-depth (more technical) readme. Feel free to ask specific questions you might still have after reading it in here (frequently asked questions or unclear points will be added to the readme).

----

Infinity Animations
core component readme & how to add animations


I. Installing the animation slot mapper
extract the directory Reference Picker/ and its contents to any location.

The file anims.list is necessary for the tool to run. DO NOT MODIFY THIS FILE.


II. Rules On Claiming Animation slots (read first!)
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.

If you've read and understood these guidelines and feel your claim qualifies read on in the next section. v


III. Using the Reference Picker
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.


IV. Adding an Animation Entry
This is a step-by-step overview of the process.

Step 1: Run the supplied tool from your install location of choice (see above)
You should now see the main window (AnimID picker), giving you the clear text options of claiming an animation, browsing the current IDs, or opening the reference chart. 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.

Step 2: Click on 'claim an animation'
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.

Step 3: Get the current list from the forums
Go to the Infinity Animations forum and open the pinned Animation Listings topic. 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:

[codebox]0x100d ÆAM ANNAH LARGE 5 Lt BGI MONSTER LONG 4 PART unpaletted
0x100e ÆAN EMPTY LARGE 5 Lp BGI MONSTER LONG 4 PART unpaletted
0x100f ÆAO PINK BEHOLDER, SMALL LARGE 5 Lx BGI MONSTER LONG 4 PART unpaletted
0x1010 ÆAP EMPTY LARGE 5 Lp BGI MONSTER LONG 4 PART unpaletted
0x1011 ÆAQ ----- LARGE 5 Lx BGI MONSTER LONG 4 PART unpaletted
0x1012 ÆAR EMPTY LARGE 5 Lp BGI MONSTER LONG 4 PART unpaletted
0x1013 ÆAS THIS IS AN EXAMPLE LARGE 5 Lx BGI MONSTER LONG 4 PART unpaletted[/codebox]

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.

Click 'Continue' to proceed. You should see a progress window while the list is being processed.

[i]Step 4: Choose animation slot type[/i]
If you didn't get an error so far, chances are the list is not bugged, which is a good sign. You should now have a window with loads of buttons, listing the different animation slot types available for addition. At this point you should be *absolutely certain* of the type of slot you need for your animation (it can't be changed later). Consult the reference chart (see above) if in doubt.

Click the appropriate button to proceed.

[i]Step 5: Select animation sub-properties[/i]
You should now see a window called [i]Almost there...[/i]. Here you can choose the specifics of your animation from available options, including foot circle size and subtype (commonly unpaletted or paletted, more for character slots) and whether your animation needs a paperdoll.

[b]Important:[/b] 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). Click 'Go' after you have made your choices.

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).

[i]Step 6: Confirm[/i]
If you picked a valid configuration, the search progress bar should interrupt to show the [i]Verify[/i] window, 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 and paperdoll options are correct. If they are, proceed with 'OK'. (If they are not, cancel and repeat the above steps.)

[i]Step 7: Enter a name[/i]
Enter a descriptive identifier for your animation (see the naming guidelines above). Once again, click OK to proceed. You should now see a progress bar as the tool prepares the new list.

[i]Step 8: Last but not least, the most important step of them all[/i]
You should now see a window called [i]New List (do not edit)[/i], along with a smaller window below it listing valid [i]ANIMATE.IDS[/i] and [i]ANISND.IDS[/i] entries for your animation. Ignore these for now.

In the larger window you should see a list similar to the one you copied and pasted before. [b]In all cases the list should contain more entries than it did before.[/b] For our example, let's say it looked like this:

[codebox]0x100d ÆAM ANNAH LARGE 5 Lt BGI MONSTER LONG 4 PART unpaletted
0x100e ÆAN EMPTY LARGE 5 Lp BGI MONSTER LONG 4 PART unpaletted
0x100f ÆAO PINK BEHOLDER, SMALL LARGE 5 Lx BGI MONSTER LONG 4 PART unpaletted
0x1010 ÆAP EMPTY LARGE 5 Lp BGI MONSTER LONG 4 PART unpaletted
0x1011 ÆAQ ----- LARGE 5 Lx BGI MONSTER LONG 4 PART unpaletted
0x1012 ÆAR EMPTY LARGE 5 Lp BGI MONSTER LONG 4 PART unpaletted
0x1013 ÆAS THIS IS AN EXAMPLE LARGE 5 Lx BGI MONSTER LONG 4 PART unpaletted
0x683d ¢A¢A PISCATA ROSEA NORMAL 3 Ct CHARACTER BGII WQL paletted[/codebox]

You need to copy and post this complete list to the [i]Animation Listings[/i] thread on the Infinity Animation forums. [url="http://www.shsforums.net/index.php?showtopic=43502"]Here is the hyperlink again, for your convenience.[/url] To facilitate doing so, below the listing you will find a 'Copy to clipboard' button. If you click it, its text should change to *copied* and 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. [b]Preview your post.[/b] If your post accurately matches the list displayed in the [i]New List (do not edit)[/i] window, [b]submit it[/b]. Don't forget to upload your animation set and post it in the [url="http://www.shsforums.net/index.php?showtopic=43503"]content thread[/url] if it isn't yet available.

Congratulations, you have just claimed an animation entry!

[i]Other things you might want to notice before hitting 'Done!'[/i]
On the top of the window you should see a progress bar indicating the percentage of completely free animation entries available (so you don't feel bad about taking up animation entry space [b](:[/b] ). To the right of it is a button called 'batch rename files'.

You can use this button to do exactly what the label suggests. Upon clicking it, you will be able to navigate to a directory. Ideally this should be a subfolder containing just your animation files with their old prefix (e.g. MBEG).

You will then be asked to enter the animation's current identifier (e.g. MBEG). All files matching the entered prefix in the selected folder will be renamed to fit the newly added animation entry (in the above example, ¢A¢A). The button will indicate the number of files renamed during the process.

When you're finished with everything else, you can copy or note down the ANIMATE.IDS and ANISND.IDS from the small window below. 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) to have them added to the game .ids files.
Hitting [i]Done![/i] will quit the program.

[i]On total conversions[/i]
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.


[size=3][b]V. Sound Information[/b][/size]
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. ¢A¢A.2DA for our piscata rosea animation above). You can use one of the existing ones (e.g. MAIR.2DA) as a template.


[size=3][b]VI. Browsing Existing IDs[/b][/size]
The Reference Picker also allows you a more detailed overview of the currently implemented animations.

To access it, select [i]browse the current IDs[/i] from the main window.

You will be asked for the current animation list. Follow the instructions under [b]Step III[/b] of "Adding an Animation Entry" (it is exactly the same).

After the list has updated and been processed, you should be presented with the [i]Information[/i] window. The bar at its top indicates the animation slot usage, displaying the percentage of free, partially free and taken animation slots.

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 right is a list of all animations that have been added in the scope of this mod (you might have to click on one to initialise the information). It is listed by identifier and description name. In the centre of the window, the corresponding details will be listed, while on the far left 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 in the window, place a .gif file named as the slot ID in the [i]preview/[/i] directory (i.e. the animation ID 0x1001 would look for 0x1001.gif). The icon will show below the slot information.

Pressing 'Return' will close the information browser, returning to the main window.

[i]Note:[/i] The hypothetical number of available slots is not actually Infinity, but well in the thousands, so don't be concerned if it shows 100% available even if some slots are used.

[size=3][b]VII. Building .IDS files[/b][/size]
Both from the ID browser and the new animation listing, you can build .ids files by clicking Build .IDS.

Doing so will not close the previous window or stop you from interacting with it. Instead, it will open a new window displaying complete .IDS files (each in their own tab) built from the original game animations and the list you entered in Step III.

[i]BGII/IWD style[/i]
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 for 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.

[size=3][b]VIII. Animation Slot Reference[/b][/size]
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.

[b]Baldur's Gate I types[/b]


[i]⁂ BGI MONSTER LONG 4 PART[/i]
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, BGI Tanar'ri

[i]⁂ BGI MONSTER LONG[/i]
16 Directions unmirrored (10 + 6E)
G1 G1E // 16 Seq.
G2 G2E // 80 Seq.
G3 G3E // 48 Seq.

Examples: Carrion Crawler, Small Wyvern

[i]⁂ BGI SIMPLE CASTER (BOW)[/i]
8 Directions unmirrored (5 + 3E)
G1 G1E // 48 Seq.
G2 G2E // 24 Seq.

Optionally supports bow animations (BG1, BG1E, BG2, BG2E). Has casting animations.

Examples: Sirine

[i]⁂ BGI SIMPLE CASTER (S1)[/i]
8 Directions unmirrored (5 + 3E)
G1 G1E // 48 Seq.
G2 G2E // 24 Seq.

Optionally supports sword animations (SG1, SG1E, SG2, SG2E). Has casting animations.

Examples: Ogre Mage

[i]⁂ BGI ANKHEG (currently broken)[/i]
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

[i]⁂ BGI SIMPLE MONSTER[/i]
8 Directions unmirrored (5 + 3E)
G1 G1E // 48 Seq.
G2 G2E // 24 Seq.

[b]Note on paperdolls:[/b] 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.

Examples: Werewolf

[i]⁂ CHARACTER BGI[/i]
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.





[b]Baldur's Gate II types[/b]


[i]⁂ DRAGONS (XDR)[/i]
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.

[i]⁂ BGII SPLIT[/i]
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, Troll

[i]⁂ BGII SPLIT 4 PART[/i]
9 Directions mirrored
G11 G12 G13 G14 // 54 Seq.
G111 G121 G131 G141 // 54 Seq.
G112 G122 G132 G142 // 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.

Examples: Demogorgon

⁂ 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, Death Tyrant

⁂ CHARACTER BGII
9 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)
[B[b]P[/b]T][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 (µ or ¢, 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 (and 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 types


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.


Porting suggestions

⁂ 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.


Addendum I:

_LOW character animations were removed from the .IDS files (and the game) to free up number space. These were stripped down variants of full character slots in Baldur's Gate I (it was an option to save memory) but completely redundant in Baldur's Gate II (where they directly linked to the normal character animations). The included WeiDU component fixes all remaining _LOW entries in .cre files to point to the normal character slots, and should be installed before any new content is potentially added to the game. If you don't, some of your .cre files using the new animation references may be mistakenly set to character animations.

The BGI character animations have the prefix L_ in the .IDS files.

Edited by Erephine, 18 January 2010 - 02:09 PM.

崇高滑稽
·


#3 prowler

prowler

    Translator

  • Member
  • 425 posts

Posted 07 February 2010 - 08:30 AM

Excuse me, but sometimes it is hard to me to translate and undertstand *readme* files. :crying: :wacko:
So my question is:
Am I need download all content packages (such as IA Content 002: IWDII and unused BGII animations or IA Content: PST Abishai)or only one package IA Content 001: Base content?

Edited by prowler, 07 February 2010 - 08:33 AM.

Murloc-translator
Coordinator of the Russian BWP Translation Team - Arcanecoast.ru
Work with SHS, PPG, G3, CoM, Dragon's Hoard, Sorcerer's Place, RPG Dungeon


#4 Miloch

Miloch

    Barbarian

  • Modder
  • 6579 posts

Posted 07 February 2010 - 01:54 PM

Here is the latest user readme (part of the readme above is for modder use).

You need to download the Core package (usually on page 2 of downloads) for the main installer. After that, you probably need the base animations and others depending on your install. For a typical BWP megamod type of install, you'll likely need all packages listed there, and extracted to the /content folder without subfolders as described in the readme (except BG2_Restores which should go in the /restore folder).

Regarding translations, I haven't traified this mod yet because I'm still working on sounds. It will be very difficult to work with if I traify it before finishing them, so just wait until those are done if you want to translate it :). Though you can of course translate the readme if you like.

Edit: also I just updated the core - here are the changes:

WeiDU Beta 4: 7 Feb 2010
- Added BG1 Character Animations for NPCs component
- Added BG1 Character Animations for PCs component
- Changed fiend patching to accommodate scripting


Edited by Miloch, 07 February 2010 - 01:58 PM.

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#5 Fennek

Fennek
  • Member
  • 355 posts

Posted 04 May 2010 - 12:54 PM

Did not find this in the ReadMe etc., so I guess it's not possible... Nevertheless: Can one somehow change the size of the animations? The skeleton warriors for example now look better, but these guys have only half the size (well, maybe not half the size, but smaller...) of the Bg2 ones, what is a bit irritating since they're extremely tough...

#6 Miloch

Miloch

    Barbarian

  • Modder
  • 6579 posts

Posted 05 May 2010 - 12:45 PM

Did not find this in the ReadMe etc., so I guess it's not possible... Nevertheless: Can one somehow change the size of the animations? The skeleton warriors for example now look better, but these guys have only half the size (well, maybe not half the size, but smaller...) of the Bg2 ones, what is a bit irritating since they're extremely tough...

Actually, it *is* in the readme that you've got 3 different options for the skeleton warrior component: IWD barrow wights, BG2 skeletons or the skeletonA animation:
bwight.gif skel.gif skela.gif
According to PnP, skeleton warriors are only slightly taller than normal skeletons (6-7' instead of 6' average) but have rotted flesh and armour clinging to them. So in my opinion, the barrow wight is best (not a regular PnP or Tolkien wight, which have separate animations). Giant skeletons (a different kind of monster) are twice as large, so the skeletonA is better for them. But anyhow, the choice is yours.

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#7 Fennek

Fennek
  • Member
  • 355 posts

Posted 05 May 2010 - 02:48 PM

Sorry, I did not try to look up my example, what had actually been the best idea... :whistling: (Looked only for something general about size...)
Anyway, thank you. When I try my next BWP-installation I'll have a look if I can change it.

#8 Fennek

Fennek
  • Member
  • 355 posts

Posted 09 May 2010 - 03:00 AM

Another question: I saw the dragon from IWD, the boss from the Addon, if I remember correctly. Wasn't there also a (black) dragon in IWD2 (in theis temple) and some ("minor") white dragons in a cave?
Are these animations not compatible/not used?
(I did not find a component in the readme, only that "dragons", too, were to be changed, so I was curious.)

#9 Miloch

Miloch

    Barbarian

  • Modder
  • 6579 posts

Posted 09 May 2010 - 04:53 PM

Another question: I saw the dragon from IWD, the boss from the Addon, if I remember correctly. Wasn't there also a (black) dragon in IWD2 (in theis temple) and some ("minor") white dragons in a cave?
Are these animations not compatible/not used?
(I did not find a component in the readme, only that "dragons", too, were to be changed, so I was curious.)

The black dragon is the same as the BG2 one, according to the IWD2 animate.ids. IA includes both the young white dragon and the big white wyvern, as displayed in the readme animations section. However, neither of these is used currently, because there are no such creatures in the game, not even in a BWP "expert" install. In other words, they're just there for modders right now (someone would have to write a mod that uses them).

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#10 Fennek

Fennek
  • Member
  • 355 posts

Posted 10 May 2010 - 12:53 PM

O.K., did not remember anymore how the one from IWD2 looked like. I didn't mean the white wyverns from IWD2, but the (young) white dragon (which is there, although I thought, before putting the mouse over it, that it were the white dragon / the boss from IWD1, HoW). The HoW boss then probably looked like one of the other dragons, so that he (actually she) isn't included.

#11 Miloch

Miloch

    Barbarian

  • Modder
  • 6579 posts

Posted 12 May 2010 - 06:03 PM

Updated the readme for version 5. This is a fairly major release, with the following changes:

WeiDU Beta 5: 12 May 2010
- Changed the .exe patch so that it forces a code page change and reboots if a non-Western code page is detected
- Updated the .exe patch so that it recognises BG1 thief avatars
- Cloned missing animation tables from the unmodded game
- Added other missing animation tables to base content folder
- Adding missing minotaur and water weird sounds
- Disabled problematic stacked animations from chitin.key
- Added creature sounds where relevant (major update here)
- Fixed a minor READ_BYTE glitch in creature patching
- Made it certain so that subcomponents can't be installed if the main component is not installed (to prevent crashes)
- Added night hags to the "Distinctive Fiends" component
- Added ghoul queens to the "Distinctive Undead" component
- Added white-haired Ellesime to the "More IWD2 Animations" component
- Added lagoon creature to the "More IWD2 Animations" component
- Deprecated tieflings from the cambion/alu-fiend components in favor of the PS:T animation component
- Corrected skeleton warriors appearing as verbeegs glitch
- Added Amel animation to NWN component (if NTotSC is installed)
- Added Humanoid Animation Fixes component
- Added Moinesse's Avatars component
- Added More PS:T Animations component
- Added BG1 Character Animations for Saved Games component
- Added saved game animation fixing component
- Traified the entire freaking mod by hand for translators (thanks for nothing, WeiDU! :P)

IA Downloads

The only reason the mod is still "beta" is due to the amount of new content. It is otherwise "complete" barring any new animations that get added in the future.

It is also now traified, so anyone who wants to translate it can convert english/setup.tra into their language and attach it in a post. The setup.tra is even divided into DOS and game strings for translator convenience :).

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#12 Miloch

Miloch

    Barbarian

  • Modder
  • 6579 posts

Posted 15 May 2010 - 04:13 PM

Copied from this post:

710 7000 8000

Is there a specific reason why you don't recommend the "All creature" components for the PST, Moinesse and BGI anims??

The main reason is it doesn't make sense, because you'd be overwriting the animations several times, or skipping them anyway. For example, there are female thieves in the PST component (Curst townies), the Moinesse component and the BG1 component. So a secondary reason is it encourages "animation diversity" (with 25% you get a mix of animations from all those components as well as the default BG2 animations).

Also (and I know this is better asked in the IA forums but still ... :P) what does relevance (25/50/75) mean for these 3 components??

It's simple probability math, but random. So the 25% option affects 1 out of 4 of all female human thieves, if a component affects those (which as I said, several do). If you install successive components that affect the same creature/animation, it will attempt to account for that to avoid overwriting. So component #1 affects a random 25% of all female thieves, component #2 affects 25% of remaining female thieves (*if* component #1 hasn't already changed them), ditto for component #3. For a number of animations, this isn't an issue though since they're only changed in one component. There are also some (few) exceptions to this, in that *all* of certain animations will be changed regardless of the option, for consistency reasons. For example, some mod adds actual "Dustmen" so they get the Dustman animation regardless, and some other mod adds actual ninjas, so same thing there. There are very few such creatures, so that's another reason for just doing all of them (like all 2 or 3 of them or whatever).

You recommended the "All creatures" version for the Cambion/Alu-fiend anims, so ... are their vanilla BGII-ToB anims still used for some other creatures??

For alu-fiends, no, only alu-fiends get the Madae animation. For the Isair animation, some mod uses it for a handful of "samurai" which I think is rather inappropriate, but there isn't really a more appropriate one I know of for now (though hells, even the ogre mage might be better than the winged Isair). Anyway, that was the mod's decision however many years ago, not IA's.

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#13 Lollorian

Lollorian

    smiley addict

  • Member
  • 4150 posts

Posted 15 May 2010 - 06:53 PM

So component #1 affects a random 25% of all female thieves, component #2 affects 25% of remaining female thieves (*if* component #1 hasn't already changed them), ditto for component #3.

That sounds so awesome, I'm stoned! :woot:

Thanks for the answer btw! :Bow:

Edited by Lollorian, 15 May 2010 - 07:01 PM.

"I am the smiley addict, yellow and round, this is my grin :D when I'm usually around :P.
When there's trouble brewing, see me post, cuz it's usually a wall o' yellow and your eyes are toast!!!"

BWP GUIDE - BWP FIXES - impFAQ - NPC LIST - KIT LIST - AREA LIST

GitHub Links : BWP Fixpack | Lolfixer | BWP Trimpack | RezMod


#14 Miloch

Miloch

    Barbarian

  • Modder
  • 6579 posts

Posted 16 May 2010 - 12:00 AM

You recommended the "All creatures" version for the Cambion/Alu-fiend anims, so ... are their vanilla BGII-ToB anims still used for some other creatures??

For alu-fiends, no, only alu-fiends get the Madae animation. For the Isair animation, some mod uses it for a handful of "samurai" which I think is rather inappropriate, but there isn't really a more appropriate one I know of for now (though hells, even the ogre mage might be better than the winged Isair). Anyway, that was the mod's decision however many years ago, not IA's.

Oh, I think I just figured out what you were asking (missed the "vanilla BGII-ToB anims" part :P). In the vanilla game, cambions generally get the death_knight animation, which is also used for, well, death knights (duh), demon knights and other such creatures. A couple cambions get the cornugon animation and one gets a male elf fighter animation. As for alu-fiends, looks like they all get the female elf fighter animation in the vanilla game :(.

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#15 Ascension64

Ascension64
  • Modder
  • 5983 posts

Posted 18 May 2010 - 05:52 PM

I am trying to look for the technical aspects of the .exe patch for IA and any primer on the use of specific WORD values for animation types. I may be blind, but are these up anywhere?

--------------
Retired Modder
Note: I do not respond to profile comments/personal messages in regards to troubleshooting my modifications. Please post on the public forums instead.

Baldur's Gate Trilogy-WeiDU and Mods
Throne of Bhaal Extender (TobEx)

Contributions: (NWN2) A Deathstalker (voice acting) - (IWD2) IWD2 NPC Project (soundset editing) - (Misc) SHS PC Soundsets (voice acting)
Legacy: (BG/Tutu/BGT) Beregost Crash Fixer 1.9 (18 Jul 10) - (BG2) Enable conversations with charmed/dominated creatures (18 Jul 10) - (BG2) Experience Corrections (18 Jul 10) - (Misc) Platform Conversion Utility RC2 (13 Feb 10)


#16 Miloch

Miloch

    Barbarian

  • Modder
  • 6579 posts

Posted 18 May 2010 - 11:35 PM

I am trying to look for the technical aspects of the .exe patch for IA and any primer on the use of specific WORD values for animation types. I may be blind, but are these up anywhere?

I think you're looking for something like documentation/devnotes.txt in the core mod download. I guess I can save you a trip there by posting it:

Infinity Animations Developer Notes

÷÷ Executable space claimed (was padding): ÷÷

0x006A470F - 0x006A4FFF

÷÷ Possible incompabilities: ÷÷

Due to limits of number space, the 5xxx series of animations is used by this mod to accomodate animation slots. This space was used for the _LOW character animations that, in BGII were a direct link to the normal character animations (BGII not having separate LOW animations whatsoever, e.g. 5002 was the same reference as 6002). The IA_low_fix will replace redundant links during install, but mods may have used them, in which case they will show mismatched animations. It's safest to check for animation entries in the 5xxx series and replace them with their 6xxx equivalents (while making sure new animations in the 5xxx series are not overwritten).

÷÷ Identifier naming: ÷÷

Identifiers use uncommon start characters to prevent them from sorting randomly and conflicting with existing mod or game files. # and similar are ommitted because they are widely used in mods. The letter µ shows incorrectly as M in NearInfinity.

÷÷ anims.list entry: ÷÷

[number] = hex ID of animation
[TAB] = tabspace
[x] = x whitespaces
[ID] = file prefix padded to four characters
[NAME] = name padded to 34 characters
[FC] = foot circle size, 8 characters
[TYPE] = L is 4pt Split, X is BG1, I is IWD, B is BG2, C is character, D is dragon
[AVAIL] = o is free, p is partly free, t is partly taken, x is taken
[ANIM] = animation type
[SUBTYPE] = animation subtype

0x[NUMBER][TAB][ID][TAB][NAME][TAB][FC][1][TYPE][AVAIL][2][ANIM][1][SUBTYPE]


÷÷ Availability is determined by the following scheme: ÷÷

First line is status of current animation, lines below is how free slots (o) of other types with the same identifier change accordingly. Partly free slots are always replaced with x. Characters replace every other character slot with X. Dragons never modify other entries.

Taking ID
Io It Ix
Bo Bo Bp
Xo Xx Xx
Lo Lo Lp


Taking BGII
Bo Bt Bx
Io Io Ip
Xo Xx Xx
Lo Lx Lx

Taking BGI
Xo Xt Xx
Bo Bx Bx
Io Io Ip
Lo Lo Lp

Taking LONG
Lo Lt Lx
Xo Xo Xp
Bo Bx Bx
Io Io Ip


÷÷ List of new animation entries in the executable: ÷÷

First number is length of identifier (3 for monster animations, 4 for characters and dragons). numbers at the end are special character ASCII value and reference space, as well as the identifier itself (ASCII sign). fc = foot circle. ^^ = same references used above.

:3/ 1000 - 11FF (without 1000 1100) BGI MONSTER LONG 4 PART unpaletted c6.7FC Æ_
(NOTE: 0xx smaller fc 1xx larger fc)
:4/ 1209 - 1234 DRAGONS (XDR) .
:3/ 1300 - 13FF (without 1300) BGII SPLIT 4 PART de.3fc Þ_
(NOTE: 00-ED smaller fc, EE-FF large fc)
:3/ 2000 - 21FF (s 2001 -2100) BGI SIRINE (BOW) CASTER a5.7FC ¥_
:3/ 2200 - 22FF (s 2201) BGI OGRE MAGE (S1) CASTER d0.3fc Ð_
:3/ 3000 - 31FF (s 3001) BROKEN ANKHEG .^^ Æ_
:3/ 5000 - 523B IWD big FC b5.8F0 µ_
:3/ 523D - 5478 IWD small FC .^ µ_
:3/ 547A - 56B6 BGI SIMPLE MONSTER unpaletted a3.8F0 £_
(NOTE: 547A-557A small fc, 557B-56B6 large fc)
:3/ 56B7 - 58F3 BGI SIMPLE MONSTER paletted .^ £_
(NOTE: 56B7-57B7 small fc, 57B8-58F3 large fc)
:3/ 5B00 - 5D3B BGII UNSPLIT EXT. unpaletted .^ µ_
(NOTE: 5B00-5BFF small fc, 5C00-5D3B large fc)
:3/ 5D3D - 5F78 BGII UNSPLIT EXT. paletted .^ µ_
(NOTE: 5D3D-5E3C small fc, 5E3D-5F78 large fc)
:3/ 5F7A - 5FBB BGII SPLIT paletted d8.104 Ø_
(NOTE: F7A-F9A small fc F9B-FBB large fc)
:3/ 5FBC - 5FFF BGII SPLIT unpaletted a7.10C Ø_
(NOTE: FBC-FDC small fc FDD-FFF large fc)
:4/ 6600 - 683C CHARACTER BGII paletted a2.B2C ¢_µ_
(NOTE: 6600-6800 small fc 6801-683C large fc)
:4/ 683D - 68C2 CHARACTER BGII WQM/L/N/S a2.299 ¢_¢_
:4/ 68C3 - 6AFF CHARACTER BGII unpaletted .^ ¢_µ_
(NOTE: 68C3-6A3C small fc 6A3D-6AFF large fc)
:4/ 6B00 - 6D3C CHARACTER BGI paletted .^
(NOTE:6B00-6D00 small fc 6D01-6D3C large fc)
:4/ 6D3D - 6DC2 CHARACTER BGI WQM/L/N/S .^
:4/ 6DC3 - 6FFF CHARACTER BGI unpaletted .^
(NOTE 6DC3-6FC3 small fc 6FC4-6FFF large fc)
:3/ A000 - A1FF (without A000 A100) BGI MONSTER LONG ^^^^ ¥_
(NOTE: 0xx small fc 1xx large fc)

Characters and dragons have four characters because their suffixes are appended at fixed intervals (characters with three character identifiers cannot have paperdolls or object animations, dragons crash.)

Characters have a doubled identifier character because the second is replaced by P for the BGII inventory types. (to accomodate WP paperdoll images with WQ BGII animations).


÷÷ Reference offsets in the executable: ÷÷

6A470F
µ ...3 <

409806
¢_µ_ ..4 23c+1 <
¢_¢_ ..4 <
Æ_ ..3 1ff <
£_ ..3 23c+1 <
Ø_ ..3 104 104+1
Ø_ ..3 (ext.) 10C 10c+1

408ab6
¥ .. 3 <
Ð .. 3 <

407713
Þ .. 3 <

Space for these is freed mostly by removing invalid animation duplicates. The BGI slots were copied in their entirety to the BGII scheme, and again partly to the dragon/demogorgon scheme. The same was true for characters, though the BGI portion has been restored (i.e. not freed). The slots are rerouted in the animation call, so it was impossible to actually execute the invalid animation code or the BGI character code (e.g. a werewolf animation using BGII's animation scheme).


÷÷ The character hack: ÷÷

Character animations with non-WP/WQ object animations are achieved by using the same offset to create object and creature identifiers (rather than a separate WQL/WPM etc. reference as intended). For BGII characters, it is additionally used to create the paperdoll reference. The BGII paperdoll reference uses the first three characters of the identifier plus a fixed character (which we instead load from the identifier as well). The paperdoll reference is originally also used to switch between the different animation categories (B/C/F animations) in the BGII files. this is where the doubled identifier comes in;

¢E¢E
^ animation identifier

¢E¢E
^ object identifier (i.e. E¢E)

¢E¢E
^ paperdoll identifier (i.e. the name remains the same as the base animation)

Since objects compatible with BGII animations follow the WQL/M/N/S scheme, but paperdolls were not renamed, a WQ animation had to be tweaked to load a WP paperdoll, which was done via simple replace. This carries over to the example above, leading to an object paperdoll that is not E¢E, but EPE.

No identifying letters are lost (save the ¢), and since it only affects BGII paperdoll object images the risk of file name conflict is relatively negligible. (e.g. EPES1INV.BAM would not typically be found in game or mod files)

Baldur's Gate I characters do not require the above trickery (since animations were unique rather than grouped), although non-WP object animations are created in similar fashion. Since they had no need to force the second character, ironically enough the corresponding BG1 file would indeed be E¢ES1INV.BAM.

Note that this may be subject to some (minor) change, as Erephine and I are currently discussing using more universally compatible ANSI prefixes (such as $,#,etc.) rather than ones that are specific to Western European code pages (such as μ,¢,etc.).

For the actual animation codes, see the pinned "Animation Listings" topic or the /ids folder in the core mod.

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#17 Ascension64

Ascension64
  • Modder
  • 5983 posts

Posted 21 May 2010 - 05:11 PM

Thanks. I am referring to what exactly the exe patch is changing in reference to the underlying code (i.e. making actual code-sense of all the WRITE_BYTEs in t-exe_patch.tpp, without having to resort to reversing the changed code to understand how it works.

A clarification on my query about types of animations. The devnotes.txt indicates the types of animations that fit into the extra slots added by the mod, e.g. animIDs between 0x2200 and 0x22FF (starting 0x2201) contain BGI OGRE MAGE (S1) CASTER animations. Is there any data on how existing vanilla BG2:ToB animIDs are grouped and typed? I'm interested in this from a coding perspective - how does BGMain.exe decide that if the animId is 0x2200 to create a CAnimation class to specific to BGI OGRE MAGE (S1) CASTER but not 0x5B00? And then with reference to the first paragraph of my post, how does IA allow BGMain.exe to recognise 0x22FF when it isn't normally recognised in vanilla BG2:ToB?

This is probably getting very technical. As far as I understand, what I have called the function:
CAnimation* InitAnimation(animationId, colorRangeValues, int) //0x7F9EBC in memory
and functions called by it seems to be responsible for determining what specific CAnimation class to use.

--------------
Retired Modder
Note: I do not respond to profile comments/personal messages in regards to troubleshooting my modifications. Please post on the public forums instead.

Baldur's Gate Trilogy-WeiDU and Mods
Throne of Bhaal Extender (TobEx)

Contributions: (NWN2) A Deathstalker (voice acting) - (IWD2) IWD2 NPC Project (soundset editing) - (Misc) SHS PC Soundsets (voice acting)
Legacy: (BG/Tutu/BGT) Beregost Crash Fixer 1.9 (18 Jul 10) - (BG2) Enable conversations with charmed/dominated creatures (18 Jul 10) - (BG2) Experience Corrections (18 Jul 10) - (Misc) Platform Conversion Utility RC2 (13 Feb 10)


#18 Miloch

Miloch

    Barbarian

  • Modder
  • 6579 posts

Posted 22 May 2010 - 05:31 AM

Most of that is beyond my reckoning, so Erephine'll have to answer it. I'm just a half-orc who WeiDUised the stuff.

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle


#19 -GPRO-

-GPRO-
  • Guest

Posted 14 July 2010 - 03:51 PM

Does this mod has any ambitions of fixing animations for the different player character classes?

Like Clerics using clerics animations (including the different armours), and the like?

#20 Miloch

Miloch

    Barbarian

  • Modder
  • 6579 posts

Posted 15 July 2010 - 05:05 AM

Does this mod has any ambitions of fixing animations for the different player character classes?

Like Clerics using clerics animations (including the different armours), and the like?

Not sure what you mean by that. Most clerics already use the cleric animation, though conversely, a lot of fighters do not use the fighter animation (many guards and such use the cleric animation). There is a component to fix that already (#25 Humanoid Animation Fixes).

Infinity Engine Contributions
Aurora * BG1 NPC * BG1 Fixpack * Haiass * Infinity Animations * Level 1 NPCs * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * BG:EE * BGII:EE * IWD:EE
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * Creature Checker * Creature Fixer * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Infinity turns out to be the opposite of what people say it is. It is not 'that which has nothing beyond itself' that is infinite, but 'that which always has something beyond itself'." -Aristotle