Commit Graph

5186 Commits (c0fb6d64656ebbc47a420bb4dacbd5ad926672a5)

Author SHA1 Message Date
lethosor 8bb047fcc6
Remove Notes module
Only used in a devel plugin that prints notes, and can be easily replaced
with `ui.waypoints.points`
2022-06-29 23:35:13 -04:00
Quietust 8a605e1903 The great de-anon-ification 2022-06-29 07:54:04 -07:00
DFHack-Urist via GitHub Actions 12958e15c6 Auto-update submodules
plugins/stonesense: master
2022-06-29 07:17:24 +00:00
Simon Lees b0bff47f03 Fix use after free's
This was detected by gcc and causing the build to fail on my
Linux machine
2022-06-23 08:24:26 -07:00
Josh Cooper d38ab1d152
Fix UNIT_NEW_ACTIVE events (#2197)
* Updates eventful.lua to use UNIT_NEW_ACTIVE

* Fixes bug #2189

* Revises activeUnits declaration/initialization

* Fixes build error

* Update changelog.txt

* reword changelog entry

* add changelog entry for event name change

Co-authored-by: Myk <myk002@yahoo.com>
2022-06-17 09:34:41 -07:00
Warmist fc384fd1a2
Update eventful.lua (#2203)
* Update eventful.lua

Had wrong function. Fixes https://github.com/DFHack/dfhack/issues/2202

* Update Lua API.rst

Update docs to add onReactionCompleting and remove outdated info

* Update Lua API.rst

Some more minor doc fixes

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* add changelog entry

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-06-12 07:12:49 -07:00
myk002 1f38936723 don't create the unused manipulator/ directory 2022-06-10 15:36:16 -07:00
lethosor 3f6b30af15
Update stonesense 2022-06-09 01:24:30 -04:00
Josh Cooper 04058c7529 Update matcher.cpp 2022-06-08 12:42:33 -07:00
Josh Cooper cec8a358b5 Replaces deprecated code with lambdas 2022-06-08 12:42:33 -07:00
Josh Cooper f8d46a10c1 Removes unhelpful inheritance 2022-06-08 12:42:33 -07:00
Josh Cooper 0eb9eee773 Fixes presumed typo in if statement 2022-06-08 12:42:33 -07:00
Josh Cooper f146cced95 Adds definition for "undeclared reference" 2022-06-08 12:42:33 -07:00
myk002 a8916a269e
fix syntax error
ref: #2164
2022-06-03 13:36:09 -07:00
myk002 514e5ee5bb
convert status message to debug message
ref: #2164
2022-06-03 13:18:16 -07:00
Myk 27bf4c758b
Allow player to pause the confirmation dialog without disabling (#2164)
* basic pause functionality for confirm

* update changelog

* wrap the pause message and output in white

* unpause on viewscreen transition when we can

but still use esc detection when we won't get a viewscreen transition
(like when we're intercepting input on viewscreen_dwarfmodest

* add more code docs about unpause detection
2022-06-02 06:24:13 -07:00
Myk 77d045488b
Confirmation dialog for removing manager orders (#2163) 2022-05-23 21:17:52 -07:00
DFHack-Urist via GitHub Actions 0da881d5eb Auto-update submodules
plugins/isoworld: dfhack
2022-05-15 07:17:46 +00:00
Myk 8f6522899b
Upgrade jsoncpp to 1.9.5 (#2144)
* test jsoncpp upgrade

* use new json library target name

* don't remap the output dirs

* undo warnings at the source

* set new defaults for jsoncpp

* fix typo in new options

* fix signed comparison mismatch warning

* address random(?) compile failures

saying our std::atomic is not initialized in Debug.cpp
2022-05-13 13:52:43 -07:00
DFHack-Urist via GitHub Actions 4d08a49afb Auto-update submodules
plugins/isoworld: dfhack
2022-05-12 05:41:20 +00:00
DFHack-Urist via GitHub Actions bf8eaef6bc Auto-update submodules
library/xml: master
plugins/isoworld: master
depends/libexpat: dfhack
depends/jsoncpp-sub: dfhack
2022-05-12 05:21:01 +00:00
Tim Siegel 5d2739eee0
[command-prompt] word-wrap response text
Fixes #2079
2022-05-09 13:42:16 -04:00
Tim Siegel c3347d465f
[command-prompt] cosmetics: whitespace, sort headers 2022-05-09 13:42:16 -04:00
Josh Cooper fe29bff845
Adds cxxrandom unit test and fixes interface problems (#2099)
* Adds cxxrandom unit test and fixes interface problems

* Tightens braces

* Adds detection code for Shuffle's seqID/engID

* Adds usage examples for cxxrandom

* Gives cxxrandom objects id ranges, sort of

* Updates changelog

* Updates changelog.txt

* Increases id space for cxxrandom

* Fixes bool distribution error message and improves check

* Adds comment explaining the seeded RNG tests for cxxrandom

* Fixes type problem for 32bit builds

* Reduces loop count a few magnitudes

* Fixes a mistake in test.cxxrandom_seed
2022-04-30 21:46:47 -07:00
Josh Cooper 8eb2831b7e
Adds plugins/external/ and auto-populates the cmake within upon creation (#2095)
* Adds a plugins sub-directory

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Auto-adds plugins/external sub-directories

* Moves plugins/external globbing as to generate plugins/external/cmake

* Removes plugins/external/.gitignore since the directory is generated

* Fixes cmake error

* Moves gitignore for plugins/external to ensure existence for fresh clone

* Adds missing EOF newline

* Adds requested changes
2022-04-27 19:53:05 -07:00
Quietust dc2a14c0c2 Add "partial-items" tweak.
When active, the displayed names of partially-consumed items (e.g.
hospital cloth) will display a percentage indicator at the end.

Also re-sort a few Tweaks so they're in alphabetical order again.
2022-04-27 11:27:11 -07:00
Guilherme Abraham 2aa28d34b6
Adding ids output to cursecheck (#2093)
Co-authored-by: Guilherme Abraham <guilherme.abraham@zpesystems.com>
Co-authored-by: Myk <myk002@yahoo.com>
2022-04-21 20:22:05 -07:00
Josh Cooper 9bf9a79a11
EventManager/Eventful - Generate event arrays (#2097)
* Replaces EventManager.cpp's event array with an auto-gen one

* Replaces eventful.cpp's event array with auto-gen one
2022-04-14 21:47:25 -07:00
lethosor 5f3d5bbcd5 Add new `plugins/external` subdirectory for external/untracked plugins
This is more convenient for some devs than the old CMakeLists.custom.txt
solution because it allows the plugins themselves (files or folders) to be
ignored, rather than needing to remember to leave them unstaged.
2022-04-14 10:38:23 -07:00
Tim Siegel bf60879c81 [tweak/stable-cursor] Keep stable cursor when viewport is near enough
Allow the viewport to move a bit and still keep the cursor location.
2022-04-12 19:53:16 -07:00
lethosor d1f0edd33b
Apply initial pre-commit config 2022-04-12 14:48:19 -04:00
myk002 54e8761aa0 capture fortifications and engravings in blueprint 2022-04-01 12:20:37 -07:00
Su 8a120837c6
only designate enough trees to reach max_logs (#2064)
* only designate enough trees to reach max_logs
* Chop largest trees first
2022-03-31 20:41:44 -07:00
Tim Siegel b5af004194
[manipulator] Tweak colors to make cursor easier to locate (#2051) 2022-03-30 23:39:20 -07:00
Myk 257e7a3dfd
[core] Debug logging facelift (#2060)
* route 'Loading script...' messages through the debug logging framework
  * they are now controllable via debugfilter. to turn off, add this to your dfhack.init file: debugfilter set Warning core script
* clarify debug logging docs
* prevent DEBUG messages from being compiled out of the binary
* recolor INFO messages so they blend into existing console output
* add configuration interface for log message header elements so they are individually configurable. all default to off
2022-03-30 14:46:09 -07:00
Myk 2df6980237
fix crash in eventful due to misaligned fn map (#2059)
also add warnings in eventful and EventManager to prompt devs to keep them in sync
2022-03-29 12:51:21 -07:00
Josh Cooper 69ca0d8a28
Improves support for dfhack as a sub-project (#2058)
Replaces CMAKE_SOURCE_DIR with dfhack_SOURCE_DIR so it can be included in other cmake projects that have a different top-level CMAKE_SOURCE_DIR
2022-03-29 10:28:52 -07:00
DwarvenM acbfe500ab
Typo Fix in dig.cpp (#2053)
vdig -> digv
2022-03-27 16:54:01 -07:00
Tim Siegel ab54cbff7a
[confirm] Fix typo in help message (#2046) 2022-03-23 19:45:13 -07:00
Kelly Kinkade e0ecf21896
autofarm code cleanup (#2033)
* code cleanup on autofarm.cpp

* more code cleanup on aufofarm.cpp

* yet more cleanup of autofarm.cpp

mostly whitespace, some `*` and `&` adjustments

* downgrade autofarm to c++11

apparently the gcc we use doesn't support c++14 generic lambdas

* death to whitespace

apparently visual studio's default whitespace murderer doesn't touch `#define`s. who knew?

* Update autofarm.cpp

const is good
2022-03-16 19:43:24 -07:00
Kelly Kinkade d25cd0874a remove check for discovered plants in autofarm
Remove limitation on planting only "discovered" plants in autofarm because there was never any reason for doing so.

Resolves #1988.
2022-03-15 08:23:18 -07:00
Josh Cooper dda487a535
Adds new plugin: Spectate (#1918)
* Adds spectate plugin

* Updates spectate.cpp

* Changes spectate toggle message

* Updates changelog.txt

* Adds spectate to Plugins.rst

* Adds requested changes

- foreach syntax replaces active units loops
- removes CR_FAILURE return on double enable/disable usage
- removes disabled code
- implements a few clion clang tidy suggestions (auto declare when casting)
- Updates zcount to have accurate count for performing RNG
- adds eof newline
- adds todo comment about a redundant if condition

* Declares spectate section in Plugins.rst
2022-03-14 19:33:41 -07:00
myk002 e60ef479c6 handle carving fortifications in dig-now 2022-03-12 13:33:36 -08:00
myk002 7c665dcb7a allow search terms to match full item labels
even when the item label is truncated for length
this change also fixes items that were being incorrecty grouped due to
having differences only in the truncated part of their labels
2022-03-12 12:41:19 -08:00
Quietust aa1bc3fe52 Cleanup Kitchen module (and the seedwatch plugin which uses it) 2022-03-12 12:04:34 -08:00
Josh Cooper ba5710f263 Adds new event type NEW_UNIT_ACTIVE 2022-03-12 11:33:27 -08:00
Josh Cooper 20b42145c1 On second thought, not redundant 2022-03-12 11:33:27 -08:00
Josh Cooper a2e690d5d9 Re-adds removed lines to diggingInvaders.cpp 2022-03-12 11:33:27 -08:00
Josh Cooper 2b8024e62f Updates eventful plugin with new EventManager event JOB_STARTED 2022-03-12 11:33:27 -08:00
Josh Cooper 4aac87a7f0 Updates the plugin skeletons again 2022-03-12 11:33:27 -08:00
Josh Cooper 79e2188a5f Corrects a regression in skeleton.cpp documentation 2022-03-12 11:33:27 -08:00
Josh Cooper 051e891680 Improves plugin dev documentation through updating skeleton.cpp 2022-03-12 11:33:27 -08:00
Josh Cooper ddbeead2b2 Updates diggingInvaders according to EventManager refactor 2022-03-12 11:33:27 -08:00
Josh Cooper 12df6d14e9 Improves documentation for plugin writing 2022-03-12 11:33:27 -08:00
myk002 33f06668d5 ensure we don't crash when tiletypes-here is run
from the commandline
2022-03-03 21:37:38 -08:00
myk002 dbe87d4156 implement orders list 2022-02-25 12:58:56 -08:00
myk002 2ebfca42dd merge buildingplan-lib.cpp into buildingplan.cpp 2022-02-25 12:57:17 -08:00
myk002 0d1668a7a5 merge buildingplan-lib into buildingplan
so no one else is tempted to use it as a library. starting buildingplan
from two separate plugins just runs two completely separate engines with
separate state, one of which is completely inaccessible from the UI.
2022-02-25 12:57:17 -08:00
myk002 eae90c9448 remove fortplan code; leave doc stub 2022-02-25 12:57:17 -08:00
myk002 434d072919 implement zone phase for blueprint 2021-10-04 15:32:26 -07:00
myk002 ffe5bad66b implement "track" phase in blueprint
required decoupling phases from modes since now we have two "dig" phases
2021-10-04 12:53:31 -07:00
myk002 089de5f422 support non-rectangular extent-based buildings 2021-10-03 08:54:27 -07:00
myk002 27c0c41536 only create empty blueprints on explicit request
and use the new functionality in the ecosystem tests, which simplifies
the blueprint commandline creation
2021-10-02 23:36:26 -07:00
myk002 12eb9e48c7 support multi-type and non-rectangular stockpiles
and add integration tests
2021-10-02 12:50:47 -07:00
myk002 09d7cd83df add/fix missing/incorrect building specs
added:
- wS
- wp
- roller speed designations
- n
- TS
- ~s
- ~h
- ~c
- F
- ~a

fixed:
- Wall (CW -> Cw)
- DownStair (Cj -> Cd)

also remove track designations. we'll add that back once we create a
"track" phase.
2021-10-02 09:25:19 -07:00
myk002 d7d4f364ac channel over dig equals no ramp
fixes special case where a channel tile is specified over a regular dig
tile. this allows dig-now to produce a flat floor in that case, which is
likely what is intended.
2021-10-02 09:25:19 -07:00
myk002 42f4cbdc9c remove designations from all modified tiles
found this bug with blueprint-generated blueprints. if both a channel
and the resulting ramp are explicitly marked in the blueprint (like the
blueprint plugin does), the channel is processed first, pre-creating the
ramp in the tile designated for a ramp. Then, when the ramp designation
is processed, the ramp is already there, which is an invalid tile to
make a ramp on, so the designation is skipped (and therefore not
cleared). this change clears the designation for both the ramp tile and
the channel tile when either is processed. this opens another edge case
where the designation under a channel is a regular 'd' mine, which will
now get ignored and leave a ramp insead of a flat floor. but I'll
address that in the next commit.
2021-10-02 09:25:19 -07:00
myk002 1a11c43546 record carved tracks in dig blueprints 2021-10-02 09:25:19 -07:00
myk002 c23970f36b add unit tests 2021-09-20 16:10:15 -07:00
myk002 596f72f06b implement --playback-start param and logic 2021-09-20 16:10:15 -07:00
myk002 2bbd4ab79e clean up, document 2021-09-17 10:57:26 -07:00
myk002 afc7096329 use vector instead of map for great memory savings 2021-09-17 10:57:26 -07:00
myk002 44a93fcb28 update unit tests 2021-09-17 10:57:26 -07:00
myk002 42e04fc6ec use const char *, not std::string for efficiency
so we can actually process large maps without OOMing
2021-09-17 10:57:26 -07:00
myk002 772e386427 implement --format option for minimal and pretty
pretty is currently equivalent to the previous format, though there will
be changes in the future
2021-09-17 10:57:26 -07:00
myk002 1fd2eba2db give generated blueprints proper labels 2021-09-10 11:11:44 -07:00
myk002 0747f872b0 add --splitby param to blueprint
--splitby=none is the new default, allowing all blueprint phases to be
written to a single file. old behavior of one phase per file is
supported via --splitby=phase.
2021-09-09 09:58:53 -07:00
myk002 6073cfeb5d pass params from blueprint gui to gui/blueprint
without passing the initial "gui" literal string
2021-09-09 09:58:23 -07:00
myk002 97fab76bba lay down tiles in order when using buildingplan
improves on implementation in 22ac163d5. we don't need to set the anchor
at all when using buildingplan.
2021-09-09 00:35:15 -07:00
lethosor c74d881e44
Update stonesense 2021-09-07 15:01:21 -04:00
lethosor badf19b424
tweak military-assign: fix likely missing bounds check 2021-09-07 01:18:13 -04:00
lethosor 91e7e12464
RemoteFortressReader: fix likely copy-paste error between width/height 2021-09-07 01:17:38 -04:00
lethosor e7754ea890
Enable -Wunused-variable and fix most errors 2021-09-07 01:16:21 -04:00
lethosor fbe0319515
Merge remote-tracking branch 'lethosor/ci-scripts-cleanup' into develop 2021-09-06 22:41:02 -04:00
lethosor a083a7f670
tailor: fix operator precedence in command parsing
&& has a higher precendence than ||, so this could have resulted in a crash in
some cases. It also produced unintentional behavior where e.g. `tailor 1 foo`
would enable the plugin, unlike `tailor enable foo`.

From #1920
2021-09-06 22:35:38 -04:00
lethosor e5487c812a
Update stonesense lint filter 2021-09-06 19:08:22 -04:00
lethosor 11222f21d3
Update lint.py filters and fix a couple identified issues 2021-09-06 18:42:45 -04:00
DFHack-Urist via GitHub Actions 0cbcabee59 Auto-update submodules
scripts: master
plugins/stonesense: master
2021-09-04 07:15:42 +00:00
Quietust 9d8eccd152 Fix remotefortressreader to use new ocean_wave field names 2021-09-02 06:58:55 -06:00
lethosor 0d14a2ccef
Merge remote-tracking branch 'ab9rf/tailor-v2' into develop
Conflicts: docs/changelog.txt
2021-09-01 23:34:30 -04:00
myk002 bd0a2e3877
only output when changes are made
avoids spamming the console when `orders sort` is run on repeat
2021-09-01 16:52:11 -07:00
myk002 f21ba5c8aa
implement orders sort, document, and add to init 2021-09-01 13:04:23 -07:00
lethosor 687b84378d
Merge remote-tracking branch 'ab9rf/autofarm-berry-fix' into develop 2021-08-31 00:52:18 -04:00
lethosor 27ce7cf1ee
check-structures-sanity: print error for untagged unions instead of aborting
These come up in structures such as world.poetic_forms.all[i].subject_target
without a clear fix.
2021-08-31 00:28:42 -04:00
lethosor 1d9f12fe3f
Fix signed/unsigned comparison warning
From #1903
2021-08-28 15:15:13 -04:00
lethosor 39c650de13
Fix compilation error on macOS with GCC 11
This should make `-fpermissive` (from #1924) unnecessary, so I also removed
those instructions.
2021-08-21 12:58:17 -04:00
Kelly Kinkade 22bcbf9877
Merge branch 'develop' into autofarm-berry-fix 2021-08-16 07:22:11 -05:00
Kelly Kinkade 92f258bdbf
Merge branch 'develop' into tailor-v2 2021-08-16 07:17:53 -05:00
myk002 37a8260c3b
import and export reaction-specific item conditions 2021-08-14 16:35:40 -07:00
Kelly Kinkade 2981deb521 update autogems to respect workshop profiles
Add a test so that autogems will not assign cut gem jobs to workshops that are not allowed to do them.

Fixes #1263
2021-08-10 06:29:10 -05:00
lethosor 0140ace317
Merge remote-tracking branch 'myk002/myk_buildingplan_attached' into develop 2021-08-10 01:07:35 -04:00
Kelly Kinkade 73107fb21b tailor: add support for user-specified material list
Add support for user-specified material list. Also refactor, fix some mostly-innocuous bugs

Resolves #1911.
2021-08-08 09:53:32 -05:00
Kelly Kinkade 685e5111ae Update autofarm.cpp
`dts::make_unique`, not `std::make_unique`, sorry my bad
2021-08-07 15:51:21 -05:00
Kelly Kinkade ce50bbdfde fix autofarm berry problem
Update autofarm to count PLANT_GROWTHS as well as PLANTS for threshold purposes. This addresses #1902.

Also addresses some pointer hygiene issues in autofarm.
2021-08-07 15:32:43 -05:00
myk002 d8b5ac41d9
ensure soil tiles get randomized variants 2021-08-01 23:30:04 -07:00
myk002 98fd6effdc
generate random time variants where applicable 2021-08-01 07:07:20 -07:00
myk002 92701d6da7
connect smooth walls to doors 2021-07-30 13:09:20 -07:00
myk002 3c8a174a68
use pillars for wall ends instead of NS or EW 2021-07-30 13:09:20 -07:00
myk002 79bdf36ed4
expose link_adjacent_smooth_walls to lua
so build-now can use it
2021-07-30 13:09:20 -07:00
myk002 8fb456313f
allow only one positional param to be specified 2021-07-30 13:09:20 -07:00
myk002 c1665f35b4
fix off by one error 2021-07-30 13:09:20 -07:00
myk002 95fa9f3d7a
use new library functions in dig-now 2021-07-30 13:09:20 -07:00
myk002 a6c62a025f
unhide properly when digging at visible edges 2021-07-30 13:09:20 -07:00
myk002 0b703d9818
fix adjacent smooth walls when we dig one out 2021-07-30 13:09:19 -07:00
myk002 48f90da72e
remove extra return 2021-07-30 13:09:19 -07:00
myk002 c807398eff
remove old reference to dig-now.h 2021-07-30 13:09:18 -07:00
myk002 93d67dd51e
export dig_now_tile over Lua 2021-07-30 13:09:18 -07:00
myk002 fc19fb6785
add external api: dig_now_tile(out, pos) 2021-07-30 13:09:18 -07:00
myk002 1a19c3a944
ramp/channel: don't dig into undiggable tiles 2021-07-30 13:09:18 -07:00
myk002 d6c9f99c61
don't overflow prod->count. it's a measly int16_t 2021-07-30 13:09:18 -07:00
myk002 aa1cbc95db
skip marker mode dig designations 2021-07-30 13:09:18 -07:00
myk002 1670cfab05
also "and" -> "&&" 2021-07-30 13:09:18 -07:00
myk002 dfc938a99d
omg lua is ruining me
on the other hand, why doesn't MSVC just support "or" to mean "||"?
2021-07-30 13:09:17 -07:00
myk002 59a34c6d17
remove ramp tops when channeling
we normally take care of any ramp tops above the channeled tile when we dig the ramp below the channeled
tile, but that logic might not run if we channel down into empty space
(or undiggable tiles)
2021-07-30 13:09:17 -07:00
myk002 662f2cc616
don't dig the undiggable 2021-07-30 13:09:17 -07:00
myk002 5c853644f0
let newly uncontained water flow 2021-07-30 13:09:17 -07:00
myk002 7ea8c843b1
allow digging of surface tiles
now that we handle colonies
2021-07-30 13:09:17 -07:00
myk002 8349afa39b
destroy colonies when digging a ramp underneath 2021-07-30 13:09:14 -07:00
myk002 c645cd5454
move units and items to ground when it disappears 2021-07-30 13:09:14 -07:00
myk002 61a18b14be
fix adjacent smooth walls when smoothing 2021-07-30 13:09:14 -07:00
myk002 c1dcaa4378
generate gems as ROUGH, not BOULDER
also fix missing dug_tile indices when channels are dug
also fix second boulder/gem being generated with a potentially incorrect
probability when digging channels and ramps
2021-07-30 13:09:13 -07:00
myk002 71c605afd4
make options configurable and document 2021-07-30 13:09:13 -07:00
myk002 f1b38fb6f6
fix up comments 2021-07-30 13:09:13 -07:00
myk002 6bc2a2bdad
implement tile smoothing 2021-07-30 13:09:13 -07:00
myk002 d7f417051d
implement track carving 2021-07-30 13:09:13 -07:00
myk002 5f7dc86c5c
optionally dump generated boulders at pos 2021-07-30 13:09:13 -07:00
myk002 52e666a45a
produce boulders from digging as per game rules
also add options struct for later configurability
2021-07-30 13:09:13 -07:00
myk002 02d7d4c5b6
clean up top-level logic 2021-07-30 13:09:12 -07:00
myk002 fc932d2850
use reveal.unhideFlood instead of our dup impl 2021-07-30 13:09:12 -07:00
myk002 a5b70ba163
rename dig-dug to dig-now 2021-07-30 13:09:12 -07:00
myk002 6cf40857e4
convert material to layer mat when digging
also ensure dug tiles aren't generated already smoothed
2021-07-30 13:09:12 -07:00
myk002 a4c86770a4
follow digging rules when converting tiles 2021-07-30 13:09:12 -07:00
myk002 d3d5a6edd7
initial implementation of the dig-dug plugin
for discussion
2021-07-30 13:09:12 -07:00
myk002 c6866ca339
display status of items (attached/pending) 2021-07-21 21:58:07 -07:00
myk002 20dbd746a8
fix typo 2021-07-09 21:58:32 -07:00
myk002 aba1750bac
use new argparse functions 2021-07-09 21:58:32 -07:00
myk002 1220f6692c
simplify as per code review 2021-07-09 21:58:32 -07:00
myk002 da6fe42202
missed one output line 2021-07-09 21:58:32 -07:00
myk002 da034704e7
add includes for bool identities 2021-07-09 21:58:32 -07:00
myk002 a09f4d9b63
add --cursor and --quiet options to tiletypes-here 2021-07-09 21:58:32 -07:00
myk002 f62ff3ecc0
migrate existing lua code to use new library fns 2021-07-05 15:48:51 -07:00
lethosor 8689a019f5
Merge remote-tracking branch 'arzyu/patch-1' into develop 2021-07-05 15:56:37 -04:00
lethosor ed03df7dfb
Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop 2021-07-04 21:20:09 -04:00
DFHack-Urist via GitHub Actions 0077b51646 Auto-update submodules
plugins/stonesense: master
2021-07-02 07:16:17 +00:00
myk002 36c481cd10
catch exceptions thrown while importing orders 2021-06-30 14:58:01 -07:00
myk002 367fdbd31c
normalize pathnames and handle dirs as basenames 2021-06-29 14:25:30 -07:00
arzyu c30ac42c51
use "move selector" instead of "move cursor" 2021-06-23 14:25:45 +08:00
lethosor 2fc5fbacb5
Merge remote-tracking branch 'myk002/myk_reveal_unhideFlood' into develop 2021-06-19 01:08:05 -04:00
lethosor a300c5592d
Merge remote-tracking branch 'myk002/myk_teleport' into develop 2021-06-18 18:21:49 -04:00
lethosor 293b6e880f
Merge remote-tracking branch 'myk002/myk_plugin_doc' into develop 2021-06-17 22:09:41 -04:00
PatrikLundell ba5915b866 embark-assistant early waterfall quit removed 2021-06-13 17:47:15 +02:00
lethosor fc8e1dd388
Merge remote-tracking branch 'myk002/myk_blueprint2' into develop 2021-06-13 00:53:22 -04:00
myk002 1c9c370fcd
remove dead code from plants 2021-06-07 21:51:25 -07:00
lethosor de8ce58052
Update stonesense
Ref dfhack/stonesense#77, dfhack/stonesense#78
2021-06-06 23:26:31 -04:00
myk002 ed0e4ef841
whoops that was important 2021-06-06 09:00:33 -07:00
myk002 fc860478e4
move fastdwarf's teleport code to Units module
and expose in Lua API
2021-06-06 08:48:32 -07:00
myk002 94157633a8
don't suspsend core for Lua entrypoint 2021-06-05 14:45:09 -07:00
lethosor 7d7d1feb4b
Update stonesense
Ref dfhack/stonesense#73, dfhack/stonesense#76
2021-06-05 15:16:18 -04:00
lethosor bce6432ea6
Merge remote-tracking branch 'bseiller/ea_improve_survey_performance_by_changing_inorgancs_to_vector_int' into develop 2021-06-04 00:21:34 -04:00
myk002 fb8d6614c7
expose core flood unhide logic to Lua
refactor is a straight copy-paste. this code could really stand some
cleanup (unused vars, unnecessary use of the MapCache layer, forced
allocation of all blocks even if they are not being unhidden, etc.), but
that can come in a later PR.
2021-06-02 14:49:19 -07:00
myk002 ce6a2d2974
used passed-in out param instead of the console 2021-06-01 02:16:48 -07:00
myk002 1b1b4245c9
report output filenames when creating blueprints
also refactor so we can get this data from gui/blueprint
2021-05-31 15:34:19 -07:00
myk002 5e127ed1e8
invalidate resume cache when buildings are added 2021-05-26 22:29:55 -07:00
bseiller 5cd86743f1 trying to make gcc happy
- survey.cpp: adding include to allow gcc to find std::memset
2021-05-25 18:56:58 +02:00
bseiller 2516f9927a removing trailing whitespace 2021-05-23 14:12:16 +02:00
bseiller 838285e925 Improve performance of surveying => faster search
- def.h: changed vectors for inorganics to contain uint8_t instead of bool which improves the performance when using std::fill and std::memset to batch-set the whole array
- survey.cpp: using std::memset instead of direct assignment to reset the inorganic vectors, also using the actual size of each vector for the call
- changelog.txt: add note concerning the changes
2021-05-23 11:28:48 +02:00
myk002 1aaed3a6ed
error on invalid phase names 2021-05-21 06:34:28 -07:00
myk002 0409b7bca5
modify start, not options.start when getting coord 2021-05-21 06:34:28 -07:00
myk002 07e29bdc3a
use new getCursorCoord call and move suspender up 2021-05-15 12:05:32 -07:00
myk002 256ca13668
make short help text more generic 2021-05-14 23:07:44 -07:00
myk002 5a149f44e0
use setHotkeyCmd instead of dfhack.run_script 2021-05-14 23:02:04 -07:00
myk002 bee0c15ba0
yeah, this isn't lua
(though "and" instead of "&&" seems to work in gcc!)
2021-05-10 21:11:14 -07:00
myk002 816cd5cf27
add unit tests 2021-05-10 21:11:13 -07:00
myk002 cc489db084
add comment to parse_gui_commandline function 2021-05-10 21:11:13 -07:00
myk002 a949065a7e
fix typo in comment 2021-05-10 21:11:13 -07:00
myk002 09829551ee
fix formatting 2021-05-10 21:11:13 -07:00
myk002 7c7d96b5c1
output args being passed to gui/blueprint 2021-05-10 21:11:13 -07:00
myk002 a7a5a48c7a
first stage of blueprint overhaul
- make depth and name parameters optional
- allow depth to be negative to indicate top-down instead of the
  previous hard-coded bottom-up
- add --cursor for specifying start position (game cursor is not needed
  if this param is specified)
2021-05-10 21:11:10 -07:00
lethosor eb0d264855
Merge remote-tracking branch 'myk002/myk_tiletypes_typo' into develop 2021-05-10 00:37:44 -04:00
lethosor faef412c78
Merge remote-tracking branch 'lethosor/dwarfvet-cleanup' into develop 2021-05-10 00:27:06 -04:00
lethosor e7f0f1fb70
Merge remote-tracking branch 'myk002/myk_blueprint_cacheless' into develop 2021-05-10 00:21:14 -04:00
myk002 26b1489235
make isPlanModeEnabled() consider enable_all 2021-05-08 07:41:08 -07:00
myk002 7848771b1a
fix label misspelling in tiletypes 2021-05-05 12:54:14 -07:00
myk002 e28bbd3a20
don't crash for invalid coordinates 2021-04-27 09:19:33 -07:00
myk002 e516cf1a80
remove MapCache header include 2021-04-27 09:19:33 -07:00
myk002 9b416a8662
speed up dig blueprint creation by 70%
remove the unneeded cache layer. the cache is for writing. we're just
reading. all the cache is doing is adding latency as it makes its copies
of map data structures.

generating a 190x190x100 dig blueprint:
before change: 1.7s
after change:  1.0s

the performance gains aren't as important here as the reduced complexity
of the algorithm, though. for reasonably-sized blueprints, the time
savings are unnoticeable.
2021-04-27 09:19:30 -07:00
lethosor e4de302048
Simplify building overlap calculations significantly
Fixes #1824
2021-04-14 00:59:43 -04:00
lethosor 7b1d7a7ff9
Fix off-by-one error in report-usage 2021-04-05 23:35:11 -04:00
lethosor 14172b7c0f
Improve readability of report-usage output 2021-04-05 23:33:53 -04:00
lethosor 40c2b19083
Switch from vector to unordered_set 2021-04-05 23:28:42 -04:00
lethosor 1c3e60337c
Switch to range-based for 2021-04-05 23:23:31 -04:00
lethosor 761cf19e99
tweak hide-priority: make toggle state persist across designation menu uses
To reproduce:
1. Enter the `d`esignation menu
2. Press `-+` to change priorities
3. Create a designation
4. Press `Alt-p` to hide priorities
5. Exit and re-enter the designation menu (`Esc`, `d`)

Previously, priorities would be visible again after step 5. With this change, they are not visible until you press `Alt-p` again.

Fixes #1068. Note that this is a relatively unobtrusive fix: selecting a priority with `+-` will still result in priorities being shown again. This is native DF behavior that I am reluctant to override because users of designation priorities likely want to see them.
2021-04-05 21:58:51 -04:00
lethosor a5128fd7e6
dwarfvet: minor logic cleanup
- Use at() to crash immediately on out-of-range errors instead of introducing
  memory corruption (see #1824)
- Replace custom implementation of df::unit::find()
- Use range-based for with get_vector() where appropriate
2021-04-05 00:38:23 -04:00
lethosor dfb52a2aba
Merge remote-tracking branch 'lethosor/command-prompt-fix-gui-scripts' into develop
Conflicts:
	docs/changelog.txt
2021-04-02 21:53:14 -04:00
lethosor 257f8dbe00
buildingplan: fix size calculation for constructions
Planning a 4x2 construction with DF's `umkh` keys (i.e. not automaterial's box-select) would previously produce a 5x3 construction instead, for example.
2021-04-01 00:16:54 -04:00
Ben Lubar c06d1f8e52
tagged union support for lua (#1818) 2021-03-30 15:55:06 -05:00
lethosor 572b6ebab5
Fix warning (#1796) 2021-03-27 00:11:50 -04:00
lethosor d61c4aa234
Merge remote-tracking branch 'myk002/myk_xlsxreader_classes' into develop 2021-03-27 00:10:03 -04:00
myk002 4d2af8438f
always read all cells to work around xlsxio bug
otherwise xlsxio will return a spurious empty row on next row read
2021-03-26 19:43:15 -07:00
lethosor 26e41005e3
Fix fastdwarf warning 2021-03-25 17:20:33 -04:00
myk002 aac958aa50
add open() wrapper fn and document class methods 2021-03-22 09:38:20 -07:00
lethosor 59b023c71d
Ensure that command-prompt is dismissed after a command creates a new screen
Fixes #1803

Running a command that created a new screen would previously result in a screen
order that looked like this, due to how `Screen::Hide` works:

- DF screen
  - `command-prompt` screen (dismissed)
    - New screen

The `command-prompt` screen remained on the stack until the new screen was
dismissed, so it would intercept viewscreen vmethod calls intended for the
DF screen.

This change adds a new behavior to `Screen::Hide` that results in this screen
order after running a command:

- DF screen
  - New screen
    - `command-prompt` screen (dismissed) - DF removes this screen immediately
2021-03-21 20:42:50 -04:00
lethosor 1f9e875bcd
Update stonesense, scripts 2021-03-11 00:00:49 -05:00
Ben Lubar 67ed9e135f
update stonesense ref 2021-03-10 15:45:36 -06:00
Ben Lubar f566284b80
update stonesense ref 2021-03-10 15:31:50 -06:00
Ben Lubar 1554d06831
update stonesense submodule 2021-03-10 15:14:12 -06:00
DFHack-Urist via GitHub Actions 45823c2745 Auto-update submodules
scripts: master
plugins/stonesense: master
2021-03-10 07:15:44 +00:00
myk002 69a2f44020
Lua class wrappers for the xlsxreader plugin API 2021-03-08 15:04:50 -08:00
Ben Lubar 4aaa54c056
dwarfvet: remove console spam when plugin is enabled but no hospitals exist 2021-03-07 14:59:41 -06:00
PatrikLundell ef53c2d672 adapted to changed df-structures enum value names 2021-03-05 12:45:51 +01:00
lethosor 9df06564a0
Merge remote-tracking branch 'PatrikLundell/Prospector' into develop
Conflicts:
	docs/changelog.txt
2021-03-03 23:56:06 -05:00
lethosor 1b2eed7c5e
confirm convict: use visible name to avoid exposing alternate identities
Ref #1593
See also:
https://www.reddit.com/r/dwarffortress/comments/ltzu82/if_i_wasnt_sure_i_found_the_vampire_before/
http://www.bay12forums.com/smf/index.php?topic=164123.msg8253738#msg8253738
2021-02-28 01:01:47 -05:00
lethosor 4a7fcc6118
Fix plugin name in error, add link in docs
Ref #1769
2021-02-25 00:41:13 -05:00
lethosor cb9ed4ff0c
Merge remote-tracking branch 'myk002/myk_manipulator' into develop
Conflicts:
	docs/changelog.txt
2021-02-25 00:39:01 -05:00
lethosor af34b5d614
Merge remote-tracking branch 'bseiller/ea_improve_survey_performance_keep_mlts_on_heap' into develop 2021-02-23 00:22:22 -05:00
bseiller 60e83046f8 Prevent accidental double-frees
- matcher.cpp, survey.cpp: setting the state pointer to null/nullptr in ::shutdown() to prevent errors caused by accidental double-frees - an additional check if the pointer is null already is not necessary as the standard guarantees that nothing happens if delete is called on a nullpointer

Co-Authored-By: Alan <3719547+lethosor@users.noreply.github.com>
2021-02-20 22:43:12 +01:00
myk002 de9375574a
fix syntax error 2021-02-18 23:25:21 -08:00
myk002 3e6294198b
update wording of fortplan deprecation notice 2021-02-18 23:23:50 -08:00
myk002 09f0607db2
add deprecation warnings to fortplan 2021-02-13 11:07:14 -08:00
myk002 55743fc43f
Merge remote-tracking branch 'upstream/develop' into myk_manipulator 2021-02-13 07:16:58 -08:00
Ben Lubar a051077820
update structures 2021-02-10 18:54:12 -06:00
lethosor ebbbfc0f8e
Merge remote-tracking branch 'myk002/myk_orders_crash' into develop
Conflicts:
	docs/changelog.txt
2021-02-10 00:10:53 -05:00
bseiller 6ffbf401c4 Merge branch 'develop' into ea_improve_survey_performance_keep_mlts_on_heap 2021-02-09 08:42:42 +01:00
PatrikLundell 4660f52b36 improved pre embark mineral estimates 2021-02-08 14:45:49 +01:00
myk002 09d91dcae1
move alchemist-enabling logic to autohauler 2021-02-06 14:14:08 -08:00
myk002 6819ee9928
make alchemist flag valid for controllable civs 2021-02-05 16:45:39 -08:00
myk002 4d57d27d4d
Revert "allow alchemist skill to be toggled in manipulator"
This reverts commit fa662cafbc.
2021-02-05 16:10:36 -08:00
bseiller efc92750fa Fix crash
embark-assistant.cpp: Move call to survey::initiate() after call to survey::setup(), otherwise state won't exist
2021-02-04 01:10:10 +01:00
bseiller 52bf998224 Adapt to review comments by @PatrikLundell
- survey.cpp: rename loop variable for more clarity; replace use of parmeter with use of vector.size(), replace nested vector.at calls with direct index access/subscript as it is faster and easier to read
2021-02-03 14:32:03 +01:00
bseiller 0c304cf85f Improve performance of surveying => faster search
replace the local/automatic mid_level_tiles variable in matcher::match_world_tile with one that is created once during the setup phase (heap).
The dynamic part of the contained (16*16*3 = 768) vectors is being allocated on the heap in both cases - which made the repeated instatiations of the automatic variable so slow/expensive.

Also replace calls to vector<bool>.resize in nested loops with direct assignments to those vectors, which curiously even after a lot of profiling is the fastest way to reset the inorganic vectors - at least on Windows.

- embark-assistant.cpp: Replace 2 local/automatic mid_level_tiles variables with a single dynamic variable created during setup as well; add calls to matcher::setup() and matcher::shutdown()
- matcher.cpp/.h: add state with mid_level_tiles member; add setup and shutdown functions
- survey.cpp: add function reset_mlt_inorganics as replacement for the looped calls to vector::resize as all inorganic vectors are now expected to have the proper size when entering survey::survey_mid_level_tile
2021-02-03 00:08:59 +01:00
myk002 1063497828
don't crash on malformed orders json 2021-02-02 10:50:21 -08:00
myk002 fa662cafbc
allow alchemist skill to be toggled in manipulator
since autohauler uses it as a flag
2021-02-02 08:28:48 -08:00
bseiller 56335977ab Merge branch 'develop' into ea_refactoring 2021-02-01 23:36:04 +01:00
bseiller fede136008 refactoring embark-assistant survey, 12.iteration
- survey.cpp: replace repeated (nested) vector access with an const int / auto pointer in survey_mid_level_tile
2021-02-01 22:57:30 +01:00
bseiller aff64956fb refactoring embark-assistant survey, 11.iteration
- survey.cpp: replace repeated (nested) vector access with a auto pointers in survey_mid_level_tile
2021-02-01 22:53:45 +01:00
bseiller 4fdcec5893 refactoring embark-assistant survey, 10.iteration
- survey.cpp: replacing repeated vector access with auto value in survey_mid_level_tile
2021-02-01 22:36:16 +01:00
bseiller 1ed783284e refactoring embark-assistant survey, 9.iteration
- survey.cpp: replacing repeated vector access with a const world_geo_biome pointer in survey_mid_level_tile
2021-02-01 22:31:58 +01:00
bseiller 9d64c9a549 refactoring embark-assistant survey, 8.iteration
survey.cpp: remove unused includes
2021-02-01 22:25:57 +01:00
bseiller db423cc11e refactoring embark-assistant survey, 7.iteration
- survey.cpp: replacing repeated nested vector access with a const df::inorganic_raw pointer in survey_mid_level_tile
2021-02-01 22:22:10 +01:00
bseiller aa520dfcce refactoring embark-assistant survey, 6.iteration
- survey.cpp: add function to copy all incursion values from one  mid_level_tile_incursion_base instance to another; replace repeated assignments with  calls to new function in survey_mid_level_tile
2021-02-01 16:00:01 +01:00
bseiller 3181532bf2 refactoring embark-assistant survey, 5.iteration
- survey.cpp: replacing repeated nested vector access with a const mid_level_tile reference in survey_mid_level_tile
2021-02-01 00:24:56 +01:00
bseiller 16438c59c8 Remove trailing whitespace as per lint rules 2021-01-31 14:03:49 +01:00
bseiller 115b8a439f fixing use of wrong indices, discovered during refactoring in survey::survey_mid_level_tile
- survey.cpp: replacing faulty repeated nested vector access (due to wrong indices) with the existing region_map_entry reference
2021-01-31 13:58:17 +01:00
lethosor fd7c3fc4aa
Prevent stockpiles hotkey label from overlapping with autodump
stockflow moved to last slot because it isn't enabled in dfhack.init-example

Ref #1764
2021-01-30 21:14:45 -05:00
lethosor 9c65c1f7c7
Merge remote-tracking branch 'myk002/myk_stockpiles_stockflow_conflict' into develop
Conflicts:
	docs/changelog.txt
2021-01-30 21:11:58 -05:00
lethosor c78866aba7
Merge remote-tracking branch 'abstern/autofarm-fallow-if-no-eligible-plants' into develop 2021-01-30 18:09:12 -05:00
lethosor 62870e9aee
Remove extra log statement, reorder changelog
ref #1753
2021-01-30 18:08:17 -05:00
lethosor 9d0eacadbf
Merge remote-tracking branch 'Moth-Tolias/seedwatch' into develop 2021-01-30 17:56:16 -05:00
bseiller 741e430a06 removing dead store from survey::survey_mid_level_tile
- survey.cpp: deleting declaration of and assigments to variable base_z which is never used apart from a self-assigment
2021-01-30 23:37:09 +01:00
bseiller 028a68ae6f refactoring embark-assistant survey, 4.iteration
- survey.cpp: replacing repeated nested vector access with a region_map_entry reference in survey_mid_level_tile; made a reference mid_level_tile const to prevent acidental change of values
2021-01-30 23:33:09 +01:00
bseiller b1cf65860c Merge branch 'develop' into ea_refactoring 2021-01-30 17:39:41 +01:00
Susan 8540fd84a4 move world loaded check and message printing to plugin_enable() 2021-01-30 15:14:46 +00:00
lethosor c6da99e5ce
Merge remote-tracking branch 'myk002/myk_stockflow_steals_input' into develop
Conflicts:
	docs/changelog.txt
2021-01-30 01:59:44 -05:00
lethosor 845993ba59
Merge remote-tracking branch 'lethosor/fix-k-search-crash' into develop 2021-01-29 20:08:08 -05:00
Su 545fcf6745
Merge branch 'develop' into seedwatch 2021-01-29 11:34:57 +00:00
Susan 33342404bc Merge branch 'seedwatch' of github.com:Moth-Tolias/dfhack into seedwatch 2021-01-29 11:27:34 +00:00
Susan a3b0cda069 don't enable if no world is loaded 2021-01-29 11:26:46 +00:00
lethosor 5c14f619c8
Merge remote-tracking branch 'myk002/myk_buildingplan_enable_all' into develop 2021-01-29 00:59:33 -05:00
lethosor 4fbd763c1a
Also cancel 'k' search when hotkeys (F1 - Shift-F8) are pressed 2021-01-29 00:28:32 -05:00
lethosor 865484f678
Merge branch 'develop' into fix-k-search-crash
Conflicts:
	docs/changelog.txt
2021-01-29 00:16:13 -05:00
bseiller b33f06efee refactoring embark-assistant survey, 3.iteration
- survey.cpp: replacing repeated nested vector access with a mid_level_tile reference in survey_mid_level_tile
2021-01-28 23:48:09 +01:00
bseiller e90e84ab87 refactoring embark-assistant survey, 2.iteration
- survey.cpp: replacing pointer and repeated nested vector access with a region_tile_datum reference in survey_mid_level_tile
2021-01-28 23:40:58 +01:00
bseiller 6e012bb032 refactoring embark-assistant survey, 1.iteration
- survey.cpp: replacing repeated double vector access with a reference in survey_mid_level_tile
2021-01-28 23:38:40 +01:00
Su 98f3142c92
change deactivation message to be more accurate
Co-authored-by: Alan <lethosor@users.noreply.github.com>
2021-01-28 18:00:34 +00:00
myk002 42ae0727fe
resolve hotkey help text conflict
between stockflow and stockpiles

I removed stockpiles's dynamic placement code as well. it attempted to
move the hotkey help text down if it covered any stockpile links, but
this will no longer work since other hotkey text already takes up all
the lines below stockpiles' hotkey text.
2021-01-27 08:37:12 -08:00
myk002 ff69665815
keep stockflow from stealing input during rename 2021-01-27 08:25:21 -08:00
bseiller 1f7cae17ef Merge branch 'develop' into ea_incursion_struct 2021-01-26 23:22:59 +01:00
myk002 10634b8ae5
fix merge error 2021-01-24 09:19:01 -08:00
Myk Taylor d0fc448a39
add 'enable all' option for buildingplan
This kind of functionality is much more important now than it used to
be since there are so many supported building types.

Also modified the 'Planning Mode' status on the building placement
screen to reflect whether we're in quickfort mode, enable all mode, or
whether just the building type is enabled.

this setting is not persisted (just like quickfort_mode is not
persisted), but it can be set from onMapLoad.init
2021-01-24 09:08:36 -08:00
bseiller 3c4cb749a3 Merge branch 'develop' of https://github.com/DFHack/dfhack into prevent_repeated_survey_mlt_calls 2021-01-24 13:57:27 +01:00
bseiller c525b80dda Merge branch 'develop' of https://github.com/DFHack/dfhack into ea_incursion_struct 2021-01-24 13:54:25 +01:00
lethosor d01e61c658
Fix some error message formatting and add some cross-links to docs
Followup to #1747
2021-01-22 21:05:20 -05:00
lethosor 5ef7a81fd1
Merge remote-tracking branch 'myk002/myk_buildingplan_set_settings' into develop 2021-01-22 20:57:30 -05:00
myk002 ad39bb3c33
address review comments 2021-01-22 12:48:36 -08:00
bseiller 6a1b70ae76 making lint happy by removing trailing whitespace 2021-01-19 17:43:32 +01:00
bseiller 438811e108 handling special case of the cursor having been positioned in the lower right corner before the search
- matcher.cpp: manually moving the cursor to the neighbouring world tile so it can be moved back and embark_update is being called when all (incursion) data has been collected

Co-Authored-By: PatrikLundell <22739822+PatrikLundell@users.noreply.github.com>
2021-01-19 16:37:59 +01:00
bseiller 9b9373be4f removing commented out assigments 2021-01-19 12:06:36 +01:00
bseiller cb496c3f59 fixing indention/whitespaces
- defs.h: replacing tab with space/blank for indents
2021-01-19 00:07:28 +01:00
bseiller e99c8faa24 switching to mid_level_tile_incursion_base to store incursion data of world tile edges
- defs.h: using mid_level_tile_incursion_base in region_tile_datum to store incursion data of world tile edges
- survey.cpp: commented out "not used" blocks of assignment in survey_mid_level_tile that no longer make sense now
2021-01-19 00:01:54 +01:00
bseiller bdfd50cc65 using mid_level_tile_incursion_base instead of mid_level_tile for incursion processing
- matcher.cpp, survey.cpp: adapting signatures to use new struct that only contains incursion specific attributes
2021-01-18 23:50:14 +01:00
bseiller cc68767336 created struct mid_level_tile_incursion_base that only contains attributes that are relevant for incursion processing
- def.h: make attributes/fields of mid_level_tile_incursion_base available in mid_level_tile by inheriting from mid_level_tile_incursion_base which also allows treating mid_level_tile as a mid_level_tile_incursion_base
2021-01-18 23:23:50 +01:00
bseiller 85fe05b723 early return from embark_update during an active search to improve performance
- embark-assistant.cpp: checking if a search is active, if so return early
2021-01-18 22:08:46 +01:00
bseiller c300cae2f9 removing 2 dead stores to speed up survey::survey_mid_level_tile
- survey.cpp: removing layer_bottom and layer_top, which are never read, but slow down survey_mid_level_tile significantly because entries are added quite often into the tree map structure
- survey.h: removing now obsolete include for map
2021-01-18 19:38:57 +01:00
Susan 84b07005d8 tabs to spaces [whoops] 2021-01-16 23:47:41 +00:00
Susan 7a14bf475f don't turn off seedwatch on map load
fixes #682
2021-01-16 23:23:05 +00:00
Susan b506f0a240 remove misleading comment
per https://github.com/DFHack/dfhack/issues/682#issuecomment-138705257, seedwatch supports linux and has done for over a decade.
2021-01-16 23:01:25 +00:00
abstern 78df890217 factor out functions to get plant names and set individual farms 2021-01-13 08:55:48 +01:00
abstern 80674f7697 [feature] autofarm: fallow farms when no further plants requested 2021-01-12 21:37:51 +01:00
Myk Taylor 339d5ce26b
set buildingplan global settings from prompt
allow buildingplan settings to be set from the DFHack# prompt. For
example, if a player knows they'll always want to build with blocks,
they could add the following two lines to onMapLoad.init:

buildingplan set boulders false
buildingplan set logs false
2021-01-10 17:29:53 -08:00
Timur Kelman f115767713
add missing `\n` in digFlood's example 2020-12-31 13:47:02 +01:00
lethosor b585bca90b
look_menu_search: fix crash due to certain cursor keys not restoring list
Fixes #1737
2020-12-30 15:04:43 -05:00
lethosor a7232499ac
Silence some warnings from GCC 10
Specifically `gcc (Ubuntu 10.2.0-13ubuntu1) 10.2.0`
2020-12-30 00:04:49 -05:00
PatrikLundell 4a2704665d Merge branch 'develop' of https://github.com/DFHack/dfhack into embark-assistant 2020-12-27 11:20:18 +01:00
PatrikLundell dbfd838786 corrected temperature calculation factor order 2020-12-27 11:07:33 +01:00
lethosor 8cace1eb06
probe: print more designation and occupancy-related flags
This was useful for testing #1729
2020-12-23 15:36:39 -05:00
lethosor eff360b49d
Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop 2020-12-20 01:15:40 -05:00
PatrikLundell 0b7ab90d3d corrected mismatched indices 2020-12-17 11:49:15 +01:00
lethosor de21e0cdb8
Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop 2020-12-16 13:25:25 -05:00
PatrikLundell 3e3a34af99 corrected index usage 2020-12-16 10:59:27 +01:00
lethosor d437cfe649
Add test for invalid job types in workflow's job_outputs 2020-12-15 21:36:57 -05:00
lethosor 5d3924a8c0
Remove old jobs from plant_products
Identified by Quietust in #1722
2020-12-14 00:04:53 -05:00
lethosor 123c207d9c
Fix error in material_defs lookups
Changed in dfhack/df-structures@7dfea1f1d4
Fixes #1722
2020-12-14 00:03:29 -05:00
lethosor 4e08357aaf
search: reset when screen is dismissed, even if it's still present under gview
Fixes #1725
2020-12-08 23:09:07 -05:00
lethosor a3d8c5a2ec
revflood docs: clarify that constructed walls are ignored
Closes #1719
2020-12-05 19:41:32 -05:00
lethosor db03f943c9
Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop 2020-12-04 23:54:50 -05:00
PatrikLundell c36fbe4c8b Corrected river size handling 2020-12-03 15:40:22 +01:00
Tachytaenius 2a4e16d6da
Cover artifacts at greasing station
The inconsistent [DOES_NOT_DETERMINE_PRODUCT_AMOUNT] distribution is right, I assume?
2020-11-28 18:08:04 +00:00
lethosor 8548295fe5
Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop 2020-11-18 11:12:17 -05:00
PatrikLundell afe99b83c2 corrected orientation bug 2020-11-18 10:43:15 +01:00
lethosor 90cf6e8587
Merge remote-tracking branch 'quietust/dwarfvet' into develop 2020-11-17 23:38:06 -05:00
lethosor 53916dbe6b
Use charToKey and clean up logic a bit
Ref #1714
2020-11-17 23:33:18 -05:00
Nilsolm 4ac3e62e60 ignore input if selection is zero 2020-11-18 02:41:20 +01:00
PatrikLundell 1cd9babfb7 2 spaces killed 2020-11-17 21:10:40 +01:00
PatrikLundell 7944026742 fixed help screen misalignment 2020-11-17 20:55:14 +01:00
PatrikLundell 8f5d9fe1e9 Merge branch 'develop' of https://github.com/DFHack/dfhack into embark-assistant 2020-11-17 19:53:09 +01:00
PatrikLundell ab617f67cc corrected world tile level incursion calculations 2020-11-17 19:52:46 +01:00
Quietust 877fd42214 dwarfvet - initialize spot_index (#1711), fix types in Patient 2020-11-17 09:13:03 -06:00
lethosor 0b886399fe
zone: stop enumnick from taking priority over assign/unassign/slaughter
Fixes #1709
Ref #1652
2020-11-15 22:21:46 -05:00
lethosor 4921cb4ac7
Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop 2020-11-14 15:08:22 -05:00
PatrikLundell 0ef56ba859 another space character met its demise 2020-11-14 14:53:54 +01:00
PatrikLundell 46835c9edd reworked aquifer bit fiddling 2020-11-14 14:43:43 +01:00
myk002 59e76ae407
detect buildingplan buildings in the resume plugin 2020-11-13 12:43:46 -08:00
PatrikLundell d51b56c780 removed a blank 2020-11-13 20:28:22 +01:00
PatrikLundell 6014a45235 Fixed bug missing world tiles lacking incurson supplied resources 2020-11-13 20:11:03 +01:00
lethosor 2e4f23d49f
Merge remote-tracking branch 'myk002/myk_isplannedbuilding' into develop 2020-11-13 14:09:36 -05:00
myk002 efdba8b596
add buildingplan.isPlannedBuilding 2020-11-13 10:18:54 -08:00
myk002 10616a387f
cleaner mask-based implementation 2020-11-12 22:44:38 -08:00
myk002 6b14a92385
allow buildingplan to match metal bars 2020-11-12 19:54:00 -08:00
myk002 02a86d761a
identify bars as non_economic items
allows Job::isSuitableMaterial() to match metal bars as a building
material
2020-11-12 19:10:06 -08:00
myk002 36110902fa
don't use cached iterators across map reloads 2020-11-12 00:11:13 -08:00
lethosor 923b1b14f3
Merge remote-tracking branch 'myk002/buildingplan_persist_global_settings' into develop 2020-11-11 23:59:09 -05:00
lethosor 9c13b497bf
Merge remote-tracking branch 'myk002/myk_automaterial_buildingplan_fix' into develop 2020-11-11 23:36:42 -05:00
myk002 54702085d5
don't eat keys while building is being renamed
allows buildingplan to prevent unsuspension of planned buildings without
also eating the 's' key when the user is trying to use it to give the
building a custom name.
2020-11-11 17:12:56 -08:00
lethosor c87d5260d3
buildingplan: make hotkeys added to existing menus red
For clarity (per Lua API.rst guidelines)
2020-11-11 16:04:40 -05:00
lethosor 58079217d9
Merge remote-tracking branches 'myk002/myk_buildingplan_no_quality' and 'myk002/myk_buildingplan_pause' into develop 2020-11-03 00:09:03 -05:00
Myk Taylor 2c65113bdb detect all conditions that make the game pause 2020-10-31 03:03:05 -07:00
Myk Taylor fbc26336cf don't show quality properties for no-quality items
for items that cannot have a quality or be decorated:

in place mode, don't show quality adjustment hotkeys (or isDecorated
flag hotkey) and don't interpret the associated keycodes if they are
pressed.

in query mode, don't show quality or decorated fields.
2020-10-31 02:25:26 -07:00
Myk Taylor 65114d904c fix typo in comment 2020-10-29 11:53:31 -07:00
Myk Taylor 22ac163d55 improve UX between automaterial and buildingplan
solves the confusing behavior when both automaterial and buildingplan
are enabled for constructions. the two plugins now communicate with each
other over the Lua layer to negotiate consistent behavior.

if neither plugin is enabled, the standard DF UI acts as normal

if automaterial is enabled but buildingplan is not, then automaterial
behavior is unchanged.

if buildingplan is enabled and automaterial is not then behavior is
the same as other buildings with buildingplan (no material selection
screen, screen stays on building placement screen after placement).
this commit fixes a bug, though, where buildingplan would only lay
down a single tile of contruction instead of a solid block when a
block is requested.

if both plugins are enabled but buildingplan is not enabled for the
building type then automaterial is unchanged from previous behavior,
execpt for an additional header showing the separation between
automaterial hotkeys and buildingplan hotkeys.

finally, if both plugins are enabled and buildingplan is enabled for the
building type then buildingplan behavior prevails, but the box select and
hollow designations features of automaterial are still usable and
useful. the 'Auto Mat-select', 'Reselect Type', and "Open Placement"
automaterial hotkeys are hidden in the UI and ignored in the feed. This
is because buildingplan takes over material selection, so 'Auto
Mat-select' doesn't make sense. Buildingplan also already stays on the
placement screen after placement, so 'Reselect Type' is not necessary.
And all buildingplan-placed buildings have relaxed placement
restrictions (e.g. they can be built in mid-air) so 'Open Placement' is
also not necessary. The missing options are replaced with blank lines so
the vertical alignment of all other options stays constant.

we also remove a few extra lua_pop() calls that are made superfluous by
the StackUnwinder.
2020-10-29 11:00:49 -07:00
lethosor 08bb6ca35e
Tweak colors
Ref #1684
2020-10-29 00:03:07 -04:00
lethosor d508ad3c4b
Merge remote-tracking branch 'myk002/buildingplan_building_material_filters' into develop
Conflicts:
	docs/changelog.txt
2020-10-28 23:57:55 -04:00
Myk Taylor c1af3e2817 document what happens if no types are allowed 2020-10-26 21:13:11 -07:00
lethosor 3ab9157a2d
Merge remote-tracking branch 'myk002/buildingplan_refactor5_allbuildings_squashed2' into develop 2020-10-26 21:37:41 -04:00
lethosor b723636fe2
Merge remote-tracking branch 'myk002/buildingplan_refactor4_algorithm_squashed2' into develop 2020-10-26 21:24:05 -04:00
Myk Taylor 1a69a9b483 add more important checks for matching items
stolen (with love) from advfort.lua
2020-10-26 16:54:50 -07:00
Myk Taylor 292d40a6ba change hotkeys for adjusting min and max quality
to avoid 'q' and 'w' conflicts with the standard DF UI hotkeys for
roller speed.

min quality: 'qw' -> 'QW'
max quality: 'QW' - 'AS'
2020-10-26 16:11:34 -07:00
Myk Taylor 72b6ac781b on second thought, let UI-related settings reset
no need to have quickfort_mode stay on forever
2020-10-25 02:45:03 -07:00
Myk Taylor 486bf2719b persist global buildingplan settings
this ensures that a player's preferences are saved across map reloads.
this is particularly important for the building material filters, since
item fulfillment tasks are regenerated on map load, and any changes in
settings when buildingplan is reset will change the item vectors that will
be searched for planned buildings. if the settings were allowed to reset,
then a player who thought all walls would be made out of blocks would be
surprised to find boulders and logs being used after the map is reloaded.
2020-10-25 02:37:22 -07:00
lethosor 58917b03d1
Switch away from CheckDFObject in unprotected calls
See https://github.com/DFHack/dfhack/pull/1674#issuecomment-716028460
2020-10-24 14:27:33 -04:00
Myk Taylor a2f943e7e5 don't shift UI down for track constructions
automat doesn't have UI there to avoid
2020-10-24 09:19:15 -07:00
Myk Taylor e614d16e0e use Lua::CheckDFObject instead of static cast 2020-10-23 15:30:40 -07:00
Myk 55a52554ee
use CheckDFObject instead of static cast
Co-authored-by: Alan <lethosor@users.noreply.github.com>
2020-10-23 13:55:14 -07:00
Myk Taylor 0f517f38f8 don't conflict with automaterial plugin
shift buildingplan text down so we don't overwrite each other
2020-10-22 22:01:45 -07:00
Myk Taylor 7e78d8802e migrate qf's buildings_use_blocks to buildingplan
- remove buildings_use_blocks setting from quickfort config file
- add a new Buildingplan Global Settings dialog to house global settings
- move Quickfort Mode (for legacy Python Quickfort) into that dialog
- add four settings to control how generic building materials are matched:
  - blocks
  - boulders
  - logs
  - bars
- ajust the buildingplan algorithm to register duplicate tasks for
  building material item filters, one for each type. since we track how
  many items we've matched for a filter, the first matched item will
  "win" and the extras will get detected as invalid and popped off the
  queue.
- ensure boulders, logs, and bars are scanned last, and in that order
- more global settings planned for the future! see
  http://www.bay12forums.com/smf/index.php?topic=176889.msg8202679#msg8202679
2020-10-22 21:37:49 -07:00
Myk Taylor 09fbaba726 buildingplan: support all building types
Allow buildingplan to handle all building types, update the docs, and add in little extra fixes to ensure all the new types work correctly.
2020-10-16 14:23:35 -07:00
Myk Taylor 100b374af7 generalize buildingplan for all building types
but restrict to only the currently supported set so we can still assume only one filter is required for each building.

changes:
- update buildingplan plugin version to 2.0
- new serialization format for planned buildings
- old persistent data is automatically migrated to new format on load
- algorithm now respects job_item filters; items must match job_item filter and buildingplan ItemFilter
- more invalid items are now filtered out, like items encased in ice. are there any others we should be checking (see BadFlags struct)
- items are sorted before job is unsuspended so final item ordering is correct regardless of what order the items were matched and attached
- item counts in filters are kept up to date so if buildingplan is disabled before all filters are matched and the building is completed by DF itself, the item counts will come out correct (though the item ordering and building "roughness" may be incorrect)
- fixes two memory leaks in building finalization code
- allows artifacts to be matched (ItemFilter defaults now top out at Masterful -- Artifact is selectable but must be manually specified)
- add gui to switch between items for buildings that require multiple item types
2020-10-16 14:08:52 -07:00
Myk Taylor 1368fb4003 buildingplan: construct buildings from lua
Replace C++ building construction code with lua constructBuilding so we can get the proper job_item filters set. these filters will be used when we replace the core buildingplan algorithm in the next PR.
2020-10-16 14:03:05 -07:00
Myk Taylor 82013c0c5e prep buildingplan for core algorithm changes
Lots of refactoring and reorganizing, with only cosmetic player-visible changes.

- show quickfort mode hotlkey label regardless of whether the current building type has buildingplan enabled. before, it was only shown after the user enabled buildingplan for the current building. this eliminates the extra step when enabling quickfort mode, which force-enables all building types.
- changed signature of lua-exported isPlannableBuilding to take subtype
  and custom type in addition to building type. this is only used by
  quickfort, and it already sends all three params in preparation for
  this change
- added lua-exported scheduleCycle(), which is like doCycle(), but only
  takes effect on the next non-paused frame. this lets quickfort
  run only one buildingplan cycle regardless of how many #build
  blueprints were run
- declared a few dfhack library methods and params const so buildingplan
  could call them from const methods
- converted buildingplan internal debug logging fn to have a printf api
- reshaped buildingplan-planner API and refactored implementation in
  preparation for upcoming core algorithm changes for supporing all
  building types (no externally-visible functionality changes)
  - changed df::building_type params to type, subtype, custom tuple keys
  - introduced capability to return multiple filters per building type
    (though the current buildings all only have one filter per)
- split monolith hook functions in buildingplan.cpp into one per scope.
  this significantly cleans up the code and preps the hooks to handle
  iterating through multiple item filters.
- got rid of send_key function and replaced with better reporting of
  whether keys have been handled
2020-10-16 13:52:23 -07:00
lethosor 895fa59c79
Merge branch 'buildingplan_refactor' into develop 2020-10-16 00:05:01 -04:00
lethosor 93520b4b00
dwarfmonitor prefs: fix segfault if item_subtype is null for some item types 2020-10-11 20:45:56 -04:00
lethosor 9c8098b4f0
Expose to_search_normalized to Lua, add test, and use in ListColumn (most useful for the `stocks` plugin) 2020-10-10 01:40:00 -04:00
lethosor 1b53c0e748
Merge remote-tracking branch 'GitOnUp/normalize_search' into develop 2020-10-09 22:18:39 -04:00
lethosor e2de358f00
Merge remote-tracking branch 'PassionateAngler/zone-qol-improvements' into develop 2020-10-09 21:43:04 -04:00
lethosor 2382247398
Update some docs links to use HTTPS 2020-10-09 19:17:59 -04:00
lethosor c9609ad590
Make `createitem inspect` consistent for PLANT_GROWTH items 2020-10-09 12:45:49 -04:00
lethosor 691b35bf04
Merge remote-tracking branch 'quietust/createitem' into develop 2020-10-09 12:35:40 -04:00
George Murray a3c565b243 Add to_search_normalized to search for characters with accents 2020-09-24 07:31:10 -07:00
Myk Taylor 1c2761f903 enable all in quickfort mode
and simplify logic since new bool map values are already initialized to
false
2020-09-23 20:00:04 -07:00
Myk Taylor 323d377f63 Merge remote-tracking branch 'upstream/develop' into buildingplan_refactor 2020-09-23 19:21:49 -07:00
lethosor 577bb0a258
Merge remote-tracking branch 'myk002/buildingplan_format' into develop 2020-09-23 20:04:17 -04:00
Quietust d3520a2f5f Fix createitem to properly create plant growths (#898) 2020-09-20 16:11:41 -06:00
lethosor 0e6e00af5e
getplants: fix crash when world_object_data is not present for certain blocks 2020-09-20 01:24:46 -04:00
lethosor 9c37a3a068
Add "createitem inspect" subcommand 2020-09-19 20:33:47 -04:00
lethosor 8df8eb0c5d
Remove obsolete xlsxio_project dependency 2020-09-19 16:23:21 -04:00
lethosor 5952c16d87
Merge branch 'develop' into deps-subdirectory 2020-09-19 16:19:47 -04:00
PassionateAngler 11ee3a223d enumnick: command added to 'zone' plugin and other QoL improvements
zone: enumnick command create nick for creature from given prefix and number
      uinfo displays "Matched creatures" i.e number of creatures matched by filter
      maxage, and minage filters accept float now
      slaughter flag displayed on uinfo cretures list
2020-09-19 14:52:16 +02:00
lethosor a4254a4d2c
xlsxreader: Don't link to zlib directly
It's complicated on Windows, and xlsxio already links to it directly
2020-09-18 15:04:06 -04:00
lethosor b85759620f
Switch libzip and xlsxio to be included with add_subdirectory(), disable xlsxio installation 2020-09-18 00:33:41 -04:00
lethosor 42d4d33571
Only modify xlsxreader target if it was created
Ref #1620
2020-09-17 15:41:29 -04:00
lethosor 1efa09582a
Change libexpat to be included with add_subdirectory()
- Confirmed that libexpat is built statically and linked with xlsxreader
- May need da7cda3a85 for Windows
- Although libexpat's CMake options are all prefixed with LIBEXPAT_, it also adds some cache entries like SIZE_T (from expat/ConfigureChecks.cmake). Unsure if these affect other libs.
- xlsxio may need additional reconfiguration after moving to add_subdirectory() to find libexpat/libzip on non-Linux platforms.
2020-09-17 00:25:50 -04:00
Myk Taylor 8660355838 formally declare used globals in fortplan 2020-09-08 21:30:12 -07:00
Myk Taylor 3b362294b9 move quickfort logic from Planner to buildingplan
where all the other gui-related logic is.
2020-09-08 17:34:11 -07:00
Myk Taylor f3da131db7 reorganize buildingplan code - no logic changes
- no API or logic changes, just moving code around
- split buildingplan-lib into planner and rooms files
- move business logic from .h files to .cpp files
2020-09-08 00:17:56 -07:00
lethosor 09b018bea6
stockpiles: remove sand_bags field
Fixes #1013
2020-08-29 20:04:09 -04:00
lethosor 23dc7727b5
Merge remote-tracking branch 'kristjanmoore/develop' into develop 2020-08-29 17:43:46 -04:00
George Murray a84a1f0ee9 Switch trade screen search to use search_multicolumn_modifiable so that item counts are updated correctly with other information 2020-08-25 14:15:41 -07:00
kristjanmoore 293b0253c4 Set min_waterfall special cases outside loop 2020-08-23 17:35:45 +00:00
kristjanmoore 3ebb812cd5 Allow searches for higher waterfalls 2020-08-23 13:20:45 +00:00
lethosor 45a0b7b3a6
Fix stockpiles crash when building food map
Fixes #1628

Broke due to ecd6bcc9ed
2020-08-18 21:00:10 -04:00
lethosor 19a4d1df5a
Merge remote-tracking branch 'myk002/quickfort_buildingplan' into develop 2020-08-17 23:43:05 -04:00
Myk Taylor 7a7aff7745 closing NULL pointers is ok 2020-08-15 23:37:21 -07:00
Myk Taylor e4a35514ab document buildingplan Lua API 2020-08-15 23:03:49 -07:00
Myk Taylor 4e331ce4ce much better NULL handling/detection for xlsxreader 2020-08-15 22:35:20 -07:00
Myk Taylor 42108a64b9 expose basic buildingplan functionality to Lua 2020-08-12 15:24:32 -07:00
Myk Taylor 0bda289b17 move xlsxreader identity statics to dfhack lib 2020-08-11 14:51:17 -07:00
Myk Taylor cfc736caa1 give the identity classes distinctive name fields
both would have been represented as "handle" to Lua
2020-08-11 14:18:09 -07:00
Myk Taylor c6f9eb519a remove outdated example code in xlsxreader.cpp
there is already good example code in Lua API.rst and in xlsxreader.lua,
so just remove this one
2020-08-11 13:44:07 -07:00
Myk Taylor 438d264b31 use separate identity classes for each handle type 2020-08-10 23:09:03 -07:00
Myk Taylor 17c509a596 update sample code for xlsxreader to use finalize 2020-08-10 09:18:49 -07:00
Myk Taylor 69322ec429 use proper USERDATA instead of LIGHTUSERDATA 2020-08-10 01:13:16 -07:00
Myk Taylor 679ca41da8 make sure xlsxio knows to link statically 2020-08-09 21:22:17 -07:00
Myk Taylor 06e3f77e39 fix windows zlib path, hopefully for the last time 2020-08-09 10:47:15 -07:00
Myk Taylor e2129673c1 fix zlib path on windows 2020-08-09 10:11:24 -07:00
Myk Taylor 5294360908 more windows library naming shenanigans 2020-08-09 09:46:54 -07:00
Myk Taylor 4a04273fae document xlsxreader functions 2020-08-09 09:28:19 -07:00
Myk Taylor a41f7c0998 convert XlsxReader module to xlsxreader plugin 2020-08-09 08:54:42 -07:00
lethosor 73ba692f15
Fix road building (#1596)
Paved roads need architecture before road building
2020-08-08 14:46:42 -04:00
lethosor b2368b3c34
Merge remote-tracking branch 'ab9rf/labormanager-custom-furnaces' into develop 2020-08-08 14:35:44 -04:00
lethosor a28e939370
Recalculate size after toggling columns (goals can be longer than professions) 2020-08-08 00:45:57 -04:00
lethosor ee8d130298
Use existing pronoun_type enum 2020-08-08 00:12:59 -04:00
Ryan Bennitt 23c22b3b9d Merge branch 'develop' of https://github.com/DFHack/dfhack into feature/manipulator_goal 2020-08-07 22:17:32 +01:00
Ryan Bennitt a85b77e6f1 Retrieve goal string values from enum attributes and add new Units methods to Lua API and docs 2020-08-07 22:07:48 +01:00
lethosor ed9f724117
Use BUILDJOB_NOW key, dim text when no job is selected 2020-08-06 22:44:49 -04:00
lethosor c7e4c724e8
Sort tweaks alphabetically 2020-08-06 22:37:04 -04:00
lethosor 0c53b2b6c5
Add do-job-now tweak
Forum thread: http://www.bay12forums.com/smf/index.php?topic=176700
Original source: https://github.com/dlmarquis/dfhack/blob/dojobnow-r1/plugins/dojobnow.cpp

Co-authored-by: dlmarquis <dlmarquis@users.noreply.github.com>
2020-08-06 22:36:57 -04:00
lethosor 02c0a6c8f6
Update getplants to use new plant_raw.material_defs layout
a9f219baf9 applied to #1564
2020-08-06 00:53:06 -04:00
lethosor d3fc691858
Merge remote-tracking branch 'PatrikLundell/Units' into develop 2020-08-06 00:12:54 -04:00
Ryan Bennitt 9510dd52e1 Add Goal to Manipulator Detail Modes 2020-08-04 23:01:28 +01:00
PatrikLundell 19ad5c92d6 corrected incursion bugs 2020-07-30 10:09:41 +02:00
lethosor 4554ca35f3
Ruby: add _indexenum wrapper to OtherVectors for compat with devel/scanitemsother
Ref #1558
2020-07-26 23:11:04 -04:00
lethosor 655b363238
Fix some spelling errors 2020-07-22 02:23:29 -04:00
lethosor 044add2147
Reorder .proto comments 2020-07-18 12:48:20 -04:00
lethosor 35d659091d
Merge remote-tracking branch 'myk002/blueprint_in_blueprints' into develop 2020-07-17 17:32:59 -04:00
lethosor c858f33f61
reaction-gloves: fix warnings 2020-07-17 00:00:57 -04:00
lethosor 89c24ac8be
Merge remote-tracking branch 'quietust/reaction-gloves' into develop 2020-07-16 22:40:49 -04:00
Myk Taylor bb91fdcf8c Merge remote-tracking branch 'upstream/develop' into blueprint_in_blueprints 2020-07-16 09:24:52 -07:00
lethosor a0d627ebc7
Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop 2020-07-16 01:48:07 -04:00
Myk Taylor c19fc1f349 gcc-4.8 compatibility 2020-07-15 21:35:21 -07:00
Myk Taylor e2334387a9 blueprint: write blueprints to blueprints/ subdir
to enable writing to a subdir that may not exist, blueprint now automatically
creates folder trees. E.g. ``blueprint 30 30 1 rooms/dining dig`` will create
the file ``blueprints/rooms/dining-dig.csv``). Previously it would fail if the
``blueprints/rooms/`` directory didn't already exist.
2020-07-15 16:57:14 -07:00
lethosor b6de6f12ec Merge remote-tracking branch 'RosaryMala/remote_reader' into develop 2020-07-13 19:58:33 -04:00
lethosor 07a2b4a9d7 Use language_name_type enum item names 2020-07-11 02:05:38 -04:00
lethosor c30d27cfbd Silence strangemood warnings 2020-07-11 01:41:38 -04:00
lethosor f32757fa09 Update scripts 2020-07-03 22:49:48 -04:00
PatrikLundell 0a2a16d29c corrected ripeness calculation 2020-07-03 15:50:18 +02:00
PatrikLundell a04c609980 fixed getplants, issue #1479 2020-07-03 13:46:32 +02:00
Ben Lubar 72ce52e004
update structures 2020-07-01 23:10:34 -05:00
Ben Lubar 9def098ef9
add enum-attrs to pronoun_type 2020-06-29 21:30:22 -05:00
Ben Lubar d13e5a3f31
update structures
handle renaming of caste_raw::gender
2020-06-29 20:20:37 -05:00
Ben Lubar a9f219baf9
update for DFHack/df-structures#7dfea1f1d4e453b97d5529785701db46360596ce 2020-06-29 16:16:44 -05:00
Quietust 3dcde1554a Update xml, fix reaction_product::produce() parms 2020-06-23 13:37:11 -06:00
Quietust 2597aeab0e Add a new tweak, "reaction-gloves"
When enabled, custom reactions will begin to produce gloves in sets, based
on the number of hands the job performer's race has, and set the
Handedness flags accordingly.

The "createitem" plugin already contains a simpler workaround (which
doesn't check body plan but instead just produces pairs), but it shouldn't
trigger when this tweak is enabled (unless you use it on a creature which
has been modded to only have "neutral" hands).
2020-06-23 13:37:11 -06:00
Quietust e2301ecae7 Update structures, fix reaction_productst::produce() parms 2020-06-23 13:31:27 -06:00
Kelly Kinkade 61a00f7809 stupid whitespace 2020-06-20 23:10:44 -05:00
Kelly Kinkade 7ddc3bb918 fix labor inferences for custom furnaces
Also clean up how paved roads are handled (the way it was was stupid)
2020-06-20 23:05:55 -05:00
lethosor aee4fcd1a6 Add confirmation for convicting dwarves of crimes
Closes #1593
2020-06-20 12:06:50 -04:00
PatrikLundell d5a491e852 fixed parameter bugs 2020-06-07 08:38:12 +02:00
PatrikLundell 4a48c356a9 fixed bug with incursion handling along world tile edges 2020-06-02 15:58:46 +02:00
PatrikLundell dda31c06db merged 2020-06-02 15:08:02 +02:00
Rose ad37354211 Bump version number to make sure the updater works. 2020-05-24 15:42:59 -07:00
Rose b3080c73ca Merge remote-tracking branch 'DFHack/develop' into remote_reader 2020-05-22 08:06:33 -07:00
Rose 6e2f71b10f Merge branch 'remote_reader' of https://github.com/RosaryMala/dfhack into develop 2020-05-22 08:04:38 -07:00
Rose 3db490ee9e Fix a problem where the block coordinates would sometimes not get copied. 2020-05-22 08:01:34 -07:00
Ben Lubar 28c34217d8
Ruby implementation of df-other-vectors-type 2020-05-09 18:28:40 -05:00
PatrikLundell 31d984e934 Fixed 2 incursion handling bugs 2020-05-05 10:21:56 +02:00
lethosor be517370a6 rendermax: move to std::mutex
fast_mutex can deadlock on Linux with optimization enabled
2020-05-04 18:38:54 -04:00
Kelly Kinkade 2dfd7ea0d0 Update labormanager.cpp again
These should probably be OTHER rather than BUSY.
2020-05-03 18:19:49 -05:00
Kelly Kinkade 319354f6cd Update labormanager.cpp
Add entries for jobs 241-243 to the `dwarf_states` vector as well, derp.
2020-05-03 18:16:31 -05:00
Kelly Kinkade 866660169e Update joblabormapper.cpp
Add no-labor mappings for new jobs 241 through 243.
2020-05-03 17:53:32 -05:00
JapaMala 63c7b69b5b Change item improvement type to bare ints. 2020-05-02 14:38:55 -07:00
JapaMala 60853a543d Remove the site realization building type from the remote reader spec. It has no business being there. 2020-05-02 13:28:28 -07:00
JapaMala 2762f75d69 Merge remote-tracking branch 'dfhack/develop' into develop 2020-05-02 10:58:41 -07:00
JapaMala fcc4962052 Update stonesense to not crash. 2020-05-02 10:58:07 -07:00
lethosor 1dc59d3772 Ruby: use core methods for finding selected item and building
Similar to c3d566332, the core methods have become more complicated (and are also checked at compile-time). This will give a more consistent experience across scripts.

Fixes #1563
2020-05-01 22:50:02 -04:00
lethosor 7c1d1c43e5 Merge remote-tracking branch 'PatrikLundell/stocks' into develop
Conflicts:
	docs/changelog.txt
2020-04-25 21:12:27 -04:00
lethosor f008da32f8 Update submodules 2020-04-25 17:58:09 -04:00
lethosor 1546d9ec1a Tweak docs from #1484 2020-04-25 02:41:27 -04:00
lethosor 4dce9f2010 Merge remote-tracking branch 'PatrikLundell/getplants' into develop
Merges #1484

Conflicts:
	docs/changelog.txt
2020-04-25 02:39:05 -04:00
lethosor 55a82e43c6 Update xml, fix stockpiles build 2020-04-24 23:50:35 -04:00
lethosor 75c8bf1a59 Indent more 2020-04-22 22:05:48 -04:00
PatrikLundell 07571e9eb4 updated and resolved conflict 2020-04-22 11:43:37 +02:00
Ben Lubar 2f1e057bc7
check-structures-sanity: report known void* types with a better message 2020-04-19 22:03:03 -05:00
Ben Lubar 8427f518c9
match capitalization changes I made to df-structures in specific_ref 2020-04-15 20:05:15 -05:00
PatrikLundell f4f2aa0d5e removed underscores, adapted to structure (re)naming 2020-04-15 10:18:37 +02:00
PatrikLundell b0d184e2f9 Merge branch 'develop' of https://github.com/DFHack/dfhack into Units 2020-04-15 09:45:54 +02:00
Nilsolm 362e49c0bc autogems: check bin content in linked stockpiles 2020-04-12 11:02:26 +02:00
Nilsolm 2b44e52cab Add intrigue skill to manipulator 2020-04-11 16:47:29 +02:00
PatrikLundell 55988e3fc4 adapted to updated structures, remote Using units for age 2020-04-08 08:45:40 +02:00
PatrikLundell 5ce84a76f9 Merge branch 'develop' of https://github.com/DFHack/dfhack into Units 2020-04-08 08:35:58 +02:00
Nilsolm c4853bd6e1 Add search to justice screen 2020-04-06 19:13:18 +02:00
lethosor 4e957eafe2 Merge remote-tracking branch 'ymber/embark-profile-name' into develop 2020-04-04 18:55:12 -04:00
PatrikLundell a0e2abe20a Units update need coordination with structure identity 2020-04-04 14:00:26 +02:00
ymber 9b813aab49
Restore style 2020-04-04 11:17:10 +01:00
ymber 5d032b3d9c
Restore esc abort key 2020-04-04 11:12:51 +01:00
Ben Lubar 845b53d7cd
fix integer signedness differences 2020-04-03 11:50:09 -05:00
ymber 6b603bc644
Update embark-profile-name tweak 2020-04-02 17:57:05 +01:00
lethosor 06201a4c6a Bail out if MALLOC_PERTURB_ is unset to avoid unexpected behavior 2020-04-02 01:48:21 -04:00
lethosor 9b1dddc336 Update xml, scripts, change unit_action.data field names back
Fixes #1520
Makes part of dfhack/scripts#130 unnecessary
2020-03-30 03:00:41 -04:00
Ben Lubar 97916fd55e
implement tagged union structures attributes 2020-03-21 14:29:14 -05:00
Ben Lubar b29d009b14
update structures; implement struct_field_info_extra 2020-03-21 13:21:35 -05:00
PatrikLundell 5c913270d6 forgot to update profile save/load 2020-03-15 17:56:13 +01:00
PatrikLundell 7e2872e607 Merge branch 'develop' of https://github.com/DFHack/dfhack into embark_assistant 2020-03-15 17:33:08 +01:00
Ben Lubar ccf92d4b0a
fix check-structures-sanity compile on 64-bit windows 2020-03-13 01:09:04 -05:00
Ben Lubar a456b2fcf3
fix windows build 2020-03-13 00:03:56 -05:00
Ben Lubar 39486083f5
handle overlapping structures in check-structures-sanity better
update structures
2020-03-12 22:16:30 -05:00
Ben Lubar d456e3db7a
check-structures-sanity: fix unknown pointer type not actually dereferencing the pointer
basic attempt at handling overlapping structs
2020-03-12 15:20:46 -05:00
Ben Lubar 616a57224f
check-structures-sanity: don't report possible pointers by default 2020-03-12 11:35:52 -05:00
Ben Lubar 08d2ed577e
fix check-structures-sanity compile on windows 2020-03-12 10:02:21 -05:00
Ben Lubar 469c49c8b9
check-structures-sanity: keep track of whether data is within a larger structure 2020-03-11 17:49:34 -05:00
Ben Lubar eabff06eef
check-structures-sanity: warn when an integer might be a pointer 2020-03-11 11:20:10 -05:00
Ben Lubar e2138a6cc2
update check-structures-sanity (part 2 of 2) 2020-03-10 23:05:59 -05:00
Ben Lubar e5de783c58
rewriting check-structures-sanity to improve performance and remove the need for the lowmem option 2020-03-10 18:53:56 -05:00
Ben Lubar e296525983
check-structures-sanity: don't error on unnamed enum values/bits by default 2020-03-09 17:52:47 -05:00
Ben Lubar 923581b144
fix ghidra script failing if strings overlapped (for example, load_min_version and version could point to the same region of memory) 2020-03-09 17:52:47 -05:00
Ben Lubar a2e34a3b71
fix check-structures-sanity picking the wrong type for linked list items 2020-03-08 00:21:18 -06:00
Ben Lubar f8f7b52180
fix is_df_linked_list not checking if the type is null 2020-03-06 20:22:18 -06:00
Ben Lubar 6465037432
fix field order 2020-03-06 20:04:17 -06:00
Ben Lubar 07aceb1078
correctly handle arrays of linked lists 2020-03-06 19:45:04 -06:00
Ben Lubar 9b724666f7
check-structures-sanity: check linked lists in a more intelligent way 2020-03-06 17:53:05 -06:00
Ben Lubar def86b8058
check-structures-sanity: ignore DfLinkedList element sizes; these can be part of a larger structure 2020-03-06 17:05:36 -06:00
Ben Lubar 61aeaaf55e
fix typo in check-structures-sanity 2020-03-06 16:51:33 -06:00
Ben Lubar a214e00407
allow union vectors to have tags that are bit vectors if they have exactly 2 members 2020-03-06 16:48:33 -06:00
Ben Lubar 635e709d95
name ui_look_list union
update scripts and structures
2020-03-06 16:06:27 -06:00
PatrikLundell 630aa5abdb Merge branch 'develop' of https://github.com/DFHack/dfhack into embark_assistant 2020-03-05 08:40:46 +01:00
Ben Lubar 84cae060b1
move find_union_tag from check-structures-sanity to DataDefs.h 2020-03-04 18:23:49 -06:00
PatrikLundell 6f9f398e22 blind attempt to silence warnings 2020-03-04 16:54:00 +01:00
PatrikLundell 8dd89eee8a Addressed warnings 2020-03-04 10:09:51 +01:00
PatrikLundell cd4c7ee422 Updated embark-assistant. Lt aquifer, trees, neighbors 2020-03-03 21:45:20 +01:00
Ben Lubar e356925795
update structures 2020-03-02 23:12:03 -06:00
Ben Lubar e5c597f869
change two UNEXPECTEDs in check-structures-sanity to FAILs instead 2020-03-02 22:30:23 -06:00
Ben Lubar 7784e569a5
update structures 2020-03-02 22:29:53 -06:00
Ben Lubar c29b606a4a
check-structures-sanity: suggest known structure types for large unknown pointers
update structures
2020-03-02 21:33:04 -06:00
Ben Lubar 269b3cb8eb
add support for finding vtable pointers to check-structures-sanity
update structures
2020-03-02 15:34:29 -06:00
Ben Lubar 0024457167
update structures
don't mark lua argument as a pointer (to be revisited at some point)
2020-03-02 02:27:15 -06:00
Ben Lubar fe2ea17880
change DF version
add -maxerrors and -failfast to check-structures-sanity
2020-03-01 12:15:26 -06:00
Ben Lubar 0c007c4699
remove std::min usage 2020-03-01 00:18:09 -06:00
Ben Lubar 85bfa60cf2
allow -1 union values for undefined tags to avoid false positives 2020-02-29 21:57:39 -06:00
Ben Lubar cc2c732dd5
insert a new second rule for tagged union discovery
1. if the field name ends in "data" and there is a field with the same
   prefix ending in "type", the field ending in "type" is the tag.
2. if the field name ends in "_target" and the previous field has the
   same prefix and no suffix, the previous field is the tag.
3. if the field is not the last field in the structure, the next field
   is the tag.
2020-02-29 18:46:34 -06:00
Ben Lubar b0699a1b5e
allow uninitialized data to be all zeroes 2020-02-29 18:36:00 -06:00
Ben Lubar 0860d81c86
add support for vectors of tagged unions in check-structures-sanity 2020-02-29 18:28:14 -06:00
Ben Lubar 18523a1821
Convert untagged unions to tagged. Fix some edge cases in check-structures-sanity union checking. 2020-02-29 15:08:39 -06:00
Ben Lubar 3240b6d897
check-structures-sanity improvements for unidentified fields and unions
- not being able to determine the tag for a union is now an error.
- pointer-sized unknown allocations will now be checked recursively as
  if they were void pointers. this will help with identifying string
  pointers on linux.
- unknown tagged union fields will be checked as void pointers if the
  first identified field of the union is a pointer.
- tagged unions can now be of non-pointer types.
- tagged unions can now have complex tag enums.
2020-02-29 14:20:43 -06:00
Ben Lubar a30678cee3
subclass struct_identity for unions 2020-02-29 13:11:23 -06:00
Pierre-David Belanger 97a31c68a8
dwarfvet log only if enabled (fix #1504) 2020-02-24 13:54:47 -05:00
Ben Lubar e9564a28f5
allow tagged unions to not be union followed by tag 2020-02-23 21:33:32 -06:00
Ben Lubar 5580d375aa
add more diagnostics that will help in the identification of stl-string fields 2020-02-22 15:34:48 -06:00
Ben Lubar 37a8bf679e
fix copy/paste error 2020-02-22 14:10:26 -06:00
Ben Lubar 0711b2569a
in -sizes mode, report sizes of unknown structures behind pointers.
update structures
2020-02-22 14:04:53 -06:00
Ben Lubar 57154e33c8
warn about misidentified generic pointers
update structures
2020-02-21 18:49:02 -06:00
Ben Lubar 53da38ca47
add additional pointer, string, and vector sanity checks
update structures and scripts
2020-02-21 17:31:31 -06:00
Ben Lubar f383f63eea
fix check-structures-sanity not catching certain types of invalid string on GCC builds.
update structures.
2020-02-21 17:31:31 -06:00
lethosor 81c304f7ee Update stonesense, isoworld 2020-02-21 08:27:57 -05:00
Ben Lubar 38410544b0
handle tagged unions in check-structures-sanity
update structures
2020-02-20 22:17:25 -06:00
Ben Lubar ee6b281ae3
allow check-structures-sanity to check the size of the value explicitly specified in a lua expression rather than just its descendants.
print an error if getting the type identity fails.
2020-02-19 11:40:31 -06:00
Ben Lubar d149763c1e
fix yet another weird use of the part of speech enum 2020-02-18 16:41:39 -06:00
Ben Lubar 0d36e62d81
fix some weird uses of the part of speech enum 2020-02-18 16:39:39 -06:00
Ben Lubar 0f857f1b20
fix msvc warning about 64-bit shift 2020-02-15 18:20:34 -06:00
Ben Lubar d0de7865d3
fix compile for gcc 4.8 2020-02-15 18:20:32 -06:00
Ben Lubar 631b8e772c
update structures; fix -lowmem being enabled due to being uninitialized on the stack. 2020-02-15 16:10:54 -06:00
PatrikLundell 8756667d99 cursecheck: Fix werecreature detection
Fixes #957
2020-02-15 17:09:18 -05:00
Ben Lubar e4ff184280
check-structures-sanity: add -lowmem argument to use depth-first search instead of readth-first search
add progress indicator if called from the console
2020-02-15 12:54:04 -06:00
Ben Lubar 122169a559
update scripts and structures
fix a crash if check-structures-sanity was called with a lua expression that evaluated to nil
2020-02-15 12:04:00 -06:00
Ben Lubar 8e5f391d3a
attempt to fix lua calls in check-structures-sanity 2020-02-15 02:42:44 -06:00
Ben Lubar 9caf6e97e6
add -enums, -sizes, and specific starting point flags to check-structures-sanity 2020-02-14 19:47:26 -06:00
Ben Lubar 4e69b50bb3
fix use-after-free in memview 2020-02-14 17:38:31 -06:00
Ben Lubar fec6f01520
Allow uninitialized raw pointers. 2020-02-13 19:55:49 -06:00
Ben Lubar 9c34e9e584
properly check fields of the full type heirarchy 2020-02-12 18:01:49 -06:00
Ben Lubar 24918e5513
check fields of actual virtual type, not just the declared one 2020-02-12 17:57:55 -06:00
Ben Lubar 40bd55c558
don't check bad pointers 2020-02-11 17:33:33 -06:00
Ben Lubar 195b933c61
ignore contents of elements of "bad" pointer vectors 2020-02-11 17:17:11 -06:00
Ben Lubar 62af2952b7
Fix check-structures-sanity mishandling vectors of pointers.
Also fix detecting structures that span multiple memory segments as being outside of memory.
2020-02-11 14:11:09 -06:00
Ben Lubar 3c9f6f79ab
fix some warnings 2020-02-10 19:35:17 -06:00
PatrikLundell 1a695621c3
Adjusted to int-> enum defs, fixed bug 2020-02-10 18:22:26 -06:00
Ben Lubar 8122b95144
fix signed integer being compared to an unsigned integer 2020-02-10 11:57:27 -06:00
Ben Lubar 05a49cbacb
fix a possible SIGABRT when misdetecting a vtable as being valid
add enum names enum-based indexes
2020-02-09 15:12:25 -06:00
Ben Lubar e9dba1d6ca
fix crash when checking unknown vector types. also remove the warning when unknown vector types were not pointer-aligned 2020-02-09 14:25:48 -06:00
Ben Lubar 6b828115a7
rewrite check-structures-sanity to use breadth-first search and not overflow the stack 2020-02-09 14:16:19 -06:00
lethosor f54c361718 Add an implementation of mifki's sizecheck library (tested on Linux) 2020-02-08 21:18:29 -05:00
Ben Lubar 359cc2275a
include the windows header rather than winnt 2020-02-05 21:47:25 -06:00
Ben Lubar d494eb619d
fix Windows 64-bit compile for check-structures-sanity
fix some sprintf size_t-related warnings
2020-02-05 20:29:16 -06:00
Ben Lubar 860131cf96
fix Windows 32-bit compile for check-structures-sanity 2020-02-05 20:21:32 -06:00
Ben Lubar d9abe02b2e
add support for DfArray in check-structures-sanity 2020-02-05 19:06:14 -06:00
Ben Lubar d7d0923044
add string checking support to check-structures-sanity
try to avoid crashes on bad vtables
2020-02-05 18:52:35 -06:00
Ben Lubar 3d037db789
add a tool for sanity-checking structures on a running Dwarf Fortress instance. 2020-02-05 16:36:59 -06:00
Ben Lubar 5db7d518ee
update structures; fix some minor compile warnings 2020-02-05 12:35:43 -06:00
Ben Lubar c4b01b53a3
add new building_type enum value to labormanager 2020-02-02 17:15:40 -06:00
PatrikLundell 876ac6c056 Renamed to getBookTitle, cut down on virtual_cast 2020-01-25 21:46:10 +01:00
PatrikLundell c6bbf39c6c Issue #1262. Added Items::getTitle and used in stocks 2020-01-25 12:43:02 +01:00
PatrikLundell 9d4d0b195a Added switches for farm seeds and plant counts 2020-01-22 17:33:39 +01:00
lethosor bcd7974561 Merge branch 'develop' of gh:DFHack/dfhack into develop 2020-01-18 22:31:33 -05:00
lethosor 815821eb93 Merge branch 'develop' into cmake-cleanup
Conflicts:
	depends/lua/CMakeLists.txt
	plugins/CMakeLists.txt
	plugins/devel/CMakeLists.txt
2020-01-18 22:28:43 -05:00
lethosor d4d083d8cf autofarm: fix GCC warnings 2020-01-18 20:53:13 -05:00
lethosor f55a1b9990 autofarm: mention runonce and status in built-in help 2020-01-18 18:52:17 -05:00
lethosor dc8b8b501b Move autofarm to supported plugins
PR #1468
2020-01-18 17:17:28 -05:00
lethosor 3e47ba543b Merge remote-tracking branch 'ab9rf/autofarm-cpp' into develop
Ref #1468
2020-01-18 17:11:43 -05:00
lethosor e5a5e39c3a Move getplants issue details to user-facing docs
Ref #1479, #1481
2020-01-18 16:34:29 -05:00
lethosor 72fd32cb2a Tweak spelling/wording/style 2020-01-18 16:22:21 -05:00
lethosor af1668126d Merge remote-tracking branch 'PatrikLundell/getplants' into develop 2020-01-18 16:19:40 -05:00
PatrikLundell eeacbc80c6 Explicit type conversion with %d warning silencing 2020-01-16 13:59:31 +01:00
PatrikLundell ee2259bbca Replaced poor auto with actual type 2020-01-16 12:57:09 +01:00
Ben Lubar cbf5c5459a
Don't print an error about not being able to get the SDL title in text mode. 2020-01-15 16:07:41 -06:00
PatrikLundell cd4b00e23e Merge branch 'getplants' of https://github.com/PatrikLundell/dfhack into getplants 2020-01-15 21:30:56 +01:00
PatrikLundell 8cebb6cef5 removed trailing whitespace 2020-01-15 21:29:01 +01:00
PatrikLundell 7797f9979b
Merge branch 'develop' into getplants 2020-01-15 20:00:49 +01:00
PatrikLundell 8c049389a4 Reverted STOCKPILE_PLANT_GROWTH to LEAF_MAT 2020-01-15 19:31:19 +01:00
PatrikLundell 15e06640f6 Partial correction of issue 1479 and added verbose flag 2020-01-15 12:40:43 +01:00
lethosor 4feb0aa21f Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop 2020-01-14 23:41:22 -05:00
lethosor 5eca50476e Merge remote-tracking branch 'nornagon/unit-description' into develop 2020-01-13 23:31:23 -05:00
Jeremy Apthorp 50e696acf6 getDescription => getPhysicalDescription 2019-12-14 09:36:47 -08:00
Jeremy Apthorp 910f965838 wip 2019-12-07 22:17:59 -08:00
Ben Lubar 23b56c4492
Fix "kittens" development plugin not building on Linux due to missing thread library 2019-12-06 12:28:18 -06:00
Ben Lubar fd1d490163
Fix tailor plugin switch statement warnings (no functionality change) 2019-12-06 12:24:27 -06:00
PatrikLundell 07dedfb333 Fixed/improved river tile detection 2019-11-24 21:32:07 +01:00
Kelly Kinkade dfafafdf9b autofarm.cpp: whitespace, complexity
Clean up autofarm.cpp
2019-11-21 18:58:06 -06:00
Kelly Kinkade 5d92026bbe autofarm: make crop assignment more stable 2019-11-18 09:02:39 -06:00
Kelly Kinkade 7c8c6546c7 autofarm: suspend while processing 2019-11-18 09:02:39 -06:00
Kelly Kinkade 4abd410b1b Convert autofarm from ruby to C++
Reimplement the Ruby autofarm script as a C++ plugin
2019-11-18 09:02:39 -06:00
lethosor e7353ba9bf embark-assistant: clean up "else if" style
Ref #1456
2019-11-02 22:13:28 -04:00
lethosor 267d52bd17 Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop
Closes #1456
2019-11-02 22:10:08 -04:00
lethosor a885e3b9be autoclothing: add docs
Ref #1437
2019-11-02 22:00:43 -04:00
lethosor 487377d5b9 Merge remote-tracking branch 'JapaMala/auto_clothing' into develop 2019-11-02 22:00:18 -04:00
lethosor 44f3640344 tailor: add another missing c_str() call 2019-11-02 21:46:10 -04:00
lethosor 6a00510272 tailor: add missing c_str() calls 2019-11-02 21:30:48 -04:00
lethosor bf4dec6c6a Update scripts, stonesense, authors 2019-11-02 21:13:17 -04:00
lethosor 150edcfff8 Move tailor to supported plugins 2019-11-02 21:12:41 -04:00
lethosor c2e5ae844c tailor: add docs
Ref #1398
2019-11-02 21:07:10 -04:00
lethosor ba8b828e69 Merge remote-tracking branch 'ab9rf/tailor' into develop 2019-11-02 21:02:23 -04:00
lethosor 5780075246 Merge remote-tracking branch 'warmist/dfmonitor_lua_fix' into develop 2019-11-02 16:47:29 -04:00
lethosor 5190257864 createitem: Improve error handling when no caste is specified
Extension of #1463
2019-11-01 23:46:42 -04:00
lethosor 5e1fc0700b Merge remote-tracking branch 'jimcarreer/createitem-ux' into develop 2019-11-01 23:24:10 -04:00
PatrikLundell 7e501fd70b Fixed bug in region type determination in new code 2019-10-31 20:07:34 +01:00
jimcarreer cffc30b433
Output Castes on Error 2019-10-06 14:25:33 -04:00
lethosor 582169e0a5 eventExample: make unitAttack a bit safer 2019-10-05 21:05:26 -04:00
Alan e8fcc8d5c0
Merge pull request #1460 from JapaMala/remote_reader
Smal RFR change
2019-10-04 01:16:05 -04:00
lethosor f3658db85f Merge branch 'develop' into avoid_rebuilding_df_statics_if_core_h_changes 2019-10-03 23:23:36 -04:00
PatrikLundell 7979150566 Removed trailing blank 2019-09-24 11:14:50 +02:00
PatrikLundell 5eceab2794 Added 'fileresult' optional parameter, improved world traversal 2019-09-23 13:13:04 +02:00
JapaMala f00a7f9b39 Bump RFR Version number. 2019-09-08 15:33:39 -05:00
JapaMala 099ae66be8 Merge branch 'develop' into remote_reader 2019-09-08 15:30:14 -05:00
Warmist 0a42fe0e38 Delete trailing whitespace 2019-09-02 19:50:00 +03:00
Warmist 62aff6edee Whitespace fix 2019-09-02 18:40:50 +03:00
Warmist df756f22f8 Change dwarfmonitor to use global lua state.
This needs more CoreSuspends but they are needed either way. This way
you can access other script environments and access this plugin enviroment
from lua.
2019-09-02 18:35:46 +03:00
lethosor 7a5902418e Abbreviate label on narrow screens 2019-08-25 21:49:41 -04:00
lethosor 417212814d embark-assistant: add in-game key to activate
Closes #1384
2019-08-25 21:33:43 -04:00
lethosor ac5a54c8db Merge branch 'develop' into cmake-cleanup
Conflicts:
	library/CMakeLists.txt
	plugins/CMakeLists.txt
2019-08-23 23:58:00 -04:00
lethosor 07575095fd Merge branch 'develop' into persist 2019-08-22 22:00:50 -04:00
lethosor 0b8eba7d23 Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop
Conflicts:
	docs/changelog.txt
2019-08-22 21:50:54 -04:00
japamala d17820a596 Made RemoteFortressReader pulll from the active units list, not from the full units list. 2019-08-22 19:26:19 -06:00
Alan 2344e60101
Merge pull request #1181 from warmist/twbt_experiments
map-render plugin
2019-08-21 09:33:45 -04:00
JapaMala a07b568597 Changed the serialization to use the actual enum item names instead of converting them to numbers. 2019-08-13 17:15:06 -05:00
JapaMala 47b43e6dd7 Merge branch 'develop' into auto_clothing 2019-08-06 20:12:26 -05:00
JapaMala e1661d8404 Merge remote-tracking branch 'remotes/dfhack/develop' into auto_clothing 2019-08-06 20:07:20 -05:00
lethosor 88757d5c27 Merge branch 'develop' into cmake-cleanup 2019-07-20 19:22:33 -04:00
lethosor e86e20717e Merge remote-tracking branch 'JapaMala/remote_reader' into develop 2019-07-20 19:05:32 -04:00
lethosor 99038c395a Merge remote-tracking branch 'ab9rf/biometype' into develop 2019-07-20 16:32:46 -04:00
lethosor ab9ad6f93e Clean up *.cmake style 2019-07-20 16:17:44 -04:00
lethosor 76da2c2aaf Clean up CMakeLists.txt style 2019-07-16 22:19:11 -04:00
lethosor f7f937e4d3 Merge remote-tracking branch 'janxious/patch-2' into develop
Closes #1441
2019-07-15 23:22:43 -04:00
PatrikLundell af26f7dc6e Added intrusion calculations for world edges 2019-07-14 16:11:51 +02:00
PatrikLundell 6f5abc79e9 Restored install-debug contents and removed offensive white space 2019-07-12 22:38:12 +02:00
PatrikLundell 8248832cbc Added detection and use of incursions into embark tiles 2019-07-12 22:09:03 +02:00
lethosor c125926727 Update submodules and Authors.rst
Ref #1432
Ref dfhack/stonesense#54
Ref dfhack/scripts#93
2019-07-10 19:21:23 -04:00
PatrikLundell 53cf1136fb Waterfall detection changed 2019-07-01 13:30:16 +02:00
PatrikLundell 134bcf09a9 Waterfall detection changed. Aquifer display changed 2019-07-01 13:29:53 +02:00
PatrikLundell bcb62697c9 Waterfall detection changed 2019-07-01 13:29:19 +02:00
PatrikLundell fae5e894ae Waterfall detection changed 2019-07-01 13:29:07 +02:00
PatrikLundell 242f6fbc38 Waterfall detection changed 2019-07-01 13:28:54 +02:00
PatrikLundell 092c9f965b Waterfall detection changed 2019-07-01 13:28:40 +02:00
PatrikLundell 716fe90312 Modified Flat detection options 2019-06-23 18:36:18 +02:00
PatrikLundell 3139d0d3c7 Modified Flat detection options 2019-06-23 18:36:10 +02:00
PatrikLundell 8259243d2a Modified Flat detection options 2019-06-23 18:35:59 +02:00
PatrikLundell 3f7d11d1c7 Modified Flat detection options 2019-06-23 18:35:48 +02:00
PatrikLundell 3e97643b37 Modified Flat detection options 2019-06-23 18:35:28 +02:00
PatrikLundell b5e38451de Modified Flat detection options 2019-06-23 18:35:11 +02:00
PatrikLundell 488f1cd8a1 Fixed bug causing minerals below magma sea being reported 2019-06-20 15:50:11 +02:00
PatrikLundell f09f3a2d25 Prettified by adding a blank 2019-06-06 20:57:21 +02:00
PatrikLundell cde8ffd0fd Fixed materials vector length determination 2019-06-06 20:56:47 +02:00
lethosor f668914db8 kittens: fix compiling on Windows thanks to @ragundo 2019-06-01 17:30:26 -04:00
lethosor 5b11d14c6c Rename save/load to "save data"/"load data" 2019-05-29 19:52:03 -04:00
lethosor ceebef5fe2 Merge branch 'develop' into persist 2019-05-28 21:08:16 -04:00
Joel "The Merciless" Meador cddfb87e22 Make unit_ishostile always return a non-nil value
Have been messing with this function in the dfhack repl and when it returns nil it's hard to know what that means unless you have also already read the code. So this handles a couple spots in `unit_ishostile` that previously just returned false-ey `nil`s to return `false`
2019-05-21 10:48:28 -04:00
JapaMala 8ea3877ace Merge remote-tracking branch 'dfhack/develop' into auto_clothing 2019-05-18 09:12:22 -05:00
lethosor 92717a7f71 mousequery: Fix some more instances of map boundary checks 2019-05-16 23:30:03 -04:00
lethosor c3b06b81c7 mousequery: use map dimensions to determine edge scrolling locations
TWBT modifies the map dimensions, so using the window dimensions to handle edge
scrolling produces the wrong behavior when using a larger map tileset than text
tileset.
2019-05-16 23:22:11 -04:00
lethosor f2bd697d64 mousequery: give explicit feedback when enabling/disabling sub-features
The behavior of this plugin is somewhat unintuitive - "mousequery edge" disables
the edge-scrolling feature instead of enabling it. This should avoid confusion
without breaking compatibility with existing init scripts.
2019-05-13 19:21:57 -04:00
JapaMala 860be4a04a Fix issues with following the screen when using TWBT 2019-05-12 17:05:02 -05:00
JapaMala ae91e17e3e Consider the unit's current job for facing. 2019-05-04 14:35:28 -05:00
JapaMala 19772b7a43 bump version number for future AV updates to pick up on. 2019-05-04 10:29:02 -05:00
JapaMala 475b07e3ce Merge branch 'develop' into remote_reader 2019-05-04 10:25:58 -05:00
JapaMala 42226342dc Save state in persistent data. 2019-04-27 21:01:12 -05:00
JapaMala 6bed392331 Satisfy travis. 2019-04-27 16:58:21 -05:00
JapaMala 64e0884d95 Don't keep re-adding the job orders. 2019-04-27 16:29:30 -05:00
JapaMala 1b387a8ccf Got initial working version. 2019-04-27 15:56:58 -05:00
JapaMala 51b9d7a275 able to set clothing requirements via console. 2019-04-27 14:31:37 -05:00
JapaMala c997f666bb Fix wrong pointer dereference. 2019-04-27 14:15:45 -05:00
JapaMala f07f65a1a3 Silk, yarn, and strands are also soft. 2019-04-27 13:50:52 -05:00
JapaMala 25f767b96b match material categories with valid clothing materials. 2019-04-27 13:48:14 -05:00
JapaMala cae4f6d091 simplified the setItemFromName function 2019-04-27 12:41:25 -05:00
JapaMala b2d59fd143 Parse item name 2019-04-27 12:22:51 -05:00
JapaMala 74daa6bced add missing parentheses. 2019-04-27 11:20:36 -05:00
JapaMala 14ff66d551 Split up the big update function to satisfy codefactor. 2019-04-27 11:11:16 -05:00
JapaMala eb04d513b4 Got basic logic for checking and processing clothing orders. Not done: actually adding orders to the list. 2019-04-27 11:02:50 -05:00
JapaMala a3eafbbc1b <map> is not capitalized 2019-04-27 09:24:52 -05:00
JapaMala f89a3db6fe Loop through citizens to find owned items. 2019-04-27 08:56:50 -05:00
JapaMala 78bd70c858 Loop through all owned items of all units. 2019-04-27 07:53:23 -05:00
JapaMala bc05c9b1a1 started work on new plugin 2019-04-27 06:59:27 -05:00
JapaMala 4347fb0be7 Use size_t for vector size comparisons. 2019-04-18 23:30:03 -05:00
JapaMala 6565a3a2ba Add wounds to RFR 2019-04-18 21:49:18 -05:00
JapaMala 435f92d1bb Add protobuf files to the build solution so they show up in visual studio 2019-04-18 21:48:36 -05:00
Alan a40adf1f86
Merge pull request #1435 from cppcooper/cxxrandom-rel
[Release] cxxrandom v2.0.1
2019-04-16 12:04:40 -04:00
Josh Cooper 9c403f509d [Release] cxxrandom v2.0.1 2019-04-15 16:21:54 -07:00
JapaMala e8624aa814 Fixed a typo. 2019-04-14 01:14:46 -05:00
JapaMala ffab2d83b9 Update protobuf metadata 2019-04-14 00:23:47 -05:00
JapaMala 9e3b2fce49 Update scripts and stonesense 2019-04-13 23:52:05 -05:00
JapaMala 1d147015a6 Bump RFR api version 2019-04-07 23:05:35 -05:00
JapaMala 61396a57ab Push over dwarf's ages through protos 2019-04-07 22:52:50 -05:00
lethosor c11f2b5ffa Update stonesense (fix non-Linux builds) 2019-03-28 14:01:28 -04:00
lethosor 3a9fea9c52 Update stonesense 2019-03-28 11:09:46 -04:00
JapaMala 571ce0f616 Repport if the game is not safe to interact with, namely while saving or loading the game. 2019-03-22 22:52:59 -05:00
JapaMala 064b6959e4 Fixed a crash when a unit has a move action queued, but the path is zero length 2019-03-17 18:05:12 -05:00
Pauli f0632347d0 Remove Core.h include from DataDefs.h
Core.h isn't required for DataDefs.h which removes Core.h dependency
from DataStatics*.
2018-12-30 17:08:42 -05:00
JapaMala c01dbc7cd2 Merge remote-tracking branch 'dfhack/master' into remote_reader
# Conflicts:
#	docs/changelog.txt
#	scripts
2018-12-28 00:08:13 -06:00
lethosor 315852a251 labormanager: fix -Wreorder warning 2018-12-27 19:46:36 -05:00
lethosor 3e2c898e1a Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop
Also move changelog entries to misc improvements per #1383
2018-12-27 16:52:30 -05:00
Lethosor 58fd98cb12
Merge pull request #1386 from billw2012/lm-disable-labor
labormanager: add option to disable the management of a labor.
2018-12-27 16:49:01 -05:00
lethosor 32edeffc3f Remove unused find_package(Threads) 2018-12-27 16:31:57 -05:00
lethosor a2f8742128 Merge remote-tracking branch 'suokko/runtime_debug_prints' into develop
Also fix and reorganize changelog
2018-12-27 16:28:25 -05:00
JapaMala 368d70c2d7 Use VIRTUAL_CAST_VAR correctly. 2018-12-26 01:10:51 -06:00
JapaMala 84578d7052 Remove both debug dump functions. They aren't needed anymore. 2018-12-26 01:04:31 -06:00
JapaMala e6f7900c52 Force UTF-8 string literals. 2018-12-26 00:39:16 -06:00
JapaMala 45985fe5a9 Merge remote-tracking branch 'dfhack/develop' into remote_reader 2018-12-26 00:23:05 -06:00
JapaMala d73124ebf7 Use FOR_ENUM_ITEMS instead of the silly for loop I had. 2018-12-26 00:14:38 -06:00
JapaMala 4b7e0d3c56 Convert unicode to escaped characters, and some formatting niceness 2018-12-26 00:11:08 -06:00
JapaMala 701ac66f8e Update DF version define. (mainly used to be able to keep backwards compatibility) 2018-12-26 00:06:49 -06:00
JapaMala 95d3086fe6 Remove tabs 2018-12-26 00:05:17 -06:00
Lethosor 0209e76f19
Merge pull request #1385 from ab9rf/labormanager-cleaning
labormanager: assign more dwarves to cleaning
2018-12-23 23:14:53 -05:00
lethosor 92482d63f5 Merge remote-tracking branch 'ab9rf/nestboxes' into develop 2018-12-20 20:57:09 -05:00
Warmist b1f9486edd
Update map-render.cpp
Remove tabs
2018-12-06 15:21:19 +02:00
PatrikLundell ef57295c02 Added coal search to embark-assistant 2018-12-04 14:58:10 +01:00
PatrikLundell 0916d69373 Added coal search to embark-assistant 2018-12-04 14:57:44 +01:00
PatrikLundell 8f9cbfeafd Added coal search to embark-assistant 2018-12-04 14:57:23 +01:00
PatrikLundell 1ef7f0746c Added coal search to embark-assistant 2018-12-04 14:56:55 +01:00
PatrikLundell efeb0504cc Added coal search to embark-assistant 2018-12-04 14:55:59 +01:00
PatrikLundell 5f6376e76e Added coal search to embark-assistant 2018-12-04 14:55:16 +01:00
JapaMala 435e44d99b Merge branch 'develop' of https://github.com/DFHack/dfhack into remote_reader 2018-12-02 08:57:15 -06:00
lethosor b913076451 Update xml, stonesense, changelog
Merged DFHack/df-structures#296 and (modified) attached changelog
entry
2018-11-24 17:09:24 -05:00
lethosor 368f8d0504 Remove and replace checks for OnBreak 2018-11-24 14:52:26 -05:00
Japa Mala Illo 67ce858772 Changed some debug stuff to use new variable names from the xmls 2018-11-11 16:21:15 -06:00
Japa Mala Illo 6aea842f1b Added tree info data to protos, not used yet. 2018-10-28 10:45:32 -05:00
Japa Mala Illo 85a4fef1d8 Added unknowns to saved tree export. 2018-10-28 10:22:55 -05:00
Japa Mala Illo d677880131 Fix issues with missing onbreak flag 2018-10-28 10:22:03 -05:00
Japa Mala Illo 836c011b33 Changed the plant tiles to more descriptive names. 2018-10-28 09:33:26 -05:00
Japa Mala Illo 7b6b83bdcf added a command to dump all trees in the map for debug. 2018-10-28 02:01:01 -05:00
Warmist ff452f9181 Add more comments 2018-10-12 13:37:49 +03:00
Warmist 5c1b7030e7 Also rename the plugin lua file 2018-10-12 10:44:56 +03:00
Warmist d9d470e4b6 Missing REQUIRE_GLOBAL(init) 2018-10-12 10:41:43 +03:00
Warmist f74ee143dd Might as well use REQUIRE_GLOBAL 2018-10-12 10:40:44 +03:00
Warmist cb9c964722 Rename twbt-utils to map-render 2018-10-12 10:40:20 +03:00
Warmist 41856aef37 Merge remote-tracking branch 'origin_DFHACK/develop' into twbt_experiments 2018-10-12 10:31:37 +03:00
Kelly Kinkade 3351d78864 Change embark-assistant to biome type from Maps
See #1392
2018-09-11 18:27:44 -05:00
billw2012 fefef2e121 Deprioritize dwarves with unmanged labors assigned, some renaming from disabled to unmanaged. 2018-08-31 20:53:06 +01:00
Ben Lubar 4e690df96a
Add Persistence module.
Alter World to use Persistence instead of storing data in historical figures.

Fake historical figures will be converted to the new format when a world is loaded.

Added plugin_save and plugin_load functions to the plugin API.

Made the weird int7/int28 code that was in the old persistence API slightly safer.
2018-08-26 18:27:58 -05:00
Kelly Kinkade 98903d9d71 [tailor] tidy 2018-08-26 09:30:08 -05:00
billw2012 239d4a8c46 Attempt to full exclude disabled labors from all relevant calculations. 2018-08-26 13:38:03 +01:00
Kelly Kinkade d3b335105c Add "tailor" plugin, to provide clothing management 2018-08-25 12:02:28 -05:00
Japa Mala Illo 1d8e55ea9b Merge remote-tracking branch 'DFHack/develop' into remote_reader 2018-08-24 12:15:13 +05:30
PatrikLundell 73e7ffff83 Made cancel state sensitive 2018-08-18 18:03:00 +02:00
PatrikLundell 2ed6469be8 Made cancel state sensitive 2018-08-18 18:02:19 +02:00
Kelly Kinkade 6275905644 nestboxes: Use buildings.others[NEST_BOX]
Should minimize performance impact (not that it was much before)
2018-08-16 11:33:59 -05:00
Kelly Kinkade 784c3b1590 a pox on invisible whitespace 2018-08-16 10:32:50 -05:00
Kelly Kinkade 750b3cb885 the tabmonster strikes again 2018-08-16 10:30:53 -05:00
Kelly Kinkade c840321edf move nestboxes out of devel 2018-08-16 10:23:15 -05:00
Kelly Kinkade a404ab3096 nestboxes: clean up & update description 2018-08-16 10:21:44 -05:00
billw2012 76b8f4af0e Fixing tab 2018-08-10 21:25:40 +01:00
billw2012 039fb3bc6b labormanager: add option to disable the management of a labor.
Also switching to case insensitive labor name matching.
2018-08-10 20:42:34 +01:00
Kelly Kinkade 19a575df3a labormanager: assign more dwarves to cleaning
I am fairly certain that Toady changed how cleaning jobs are spawned; this makes it so that cleaning actually happens with labormanager.
2018-08-09 06:18:01 -05:00
PatrikLundell c75a4fe8ee Used taleden's world map size algorithm 2018-08-06 11:52:22 +02:00
JapaMala 4b8cf7f65e Added armor raw info. 2018-08-05 21:29:40 +05:30
PatrikLundell aa6182a1ee Added embark-assistant world match indication 2018-08-05 17:28:49 +02:00
PatrikLundell 136eb0f03a Added embark-assistant world match indication 2018-08-05 17:23:03 +02:00
PatrikLundell f7fadaab37 Added embark-assistant world match indication 2018-08-05 17:11:47 +02:00
PatrikLundell 4c850cabca Added embark-assistant world match indication 2018-08-05 17:11:39 +02:00
PatrikLundell 70630cfd92 Added embark-assistant world match indication 2018-08-05 17:11:26 +02:00
lethosor d26b1759a2 Merge remote-tracking branches 'ab9rf/labormanager-1142', 'ab9rf/labormanager-1162' and 'ab9rf/labormanager-respect-nature' into develop 2018-08-04 00:52:59 -04:00
JapaMala f2664f7926 Add unit facing and sub-tile position when moving. 2018-08-03 23:18:02 +05:30
lethosor 1c137f9a35 Fix a few Lua 5.3-related errors
Reported on bay12:
http://www.bay12forums.com/smf/index.php?topic=164123.msg7821831#msg7821831
2018-08-02 14:36:15 -04:00
JapaMala efe4926df0 Send equipped item bodypart attachments over RFR 2018-08-02 21:50:29 +05:30
Kelly Kinkade 214b0c4bc6 (labormanager) respect NATURE value
Units with values regarding NATURE will be preferenced or dispreferenced
for jobs which might give them a good/bad feeling because of that value
2018-07-31 19:12:07 -05:00
JapaMala 5e95bd9cf2 Merge remote-tracking branch 'dfhack/develop' into remote_reader 2018-07-31 19:46:31 +05:30
Kelly Kinkade a6067c20c1 (labormanager) only assign valid labors (fix #1142)
Add a number of tests to ensure that only assignable labors are assigned
to units, and that only units that are eligible to be assigned labors
are considered at all.

I borrowed logic from Dwarf Manipulator to identify units eligible to be
assigned labors.

This should prevent pets., ghosts, visitors, or any other noneligible
entities from being assigned labors by labormanager, and should thus fix
#1142.
2018-07-30 22:36:59 -05:00
Kelly Kinkade 99490aff41 add support for craft item from pearl jobs (fixes #1162) 2018-07-30 21:32:15 -05:00
JapaMala 0a0cbdf2de Add creature flags to RFR creature raws. 2018-07-28 18:39:45 +05:30
lethosor d9fb364b3f Fix prospector out-of-bounds crash and improve checking
Fixes #1370
2018-07-21 00:27:11 -04:00
lethosor 61df5e5286 Merge remote-tracking branch 'KlonZK/patch-1' into develop 2018-07-20 23:16:28 -04:00
lethosor 09ec8910ca Avoid clearing CMAKE_CXX_FLAGS for plugins 2018-07-19 15:32:08 -04:00
lethosor af53fe6740 embark-assistant: fix x=16, y=16 dimensions 2018-07-19 14:48:28 -04:00
Ben Lubar 3e82bd8f35
Ignore CMakeLists.custom.txt and create it if it does not exist during cmake. 2018-07-18 14:00:40 -05:00
KlonZK 29f6131e26
fix custom animation tables
move "local frames" from inside the block to outside.
2018-07-16 10:39:05 +02:00
PatrikLundell baef5ca319 Added Finder scrolling and Frozen search 2018-07-13 20:44:11 +02:00
PatrikLundell 1af0ec4006 Added Finder scrolling and Frozen search 2018-07-13 20:43:49 +02:00
PatrikLundell 3d5cadeb8c Merge branch 'embark-assistant' of https://github.com/PatrikLundell/dfhack into embark-assistant 2018-07-13 17:53:34 +02:00
PatrikLundell 4137a17a78 Added Finder scrolling and Frozen search 2018-07-13 17:43:46 +02:00
PatrikLundell 658fac0b93 Added Finder scrolling and Frozen search 2018-07-13 17:43:22 +02:00
Lethosor 3e47de5b45
Merge branch 'develop' into embark-assistant 2018-07-13 11:33:57 -04:00
PatrikLundell fdf52deb36 Added Finder scrolling and Frozen search 2018-07-13 17:23:34 +02:00
PatrikLundell 02dd97722c Added Finder scrolling and Frozen search 2018-07-13 17:23:12 +02:00
PatrikLundell 4d3f9ce13d Added Finder scrolling and Frozen search 2018-07-13 17:22:49 +02:00
PatrikLundell 539428b741 Added Finder scrolling and Frozen search 2018-07-13 17:22:26 +02:00
PatrikLundell f41715309a Added Finder scrolling and Frozen search 2018-07-13 17:21:42 +02:00
lethosor c82532fd4b Merge remote-tracking branch 'suokko/ruby_memory_return_calling_convention' into develop 2018-07-12 14:53:20 -04:00
lethosor 7afa3690bf Add support for DFHACK_BUILD_ID
Used for BuildMaster builds, for example
2018-07-11 11:47:55 -04:00
lethosor 06511340ab Merge remote-tracking branch 'BenLubar/proto-docs' into develop 2018-07-10 11:26:31 -04:00
lethosor 21b9e828d3 embark-assistant: add spaces around keys
Further spacing work is tedious without rewriting it to use DFHack::Screen or
uicommon.h as every coordinate needs to be adjusted by hand
2018-07-10 11:22:12 -04:00
lethosor eb1f3e1d4c embark-assistant: add spaces around drawBorder titles 2018-07-10 11:01:22 -04:00
lethosor 8dec8c332f embark-assistant: use STANDARDSCROLL keys instead of CURSOR keys for scrolling 2018-07-10 10:59:52 -04:00
lethosor 2dac3c53c7 Add stress cutoffs to Units module, fix dwarfmonitor/manipulator
Fixes #1292
2018-07-09 15:59:12 -04:00
lethosor 46e53fc3b3 Make df2console only call df2utf if the output stream is a console
Fixes output in command-prompt, for example
2018-07-09 11:00:28 -04:00
JapaMala 4b64d2dec6 Merge branch 'develop' of https://github.com/DFHack/dfhack into remote_reader
# Conflicts:
#	docs/changelog.txt
2018-07-08 19:23:56 +05:30
lethosor 10abbf8ac2 Update docs for dfhack/stonesense#57 2018-07-08 00:19:58 -04:00
lethosor 00fa70dae9 Bump to beta2.1 (stonesense fix) 2018-07-07 21:42:01 -04:00
lethosor d2d1501dfd Merge remote-tracking branch 'suokko/workflow_crafts_advanced' into develop 2018-07-07 19:43:16 -04:00
lethosor 037e7e4901 Merge remote-tracking branch 'suokko/spotclean_ui_state_fix_1194' into develop
Moved/adjusted changelog entry
2018-07-07 18:08:53 -04:00
lethosor 3bec52b2a7 embark-assistant: some cleanup 2018-07-06 15:16:45 -04:00
Pauli ff6d0c4e7d Fix memory return calling convention in ruby bindings
Calling convention for memory return is that caller allocates (in stack)
memory to hold returned object. Then caller passes the pointer to callee
as implicit first parameter.

references:
https://github.com/hjl-tools/x86-psABI/wiki/X86-psABI
https://msdn.microsoft.com/en-us/library/7572ztz4.aspx

Fixes #1209
2018-07-04 23:46:23 +03:00
Pauli 57dd9e944e Fix crafts advanced constraints in workflow
Fixes #1247
2018-07-04 19:10:51 +03:00
Pauli d1a3f1a738 Allow canceling lineedit with ctrl+c 2018-07-04 15:21:25 +03:00
Pauli 490a855776 Add a test for signal_shared_tag implementation
The test cases check that the signal_shared_tag implementation can be
used and destructed safely from multiple threads.
2018-07-04 15:18:20 +03:00
Pauli 9cfb07f476 Add debug plugin to manage runtime debug filters 2018-07-04 15:18:20 +03:00
Ben Lubar 5db34339a5
Fix typo 2018-07-03 18:17:04 -05:00
Ben Lubar 4a0682133e
Annotate plugin proto files with the name of the plugin they are associated with. 2018-07-03 15:54:30 -05:00
Ben Lubar df9150f302
Add documentation for RPC functions supported by RemoteFortressReader and ISOWorldRemote. 2018-07-03 15:37:16 -05:00
Ben Lubar 6839fde555
Remove execute permission on files that are not executables. 2018-07-03 15:37:16 -05:00
lethosor 616675f0ce Merge remote-tracking branch 'suokko/kittens_data_race_fix' into develop 2018-07-03 00:30:36 -04:00
lethosor 81a7ddcf92 Merge remote-tracking branch 'suokko/screen_show_memory_leak' into develop 2018-07-02 22:58:11 -04:00
lethosor 7e91173289 Merge remote-tracking branch 'origin/develop-cf-autofix' into develop 2018-07-02 13:44:20 -04:00
JapaMala 7fd23d46f0 Send the building preview over RFR 2018-07-02 22:04:47 +05:30
lethosor f0ff96f614 Merge remote-tracking branch 'suokko/multibyte_console' into develop 2018-07-02 10:55:03 -04:00
JapaMala c489147657 Enabled building buildings through RFR 2018-07-02 00:37:02 +05:30
codefactor-io a08f08ae5f [CodeFactor] Apply fixes 2018-07-01 15:25:53 +00:00
JapaMala d9b910f79c Made a function to find building extents for un-built buildings. 2018-07-01 20:36:36 +05:30
JapaMala 9c2e052d4d More detail in build menu 2018-07-01 14:00:05 +05:30
Pauli 645ec0d591 Improve kittens thread safety and shutdown with core
The bools could use acquire&release memory order or even relaxed but I
didn't think code was worth auditing for such low level optimizations.
Sequantial consistent is fast enough but much harder to use incorrectly.

The timeLast is protected by CoreSuspender lock. plugin_update is only
called when CoreSuspender lock is held.

The last_menu is protected by trackmenu_flg loads and stores.
2018-06-30 21:53:12 +03:00
Pauli 0727403ac1 Fix devel plugins linking in linux 2018-06-30 21:12:42 +03:00
lethosor 105ddd86d8 Merge remote-tracking branch 'suokko/jsoncpp_upgrade_to_submodule' into develop 2018-06-29 22:33:00 -04:00
JapaMala 44f461711c Respond to building selection commands. 2018-06-29 21:59:48 +05:30
JapaMala 897b7b6a47 Send the building menu items over RFR 2018-06-28 20:27:12 +05:30
Pauli afd942a94b ruby: Support automatic array size from index-enum 2018-06-26 23:48:54 +03:00
JapaMala 4970935b9a fixed sidebar mode numbering. 2018-06-24 16:19:52 +05:30
JapaMala 93c3418f97 Added a simple function to get the current sidebar mode in fort mode. 2018-06-24 14:45:57 +05:30
Pauli 1fc37f8ddc Checke Console::lineedit error return values
Console::lineedit can return -1 to indicate input error and -2 to
indicate the program is closing. But most users don't check possible
unusual return values which can lead to exit hang.
2018-06-22 17:57:37 +03:00
lethosor 9c7bd562d4 fix-unit-occupancy, autogems: stop running while embarking
Related to #1286 fix
2018-06-21 16:16:54 -04:00
lethosor 46e31305a1 Merge remote-tracking branch 'PatrikLundell/embark-assistant' into develop 2018-06-21 15:54:03 -04:00
lethosor f20dae5a4c Merge remote-tracking branch 'suokko/fix_dramp_to_check_jobs_1228' into develop 2018-06-21 15:20:41 -04:00
PatrikLundell 8e1a1851be Removed temporary comments 2018-06-21 21:00:59 +02:00
PatrikLundell 9a8e251853 Updated evil weather 2018-06-21 20:51:36 +02:00
PatrikLundell f02f4b8bcc Updated evil weather 2018-06-21 20:51:05 +02:00
PatrikLundell 91aa16216b Updated evil weather 2018-06-21 20:50:30 +02:00
PatrikLundell 1382c04696 Updated evil weather 2018-06-21 20:49:49 +02:00
PatrikLundell 14b0ea5b98 Updated evil weather 2018-06-21 20:49:08 +02:00
PatrikLundell ad5328e119 Updated evil weather 2018-06-21 20:48:35 +02:00
lethosor 42eadf97b0 Update stonesense (#1302, dfhack/df-structures#247) 2018-06-21 12:00:12 -04:00
lethosor d9917e9a1d cxxrandom: remove pragmas, fix format warnings, misc. cleanup 2018-06-21 12:00:04 -04:00
lethosor 7a5e7c7c86 Rename unit_flags1.dead to killed, update submodules/changelog
Follow-up for dfhack/df-structures#247
2018-06-21 11:17:09 -04:00
lethosor 46b6bfd3f7 Merge remote-tracking branch 'suokko/fix_stocks_to_filter_military_items_1288' into develop 2018-06-21 00:04:06 -04:00
lethosor b2fd0b062b Merge remote-tracking branch 'PatrikLundell/dead_plugins' into develop 2018-06-20 16:18:07 -04:00
Pauli 72029e7de9 Avoid closing DF if launching command-prompt from prompt 2018-06-20 22:16:23 +03:00
Pauli 9b6781f0f2 Temporary lower command-prompt when executing the command
command-prompt viewscreen may affect command execution if they are
looking for UI state. To make commands execute simillary to hotkeys or
console commands the viewscreen needs to removed from the top position.

Fixes #1194
2018-06-20 21:51:45 +03:00
lethosor cdca28ddfa Merge branch 'develop' of gh:dfhack/dfhack into develop 2018-06-20 12:10:52 -04:00
lethosor 7036cc376b Fix warnings in devel plugins introduced by #1302 2018-06-20 12:03:14 -04:00
lethosor 6077a8ce4c Merge remote-tracking branch 'suokko/printf_warnings' into develop 2018-06-20 11:25:14 -04:00
lethosor 862fa08ba6 Merge remote-tracking branch 'cppcooper/cxxrandom-rel' into develop 2018-06-20 11:00:43 -04:00
Pauli f90eebdd2d Add designation job check to deramp
Fixes #1228
2018-06-20 15:54:31 +03:00
Pauli bd0d36ec82 Fix stockpile inventory not to include inventory items
Inventory items have stale position information. The coordinates can be
very old if item is owned and continuesly carried for long time. The fix
checks if item is carried. To avoid filtering carried items that are
assigned (containers) to the stockpile the assignment needs to be
checked.

Fixes #1288
2018-06-19 18:06:28 +03:00
Pauli 9c59b7ff48 Fix unlikely memory leaks if Screen::show fails
The Screen::show takes ownership of the screen pointer. I decided to
switch the parameter to std::unique_ptr to make the pointer ownership
explicit. The unique_ptr then provides automatic screen destruction in
Screen::show unless pointer is inserted or is already in the linked list
that is managed by df.
2018-06-19 16:41:31 +03:00
JapaMala dc367f212e Move fortress mode control stuff into a different file. 2018-06-18 22:12:52 +05:30
JapaMala 6ef85908ac Bump df version 2018-06-18 21:28:56 +05:30
Pauli 6f7ace1f6d stockpiles: Fix unusable and usable loading for weapon and armor
Fixes #1294
2018-06-14 22:22:51 +03:00
Pauli 2b79b4cce7 Use jsoncpp 1.8.4 as a submodule
This makes jsoncpp a submodule that can be build directly from git
sources. This changes depends/jsoncpp to depends/jsoncpp-sub to avoid
filename conflict if someone tries to use git bisect.

jsoncpp library name changes to jsoncpp_lib_static.

jsoncpp version is the latest tagged release.
2018-06-14 21:20:46 +03:00
lethosor aac892c560 Adapted to changed Units functions
Squashed version of #1307

Closes #1307
2018-06-14 10:30:35 -04:00
PatrikLundell cf780ce035 dead flag -> !isActive 2018-06-14 12:35:17 +02:00
PatrikLundell cac749429a dead flag -> !isActive 2018-06-14 12:34:41 +02:00
PatrikLundell 3be27a49b5 dead flag -> !isInactive 2018-06-14 12:33:18 +02:00
PatrikLundell f076d00ede dead flag -> !isActive 2018-06-14 12:32:38 +02:00
PatrikLundell b38dfe2e43 dead flag -> !isActive 2018-06-14 12:31:52 +02:00
PatrikLundell da0aa85b05 dead flag -> !isActive 2018-06-14 12:31:15 +02:00
PatrikLundell aa361f3a0d dead flag -> !isActive 2018-06-14 12:30:41 +02:00
PatrikLundell 6901c53bd5 dead flag -> !isActive 2018-06-14 12:29:48 +02:00
PatrikLundell 897a818f4c Switch to Units functions 2018-06-14 09:42:45 +02:00
lethosor 39194e5e38 Merge remote-tracking branch 'suokko/cxx14_enabling' into develop (actually c++11) 2018-06-13 16:08:41 -04:00
lethosor cddb1b59e1 title-version: move to bottom of options screen
This avoids overlapping the window border when a world is loaded
2018-06-13 15:57:13 -04:00
lethosor de0521e618 title-version: add to options screen 2018-06-12 16:38:53 -04:00
lethosor 40d0d946a4 autogems: avoid crash with non-workshop links, add some logging
Also update changelog, including revflood change

Fixes #1303
2018-06-12 12:17:04 -04:00
Pauli 8f2cf3ad26 Fix printf format warnings 2018-06-11 19:57:06 +03:00
Pauli 01abcb756e Request c++14 support from compilers
All platforms seems to either have compiler supporting c++14. Windows
already requires msvc2015 that supports c++14 which should make it
minimal issue to require c++14 support from all compilers because gcc
is pretty easy to upgrade.
2018-06-10 23:15:33 +03:00
Quietust 8717144f14 Fix revflood bug, was revealing some tiles from below inappropriately
When scanning floor tiles from below, don't just leave them hidden, but
skip checking neighbors as well
2018-06-09 14:19:52 -06:00
lethosor 7e57450e78 Change buildingplan quality adjustment keys per #1284 comment, for consistency 2018-06-08 22:25:56 -04:00
lethosor c4692b1c8d Merge remote-tracking branch 'TotallyGatsby/buildingplanmax' into develop 2018-06-08 22:07:54 -04:00
PatrikLundell 0ec3df6022 dead/killed flags 2018-06-08 11:09:11 +02:00
PatrikLundell 654f798b83 dead/killed flags 2018-06-08 11:08:35 +02:00
lethosor 03968db344 Fix GCC warnings in 'tweak kitchen-prefs-all' and dev plugins 2018-06-01 10:02:38 -04:00
lethosor f57327e7c8 Fix periodic events in several plugins
Also stop running buildingplan/fortplan while loading a world, and stop running
autogems while paused

Fixes #1286
2018-05-29 23:24:02 -04:00
Vitaly Pronkin 06b9dc0c1c remove trailing spaces 2018-05-25 12:43:30 +12:00
Vitaly Pronkin a44f5b57cb don't need this 2018-05-25 01:34:57 +12:00
Vitaly Pronkin 0217916568 mousequery plugin with TWBT modifications 2018-05-25 01:07:12 +12:00
lethosor e206a6d88b mousequery: leave menus safely, without looping
Fixes #1285
2018-05-22 16:37:44 -04:00
lethosor 5f81cac3b7 dwarfmonitor.lua: use dmerror() consistently 2018-05-21 21:23:52 -04:00
Phillip Spiess 3e54a136fd Use two keys for min/max 2018-05-20 20:50:42 -07:00
Phillip Spiess 385ac3f9f5 Add 'Max Quality' setting to buildingplan 2018-05-20 14:36:50 -07:00
lethosor 50a863a48e Fix Kitchen.h include (case-sensitive) 2018-05-17 20:11:46 -04:00
lethosor b551e70ffa prospector: Avoid crashing due to invalid vein materials
Fixes #1276, ref #1277
2018-05-17 19:56:48 -04:00
lethosor 759ba5c420 New tweak: kitchen-prefs-all
Options to toggle brew/cook for all listed items

Also fixed kitchen lua docs and moved kitchen search option
2018-05-17 19:47:56 -04:00
lethosor 17ba492992 Add some exclusion functions to Kitchen module, expose to Lua, fix build 2018-05-17 19:34:03 -04:00
lethosor fa8a2fa670 Merge branch 'develop' of gh:dfhack/dfhack into develop 2018-05-17 00:12:59 -04:00
lethosor 79a0794658 Add kitchen preferences search 2018-05-17 00:11:52 -04:00
Japa b6c6b4a8a0
Merge pull request #1252 from JapaMala/remote_reader
Bump RFR version number.
2018-05-17 07:48:18 +05:30
lethosor c85274eb01 tweak max-wheelbarrow: fix conflict with building renaming
Reported by xordae on bay12:
http://www.bay12forums.com/smf/index.php?topic=164123.msg7762438#msg7762438
2018-05-16 16:51:45 -04:00
lethosor 0be16d4422 New tweak: stone-status-all
Adds an option to toggle the economic status of all stones

Also suggested by xq on IRC
2018-05-14 22:54:20 -04:00
lethosor 914b376082 Add stone status search
Suggested by xq on IRC
2018-05-14 22:30:21 -04:00
Ben Lubar ee85ed4011
Remove $(NOINHERIT) from Stonesense 2018-05-14 00:56:18 -05:00
Ben Lubar f838b5695d
Remove $(NOINHERIT) which was inexplicably included in a bunch of plugins. 2018-05-14 00:12:22 -05:00
lethosor 06031bdd0e Merge branch 'develop' of gh:dfhack/dfhack into develop 2018-05-13 13:11:29 -04:00
lethosor e2cd1fca58 Reorder dfhack-md5 GCC flags, fix another embark-assistant warning 2018-05-13 13:09:51 -04:00
Ben Lubar 586051510c
Update stonesense. 2018-05-13 10:38:59 -05:00
lethosor 016dab3990 Fix more warnings, including stonesense 2018-05-12 22:10:07 -04:00
lethosor e9ec08f419 Add Buildings::getRoomDescription(), moved from search plugin, +cleanup 2018-05-12 17:00:21 -04:00
lethosor 7d0df117ee dwarfmonitor: fix typo in function name 2018-05-12 14:59:26 -04:00
lethosor ad518faeec cursecheck: Replace setUnitNickname (older) with Units::setNickname 2018-05-12 14:59:04 -04:00
lethosor c15571caa0 Move isRouteVehicle, isSquadEquipment from workflow to Items module 2018-05-12 14:49:30 -04:00
lethosor abb903d28f command-prompt: support getSelectedPlant() 2018-05-12 13:02:52 -04:00
lethosor a34b34d3cb Move a few item functions from autotrade/stocks into DFHack::Items 2018-05-12 12:04:46 -04:00
Lethosor fbe652d7a0
Merge pull request #1265 from db48x/allow-calling-blueprint-from-lua
this allows the blueprint plugin to be called from lua
2018-05-11 23:52:16 -04:00
lethosor 018deec912 Fix another occasional segfault in block-labors
Fixes #1057
2018-05-11 22:18:26 -04:00
lethosor 9d353c1ea7 tweak block-labors: fix crash if unit is null
Fixes #1057
2018-05-11 10:21:05 -04:00
Ben Lubar 58636f5a27
Make 32-bit Linux builds also check for undefined symbols. 2018-05-10 11:20:19 -05:00
lethosor 8e76c612f6 Add SDL to RFR libs on Linux 2018-05-09 21:48:27 -04:00
lethosor 77ee74be50 Only require symbols to be defined in plugins
Core uses some unresolved symbols on Linux
2018-05-09 21:36:51 -04:00
Daniel Brooks a550c81628 update the CMakeList to link the blueprint plugin against the lua library 2018-05-09 18:25:26 -07:00
Daniel Brooks b127522992 Merge branch 'develop' into allow-calling-blueprint-from-lua 2018-05-09 12:55:17 -07:00
lethosor 2ada907420 Move stockpiles option (load/save) below stocks/autodump/etc
Fixes #1161
2018-05-09 10:33:41 -04:00
lethosor ead0092765 Ignore added stockpile keys when renaming stockpiles
Fixes #1267
2018-05-09 10:25:55 -04:00
lethosor 2a52582c1f Add Gui::inRenameBuilding 2018-05-09 10:23:05 -04:00
Daniel Brooks d15f87715e update comments 2018-05-08 13:04:14 -07:00
Daniel Brooks 554814920b this allows the blueprint plugin to be called from lua 2018-05-08 11:42:41 -07:00
lethosor 9d7feaf39d autogems: load blacklist from autogems.json
Closes #1027
2018-05-05 12:49:06 -04:00
lethosor 60d1c270c2 Display autogems config option 2018-05-04 23:07:21 -04:00
Josh Cooper bc32d15bea [Release] cxxrandom v2.0
Major Revision
update v2.0
=-=-=-=-=
Native functions(exported to lua):
-GenerateEngine:  returns engine id              (args: seed)
-DestroyEngine:   destroys corresponding engine  (args: rngID)
-NewSeed          re-seeds engine                (args: rngID, seed)
-rollInt          generates random integer       (args: rngID, min, max)
-rollDouble       generates random double        (args: rngID, min, max)
-rollNormal       generates random normal[gaus.] (args: rngID, avg, stddev)
-rollBool         generates random boolean       (args: rngID, chance)
-MakeNumSequence  returns sequence id            (args: start, end)
-AddToSequence    adds a number to the sequence  (args: seqID, num)
-ShuffleSequence  shuffles the number sequence   (args: rngID, seqID)
-NextInSequence   returns the next number in seq.(args: seqID)

Lua plugin functions:
-MakeNewEngine    returns engine id              (args: seed)

Lua plugin classes:
-crng
    methods:
        -init(id, df, dist)     :: constructor
            id                           - Reference ID of engine to use in RNGenerations
            df (optional)                - bool indicating whether to destroy the Engine when the crng object is garbage collected
            dist (optional)              - lua number distribution to use
        -__gc()                 :: destructor
        -changeSeed(seed)       :: alters engine's seed value
        -setNumDistrib(distrib) :: set's the number distribution crng object should use
            distrib                      - number distribution object to use in RNGenerations
        -next()                 :: returns the next number in the distribution
        -shuffle()              :: effectively shuffles the number distribution
-normal_distribution
    methods:
        -init(avg, stddev)      :: constructor
        -next(id)               :: returns next number in the distribution
            id                           - engine ID to pass to native function
-real_distribution
    methods:
        -init(min, max)         :: constructor
        -next(id)               :: returns next number in the distribution
            id                           - engine ID to pass to native function
-int_distribution
    methods:
        -init(min, max)         :: constructor
        -next(id)               :: returns next number in the distribution
            id                           - engine ID to pass to native function
-bool_distribution
    methods:
        -init(min, max)         :: constructor
        -next(id)               :: returns next boolean in the distribution
            id                           - engine ID to pass to native function
-num_sequence
    methods:
        -init(a, b)             :: constructor
        -add(num)               :: adds num to the end of the number sequence
        -shuffle()              :: shuffles the sequence of numbers
        -next()                 :: returns next number in the sequence

Adds missing function exports.

Fixes numerous problems I won't go into
2018-04-29 21:08:44 -07:00
Josh Cooper 23b2d5eba5 Merge branch cxxrandom
Implements helper functions for random number generation.
Implemented using C++11 <random> library.

Exported Lua Functions:
- seedRNG(seed)
- rollInt(min, max)
- rollDouble(min, max)
- rollNormal(mean, std_deviation)
- rollBool(chance_for_true)
- resetIndexRolls(string, array_length)  --String identifies the instance of SimpleNumDistribution to reset
- rollIndex(string, array_length)        --String identifies the instance of SimpleNumDistribution to use
                                         --(Shuffles a vector of indices, Next() increments through then reshuffles when end() is reached)

 On branch cxxrandom-rel
 Changes to be committed:
   modified:   plugins/CMakeLists.txt
   new file:   plugins/cxxrandom.cpp
   new file:   plugins/lua/cxxrandom.lua

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Squashed commit of the following:

commit 3a7ef70d45f3e0c2fe367141dd0349dddaaff60d
Merge: fd9f1982 7aa0608c
Author: Josh Cooper <cooper.s.josh@gmail.com>
Date:   Fri Dec 22 22:17:27 2017 -0800

    Merge remote-tracking branch 'origin/temp' into cxxrandom

commit 7aa0608cb85dcf82686193db7a6e9d1318f5f2a5
Author: Josh Cooper <cooper.s.josh@gmail.com>
Date:   Thu Dec 21 21:43:35 2017 -0800

    Revises cxxrandom plugin

    New functions:
    - seedRNG(ushort seed)
        --lua exported
    - GetDistribContainer()
        --internal singleton
    - RNG()
        --internal singleton

    Summary:
    - Removed class CXXRNG
        --Refactored functions that used CXXRNG

     Changes to be committed:
            modified:   plugins/cxxrandom.cpp

commit b42979818a01c1121eace7b1ac14676f5ad5d8b2
Author: Josh Cooper <cooper.s.josh@gmail.com>
Date:   Wed Dec 20 13:21:49 2017 -0800

    Fixes plugin_init()

    Misread the lines indicated by lethosor to be excluded, had broken the plugin in the process.
     Changes to be committed:
    	modified:   plugins/cxxrandom.cpp

commit 753a00a14d9e6519d299638e014abf30509940af
Author: Josh Cooper <cooper.s.josh@gmail.com>
Date:   Wed Dec 20 12:36:17 2017 -0800

    Cleans up cxxrandom.cpp

    DFHack contributions specifies:
    -spaces instead of tabs, so tabs were converted.
    -C++ headers before dfhack stuff, so it was done

    *Also added author name, creation date, and last updated date.

     Changes to be committed:
    	modified:   plugins/cxxrandom.cpp

commit 498ebe4b8fdccc01ac1f169269f3093c830a8a10
Author: Josh Cooper <cooper.s.josh@gmail.com>
Date:   Tue Dec 19 22:51:58 2017 -0800

    Updates cxxrandom, fixes instance leak

    deleted header
    moved definition to cpp file #lethosor

    fixed singleton instance, no longer a pointer
    commented out dfhack commands, now only init/shutdown and exported lua functions

    	modified:   cxxrandom.cpp
    	deleted:    cxxrandom.h

commit 821044bef2a0201d0d74192e445c7b29766b42a1
Author: Josh Cooper <cooper.s.josh@gmail.com>
Date:   Sun Dec 17 04:01:11 2017 -0800

    Fixes RollIndex and Renames RollNormal

    Renamed the Normal Distribution RNG function to fit the standard.
    Now named RollNormal(m,s)

    Fixed some wonky white space in the lua macro export block.

    Fixed a stupid mistake with the RollIndex output. (it was outputting 0's)

    Updated usage details.

     Changes to be committed:
    	modified:   plugins/cxxrandom.cpp

commit 1536f43d137b6bc55d55759b43bdccf6ff429b33
Author: Josh Cooper <cooper.s.josh@gmail.com>
Date:   Fri Dec 15 08:50:08 2017 -0800

    Fixes/Improves cxxrandom

    Modified return types
    Corrected index distribution code

commit 8629c7e1509522cb0cc4b649914b90d033cb4763
Author: Josh Cooper <cooper.s.josh@gmail.com>
Date:   Thu Dec 14 19:02:29 2017 -0800

    Implements SimpleNumDistribution

    Exported additional functions to lua.
    Functions allow the generation of random 0-N index values.
    Generation promises all unique values [0,N] will be returned once each when generation is run N times.

     On branch cxxrandom
     Changes to be committed:
    	modified:   plugins/cxxrandom.cpp
    	modified:   plugins/cxxrandom.h

commit f035f3d20415790542cf83e5e696261661d911f3
Author: Josh Cooper <cooper.s.josh@gmail.com>
Date:   Wed Dec 13 23:55:39 2017 -0800

    Implements cxxrandom

    cxxrandom was implemented using a singleton.
    This singleton provides an interface for generating uniform numbers, or numbers in a normal distribution, and also booleans(given the probability for the true outcome)
    The singleton interface is wrapped in functions which are exposed for lua usage.

    Integrated into plugins/CMakeLists.txt

     On branch dev
     Changes to be committed:
    	modified:   CMakeLists.txt
    	new file:   cxxrandom.cpp
    	new file:   cxxrandom.h
    	new file:   lua/cxxrandom.lua
2018-04-29 21:08:44 -07:00
lethosor 5cd8aa0458 Update downloads to 0.44.09 2018-04-19 12:35:00 -04:00
Japa 0ea35a6e93 Merge remote-tracking branch 'lethsor/master' into remote_reader 2018-04-11 18:28:41 +05:30
Ben Lubar f9ad71f682
Fix fencepost error in autolabor/autohauler/labormanager.
https://github.com/DFHack/dfhack/pull/1253#pullrequestreview-110903215
2018-04-10 13:29:00 -05:00
Ben Lubar afc2c476bb
Fix remaining warnings on Windows. 2018-04-06 21:22:48 -05:00