Myk Taylor
d3ef96cc05
allow MaterialInfo structs to be sorted
2023-03-05 16:32:05 -08:00
Myk
663b014eae
Merge pull request #2682 from 20k/squadwork
...
makeSquad, updateRoomAssignments
2023-02-26 21:40:33 -08:00
Myk Taylor
c513c246a5
more SDL wrapping for stonesense
2023-02-26 21:18:16 -08:00
Myk Taylor
851bb50dc8
add SDL_PushEvent shim for RemoteFortressReader
2023-02-26 21:18:08 -08:00
20k
2bd48f1f90
address some review comments
2023-02-26 18:05:35 +00:00
20k
d84b118767
docs, rework, rename
2023-02-26 18:05:35 +00:00
20k
3912c6290f
Military module start
2023-02-26 18:05:34 +00:00
20k
ce3ee386fd
makeSquad, updateRoomAssignments
2023-02-26 18:05:34 +00:00
Kelvie Wong
f8d94afb7d
Add getSelectedCivZone to dfhack.gui
...
Mostly helpful for my own automation in my custom lua scripts.
Tested it with barracks, meeting areas, and pastures.
2023-02-13 15:22:33 -08:00
Robob27
65f38ec75c
Add isGeldable, isMarkedForGelding, isPet
2023-02-11 05:44:45 -05:00
Roxy
826f918954
remove isHospital as hospitals are no longer civzones
2023-02-06 19:11:00 -05:00
Myk Taylor
9e318842a4
implement some Gui module hotkey guards
...
and clean up focus string matching logic
2023-02-06 00:58:57 -08:00
Myk Taylor
526d7c1726
allow focus string generation to fall through unfocuses ZScreens
2023-02-05 18:01:46 -08:00
Robob27
14f1e4b52f
Per confirm pause maybe?
2023-02-05 19:04:21 -05:00
Robob27
8f32f1ed7b
Fixup focusStrings->focusString
2023-02-05 19:04:21 -05:00
Robob27
a770a4cae4
WIP
2023-02-05 19:04:21 -05:00
Myk Taylor
8c7be9a8c2
don't use negative plant indices
...
and clean up the Kitchen module a bit more
2023-02-02 23:33:24 -08:00
Myk
21f93173c3
Merge pull request #2778 from myk002/myk_halfsies
...
support offset text in graphics mode for pens
2023-02-01 17:50:24 -08:00
Myk
7468170751
Merge pull request #2771 from myk002/myk_seedwatch
...
update seedwatch
2023-02-01 17:49:57 -08:00
Myk Taylor
58be8cfd69
support offset text in graphics mode for pens
2023-02-01 17:39:32 -08:00
Myk Taylor
aae5d5f411
reduce diff in Kitchen.h
2023-02-01 04:28:07 -08:00
Myk Taylor
be40d55e64
update seedwatch
2023-02-01 04:03:28 -08:00
Myk Taylor
aa22917aeb
add new control panel textures
2023-01-31 23:52:30 -08:00
Myk
274e995790
Merge pull request #2747 from myk002/myk_on_off
...
Add new on/off icons
2023-01-29 16:55:01 -08:00
Myk Taylor
1c6235633f
add dfhack.units.getCitizens()
2023-01-29 16:28:05 -08:00
Myk Taylor
c2d6debcd8
add on/off light textures and expose to lua
2023-01-29 00:35:29 -08:00
Myk
99d1ed6828
Merge branch 'develop' into myk_no_inception
2023-01-28 11:58:37 -08:00
Myk Taylor
863ca2ca65
solve the inception problem
...
where hideGuard smashes the viewscreen stack with multiple insertions
for the same screen
2023-01-28 08:02:46 -08:00
Myk Taylor
22dd49ce38
remove "room" checking for buildings -- there is no room
2023-01-27 13:38:21 -08:00
Myk Taylor
9aaa55cd7f
add textures and frames for various use cases
2023-01-23 03:58:51 -08:00
20k
598354d9d4
getbiometype naming, docs
2023-01-21 20:33:40 +00:00
Myk
310940e1a2
Merge branch 'develop' into Autoclothing
2023-01-20 14:05:26 -08:00
20k
8b7c8d83b5
remove save fixup
...
Add notifyCivzoneModified
2023-01-19 21:55:20 +00:00
Rose
0e021e392d
Added a report to autoclothing, as well as some changes to DFHack::Units to enable it.
2023-01-13 21:20:01 -08:00
Myk Taylor
ac06508d92
add some more icon textures we can use
...
contributed by TaxiService on the DFHack Discord server
2023-01-12 21:04:41 -08:00
Myk Taylor
079d5e4178
support foreground and background writing from pens
2023-01-12 12:30:07 -08:00
Myk Taylor
2234328a91
use an actual pin texture for ZScreen pins
2023-01-09 00:47:13 -08:00
Myk Taylor
6f46ae672e
add Gui::getDFViewscreen and Lua binding
2023-01-06 12:17:36 -08:00
Myk Taylor
1934014659
framework for passthru, z-order swapping windows
2023-01-05 18:07:38 -08:00
Myk Taylor
5e5775f5e3
rename globals according to structures update
2023-01-05 17:11:01 -08:00
Myk Taylor
4e51e02924
move SDL shims to a new DFSDL module
2023-01-04 17:15:32 -08:00
Myk Taylor
5d04b9c4cb
add Textures module and load DFHack logo
...
undocumented for now since it's internal. in the future, perhaps this
could morph into a dynamic texture loading facility for tools
2023-01-04 13:30:18 -08:00
Myk Taylor
7d5d2d0a9b
clear out obsolete area map and menu logic
...
in particular, return the correct map dimensions in getDwarfmodeDims()
2022-12-31 22:49:30 -08:00
Myk Taylor
48a9e1c518
more new var names
2022-12-22 05:16:40 +00:00
Myk Taylor
839e927f9b
comment out problematic code from Renderer
2022-12-21 14:06:58 -08:00
Myk Taylor
768c95ecb6
absorb Putnam's work on Screen
2022-12-16 14:47:43 -06:00
Myk Taylor
ccc9e976e2
comment out problematic code in Screen.cpp
2022-12-16 14:47:43 -06:00
Tachytaenius
0836962007
Rename [xyz]CategoryActionTimers to [xyz]GroupActionTimers in action timer API
2022-12-01 23:24:04 +00:00
Tachytaenius
ae532e1452
Rename affectedActionTypeCategory to affectedActionTypeGroup in action timer API
2022-12-01 23:22:02 +00:00
Tachytaenius
76cdbfbc5c
Rename affectedActionCategory to affectedActionTypeCategory in action timer API
2022-12-01 23:19:10 +00:00
Tachytaenius
f06f17b59c
Rename affectedActionTypes to affectedActionCategory in action timer API
2022-12-01 23:17:57 +00:00
Tachytaenius
a925c34413
Rename [xyz]ActionTimer functions to [xyz]ActionTimers
2022-12-01 13:34:54 +00:00
Tachytaenius
f863b9807a
Add action timer API input validation
2022-12-01 13:34:54 +00:00
Tachytaenius
8f0b7663d9
Change ints in action timer API function signatures to int32_ts
2022-12-01 13:34:54 +00:00
Tachytaenius
7f54a77ed9
Continue work on unit action timer API
2022-12-01 13:34:54 +00:00
Tachytaenius
16ef4f8313
Rename action_type_group to unit_timer_action_type_group
2022-12-01 13:34:54 +00:00
Tachytaenius
fa589b5764
Make progress with action timer API
2022-12-01 13:34:54 +00:00
Tachytaenius
0f8ce360ac
Make first pass of action timer API
2022-12-01 13:34:54 +00:00
Myk
11c27d40dd
Merge branch 'develop' into Bumber64-patch-2
2022-11-18 17:34:00 -08:00
Josh Cooper
aa5c6515e0
Removes rogue indent
2022-11-13 11:39:20 -08:00
Josh Cooper
78021ec672
Adds indentation
2022-11-13 11:35:01 -08:00
Josh Cooper
d112649886
Organizes and documents Units::is*(unit) functions
2022-11-12 16:40:20 -08:00
Josh Cooper
ebd450af0e
Adds isUnitInBox to Units module
2022-11-12 14:42:41 -08:00
Josh Cooper
34de030ba9
Units module
...
- Updates `Lua API.rst`
- Only adds the most important additions (complicated enough to need explaining)
- Adds new functions to LuaApi.cpp
- Revises isUndead to accommodate `dfhack.units.isUndead(u)` => `Units::isUndead(u, false)` instead of taking the default value
2022-11-09 22:03:39 -08:00
Josh Cooper
80824f5b75
Extends Units module
2022-11-09 14:41:45 -08:00
Josh Cooper
beee445f6f
Extends Units module
...
Adds unit check functions for
- animals
- demons
- titans
- megabeasts
- semimegabeasts
- night creatures
2022-11-09 11:44:28 -08:00
myk002
666edd6d60
don't overwrite dig priority by accident
...
many callers of setDesignationAt simply didn't bother with the priority
parameter. change the default value of the priority param so that by
default we will keep the previous value instead of overwriting it
2022-10-19 16:47:54 -07:00
Tachytaenius
ded5f483d6
Fix issues in construction module
2022-10-12 21:32:27 +01:00
Myk Taylor
215a5b0a24
add Gui::getMousePos() that always gets map coords
2022-09-18 08:19:02 -07:00
myk002
d0a5db2a0d
set sentinel value used by TWBT
2022-09-16 21:56:05 -07: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
Ryan Williams
b0b601cf0f
Remove recenterViewscreen, update revealInDwarfmodeMap
2022-06-04 11:59:04 -07:00
Ryan Williams
0ff0d272b5
use static instead of anon namespace; suggested changes
2022-05-30 13:51:24 -07:00
Ryan Williams
1c3ea000e1
Trim trailing whitespace
2022-05-28 15:56:49 -07:00
Ryan Williams
4b21e7afb4
Remove parseReportString from API (now utility fn)
...
Implementations using `word_wrap()` are commented out pending changes to that function.
2022-05-24 03:52:33 -07:00
Ryan Williams
ce34ac8f33
Use debugfilter; remove redundant changelog entries
2022-05-16 18:41:47 -07:00
Ryan Williams
f565de88e8
Fix stuff ( #4 )
...
* Update Lua API.rst
* Update Gui.h
* Update Gui.cpp
* Update LuaApi.cpp
2022-05-01 22:53:53 -07:00
Ryan Williams
89ed9950c7
Update Gui.h
...
Added parseReportString, which parses a string using '&' as a control character (&r as newline, && as &) and cuts to a certain length w/o splitting words.
Added autoDFAnnouncement, which takes a report_init and a string, and handles them like DF does.
Added variants to log unprinted announcements and to build the report_init from arguments.
Added pauseRecenter, which recenters on an xyz coord (item style, not unit) and optionally pauses, while respecting pause_zoom_no_interface_ms.
Added variant that takes a pos.
Added recenterViewscreen, which recenters on an xyz coord using a report zoom style (item, unit, generic. revealInDwarfmodeMap calls "unit" style "center". Generic style ignores coords and just enforces valid view bounds.)
Added variants that take pos or use current cursor coords.
2022-04-24 22:32:41 -07:00
Josh Cooper
9c9a7ef99a
Adds consistent interface signatures for Maps module
2022-04-21 19:40:58 -07:00
Josh Cooper
251f4f92c8
Fixes build errors
2022-04-18 23:53:23 -07:00
Josh Cooper
d6b2629cfc
Adds hash functions and operator overloads for event data structures
2022-04-18 23:53:23 -07:00
lethosor
d1f0edd33b
Apply initial pre-commit config
2022-04-12 14:48:19 -04: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
b18eff9ce2
Revert EventManager to previous behavior, but keep new events
...
Fixes #2031
2022-03-29 09:42:24 -07:00
Ryan Williams
88b403ec7a
Add functions reverse-engineered from ambushing unit code ( #1992 )
...
* Add functions reverse-engineered from ambushing unit code
* Fix whitespace
* Fix debug_showambush check
* Remove getOuterContainerRef from Lua API
Don't think this works properly without allocating a new specific_ref. More trouble that it's worth.
* Fixed tile visibility check
* I don't think gamemode or gametype are ever NULL
* Minor tweaks to documentation
* Reimplement getOuterContainerRef for Lua; fix some comments
* Update Units.cpp and changelog
* Update Units.cpp
* Update changelog.txt
2022-03-13 17:19:35 -07: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
fb51e2d8b5
Adds comments to members of EventHandler
2022-03-12 11:33:27 -08:00
Josh Cooper
24255d3195
Adds event type JOB_STARTED
2022-03-12 11:33:27 -08:00
Josh Cooper
f5ced46608
Refactors EventManager
...
- handler freq now works on an individual handler basis (set to 0 to fire as frequently as possible)
- tick events no longer need to be re-registered after every eventful tick
2022-03-12 11:33:27 -08:00
myk002
5b960b97bc
fix comment for Maps::getSize(); add getTileSize()
2021-07-30 13:09:12 -07:00
Ryan Williams
c5fb28a13c
Rename getPlantAtCoords to getPlantAtTile
2021-06-23 23:00:30 -07:00
Ryan Williams
d81de5e4c7
Add getPlantAtCoords function to Maps namespace
...
Derived from disassembly of DF code. Returns a pointer to plant struct that owns the tile at position. Useful for finding a tree from one of its branches. Lua API support.
2021-06-22 20:01:10 -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
aff5c9bf35
add getCursorCoords overload for df::coord
...
and factor out active cursor detection
2021-05-15 12:05:00 -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
myk002
6819ee9928
make alchemist flag valid for controllable civs
2021-02-05 16:45:39 -08:00
myk002
3ba984c22c
only reset extents if they are unusable
...
this allows callers of Buildings::setSize() to "pre-initialize" the
extents to declare non-rectangular structures. this allows quickfort to
create non-rectangular stockpiles, farm plots, zones, etc. the extents
are still reset as before if the size of the building doesn't match the
caller's expectations.
this commit also fixes a memory leak when setSize() allocates memory for
extents, but the memory is not deallocated if the building is ultimately
invalid for some reason.
2020-12-16 11:10:47 -08:00