Merge branch 'develop' of https://github.com/DFHack/dfhack into develop
commit
79e1c4982e
@ -1,359 +0,0 @@
|
|||||||
License of DFHack
|
|
||||||
=================
|
|
||||||
https://github.com/peterix/dfhack
|
|
||||||
Copyright (c) 2009-2012 Petr Mrázek (peterix@gmail.com)
|
|
||||||
::
|
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
|
||||||
warranty. In no event will the authors be held liable for any
|
|
||||||
damages arising from the use of this software.
|
|
||||||
|
|
||||||
Permission is granted to anyone to use this software for any
|
|
||||||
purpose, including commercial applications, and to alter it and
|
|
||||||
redistribute it freely, subject to the following restrictions:
|
|
||||||
|
|
||||||
1. The origin of this software must not be misrepresented; you must
|
|
||||||
not claim that you wrote the original software. If you use this
|
|
||||||
software in a product, an acknowledgment in the product documentation
|
|
||||||
would be appreciated but is not required.
|
|
||||||
|
|
||||||
2. Altered source versions must be plainly marked as such, and
|
|
||||||
must not be misrepresented as being the original software.
|
|
||||||
|
|
||||||
3. This notice may not be removed or altered from any source
|
|
||||||
distribution.
|
|
||||||
|
|
||||||
clsocket license
|
|
||||||
================
|
|
||||||
::
|
|
||||||
|
|
||||||
Copyright (c) 2007-2009 CarrierLabs, LLC. All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
|
||||||
modification, are permitted provided that the following conditions
|
|
||||||
are met:
|
|
||||||
|
|
||||||
1. Redistributions of source code must retain the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer.
|
|
||||||
|
|
||||||
2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer in
|
|
||||||
the documentation and/or other materials provided with the
|
|
||||||
distribution.
|
|
||||||
|
|
||||||
3. The name of the author may not be used to endorse or promote products
|
|
||||||
derived from this software without specific prior written permission.
|
|
||||||
|
|
||||||
4. The name "CarrierLabs" must not be used to
|
|
||||||
endorse or promote products derived from this software without
|
|
||||||
prior written permission. For written permission, please contact
|
|
||||||
mark@carrierlabs.com.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY MARK CARRIER ``AS IS'' AND ANY
|
|
||||||
EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
||||||
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MARK CARRIER OR
|
|
||||||
ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
||||||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
||||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
|
||||||
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
|
||||||
OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
Lua license
|
|
||||||
===========
|
|
||||||
|
|
||||||
Lua is licensed under the terms of the MIT license reproduced below.
|
|
||||||
This means that Lua is free software and can be used for both academic
|
|
||||||
and commercial purposes at absolutely no cost.
|
|
||||||
|
|
||||||
For details and rationale, see http://www.lua.org/license.html .
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
Copyright (C) 1994-2008 Lua.org, PUC-Rio.
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
|
||||||
all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
||||||
THE SOFTWARE.
|
|
||||||
|
|
||||||
Protobuf license
|
|
||||||
================
|
|
||||||
::
|
|
||||||
|
|
||||||
Copyright 2008, Google Inc.
|
|
||||||
All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
|
||||||
modification, are permitted provided that the following conditions are
|
|
||||||
met:
|
|
||||||
|
|
||||||
* Redistributions of source code must retain the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer.
|
|
||||||
* Redistributions in binary form must reproduce the above
|
|
||||||
copyright notice, this list of conditions and the following disclaimer
|
|
||||||
in the documentation and/or other materials provided with the
|
|
||||||
distribution.
|
|
||||||
* Neither the name of Google Inc. nor the names of its
|
|
||||||
contributors may be used to endorse or promote products derived from
|
|
||||||
this software without specific prior written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
||||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
||||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
||||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
||||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
||||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
Code generated by the Protocol Buffer compiler is owned by the owner
|
|
||||||
of the input file used when generating it. This code is not
|
|
||||||
standalone and requires a support library to be linked with it. This
|
|
||||||
support library is itself covered by the above license.
|
|
||||||
|
|
||||||
|
|
||||||
License of tinyxml (XML reader library)
|
|
||||||
=======================================
|
|
||||||
http://www.sourceforge.net/projects/tinyxml
|
|
||||||
|
|
||||||
Original code, 2.0 and earlier, copyright 2000-2006 Lee Thomason (http://www.grinninglizard.com)
|
|
||||||
::
|
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
|
||||||
warranty. In no event will the authors be held liable for any
|
|
||||||
damages arising from the use of this software.
|
|
||||||
|
|
||||||
Permission is granted to anyone to use this software for any
|
|
||||||
purpose, including commercial applications, and to alter it and
|
|
||||||
redistribute it freely, subject to the following restrictions:
|
|
||||||
|
|
||||||
1. The origin of this software must not be misrepresented; you must
|
|
||||||
not claim that you wrote the original software. If you use this
|
|
||||||
software in a product, an acknowledgment in the product documentation
|
|
||||||
would be appreciated but is not required.
|
|
||||||
|
|
||||||
2. Altered source versions must be plainly marked as such, and
|
|
||||||
must not be misrepresented as being the original software.
|
|
||||||
|
|
||||||
3. This notice may not be removed or altered from any source
|
|
||||||
distribution.
|
|
||||||
|
|
||||||
tinythread license
|
|
||||||
==================
|
|
||||||
::
|
|
||||||
|
|
||||||
Copyright (c) 2010 Marcus Geelnard
|
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
|
||||||
warranty. In no event will the authors be held liable for any damages
|
|
||||||
arising from the use of this software.
|
|
||||||
|
|
||||||
Permission is granted to anyone to use this software for any purpose,
|
|
||||||
including commercial applications, and to alter it and redistribute it
|
|
||||||
freely, subject to the following restrictions:
|
|
||||||
|
|
||||||
1. The origin of this software must not be misrepresented; you must not
|
|
||||||
claim that you wrote the original software. If you use this software
|
|
||||||
in a product, an acknowledgment in the product documentation would be
|
|
||||||
appreciated but is not required.
|
|
||||||
|
|
||||||
2. Altered source versions must be plainly marked as such, and must not be
|
|
||||||
misrepresented as being the original software.
|
|
||||||
|
|
||||||
3. This notice may not be removed or altered from any source
|
|
||||||
distribution.
|
|
||||||
|
|
||||||
zlib license
|
|
||||||
============
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
Copyright (C) 1995-2010 Jean-loup Gailly and Mark Adler
|
|
||||||
|
|
||||||
This software is provided 'as-is', without any express or implied
|
|
||||||
warranty. In no event will the authors be held liable for any damages
|
|
||||||
arising from the use of this software.
|
|
||||||
|
|
||||||
Permission is granted to anyone to use this software for any purpose,
|
|
||||||
including commercial applications, and to alter it and redistribute it
|
|
||||||
freely, subject to the following restrictions:
|
|
||||||
|
|
||||||
1. The origin of this software must not be misrepresented; you must not
|
|
||||||
claim that you wrote the original software. If you use this software
|
|
||||||
in a product, an acknowledgment in the product documentation would be
|
|
||||||
appreciated but is not required.
|
|
||||||
2. Altered source versions must be plainly marked as such, and must not be
|
|
||||||
misrepresented as being the original software.
|
|
||||||
3. This notice may not be removed or altered from any source distribution.
|
|
||||||
|
|
||||||
|
|
||||||
dirent.h - dirent API for Microsoft Visual Studio
|
|
||||||
=================================================
|
|
||||||
::
|
|
||||||
|
|
||||||
Copyright (C) 2006 Toni Ronkko
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
|
||||||
a copy of this software and associated documentation files (the
|
|
||||||
"Software"), to deal in the Software without restriction, including
|
|
||||||
without limitation the rights to use, copy, modify, merge, publish,
|
|
||||||
distribute, sublicense, and/or sell copies of the Software, and to
|
|
||||||
permit persons to whom the Software is furnished to do so, subject to
|
|
||||||
the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included
|
|
||||||
in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
||||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
||||||
IN NO EVENT SHALL TONI RONKKO BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
|
||||||
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
|
||||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
||||||
OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
|
|
||||||
|
|
||||||
linenoise.c
|
|
||||||
===========
|
|
||||||
Parts of dfhack are based on linenoise: a line editing library against the
|
|
||||||
idea that a line editing lib needs to be 20,000 lines of C code.
|
|
||||||
|
|
||||||
You can find the latest source code at http://github.com/antirez/linenoise
|
|
||||||
::
|
|
||||||
|
|
||||||
Copyright (c) 2010, Salvatore Sanfilippo <antirez at gmail dot com>
|
|
||||||
Copyright (c) 2010, Pieter Noordhuis <pcnoordhuis at gmail dot com>
|
|
||||||
|
|
||||||
All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
|
||||||
modification, are permitted provided that the following conditions are
|
|
||||||
met:
|
|
||||||
|
|
||||||
* Redistributions of source code must retain the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer.
|
|
||||||
|
|
||||||
* Redistributions in binary form must reproduce the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer in the
|
|
||||||
documentation and/or other materials provided with the distribution.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
||||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
||||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
||||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
||||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
||||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
|
|
||||||
UTF-8 Decoder
|
|
||||||
=============
|
|
||||||
See http://bjoern.hoehrmann.de/utf-8/decoder/dfa/ for details.
|
|
||||||
::
|
|
||||||
|
|
||||||
Copyright (c) 2008-2010 Bjoern Hoehrmann <bjoern@hoehrmann.de>
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
||||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
||||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
|
|
||||||
|
|
||||||
luafilesystem
|
|
||||||
=============
|
|
||||||
Parts of dfhack are based on luafilesystem:
|
|
||||||
::
|
|
||||||
|
|
||||||
Copyright (c) 2003-2014 Kepler Project.
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person
|
|
||||||
obtaining a copy of this software and associated documentation
|
|
||||||
files (the "Software"), to deal in the Software without
|
|
||||||
restriction, including without limitation the rights to use, copy,
|
|
||||||
modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
||||||
of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be
|
|
||||||
included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
|
||||||
BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
|
||||||
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
||||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
|
|
||||||
jsoncpp
|
|
||||||
========
|
|
||||||
::
|
|
||||||
|
|
||||||
Copyright (c) 2007-2010 Baptiste Lepilleur
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person
|
|
||||||
obtaining a copy of this software and associated documentation
|
|
||||||
files (the "Software"), to deal in the Software without
|
|
||||||
restriction, including without limitation the rights to use, copy,
|
|
||||||
modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
||||||
of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be
|
|
||||||
included in all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
|
|
||||||
BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
|
||||||
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
||||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
|
|
||||||
|
|
||||||
JSON.lua
|
|
||||||
========
|
|
||||||
Copyright 2010-2014 Jeffrey Friedl, http://regex.info/blog/
|
|
||||||
|
|
||||||
Latest version: http://regex.info/blog/lua/json
|
|
||||||
|
|
||||||
This code is released under a Creative Commons CC-BY "Attribution" License:
|
|
||||||
http://creativecommons.org/licenses/by/3.0/deed.en_US
|
|
@ -0,0 +1,145 @@
|
|||||||
|
.. _license:
|
||||||
|
|
||||||
|
########
|
||||||
|
Licenses
|
||||||
|
########
|
||||||
|
|
||||||
|
DFHack is distributed under the Zlib license, with some MIT-
|
||||||
|
and BSD-licensed components. These licenses protect your right
|
||||||
|
to use DFhack for any purpose, distribute copies, and so on.
|
||||||
|
|
||||||
|
The core, plugins, scripts, and other DFHack code all use the
|
||||||
|
ZLib license unless noted otherwise. By contributing to DFHack,
|
||||||
|
authors release the contributed work under this license.
|
||||||
|
|
||||||
|
DFHack also draws on several external packages.
|
||||||
|
Their licenses are summarised here and reproduced below.
|
||||||
|
|
||||||
|
=============== ============= =================================================
|
||||||
|
Component License Copyright
|
||||||
|
=============== ============= =================================================
|
||||||
|
DFHack_ Zlib \(c\) 2009-2012, Petr Mrázek
|
||||||
|
clsocket_ BSD 3-clause \(c\) 2007-2009, CarrierLabs, LLC.
|
||||||
|
dirent_ MIT \(c\) 2006, Toni Ronkko
|
||||||
|
JSON.lua_ CC-BY-SA_ \(c\) 2010-2014, Jeffrey Friedl
|
||||||
|
jsoncpp_ MIT \(c\) 2007-2010, Baptiste Lepilleur
|
||||||
|
linenoise_ BSD 2-clause \(c\) 2010, Salvatore Sanfilippo & Pieter Noordhuis
|
||||||
|
lua_ MIT \(c\) 1994-2008, Lua.org, PUC-Rio.
|
||||||
|
luafilesystem_ MIT \(c\) 2003-2014, Kepler Project
|
||||||
|
protobuf_ BSD 3-clause \(c\) 2008, Google Inc.
|
||||||
|
tinythread_ Zlib \(c\) 2010, Marcus Geelnard
|
||||||
|
tinyxml_ Zlib \(c\) 2000-2006, Lee Thomason
|
||||||
|
UTF-8-decoder_ MIT \(c\) 2008-2010, Bjoern Hoehrmann
|
||||||
|
=============== ============= =================================================
|
||||||
|
|
||||||
|
.. _DFHack: https://github.com/DFHack/dfhack
|
||||||
|
.. _clsocket: https://github.com/DFHack/clsocket
|
||||||
|
.. _dirent: https://github.com/tronkko/dirent
|
||||||
|
.. _JSON.lua: http://regex.info/blog/lua/json
|
||||||
|
.. _jsoncpp: https://github.com/open-source-parsers/jsoncpp
|
||||||
|
.. _linenoise: http://github.com/antirez/linenoise
|
||||||
|
.. _lua: http://www.lua.org
|
||||||
|
.. _luafilesystem: https://github.com/keplerproject/luafilesystem
|
||||||
|
.. _protobuf: https://github.com/google/protobuf
|
||||||
|
.. _tinythread: http://tinythreadpp.bitsnbites.eu/
|
||||||
|
.. _tinyxml: http://www.sourceforge.net/projects/tinyxml
|
||||||
|
.. _UTF-8-decoder: http://bjoern.hoehrmann.de/utf-8/decoder/dfa
|
||||||
|
|
||||||
|
.. _CC-BY-SA: http://creativecommons.org/licenses/by/3.0/deed.en_US
|
||||||
|
|
||||||
|
|
||||||
|
Zlib License
|
||||||
|
============
|
||||||
|
See https://en.wikipedia.org/wiki/Zlib_License
|
||||||
|
::
|
||||||
|
|
||||||
|
This software is provided 'as-is', without any express or implied
|
||||||
|
warranty. In no event will the authors be held liable for any
|
||||||
|
damages arising from the use of this software.
|
||||||
|
|
||||||
|
Permission is granted to anyone to use this software for any
|
||||||
|
purpose, including commercial applications, and to alter it and
|
||||||
|
redistribute it freely, subject to the following restrictions:
|
||||||
|
|
||||||
|
1. The origin of this software must not be misrepresented; you must
|
||||||
|
not claim that you wrote the original software. If you use this
|
||||||
|
software in a product, an acknowledgment in the product
|
||||||
|
documentation would be appreciated but is not required.
|
||||||
|
|
||||||
|
2. Altered source versions must be plainly marked as such, and
|
||||||
|
must not be misrepresented as being the original software.
|
||||||
|
|
||||||
|
3. This notice may not be removed or altered from any source
|
||||||
|
distribution.
|
||||||
|
|
||||||
|
MIT License
|
||||||
|
===========
|
||||||
|
See https://en.wikipedia.org/wiki/MIT_License
|
||||||
|
::
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included
|
||||||
|
in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
BSD Licenses
|
||||||
|
============
|
||||||
|
See https://en.wikipedia.org/wiki/BSD_licenses
|
||||||
|
::
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
|
||||||
|
1. Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in
|
||||||
|
the documentation and/or other materials provided with the
|
||||||
|
distribution.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
``linenoise`` adds no further clauses.
|
||||||
|
|
||||||
|
``protobuf`` adds the following clause::
|
||||||
|
|
||||||
|
3. Neither the name of Google Inc. nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
``clsocket`` adds the following clauses::
|
||||||
|
|
||||||
|
3. The name of the author may not be used to endorse or promote
|
||||||
|
products derived from this software without specific prior
|
||||||
|
written permission.
|
||||||
|
|
||||||
|
4. The name "CarrierLabs" must not be used to endorse or promote
|
||||||
|
products derived from this software without prior written
|
||||||
|
permission. For written permission, please contact
|
||||||
|
mark@carrierlabs.com
|
@ -1,863 +0,0 @@
|
|||||||
.. comment
|
|
||||||
This is the changelog file for DFHack. If you add or change anything, note
|
|
||||||
it here under the heading "DFHack Future", in the appropriate section.
|
|
||||||
Items within each section are listed in alphabetical order to minimise merge
|
|
||||||
conflicts. Try to match the style and level of detail of the other entries.
|
|
||||||
|
|
||||||
|
|
||||||
DFHack Future
|
|
||||||
=============
|
|
||||||
::
|
|
||||||
|
|
||||||
Internals
|
|
||||||
A method for caching screen output is now available to Lua (and C++)
|
|
||||||
Developer plugins can be ignored on startup by setting the DFHACK_NO_DEV_PLUGINS environment variable
|
|
||||||
The console on Linux and OS X now recognizes keyboard input between prompts
|
|
||||||
JSON libraries available (C++ and Lua)
|
|
||||||
More DFHack build information used in plugin version checks and available to plugins and lua scripts
|
|
||||||
Fixed a rare overflow issue that could cause crashes on Linux and OS X
|
|
||||||
Stopped DF window from receiving input when unfocused on OS X
|
|
||||||
Fixed issues with keybindings involving Ctrl-A and Ctrl-Z, as well as Alt-E/U/N on OS X
|
|
||||||
Multiple contexts can now be specified when adding keybindings
|
|
||||||
Keybindings can now use F10-F12 and 0-9
|
|
||||||
Plugin system is no longer restricted to plugins that exist on startup
|
|
||||||
dfhack.init file locations significantly generalized
|
|
||||||
Lua
|
|
||||||
Scripts can be enabled with the built-in enable/disable commands
|
|
||||||
A new function, reqscript(), is available as a safer alternative to script_environment()
|
|
||||||
Lua viewscreens can choose not to intercept the OPTIONS keybinding
|
|
||||||
New internal commands
|
|
||||||
kill-lua: Interrupt running Lua scripts
|
|
||||||
type: Show where a command is implemented
|
|
||||||
New plugins
|
|
||||||
confirm: Adds confirmation dialogs for several potentially dangerous actions
|
|
||||||
fix-unit-occupancy: Fixes issues with unit occupancy, such as faulty "unit blocking tile" messages (bug 3499)
|
|
||||||
title-version (formerly vshook): Display DFHack version on title screen
|
|
||||||
New scripts
|
|
||||||
burial: sets all unowned coffins to allow burial ("-pets" to allow pets too)
|
|
||||||
fix-ster: changes fertility/sterility of animals or dwarves
|
|
||||||
view-item-info: adds information and customisable descriptions to item viewscreens
|
|
||||||
warn-starving: check for starving, thirsty, or very drowsy units and pause with warning if any are found
|
|
||||||
modtools/create-unit: create new units from nothing
|
|
||||||
modtools/equip-item: a script to equip items on units
|
|
||||||
points: set number of points available at embark screen
|
|
||||||
Vjek's script collection:
|
|
||||||
- armoks-blessing: Adjust all attributes, personality, age and skills of all dwarves in play
|
|
||||||
- brainwash: brainwash a dwarf (modifying their personality)
|
|
||||||
- elevate-mental: elevate all the mental attributes of a unit
|
|
||||||
- elevate-physical: elevate all the physical attributes of a unit
|
|
||||||
- make-legendary: modify skill(s) of a single unit
|
|
||||||
- pref-adjust: Adjust all preferences of all dwarves in play
|
|
||||||
- rejuvenate: make any "old" dwarf 20 years old
|
|
||||||
New tweaks
|
|
||||||
embark-profile-name: Allows the use of lowercase letters when saving embark profiles
|
|
||||||
kitchen-keys: Fixes DF kitchen meal keybindings
|
|
||||||
kitchen-prefs-color: Changes color of enabled items to green in kitchen preferences
|
|
||||||
kitchen-prefs-empty: Fixes a layout issue with empty kitchen tabs
|
|
||||||
Fixes
|
|
||||||
Plugins with vmethod hooks can now be reloaded on OS X
|
|
||||||
Lua's os.system() now works on OS X
|
|
||||||
Fixed default arguments in Lua gametype detection functions
|
|
||||||
Circular lua dependencies (reqscript/script_environment) fixed
|
|
||||||
Prevented crash in Items::createItem()
|
|
||||||
buildingplan: Now supports hatch covers
|
|
||||||
gui/create-item:
|
|
||||||
- fixed assigning quality to items
|
|
||||||
- made "esc" work properly
|
|
||||||
gui/gm-editor handles lua tables properly
|
|
||||||
help: now recognizes built-in commands, like "help"
|
|
||||||
manipulator: fixed crash when selecting custom professions when none are found
|
|
||||||
remotefortressreader: fixed crash when attempting to send map info when no map was loaded
|
|
||||||
search:
|
|
||||||
- fixed crash in unit list after cancelling a job
|
|
||||||
- fixed crash when disabling stockpile category after searching in a subcategory
|
|
||||||
stockpiles: now checks/sanitizes filenames when saving
|
|
||||||
stocks: fixed a crash when right-clicking
|
|
||||||
steam-engine:
|
|
||||||
- fixed a crash on arena load
|
|
||||||
- number keys (e.g. 2/8) take priority over cursor keys when applicable
|
|
||||||
tweak fps-min fixed
|
|
||||||
tweak farm-plot-select: Stopped controls from appearing when plots weren't fully built
|
|
||||||
workflow: Fixed some issues with stuck jobs
|
|
||||||
- Note: Existing stuck jobs must be cancelled and re-added
|
|
||||||
zone: Fixed a crash when using "zone set" (and a few other potential crashes)
|
|
||||||
Misc Improvements
|
|
||||||
DFHack documentation:
|
|
||||||
- massively reorganised, into files of more readable size
|
|
||||||
- added many missing entries
|
|
||||||
- indexes, internal links, offline search all documents
|
|
||||||
- includes documentation of linked projects (df-structures, 3rdparty scripts)
|
|
||||||
- better HTML generation with Sphinx
|
|
||||||
autolabor:
|
|
||||||
- Stopped modification of labors that shouldn't be modified for brokers/diplomats
|
|
||||||
- Prioritize skilled dwarves more efficiently
|
|
||||||
- Prevent dwarves from running away with tools from previous jobs
|
|
||||||
dwarfmonitor:
|
|
||||||
- widgets' positions, formats, etc. are now customizable (see Readme)
|
|
||||||
- weather display now separated from the date display
|
|
||||||
- New mouse cursor widget
|
|
||||||
dfstatus: Can enable/disable individual categories and customize metal bar list
|
|
||||||
full-heal: "-r" option removes corpses
|
|
||||||
gui/gm-editor
|
|
||||||
- Pointers can now be displaced
|
|
||||||
- Added some useful aliases: "item" for the selected item, "screen" for the current screen, etc.
|
|
||||||
- Now avoids errors with unrecognized types
|
|
||||||
gui/hack-wish: renamed to gui/create-item
|
|
||||||
"keybinding list" accepts a context
|
|
||||||
lever:
|
|
||||||
- Lists lever names
|
|
||||||
- "lever pull" can be used to pull the currently-selected lever
|
|
||||||
memview: Fixed display issue
|
|
||||||
modtools/create-item: arguments are named more clearly, and you can specify the creator to be
|
|
||||||
the unit with id df.global.unit_next_id-1 (useful in conjunction with modtools/create-unit)
|
|
||||||
nyan: Can now be stopped with dfhack-run
|
|
||||||
plug:
|
|
||||||
- lists all plugins
|
|
||||||
- shows state and number of commands in plugins
|
|
||||||
prospect: works from within command-prompt
|
|
||||||
quicksave: Restricted to fortress mode
|
|
||||||
remotefortressreader: Exposes more information
|
|
||||||
search:
|
|
||||||
- Supports noble suggestion screen (e.g. suggesting a baron)
|
|
||||||
- Supports fortress mode loo[k] menu
|
|
||||||
- Recognizes ? and ; keys
|
|
||||||
stocks: can now match beginning and end of item names
|
|
||||||
teleport: Fixed cursor recognition
|
|
||||||
tweak:
|
|
||||||
- debug output now logged to stderr.log instead of console - makes DFHack start faster
|
|
||||||
- farm-plot-select: Fixed issues with selecting undiscovered crops
|
|
||||||
workflow: Improved handling of plant reactions
|
|
||||||
Removed
|
|
||||||
embark-tools nano: 1x1 embarks are now possible in vanilla 0.40.24
|
|
||||||
|
|
||||||
DFHack 0.40.24-r3
|
|
||||||
=================
|
|
||||||
::
|
|
||||||
|
|
||||||
Internals
|
|
||||||
Ruby library now included on OS X - ruby scripts should work on OS X 10.10
|
|
||||||
libstdc++ should work with older versions of OS X
|
|
||||||
Added support for onLoadMap/onUnloadMap.init scripts
|
|
||||||
game type detection functions are now available in the World module
|
|
||||||
The DFHACK_LOG_MEM_RANGES environment variable can be used to log information to stderr.log on OS X
|
|
||||||
Fixed adventure mode menu names
|
|
||||||
Fixed command usage information for some commands
|
|
||||||
Lua
|
|
||||||
Lua scripts will only be reloaded if necessary
|
|
||||||
Added a df2console() wrapper, useful for printing DF (CP437-encoded) text to the console in a portable way
|
|
||||||
Added a strerror() wrapper
|
|
||||||
New internal commands
|
|
||||||
hide/show: hide and show the console on Windows
|
|
||||||
sc-script: Allows additional scripts to be run when certain events occur (similar to onLoad*.init scripts)
|
|
||||||
New plugins
|
|
||||||
autohauler: A hauling-only version of autolabor
|
|
||||||
New scripts
|
|
||||||
modtools/reaction-product-trigger: triggers callbacks when products are produced (contrast with when reactions complete)
|
|
||||||
New tweaks
|
|
||||||
fps-min: Fixes the in-game minimum FPS setting
|
|
||||||
shift-8-scroll: Gives Shift+8 (or *) priority when scrolling menus, instead of scrolling the map
|
|
||||||
tradereq-pet-gender: Displays pet genders on the trade request screen
|
|
||||||
New features
|
|
||||||
autolabor: A negative pool size can be specified to use the most unskilled dwarves
|
|
||||||
catsplosion: Works on any specified races
|
|
||||||
exportlegends: Now exports more information
|
|
||||||
Fixes
|
|
||||||
Fixed game type detection in:
|
|
||||||
3dveins
|
|
||||||
createitem
|
|
||||||
reveal
|
|
||||||
seedwatch
|
|
||||||
Made PRELOAD_LIB more extensible on Linux
|
|
||||||
add-spatter, eventful: Fixed crash on world load
|
|
||||||
building-hacks: made buildings produce/consume correct amount of power
|
|
||||||
Gave add-thought a proper subthought arg.
|
|
||||||
fix-armory compiles and is available again (albeit with issues)
|
|
||||||
gui/gm-editor: Added search option (accessible with "s")
|
|
||||||
hack-wish: Made items stack properly.
|
|
||||||
modtools/skill-change: made level granularity work properly.
|
|
||||||
show-unit-syndromes should work
|
|
||||||
stockflow: Fixed error message in Arena mode
|
|
||||||
stockflow: No longer checks the DF version
|
|
||||||
stockflow: Fixed ballistic arrow head orders
|
|
||||||
stockflow: Now convinces the bookkeeper to update records more often
|
|
||||||
zone: Stopped crash when scrolling cage owner list
|
|
||||||
Misc Improvements
|
|
||||||
building-hacks: Added a way to allow building to work even if it consumes more power
|
|
||||||
than is available. Added setPower/getPower functions.
|
|
||||||
catsplosion: Can now trigger pregnancies in (most) other creatures
|
|
||||||
exportlegends: 'info' and 'all' exports legends_plus xml with more data for legends utilities
|
|
||||||
manipulator:
|
|
||||||
Added ability to edit nicknames/profession names
|
|
||||||
Added "Job" as a View Type, in addition to "Profession" and "Squad"
|
|
||||||
Custom profession templates, with masking
|
|
||||||
remotefortressreader: Exposes more information
|
|
||||||
|
|
||||||
DFHack 0.40.24-r2
|
|
||||||
=================
|
|
||||||
::
|
|
||||||
|
|
||||||
Internals
|
|
||||||
Lua scripts can set environment variables of each other with dfhack.run_script_with_env.
|
|
||||||
Lua scripts can now call each others internal nonlocal functions with dfhack.script_environment(scriptName).functionName(arg1,arg2).
|
|
||||||
eventful Lua reactions no longer require LUA_HOOK as a prefix: you can register a
|
|
||||||
callback for the completion of any reaction with a name
|
|
||||||
Filesystem module now provides file access/modification times and can list directories (normally and recursively)
|
|
||||||
Units Module: New functions:
|
|
||||||
isWar
|
|
||||||
isHunter
|
|
||||||
isAvailableForAdoption
|
|
||||||
isOwnCiv
|
|
||||||
isOwnRace
|
|
||||||
getRaceName
|
|
||||||
getRaceNamePlural
|
|
||||||
getRaceBabyName
|
|
||||||
getRaceChildName
|
|
||||||
isBaby
|
|
||||||
isChild
|
|
||||||
isAdult
|
|
||||||
isEggLayer
|
|
||||||
isGrazer
|
|
||||||
isMilkable
|
|
||||||
isTrainableWar
|
|
||||||
isTrainableHunting
|
|
||||||
isTamable
|
|
||||||
isMale
|
|
||||||
isFemale
|
|
||||||
isMerchant
|
|
||||||
isForest
|
|
||||||
isMarkedForSlaughter
|
|
||||||
Buildings Module: New Functions:
|
|
||||||
isActivityZone
|
|
||||||
isPenPasture
|
|
||||||
isPitPond
|
|
||||||
isActive
|
|
||||||
findPenPitAt
|
|
||||||
Fixes
|
|
||||||
dfhack.run_script should correctly find save-specific scripts now.
|
|
||||||
Updated add-thought to properly affect stress.
|
|
||||||
hfs-pit should work now
|
|
||||||
Autobutcher takes gelding into account
|
|
||||||
init.lua existence checks should be more reliable (notably when using non-English locales)
|
|
||||||
Misc Improvements
|
|
||||||
Multiline commands are now possible inside dfhack.init scripts. See dfhack.init-example for example usage.
|
|
||||||
|
|
||||||
DFHack 0.40.24-r1
|
|
||||||
=================
|
|
||||||
::
|
|
||||||
|
|
||||||
Internals
|
|
||||||
CMake shouldn't cache DFHACK_RELEASE anymore. People may need to manually update/delete
|
|
||||||
their CMake cache files to get rid of it.
|
|
||||||
|
|
||||||
DFHack 0.40.24-r0
|
|
||||||
=================
|
|
||||||
::
|
|
||||||
|
|
||||||
Internals
|
|
||||||
EventManager: fixed crash error with EQUIPMENT_CHANGE event.
|
|
||||||
key modifier state exposed to Lua
|
|
||||||
Fixes
|
|
||||||
dfhack script can now be run from other directories on OSX
|
|
||||||
New Plugins
|
|
||||||
blueprint: export part of your fortress to quickfort .csv files
|
|
||||||
New Scripts
|
|
||||||
hotkey-notes: print key, name, and jump position of hotkeys
|
|
||||||
Removed
|
|
||||||
embark.lua
|
|
||||||
needs_porting/*
|
|
||||||
Misc Improvements
|
|
||||||
added support for searching more lists
|
|
||||||
|
|
||||||
DFHack 0.40.23-r1
|
|
||||||
=================
|
|
||||||
::
|
|
||||||
|
|
||||||
Internals
|
|
||||||
plugins will not be loaded if globals they specify as required are not located (should prevent some crashes)
|
|
||||||
Fixes
|
|
||||||
Fixed numerous (mostly Lua-related) crashes on OS X by including a more up-to-date libstdc++
|
|
||||||
Alt should no longer get stuck on Windows (and perhaps other platforms as well)
|
|
||||||
advfort works again
|
|
||||||
autobutcher takes sexualities into account
|
|
||||||
devel/export-dt-ini: Updated for 0.40.20+
|
|
||||||
digfort: now checks file type and existence
|
|
||||||
exportlegends: Fixed map export
|
|
||||||
full-heal: Fixed a problem with selecting units in the GUI
|
|
||||||
gui/hack-wish: Fixed restrictive material filters
|
|
||||||
mousequery: Changed box-select key to Alt+M
|
|
||||||
plugins/dwarfmonitor: correct date display (month index, separator)
|
|
||||||
scripts/putontable: added to the readme
|
|
||||||
siren should work again
|
|
||||||
stderr.log: removed excessive debug output on OS X
|
|
||||||
trackstop: No longer prevents cancelling the removal of a track stop or roller.
|
|
||||||
Fixed a display issue with PRINT_MODE:TEXT
|
|
||||||
Fixed a symbol error (MapExtras::BiomeInfo::MAX_LAYERS) when compiling DFHack in Debug mode
|
|
||||||
New Plugins
|
|
||||||
fortplan: designate construction of (limited) buildings from .csv file, quickfort-style
|
|
||||||
New Scripts
|
|
||||||
gui/stockpiles: an in-game interface for saving and loading stockpile
|
|
||||||
settings files.
|
|
||||||
position: Reports the current date, time, month, and season, plus
|
|
||||||
some location info. Port/update of position.py
|
|
||||||
hfs-pit: Digs a hole to hell under the cursor. Replaces needs_porting/hellhole.cpp
|
|
||||||
Removed
|
|
||||||
embark.lua: Obsolete, use `embark-tools`
|
|
||||||
New tweaks:
|
|
||||||
eggs-fertile: Displays an egg fertility indicator on nestboxes
|
|
||||||
max-wheelbarrow: Allows assigning more than 3 wheelbarrows to a stockpile
|
|
||||||
Misc Improvements
|
|
||||||
embark-tools: Added basic mouse support on the local map
|
|
||||||
Made some adventure mode keybindings in dfhack.init-example only work in adventure mode
|
|
||||||
Added a default keybinding for "gui/companion-order"
|
|
||||||
further work on needs_porting
|
|
||||||
|
|
||||||
DFHack 0.40.19-r1
|
|
||||||
=================
|
|
||||||
::
|
|
||||||
|
|
||||||
Fixes:
|
|
||||||
typo fix in modtools/reaction-trigger
|
|
||||||
modtools/item-trigger should now work with item types
|
|
||||||
New plugins:
|
|
||||||
savestock and loadstock: two commands for saving and loading
|
|
||||||
stockpile settings to a file. They can be used to migrate stockpile
|
|
||||||
settings between worlds and saves.
|
|
||||||
New scripts:
|
|
||||||
remove-stress [all]: set selected or all units unit to -1,000,000 stress
|
|
||||||
this script replaces removebadthoughts.rb
|
|
||||||
Misc improvements:
|
|
||||||
cmd-prompt can now access selected items, units, and buildings
|
|
||||||
autolabor plugin: add an optional talent pool parameter
|
|
||||||
|
|
||||||
DFHack 0.40.16-r1
|
|
||||||
=================
|
|
||||||
::
|
|
||||||
|
|
||||||
Internals:
|
|
||||||
EventManager should handle INTERACTION triggers a little better. It still can get confused
|
|
||||||
about who did what but only rarely.
|
|
||||||
EventManager should no longer trigger REPORT events for old reports after loading a save.
|
|
||||||
lua/persist-table.lua: a convenient way of using persistent tables of arbitrary structure and dimension in Lua
|
|
||||||
Fixes:
|
|
||||||
mousequery: Disabled when linking levers
|
|
||||||
stocks: Melting should work now
|
|
||||||
scripts/full-heal: Updated with proper argument handling.
|
|
||||||
scripts/modtools/reaction-trigger-transition.lua
|
|
||||||
should produce the correct syntax now
|
|
||||||
scripts/superdwarf.rb should work better now
|
|
||||||
scripts/forum-dwarves.lua
|
|
||||||
update for new df-structures changes
|
|
||||||
New scripts:
|
|
||||||
scripts/
|
|
||||||
adaptation.rb
|
|
||||||
view or set the cavern adaptation level of your citizens
|
|
||||||
add-thought.lua
|
|
||||||
allows the user to add thoughts to creatures.
|
|
||||||
gaydar.lua
|
|
||||||
detect the sexual orientation of units on the map
|
|
||||||
markdown.lua
|
|
||||||
Save a copy of a text screen in markdown (for reddit among others).
|
|
||||||
devel/
|
|
||||||
all-bob.lua: renames everyone Bob to help test interaction-trigger
|
|
||||||
Misc improvements:
|
|
||||||
autodump:
|
|
||||||
Can now mark a stockpile for auto-dumping (similar to
|
|
||||||
automelt and autotrade)
|
|
||||||
buildingplan:
|
|
||||||
Can now auto-allocate rooms to dwarves with specific positions
|
|
||||||
(e.g. expedition leader, mayor)
|
|
||||||
dwarfmonitor
|
|
||||||
Now displays a weather indicator and date
|
|
||||||
lua/syndrome-util.lua
|
|
||||||
now you can remove syndromes by SYN_CLASS
|
|
||||||
scripts/modtools/add-syndrome.lua
|
|
||||||
now you can remove syndromes by SYN_CLASS
|
|
||||||
No longer writes empty .history files
|
|
||||||
|
|
||||||
DFHack 0.40.15-r1
|
|
||||||
=================
|
|
||||||
::
|
|
||||||
|
|
||||||
Fixes:
|
|
||||||
- mousequery: Fixed behavior when selecting a tile on the lowest z-level
|
|
||||||
Internals:
|
|
||||||
- EventManager: deals with frame_counter getting reset properly now.
|
|
||||||
- modtools/item-trigger: fixed equip/unequip bug and corrected minor documentation error
|
|
||||||
- teleport: Updated with proper argument handling and proper unit-at-destination handling.
|
|
||||||
- autotrade: Removed the newly obsolete "Mark all" functionality.
|
|
||||||
- search: Adapts to the new trade screen column width
|
|
||||||
- tweak fast-trade: Switching the fast-trade keybinding to Shift-Up/Shift-Down, due to Select All conflict
|
|
||||||
|
|
||||||
DFHack 0.40.14-r1
|
|
||||||
=================
|
|
||||||
::
|
|
||||||
|
|
||||||
Internals:
|
|
||||||
- The DFHack console can now be disabled by setting the DFHACK_DISABLE_CONSOLE
|
|
||||||
environment variable: "DFHACK_DISABLE_CONSOLE=1 ./dfhack"
|
|
||||||
Fixes:
|
|
||||||
- Stopped duplicate load/unload events when unloading a world
|
|
||||||
- Stopped "-e" from being echoed when DFHack quits on Linux
|
|
||||||
- automelt now uses a faster method to locate items
|
|
||||||
- autotrade: "Mark all" no longer double-marks bin contents
|
|
||||||
- drainaquifer.rb: replaced with a faster less buggy drain-aquifer.lua
|
|
||||||
- embark-tools no longer conflicts with keys on the notes screen
|
|
||||||
- fastdwarf: Fixed problems with combat/attacks
|
|
||||||
- forum-dwarves should work now
|
|
||||||
- manipulator now uses a stable sort, allowing sorting by multiple categories
|
|
||||||
- rendermax updated to work with 0.40
|
|
||||||
New plugins:
|
|
||||||
- trackstop: Shows track stop friction and dump direction in its 'q' menu
|
|
||||||
New tweaks:
|
|
||||||
- farm-plot-select: Adds "Select all" and "Deselect all" options to farm plot menus
|
|
||||||
- import-priority-category: Allows changing the priority of all goods in a
|
|
||||||
category when discussing an import agreement with the liaison
|
|
||||||
- manager-quantity: Removes the limit of 30 jobs per manager order
|
|
||||||
- civ-view-agreement: Fixes overlapping text on the "view agreement" screen
|
|
||||||
- nestbox-color: Fixes the color of built nestboxes
|
|
||||||
Misc Improvements:
|
|
||||||
- exportlegends.lua can now handle site maps
|
|
||||||
|
|
||||||
DFHack 0.40.13-r1
|
|
||||||
=================
|
|
||||||
::
|
|
||||||
|
|
||||||
Internals:
|
|
||||||
- unified spatter structs
|
|
||||||
- added ruby df.print_color(color, string) method for dfhack console
|
|
||||||
Fixes:
|
|
||||||
- no more -e after terminating
|
|
||||||
- fixed superdwarf
|
|
||||||
|
|
||||||
DFHack 0.40.12-r1
|
|
||||||
=================
|
|
||||||
::
|
|
||||||
|
|
||||||
Fixes:
|
|
||||||
- possible crash fixed for hack-wish
|
|
||||||
- updated search to not conflict with BUILDJOB_SUSPEND
|
|
||||||
- workflow: job_material_category -> dfhack_material_category
|
|
||||||
|
|
||||||
New plugins:
|
|
||||||
- hotkeys (by Falconne): Shows ingame viewscreen with all dfhack keybindings active in current mode.
|
|
||||||
- automelt: allows marking stockpiles for automelt
|
|
||||||
(i.e. any items placed in stocpile will be designated for melting)
|
|
||||||
|
|
||||||
Misc Improvements:
|
|
||||||
- now you can use @ to print things in interactive Lua with subtley different semantics
|
|
||||||
- optimizations for stockpiles for autotrade and stockflow
|
|
||||||
- updated exportlegends.lua to work with new maps, dfhack 40.11 r1+
|
|
||||||
|
|
||||||
Internals:
|
|
||||||
- support for global onLoadWorld.init and onUnloadWorld.init files,
|
|
||||||
called when loading and unloading a world
|
|
||||||
- Close file after loading a binary patch.
|
|
||||||
|
|
||||||
DFHack 0.40.11-r1
|
|
||||||
=================
|
|
||||||
::
|
|
||||||
|
|
||||||
Internals:
|
|
||||||
- Plugins on OS X now use ".plug.dylib" as an extension instead of ".plug.so"
|
|
||||||
Fixes:
|
|
||||||
- 3dveins should no longer hang/crash on specific maps
|
|
||||||
- Fixed some autotrade and search layout issues
|
|
||||||
- Updated deathcause
|
|
||||||
- hack-wish should work now
|
|
||||||
- reveal no longer allocates data for nonexistent map blocks
|
|
||||||
- Various documentation fixes and updates
|
|
||||||
|
|
||||||
DFHack v0.40.10-r1
|
|
||||||
==================
|
|
||||||
|
|
||||||
A few bugfixes.
|
|
||||||
|
|
||||||
DFHack v0.40.08-r2
|
|
||||||
==================
|
|
||||||
::
|
|
||||||
|
|
||||||
Internals:
|
|
||||||
supported per save script folders
|
|
||||||
Items module: added createItem function
|
|
||||||
Sorted CMakeList for plugins and plugins/devel
|
|
||||||
diggingInvaders no longer builds if plugin building is disabled
|
|
||||||
EventManager:
|
|
||||||
EQUIPMENT_CHANGE now triggers for new units
|
|
||||||
new events:
|
|
||||||
ON_REPORT
|
|
||||||
UNIT_ATTACK
|
|
||||||
UNLOAD
|
|
||||||
INTERACTION
|
|
||||||
|
|
||||||
New scripts:
|
|
||||||
lua/
|
|
||||||
repeat-util.lua
|
|
||||||
makes it easier to make things repeat indefinitely
|
|
||||||
syndrome-util.lua
|
|
||||||
makes it easier to deal with unit syndromes
|
|
||||||
scripts/
|
|
||||||
forum-dwarves.lua
|
|
||||||
helps copy df viewscreens to a file
|
|
||||||
full-heal.lua
|
|
||||||
fully heal a unit
|
|
||||||
remove-wear.lua
|
|
||||||
removes wear from all items in the fort
|
|
||||||
repeat.lua
|
|
||||||
repeatedly calls a script or a plugin
|
|
||||||
ShowUnitSyndromes.rb
|
|
||||||
shows syndromes affecting units and other relevant info
|
|
||||||
teleport.lua
|
|
||||||
teleports units
|
|
||||||
scripts/devel/
|
|
||||||
print-args.lua
|
|
||||||
scripts/fix/
|
|
||||||
blood-del.lua
|
|
||||||
makes it so civs don't bring barrels full of blood ichor or goo
|
|
||||||
feeding-timers.lua
|
|
||||||
reset the feeding timers of all units
|
|
||||||
scripts/gui/
|
|
||||||
hack-wish.lua
|
|
||||||
creates items out of any material
|
|
||||||
unit-info-viewer.lua
|
|
||||||
displays information about units
|
|
||||||
scripts/modtools/
|
|
||||||
add-syndrome.lua
|
|
||||||
add a syndrome to a unit or remove one
|
|
||||||
anonymous-script.lua
|
|
||||||
execute an lua script defined by a string. For example,
|
|
||||||
'scripts/modtools/anonymous-script "print(args[2] .. args[1])" one two'
|
|
||||||
will print 'twoone'. Useful for the *-trigger scripts.
|
|
||||||
force.lua
|
|
||||||
forces events: caravan, migrants, diplomat, megabeast, curiousbeast,
|
|
||||||
mischievousbeast, flier, siege, nightcreature
|
|
||||||
item-trigger.lua
|
|
||||||
triggers commands based on equipping, unequipping, and wounding units with items
|
|
||||||
interaction-trigger.lua
|
|
||||||
triggers commands when interactions happen
|
|
||||||
invader-item-destroyer.lua
|
|
||||||
destroys invaders' items when they die
|
|
||||||
moddable-gods.lua
|
|
||||||
standardized version of Putnam's moddable gods script
|
|
||||||
outside-only.lua
|
|
||||||
register buildings as outside only or inside only
|
|
||||||
replaces outsideOnly plugin
|
|
||||||
projectile-trigger.lua
|
|
||||||
standardized version of projectileExpansion
|
|
||||||
reaction-trigger.lua
|
|
||||||
trigger commands when custom reactions complete
|
|
||||||
replaces autoSyndrome
|
|
||||||
reaction-trigger-transition.lua
|
|
||||||
a tool for converting mods from autoSyndrome to reaction-trigger
|
|
||||||
random-trigger.lua
|
|
||||||
triggers random scripts that you register
|
|
||||||
skill-change.lua
|
|
||||||
for incrementing and setting skills
|
|
||||||
spawn-flow.lua
|
|
||||||
creates flows, like mist or dragonfire
|
|
||||||
syndrome-trigger.lua
|
|
||||||
trigger commands when syndromes happen
|
|
||||||
transform-unit.lua
|
|
||||||
shapeshifts a unit, possibly permanently
|
|
||||||
|
|
||||||
Misc improvements:
|
|
||||||
new function in utils.lua for standardized argument processing
|
|
||||||
|
|
||||||
Removed
|
|
||||||
digmat.rb: digFlood does the same functionality with less FPS impact
|
|
||||||
scripts/invasionNow: scripts/modtools/force.lua does it better
|
|
||||||
autoSyndrome replaced with scripts/modtools/reaction-trigger.lua
|
|
||||||
syndromeTrigger replaced with scripts/modtools/syndrome-trigger.lua
|
|
||||||
devel/printArgs plugin converted to scripts/devel/print-args.lua
|
|
||||||
|
|
||||||
DFHack v0.40.08-r1
|
|
||||||
==================
|
|
||||||
|
|
||||||
Was a mistake. Don't use it.
|
|
||||||
|
|
||||||
DFHack v0.34.11-r5
|
|
||||||
==================
|
|
||||||
::
|
|
||||||
|
|
||||||
Internals:
|
|
||||||
- support for calling a lua function via a protobuf request (demonstrated by dfhack-run --lua).
|
|
||||||
- support for basic filesystem operations (e.g. chdir, mkdir, rmdir, stat) in C++ and Lua
|
|
||||||
- Lua API for listing files in directory. Needed for mod-manager.
|
|
||||||
- Lua API for creating unit combat reports and writing to gamelog.
|
|
||||||
- Lua API for running arbitrary DFHack commands
|
|
||||||
- support for multiple raw/init.d/*.lua init scripts in one save.
|
|
||||||
- eventful now has a more friendly way of making custom sidebars
|
|
||||||
- on Linux and OSX the console now supports moving the cursor back and forward by a whole word.
|
|
||||||
|
|
||||||
New scripts:
|
|
||||||
- gui/mod-manager: allows installing/uninstalling mods into df from df/mods directory.
|
|
||||||
- gui/clone-uniform: duplicates the currently selected uniform in the military screen.
|
|
||||||
- fix/build-location: partial work-around for bug 5991 (trying to build wall while standing on it)
|
|
||||||
- undump-buildings: removes dump designation from materials used in buildings.
|
|
||||||
- exportlegends: exports data from legends mode, allowing a set-and-forget export of large worlds.
|
|
||||||
- log-region: each time a fort is loaded identifying information will be written to the gamelog.
|
|
||||||
- dfstatus: show an overview of critical stock quantities, including food, drinks, wood, and bars.
|
|
||||||
|
|
||||||
New commands:
|
|
||||||
- 'plant create' - spawn a new shrub under the cursor
|
|
||||||
- command-prompt: a dfhack command prompt in df.
|
|
||||||
|
|
||||||
New tweaks:
|
|
||||||
- craft-age-wear: make crafted items wear out with time like in old versions (bug 6003)
|
|
||||||
- adamantine-cloth-wear: stop adamantine clothing from wearing out (bug 6481)
|
|
||||||
- confirm-embark: adds a prompt before embarking (on the "prepare carefully" screen)
|
|
||||||
|
|
||||||
New plugins:
|
|
||||||
- rendermax: replace the renderer with something else. Most interesting is "rendermax light"- a lighting engine for df.
|
|
||||||
- automelt: allows marking stockpiles for automelt (i.e. any items placed in stocpile will be designated for melting)
|
|
||||||
- embark-tools: implementations of Embark Anywhere, Nano Embark, and a few other embark-related utilities
|
|
||||||
- building-hacks: Allows to add custom functionality and/or animations to buildings.
|
|
||||||
- petcapRemover: triggers pregnancies in creatures so that you can effectively raise the default
|
|
||||||
pet population cap from the default 50
|
|
||||||
|
|
||||||
Misc improvements:
|
|
||||||
- plant: move the 'grow', 'extirpate' and 'immolate' commands as 'plant' subcommands
|
|
||||||
- digfort: improved csv parsing, add start() comment handling
|
|
||||||
- exterminate: allow specifying a caste (exterminate gob:male)
|
|
||||||
- createitem: in adventure mode it now defaults to the controlled unit as maker.
|
|
||||||
- autotrade: adds "(Un)mark All" options to both panes of trade screen.
|
|
||||||
- mousequery: several usability improvements.
|
|
||||||
- mousequery: show live overlay (in menu area) of what's on the tile under the mouse cursor.
|
|
||||||
- search: workshop profile search added.
|
|
||||||
- dwarfmonitor: add screen to summarise preferences of fortress dwarfs.
|
|
||||||
- getplants: add autochop function to automate woodcutting.
|
|
||||||
- stocks: added more filtering and display options.
|
|
||||||
|
|
||||||
Siege engine plugin:
|
|
||||||
- engine quality and distance to target now affect accuracy
|
|
||||||
- firing the siege engine at a target produces a combat report
|
|
||||||
- improved movement speed computation for meandering units
|
|
||||||
- operators in Prepare To Fire mode are released from duty once
|
|
||||||
hungry/thirsty if there is a free replacement
|
|
||||||
|
|
||||||
DFHack v0.34.11-r4
|
|
||||||
==================
|
|
||||||
::
|
|
||||||
|
|
||||||
New commands:
|
|
||||||
- diggingInvaders - allows invaders to dig and/or deconstruct walls and buildings in order to get at your dwarves.
|
|
||||||
- digFlood - automatically dig out specified veins as they are revealed
|
|
||||||
- enable, disable - Built-in commands that can be used to enable/disable many plugins.
|
|
||||||
- restrictice - Restrict traffic on squares above visible ice.
|
|
||||||
- restrictliquid - Restrict traffic on every visible square with liquid.
|
|
||||||
- treefarm - automatically chop trees and dig obsidian
|
|
||||||
New scripts:
|
|
||||||
- autobutcher: A GUI front-end for the autobutcher plugin.
|
|
||||||
- invasionNow: trigger an invasion, or many
|
|
||||||
- locate_ore: scan the map for unmined ore veins
|
|
||||||
- masspit: designate caged creatures in a zone for pitting
|
|
||||||
- multicmd: run a sequence of dfhack commands, separated by ';'
|
|
||||||
- startdwarf: change the number of dwarves for a new embark
|
|
||||||
- digmat: dig veins/layers tile by tile, as discovered
|
|
||||||
Misc improvements:
|
|
||||||
- autoSyndrome:
|
|
||||||
disable by default
|
|
||||||
reorganized special tags
|
|
||||||
minimized error spam
|
|
||||||
reset policies: if the target already has an instance of the syndrome you can skip,
|
|
||||||
add another instance, reset the timer, or add the full duration to the time remaining
|
|
||||||
- core: fix SC_WORLD_(UN)LOADED event for arena mode
|
|
||||||
- exterminate: renamed from slayrace, add help message, add butcher mode
|
|
||||||
- fastdwarf: fixed bug involving fastdwarf and teledwarf being on at the same time
|
|
||||||
- magmasource: rename to 'source', allow water/magma sources/drains
|
|
||||||
- ruby: add df.dfhack_run "somecommand"
|
|
||||||
- syndromeTrigger: replaces and extends trueTransformation. Can trigger things when syndromes are added for any reason.
|
|
||||||
- tiletypes: support changing tile material to arbitrary stone.
|
|
||||||
- workNow: can optionally look for jobs when jobs are completed
|
|
||||||
New tweaks:
|
|
||||||
- hive-crash: Prevent crash if bees die in a hive with ungathered products (bug 6368).
|
|
||||||
New plugins:
|
|
||||||
- 3dveins: Reshapes all veins on the map in a way that flows between Z levels. May be unstable. Backup before using.
|
|
||||||
- autotrade: Automatically send items in marked stockpiles to trade depot, when trading is possible.
|
|
||||||
- buildingplan: Place furniture before it's built
|
|
||||||
- dwarfmonitor: Records dwarf activity to measure fort efficiency
|
|
||||||
- mousequery: Look and poke at the map elements with the mouse.
|
|
||||||
- outsideOnly: make raw-specified buildings impossible to build inside
|
|
||||||
- resume: A plugin to help display and resume suspended constructions conveniently
|
|
||||||
- stocks: An improved stocks display screen.
|
|
||||||
Internals:
|
|
||||||
- Core: there is now a per-save dfhack.init file for when the save is loaded, and another for when it is unloaded
|
|
||||||
- EventManager: fixed job completion detection, fixed removal of TICK events, added EQUIPMENT_CHANGE event
|
|
||||||
- Lua API for a better random number generator and perlin noise functions.
|
|
||||||
- Once: easy way to make sure something happens once per run of DF, such as an error message
|
|
||||||
|
|
||||||
DFHack v0.34.11-r3
|
|
||||||
==================
|
|
||||||
::
|
|
||||||
|
|
||||||
Internals:
|
|
||||||
- support for displaying active keybindings properly.
|
|
||||||
- support for reusable widgets in lua screen library.
|
|
||||||
- Maps::canStepBetween: returns whether you can walk between two tiles in one step.
|
|
||||||
- EventManager: monitors various in game events centrally so that individual plugins
|
|
||||||
don't have to monitor the same things redundantly.
|
|
||||||
- Now works with OSX 10.6.8
|
|
||||||
Notable bugfixes:
|
|
||||||
- autobutcher can be re-enabled again after being stopped.
|
|
||||||
- stopped Dwarf Manipulator from unmasking vampires.
|
|
||||||
- Stonesense is now fixed on OSX
|
|
||||||
Misc improvements:
|
|
||||||
- fastdwarf: new mode using debug flags, and some internal consistency fixes.
|
|
||||||
- added a small stand-alone utility for applying and removing binary patches.
|
|
||||||
- removebadthoughts: add --dry-run option
|
|
||||||
- superdwarf: work in adventure mode too
|
|
||||||
- tweak stable-cursor: carries cursor location from/to Build menu.
|
|
||||||
- deathcause: allow selection from the unitlist screen
|
|
||||||
- slayrace: allow targetting undeads
|
|
||||||
New tweaks:
|
|
||||||
- tweak military-training: speed up melee squad training up to 10x (normally 3-5x).
|
|
||||||
New scripts:
|
|
||||||
- binpatch: the same as the stand-alone binpatch.exe, but works at runtime.
|
|
||||||
- region-pops: displays animal populations of the region and allows tweaking them.
|
|
||||||
- lua: lua interpreter front-end converted to a script from a native command.
|
|
||||||
- dfusion: misc scripts with a text based menu.
|
|
||||||
- embark: lets you embark anywhere.
|
|
||||||
- lever: list and pull fort levers from the dfhack console.
|
|
||||||
- stripcaged: mark items inside cages for dumping, eg caged goblin weapons.
|
|
||||||
- soundsense-season: writes the correct season to gamelog.txt on world load.
|
|
||||||
- create-items: spawn items
|
|
||||||
- fix/cloth-stockpile: fixes bug 5739; needs to be run after savegame load every time.
|
|
||||||
New GUI scripts:
|
|
||||||
- gui/guide-path: displays the cached path for minecart Guide orders.
|
|
||||||
- gui/workshop-job: displays inputs of a workshop job and allows tweaking them.
|
|
||||||
- gui/workflow: a front-end for the workflow plugin (part inspired by falconne).
|
|
||||||
- gui/assign-rack: works together with a binary patch to fix weapon racks.
|
|
||||||
- gui/gm-editor: an universal editor for lots of dfhack things.
|
|
||||||
- gui/companion-order: a adventure mode command interface for your companions.
|
|
||||||
- gui/advfort: a way to do jobs with your adventurer (e.g. build fort).
|
|
||||||
New binary patches (for use with binpatch):
|
|
||||||
- armorstand-capacity: doubles the capacity of armor stands.
|
|
||||||
- custom-reagent-size: lets custom reactions use small amounts of inputs.
|
|
||||||
- deconstruct-heapfall: stops some items still falling on head when deconstructing.
|
|
||||||
- deconstruct-teleport: stops items from 16x16 block teleporting when deconstructing.
|
|
||||||
- hospital-overstocking: stops hospital overstocking with supplies.
|
|
||||||
- training-ammo: lets dwarves with quiver full of combat-only ammo train.
|
|
||||||
- weaponrack-unassign: fixes bug that negates work done by gui/assign-rack.
|
|
||||||
Workflow plugin:
|
|
||||||
- properly considers minecarts assigned to routes busy.
|
|
||||||
- code for deducing job outputs rewritten in lua for flexibility.
|
|
||||||
- logic fix: collecting webs produces silk, and ungathered webs are not thread.
|
|
||||||
- items assigned to squads are considered busy, even if not in inventory.
|
|
||||||
- shearing and milking jobs are supported, but only with generic MILK or YARN outputs.
|
|
||||||
- workflow announces when the stock level gets very low once a season.
|
|
||||||
New Fix Armory plugin:
|
|
||||||
Together with a couple of binary patches and the gui/assign-rack script,
|
|
||||||
this plugin makes weapon racks, armor stands, chests and cabinets in
|
|
||||||
properly designated barracks be used again for storage of squad equipment.
|
|
||||||
New Search plugin by falconne:
|
|
||||||
Adds an incremental search function to the Stocks, Trading, Stockpile and Unit List screens.
|
|
||||||
New AutoMaterial plugin by falconne:
|
|
||||||
Makes building constructions (walls, floors, fortifications, etc) a little bit easier by
|
|
||||||
saving you from having to trawl through long lists of materials each time you place one.
|
|
||||||
Dfusion plugin:
|
|
||||||
Reworked to make use of lua modules, now all the scripts can be used from other scripts.
|
|
||||||
New Eventful plugin:
|
|
||||||
A collection of lua events, that will allow new ways to interact with df world.
|
|
||||||
Auto syndrome plugin:
|
|
||||||
A way of automatically applying boiling rock syndromes and calling dfhack commands controlled by raws.
|
|
||||||
Infinite sky plugin:
|
|
||||||
Create new z-levels automatically or on request.
|
|
||||||
True transformation plugin:
|
|
||||||
A better way of doing permanent transformations that allows later transformations.
|
|
||||||
Work now plugin:
|
|
||||||
Makes the game assign jobs every time you pause.
|
|
||||||
|
|
||||||
DFHack v0.34.11-r2
|
|
||||||
==================
|
|
||||||
::
|
|
||||||
|
|
||||||
Internals:
|
|
||||||
- full support for Mac OS X.
|
|
||||||
- a plugin that adds scripting in ruby.
|
|
||||||
- support for interposing virtual methods in DF from C++ plugins.
|
|
||||||
- support for creating new interface screens from C++ and lua.
|
|
||||||
- added various other API functions.
|
|
||||||
Notable bugfixes:
|
|
||||||
- better terminal reset after exit on linux.
|
|
||||||
- seedwatch now works on reclaim.
|
|
||||||
- the sort plugin won't crash on cages anymore.
|
|
||||||
Misc improvements:
|
|
||||||
- autodump: can move items to any walkable tile, not just floors.
|
|
||||||
- stripcaged: by default keep armor, new dumparmor option.
|
|
||||||
- zone: allow non-domesticated birds in nestboxes.
|
|
||||||
- workflow: quality range in constraints.
|
|
||||||
- cleanplants: new command to remove rain water from plants.
|
|
||||||
- liquids: can paint permaflow, i.e. what makes rivers power water wheels.
|
|
||||||
- prospect: pre-embark prospector accounts for caves & magma sea in its estimate.
|
|
||||||
- rename: supports renaming stockpiles, workshops, traps, siege engines.
|
|
||||||
- fastdwarf: now has an additional option to make dwarves teleport to their destination.
|
|
||||||
New commands:
|
|
||||||
- misery: multiplies every negative thought gained (2x by default).
|
|
||||||
- digtype: designates every tile of the same type of vein on the map for 'digging' (any dig designation).
|
|
||||||
New tweaks:
|
|
||||||
- tweak stable-cursor: keeps exact cursor position between d/k/t/q/v etc menus.
|
|
||||||
- tweak patrol-duty: makes Train orders reduce patrol timer, like the binary patch does.
|
|
||||||
- tweak readable-build-plate: fix unreadable truncation in unit pressure plate build ui.
|
|
||||||
- tweak stable-temp: fixes bug 6012; may improve FPS by 50-100% on a slow item-heavy fort.
|
|
||||||
- tweak fast-heat: speeds up item heating & cooling, thus making stable-temp act faster.
|
|
||||||
- tweak fix-dimensions: fixes subtracting small amounts from stacked liquids etc.
|
|
||||||
- tweak advmode-contained: fixes UI bug in custom reactions with container inputs in advmode.
|
|
||||||
- tweak fast-trade: Shift-Enter for selecting items quckly in Trade and Move to Depot screens.
|
|
||||||
- tweak military-stable-assign: Stop rightmost list of military->Positions from jumping to top.
|
|
||||||
- tweak military-color-assigned: In same list, color already assigned units in brown & green.
|
|
||||||
New scripts:
|
|
||||||
- fixnaked: removes thoughts about nakedness.
|
|
||||||
- setfps: set FPS cap at runtime, in case you want slow motion or speed-up.
|
|
||||||
- siren: wakes up units, stops breaks and parties - but causes bad thoughts.
|
|
||||||
- fix/population-cap: run after every migrant wave to prevent exceeding the cap.
|
|
||||||
- fix/stable-temp: counts items with temperature updates; does instant one-shot stable-temp.
|
|
||||||
- fix/loyaltycascade: fix units allegiance, eg after ordering a dwarf merchant kill.
|
|
||||||
- deathcause: shows the circumstances of death for a given body.
|
|
||||||
- digfort: designate areas to dig from a csv file.
|
|
||||||
- drainaquifer: remove aquifers from the map.
|
|
||||||
- growcrops: cheat to make farm crops instantly grow.
|
|
||||||
- magmasource: continuously spawn magma from any map tile.
|
|
||||||
- removebadthoughts: delete all negative thoughts from your dwarves.
|
|
||||||
- slayrace: instakill all units of a given race, optionally with magma.
|
|
||||||
- superdwarf: per-creature fastdwarf.
|
|
||||||
New GUI scripts:
|
|
||||||
- gui/mechanisms: browse mechanism links of the current building.
|
|
||||||
- gui/room-list: browse other rooms owned by the unit when assigning one.
|
|
||||||
- gui/liquids: a GUI front-end for the liquids plugin.
|
|
||||||
- gui/rename: renaming stockpiles, workshops and units via an in-game dialog.
|
|
||||||
- gui/power-meter: front-end for the Power Meter plugin.
|
|
||||||
- gui/siege-engine: front-end for the Siege Engine plugin.
|
|
||||||
- gui/choose-weapons: auto-choose matching weapons in the military equip screen.
|
|
||||||
Autolabor plugin:
|
|
||||||
- can set nonidle hauler percentage.
|
|
||||||
- broker excluded from all labors when needed at depot.
|
|
||||||
- likewise, anybody with a scheduled diplomat meeting.
|
|
||||||
New Dwarf Manipulator plugin:
|
|
||||||
Open the unit list, and press 'l' to access a Dwarf Therapist like UI in the game.
|
|
||||||
New Steam Engine plugin:
|
|
||||||
Dwarven Water Reactors don't make any sense whatsoever and cause lag, so this may be
|
|
||||||
a replacement for those concerned by it. The plugin detects if a workshop with a
|
|
||||||
certain name is in the raws used by the current world, and provides the necessary
|
|
||||||
behavior. See hack/raw/*_steam_engine.txt for the necessary raw definitions.
|
|
||||||
Note: Stuff like animal treadmills might be more period, but absolutely can't be
|
|
||||||
done with tools dfhack has access to.
|
|
||||||
New Power Meter plugin:
|
|
||||||
When activated, implements a pressure plate modification that detects power in gear
|
|
||||||
boxes built on the four adjacent N/S/W/E tiles. The gui/power-meter script implements
|
|
||||||
the necessary build configuration UI.
|
|
||||||
New Siege Engine plugin:
|
|
||||||
When enabled and configured via gui/siege-engine, allows aiming siege engines
|
|
||||||
at a designated rectangular area with 360 degree fire range and across Z levels;
|
|
||||||
this works by rewriting the projectile trajectory immediately after it appears.
|
|
||||||
Also supports loading catapults with non-boulder projectiles, taking from a stockpile,
|
|
||||||
and restricting operator skill range like with ordinary workshops.
|
|
||||||
Disclaimer: not in any way to undermine the future siege update from Toady, but
|
|
||||||
the aiming logic of existing engines hasn't been updated since 2D, and is almost
|
|
||||||
useless above ground :(. Again, things like making siegers bring their own engines
|
|
||||||
is totally out of the scope of dfhack and can only be done by Toady.
|
|
||||||
New Add Spatter plugin:
|
|
||||||
Detects reactions with certain names in the raws, and changes them from adding
|
|
||||||
improvements to adding item contaminants. This allows directly covering items
|
|
||||||
with poisons. The added spatters are immune both to water and 'clean items'.
|
|
||||||
Intended to give some use to all those giant cave spider poison barrels brought
|
|
||||||
by the caravans.
|
|
||||||
|
|
@ -0,0 +1,969 @@
|
|||||||
|
.. comment
|
||||||
|
This is the changelog file for DFHack. If you add or change anything, note
|
||||||
|
it here under the heading "DFHack Future", in the appropriate section.
|
||||||
|
Items within each section are listed in alphabetical order to minimise merge
|
||||||
|
conflicts. Try to match the style and level of detail of the other entries.
|
||||||
|
|
||||||
|
Sections for each release are added as required, and consist solely of the
|
||||||
|
following in order as subheadings::
|
||||||
|
|
||||||
|
Internals
|
||||||
|
Lua
|
||||||
|
New [Internal Commands | Plugins | Scripts | Tweaks]
|
||||||
|
Fixes
|
||||||
|
Misc Improvements
|
||||||
|
Removed
|
||||||
|
|
||||||
|
When referring to a script, plugin, or command, use backticks (```) to
|
||||||
|
create a link to the relevant documentation - and check that the docs are
|
||||||
|
still up to date!
|
||||||
|
|
||||||
|
When adding a new release, change "DFHack future" to the appropriate title
|
||||||
|
before releasing, and then add a new "DFHack future" section after releasing.
|
||||||
|
|
||||||
|
|
||||||
|
#########
|
||||||
|
Changelog
|
||||||
|
#########
|
||||||
|
|
||||||
|
.. contents::
|
||||||
|
:depth: 2
|
||||||
|
|
||||||
|
|
||||||
|
DFHack 0.40.24-r4
|
||||||
|
=================
|
||||||
|
|
||||||
|
Internals
|
||||||
|
---------
|
||||||
|
- A method for caching screen output is now available to Lua (and C++)
|
||||||
|
- Developer plugins can be ignored on startup by setting the ``DFHACK_NO_DEV_PLUGINS`` environment variable
|
||||||
|
- The console on Linux and OS X now recognizes keyboard input between prompts
|
||||||
|
- JSON libraries available (C++ and Lua)
|
||||||
|
- More DFHack build information used in plugin version checks and available to plugins and lua scripts
|
||||||
|
- Fixed a rare overflow issue that could cause crashes on Linux and OS X
|
||||||
|
- Stopped DF window from receiving input when unfocused on OS X
|
||||||
|
- Fixed issues with keybindings involving Ctrl-A and Ctrl-Z, as well as Alt-E/U/N on OS X
|
||||||
|
- Multiple contexts can now be specified when adding keybindings
|
||||||
|
- Keybindings can now use F10-F12 and 0-9
|
||||||
|
- Plugin system is no longer restricted to plugins that exist on startup
|
||||||
|
- :file:`dfhack.init` file locations significantly generalized
|
||||||
|
|
||||||
|
Lua
|
||||||
|
---
|
||||||
|
- Scripts can be enabled with the built-in enable/disable commands
|
||||||
|
- A new function, ``reqscript()``, is available as a safer alternative to ``script_environment()``
|
||||||
|
- Lua viewscreens can choose not to intercept the OPTIONS keybinding
|
||||||
|
|
||||||
|
New internal commands
|
||||||
|
---------------------
|
||||||
|
- kill-lua: Interrupt running Lua scripts
|
||||||
|
- type: Show where a command is implemented
|
||||||
|
|
||||||
|
New plugins
|
||||||
|
-----------
|
||||||
|
- `confirm`: Adds confirmation dialogs for several potentially dangerous actions
|
||||||
|
- `fix-unit-occupancy`: Fixes issues with unit occupancy, such as faulty "unit blocking tile" messages (:bug:`3499`)
|
||||||
|
- title-version (formerly vshook): Display DFHack version on title screen
|
||||||
|
|
||||||
|
New scripts
|
||||||
|
-----------
|
||||||
|
- `armoks-blessing`: Adjust all attributes, personality, age and skills of all dwarves in play
|
||||||
|
- `brainwash`: brainwash a dwarf (modifying their personality)
|
||||||
|
- `burial`: sets all unowned coffins to allow burial ("-pets" to allow pets too)
|
||||||
|
- `deteriorateclothes`: make worn clothes on the ground wear far faster to boost FPS
|
||||||
|
- `deterioratecorpses`: make body parts wear away far faster to boost FPS
|
||||||
|
- `deterioratefood`: make food vanish after a few months if not used
|
||||||
|
- `elevate-mental`: elevate all the mental attributes of a unit
|
||||||
|
- `elevate-physical`: elevate all the physical attributes of a unit
|
||||||
|
- `emigration`: stressed dwarves may leave your fortress if they see a chance
|
||||||
|
- `fix-ster`: changes fertility/sterility of animals or dwarves
|
||||||
|
- `gui/family-affairs`: investigate and alter romantic relationships
|
||||||
|
- `make-legendary`: modify skill(s) of a single unit
|
||||||
|
- `modtools/create-unit`: create new units from nothing
|
||||||
|
- `modtools/equip-item`: a script to equip items on units
|
||||||
|
- `points`: set number of points available at embark screen
|
||||||
|
- `pref-adjust`: Adjust all preferences of all dwarves in play
|
||||||
|
- `rejuvenate`: make any "old" dwarf 20 years old
|
||||||
|
- `starvingdead`: make undead weaken after one month on the map, and crumble after six
|
||||||
|
- `view-item-info`: adds information and customisable descriptions to item viewscreens
|
||||||
|
- `warn-starving`: check for starving, thirsty, or very drowsy units and pause with warning if any are found
|
||||||
|
|
||||||
|
New tweaks
|
||||||
|
----------
|
||||||
|
- embark-profile-name: Allows the use of lowercase letters when saving embark profiles
|
||||||
|
- kitchen-keys: Fixes DF kitchen meal keybindings
|
||||||
|
- kitchen-prefs-color: Changes color of enabled items to green in kitchen preferences
|
||||||
|
- kitchen-prefs-empty: Fixes a layout issue with empty kitchen tabs
|
||||||
|
|
||||||
|
Fixes
|
||||||
|
-----
|
||||||
|
- Plugins with vmethod hooks can now be reloaded on OS X
|
||||||
|
- Lua's ``os.system()`` now works on OS X
|
||||||
|
- Fixed default arguments in Lua gametype detection functions
|
||||||
|
- Circular lua dependencies (reqscript/script_environment) fixed
|
||||||
|
- Prevented crash in ``Items::createItem()``
|
||||||
|
- `buildingplan`: Now supports hatch covers
|
||||||
|
- `gui/create-item`: fixed assigning quality to items, made :kbd:`Esc` work properly
|
||||||
|
- `gui/gm-editor`: handles lua tables properly
|
||||||
|
- help: now recognizes built-in commands, like "help"
|
||||||
|
- `manipulator`: fixed crash when selecting custom professions when none are found
|
||||||
|
- `remotefortressreader`: fixed crash when attempting to send map info when no map was loaded
|
||||||
|
- `search-plugin`: fixed crash in unit list after cancelling a job; fixed crash when disabling stockpile category after searching in a subcategory
|
||||||
|
- `stockpiles`: now checks/sanitizes filenames when saving
|
||||||
|
- `stocks`: fixed a crash when right-clicking
|
||||||
|
- `steam-engine`: fixed a crash on arena load; number keys (e.g. 2/8) take priority over cursor keys when applicable
|
||||||
|
- tweak fps-min fixed
|
||||||
|
- tweak farm-plot-select: Stopped controls from appearing when plots weren't fully built
|
||||||
|
- `workflow`: Fixed some issues with stuck jobs. Existing stuck jobs must be cancelled and re-added
|
||||||
|
- `zone`: Fixed a crash when using ``zone set`` (and a few other potential crashes)
|
||||||
|
|
||||||
|
Misc Improvements
|
||||||
|
-----------------
|
||||||
|
- DFHack documentation:
|
||||||
|
|
||||||
|
- massively reorganised, into files of more readable size
|
||||||
|
- added many missing entries
|
||||||
|
- indexes, internal links, offline search all documents
|
||||||
|
- includes documentation of linked projects (df-structures, third-party scripts)
|
||||||
|
- better HTML generation with Sphinx
|
||||||
|
- documentation for scripts now located in source files
|
||||||
|
|
||||||
|
- `autolabor`:
|
||||||
|
|
||||||
|
- Stopped modification of labors that shouldn't be modified for brokers/diplomats
|
||||||
|
- Prioritize skilled dwarves more efficiently
|
||||||
|
- Prevent dwarves from running away with tools from previous jobs
|
||||||
|
|
||||||
|
- `automaterial`: Fixed several issues with constructions being allowed/disallowed incorrectly when using box-select
|
||||||
|
- `dwarfmonitor`:
|
||||||
|
|
||||||
|
- widgets' positions, formats, etc. are now customizable (see Readme)
|
||||||
|
- weather display now separated from the date display
|
||||||
|
- New mouse cursor widget
|
||||||
|
|
||||||
|
- `gui/dfstatus`: Can enable/disable individual categories and customize metal bar list
|
||||||
|
- `full-heal`: ``-r`` option removes corpses
|
||||||
|
- `gui/gm-editor`
|
||||||
|
|
||||||
|
- Pointers can now be displaced
|
||||||
|
- Added some useful aliases: "item" for the selected item, "screen" for the current screen, etc.
|
||||||
|
- Now avoids errors with unrecognized types
|
||||||
|
|
||||||
|
- `gui/hack-wish`: renamed to `gui/create-item`
|
||||||
|
- "keybinding list" accepts a context
|
||||||
|
- `lever`:
|
||||||
|
|
||||||
|
- Lists lever names
|
||||||
|
- "lever pull" can be used to pull the currently-selected lever
|
||||||
|
|
||||||
|
- memview: Fixed display issue
|
||||||
|
- `modtools/create-item`: arguments are named more clearly, and you can specify the creator to be the unit with id ``df.global.unit_next_id-1`` (useful in conjunction with `modtools/create-unit`)
|
||||||
|
- nyan: Can now be stopped with dfhack-run
|
||||||
|
- plug: lists all plugins; shows state and number of commands in plugins
|
||||||
|
- `prospect`: works from within command-prompt
|
||||||
|
- `quicksave`: Restricted to fortress mode
|
||||||
|
- `remotefortressreader`: Exposes more information
|
||||||
|
- `search-plugin`:
|
||||||
|
|
||||||
|
- Supports noble suggestion screen (e.g. suggesting a baron)
|
||||||
|
- Supports fortress mode loo[k] menu
|
||||||
|
- Recognizes ? and ; keys
|
||||||
|
|
||||||
|
- `stocks`: can now match beginning and end of item names
|
||||||
|
- `teleport`: Fixed cursor recognition
|
||||||
|
- `tidlers`, `twaterlvl`: now implemented by scripts instead of a plugin
|
||||||
|
- `tweak`:
|
||||||
|
|
||||||
|
- debug output now logged to stderr.log instead of console - makes DFHack start faster
|
||||||
|
- farm-plot-select: Fixed issues with selecting undiscovered crops
|
||||||
|
|
||||||
|
- `workflow`: Improved handling of plant reactions
|
||||||
|
|
||||||
|
Removed
|
||||||
|
-------
|
||||||
|
- `embark-tools` nano: 1x1 embarks are now possible in vanilla 0.40.24
|
||||||
|
|
||||||
|
DFHack 0.40.24-r3
|
||||||
|
=================
|
||||||
|
|
||||||
|
Internals
|
||||||
|
---------
|
||||||
|
- Ruby library now included on OS X - Ruby scripts should work on OS X 10.10
|
||||||
|
- libstdc++ should work with older versions of OS X
|
||||||
|
- Added support for ``onLoadMap.init``/``onUnloadMap.init`` scripts
|
||||||
|
- game type detection functions are now available in the World module
|
||||||
|
- The ``DFHACK_LOG_MEM_RANGES`` environment variable can be used to log information to ``stderr.log`` on OS X
|
||||||
|
- Fixed adventure mode menu names
|
||||||
|
- Fixed command usage information for some commands
|
||||||
|
|
||||||
|
Lua
|
||||||
|
---
|
||||||
|
- Lua scripts will only be reloaded if necessary
|
||||||
|
- Added a ``df2console()`` wrapper, useful for printing DF (CP437-encoded) text to the console in a portable way
|
||||||
|
- Added a ``strerror()`` wrapper
|
||||||
|
|
||||||
|
New Internal Commands
|
||||||
|
---------------------
|
||||||
|
- `hide`, `show`: hide and show the console on Windows
|
||||||
|
- `sc-script`: Allows additional scripts to be run when certain events occur (similar to onLoad*.init scripts)
|
||||||
|
|
||||||
|
New Plugins
|
||||||
|
-----------
|
||||||
|
- `autohauler`: A hauling-only version of autolabor
|
||||||
|
|
||||||
|
New Scripts
|
||||||
|
-----------
|
||||||
|
- `modtools/reaction-product-trigger`: triggers callbacks when products are produced (contrast with when reactions complete)
|
||||||
|
|
||||||
|
New Tweaks
|
||||||
|
----------
|
||||||
|
- `fps-min <tweak>`: Fixes the in-game minimum FPS setting
|
||||||
|
- `shift-8-scroll <tweak>`: Gives Shift+8 (or ``*``) priority when scrolling menus, instead of scrolling the map
|
||||||
|
- `tradereq-pet-gender <tweak>`: Displays pet genders on the trade request screen
|
||||||
|
|
||||||
|
Fixes
|
||||||
|
-----
|
||||||
|
- Fixed game type detection in `3dveins`, `gui/create-item`, `reveal`, `seedwatch`
|
||||||
|
- PRELOAD_LIB: More extensible on Linux
|
||||||
|
- `add-spatter`, `eventful`: Fixed crash on world load
|
||||||
|
- `add-thought`: Now has a proper subthought arg.
|
||||||
|
- `building-hacks`: Made buildings produce/consume correct amount of power
|
||||||
|
- `fix-armory`: compiles and is available again (albeit with issues)
|
||||||
|
- `gui/gm-editor`: Added search option (accessible with "s")
|
||||||
|
- `hack-wish <gui/create-item>`: Made items stack properly.
|
||||||
|
- `modtools/skill-change`: Made level granularity work properly.
|
||||||
|
- `show-unit-syndromes`: should work
|
||||||
|
- `stockflow`:
|
||||||
|
|
||||||
|
- Fixed error message in Arena mode
|
||||||
|
- no longer checks the DF version
|
||||||
|
- fixed ballistic arrow head orders
|
||||||
|
- convinces the bookkeeper to update records more often'
|
||||||
|
|
||||||
|
- `zone`: Stopped crash when scrolling cage owner list
|
||||||
|
|
||||||
|
Misc Improvements
|
||||||
|
-----------------
|
||||||
|
- `autolabor`: A negative pool size can be specified to use the most unskilled dwarves
|
||||||
|
- `building-hacks`:
|
||||||
|
|
||||||
|
- Added a way to allow building to work even if it consumes more power than is available.
|
||||||
|
- Added setPower/getPower functions.
|
||||||
|
|
||||||
|
- `catsplosion`: Can now trigger pregnancies in (most) other creatures
|
||||||
|
- `exportlegends`: ``info`` and ``all`` options export ``legends_plus.xml`` with more data for legends utilities
|
||||||
|
- `manipulator`:
|
||||||
|
|
||||||
|
- Added ability to edit nicknames/profession names
|
||||||
|
- added "Job" as a View Type, in addition to "Profession" and "Squad"
|
||||||
|
- added custom profession templates with masking
|
||||||
|
|
||||||
|
- `remotefortressreader`: Exposes more information
|
||||||
|
|
||||||
|
|
||||||
|
DFHack 0.40.24-r2
|
||||||
|
=================
|
||||||
|
|
||||||
|
Internals
|
||||||
|
---------
|
||||||
|
- Lua scripts can set environment variables of each other with dfhack.run_script_with_env.
|
||||||
|
- Lua scripts can now call each others internal nonlocal functions with dfhack.script_environment(scriptName).functionName(arg1,arg2).
|
||||||
|
- `eventful`: Lua reactions no longer require LUA_HOOK as a prefix; you can register a callback for the completion of any reaction with a name
|
||||||
|
- Filesystem module now provides file access/modification times and can list directories (normally and recursively)
|
||||||
|
- Units Module: New functions::
|
||||||
|
|
||||||
|
isWar
|
||||||
|
isHunter
|
||||||
|
isAvailableForAdoption
|
||||||
|
isOwnCiv
|
||||||
|
isOwnRace
|
||||||
|
getRaceName
|
||||||
|
getRaceNamePlural
|
||||||
|
getRaceBabyName
|
||||||
|
getRaceChildName
|
||||||
|
isBaby
|
||||||
|
isChild
|
||||||
|
isAdult
|
||||||
|
isEggLayer
|
||||||
|
isGrazer
|
||||||
|
isMilkable
|
||||||
|
isTrainableWar
|
||||||
|
isTrainableHunting
|
||||||
|
isTamable
|
||||||
|
isMale
|
||||||
|
isFemale
|
||||||
|
isMerchant
|
||||||
|
isForest
|
||||||
|
isMarkedForSlaughter
|
||||||
|
|
||||||
|
- Buildings Module: New Functions::
|
||||||
|
|
||||||
|
isActivityZone
|
||||||
|
isPenPasture
|
||||||
|
isPitPond
|
||||||
|
isActive
|
||||||
|
findPenPitAt
|
||||||
|
|
||||||
|
Fixes
|
||||||
|
-----
|
||||||
|
- ``dfhack.run_script`` should correctly find save-specific scripts now.
|
||||||
|
- `add-thought`: updated to properly affect stress.
|
||||||
|
- `hfs-pit`: should work now
|
||||||
|
- `autobutcher`: takes gelding into account
|
||||||
|
- init.lua existence checks should be more reliable (notably when using non-English locales)
|
||||||
|
|
||||||
|
Misc Improvements
|
||||||
|
-----------------
|
||||||
|
Multiline commands are now possible inside dfhack.init scripts. See :file:`dfhack.init-example` for example usage.
|
||||||
|
|
||||||
|
|
||||||
|
DFHack 0.40.24-r1
|
||||||
|
=================
|
||||||
|
|
||||||
|
Internals
|
||||||
|
---------
|
||||||
|
CMake shouldn't cache DFHACK_RELEASE anymore. People may need to manually update/delete their CMake cache files to get rid of it.
|
||||||
|
|
||||||
|
|
||||||
|
DFHack 0.40.24-r0
|
||||||
|
=================
|
||||||
|
|
||||||
|
Internals
|
||||||
|
---------
|
||||||
|
- `EventManager`: fixed crash error with EQUIPMENT_CHANGE event.
|
||||||
|
- key modifier state exposed to Lua (ie :kbd:`Ctrl`, :kbd:`Alt`, :kbd:`Shift`)
|
||||||
|
|
||||||
|
Fixes
|
||||||
|
-----
|
||||||
|
``dfhack.sh`` can now be run from other directories on OS X
|
||||||
|
|
||||||
|
New Plugins
|
||||||
|
-----------
|
||||||
|
- `blueprint`: export part of your fortress to quickfort .csv files
|
||||||
|
|
||||||
|
New Scripts
|
||||||
|
-----------
|
||||||
|
- `hotkey-notes`: print key, name, and jump position of hotkeys
|
||||||
|
|
||||||
|
Removed
|
||||||
|
-------
|
||||||
|
- embark.lua
|
||||||
|
- needs_porting/*
|
||||||
|
|
||||||
|
Misc Improvements
|
||||||
|
-----------------
|
||||||
|
Added support for searching more lists
|
||||||
|
|
||||||
|
|
||||||
|
DFHack 0.40.23-r1
|
||||||
|
=================
|
||||||
|
|
||||||
|
Internals
|
||||||
|
- plugins will not be loaded if globals they specify as required are not located (should prevent some crashes)
|
||||||
|
|
||||||
|
Fixes
|
||||||
|
-----
|
||||||
|
- Fixed numerous (mostly Lua-related) crashes on OS X by including a more up-to-date libstdc++
|
||||||
|
- :kbd:`Alt` should no longer get stuck on Windows (and perhaps other platforms as well)
|
||||||
|
- `gui/advfort` works again
|
||||||
|
- `autobutcher`: takes sexualities into account
|
||||||
|
- devel/export-dt-ini: Updated for 0.40.20+
|
||||||
|
- `digfort`: now checks file type and existence
|
||||||
|
- `exportlegends`: Fixed map export
|
||||||
|
- `full-heal`: Fixed a problem with selecting units in the GUI
|
||||||
|
- `gui/hack-wish`: Fixed restrictive material filters
|
||||||
|
- `mousequery`: Changed box-select key to Alt+M
|
||||||
|
- `dwarfmonitor`: correct date display (month index, separator)
|
||||||
|
- `putontable`: added to the readme
|
||||||
|
- `siren` should work again
|
||||||
|
- stderr.log: removed excessive debug output on OS X
|
||||||
|
- `trackstop`: No longer prevents cancelling the removal of a track stop or roller.
|
||||||
|
- Fixed a display issue with ``PRINT_MODE:TEXT``
|
||||||
|
- Fixed a symbol error (MapExtras::BiomeInfo::MAX_LAYERS) when compiling DFHack in Debug mode
|
||||||
|
|
||||||
|
New Plugins
|
||||||
|
-----------
|
||||||
|
- `fortplan`: designate construction of (limited) buildings from .csv file, quickfort-style
|
||||||
|
|
||||||
|
New Scripts
|
||||||
|
-----------
|
||||||
|
- `gui/stockpiles`: an in-game interface for saving and loading stockpile settings files.
|
||||||
|
- `position`: Reports the current date, time, month, and season, plus some location info. Port/update of position.py
|
||||||
|
- `hfs-pit`: Digs a hole to hell under the cursor. Replaces needs_porting/hellhole.cpp
|
||||||
|
|
||||||
|
Removed
|
||||||
|
-------
|
||||||
|
- embark.lua: Obsolete, use `embark-tools`
|
||||||
|
|
||||||
|
New tweaks
|
||||||
|
----------
|
||||||
|
- `eggs-fertile <tweak>`: Displays an egg fertility indicator on nestboxes
|
||||||
|
- `max-wheelbarrow <tweak>`: Allows assigning more than 3 wheelbarrows to a stockpile
|
||||||
|
|
||||||
|
Misc Improvements
|
||||||
|
-----------------
|
||||||
|
- `embark-tools`: Added basic mouse support on the local map
|
||||||
|
- Made some adventure mode keybindings in :file:`dfhack.init-example` only work in adventure mode
|
||||||
|
- `gui/companion-order`: added a default keybinding
|
||||||
|
- further work on needs_porting
|
||||||
|
|
||||||
|
|
||||||
|
DFHack 0.40.19-r1
|
||||||
|
=================
|
||||||
|
|
||||||
|
Fixes
|
||||||
|
-----
|
||||||
|
- `modtools/reaction-trigger`: fixed typo
|
||||||
|
- `modtools/item-trigger`: should now work with item types
|
||||||
|
|
||||||
|
New plugins
|
||||||
|
-----------
|
||||||
|
- `savestock, loadstock <stocksettings>`: save and load stockpile settings across worlds and saves
|
||||||
|
|
||||||
|
New scripts
|
||||||
|
-----------
|
||||||
|
- `remove-stress`: set selected or all units unit to -1,000,000 stress (this script replaces removebadthoughts)
|
||||||
|
|
||||||
|
Misc improvements
|
||||||
|
-----------------
|
||||||
|
- `command-prompt`: can now access selected items, units, and buildings
|
||||||
|
- `autolabor`: add an optional talent pool parameter
|
||||||
|
|
||||||
|
|
||||||
|
DFHack 0.40.16-r1
|
||||||
|
=================
|
||||||
|
|
||||||
|
Internals
|
||||||
|
---------
|
||||||
|
- `EventManager` should handle INTERACTION triggers a little better. It still can get confused about who did what but only rarely.
|
||||||
|
- `EventManager` should no longer trigger REPORT events for old reports after loading a save.
|
||||||
|
- lua/persist-table: a convenient way of using persistent tables of arbitrary structure and dimension in Lua
|
||||||
|
|
||||||
|
Fixes
|
||||||
|
-----
|
||||||
|
- `mousequery`: Disabled when linking levers
|
||||||
|
- `stocks`: Melting should work now
|
||||||
|
- `full-heal`: Updated with proper argument handling
|
||||||
|
- `modtools/reaction-trigger-transition`: should produce the correct syntax now
|
||||||
|
- `superdwarf`: should work better now
|
||||||
|
- `forum-dwarves`: update for new df-structures changes
|
||||||
|
|
||||||
|
New Scripts
|
||||||
|
-----------
|
||||||
|
- `adaptation`: view or set the cavern adaptation level of your citizens
|
||||||
|
- `add-thought`: allows the user to add thoughts to creatures.
|
||||||
|
- `gaydar`: detect the sexual orientation of units on the map
|
||||||
|
- `markdown`: Save a copy of a text screen in markdown (for reddit among others).
|
||||||
|
- devel/all-bob: renames everyone Bob to help test interaction-trigger
|
||||||
|
|
||||||
|
Misc Improvements
|
||||||
|
-----------------
|
||||||
|
- `autodump`: Can now mark a stockpile for auto-dumping (similar to automelt and autotrade)
|
||||||
|
- `buildingplan`: Can now auto-allocate rooms to dwarves with specific positions (e.g. expedition leader, mayor)
|
||||||
|
- `dwarfmonitor`: now displays a weather indicator and date
|
||||||
|
- lua/syndrome-util, `modtools/add-syndrome`: now you can remove syndromes by SYN_CLASS
|
||||||
|
- No longer write empty :file:`.history` files
|
||||||
|
|
||||||
|
|
||||||
|
DFHack 0.40.15-r1
|
||||||
|
=================
|
||||||
|
|
||||||
|
Fixes
|
||||||
|
-----
|
||||||
|
- mousequery: Fixed behavior when selecting a tile on the lowest z-level
|
||||||
|
|
||||||
|
Misc Improvements
|
||||||
|
-----------------
|
||||||
|
- `EventManager`: deals with frame_counter getting reset properly now.
|
||||||
|
- `modtools/item-trigger`: fixed equip/unequip bug and corrected minor documentation error
|
||||||
|
- `teleport`: Updated with proper argument handling and proper unit-at-destination handling.
|
||||||
|
- `autotrade`: Removed the newly obsolete :guilabel:`Mark all` functionality.
|
||||||
|
- `search-plugin`: Adapts to the new trade screen column width
|
||||||
|
- `tweak fast-trade <tweak>`: Switching the fast-trade keybinding to Shift-Up/Shift-Down, due to Select All conflict
|
||||||
|
|
||||||
|
|
||||||
|
DFHack 0.40.14-r1
|
||||||
|
=================
|
||||||
|
|
||||||
|
Internals
|
||||||
|
---------
|
||||||
|
- The DFHack console can now be disabled by setting the DFHACK_DISABLE_CONSOLE environment variable: ``DFHACK_DISABLE_CONSOLE=1 ./dfhack``
|
||||||
|
|
||||||
|
Fixes
|
||||||
|
-----
|
||||||
|
- Stopped duplicate load/unload events when unloading a world
|
||||||
|
- Stopped ``-e`` from being echoed when DFHack quits on Linux
|
||||||
|
- `automelt`: now uses a faster method to locate items
|
||||||
|
- `autotrade`: "Mark all" no longer double-marks bin contents
|
||||||
|
- `drain-aquifer`: new script replaces the buggy plugin
|
||||||
|
- `embark-tools`: no longer conflicts with keys on the notes screen
|
||||||
|
- `fastdwarf`: Fixed problems with combat/attacks
|
||||||
|
- `forum-dwarves`: should work now
|
||||||
|
- `manipulator`: now uses a stable sort, allowing sorting by multiple categories
|
||||||
|
- `rendermax`: updated to work with 0.40
|
||||||
|
|
||||||
|
New Plugins
|
||||||
|
-----------
|
||||||
|
- `trackstop`: Shows track stop friction and dump direction in its :kbd:`q` menu
|
||||||
|
|
||||||
|
New Tweaks
|
||||||
|
----------
|
||||||
|
- farm-plot-select: Adds "Select all" and "Deselect all" options to farm plot menus
|
||||||
|
- import-priority-category: Allows changing the priority of all goods in a category when discussing an import agreement with the liaison
|
||||||
|
- manager-quantity: Removes the limit of 30 jobs per manager order
|
||||||
|
- civ-view-agreement: Fixes overlapping text on the "view agreement" screen
|
||||||
|
- nestbox-color: Fixes the color of built nestboxes
|
||||||
|
|
||||||
|
Misc Improvements
|
||||||
|
-----------------
|
||||||
|
- `exportlegends`: can now handle site maps
|
||||||
|
|
||||||
|
|
||||||
|
DFHack 0.40.13-r1
|
||||||
|
=================
|
||||||
|
|
||||||
|
Internals
|
||||||
|
---------
|
||||||
|
- unified spatter structs
|
||||||
|
- added ruby df.print_color(color, string) method for dfhack console
|
||||||
|
|
||||||
|
Fixes
|
||||||
|
-----
|
||||||
|
- no more ``-e`` after terminating
|
||||||
|
- fixed `superdwarf`
|
||||||
|
|
||||||
|
|
||||||
|
DFHack 0.40.12-r1
|
||||||
|
=================
|
||||||
|
|
||||||
|
Internals
|
||||||
|
---------
|
||||||
|
- support for global :file:`onLoadWorld.init` and :file:`onUnloadWorld.init` files, called when loading and unloading a world
|
||||||
|
- Close file after loading a binary patch.
|
||||||
|
|
||||||
|
New Plugins
|
||||||
|
-----------
|
||||||
|
- `hotkeys`: Shows ingame viewscreen with all dfhack keybindings active in current mode.
|
||||||
|
- `automelt`: allows marking stockpiles so any items placed in them will be designated for melting
|
||||||
|
|
||||||
|
Fixes
|
||||||
|
-----
|
||||||
|
- possible crash fixed for `gui/hack-wish`
|
||||||
|
- `search-plugin`: updated to not conflict with BUILDJOB_SUSPEND
|
||||||
|
- `workflow`: job_material_category -> dfhack_material_category
|
||||||
|
|
||||||
|
Misc Improvements
|
||||||
|
-----------------
|
||||||
|
- now you can use ``@`` to print things in interactive Lua with subtley different semantics
|
||||||
|
- optimizations for stockpiles for `autotrade` and `stockflow`
|
||||||
|
- updated `exportlegends` to work with new maps, dfhack 40.11 r1+
|
||||||
|
|
||||||
|
|
||||||
|
DFHack 0.40.11-r1
|
||||||
|
=================
|
||||||
|
|
||||||
|
Internals
|
||||||
|
- Plugins on OS X now use ``.plug.dylib` as an extension instead of ``.plug.so``
|
||||||
|
|
||||||
|
Fixes
|
||||||
|
-----
|
||||||
|
- `3dveins`: should no longer hang/crash on specific maps
|
||||||
|
- `autotrade`, `search-plugin`: fixed some layout issues
|
||||||
|
- `deathcause`: updated
|
||||||
|
- `gui/hack-wish`: should work now
|
||||||
|
- `reveal`: no longer allocates data for nonexistent map blocks
|
||||||
|
- Various documentation fixes and updates
|
||||||
|
|
||||||
|
|
||||||
|
DFHack v0.40.10-r1
|
||||||
|
==================
|
||||||
|
|
||||||
|
A few bugfixes.
|
||||||
|
|
||||||
|
DFHack v0.40.08-r2
|
||||||
|
==================
|
||||||
|
|
||||||
|
Internals
|
||||||
|
---------
|
||||||
|
- supported per save script folders
|
||||||
|
- Items module: added createItem function
|
||||||
|
- Sorted CMakeList for plugins and plugins/devel
|
||||||
|
- diggingInvaders no longer builds if plugin building is disabled
|
||||||
|
- `EventManager`: EQUIPMENT_CHANGE now triggers for new units. New events::
|
||||||
|
|
||||||
|
ON_REPORT
|
||||||
|
UNIT_ATTACK
|
||||||
|
UNLOAD
|
||||||
|
INTERACTION
|
||||||
|
|
||||||
|
New Scripts
|
||||||
|
-----------
|
||||||
|
- lua/repeat-util: makes it easier to make things repeat indefinitely
|
||||||
|
- lua/syndrome-util: makes it easier to deal with unit syndromes
|
||||||
|
- forum-dwarves: helps copy df viewscreens to a file
|
||||||
|
- full-heal: fully heal a unit
|
||||||
|
- remove-wear: removes wear from all items in the fort
|
||||||
|
- repeat: repeatedly calls a script or a plugin
|
||||||
|
- ShowUnitSyndromes: shows syndromes affecting units and other relevant info
|
||||||
|
- teleport: teleports units
|
||||||
|
- devel/print-args
|
||||||
|
- fix/blood-del: makes it so civs don't bring barrels full of blood ichor or goo
|
||||||
|
- fix/feeding-timers: reset the feeding timers of all units
|
||||||
|
- gui/hack-wish: creates items out of any material
|
||||||
|
- gui/unit-info-viewer: displays information about units
|
||||||
|
- modtools/add-syndrome: add a syndrome to a unit or remove one
|
||||||
|
- modtools/anonymous-script: execute an lua script defined by a string. Useful for the ``*-trigger`` scripts.
|
||||||
|
- modtools/force: forces events: caravan, migrants, diplomat, megabeast, curiousbeast, mischievousbeast, flier, siege, nightcreature
|
||||||
|
- modtools/item-trigger: triggers commands based on equipping, unequipping, and wounding units with items
|
||||||
|
- modtools/interaction-trigger: triggers commands when interactions happen
|
||||||
|
- modtools/invader-item-destroyer: destroys invaders' items when they die
|
||||||
|
- modtools/moddable-gods: standardized version of Putnam's moddable gods script
|
||||||
|
- modtools/projectile-trigger: standardized version of projectileExpansion
|
||||||
|
- modtools/reaction-trigger: trigger commands when custom reactions complete; replaces autoSyndrome
|
||||||
|
- modtools/reaction-trigger-transition: a tool for converting mods from autoSyndrome to reaction-trigger
|
||||||
|
- modtools/random-trigger: triggers random scripts that you register
|
||||||
|
- modtools/skill-change: for incrementing and setting skills
|
||||||
|
- modtools/spawn-flow: creates flows, like mist or dragonfire
|
||||||
|
- modtools/syndrome-trigger: trigger commands when syndromes happen
|
||||||
|
- modtools/transform-unit: shapeshifts a unit, possibly permanently
|
||||||
|
|
||||||
|
Misc improvements
|
||||||
|
-----------------
|
||||||
|
- new function in utils.lua for standardized argument processing
|
||||||
|
|
||||||
|
Removed
|
||||||
|
-------
|
||||||
|
- digmat.rb: digFlood does the same functionality with less FPS impact
|
||||||
|
- scripts/invasionNow: scripts/modtools/force.lua does it better
|
||||||
|
- autoSyndrome replaced with scripts/modtools/reaction-trigger.lua
|
||||||
|
- syndromeTrigger replaced with scripts/modtools/syndrome-trigger.lua
|
||||||
|
- devel/printArgs plugin converted to scripts/devel/print-args.lua
|
||||||
|
- outsideOnly plugin replaced by modtools/outside-only
|
||||||
|
|
||||||
|
|
||||||
|
DFHack v0.40.08-r1
|
||||||
|
==================
|
||||||
|
|
||||||
|
Was a mistake. Don't use it.
|
||||||
|
|
||||||
|
DFHack v0.34.11-r5
|
||||||
|
==================
|
||||||
|
|
||||||
|
Internals
|
||||||
|
---------
|
||||||
|
- support for calling a lua function via a protobuf request (demonstrated by dfhack-run --lua).
|
||||||
|
- support for basic filesystem operations (e.g. chdir, mkdir, rmdir, stat) in C++ and Lua
|
||||||
|
- Lua API for listing files in directory. Needed for mod-manager.
|
||||||
|
- Lua API for creating unit combat reports and writing to gamelog.
|
||||||
|
- Lua API for running arbitrary DFHack commands
|
||||||
|
- support for multiple ``raw/init.d/*.lua`` init scripts in one save.
|
||||||
|
- eventful now has a more friendly way of making custom sidebars
|
||||||
|
- on Linux and OS X the console now supports moving the cursor back and forward by a whole word.
|
||||||
|
|
||||||
|
New scripts
|
||||||
|
-----------
|
||||||
|
- gui/mod-manager: allows installing/uninstalling mods into df from df/mods directory.
|
||||||
|
- gui/clone-uniform: duplicates the currently selected uniform in the military screen.
|
||||||
|
- fix/build-location: partial work-around for bug 5991 (trying to build wall while standing on it)
|
||||||
|
- undump-buildings: removes dump designation from materials used in buildings.
|
||||||
|
- exportlegends: exports data from legends mode, allowing a set-and-forget export of large worlds.
|
||||||
|
- log-region: each time a fort is loaded identifying information will be written to the gamelog.
|
||||||
|
- dfstatus: show an overview of critical stock quantities, including food, drinks, wood, and bars.
|
||||||
|
- command-prompt: a dfhack command prompt in df.
|
||||||
|
|
||||||
|
New plugins
|
||||||
|
-----------
|
||||||
|
- rendermax: replace the renderer with something else, eg ``rendermax light``- a lighting engine
|
||||||
|
- automelt: allows marking stockpiles for automelt (i.e. any items placed in stocpile will be designated for melting)
|
||||||
|
- embark-tools: implementations of Embark Anywhere, Nano Embark, and a few other embark-related utilities
|
||||||
|
- building-hacks: Allows to add custom functionality and/or animations to buildings.
|
||||||
|
- petcapRemover: triggers pregnancies in creatures so that you can effectively raise the default pet population cap
|
||||||
|
- 'plant create': spawn a new shrub under the cursor
|
||||||
|
|
||||||
|
New tweaks
|
||||||
|
----------
|
||||||
|
- craft-age-wear: make crafted items wear out with time like in old versions (bug 6003)
|
||||||
|
- adamantine-cloth-wear: stop adamantine clothing from wearing out (bug 6481)
|
||||||
|
- confirm-embark: adds a prompt before embarking (on the "prepare carefully" screen)
|
||||||
|
|
||||||
|
Misc improvements
|
||||||
|
-----------------
|
||||||
|
- plant: move the 'grow', 'extirpate' and 'immolate' commands as 'plant' subcommands
|
||||||
|
- digfort: improved csv parsing, add start() comment handling
|
||||||
|
- exterminate: allow specifying a caste (exterminate gob:male)
|
||||||
|
- createitem: in adventure mode it now defaults to the controlled unit as maker.
|
||||||
|
- autotrade: adds "(Un)mark All" options to both panes of trade screen.
|
||||||
|
- mousequery: several usability improvements.
|
||||||
|
- mousequery: show live overlay (in menu area) of what's on the tile under the mouse cursor.
|
||||||
|
- search: workshop profile search added.
|
||||||
|
- dwarfmonitor: add screen to summarise preferences of fortress dwarfs.
|
||||||
|
- getplants: add autochop function to automate woodcutting.
|
||||||
|
- stocks: added more filtering and display options.
|
||||||
|
|
||||||
|
- Siege engine plugin:
|
||||||
|
|
||||||
|
- engine quality and distance to target now affect accuracy
|
||||||
|
- firing the siege engine at a target produces a combat report
|
||||||
|
- improved movement speed computation for meandering units
|
||||||
|
- operators in Prepare To Fire mode are released from duty once hungry/thirsty if there is a free replacement
|
||||||
|
|
||||||
|
|
||||||
|
DFHack v0.34.11-r4
|
||||||
|
==================
|
||||||
|
|
||||||
|
New commands
|
||||||
|
------------
|
||||||
|
- diggingInvaders - allows invaders to dig and/or deconstruct walls and buildings in order to get at your dwarves.
|
||||||
|
- digFlood - automatically dig out specified veins as they are revealed
|
||||||
|
- enable, disable - Built-in commands that can be used to enable/disable many plugins.
|
||||||
|
- restrictice - Restrict traffic on squares above visible ice.
|
||||||
|
- restrictliquid - Restrict traffic on every visible square with liquid.
|
||||||
|
- treefarm - automatically chop trees and dig obsidian
|
||||||
|
|
||||||
|
New Scripts
|
||||||
|
-----------
|
||||||
|
- autobutcher: A GUI front-end for the autobutcher plugin.
|
||||||
|
- invasionNow: trigger an invasion, or many
|
||||||
|
- locate_ore: scan the map for unmined ore veins
|
||||||
|
- masspit: designate caged creatures in a zone for pitting
|
||||||
|
- multicmd: run a sequence of dfhack commands, separated by ';'
|
||||||
|
- startdwarf: change the number of dwarves for a new embark
|
||||||
|
- digmat: dig veins/layers tile by tile, as discovered
|
||||||
|
|
||||||
|
Misc improvements
|
||||||
|
-----------------
|
||||||
|
- autoSyndrome:
|
||||||
|
|
||||||
|
- disable by default
|
||||||
|
- reorganized special tags
|
||||||
|
- minimized error spam
|
||||||
|
- reset policies: if the target already has an instance of the syndrome you can skip,
|
||||||
|
add another instance, reset the timer, or add the full duration to the time remaining
|
||||||
|
|
||||||
|
- core: fix SC_WORLD_(UN)LOADED event for arena mode
|
||||||
|
- exterminate: renamed from slayrace, add help message, add butcher mode
|
||||||
|
- fastdwarf: fixed bug involving fastdwarf and teledwarf being on at the same time
|
||||||
|
- magmasource: rename to ``source``, allow water/magma sources/drains
|
||||||
|
- ruby: add df.dfhack_run "somecommand"
|
||||||
|
- syndromeTrigger: replaces and extends trueTransformation. Can trigger things when syndromes are added for any reason.
|
||||||
|
- tiletypes: support changing tile material to arbitrary stone.
|
||||||
|
- workNow: can optionally look for jobs when jobs are completed
|
||||||
|
|
||||||
|
New tweaks
|
||||||
|
----------
|
||||||
|
- hive-crash: Prevent crash if bees die in a hive with ungathered products (bug 6368).
|
||||||
|
|
||||||
|
New plugins
|
||||||
|
-----------
|
||||||
|
- 3dveins: Reshapes all veins on the map in a way that flows between Z levels. May be unstable. Backup before using.
|
||||||
|
- autotrade: Automatically send items in marked stockpiles to trade depot, when trading is possible.
|
||||||
|
- buildingplan: Place furniture before it's built
|
||||||
|
- dwarfmonitor: Records dwarf activity to measure fort efficiency
|
||||||
|
- mousequery: Look and poke at the map elements with the mouse.
|
||||||
|
- outsideOnly: make raw-specified buildings impossible to build inside
|
||||||
|
- resume: A plugin to help display and resume suspended constructions conveniently
|
||||||
|
- stocks: An improved stocks display screen.
|
||||||
|
|
||||||
|
Internals
|
||||||
|
---------
|
||||||
|
- Core: there is now a per-save dfhack.init file for when the save is loaded, and another for when it is unloaded
|
||||||
|
- EventManager: fixed job completion detection, fixed removal of TICK events, added EQUIPMENT_CHANGE event
|
||||||
|
- Lua API for a better random number generator and perlin noise functions.
|
||||||
|
- Once: easy way to make sure something happens once per run of DF, such as an error message
|
||||||
|
|
||||||
|
|
||||||
|
DFHack v0.34.11-r3
|
||||||
|
==================
|
||||||
|
|
||||||
|
Internals
|
||||||
|
---------
|
||||||
|
- support for displaying active keybindings properly.
|
||||||
|
- support for reusable widgets in lua screen library.
|
||||||
|
- Maps::canStepBetween: returns whether you can walk between two tiles in one step.
|
||||||
|
- EventManager: monitors various in game events centrally so that individual plugins
|
||||||
|
don't have to monitor the same things redundantly.
|
||||||
|
- Now works with OS X 10.6.8
|
||||||
|
|
||||||
|
Notable bugfixes
|
||||||
|
----------------
|
||||||
|
- autobutcher can be re-enabled again after being stopped.
|
||||||
|
- stopped Dwarf Manipulator from unmasking vampires.
|
||||||
|
- Stonesense is now fixed on OS X
|
||||||
|
|
||||||
|
Misc improvements
|
||||||
|
-----------------
|
||||||
|
- fastdwarf: new mode using debug flags, and some internal consistency fixes.
|
||||||
|
- added a small stand-alone utility for applying and removing binary patches.
|
||||||
|
- removebadthoughts: add --dry-run option
|
||||||
|
- superdwarf: work in adventure mode too
|
||||||
|
- tweak stable-cursor: carries cursor location from/to Build menu.
|
||||||
|
- deathcause: allow selection from the unitlist screen
|
||||||
|
- slayrace: allow targetting undeads
|
||||||
|
- Workflow plugin:
|
||||||
|
|
||||||
|
- properly considers minecarts assigned to routes busy.
|
||||||
|
- code for deducing job outputs rewritten in lua for flexibility.
|
||||||
|
- logic fix: collecting webs produces silk, and ungathered webs are not thread.
|
||||||
|
- items assigned to squads are considered busy, even if not in inventory.
|
||||||
|
- shearing and milking jobs are supported, but only with generic MILK or YARN outputs.
|
||||||
|
- workflow announces when the stock level gets very low once a season.
|
||||||
|
|
||||||
|
- Auto syndrome plugin: A way of automatically applying boiling rock syndromes and calling dfhack commands controlled by raws.
|
||||||
|
- Infinite sky plugin: Create new z-levels automatically or on request.
|
||||||
|
- True transformation plugin: A better way of doing permanent transformations that allows later transformations.
|
||||||
|
- Work now plugin: Makes the game assign jobs every time you pause.
|
||||||
|
|
||||||
|
New tweaks
|
||||||
|
----------
|
||||||
|
- tweak military-training: speed up melee squad training up to 10x (normally 3-5x).
|
||||||
|
|
||||||
|
New scripts
|
||||||
|
-----------
|
||||||
|
- binpatch: the same as the stand-alone binpatch.exe, but works at runtime.
|
||||||
|
- region-pops: displays animal populations of the region and allows tweaking them.
|
||||||
|
- lua: lua interpreter front-end converted to a script from a native command.
|
||||||
|
- dfusion: misc scripts with a text based menu.
|
||||||
|
- embark: lets you embark anywhere.
|
||||||
|
- lever: list and pull fort levers from the dfhack console.
|
||||||
|
- stripcaged: mark items inside cages for dumping, eg caged goblin weapons.
|
||||||
|
- soundsense-season: writes the correct season to gamelog.txt on world load.
|
||||||
|
- create-items: spawn items
|
||||||
|
- fix/cloth-stockpile: fixes bug 5739; needs to be run after savegame load every time.
|
||||||
|
|
||||||
|
New GUI scripts
|
||||||
|
---------------
|
||||||
|
- gui/guide-path: displays the cached path for minecart Guide orders.
|
||||||
|
- gui/workshop-job: displays inputs of a workshop job and allows tweaking them.
|
||||||
|
- gui/workflow: a front-end for the workflow plugin (part inspired by falconne).
|
||||||
|
- gui/assign-rack: works together with a binary patch to fix weapon racks.
|
||||||
|
- gui/gm-editor: an universal editor for lots of dfhack things.
|
||||||
|
- gui/companion-order: a adventure mode command interface for your companions.
|
||||||
|
- gui/advfort: a way to do jobs with your adventurer (e.g. build fort).
|
||||||
|
|
||||||
|
New binary patches
|
||||||
|
------------------
|
||||||
|
(for use with binpatch)
|
||||||
|
|
||||||
|
- armorstand-capacity: doubles the capacity of armor stands.
|
||||||
|
- custom-reagent-size: lets custom reactions use small amounts of inputs.
|
||||||
|
- deconstruct-heapfall: stops some items still falling on head when deconstructing.
|
||||||
|
- deconstruct-teleport: stops items from 16x16 block teleporting when deconstructing.
|
||||||
|
- hospital-overstocking: stops hospital overstocking with supplies.
|
||||||
|
- training-ammo: lets dwarves with quiver full of combat-only ammo train.
|
||||||
|
- weaponrack-unassign: fixes bug that negates work done by gui/assign-rack.
|
||||||
|
|
||||||
|
New Plugins
|
||||||
|
-----------
|
||||||
|
- fix-armory: Together with a couple of binary patches and the gui/assign-rack script, this plugin makes weapon racks, armor stands, chests and cabinets in properly designated barracks be used again for storage of squad equipment.
|
||||||
|
- search: Adds an incremental search function to the Stocks, Trading, Stockpile and Unit List screens.
|
||||||
|
- automaterial: Makes building constructions (walls, floors, fortifications, etc) a little bit easier by saving you from having to trawl through long lists of materials each time you place one.
|
||||||
|
- Dfusion: Reworked to make use of lua modules, now all the scripts can be used from other scripts.
|
||||||
|
- Eventful: A collection of lua events, that will allow new ways to interact with df world.
|
||||||
|
|
||||||
|
DFHack v0.34.11-r2
|
||||||
|
==================
|
||||||
|
|
||||||
|
Internals
|
||||||
|
---------
|
||||||
|
- full support for Mac OS X.
|
||||||
|
- a plugin that adds scripting in ruby.
|
||||||
|
- support for interposing virtual methods in DF from C++ plugins.
|
||||||
|
- support for creating new interface screens from C++ and lua.
|
||||||
|
- added various other API functions.
|
||||||
|
|
||||||
|
Notable bugfixes
|
||||||
|
----------------
|
||||||
|
- better terminal reset after exit on linux.
|
||||||
|
- seedwatch now works on reclaim.
|
||||||
|
- the sort plugin won't crash on cages anymore.
|
||||||
|
|
||||||
|
Misc improvements
|
||||||
|
-----------------
|
||||||
|
- autodump: can move items to any walkable tile, not just floors.
|
||||||
|
- stripcaged: by default keep armor, new dumparmor option.
|
||||||
|
- zone: allow non-domesticated birds in nestboxes.
|
||||||
|
- workflow: quality range in constraints.
|
||||||
|
- cleanplants: new command to remove rain water from plants.
|
||||||
|
- liquids: can paint permaflow, i.e. what makes rivers power water wheels.
|
||||||
|
- prospect: pre-embark prospector accounts for caves & magma sea in its estimate.
|
||||||
|
- rename: supports renaming stockpiles, workshops, traps, siege engines.
|
||||||
|
- fastdwarf: now has an additional option to make dwarves teleport to their destination.
|
||||||
|
- Autolabor plugin:
|
||||||
|
|
||||||
|
- can set nonidle hauler percentage.
|
||||||
|
- broker excluded from all labors when needed at depot.
|
||||||
|
- likewise, anybody with a scheduled diplomat meeting.
|
||||||
|
|
||||||
|
New commands
|
||||||
|
------------
|
||||||
|
- misery: multiplies every negative thought gained (2x by default).
|
||||||
|
- digtype: designates every tile of the same type of vein on the map for 'digging' (any dig designation).
|
||||||
|
|
||||||
|
New tweaks
|
||||||
|
----------
|
||||||
|
- tweak stable-cursor: keeps exact cursor position between d/k/t/q/v etc menus.
|
||||||
|
- tweak patrol-duty: makes Train orders reduce patrol timer, like the binary patch does.
|
||||||
|
- tweak readable-build-plate: fix unreadable truncation in unit pressure plate build ui.
|
||||||
|
- tweak stable-temp: fixes bug 6012; may improve FPS by 50-100% on a slow item-heavy fort.
|
||||||
|
- tweak fast-heat: speeds up item heating & cooling, thus making stable-temp act faster.
|
||||||
|
- tweak fix-dimensions: fixes subtracting small amounts from stacked liquids etc.
|
||||||
|
- tweak advmode-contained: fixes UI bug in custom reactions with container inputs in advmode.
|
||||||
|
- tweak fast-trade: Shift-Enter for selecting items quckly in Trade and Move to Depot screens.
|
||||||
|
- tweak military-stable-assign: Stop rightmost list of military->Positions from jumping to top.
|
||||||
|
- tweak military-color-assigned: In same list, color already assigned units in brown & green.
|
||||||
|
|
||||||
|
New scripts
|
||||||
|
-----------
|
||||||
|
- fixnaked: removes thoughts about nakedness.
|
||||||
|
- setfps: set FPS cap at runtime, in case you want slow motion or speed-up.
|
||||||
|
- siren: wakes up units, stops breaks and parties - but causes bad thoughts.
|
||||||
|
- fix/population-cap: run after every migrant wave to prevent exceeding the cap.
|
||||||
|
- fix/stable-temp: counts items with temperature updates; does instant one-shot stable-temp.
|
||||||
|
- fix/loyaltycascade: fix units allegiance, eg after ordering a dwarf merchant kill.
|
||||||
|
- deathcause: shows the circumstances of death for a given body.
|
||||||
|
- digfort: designate areas to dig from a csv file.
|
||||||
|
- drainaquifer: remove aquifers from the map.
|
||||||
|
- growcrops: cheat to make farm crops instantly grow.
|
||||||
|
- magmasource: continuously spawn magma from any map tile.
|
||||||
|
- removebadthoughts: delete all negative thoughts from your dwarves.
|
||||||
|
- slayrace: instakill all units of a given race, optionally with magma.
|
||||||
|
- superdwarf: per-creature fastdwarf.
|
||||||
|
- gui/mechanisms: browse mechanism links of the current building.
|
||||||
|
- gui/room-list: browse other rooms owned by the unit when assigning one.
|
||||||
|
- gui/liquids: a GUI front-end for the liquids plugin.
|
||||||
|
- gui/rename: renaming stockpiles, workshops and units via an in-game dialog.
|
||||||
|
- gui/power-meter: front-end for the Power Meter plugin.
|
||||||
|
- gui/siege-engine: front-end for the Siege Engine plugin.
|
||||||
|
- gui/choose-weapons: auto-choose matching weapons in the military equip screen.
|
||||||
|
|
||||||
|
New Plugins
|
||||||
|
-----------
|
||||||
|
- Dwarf Manipulator: Open the unit list, and press 'l' to access a Dwarf Therapist like UI in the game.
|
||||||
|
- Steam Engine:
|
||||||
|
Dwarven Water Reactors don't make any sense whatsoever and cause lag, so this may be
|
||||||
|
a replacement for those concerned by it. The plugin detects if a workshop with a
|
||||||
|
certain name is in the raws used by the current world, and provides the necessary
|
||||||
|
behavior. See ``hack/raw/*_steam_engine.txt`` for the necessary raw definitions.
|
||||||
|
Note: Stuff like animal treadmills might be more period, but absolutely can't be
|
||||||
|
done with tools dfhack has access to.
|
||||||
|
- Power Meter:
|
||||||
|
When activated, implements a pressure plate modification that detects power in gear
|
||||||
|
boxes built on the four adjacent N/S/W/E tiles. The gui/power-meter script implements
|
||||||
|
the necessary build configuration UI.
|
||||||
|
- Siege Engine:
|
||||||
|
When enabled and configured via gui/siege-engine, allows aiming siege engines
|
||||||
|
at a designated rectangular area with 360 degree fire range and across Z levels;
|
||||||
|
this works by rewriting the projectile trajectory immediately after it appears.
|
||||||
|
Also supports loading catapults with non-boulder projectiles, taking from a stockpile,
|
||||||
|
and restricting operator skill range like with ordinary workshops.
|
||||||
|
Disclaimer: not in any way to undermine the future siege update from Toady, but
|
||||||
|
the aiming logic of existing engines hasn't been updated since 2D, and is almost
|
||||||
|
useless above ground :(. Again, things like making siegers bring their own engines
|
||||||
|
is totally out of the scope of dfhack and can only be done by Toady.
|
||||||
|
- Add Spatter:
|
||||||
|
Detects reactions with certain names in the raws, and changes them from adding
|
||||||
|
improvements to adding item contaminants. This allows directly covering items
|
||||||
|
with poisons. The added spatters are immune both to water and 'clean items'.
|
||||||
|
Intended to give some use to all those giant cave spider poison barrels brought
|
||||||
|
by the caravans.
|
||||||
|
|
@ -0,0 +1,24 @@
|
|||||||
|
#DFHack Readme
|
||||||
|
|
||||||
|
[![Build Status](https://travis-ci.org/DFHack/dfhack.svg?branch=develop)]
|
||||||
|
(https://travis-ci.org/DFHack/dfhack)
|
||||||
|
[![Documentation Status](https://readthedocs.org/projects/dfhack/badge)]
|
||||||
|
(https://dfhack.readthedocs.org)
|
||||||
|
[![License](https://img.shields.io/badge/license-ZLib-blue.svg)]
|
||||||
|
(https://en.wikipedia.org/wiki/Zlib_License)
|
||||||
|
[![Github Issues](http://githubbadges.herokuapp.com/DFHack/dfhack/issues)]
|
||||||
|
(https://github.com/DFHack/dfhack/issues)
|
||||||
|
[![Open Pulls](http://githubbadges.herokuapp.com/DFHack/dfhack/pulls)]
|
||||||
|
(https://github.com/DFHack/dfhack/pulls)
|
||||||
|
|
||||||
|
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](https://dfhack.readthedocs.org),
|
||||||
|
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]
|
||||||
|
(http://www.bay12forums.com/smf/index.php?topic=139553) or the #dfhack IRC
|
||||||
|
channel on freenode.
|
@ -1,7 +0,0 @@
|
|||||||
#########
|
|
||||||
Changelog
|
|
||||||
#########
|
|
||||||
|
|
||||||
.. contents::
|
|
||||||
|
|
||||||
.. include:: ../NEWS
|
|
@ -0,0 +1,107 @@
|
|||||||
|
.. _introduction:
|
||||||
|
|
||||||
|
#########################
|
||||||
|
Introduction and Overview
|
||||||
|
#########################
|
||||||
|
|
||||||
|
DFHack is a Dwarf Fortress memory access library, distributed with
|
||||||
|
a wide variety of useful scripts and plugins.
|
||||||
|
|
||||||
|
The project is currently hosted at https://www.github.com/DFHack/dfhack,
|
||||||
|
and can be downloaded from `the releases page
|
||||||
|
<http://github.com/DFHack/dfhack/releases>`_.
|
||||||
|
|
||||||
|
All new releases are announced in :forums:`the bay12 forums thread <139553>`,
|
||||||
|
which is also a good place for discussion and questions.
|
||||||
|
|
||||||
|
For users, it provides a significant suite of bugfixes and interface
|
||||||
|
enhancements by default, and more can be enabled. There are also many tools
|
||||||
|
(such as `workflow` or `autodump`) which can make life easier.
|
||||||
|
You can even add third-party scripts and plugins to do almost anything!
|
||||||
|
|
||||||
|
For modders, DFHack makes many things possible. Custom reactions, new
|
||||||
|
interactions, magic creature abilities, and more can be set through `modtools`
|
||||||
|
and custom raws. Non-standard DFHack scripts and inits can be stored in the
|
||||||
|
raw directory, making raws or saves fully self-contained for distribution -
|
||||||
|
or for coexistence in a single DF install, even with incompatible components.
|
||||||
|
|
||||||
|
For developers, DFHack unites the various ways tools access DF memory and
|
||||||
|
allows easier development of new tools. As an open-source project under
|
||||||
|
`various copyleft licences <license>`, contributions are welcome.
|
||||||
|
|
||||||
|
|
||||||
|
.. contents::
|
||||||
|
|
||||||
|
|
||||||
|
.. _installing:
|
||||||
|
|
||||||
|
Installing DFHack
|
||||||
|
=================
|
||||||
|
DFHack is available for the SDL version of Dwarf Frtress on Windows,
|
||||||
|
any modern Linux distribution, and OS X (10.6.8 to 10.9).
|
||||||
|
It is possible to use Windows DF+DFHack under Wine on Linux or OS X.
|
||||||
|
|
||||||
|
Most releases only support the version of DF mentioned in their title - for
|
||||||
|
example, DFHack 0.40.24-r2 only supports DF 0.40.24 - but some releases
|
||||||
|
support earlier DF versions as well. Wherever possible, use the latest version
|
||||||
|
of DFHack built for the target version of DF.
|
||||||
|
|
||||||
|
Installing DFhack involves copying files from a release archive
|
||||||
|
into your DF folder, so that:
|
||||||
|
|
||||||
|
* On Windows, ``SDL.dll`` is replaced
|
||||||
|
* On Linux or OSX, the ``dfhack`` script is placed in the same folder as the ``df`` script
|
||||||
|
|
||||||
|
Uninstalling is basically the same, in reverse:
|
||||||
|
|
||||||
|
* On Windows, replace ``SDL.dll`` with ``SDLreal.dll``, then remove the DFHack files.
|
||||||
|
* On Linux or OSX, remove the DFHack files.
|
||||||
|
|
||||||
|
New players may wish to :wiki:`get a pack <Utility:Lazy_Newb_Pack>`
|
||||||
|
with DFHack preinstalled.
|
||||||
|
|
||||||
|
|
||||||
|
Getting started
|
||||||
|
===============
|
||||||
|
DFHack basically extends DF with something similar to the
|
||||||
|
console found in many PC games.
|
||||||
|
|
||||||
|
If DFHack is installed correctly, it will automatically pop up a console
|
||||||
|
window once DF is started as usual on Windows. Linux and Mac OS X require
|
||||||
|
running the dfhack script from the terminal, and will use that terminal for
|
||||||
|
the console.
|
||||||
|
|
||||||
|
* Basic interaction with dfhack involves entering commands into the console.
|
||||||
|
To learn what commands are available, you can keep reading this documentation
|
||||||
|
or skip ahead and use the `ls` and `help` commands.
|
||||||
|
|
||||||
|
* Another way to interact with DFHack is to set in-game `keybindings <keybinding>`
|
||||||
|
for certain commands. Many of the newer and user-friendly tools are designed
|
||||||
|
to be used this way.
|
||||||
|
|
||||||
|
* Commands can also run at startup via `init files <init-files>`,
|
||||||
|
on in batches at other times with the `script` command.
|
||||||
|
|
||||||
|
* Finally, some commands are persistent once enabled, and will sit in the
|
||||||
|
background managing or changing some aspect of the game if you `enable` them.
|
||||||
|
|
||||||
|
|
||||||
|
.. _troubleshooting:
|
||||||
|
|
||||||
|
Troubleshooting
|
||||||
|
===============
|
||||||
|
Don't panic! Even if you need this section, it'll be OK :)
|
||||||
|
|
||||||
|
If something goes wrong, check the log files in DF's folder
|
||||||
|
(``stderr.log`` and ``stdout.log``). Looking at these might help you -
|
||||||
|
or someone else - solve the problem. Take screenshots of any weird
|
||||||
|
error messages, and take notes on what you did to cause them.
|
||||||
|
|
||||||
|
If the search function in this documentation isn't enough and
|
||||||
|
:wiki:`the DF Wiki <>` hasn't helped, try asking in:
|
||||||
|
|
||||||
|
- the `#dfhack IRC channel on freenode <https://webchat.freenode.net/?channels=dfhack>`_
|
||||||
|
- the :forums:`Bay12 DFHack thread <139553>`
|
||||||
|
- the `/r/dwarffortress <https://dwarffortress.reddit.com>`_ questions thread
|
||||||
|
- the thread for the mod or Starter Pack you're using (if any)
|
||||||
|
|
@ -1,11 +0,0 @@
|
|||||||
.. _license:
|
|
||||||
|
|
||||||
########
|
|
||||||
Licenses
|
|
||||||
########
|
|
||||||
|
|
||||||
DFHack is distributed under a range of permissive and weakly copyleft licenses.
|
|
||||||
|
|
||||||
The core uses the ZLib license; the others are described below.
|
|
||||||
|
|
||||||
.. include:: ../LICENSE
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
After Width: | Height: | Size: 3.9 KiB |
Binary file not shown.
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
@ -0,0 +1,40 @@
|
|||||||
|
/* make sure to sync this with the base theme's css filename */
|
||||||
|
@import url("alabaster.css");
|
||||||
|
|
||||||
|
.kbd {
|
||||||
|
/* Keybinding CSS from the DF wiki; applies to :kbd:`` directives.
|
||||||
|
* Use this directive for all keypresses, to make them look like keys.
|
||||||
|
*/
|
||||||
|
border: 1px solid #aaa;
|
||||||
|
border-radius: 0.2em;
|
||||||
|
-webkit-border-radius: 0.2em;
|
||||||
|
-moz-border-radius: 0.2em;
|
||||||
|
-o-border-radius: 0.2em; -ms-border-radius: 0.2em;
|
||||||
|
-moz-box-shadow: 0.1em 0.2em 0.2em #ddd;
|
||||||
|
-webkit-box-shadow: 0.1em 0.2em 0.2em #ddd;
|
||||||
|
box-shadow: 0.1em 0.2em 0.2em #ddd;
|
||||||
|
background-color: #f9f9f9;
|
||||||
|
background-image: -moz-linear-gradient(top, #eee, #f9f9f9, #eee);
|
||||||
|
background-image: -o-linear-gradient(top, #eee, #f9f9f9, #eee);
|
||||||
|
background-image: -webkit-linear-gradient(top, #eee, #f9f9f9, #eee);
|
||||||
|
background-image: linear-gradient(to bottom, #eee, #f9f9f9, #eee);
|
||||||
|
padding: 0.1em 0.3em;
|
||||||
|
font-family: sans-serif;
|
||||||
|
font-size: 0.8em;
|
||||||
|
}
|
||||||
|
|
||||||
|
@font-face {
|
||||||
|
font-family: cp437;
|
||||||
|
src: url("cp437.ttf");
|
||||||
|
}
|
||||||
|
|
||||||
|
.guilabel {
|
||||||
|
/* In-game text CSS from the DF wiki; applies to :guilabel:`` directives.
|
||||||
|
* Use this for any text from an in-game announcement or menu.
|
||||||
|
*/
|
||||||
|
color: #CBC7C0;
|
||||||
|
font-family: cp437, 'fixedsys', monospace;
|
||||||
|
background: #000000;
|
||||||
|
font-size: 0.95em;
|
||||||
|
padding: 0.05em 0.4em;
|
||||||
|
}
|
@ -1 +1 @@
|
|||||||
Subproject commit dc76bf4247b78cf2525bf60a62553dadd42ca696
|
Subproject commit 378a580f7e333607a64a301d598e3885954a5d9d
|
@ -1,51 +0,0 @@
|
|||||||
#include "Core.h"
|
|
||||||
#include "Console.h"
|
|
||||||
#include "Export.h"
|
|
||||||
#include "PluginManager.h"
|
|
||||||
|
|
||||||
#include "DataDefs.h"
|
|
||||||
#include "df/d_init.h"
|
|
||||||
|
|
||||||
using std::vector;
|
|
||||||
using std::string;
|
|
||||||
using std::endl;
|
|
||||||
using namespace DFHack;
|
|
||||||
using namespace df::enums;
|
|
||||||
|
|
||||||
DFHACK_PLUGIN("initflags");
|
|
||||||
REQUIRE_GLOBAL(d_init);
|
|
||||||
|
|
||||||
command_result twaterlvl(color_ostream &out, vector <string> & parameters);
|
|
||||||
command_result tidlers(color_ostream &out, vector <string> & parameters);
|
|
||||||
|
|
||||||
DFhackCExport command_result plugin_init (color_ostream &out, std::vector <PluginCommand> &commands)
|
|
||||||
{
|
|
||||||
if (d_init) {
|
|
||||||
commands.push_back(PluginCommand("twaterlvl", "Toggle display of water/magma depth.",
|
|
||||||
twaterlvl, Gui::dwarfmode_hotkey));
|
|
||||||
commands.push_back(PluginCommand("tidlers", "Toggle display of idlers.",
|
|
||||||
tidlers, Gui::dwarfmode_hotkey));
|
|
||||||
}
|
|
||||||
return CR_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
DFhackCExport command_result plugin_shutdown ( color_ostream &out )
|
|
||||||
{
|
|
||||||
return CR_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
command_result twaterlvl(color_ostream &out, vector <string> & parameters)
|
|
||||||
{
|
|
||||||
// HOTKEY COMMAND: CORE ALREADY SUSPENDED
|
|
||||||
d_init->flags1.toggle(d_init_flags1::SHOW_FLOW_AMOUNTS);
|
|
||||||
out << "Toggled the display of water/magma depth." << endl;
|
|
||||||
return CR_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
command_result tidlers(color_ostream &out, vector <string> & parameters)
|
|
||||||
{
|
|
||||||
// HOTKEY COMMAND: CORE ALREADY SUSPENDED
|
|
||||||
d_init->idlers = ENUM_NEXT_ITEM(d_init_idlers, d_init->idlers);
|
|
||||||
out << "Toggled the display of idlers to " << ENUM_KEY_STR(d_init_idlers, d_init->idlers) << endl;
|
|
||||||
return CR_OK;
|
|
||||||
}
|
|
@ -1 +1 @@
|
|||||||
Subproject commit 8cf05cc89782206235f4bef1b5ef98e1bc74e266
|
Subproject commit 0a75d5ff69916cf9b3739f4b20d36ab4cfdcf824
|
@ -1 +1 @@
|
|||||||
Subproject commit 38a8415ffc23e89590260a4502fa6aeeac95146d
|
Subproject commit 0b8303f6b03d574e3a0b3fd8b17b7ff0014af47f
|
@ -1 +1 @@
|
|||||||
Subproject commit ac6dae2ff06d1576873b8e508017e8043e7aa701
|
Subproject commit 45c78449e71d1ba263044fb00108509088ad0026
|
@ -1 +1 @@
|
|||||||
Subproject commit 0c32075d2205fe3aa80794fc45b2c49e3dace8dc
|
Subproject commit b337e931b8b7a167ee5ce1ac6b5c3155c291f260
|
@ -0,0 +1,2 @@
|
|||||||
|
Basic scripts are not stored in any subdirectory, and can be invoked directly.
|
||||||
|
They are generally useful tools for any player.
|
@ -0,0 +1,6 @@
|
|||||||
|
``devel/*`` scripts are intended for developer use, but many may
|
||||||
|
be of interest to anyone investigating odd phenomema or just messing
|
||||||
|
around. They are documented to encourage such inquiry.
|
||||||
|
|
||||||
|
Some can PERMANENTLY DAMAGE YOUR SAVE if misused, so please be careful.
|
||||||
|
The warnings are real; if in doubt make backups before running the command.
|
@ -0,0 +1,26 @@
|
|||||||
|
-- Clear script environment
|
||||||
|
--[[=begin
|
||||||
|
|
||||||
|
devel/clear-script-env
|
||||||
|
======================
|
||||||
|
Clears the environment of the specified lua script(s).
|
||||||
|
|
||||||
|
=end]]
|
||||||
|
args = {...}
|
||||||
|
if #args < 1 then qerror("script name(s) required") end
|
||||||
|
for _, name in pairs(args) do
|
||||||
|
local file = dfhack.findScript(name)
|
||||||
|
if file then
|
||||||
|
local script = dfhack.internal.scripts[file]
|
||||||
|
if script then
|
||||||
|
local env = script.env
|
||||||
|
while next(env) do
|
||||||
|
env[next(env)] = nil
|
||||||
|
end
|
||||||
|
else
|
||||||
|
dfhack.printerr("Script not loaded: " .. name)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
dfhack.printerr("Can't find script: " .. name)
|
||||||
|
end
|
||||||
|
end
|
@ -1,9 +0,0 @@
|
|||||||
-- Force a migrants event in next 10 ticks.
|
|
||||||
|
|
||||||
df.global.timed_events:insert('#',{
|
|
||||||
new = true,
|
|
||||||
type = df.timed_event_type.Migrants,
|
|
||||||
season = df.global.cur_season,
|
|
||||||
season_ticks = df.global.cur_season_tick+1,
|
|
||||||
entity = df.historical_entity.find(df.global.ui.civ_id)
|
|
||||||
})
|
|
@ -1,3 +1,10 @@
|
|||||||
-- For killing bugged out gui script screens.
|
-- For killing bugged out gui script screens.
|
||||||
|
--[[=begin
|
||||||
|
|
||||||
|
devel/pop-screen
|
||||||
|
================
|
||||||
|
For killing bugged out gui script screens.
|
||||||
|
|
||||||
|
=end]]
|
||||||
|
|
||||||
dfhack.screen.dismiss(dfhack.gui.getCurViewscreen())
|
dfhack.screen.dismiss(dfhack.gui.getCurViewscreen())
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
# unforbid all items
|
# unforbid all items
|
||||||
|
=begin
|
||||||
|
|
||||||
|
devel/unforbidall
|
||||||
|
=================
|
||||||
|
Unforbid all items.
|
||||||
|
|
||||||
|
=end
|
||||||
|
|
||||||
df.world.items.all.each { |i| i.flags.forbid = false }
|
df.world.items.all.each { |i| i.flags.forbid = false }
|
||||||
|
@ -0,0 +1,130 @@
|
|||||||
|
--Allow stressed dwarves to emigrate from the fortress
|
||||||
|
-- For 34.11 by IndigoFenix; update and cleanup by PeridexisErrant
|
||||||
|
-- old version: http://dffd.bay12games.com/file.php?id=8404
|
||||||
|
--[[=begin
|
||||||
|
|
||||||
|
emigration
|
||||||
|
==========
|
||||||
|
Allows dwarves to emigrate from the fortress when stressed,
|
||||||
|
in proportion to how badly stressed they are and adjusted
|
||||||
|
for who they would have to leave with - a dwarven merchant
|
||||||
|
being more attractive than leaving alone (or with an elf).
|
||||||
|
The check is made monthly.
|
||||||
|
|
||||||
|
A happy dwarf (ie with negative stress) will never emigrate.
|
||||||
|
|
||||||
|
Usage: ``emigration enable|disable``
|
||||||
|
|
||||||
|
=end]]
|
||||||
|
|
||||||
|
local args = {...}
|
||||||
|
if args[1] == "enable" then
|
||||||
|
enabled = true
|
||||||
|
elseif args[1] == "disable" then
|
||||||
|
enabled = false
|
||||||
|
end
|
||||||
|
|
||||||
|
function desireToStay(unit,method,civ_id)
|
||||||
|
-- on a percentage scale
|
||||||
|
value = 100 - unit.status.current_soul.personality.stress_level / 5000
|
||||||
|
if method == 'merchant' or method == 'diplomat' then
|
||||||
|
if civ_id ~= unit.civ_id then value = value*2 end end
|
||||||
|
if method == 'wild' then
|
||||||
|
value = value*5 end
|
||||||
|
return value
|
||||||
|
end
|
||||||
|
|
||||||
|
function desert(u,method,civ)
|
||||||
|
u.relations.following = nil
|
||||||
|
local line = dfhack.TranslateName(dfhack.units.getVisibleName(u)) .. " has "
|
||||||
|
if method == 'merchant' then
|
||||||
|
line = line.."joined the merchants"
|
||||||
|
u.flags1.merchant = true
|
||||||
|
u.civ_id = civ
|
||||||
|
elseif method == 'diplomat' then
|
||||||
|
line = line.."followed the diplomat"
|
||||||
|
u.flags1.diplomat = true
|
||||||
|
u.civ_id = civ
|
||||||
|
else
|
||||||
|
line = line.."abandoned the settlement in search of a better life."
|
||||||
|
u.civ_id = -1
|
||||||
|
u.flags1.forest = true
|
||||||
|
u.animal.leave_countdown = 2
|
||||||
|
end
|
||||||
|
print(line)
|
||||||
|
dfhack.gui.showAnnouncement(line, COLOR_WHITE)
|
||||||
|
end
|
||||||
|
|
||||||
|
function canLeave(unit)
|
||||||
|
for _, skill in pairs(unit.status.current_soul.skills) do
|
||||||
|
if skill.rating > 14 then return false end
|
||||||
|
end
|
||||||
|
if unit.flags1.caged
|
||||||
|
or u.race ~= df.global.ui.race_id
|
||||||
|
or u.civ_id ~= df.global.ui.civ_id
|
||||||
|
or dfhack.units.isDead(u)
|
||||||
|
or dfhack.units.isOpposedToLife(u)
|
||||||
|
or u.flags1.merchant
|
||||||
|
or u.flags1.diplomat
|
||||||
|
or unit.flags1.chained
|
||||||
|
or dfhack.units.getNoblePositions(unit) ~= nil
|
||||||
|
or unit.military.squad_id ~= -1
|
||||||
|
or dfhack.units.isCitizen(unit)
|
||||||
|
or dfhack.units.isSane(unit)
|
||||||
|
or unit.profession ~= 103
|
||||||
|
or not dfhack.units.isDead(unit)
|
||||||
|
then return false end
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
function checkForDeserters(method,civ_id)
|
||||||
|
local allUnits = df.global.world.units.active
|
||||||
|
for i=#allUnits-1,0,-1 do -- search list in reverse
|
||||||
|
local u = allUnits[i]
|
||||||
|
if canLeave(u) and math.random(100) < desireToStay(u,method,civ_id) then
|
||||||
|
desert(u,method,civ_id)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function checkmigrationnow()
|
||||||
|
local merchant_civ_ids = {}
|
||||||
|
local diplomat_civ_ids = {}
|
||||||
|
local allUnits = df.global.world.units.active
|
||||||
|
for i=0, #allUnits-1 do
|
||||||
|
local unit = allUnits[i]
|
||||||
|
if dfhack.units.isSane(unit)
|
||||||
|
and not dfhack.units.isDead(unit)
|
||||||
|
and not dfhack.units.isOpposedToLife(unit)
|
||||||
|
and not unit.flags1.tame
|
||||||
|
then
|
||||||
|
if unit.flags1.merchant then table.insert(merchant_civ_ids, unit.civ_id) end
|
||||||
|
if unit.flags1.diplomat then table.insert(diplomat_civ_ids, unit.civ_id) end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
for _, civ_id in pairs(merchant_civ_ids) do checkForDeserters('merchant', civ_id) end
|
||||||
|
for _, civ_id in pairs(diplomat_civ_ids) do checkForDeserters('diplomat', civ_id) end
|
||||||
|
checkForDeserters('wild', -1)
|
||||||
|
end
|
||||||
|
|
||||||
|
local function event_loop()
|
||||||
|
checkmigrationnow()
|
||||||
|
dfhack.timeout(1, 'months', event_loop)
|
||||||
|
end
|
||||||
|
|
||||||
|
dfhack.onStateChange.loadEmigration = function(code)
|
||||||
|
if code==SC_MAP_LOADED then
|
||||||
|
if enabled then
|
||||||
|
print("Emigration enabled.")
|
||||||
|
event_loop()
|
||||||
|
else
|
||||||
|
print("Emigration disabled.")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if dfhack.isMapLoaded() then
|
||||||
|
dfhack.onStateChange.loadEmigration(SC_MAP_LOADED)
|
||||||
|
end
|
||||||
|
|
@ -0,0 +1 @@
|
|||||||
|
``fix/*`` scripts fix various bugs and issues, some of them obscure.
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue