Commit Graph

1397 Commits (36de6e6e536a97dabdbae2ab47c99530c51326c1)

Author SHA1 Message Date
myk002 6293b71e9e
Revert "remove docs for non-enableable, command-less plugin"
This reverts commit c88423e655.
2022-07-26 22:01:39 -07:00
myk002 c88423e655
remove docs for non-enableable, command-less plugin 2022-07-25 22:05:32 -07:00
myk002 4438134711
add missing keybinding for infiniteSky 2022-07-25 22:01:28 -07:00
myk002 06fc84fb39
update docs for infiniteSky 2022-07-25 22:00:56 -07:00
myk002 69d88a62dd
update docs for hotkeys 2022-07-25 21:54:34 -07:00
myk002 b93e3365f6
update docs for get plants 2022-07-25 21:50:52 -07:00
myk002 094f8d7257
fix typos in forceequip cpp/docs 2022-07-25 16:57:08 -07:00
myk002 367ac0064e
update docs for generated-creature-renamer 2022-07-25 16:54:28 -07:00
myk002 eb0f016804
update docs for forceequip 2022-07-25 16:40:19 -07:00
myk002 82953d8b2f
fix doc build errors 2022-07-25 13:37:52 -07:00
myk002 20ccd3a99c
update docs for follow 2022-07-25 10:55:31 -07:00
myk002 e13aae2ce1
update docs for flows 2022-07-25 10:55:04 -07:00
myk002 ea3dfe399e
update docs for fixveins 2022-07-25 10:54:11 -07:00
myk002 9c0bd6bd70
update docs for fix-unit-occupancy 2022-07-25 10:23:26 -07:00
myk002 2654de583f
update docs for filltraffic 2022-07-25 10:23:05 -07:00
myk002 ab9c3a07c4
add missing 'enable' usage for dwarfmonitor 2022-07-25 10:22:42 -07:00
myk002 989befa582
update docs for fastdwarf 2022-07-25 10:22:23 -07:00
myk002 a6cb79c237
remove defunct tool fix-armory 2022-07-25 10:21:59 -07:00
myk002 886289d805
update docs for fix-armory 2022-07-25 10:21:33 -07:00
myk002 38c17b5215
update docs for RemoteFortressReader 2022-07-25 06:56:21 -07:00
myk002 6b1c0b5308
rename building-hacks section 2022-07-25 06:53:08 -07:00
myk002 4132dbdbbb
remove docs for no-command, un-enableable plugin
it's already documented in lua-api
2022-07-25 06:51:40 -07:00
myk002 98ad22dddd
align remaining plugin docs to plugin names 2022-07-25 06:08:59 -07:00
myk002 02cc085a43
update docs for embark-tools 2022-07-24 23:59:04 -07:00
myk002 d94fef36ff
update docs for embark-assistant 2022-07-24 23:39:13 -07:00
myk002 32e2ac2103
update docs for dwarfvet 2022-07-24 23:24:52 -07:00
myk002 595fb221b8
code block is not valid json 2022-07-24 23:24:35 -07:00
myk002 ac11cde213
update docs for dwarfmonitor 2022-07-24 23:22:51 -07:00
Myk d624e91673
Fix missing newline 2022-07-24 20:59:24 -07:00
myk002 b2ca3cb194
update docs for diggingInvaders 2022-07-24 20:12:04 -07:00
myk002 60b599865c
update docs for digFlood 2022-07-24 17:01:50 -07:00
myk002 ca06d1d9c5
update docs for dig (again) 2022-07-24 16:08:35 -07:00
myk002 9dd62f2291
update docs for dig 2022-07-23 22:40:33 -07:00
myk002 5f56d79235
move dfhack.history to dfhack-config/dfhack.history 2022-07-23 21:55:49 -07:00
myk002 947889873d
update all docs I've done so far to new standards 2022-07-23 16:03:40 -07:00
myk002 e4273589e1
one fewer char per line so no horiz scrolling 2022-07-23 15:38:35 -07:00
myk002 a94f3c3cca
fix some formatting 2022-07-23 15:32:08 -07:00
lethosor c1a694cb18
Improve syntax highlighting in Documentation.rst 2022-07-23 18:26:40 -04:00
myk002 62523bdcb1
update documentation for the documentation 2022-07-23 15:13:11 -07:00
myk002 3141ecbec2
remove cromulate. it has outlived its purpose 2022-07-22 21:04:22 -07:00
myk002 5dde613a12
fix formatting errors 2022-07-22 19:06:50 -07:00
myk002 a7346dd05b
add missing labels 2022-07-22 17:51:48 -07:00
myk002 4cb57d25f1
update dig-now docs 2022-07-22 17:46:33 -07:00
myk002 675f2edee2
update deramp docs 2022-07-22 17:46:22 -07:00
myk002 0f3811b933
update debugfilter docs 2022-07-22 17:46:11 -07:00
myk002 65b3ce6e96
remove unattached docs and plugins 2022-07-22 17:45:23 -07:00
myk002 19a4905933
update docs for "c" plugins 2022-07-22 16:42:36 -07:00
myk002 e8ffa55dfe
use a label instead of a custom role
since I can't seem to figure out how to inject a link to a label via the
role processing code
2022-07-22 15:16:57 -07:00
myk002 6752025848
fix up some index links 2022-07-22 14:38:16 -07:00
myk002 2fd6d528ce
move support docs to the intro page
but leave an orphan link to the new section in case external links still
point to the old page
2022-07-22 14:37:47 -07:00
myk002 6a31b316dc
add structure for category indices 2022-07-22 14:37:24 -07:00
myk002 b38ccfe03d
fix typo in automaterial docs 2022-07-22 10:18:32 -07:00
myk002 d637c87496
ensure all plugins are indexed 2022-07-22 10:15:03 -07:00
myk002 3175e8b33d
update tags and text for builtins 2022-07-22 10:15:03 -07:00
myk002 bd58158126
get rid of tool TOC, use genindex
also add a stub role for dfhack-tag
2022-07-22 10:15:03 -07:00
myk002 9c7731f072
remove reference to dfhack.init-example 2022-07-22 10:15:03 -07:00
pre-commit-ci[bot] 3522b89f5c [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2022-07-22 14:20:02 +00:00
myk002 53cdf57043
add missing digv label 2022-07-22 00:08:03 -07:00
myk002 6b9803daaf
update docs up to the end of the b's 2022-07-22 00:05:53 -07:00
myk002 b3679bef25
enable index building and update builtin docs 2022-07-21 23:21:56 -07:00
lethosor 5521a5a45d
Remove old build*.sh scripts 2022-07-22 00:47:33 -04:00
lethosor 4b0b0e02f8
Update Documentation.rst for new workflow and output formats 2022-07-22 00:46:44 -04:00
lethosor 68b8837a8d
Replace docs/build*.sh with more flexible build.py
Notable changes:
- can build any combination of output formats in series
- `-E` is no longer passed by default to aid in development, but can be passed
  manually
2022-07-22 00:30:36 -04:00
myk002 d9a1104473
update docs for cleanowned 2022-07-20 14:51:06 -07:00
myk002 e9e477c680
update docs for clean and spotclean 2022-07-20 13:51:03 -07:00
myk002 1f3c4cdd18
update docs for cleanconst 2022-07-20 13:26:30 -07:00
myk002 d3dd12c38f
update docs for changevein 2022-07-20 13:24:27 -07:00
myk002 fae5f0635a
update docs for changelayer 2022-07-20 13:21:05 -07:00
myk002 ddd2e5003a
update docs for changeitem 2022-07-20 13:00:27 -07:00
myk002 0fe4bed121
document both burrow command and burrows plugin 2022-07-20 12:42:27 -07:00
myk002 1cad77601e
update formatting for plugin docs 2022-07-19 23:11:02 -07:00
myk002 954e246140
reformat builtins and properly read tags 2022-07-19 23:01:25 -07:00
myk002 66b7bcaf1a
update docs for burrows 2022-07-18 17:09:48 -07:00
myk002 19a4accca4
update docs for bulidingplan 2022-07-18 16:58:01 -07:00
myk002 629c22b148
update docs for building-hacks 2022-07-18 16:38:28 -07:00
myk002 154dc7c96c
update docs for blueprint 2022-07-18 16:32:43 -07:00
myk002 2bc6e09ba0
fix formatting typos 2022-07-18 16:20:43 -07:00
myk002 08154ca1b5
update docs for autotrade 2022-07-18 16:13:27 -07:00
myk002 fd84fdce73
update docs for automelt 2022-07-18 16:13:20 -07:00
myk002 0ba3a4684b
update docs for automaterial 2022-07-18 16:13:04 -07:00
myk002 87e67ea8b3
update docs for autolabor 2022-07-18 14:53:06 -07:00
myk002 6c760d1a3d
update docs for autohauler 2022-07-18 14:33:24 -07:00
myk002 b1916f16b1
update docs for autogems 2022-07-18 13:59:11 -07:00
myk002 3ca7997d3e
update docs for autofarm 2022-07-18 13:49:51 -07:00
myk002 25bc59297b
update docs for autodump (and related hotkeys) 2022-07-18 13:28:16 -07:00
myk002 3969a366ec
update docs for autoclothing 2022-07-18 13:02:03 -07:00
myk002 51c817191c
update docs for autochop 2022-07-18 12:52:38 -07:00
myk002 5ff31e0cc1
remove defunct advtools plugin 2022-07-18 12:36:11 -07:00
myk002 02ba204f5b
update docs for add-spatter 2022-07-18 11:39:52 -07:00
myk002 2207f26992
update docs for 3dveins 2022-07-18 11:34:58 -07:00
myk002 d27def7128
spacing is important
otherwise the usage and examples lists don't put the explanations on the
next line
2022-07-18 11:16:05 -07:00
myk002 019856883b
update sc-script docs based on code spelunking 2022-07-18 11:10:56 -07:00
myk002 8173f6dd02
Merge remote-tracking branch 'upstream/develop' into docs 2022-07-18 10:59:00 -07:00
myk002 301c8e93a1
move builtin docs to individual files 2022-07-18 10:58:35 -07:00
myk002 f354200728
update widget docs 2022-07-16 22:23:22 -07:00
myk002 27425e47f6
support cursor movement in EditFields 2022-07-15 22:22:51 -07:00
myk002 9b340a7630
support submit2 for EditFields 2022-07-15 13:46:01 -07:00
myk002 c9a87511bd
add dfhack history repository and expose to lua 2022-07-15 09:18:27 -07:00
myk002 e926e1116e
replace more Core cpp code with calls to helpdb
also document devel/dump-rpc builtin
2022-07-14 13:19:30 -07:00
lethosor f021dd0e0a
Gui::getAnyItem(): add support for viewscreen_treasurelistst 2022-07-12 11:25:16 -04:00
lethosor 4cdb0ff138
Merge branch 'rm-old-modules' into develop 2022-07-12 11:23:10 -04:00
myk002 328d839f19
support backtick as a keybinding
and bind it to gui/launcher
2022-07-11 17:23:56 -07:00
myk002 fdd406b722
ensure all files are reread on every docs build
this fixes the issue where the Stonesense docs were getting ignored
2022-07-10 20:19:12 -07:00
pre-commit-ci[bot] 12557f8dc1
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2022-07-10 20:19:12 -07:00
myk002 3e2320aa60
split the plugin docs into individual files 2022-07-10 20:19:11 -07:00
myk002 8d99b7e6e1
prepare for plugin doc split 2022-07-10 20:19:09 -07:00
Myk 4ad8e7199a
Support builtin commands in helpdb (#2241)
* support builtin commands in helpdb, implement list API, document api
2022-07-10 20:17:52 -07:00
Myk 64aba7a8a3
Myk rendered help (#2240)
* implement help db

* add initial list of tags

* read tags fr help, read script short desc, filter
2022-07-10 20:14:21 -07:00
Myk 27d7c3acc6
Myk sample command help (#2238)
* add example tool documentation in proposed format

* refine Tools.rst
2022-07-10 20:14:20 -07:00
Myk 28e15162a5
reorganize init scripts into dfhack-config (#2232)
* reorganize init scripts into dfhack-config

allows player init scripts to build on defaults instead of replace them
this also moves the init scripts out of the main df directory

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

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

* escape asterisks in docs

* remove unneeded dfhack.init file creation for test

* write the test init script to the new init dir

* create the init dir before trying to write a file

* rename default init files for clarity

* Update changelog

* Update docs/changelog.txt

Co-authored-by: Alan <lethosor@users.noreply.github.com>

* Try to get buildmaster to work with old branches

* Update changelog

* get keybindings from all init scripts

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

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

* Fix spacing in changelog

* split default loading into its own file

* update docs with new changes

* update help text wording in default init files

* Apply suggestions from code review

Co-authored-by: Alan <lethosor@users.noreply.github.com>

* Alphabetize changelog

* Update onMapLoad.default.init

* Update onMapLoad.init

* Update Core.rst

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Alan <lethosor@users.noreply.github.com>
2022-07-10 08:54:55 -07:00
Myk 9f44fd3f72
[manipulator] add the professions library (#2234)
* move professions out of the examples folder

* install professions into professions/library

* guard unguarded header from multiple inclusion

* load and display library professions

* update changelog

* move example professions docs from examples guide

* update dreamfort documentation

* note that professions folder has changed

* Fix bad merge
2022-07-06 07:21:26 -07:00
Myk e0d37a31ae
Make the manager orders library available by default (#2233)
* move orders out of examples directory

* install orders into library dir

* read orders from new library dir

* update documentation

* update dreamfort references to orders import

* update changelog

* ignore json files in pre-commit
2022-07-06 07:03:29 -07:00
Myk 091068c710
[prospect] give player control over which information is output (#2231)
* give player control over prospect output

* suspend the core *before* we call to Lua
2022-07-06 06:57:13 -07:00
lethosor 739871bc0f
Remove Hooks-egg.cpp and related code and configuration options 2022-06-29 23:35:14 -04:00
lethosor 1147add520
Constructions module: remove some old/unused functions/types 2022-06-29 23:35:14 -04:00
lethosor 4c7caa2658
Remove unneeded dependencies on modules/Graphic.h 2022-06-29 23:35:13 -04:00
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
Timur Kelman 9788a8a22a
Add default selection handler to `materials.ItemTraitsDialog` (#2211)
* add forward compatibility for future `job_item_flags`

* add default selection handler to `materials.ItemTraitsDialog`

* add a call to `error()` in 'unknown'-branch inside `setTrait`

* add `ItemTraitsDialog` improvement description to changelog.txt
2022-06-28 16:27:18 -07:00
Myk ba629b8e0a
manually handle DestroyBuilding jobs (#2209)
* don't delete general refs from jobs that we cancel

though we still disconnect the refs if we can

* get job remove working in all cases

we apparently need to manually handle DestroyBuilding jobs
everything else we should let cancel_job handle

* update changelog
2022-06-21 16:38:04 -07:00
quarque2 f33c9bc881
Update tile-material.lua (#2218)
* Update tile-material.lua

* Update changelog.txt

* Update changelog.txt

* Update changelog.txt

* Update tile-material.lua
2022-06-20 12:38:37 -07:00
myk002 88ae50b9ae
update version and changelog to 0.47.05-r6 2022-06-17 15:42:23 -07:00
Myk b361a66a52
ensure our docs build cleanly with sphinx-5 (#2193)
* ensure our docs build cleanly with sphinx-5

* adapt to the API change in sphinx 5

while keeping compatibility with <5

* get rid of the extra colons in field lists
2022-06-17 09:35:31 -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
Rafał ae5b00523e
Add myself to Authors.rst (#2208)
As suggested in: https://github.com/DFHack/scripts/pull/404#issuecomment-1152780958
2022-06-14 00:35:59 -04: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
Timur Kelman 1a629a26bf
add `ItemTraitsDialog` to materials.lua (#2199)
* add `ItemTraitDialog` to materials.lua

* rename `ItemTraitDialog` to `ItemTraitsDialog` (plural)

* Update changelog.txt
2022-06-12 07:03:04 -07:00
Myk 85d7489b3c
ensure refs are cleaned up when we remove a job (#2184)
* ensure job items are disassociated from the job

when the job is removed. the new df-provided ``cancel_job()`` doesn't do
this for us whereas the old custom implementation did.
ref: #2028

* remove trailing whitespace

* Clean up general refs before removing job

Because the game method doesn't do it itself

* Fix typo in var name

* clean up code

* update changelog
2022-06-11 07:38:22 -07:00
Myk 4152be13c7
Simplify bug extlink 2022-06-08 19:02:58 -07:00
myk002 ff373bb9e2 use extlinks where appropriate in docs 2022-06-08 16:53:46 -07:00
lethosor 5e0a947d51
Fix changelog entry and release for #2028 2022-06-06 01:49:23 -04:00
myk002 3928bb67d7 promote gui/quickfort in the library guide
also add a link to the TheQuickFortress online spreadsheets
2022-06-04 20:05:11 -07:00
Myk ed2ba69713
Improvements to dreamfort, quickfort keystroke aliases, and example orders (#2162)
* add alt-f as a hotkey for quickfort

to mimic the existing windows hotkey for the old quickfort
hopefully this will ease the transition from the old quickfort to the
new

* add and document new quickfort aliases

* reduce quantity requirement for dyeing

15 is just too high. the counter counts bags, not units

* dreamfort blueprint improvements

most of these suggested by ldog on the forums. Thanks!
- significantly extend the list of hostile creatures that get stashed in the prisoner quantum stockpile
- send adamantine thread to the metalworker stockpiles
- give from thread/cloth stockpiles to clothier, loom, and dyer to protect the adamantine thread
- automatically create tavern, library, and temple locations (restricted to residents only by default)
- automatically associate the rented rooms with the tavern
- place a stockpile under the dump zone so you can set up stockpile links for dumped items
- doc improvements. in particular, point people to the new assign-minecarts tool for assigning minecarts to quantum stockpile dumps

* update changelog

* fix typo in cloth stockpile settings

* fix typo in guildhall location setup

* don't restrict stockpiles for clothiers and dyers

* deprecate jugs alias and add stone|woodentools

* remove dye thread, make jugs wooden

remove dye thread to protect adamantine
make jugs wooden to differentiate them from scroll rollers. that gives
us a chance to actually have a usable jugs-only stockpile

* dreamfort improvements

- move trap corridor gates and levers before the walls and traps so they get
  constructed first
- give useful names to the craftsdwarf's workshops
- redesign the services level to:
  - fit better in a 1x1 embark
  - add doors to the hospital recovery rooms to protect from
    werebeasts-to-be
  - add an interrogation room (sheriff's office) next to the jail

* shape hospital zone to exactly the hospital area

* don't clutter the hospital with statues

* update changelog
2022-06-02 15:51:45 -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 89d3d45e87
Allow EditField widgets to manage their own activation and keyboard focus (#2147)
* use new focus subsystem in widgets.EditField

* always eat the enter key if we have an on_submit

* add modal attribute

* give EditFields a default height of 1

so they can be autoarranged
2022-06-01 21:48:21 -07:00
Myk ad2d9cad03
[lua] implement keyboard focus subsystem (#2160)
* implement keyboard focus subsystem

* Fix error in focus group combining

* documentation for the inputToSubviews decision

* modify unit tests to catch that last bug
2022-06-01 17:42:13 -07:00
Ryan Williams bc0def4342
MiscUtils word_wrap: Add option to trim only leading whitespace after wrapping (#2169)
* Update changelog.txt
2022-05-30 22:58:46 -04:00
Myk 77d045488b
Confirmation dialog for removing manager orders (#2163) 2022-05-23 21:17:52 -07:00
Myk 8b1070b553
tombstone deteriorate*rb scripts (#2157)
* tombstone deteriorate*rb scripts

* update to scripts head so we can build docs

* fix anchors
2022-05-19 15:27:08 -07:00
myk002 18628ff5b8 make key_sep more configurable
and add more configuration to HotkeyLabel and EditField to take
advantage of it
2022-05-18 16:46:33 -07:00
myk002 53609db1f9 let CycleHotkeyLabels take numeric initial_options
even if all of the option values are non-numeric
2022-05-18 15:39:52 -07:00
myk002 d6df928d69 update changelog 2022-05-13 14:36:49 -07:00
myk002 7439678214 tombstone devel/unforbidall script 2022-05-10 15:37:37 -07:00
lethosor 1203274e9f
Update Authors.rst
This time with missing scripts and df-structures authors since 0.47.04-r1

Just one: DFHack/scripts#339
2022-05-10 00:51:16 -04:00
myk002 585888c2d3
update version, changelog, modules for 0.47.05-r5 2022-05-04 17:21:31 -07:00
Myk 0389637ac8 clean up changelog.txt 2022-05-02 21:54:41 -07:00
lethosor cc20d9fbb7
Update Authors.rst
Checked as far back as 0.47.04-r1.
Oldest missing was chrismdp from before 0.47.05-r3.
2022-05-01 13:35:30 -04:00
Pierre Lulé 876d9132b1
Add a link to the rust library for interacting with the remote API (#2121)
* Add link to the rust api client library

Add a link to https://docs.rs/dfhack-remote/latest/dfhack_remote/index.html a library interacting with DFHack remote API for the Rust programming language

* Use the docs.rs link

* Fix duplicate link label, included the change in the changelog

Co-authored-by: pierre <pierre>
2022-05-01 06:31:59 -07: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
Myk e2fb15a3a5
add dwarfmode.MenuOverlay:renderMapOverlay() (#2119)
* add dwarfmode.MenuOverlay:renderMapOverlay()

* ensure we move with the viewport when bounds_rect is nil
2022-04-29 20:32:22 -07:00
Myk 24dd4d8ac0
Update init files (#2117)
* update example init files

replace onLoad.init-example with documentation on how to create scripts that run on world/map load
it was confusing to show it being loaded with sc-script since it gets autorun anyway if it is just named properly

* update changelog

* add quickfort keybinding

* move standard tweaks from dreamfort init to main
2022-04-29 20:24:09 -07:00
Tachytaenius b9c36c1e63
Added custom-raw-tokens utility (#2038)
* Added (chain) for [CHAIN_METAL_TEXT] armours in gui/materials.lua used by gui/create-item-- again (oops)

* Added customRawData utility

* Oops, whitespace

* Revised rawStringsFieldNames

* Dialed down on lua trickery and fixed wrongly formatted changelog entry

* Fixed changelog in wrong place and made customRawData a proper module

* Fixed not caching not-present tags, revised examples and fixed error

* Fixed whitespace. Changing settings in editor!

* customRawData docs

* Added getCreatureTag for respecting caste tags, "fixed" bizarre caching error (quotes because I don't even know what was causing it) and updated docs

* Added line limiting for docs, I guess

* Added missing string convert argument

* docs indent fix, code block fix, and revision

* Major revision

* gdi, docs error

* Another? But... huh.

* ...

* Made requested changes

* Whoops

* Rearrange docs lines

* Followed example, should fix linter issues

* fix typo. linted offline this time......

* Make it so that last instance of tag is what is read from

* Added requested change

* eventful key change

* i to lenArgs

* change eventful key

* add test for broken caste selection

* Major redesign

* tags --> tokens

* Added plant growth behaviour and did some requested changes

* More error handling

* fix docs

* Added basic error suppression

* Docs clarification.

* Docs registering example and fix error

* Strip errors on frame after onWorldLoad, not on map load

* Revert "Strip errors on frame after onWorldLoad, not on map load"

This reverts commit e20a0ef8d3743f79d961077f46910b77b16f36b9.

* Revert "Docs registering example and fix error"

This reverts commit 9c848c54c3f84e0ecc1dc421137c8a8b4a52280d.

* Revert "Docs clarification."

This reverts commit 6b4b6a1aa40c50398504f37ecf1ff0f93d6459b1.

* Revert "Added basic error suppression"

This reverts commit d11cb1438cf1e56ff700469e944f0b9af64651d7.

* Use more eventful key more consistent with other files

* use onStateChange instead of eventful and remove redundant utils require

* Code review stuff

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

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

* Update docs/Lua API.rst

committing a suggestion

Co-authored-by: Alan <lethosor@users.noreply.github.com>

* Prepend examples with DFHACK_

* Remove unused parameters

* Use new ensure_key global

* Named a couple of unnamed arguments (untested)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Alan <lethosor@users.noreply.github.com>
2022-04-29 08:39:59 -07:00
Timur Kelman f08a268e8a
add scroll icons to Label widget (#2101)
* WIP: add scroll icons to Label widget

It's an opt-out. The icons are rendered in the right-most column of the 1st and last row. They are only rendered when text can actually be scrolled in the corresponding direction.

WIP: Currently, the icons might overlay text characters, there is no mechanism preventing it

* gui.lua: expose the `parse_inset()` function

* refactor Label's scroll icon code

* since `render_scroll_icons` only works with a label, it's now a class function
* `update_scroll_inset` ensures `frame_inset.r` or `.l` is at least 1, according to `show_scroll_icons`
* `show_scroll_icons` has 4 possible values: `false` for no icons, `left` for icons on the first column on the left (also ensuring `frame_inset.l >= 1`), `right` - last column on the right, `DEFAULT_NIL` - same as `right` if text height greater than `frame_body.height`, else same as `false`.

* make `render_scroll_icons` always draw icons

The check now happens in `onRenderFrame`

* draw frame's background

calling `Label.super.onRenderFrame(self, dc, rect)` makes frame's background invisible for some reason

* remove trailing spaces

* fix scroll icons placed far above/below text

 With `Label.frame_inset = 1` the text could be vertically centered with plenty of space below and above,
but not all rendered. Before this change, the scroll icons would be at the very top and bottom of the frame
instead of near the first and last rendered text line.

* always `update_scroll_inset` to react to resized window

* draw scroll icons next to text

* update `Lua API.rst` with new `Label` parameters

* move comment separator up

This way every scroll related parameter is in one group

* list default values for new parameters in docs

* add missing description of `Label.scroll_keys`
2022-04-29 06:55:08 -07:00
myk002 dcadde38d7 add new global function: ensure_key 2022-04-27 17:35:49 -07:00
myk002 6ad362d698
return a reference to the created dialogs 2022-04-27 11:51:46 -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
Nik Nyby fe0b33d9c4 fix typo: equiptment 2022-04-26 17:11:21 -07:00
myk002 ed5523152c
factor text wrapping out of TooltipLabel into WrappedLabel 2022-04-22 09:53:10 -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 2bbe1aa6f5 Alphabetizes job-(material/duplicate) correctly 2022-04-18 17:40:12 -07:00
Josh Cooper f570b5441a Alphabetizes confirm/command-prompt correctly 2022-04-18 17:40:12 -07:00
Josh Cooper 634751a12c Alphabetizes the sections of Plugins.rst 2022-04-18 17:40:12 -07:00
Josh Cooper e7062e2e45 Alphabetizes the "Mods and Cheating" section 2022-04-18 17:40:12 -07:00
Josh Cooper b13b927a70 Alphabetizes the "Map modification" section 2022-04-18 17:40:12 -07:00
Josh Cooper 1c825baac1 Alphabetizes the "Job and Fortress management" section 2022-04-18 17:40:12 -07:00
Josh Cooper e9c0c01364 Alphabetizes the "UI Upgrades" section 2022-04-18 17:40:12 -07:00
Josh Cooper d5c4ad4ccc Alphabetizes the "Bugfixes" section 2022-04-18 17:40:12 -07:00
Josh Cooper 96fa0b4241 Alphabetizes the "Data inspection and visualizers" section 2022-04-18 17:40:12 -07:00
myk002 07761e1d5d add some more handy widgets to the library
TooltipLabel
HotkeyLabel
CycleHotkeyLabel
ToggleHotkeyLabel
2022-04-18 17:37:11 -07:00
Timur Kelman cb123e5076
default unset `frame_inset` values to 0 (#2100)
* default unset `frame_inset` values to 0

This change allows writing `frame_inset = {r=1}` instead of `frame_inset = {l=0, r=1, t=0, b=0}`
2022-04-16 08:17:35 -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 0f464b13b3
Merge remote-tracking branch 'lethosor/pre-commit' into develop 2022-04-12 21:17:15 -04:00
lethosor d1f0edd33b
Apply initial pre-commit config 2022-04-12 14:48:19 -04:00
Myk fd1ee233a2
automatically manage sidebar modes in MenuOverlay (#2083) 2022-04-11 20:58:54 -07:00
Myk 10f22ecc27
add ResizingPanel class and autolayout for Panels (#2086)
* add autolayout for Panels and new ResizingPanel
2022-04-11 18:25:00 -07:00
Myk e6299700bf
Handle punctuation in FilteredList filter matching (#2085)
* allow punctuation to be typed into a filter

and allow the filter to match keys with punctuation
2022-04-11 18:22:31 -07:00
myk002 4a383b1c84 handle number-indexed lua maps in safe_index 2022-04-11 18:02:57 -07:00
Myk 4f9608da13
Document and update argparse module (#2089)
also add unit tests and use new string fns in processArgs and allow it to recognize parameters with two dashes instead of just one
2022-04-11 16:16:55 -07:00
Myk 9a8fd12785
ensure ListBoxes always have enough height (#2084)
so they can always display an error message if the filter doesn't match anything
2022-04-11 16:15:50 -07:00
Myk 96b5b4420b
Add string:escape_pattern() utility function (#2082)
* add string:escape_pattern() to dfhack.lua

stolen from devel/query.lua. will migrate scripts to use the common implementation later
2022-04-10 21:18:01 -07:00
Myk c603d6a9f3 Move docs for include_prefix param to correct function
It was listed under listdir, but it only appears in listdir_recursive
2022-04-08 23:13:10 -07:00
Myk 3aebc6776a Disambiguate Lua API header in plugins 2022-04-06 05:54:20 -07:00
Myk 189da79d10 Document new blueprint phases and options 2022-04-01 20:45:51 -07:00
myk002 54e8761aa0 capture fortifications and engravings in blueprint 2022-04-01 12:20:37 -07:00
myk002 fbd1fac210 document transform behavior for buildings and keys 2022-04-01 11:00:41 -07:00
Myk b8c33d8ed0
[quickfort] add documentation and test data for config mode (#2070)
- documents the new config mode
- adds integration test data for [quickfort] implement config mode scripts#361
- adds a note recommending that config mode be used instead of the quickfort query_unsafe setting
- converts the dreamfort /setup blueprint to use config mode; also adjust the aliases used in that blueprint to no longer escape from and re-enter query mode
- adds some more distinctive anchor names for the quickfort and blueprint guides
2022-04-01 09:21:16 -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
Su 7653c2a932 document that script-paths.txt is only read at startup 2022-03-31 21:20:54 +01:00
Tim Siegel b5af004194
[manipulator] Tweak colors to make cursor easier to locate (#2051) 2022-03-30 23:39:20 -07:00
myk002 e286b2a54d
update changelog 2022-03-30 14:42:37 -07:00
myk002 db5e7d55c1 fix guidm.enterSidebarMode(DesignateMine)
it would end up in DesignateChopTrees if you happened to be looking at
the surface z-level.
2022-03-28 16:57:24 -07:00
myk002 078e732a42 update changelog 2022-03-28 16:00:29 -07:00
myk002 1976288efb quickfort user guide doc refresh
- add docs for negative expansion syntax
- add information on how negative expansion syntax can be used to
  simplify carved track designations
- full editing pass, fixing grammar, typos, formatting, and clarifying text
- added tip about using dig priorities to ensure miners dig one level at
  a time
- add "Dreamfort organization and packaging" section to the dreamfort
  case study
- add inline screenshots for each dreamfort level in the section that
  discusses that level
- fix Links section to use the actual header text of the target links
2022-03-28 16:00:29 -07:00
myk002 f37de835da center uncentered image in blueprint library guide 2022-03-28 16:00:29 -07:00
Tim Siegel ab54cbff7a
[confirm] Fix typo in help message (#2046) 2022-03-23 19:45:13 -07:00
Myk be32e35642
Reword the titles of the various guides (#2041)
so they are more distinct. even I got confused about the difference
between the quickfort library guide (which is about blueprints, but
listing the pre-made onces) and the
quickfort blueprint guide (which is about blueprints, but editing them)
2022-03-21 12:58:17 -07:00
Tachytaenius 19c0a4fe06
Added (chain) for [CHAIN_METAL_TEXT] armours in library/gui/materials.lua used by the gui/create-item script (#2037) 2022-03-19 15:32:16 -07:00
Kelly Kinkade e1961f5fcd
visual studio 2022/2019 build instructions (#2034)
* visual studio 2022/2019

update instructions to recommend using VS 2022 or VS 2019 with downlevel tool support

* reinsert accidentally deleted line

* fix markup

* notes on abi compatibility, changelog
2022-03-17 13:19:12 -07:00
Zishi Wu ce30843b92
update Windows build docs for Visual C++ 2015 (#2032)
* update Windows build docs for Visual C++ 2015

* fixed doc errors / moved changelog entry to future section
2022-03-16 13:10:00 -07:00
Kelly Kinkade 07e96a6a1c Update changelog.txt 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