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.


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:
  • bit 0: Save not allowed
  • bit 1: Tutorial area (not BG1)
  • bit 2: Dead magic zone
  • bit 3: Dream
BGEE:
  • bit 0: Save not allowed
  • bit 1: Tutorial area
  • bit 2: Dead magic zone
  • bit 3: Dream
  • bit 4: Player1 death does not end the game
  • bit 5: Resting not allowed
  • bit 6: Travel not allowed
PST:
  • bit 0: Save not allowed
  • bit 1: "You cannot rest here."
  • bit 2: "Too dangerous to rest."
  • bit 1+2: "You must obtain permission to rest here."
PSTEE:
  • Bit 0: Save not allowed
  • Bit 1: Reform Party not allowed
  • bit 2: Dead magic zone
  • bit 3: Dream
  • bit 4: Player1 death does not end the game
  • bit 5: Resting not allowed
  • bit 6: Travel not allowed
  • bit 7: "You cannot rest here."
  • bit 8: "Too dangerous to rest."
  • bit 7+8: "You must obtain permission to rest here."
0x0018 8 (resref) Resref of the area to the North of this area
0x0020 4 (dword) North area flags
  • bit 0: Party Required
  • bit 1: Party Enabled
0x0024 8 (resref) Resref of the area to the East of this area
0x002c 4 (dword) East area flags
  • bit 0: Party Required
  • bit 1: Party Enabled
0x0030 8 (resref) Resref of the area to the South of this area
0x0038 4 (dword) South area flags
  • bit 0: Party Required
  • bit 1: Party Enabled
0x003c 8 (resref) Resref of the area to the West of this area
0x0044 4 (dword) West area flags
  • bit 0: Party Required
  • bit 1: Party Enabled
0x0048 2 (word) Area type flags (AREATYPE.IDS)

BG1:TotS, IWD:ToTL, BG2:ToB, BGEE:
  • bit 0: Outdoor
  • bit 1: Day/night
  • bit 2: Weather
  • bit 3: City
  • bit 4: Forest
  • bit 5: Dungeon
  • bit 6: Extended night
  • bit 7: Can rest indoors
PST, PSTEE:
  • Bit 0: Hive
  • Bit 1: Hive night?
  • Bit 2: Clerk's Ward
  • Bit 3: Lower Ward
  • Bit 4: Ravel's Maze
  • Bit 5: Baator
  • Bit 6: Rubikon
  • Bit 7: Fortress of Regrets
  • Bit 8: Curst
  • Bit 9: Carceri
  • Bit 10: Outdoors
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
  • bit 0: CRE attached (0=yes,1=no)
  • bit 1: Has Seen Party
  • bit 2: Invulnerable
  • bit 3: Override script name
0x002c 2 (word) Is random monster
  • 0: No
  • 1: Yes
    • Created by a spawn point or rest interruption.
    • Spawn points with Bit 0 of Spawn method unset attempt to reactivate themselves by unsetting Bit 2 – a creature with this value prevents spawn points in the area from reactivating in this way. Spawn points can still reactivate by time passing.
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
  • 0: Proximity trigger
  • 1: Info point
  • 2: Travel region
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
  • bit 0: Key required
  • bit 1: Reset trap (for proximity triggers)
  • bit 2: Party Required flag (for travel triggers)
  • bit 3: Detectable
  • bit 4: NPC activates
  • bit 5: Active in tutorial area only
  • bit 6: Anyone activates
  • bit 7: No string
  • bit 8: Deactivated (for proximity triggers)
  • bit 9: Party only
  • bit 10: Alternative point
  • bit 11: Door closed
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
  • Bit 0: If Bit 2 is set, don't spawn
  • Bit 1: One-time-spawnpoint (checked for after the spawning, and disables the spawn point if set)
  • Bit 2: Used internally to disable the spawn point temporarily
       Set after a spawning and cleared in two situations:
       (1) after the CompressTime() method for the spawn point is called with a time amount of at least 16 hours
       (2) if Bit 0 is not set and there are no living spawns in the area
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
  • 00: <n/a>
  • 01: Bag
  • 02: Chest
  • 03: Drawer
  • 04: Pile
  • 05: Table
  • 06: Shelf
  • 07: Altar
  • 08: Nonvisible
  • 09: Spellbook
  • 0a: Body
  • 0b: Barrel
  • 0c: Crate
