Commit Graph

3691 Commits (21f137644f47d0c8550268f86cc8e23de2ff7bd0)

Author SHA1 Message Date
Myk Taylor 93b8479e94 comment out problematic code in Buildings.cpp 2022-12-16 14:47:43 -06:00
Kelly Kinkade 7fae0fe44f structures 2022-12-15 21:19:40 -06:00
Kelly Kinkade 9587dd42f8 structures update 2022-12-15 19:56:17 -06:00
Kelly Kinkade e6d8f06965 update structures 2022-12-15 19:27:52 -06:00
Myk 42203b13f4
Merge pull request #2500 from myk002/myk_panel_drag
Support resizing for DFHack Panel widgets
2022-12-15 14:36:33 -08:00
Kelly Kinkade a07d8c3b15 updates to do test builds of 50.03 2022-12-15 03:35:57 -06:00
Myk Taylor 06346c6269
implement double clicking on the title to maximize
also double click on a maximized window to jump to the minimum size
the location of the window isn't guaranteed to be the same after
maximizing and un-maximizing, but we could implement that if there is
call for it.
2022-12-14 19:03:38 -08:00
Myk Taylor 434e9322cc
fix error in error message formatting 2022-12-14 17:51:07 -08:00
Myk Taylor 4c6daf30d9
add widgets.Window and fix paint_frame offset 2022-12-14 12:04:29 -08:00
Myk Taylor 12e62c7f9d
highlight anchor point when resizing with keyboard 2022-12-14 10:34:06 -08:00
Myk Taylor c030704705
implement panel resizing 2022-12-14 10:34:04 -08:00
Myk Taylor 99b599e9ab
add docs for panel dragging 2022-12-13 13:01:49 -08:00
Myk Taylor 3f43f72731
fix the math 2022-12-13 12:39:17 -08:00
Myk Taylor 38a3bec953
dragging logic 2022-12-12 18:07:05 -08:00
Kelly Kinkade 0b80bd41b0 partial update to build with vs2022 2022-12-12 03:06:36 -06:00
Myk Taylor ffd646462a
ensure `enable` doesn't miss newly-added scripts
and add some more documentation
2022-12-10 22:13:38 -08:00
myk002 e88b1fdfe5
move script-manager into core 2022-12-10 21:59:51 -08:00
myk002 0362d76b39
list enableable scripts in the `enable` builtin 2022-12-10 21:59:51 -08:00
Myk Taylor facdb61e42
explicitly declare namespaces and proto versions 2022-12-10 18:06:53 -08:00
Myk Taylor 6c562a3fed
fix apparent typo in Materials scanning 2022-12-09 09:21:50 -08:00
myk002 dec6d3d379
Revert "update google protobuf to 3.21.10"
This reverts commit 9dabf51ac7.
2022-12-07 11:59:48 -08:00
myk002 9dabf51ac7
update google protobuf to 3.21.10 2022-12-07 11:59:15 -08:00
DFHack-Urist via GitHub Actions e1330a602e Auto-update submodules
library/xml: master
scripts: master
2022-12-06 07:14:43 +00:00
myk002 2b87307e11
allow visible and active to be dynamic properties 2022-12-04 15:46:19 -08:00
DFHack-Urist via GitHub Actions 08b579cf44 Auto-update submodules
library/xml: master
scripts: master
2022-12-02 17:45:32 +00: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 aa2cf44c4b Use lambdas to violate DRY less in action timer API 2022-12-01 13:34:54 +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 cc40b80456 Protect against integer overflow when subtracting with action timer API 2022-12-01 13:34:54 +00:00
Tachytaenius 6148307e9b Change != 0 to > 0 in action timer API core functions 2022-12-01 13:34:54 +00:00
Tachytaenius 5e0c0d22cb Group action timer API internal functions together 2022-12-01 13:34:54 +00:00
Tachytaenius e93d7eefb3 Factor out set and add shared action timer code into own functions 2022-12-01 13:34:54 +00:00
Tachytaenius 357b871b4f Factor out shared unit action timer multiplication code into its own function 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 4b33097e57 Remove default in action timer API switch case 2022-12-01 13:34:54 +00:00
Tachytaenius a3b1125c28 Progress on action timer API 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 2cbbed6750 Use df-structures XML enums for action timer API 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
DFHack-Urist via GitHub Actions d14a3f4970 Auto-update submodules
library/xml: master
scripts: master
2022-12-01 00:57:53 +00:00
Myk 018bf712d5
Merge pull request #2429 from cppcooper/patch-3
Updates Units::isAnimal
2022-11-29 18:43:04 -08:00
Myk 9038c1c568
Merge pull request #2437 from myk002/myk_ctest
Combine unit testing branches and simplify
2022-11-29 15:07:47 -08:00
Myk aac89d4942
Merge branch 'develop' into myk_default_search_key 2022-11-29 15:07:12 -08:00
Myk 5b311163a9
Merge pull request #2431 from myk002/myk_widget_fixes
fix minor errors in ResizablePanel, Label, and HotkeyLabel widgets
2022-11-29 15:06:15 -08:00
Myk 757aa303b7
Update library/MiscUtils.test.cpp
Co-authored-by: Josh Cooper <cppcooper@users.noreply.github.com>
2022-11-29 15:05:04 -08:00
Josh Cooper 807894ac6c Updates Units::isAnimal
Now checks that the unit cannot learn or speak, and has either a wilderness population source, a pet/pet_exotic token, or is trainable for war/hunting
2022-11-29 13:19:19 -08:00
myk002 d0a6a3e930
remove unnecessary target modifications 2022-11-28 17:43:55 -08:00
myk002 88074dacf0
move tests into the same dir as the main files 2022-11-28 17:31:10 -08:00
myk002 7fbeb215d7
Merge branch 'myk_unit_testing' into myk_ctest 2022-11-28 17:26:27 -08:00
myk002 f921b02a1b
Merge remote-tracking branch 'cppcooper/unit-testing' into myk_ctest 2022-11-28 17:25:10 -08:00
myk002 ae035d5836
simplify unit testing setup 2022-11-28 17:16:48 -08:00
myk002 726771c8d3
supply default search key for tokenized text 2022-11-28 16:02:47 -08:00
myk002 adb9c5ea12
fix frame size calculation when frame_inset is set
also fix error when clicking on HotkeyLabels where no on_activate
callback has been set
2022-11-28 15:12:22 -08:00
myk002 fb6483fe6c
allow frames to be drawn without DFHack signature 2022-11-28 15:04:28 -08:00
Josh Cooper 25f87306b4 Removes separated unit test executables 2022-11-25 09:43:04 -08:00
Josh Cooper 79551f7ef0 Updates CMake TESTING vars 2022-11-25 09:43:04 -08:00
Josh Cooper de91fa7f28 Adds -Wno-sign-compare to test targets 2022-11-25 09:43:04 -08:00
Josh Cooper 268719ed1f Integrates googletest 2022-11-25 09:43:04 -08:00
Tim Siegel 8e18d610f5 cmake: Add SDL dep for Linux dfhack; deprecate BUILD_TESTS
On Linux, libdfhack.so depends on libSDL.so, but that was not marked
inside CMake. As it's only used via LD_PRELOAD, there was no problem.
But when linking unit tests against it, this becomes necessary. It may
be wise to add a find_package(SDL) to provide the user with more
control, but just a hard-coded "SDL" should work for most installs.

