replace the local/automatic mid_level_tiles variable in matcher::match_world_tile with one that is created once during the setup phase (heap). The dynamic part of the contained (16*16*3 = 768) vectors is being allocated on the heap in both cases - which made the repeated instatiations of the automatic variable so slow/expensive. Also replace calls to vector<bool>.resize in nested loops with direct assignments to those vectors, which curiously even after a lot of profiling is the fastest way to reset the inorganic vectors - at least on Windows. - embark-assistant.cpp: Replace 2 local/automatic mid_level_tiles variables with a single dynamic variable created during setup as well; add calls to matcher::setup() and matcher::shutdown() - matcher.cpp/.h: add state with mid_level_tiles member; add setup and shutdown functions - survey.cpp: add function reset_mlt_inorganics as replacement for the looped calls to vector::resize as all inorganic vectors are now expected to have the proper size when entering survey::survey_mid_level_tile |
||
|---|---|---|
| .github | ||
| CMake | ||
| build | ||
| data | ||
| depends | ||
| dfhack-config | ||
| docs | ||
| library | ||
| package | ||
| plugins | ||
| scripts@86788f5bf9 | ||
| test | ||
| travis | ||
| .gitignore | ||
| .gitmodules | ||
| .ycm_extra_conf.py | ||
| CMakeLists.txt | ||
| CMakeSettings.json | ||
| LICENSE.rst | ||
| README.html | ||
| README.md | ||
| conf.py | ||
| dfhack.init-example | ||
| index.rst | ||
| onLoad.init-example | ||
README.md
DFHack Readme
DFHack is a Dwarf Fortress memory access library, distributed with scripts and plugins implementing a wide variety of useful functions and tools.
The full documentation is available online here,
from the README.html page in the DFHack distribution, or as raw text in the ./docs folder.
If you're an end-user, modder, or interested in contributing to DFHack -
go read those docs.
If that's unclear or you need more help, try the Bay12 forums thread or the #dfhack IRC channel on freenode.