Purpose
DNT files contain various tabular relational data required by the game, containing information such as item stats, skill values, etc.
Examples
Files in /resource/ext/
General Format Overview
The DNT file structure consists of a header, column headings, and rows of data.
DNT Format
Length Prefixed Non Null Terminated String (LPNNTS)
DNT files use strings prefixed with UINT16
length and no NUL termination byte.
Header
Name | Data Type | Value | Description |
---|---|---|---|
Magic Number |
UINT32
|
0x00000000
|
DNT file magic number. |
Column Count |
UINT16
|
Varies | Number of columns in this table. |
Row Count |
UINT32
|
Varies | Number of rows in this table. |
Columns |
Column[ColumnCount]
|
Varies | An array of Column declarations. |
Column
Name | Data Type | Value | Description |
---|---|---|---|
Column Name |
LPNNTS
|
Varies | The name of this column. |
Column Data Type |
UINT8
|
Varies | The type of data this column contains. See Appendix A for the ID to data type mapping. |
Rows
Name | Data Type | Value | Description |
---|---|---|---|
Rows |
Row[Header.RowCount]
|
Varies | Array of row entries. |
Row
Name | Data Type | Value | Description |
---|---|---|---|
Cell Entries |
Cell[Header.ColumnCount]
|
Varies | Array of cells, one per column of data. |
Cell
Row cells are stored linearly, where the encoding is specified by the corresponding column. See Appendix A for how to read each data type.
Appendices
Appendix A: Column Data Types
ID | Type | Data Type |
---|---|---|
1 | Text | LPNNTS |
2 | Boolean | UINT32 |
3 | Integer | INT32 |
4 | Float | FLOAT32 |
5 | Double† | FLOAT32 |
† While DNT tables specify a type of double, it is still 32 bits long and equivalent to Float.