0x0026 2 (word) Lock difficulty (0 - 100)
0x0028 4 (dword) Flags
  • bit 0: Locked
  • bit 1: Disable if no owner
  • bit 2: Magically locked
  • bit 3: Trap resets
  • bit 4: Remove only
  • bit 5: Disabled
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
  • bit 0: Identified
  • bit 1: Unstealable
  • bit 2: Stolen
  • bit 3: Undroppable


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
  • bit 0: (0) Ambient disabled / (1) Ambient enabled
  • bit 1: (0) Enable environmental effects / (1) Disable environmental effects
  • bit 2: (0) Local (uses radius) / (1) Global (ignores radius)
  • bit 3: (0) Sequential ambient selection / (1) Random ambient selection
  • bit 4: Affected by 'Low Mem Sounds 1'
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
  • bit 0: int
  • bit 1: float
  • bit 2: script name
  • bit 3: resref
  • bit 4: strref
  • bit 5: dword
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
  • bit 0: Door open
  • bit 1: Door locked
  • bit 2: Reset trap
  • bit 3: Trap detectable
  • bit 4: Broken
  • bit 5: Can't close
  • bit 6: Linked
  • bit 7: Door Hidden
  • bit 8: Door Found (if hidden)
  • bit 9: Don't block line of sight
  • bit 10: Remove Key (BG2 only)
  • bit 11: Ignore obstacles when closing
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
  • bit 0: (0) Animation disabled / (1) Animation enabled
  • bit 1: (0) Render black as black / (1) Render black as transparent
  • bit 2: (0) Self illumination / (1) Non-self illumination
  • bit 3: (0) Full animation / (1) Partial animation (stops at frame specified at 0x0032)
  • bit 4: (0) Non-synchronized draw / (1) Synchronized draw
  • bit 5: (0) Use 0 start frame / (1) Use random start frame
  • bit 6: (0) Wall hides animation / (1) Wall doesn't hide animation
  • bit 7: (0) Enable on slow machines / (1) Disable on slow machines
  • bit 8: (0) Cover / (1) Not cover
  • bit 9: (0) Don't play all frames / (1) Play all frames
  • bit 10: (0) Don't use palette bitmap / (1) Use palette bitmap
  • bit 11: (0) Not mirrored / (1) Mirrored
  • bit 12: (0) Hide in combat / (1) Show in combat
  • bit 13: Use WBM resref (BGEE)
  • bit 14: Draw stenciled (BGEE)
  • bit 15: Use PVRZ resref (BGEE)
PSTEE:
  • bit 0: (0) Animation disabled / (1) Animation enabled
  • bit 1: Blended
  • bit 2: (0) Self illumination / (1) Non-self illumination
  • bit 3: (0) Full animation / (1) Partial animation (stops at frame specified at 0x0032)
  • bit 4: (0) Non-synchronized draw / (1) Synchronized draw
  • bit 5: (0) Use 0 start frame / (1) Use random start frame
  • bit 6: (0) Wall hides animation / (1) Wall doesn't hide animation
  • bit 7: (0) Enable on slow machines / (1) Disable on slow machines
  • bit 8: Alt. blending mode
  • bit 9: (0) Don't play all frames / (1) Play all frames
  • bit 10: (0) Don't use palette bitmap / (1) Use palette bitmap
  • bit 11: (0) Not mirrored / (1) Mirrored
  • bit 12: (0) Hide in combat / (1) Show in combat
  • bit 13: unused
  • bit 14: unused
  • bit 15: Use PVRZ resref (non-functional)
  • bit 16: (0) Not cover animations / (1) Cover animations
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:
  • 0 - Gray (default value)
  • 1 - Violet
  • 2 - Green
  • 3 - Orange
  • 4 - Red
  • 5 - Blue
  • 6 - Dark Blue
  • 7 - Light Gray
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
  • bit 0: Currently in secondary state
  • bit 1: Can be seen through
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)


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


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