All Projects → DFHack → df-structures

DFHack / df-structures

Licence: other
Dwarf Fortress data structure descriptions

Programming Languages

perl
6916 projects
common lisp
692 projects
XSLT
1337 projects
python
139335 projects - #7 most used programming language
shell
77523 projects
CMake
9771 projects

Projects that are alternatives of or similar to df-structures

noxfutura
Nox Futura is a Rust port of the C++ project of the same name. It's a Dwarf Fortress like, in 3D (and a futuristic setting). It's also a passion project, so I'm not expecting formalized release dates!
Stars: ✭ 98 (+22.5%)
Mutual labels:  dwarf-fortress
name-needed
🕹 A one man effort to produce an open source, intuitive and high performance Dwarf Fortress-esque game. Needs a name.
Stars: ✭ 87 (+8.75%)
Mutual labels:  dwarf-fortress
dwarlixir
A dwarf-fortress clone / MUD / side project in Elixir
Stars: ✭ 46 (-42.5%)
Mutual labels:  dwarf-fortress
df multiplay
Dwarffortress multiplayer scripts and stuff
Stars: ✭ 13 (-83.75%)
Mutual labels:  dwarf-fortress
AsciiTerminal
A Java ASCII terminal display usable with any Dwarf Fortress tileset
Stars: ✭ 22 (-72.5%)
Mutual labels:  dwarf-fortress
dockerfile-dwarffortress
Dwarf Fortress in a container
Stars: ✭ 21 (-73.75%)
Mutual labels:  dwarf-fortress

DF-structures

Build Status

DF-structures is the core information on which DFHack depends.

For information on how to understand this format, see ./SYNTAX.rst. For how to update for a new version of DF, see ./how-to-update.rst

Originally dfhack used a file called Memory.xml to describe data structures of the game. It explicitly listed addresses of known global variables, and offsets within structures to fields, not unlike the ini files used by Dwarf Therapist.

However, as the number of known fields and objects grow, maintaining the explicit offset lists quickly becomes difficult, error prone, and inefficient.

This format instead represents data structure layout purely via listing all fields in the correct order, exactly like a structure definition does in the C++ language itself. There is still a file with numeric data, but it only contains absolute addresses of global objects.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].