ARE file format
Applies to:
BG1, BG1: TotS, BG2, BG2: ToB, PST, IWD, IWD:HoW, IWD:TotL, BGEE
Area overview
An area in the Infinity Engine is made up of several files; ARE, TIS, WED, MOS, BMP and, depending on the complexity of the area, references to BCS, CRE, ITM, BAM and ACM files. The role of each file type is outlined below, based on area AR0001 and standard naming conventions:
- AR0001.TIS contains the area graphics
- AR0001.WED contains the area region information (wall groups, alternate tiles, doors etc.)
- AR0001.MOS contains the area minimap graphics (unused in BGEE)
- AR0001.ARE contains the area definition (area type, animations, containers etc.)
- AR0001SR.BMP contains the area search map
- AR0001LM.BMP contains the area light map
- AR0001HT.BMP contains the area height map
- AR0001.BCS contains the area script
General Description
The ARE file format describes the content of an area (rather than its visual representation). ARE files contain the list of actors, items, entrances and exits, spawn points and other area-associated info. The ARE file may contain references to other files, e.g. the list of items in a container is stored in the ARE file, however the files themselves are not embedded in the ARE file.
Detailed Description
Overall structure
Note: The ARE file is made of several sections. The order of these sections can vary; this is allowed for in the file format. The sections are presented in the order in which they are referenced in the header.
Note: The ARE file is made of several sections. The order of these sections can vary; this is allowed for in the file format. The sections are presented in the order in which they are referenced in the header.
- File header
- Actors
- Regions
- Spawn points
- Entrances
- Containers
- Items
- Vertices
- Ambients
- Variables
- "Explored" bitmask
- Doors
- Animations
- Automap notes
- Tiled objects
- Projectile traps (BG2)
- Song entries
- Rest Interruptions
Offset | Size (data type) | Description |
---|---|---|
0x0000 | 4 (char array) | Signature ('AREA') |
0x0004 | 4 (char array) | Version ('V1.0') |
0x0008 | 8 (resref) | Area WED |
0x0010 | 4 (dword) | Last saved (seconds, real time) |
0x0014 | 4 (dword) | Area flags (AREAFLAG.IDS) BG1:TotS, IWD:ToTL, BG2:ToB:
|
0x0018 | 8 (resref) | Resref of the area to the North of this area |
0x0020 | 4 (dword) | North area flags
|
0x0024 | 8 (resref) | Resref of the area to the East of this area |
0x002c | 4 (dword) | East area flags
|
0x0030 | 8 (resref) | Resref of the area to the South of this area |
0x0038 | 4 (dword) | South area flags
|
0x003c | 8 (resref) | Resref of the area to the West of this area |
0x0044 | 4 (dword) | West area flags
|
0x0048 | 2 (word) | Area type flags (AREATYPE.IDS) BG1:TotS, IWD:ToTL, BG2:ToB, BGEE:
|
0x004a | 2 (word) | Rain probability |
0x004c | 2 (word) | Snow probability |
0x004e | 2 (word) | Fog probability (BGEE only) |
0x0050 | 2 (word) | Lightning probability |
0x0052 | 2 (word) | BG1:TotS, IWD:ToTL, BG2:ToB: Wind speed (unused?) BGEE: Overlay transparency (only first byte) |
0x0054 | 4 (dword) | Offset to actors |
0x0058 | 2 (word) | Count of actors |
0x005a | 2 (word) | Count of regions |
0x005c | 4 (dword) | Offset to regions |
0x0060 | 4 (dword) | Offset to spawn points |
0x0064 | 4 (dword) | Count of spawn points |
0x0068 | 4 (dword) | Offset to entrances |
0x006c | 4 (dword) | Count of entrances |
0x0070 | 4 (dword) | Offset to containers |
0x0074 | 2 (word) | Count of containers |
0x0076 | 2 (word) | Count of items |
0x0078 | 4 (dword) | Offset to items |
0x007c | 4 (dword) | Offset to vertices |
0x0080 | 2 (word) | Count of vertices |
0x0082 | 2 (word) | Count of ambients |
0x0084 | 4 (dword) | Offset to ambients |
0x0088 | 4 (dword) | Offset to variables |
0x008c | 4 (dword) | Count of variables |
0x0090 | 2 (word) | Offset to tiled object flags |
0x0092 | 2 (word) | Count of tiled object flags |
0x0094 | 8 (resref) | Area script |
0x009c | 4 (dword) | Size of explored bitmask |
0x00a0 | 4 (dword) | Offset to explored bitmask |
0x00a4 | 4 (dword) | Count of doors |
0x00a8 | 4 (dword) | Offset to doors |
0x00ac | 4 (dword) | Count of animations |
0x00b0 | 4 (dword) | Offset to animation |
0x00b4 | 4 (dword) | Count of tiled objects |
0x00b8 | 4 (dword) | Offset to tiled objects |
0x00bc | 4 (dword) | Offset to song entries |
0x00c0 | 4 (dword) | Offset to rest interruptions |
0x00c4 | 4 (dword) | PST: 0xFFFFFFFF Other: Offset of the automap note section |
0x00c8 | 4 (dword) | PST: Offset of the automap note section Other: Number of entries in the automap note section |
0x00cc | 4 (dword) | PST: Number of entries in the automap note section Other: Offset to the projectile traps section |
0x00d0 | 4 (dword) | Number of entries in the projectile traps section |
0x00d4 | 8 (resref) | BG2: ToB, BGEE - Rest movie (day) Others - Unknown |
0x00dc | 8 (resref) | BG2: ToB, BGEE - Rest movie (night) Others - Unknown |
0x00e4 | 56 (bytes) | Unused |
This section is 0x110 bytes in length.
Offset | Size (data type | Description |
---|---|---|
0x0000 | 32 (char array) | Name |
0x0020 | 2 (word) | Current X coordinate |
0x0022 | 2 (word) | Current Y coordinate |
0x0024 | 2 (word) | Destination X coordinate |
0x0026 | 2 (word) | Destination Y coordinate |
0x0028 | 4 (dword) | Flags
|
0x002c | 2 (word) |
Is random monster
|
0x002e | 1 (byte) | First letter of CRE resref (changed to *) |
0x002f | 1 (byte) | Unused |
0x0030 | 4 (dword) | Actor animation |
0x0034 | 2 (word) | Actor orientation |
0x0036 | 2 (word) | Unused |
0x0038 | 4 (dword) | Actor removal timer (seconds) (usu. -1 to avoid removal) |
0x003c | 2 (word) | Movement restriction distance |
0x003e | 2 (word) | Movement restriction distance (move to object) |
0x0040 | 4 (dword) | Actor appearence schedule. Bits 0-23 each represent an hour of game time. Setting a bit means the actor will appear in the area for the corresponding hour. Hours are offset by 30 minutes as follows:
bit 23 = 23:30 to 00:29
bit 22 = 22:30 to 23:29 bit 21 = 21:30 to 22:29 (Night) bit 20 = 20:30 to 21:29 (Dusk) bit 19 = 19:30 to 20:29 bit 18 = 18:30 to 19:29 bit 17 = 17:30 to 18:29 bit 16 = 16:30 to 17:29 bit 15 = 15:30 to 16:29 bit 14 = 14:30 to 15:29 bit 13 = 13:30 to 14:29 bit 12 = 12:30 to 13:29 bit 11 = 11:30 to 12:29 bit 10 = 10:30 to 11:29 bit 9 = 09:30 to 10:29 bit 8 = 08:30 to 09:29 bit 7 = 07:30 to 08:29 bit 6 = 06:30 to 07:29 (Day) bit 5 = 05:30 to 06:29 (Dawn) bit 4 = 04:30 to 05:29 bit 3 = 03:30 to 04:29 bit 2 = 02:30 to 03:29 bit 1 = 01:30 to 02:29 bit 0 = 00:30 to 01:29 |
0x0044 | 4 (dword) | NumTimesTalkedTo (in SAV files) |
0x0048 | 8 (resref) | Dialog |
0x0050 | 8 (resref) | Script (Override) |
0x0058 | 8 (resref) | Script (General) |
0x0060 | 8 (resref) | Script (Class) |
0x0068 | 8 (resref) | Script (Race) |
0x0070 | 8 (resref) | Script (Default) |
0x0078 | 8 (resref) | Script (Specific) |
0x0080 | 8 (resref) | CRE file |
0x0088 | 4 (dword) | Offset to CRE structure (for embedded CRE files) |
0x008c | 4 (dword) | Size of stored CRE structure |
0x0090 | 128 (bytes) | Unused |
Regions have previously been known as "Info points", this is the name the Bioware editors assigned to these structure types by default.
This section is 0xC4h bytes in length.
Offset | Size (data type) | Description |
---|---|---|
0x0000 | 32 (char array) | Name |
0x0020 | 2 (word) | Region type
|
0x0022 | 8 (rect) | Minimum bounding box of this point |
0x002a | 2 (word) | Count of vertices composing the perimeter of this region |
0x002c | 4 (dword) | Index of first vertex for this region |
0x0030 | 4 (dword) | Trigger value |
0x0034 | 4 (dword) | Cursor index (cursors.bam) |
0x0038 | 8 (resref) | Destination area (for travel regions) |
0x0040 | 32 (char array) | Entrance name in destination area (for travel regions) |
0x0060 | 4 (dword) | Flags
|
0x0064 | 4 (strref) | Information text (for info points) |
0x0068 | 2 (word) | Trap detection difficulty (%). N.B. A value of 100 or higher will prevent the trap from being detected (e.g. via thief skills, Find Traps effect). |
0x006a | 2 (word) | Trap removal difficulty (%) |
0x006c | 2 (word) | Region is trapped (0=No, 1=Yes) |
0x006e | 2 (word) | Trap detected (0=No, 1=Yes) |
0x0070 | 4 (point) | Trap launch location |
0x0074 | 8 (resref) | Key item |
0x007c | 8 (resref) | Region script |
0x0084 | 2 (word) | Alternative use point X coordinate |
0x0086 | 2 (word) | Alternative use point Y coordinate |
0x0088 | 4 (dword) | Unknown |
0x008c | 32 (bytes) | Unknown |
0x00ac | 8 (resref) | Sound (PST, PSTEE) |
0x00b4 | 2 (word) | Talk location point X coordinate (PST, PSTEE) |
0x00b6 | 2 (word) | Talk location point Y coordinate (PST, PSTEE) |
0x00b8 | 4 (strref) | Speaker name (PST, PSTEE) |
0x00bc | 8 (resref) | Dialog file (PST, PSTEE) |
This section is 0xC8 bytes in length.
Offset | Size (data type) | Description |
---|---|---|
0x0000 | 32 (char array) | Name |
0x0020 | 2 (word) | X coordinate |
0x0022 | 2 (word) | Y coordinate |
0x0024 | 8 (resref) | 1st resref of creature to spawn |
0x002c | 8 (resref) | 2nd resref of creature to spawn |
0x0034 | 8 (resref) | 3rd resref of creature to spawn |
0x003c | 8 (resref) | 4th resref of creature to spawn |
0x0044 | 8 (resref) | 5th resref of creature to spawn |
0x004c | 8 (resref) | 6th resref of creature to spawn |
0x0054 | 8 (resref) | 7th resref of creature to spawn |
0x005c | 8 (resref) | 8th resref of creature to spawn |
0x0064 | 8 (resref) | 9th resref of creature to spawn |
0x006c | 8 (resref) | 10th resref of creature to spawn |
0x0074 | 2 (word) | Count of spawn creatures |
0x0076 | 2 (word) | Base creature number to spawn. The actual number to spawn is given by:
(Frequency * Average Party Level) / Creature Power
With results rounded down.
|
0x0078 | 2 (word) | Frequency - i.e. seconds between spawning |
0x007a | 2 (word) | Spawn method
|
0x007c | 4 (dword) | Actor removal timer (seconds) (usu. -1 to avoid removal) |
0x0080 | 2 (word) | Movement restriction distance |
0x0082 | 2 (word) | Movement restriction distance (move to object) |
0x0084 | 2 (word) | Maximum creatures to spawn |
0x0086 | 2 (word) | Spawn point enabled (0=Inactive, 1=Active) |
0x0088 | 4 (dword) | Spawn point appearence schedule. Bits 0-23 each represent an hour of game time. Setting a bit means the spawn point will be active in the area for the corresponding hour. Hours are offset by 30 minutes as follows:
bit 23 = 23:30 to 00:29
bit 22 = 22:30 to 23:29 bit 21 = 21:30 to 22:29 (Night) bit 20 = 20:30 to 21:29 (Dusk) bit 19 = 19:30 to 20:29 bit 18 = 18:30 to 19:29 bit 17 = 17:30 to 18:29 bit 16 = 16:30 to 17:29 bit 15 = 15:30 to 16:29 bit 14 = 14:30 to 15:29 bit 13 = 13:30 to 14:29 bit 12 = 12:30 to 13:29 bit 11 = 11:30 to 12:29 bit 10 = 10:30 to 11:29 bit 9 = 09:30 to 10:29 bit 8 = 08:30 to 09:29 bit 7 = 07:30 to 08:29 bit 6 = 06:30 to 07:29 (Day) bit 5 = 05:30 to 06:29 (Dawn) bit 4 = 04:30 to 05:29 bit 3 = 03:30 to 04:29 bit 2 = 02:30 to 03:29 bit 1 = 01:30 to 02:29 bit 0 = 00:30 to 01:29 |
0x008c | 2 (word) | Probability (day) |
0x008e | 2 (word) | Probability (night) |
The following field applies only to BG1, BG2, PST and IWD: | ||
0x0090 | 56 (bytes) | Unused |
The following fields apply only to BGEE: | ||
0x0090 | 4 (dword) | Spawn frequency |
0x0094 | 4 (dword) | Countdown |
0x0098 | 1 (byte) | Spawn weight of 1st creature slot (see offset 0x0024) |
0x0099 | 1 (byte) | Spawn weight of 2nd creature slot (see offset 0x002c) |
0x009a | 1 (byte) | Spawn weight of 3rd creature slot (see offset 0x0034) |
0x009b | 1 (byte) | Spawn weight of 4th creature slot (see offset 0x003c) |
0x009c | 1 (byte) | Spawn weight of 5th creature slot (see offset 0x0044) |
0x009d | 1 (byte) | Spawn weight of 6th creature slot (see offset 0x004c) |
0x009e | 1 (byte) | Spawn weight of 7th creature slot (see offset 0x0054) |
0x009f | 1 (byte) | Spawn weight of 8th creature slot (see offset 0x005c) |
0x00a0 | 1 (byte) | Spawn weight of 9th creature slot (see offset 0x0064) |
0x00a1 | 1 (byte) | Spawn weight of 10th creature slot (see offset 0x006c) |
0x00a2 | 38 (bytes) | Unused |
Offset | Size (data type) | Description |
---|---|---|
0x0000 | 32 (char array) | Name |
0x0020 | 2 (word) | X coordinate |
0x0022 | 2 (word) | Y coordinate |
0x0024 | 2 (word) | Orientation |
0x0026 | 66 (bytes) | Unused |
Offset | Size (data type) | Description |
---|---|---|
0x0000 | 32 (char array) | Name Note: If the name starts with T2 a 2da file with the same name is loaded and all the items in there are added to the container. |
0x0020 | 2 (word) | X coordinate |
0x0022 | 2 (word) | Y coordinate |
0x0024 | 2 (word) | Container type
|
0x0026 | 2 (word) | Lock difficulty (0 - 100) |
0x0028 | 4 (dword) | Flags
|
0x002c | 2 (word) | Trap detection difficulty (0 - 100) |
0x002e | 2 (word) | Trap removal difficulty (0 - 100) |
0x0030 | 2 (word) | Container is trapped (0=No, 1=Yes) |
0x0032 | 2 (word) | Trap detected (0=No, 1=Yes) |
0x0034 | 2 (word) | Trap launch x coordinate |
0x0036 | 2 (word) | Trap launch Y coordinate |
0x0038 | 2 (word) | Bounding box of container polygon (left) |
0x0038 | 2 (word) | Bounding box of container polygon (top) |
0x0038 | 2 (word) | Bounding box of container polygon (right) |
0x0038 | 2 (word) | Bounding box of container polygon (bottom) |
0x0040 | 4 (dword) | Index of first item in this container |
0x0044 | 4 (dword) | Count of items in this container |
0x0048 | 8 (resref) | Trap script |
0x0050 | 4 (dword) | Index of first vertex making up the outline of this container |
0x0054 | 2 (word) | Count of vertices making up the outline of this container |
0x0056 | 2 (word) | Trigger range |
0x0058 | 32 (bytes) | Owner (script name) |
0x0078 | 8 (resref) | Key item |
0x0080 | 4 (dword) | Break difficulty |
0x0084 | 4 (strref) | Lockpick string |
0x0088 | 56 (bytes) | Unused |
Offset | Size (data type) | Description |
---|---|---|
0x0000 | 8 (resref) | Item resref |
0x0008 | 2 (word) | Item expiration time (replace with drained item) |
0x000a | 2 (word) | Quantity/Charges 1 |
0x000c | 2 (word) | Quantity/Charges 2 |
0x000e | 2 (word) | Quantity/Charges 3 |
0x0010 | 4 (dword) | Flags
|
An array of points used to create the outlines of regions and containers. Elements are 16-bit words stored x0, y0, x1, y1 etc.
Offset | Size (data type) | Description |
---|---|---|
0x0000 | 32 (char array) | Name |
0x0020 | 2 (word) | X coordinate |
0x0022 | 2 (word) | Y coordinate |
0x0024 | 2 (word) | Radius |
0x0026 | 2 (bytes) | Height |
0x0028 | 4 (dword) | Pitch variance |
0x002c | 2 (word) | Volume variance |
0x002e | 2 (word) | Volume (%) |
0x0030 | 8 (resref) | Resref of sound |
0x0038 | 8 (resref) | Resref of sound |
0x0040 | 8 (resref) | Resref of sound |
0x0048 | 8 (resref) | Resref of sound |
0x0050 | 8 (resref) | Resref of sound |
0x0058 | 8 (resref) | Resref of sound |
0x0060 | 8 (resref) | Resref of sound |
0x0068 | 8 (resref) | Resref of sound |
0x0070 | 8 (resref) | Resref of sound |
0x0078 | 8 (resref) | Resref of sound |
0x0080 | 2 (word) | Count of sounds |
0x0082 | 2 (word) | Unused |
0x0084 | 4 (dword) | Base time (seconds) between sounds from this ambient list |
0x0088 | 4 (dword) | Base time deviation. Time between the start of consecutive sounds uses a uniform distribution over the range (0x0084 - 0x0088) and (0x0084 + 0x0088). |
0x008c | 4 (dword) | Ambient appearence schedule. Bits 0-23 each represent an hour of game time. Setting a bit means the ambient will appear in the area for the corresponding hour. Hours are offset by 30 minutes as follows:
bit 23 = 23:30 to 00:29
bit 22 = 22:30 to 23:29 bit 21 = 21:30 to 22:29 (Night) bit 20 = 20:30 to 21:29 (Dusk) bit 19 = 19:30 to 20:29 bit 18 = 18:30 to 19:29 bit 17 = 17:30 to 18:29 bit 16 = 16:30 to 17:29 bit 15 = 15:30 to 16:29 bit 14 = 14:30 to 15:29 bit 13 = 13:30 to 14:29 bit 12 = 12:30 to 13:29 bit 11 = 11:30 to 12:29 bit 10 = 10:30 to 11:29 bit 9 = 09:30 to 10:29 bit 8 = 08:30 to 09:29 bit 7 = 07:30 to 08:29 bit 6 = 06:30 to 07:29 (Day) bit 5 = 05:30 to 06:29 (Dawn) bit 4 = 04:30 to 05:29 bit 3 = 03:30 to 04:29 bit 2 = 02:30 to 03:29 bit 1 = 01:30 to 02:29 bit 0 = 00:30 to 01:29 |
0x0090 | 4 (dword) | Flags
|
0x0094 | 64 (bytes) | Unused |
Variables can be associated with an area by specifying the six character area name as the variable namespace (e.g. AR1000). Variables associated with an area in this way are stored in the ARE file, in this section (in save games). Note the format specification allows variables of differing types, however the engine implementation only reads and writes INT variables.
Offset | Size (data type) | Description |
---|---|---|
0x0000 | 32 (char array) | Variable name |
0x0020 | 2 (type) | Type
|
0x0022 | 2 (word) | Resource type |
0x0024 | 4 (dword) | Dword value |
0x0028 | 4 (dword) | Int value |
0x002c | 8 (double) | Double value |
0x0030 | 32 (char array) | Script name value |
The explored bitmask is an array of bits, one bit for each 16x16 pixel cell on the map. A bit is set if the cell has been explored and clear if the cell has not been explored.
Doors in an ARE file are the "door" objects that the user interacts with, to be distinguished from the "door" objects in the WED file. The WED file deals with how the opening and closing of a door changes the appearance of the world. A door in an AREA file details what happens when the user tries to open the door - what polygon the mouse must be inside of in order for mouse clicks to affect the door in question. The two types of door objects are linked through the ID field in each - the 8-byte character array at 0x20.
Offset | Size (data type) | Description |
---|---|---|
0x0000 | 32 (char array) | Name |
0x0020 | 8 (char array) | Door ID (to link with WED) |
0x0028 | 4 (dword) | Flags
|
0x002c | 4 (dword) | Index of first vertex comprising the door outline (when open) |
0x0030 | 2 (word) | Count of vertices comprising the door outline (when open) |
0x0032 | 2 (word) | Count of vertices comprising the door outline (when closed) |
0x0034 | 4 (dword) | Index of first vertex comprising the door outline (when closed) |
0x0038 | 8 (rect) | Minimum bounding box of the door polygon (when open) |
0x0040 | 8 (rect) | Minimum bounding box of the door polygon (when closed) |
0x0048 | 4 (dword) | Index of first "vertex" in the impeded cell block (when open). These entries are x.y coordinates in the area search map. When the door is open, these cells cannot be entered by any object. |
0x004c | 2 (word) | Count of "vertices" in impeded cell block (when open) |
0x004e | 2 (word) | Count of "vertices" in impeded cell block (when closed) |
0x0050 | 4 (dword) | Index of first "vertex" in the impeded cell block (when closed). These entries are x.y coordinates in the area search map. When the door is closed, these cells cannot be entered by any object. |
0x0054 | 2 (word) | Hit points |
0x0056 | 2 (word) | Armor class |
0x0058 | 8 (resref) | Door open sound |
0x0060 | 8 (resref) | Door close sound |
0x0068 | 4 (dword) | Cursor index (cursors.bam) |
0x006c | 2 (word) | Trap detection difficulty |
0x006e | 2 (word) | Trap removal difficulty |
0x0070 | 2 (word) | Door is trapped (0=No, 1=Yes) |
0x0072 | 2 (word) | Trap detected (0=No, 1=Yes) |
0x0074 | 2 (word) | Trap launch target X coordinate |
0x0076 | 2 (word) | Trap launch target Y coordinate |
0x0078 | 8 (resref) | Key item |
0x0080 | 8 (resref) | Door script |
0x0088 | 4 (dword) | Detection difficulty (secret doors) |
0x008c | 4 (dword) | Lock difficulty (0-100) |
0x0090 | 8 (rect) | Two points. The player will move to the closest of these to toggle the door state. |
0x0098 | 4 (strref) | Lockpick string |
0x009c | 24 (bytes) | Travel trigger name |
0x00b4 | 4 (strref) | Dialog speaker name |
0x00b8 | 8 (resref) | Dialog resref |
0x00c0 | 8 (bytes) | Unknown |
Offset | Size (data type) | Description |
---|---|---|
0x0000 | 32 (char array) | Name |
0x0020 | 2 (word) | X coordinate |
0x0022 | 2 (word) | Y coordinate |
0x0024 | 4 (dword) | Animation appearence schedule. Bits 0-23 each represent an hour of game time. Setting a bit means the animation will appear in the area for the corresponding hour. Hours are offset by 30 minutes as follows:
bit 23 = 23:30 to 00:29
bit 22 = 22:30 to 23:29 bit 21 = 21:30 to 22:29 (Night) bit 20 = 20:30 to 21:29 (Dusk) bit 19 = 19:30 to 20:29 bit 18 = 18:30 to 19:29 bit 17 = 17:30 to 18:29 bit 16 = 16:30 to 17:29 bit 15 = 15:30 to 16:29 bit 14 = 14:30 to 15:29 bit 13 = 13:30 to 14:29 bit 12 = 12:30 to 13:29 bit 11 = 11:30 to 12:29 bit 10 = 10:30 to 11:29 bit 9 = 09:30 to 10:29 bit 8 = 08:30 to 09:29 bit 7 = 07:30 to 08:29 bit 6 = 06:30 to 07:29 (Day) bit 5 = 05:30 to 06:29 (Dawn) bit 4 = 04:30 to 05:29 bit 3 = 03:30 to 04:29 bit 2 = 02:30 to 03:29 bit 1 = 01:30 to 02:29 bit 0 = 00:30 to 01:29 |
0x0028 | 8 (resref) | Animation resref (BGEE: BAM/WBM/PVRZ, Others: BAM) |
0x0030 | 2 (word) | BAM sequence number |
0x0032 | 2 (word) | BAM frame number |
0x0034 | 4 (dword) | Flags
|
0x0038 | 2 (word) | Height (affects wall covering) |
0x003a | 2 (word) | Transparency (0xFF is invisible) |
0x003c | 2 (word) | Starting frame (0 indicates random frame. Synchronized will clear this) |
0x003e | 1 (byte) | Chance of looping (0 defaults to 100) |
0x003f | 1 (byte) | Skip cycles |
0x0040 | 8 (resref) | Palette |
0x0048 | 2 (word) | Animation width (BGEE) Note: Only required for WBM and PVRZ resources (see Flags bit 13/15) |
0x004a | 2 (word) | Animation height (BGEE) Note: Only required for WBM and PVRZ resources (see Flags bit 13/15) |
These are textual notes which are entered either automatically (PST) or by the player (BG1, BG2, IWD). Section size : 34h bytes.
Offset | Size (data type) | Description |
---|---|---|
0x0000 | 2 (word) | X coordinate |
0x0002 | 2 (word) | Y coordinate |
0x0004 | 4 (strref) | Note text (dialog.tlk or TOH/TOT file) |
0x0008 | 2 (word) | Strref location (0=External (TOH/TOT), 1=Internal (TLK) |
0x000a | 2 (word) | (BG2) Colour of automap marker:
|
0x000c | 4 (dword) | Note count + 10 |
0x0010 | 36 (bytes) | Unused |
For PST:
Offset | Size (data type) | Description |
---|---|---|
0x0000 | 4 (dword) | X coordinate |
0x0004 | 4 (dword) | Y coordinate |
0x0008 | 500 (ASCII) | Text |
0x01fc | 4 (dword) | Note colour (0 = Blue user note, 1 = Red game note) |
0x0200 | 5 * 4 (dword) | Unknown |
Offset | Size (data type) | Description |
---|---|---|
0x0000 | 32 (char array) | Name |
0x0020 | 8 (resref) | Tile Id |
0x0028 | 4 (dword) | Flags
|
0x002c | 4 (dword) | Offset to open search squares |
0x0030 | 2 (word) | Count of open search squares |
0x0034 | 2 (word) | Count of closed search squares |
0x0038 | 4 (dword) | Offset to closed search squares |
0x003c | 48 (bytes) | Unused |
This section stores information on saved projectiles (e.g. Skull Trap).
This section is 0x1C bytes in length.
Offset | Size (data type) | Description |
---|---|---|
0x0000 | 8 (resref) | Projectile resref |
0x0008 | 4 (dword) | Effect block offset |
0x000c | 2 (word) | Effect block size |
0x000e | 2 (word) | Missile.ids reference (projectl.ids - 1) |
0x0010 | 2 (word) | Ticks until next trigger check |
0x0010 | 2 (word) | Triggers remaining (i.e explosion count) |
0x0014 | 2 (word) | X coordinate |
0x0016 | 2 (word) | Y coordinate |
0x0018 | 2 (word) | Z coordinate |
0x001A | 1 (byte) | Enemy-ally targetting |
0x001B | 1 (byte) | Party member index that created this projectile (0-5) |
V1.0 Song entries
This sections determines which ACM files are played in certain situations. The length of this section is 90h bytes. The numbers are from songlist.2da if it exists (musiclis.ids in iwd, songs.ids in pst). As the name suggests, 0 is used to stop playing music. -1 makes the game look up the song header entry from the last visited master area. -2 makes the game use the day or night entry, depending on the time of the day, and thus only makes sense as a value for entries other than the first two.
Offset | Size (data type) | Description |
---|---|---|
0x0000 | 4 (dword) | Day song reference number |
0x0004 | 4 (dword) | Night song reference number |
0x0008 | 4 (dword) | Win song reference number |
0x000c | 4 (dword) | Battle song reference number |
0x0010 | 4 (dword) | Lose song reference number |
0x0014 | 4 (dword) | Alt music 1 |
0x0018 | 4 (dword) | Alt music 2 |
0x001c | 4 (dword) | Alt music 3 |
0x0020 | 4 (dword) | Alt music 4 |
0x0024 | 4 (dword) | Alt music 5 |
0x0028 | 8 (resref) | Main day ambient 1 (WAV) |
0x0030 | 8 (resref) | Main day ambient 2 (WAV) |
0x0038 | 4 (dword) | Main day ambient volume % |
0x003c | 8 (resref) | Main night ambient 1 (WAV) |
0x0044 | 8 (resref) | Main night ambient 2 (WAV) |
0x004c | 4 (dword) | Main night ambient volume % |
0x0050 | 4 (dword) | If REVERB.IDS exists: Reverb from REVERB.IDS If REVERB.2DA exists: Reverb from REVERB.2DA Otherwise unused. |
0x0054 | 60 (bytes) | Unused |
V1.0 Rest Interruptions
This section determines the creatures that interupt party resting (e.g. soldiers in Athkatla that prevent rest when inside the city).
The section is E4h bytes in length.
Offset | Size (data type) | Description |
---|---|---|
0x0000 | 32 (bytes) | Name |
0x0020 | 4x10 (dword) | Interruption explantion text |
0x0048 | 8x10 (resref) | Resref of creature to spawn |
0x0098 | 2 (word) | Count of creatures in spawn table |
0x009a | 2 (word) | Difficulty If Party Level * Difficulty > Totalled Creature Power then spawn |
0x009c | 4 (dword) | Removal time |
0x00a0 | 2 (word) | Movement restriction distance |
0x00a2 | 2 (word) | Movement restriction distance (move to object) |
0x00a4 | 2 (word) | Maximum number of creatures to spawn |
0x00a6 | 2 (word) | Interruption point enabled (0=Inactive, 1=Active) |
0x00a8 | 2 (word) | Probability (day) per hour |
0x00aa | 2 (word) | Probability (night) per hour |
0x00ac | 56 (bytes) | Unused |