Creature animations are stored in BAM files. There are usually a series of BAM files for each animation, e.g. an attacking animation, a walking animation. The way in which these animations are split across the sequences in BAM files, and across BAM files themselves, depends on which animation scheme the creature animation uses. The EE games have externalised many properties of creature animations to PST-style ini files.
There are several creature animation schemes. The list below is presented as a rough guide.
One optional weapon letter for weapon overlays
- A: Axe
- B: Bow
- C: Club
- D: Dagger
- F: Flail
- H: Halberd
- M: Mace
- Q: Quarterstaff
- S: Sword
- W: Warhammer
Actions:
- GU- Get up (switches to the SC/SD sequence)
- SD - Stand
- SC - Stance (ready for attack)
- GH - Get hit (switches to the SC/DE sequence)
- DE - Die (switches to the TW sequence)
- TW - Twitch (dead, still images most of the time). Played till the last frame, then freezes.
- SP - Spell (After an arbitary number of loops, switches to CA)
- CA - Cast (Ending sequence of spell casting) (switches to SC/SD)
- SL - Sleep. Played till the last frame then freezes (May switch to the GU sequence).
- WK - Walk
- A1 - Attack
- A2 - Attack
- A3 - Attack
- A4 - Attack (ranged)
Convention:
[Animation ID][(optional) Single-letter weapon ID][Sequence ID][(optional) E for +180 - +360 degrees]
Example: The armored skeleton animation MSKAAGU.BAM (battle axe, Get Up), MSKAMA1.BAM (morning star, attack-slash).
Additional notes
More information is available by examining the animation slot used in IWD.
The first character of the slot indicates whether the monster has layered weapons or not. Possible values:
- E - Non-Layered: Monsters have weapons built into their animation.
- F - Layered: Monster weapons are drawn in by the game.
The second and third characters are arbitrary designations ranging from 0-F. The second conventionally is class and the third species. In Icewind Dale, 'class' was broken down into relative size of the creature, or whether the creature was undead.
The fourth character is comprised of a bitfield which defines the types of attacks the animation contains. All animations have attack 1, and the bits indicate whether additional animations are available eith one bit each for attack 2, attack 3, ranged attack (attack 4), and spell casting:
Hex | Bitfield | Description |
0 | 0000 | Attack 1 |
1 | 0001 | Attack 1, spell casting |
2 | 0010 | Attack 1, ranged |
3 | 0011 | Attack 1, ranged, spell casting |
4 | 0100 | Attack 1, Attack 3 |
5 | 0101 | Attack 1, Attack 3, spell casting |
6 | 0110 | Attack 1, Attack 3, ranged |
7 | 0111 | Attack 1, Attack 3, ranged, spell casting |
8 | 1000 | Attack 1, Attack 2 |
9 | 1001 | Attack 1, Attack 2, spell casting |
A | 1010 | Attack 1, Attack 2, ranged |
B | 1011 | Attack 1, Attack 2, ranged, spell casting |
C | 1100 | Attack 1, Attack 2, Attack 3 |
D | 1101 | Attack 1, Attack 2, Attack 3, spell casting |
E | 1110 | Attack 1, Attack 2, Attack 3, ranged |
F | 1111 | Attack 1, Attack 2, Attack 3, ranged, spell casting |
Some examples:
- F308 - MFGI, Fire Giant – Layered, class 3, species 0, two attacks (attack 1 and 2).
- E412 - MGO2, Goblin w/bow – Non-layered, class 4, species 1, two attacks (attack 1 and ranged)
- E771 - MBA4, Barbarian Shaman – Non-layered, class 7, species 7, one attack, spell casting
These animations have [E] files for eastern orientations. There are only 8 orientations of which 5 are in the first file, 3 are in the second file. Both files have the full 8 orientation slots, but only 5/3 are useful.
Convention:
[Animation ID][(optional) Single-letter weapon ID]Gn[(optional) E for +180 - +360 degrees]
Example: The sirine animation MSIRG1.BAM (unarmed/creature, "left" animation), MSIRBG1E.BAM (bow, "right" animation).
These have no secondary files for mirrors. There are 9 orientations for each action, the 7 eastern orientations are generated. All animations are 'G<number>'
Actions:
- G1 = Stand combat? (sequences 10-18, min 16 frames)
- G11 = Walk (sequences 1-9, min 8 frames)
- G12 = Stand Peaceful?
- G13 = Hit?
- G14 = Hit?
- G15 = Twitch (dead)
- G2 = Attack
- G21 = Attack
- G22 = Attack
- G23 = Ranged Attack?
- G24 = Same as G23
- G25 = Casting? Build-up of Spell?
- G26 = Release Spell?
Convention:
[AnimationID]Gn[(optional) Digit)][(optional) Two-letter weapon ID]
Example: The rakshasa animation MRAKG2.BAM (unarmed/creature), MRAKG2CB.BAM (crossbow).
There are also minor sub-types for birds/cow/carrion crawler/dragons etc.
Similar to the IWD style, there is a separate file for each action.
Actions:
- AT1 = Attack
- AT2 = Attack, etc.
- C2S = Combat to stand (put weapons away)
- C2C = Stand to comabt (draw weapons)
- CF1 = Random Standing thing (Combat)
- DFB = Die (sleep)
- HIT = Could it be hit?
- RUN = Run
- WLK = Walk
- TK1 = Talk
- TK2 = Talk, etc.
- STC = Stand in Combat
- STD = Stand in Peace
- SF1 = Random standing thing (peace)
- GUP = Get up
- SP1 = Spell casting
- SP2 = Spell casting
- yyy = Designation (e.g. ann = Annah, noa = Nameless One Axe, dkk = Dak'kon)
Some animations are missing SC sequences, these animations look relaxed even in combat (e.g. Morte). Some animations are missing SD sequences, these animations seem always agitated (e.g. Nupperibo). Some animations have special cycles (e.g. Fidgets).
Convention:
[C/D][Action][Prefix][B]
These animations have no [E] files for eastern orientations. There are 9 orientations for each action, the 7 eastern orientations are generated by code. Melee animations are 'A<number>', CA-cast, 'SX'-xbow shot, 'SS'-sling, 'SA'-bow. Weapon overlays are in separate files.
Convention:
[C/D][Animation ID] xxxx
Character animation BAMS use a standard naming system. Each BAM is given an 7 character filename, corresponding to the contents of the BAM. This system is described below.
Character 1 | Character 2 | Character 3 | Character 4 | Character 5 | Character 6 | Character 7 |
Irrelevant | Race | Gender | Class | Armor | Action | Detail |
D: Dwarf/Gnome H: Human E: (Half) Elf I: Halfling O : Half-Orc |
F: Female M: Male |
C: Cleric F: Fighter/Ranger/Paladin M: Monk T: Thief/Bard W: Mage B: ? |
1: None 2: Leather 3: Robe 4: Platemail/Mail |
A: Attack C: Cast G: Misc. S: Shooting W: Walking |
Char 6 = A 1: 1-handed overhead
Char 6 = S2: 2-handed overhead 3: 1-handed backslash 4: 2-handed backslash 5: 1-handed thrust 6: 2-handed thrust <empty> = bow x: crossbow |
If there is an E in the end of the file, it means that it's the missing part of the file without an E.
Example: CIMT1CA:
Male halfling with no armor is casting a spell.
Example: CHMF4A5:
Male human fighter with plate male attacking with a dagger
Weapon
Weapon animations are named in the following format: WxsAAnn
W = All weapons animations begin with W
x = Unknown, player or monster?
s = Size (S = small, M = Medium, L = Large, H = Huge)
AA = Item name (as in the itm header animation field)
nn = Action (as sequence field, above)
PLT Files
The paperdoll image (PLT file) for an animation is named after the animation name (anisnd.ids), a number representing the armor state, then 'inv', hence mber1inv for a bear paperdoll.