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.

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.