The CTest module creates a BUILD_TESTING option, which clashes
(thematically, not in code) with the existing BUILD_TESTS option.
Resolve it thus:
- Deprecate BUILD_TESTS; it still works, but is marked as an advanced
  option so it doesn't show in the CMake UI by default.
- Add a new BUILD_TEST_SCRIPTS that does what BUILD_TESTS used to do,
  but is a "dependent" option so it goes away if BUILD_TESTING=OFF.

The up-shot is that, by default, the C++ unit tests will be built
(BUILD_TESTING=ON) and the Lua integration tests are not installed
(BUILD_TEST_SCRIPTS=OFF).
2022-11-25 09:43:04 -08:00
Tim Siegel face558dd0 unit testing: Link test executables against libdfhack
Note: Hard-coded "SDL" here is wrong, but requires some refactoring in
top-level CMakeLists.txt to fix.
2022-11-25 09:43:04 -08:00
Tim Siegel c5be87e381 unit tests: Add CTest support, and a trivial first unit test
If BUILD_TESTS=ON:
- Adds a 'test' target for ninja
- Adds a library/MiscUtils.test unit test executable
2022-11-25 09:43:04 -08:00
myk002 c9cf5ecca8
we kept editfield as MOUSE_L for click and drag 2022-11-21 17:51:24 -08:00
myk002 24dc879888
adapt library code to newly correct mouse events 2022-11-21 17:36:46 -08:00
myk002 e2218d0429
make mouse button event behavior conform to docs
before, when a mouse button was held down, we'd send a single _MOUSE_L
and _MOUSE_L_DOWN event and that's it. now we properly send a single
_MOUSE_L_DOWN event and _MOUSE_L events for as long as the button is
held down. similar for the right mouse button
2022-11-21 17:35:14 -08:00
myk002 0190cfb117
ensure foo.init runs before foo.*.init 2022-11-20 17:27:14 -08:00
Myk ac5a1d35ae
remove duplicate function definition 2022-11-18 17:39:49 -08:00
Myk 11c27d40dd
Merge branch 'develop' into Bumber64-patch-2 2022-11-18 17:34:00 -08:00
DFHack-Urist via GitHub Actions acd561ec9c Auto-update submodules
library/xml: master
scripts: master
2022-11-18 20:59:44 +00:00
DFHack-Urist via GitHub Actions 822a1c8359 Auto-update submodules
library/xml: master
scripts: master
2022-11-15 07:17:03 +00:00
Myk 966623a919
Merge pull request #2387 from cppcooper/units-checking
Extends Units module
2022-11-14 16:55:42 -08:00
myk002 94c6bc8063
refactor generic lua function caller to Lua ns 2022-11-14 16:40:35 -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 7e1bdb5302 Matches Units.h ordering in LuaApi.cpp 2022-11-12 17:05:11 -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
Myk afe85137c3
Merge branch 'develop' into cmake-ctest 2022-11-12 11:50:33 -08:00
Myk 5136bbbc03
Merge pull request #2383 from cppcooper/em-fixes
Fixes JOB_STARTED event
2022-11-11 19:58:46 -08:00
myk002 5b1ebdf72a
don't return list idx when mouse is on scrollbar 2022-11-11 10:40:10 -08:00
DFHack-Urist via GitHub Actions 4d97c90f53 Auto-update submodules
library/xml: master
scripts: master
2022-11-10 07:18:00 +00: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 f3ae193914
Update EventManager.cpp 2022-11-09 16:49:35 -08:00
Myk eac7fac8e9
Merge pull request #2389 from myk002/myk_gui_anywhere
[Gui] add "anywhere" keybinding guard
2022-11-09 15:48:04 -08:00
Josh Cooper 80824f5b75 Extends Units module 2022-11-09 14:41:45 -08:00
myk002 0344595e4e
add "anywhere" keybinding guard 2022-11-09 14:32:51 -08:00
Josh Cooper c0ffcc2f79 Updates Units::isDemon() 2022-11-09 12:37:41 -08:00
myk002 d95a5ac238
add string_to_int to MiscUtils.h 2022-11-09 11:55:29 -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
Myk ccd43f1710
Merge pull request #2381 from myk002/myk_framed_panel
[widgets.Panel] support frames around panel widgets
2022-11-09 10:32:23 -08:00
Myk 9fed02435e
Merge pull request #2378 from myk002/myk_list_mouse
Allow widgets.List to report hover target and respond to shift-click
2022-11-09 10:32:06 -08:00
Myk 4924fd0d52
Merge pull request #2377 from myk002/myk_gui_convenience
Make View:getMousePos() and Screen:show() a bit more flexible
2022-11-09 10:31:58 -08:00
Myk f2a386f0e1
Merge pull request #2375 from myk002/myk_uicommon
Move generally useful string functions from uicommon to MiscUtils
2022-11-09 10:31:50 -08:00
Josh Cooper 92645ccb5b Fixes JOB_STARTED event 2022-11-08 12:43:23 -08:00
Myk 22eb9ca8b3
Merge pull request #2380 from myk002/myk_instrument_keybinding
instrument core keybinding resolution
2022-11-08 10:16:13 -08:00