dfhack fork
 
 
 
 
 
 
Go to file
bseiller 0c304cf85f Improve performance of surveying => faster search
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
2021-02-03 00:08:59 +01:00
.github Reduce build matrix entries 2020-10-26 01:23:24 -04:00
CMake Clean up *.cmake style 2019-07-20 16:17:44 -04:00
build Make the win64 build/install batch files work with non-C system drives. 2018-05-14 14:15:38 -05:00
data Merge remote-tracking branch 'myk002/myk_alias_fix' into develop 2021-01-30 20:58:36 -05:00
depends Silence some warnings from GCC 10 2020-12-30 00:04:49 -05:00
dfhack-config overhaul quickfort alias documentation 2020-12-05 18:36:15 -08:00
docs Bump to 0.47.04-r5, adjust changelog 2021-01-30 21:23:44 -05:00
library Make libz.dylib optional on macOS 2021-02-01 23:23:19 -05:00
package Add --sizecheck option to Linux launcher script, update docs 2020-08-08 00:41:04 -04:00
plugins Improve performance of surveying => faster search 2021-02-03 00:08:59 +01:00
scripts@86788f5bf9 Update scripts 2021-01-30 21:03:05 -05:00
test Update scripts, tweak test 2020-12-16 13:16:13 -05:00
travis Standardize CI scripts to print both raw and GitHub actions messages when run under GitHub actions 2020-12-27 23:35:36 -05:00
.gitignore quickfort files and docs 2020-07-18 08:54:24 -07:00
.gitmodules Fix some CMake warnings and extraneous output 2020-09-19 01:17:25 -04:00
.ycm_extra_conf.py Use jsoncpp 1.8.4 as a submodule 2018-06-14 21:20:46 +03:00
CMakeLists.txt Bump to 0.47.05-alpha0, update xml 2021-01-31 12:10:00 -05:00
CMakeSettings.json Get intellisense and code analysis working in CMakeSettings.json. 2018-07-23 16:14:22 -05:00
LICENSE.rst address review comments 2021-01-12 23:42:53 -08:00
README.html Fix html redirection to the docs 2016-04-11 09:30:05 +10:00
README.md Restrict status badge to push events only 2020-04-15 01:15:09 -04:00
conf.py Update some docs links to use HTTPS 2020-10-09 19:17:59 -04:00
dfhack.init-example Add workorder-recheck keybinding, update scripts 2021-01-03 22:12:20 -05:00
index.rst Add user guides section to main toctree 2020-10-01 22:17:53 -04:00
onLoad.init-example Remove warn-stuck-trees from onLoad.init-example 2017-12-23 20:49:24 -05:00

README.md

DFHack Readme

Build Status Documentation Status License

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.