EE Game Structures (x64)¶
- C2 Structures
- CA Structures
- CB Structures
- CC Structures
- CD Structures
- CE Structures
- CF Structures
- CG Structures
- CI Structures
- CK Structures
- CL Structures
- CM Structures
- CN Structures
- CO Structures
- CP Structures
- CR Structures
- CS Structures
- CT Structures
- CU Structures
- CV Structures
- CW Structures
- CZ Structures
- UI Structures
- Other Structures
- File Format Structures
Note
The structures, information and data listed here have been extracted primarily from debug symbol information located in .pdb files and from debugging the EE game executables - using IDA, x64dbg, llvm-pdbutil and other tools. As the primary source of this information is Baldur.pdb
from Baldur’s Gate II: Throne of Bhall Enhanced Edition, please note that some of the information presented may be incorrect when compared to other Enhanced Edition games.
Note
Structures (class and struct definitions) are output using llvm-pdbutil with: llvm-pdbutil pretty -classes -class-definitions=layout -class-order=name baldur.pdb > out.txt
Data Types¶
The following table lists some of the basic standard win32 data-types that may be encountered in the various structures and other data listed in this section.
Type |
Size |
Notes |
BYTE |
1 |
A byte (8 bits). 8-bit unsigned integer. |
WORD |
2 |
16-bit unsigned integer. |
DWORD |
4 |
32-bit unsigned integer. |
QWORD |
8 |
64-bit unsigned integer. |
void |
4 |
Any type |
bool |
1 |
Boolean variable (should be |
char |
1 |
8-bit character (a sequence of chars is denoted with [ |
unsigned char |
1 |
8-bit character (a sequence of chars is denoted with [ |
short |
2 |
16-bit integer. |
unsigned short |
2 |
16-bit integer. |
long |
4 |
32-bit signed integer. |
unsigned long |
4 |
32-bit unsigned integer. |
int |
4 |
32-bit signed integer. |
unsigned int |
4 |
32-bit unsigned integer. |
fieldname[n] |
* |
length of fieldname is denoted by the |
<type>* |
4 |
Pointer to a structure or other data type, denoted by asterisk char |
|
* |
padding for structure alignment, length is in the size field |