lethosor
125f4b129b
Add ref_target attribute to primitive field references
2020-04-09 00:02:07 -04: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
Ben Lubar
509755d726
update structures
2020-04-07 16:08:19 -05:00
Ben Lubar
6b810b97a0
DataDefs.h can have little a documentation
2020-04-07 13:46:44 -05:00
Ben Lubar
c8e63cf7a6
update structures
2020-04-07 10:17:01 -05:00
lethosor
f83fee86de
Make pairs(df.type) return class methods
2020-04-06 19:12:53 -04:00
lethosor
cc2a5acdd3
Update xml, authors
2020-04-05 23:29:53 -04:00
PatrikLundell
a0e2abe20a
Units update need coordination with structure identity
2020-04-04 14:00:26 +02:00
lethosor
c8a0ac146c
Update submodules, changelog, CMakeLists, Authors
2020-04-04 01:36:52 -04:00
lethosor
eb4cfcec90
Update xml
2020-04-04 00:36:02 -04:00
lethosor
1024f39a26
Update submodules
2020-04-02 01:47:53 -04:00
PatrikLundell
63a26b987d
Fix issue #1528
2020-04-01 11:16:24 +02:00
lethosor
4844ff5071
Update submodules
2020-04-01 00:25:12 -04:00
Ben Lubar
ffe73028f9
update structures
2020-03-30 10:36:45 -05:00
lethosor
6c00ace68b
Merge branch 'develop' of gh:DFHack/dfhack into develop
2020-03-30 03:03:00 -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
52cf892383
update structures and scripts
2020-03-29 14:08:30 -05:00
lethosor
6eb73d9046
Fall back to stdout if tty fails to open
...
May help with #1477
2020-03-28 13:14:03 -04:00
lethosor
b6e0d3f73d
Update xml
2020-03-28 01:36:41 -04:00
lethosor
67908e0f53
Console-posix: Reset color on shutdown
...
Ensures that dfhack-run doesn't leave behind a colorful prompt
2020-03-25 00:30:12 -04:00
lethosor
65a7db44be
Update xml, scripts
2020-03-24 01:28:02 -04:00
lethosor
24ceff8f7d
Update xml, scripts
2020-03-23 00:49:57 -04:00
lethosor
49fcb29097
Update xml, scripts
2020-03-22 17:24:39 -04:00
Ben Lubar
b67de60a9b
update structures
2020-03-22 12:36:19 -05:00
Ben Lubar
0b69f98561
update structures
2020-03-22 12:22:43 -05: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
Ben Lubar
5b8952baf8
ghidra: handle destructor ABI differences
2020-03-21 08:53:11 -05:00
Ben Lubar
b2940b69f8
update structures
2020-03-21 07:49:22 -05:00
lethosor
77e40a52c0
Update scripts, xml, authors
2020-03-21 02:02:00 -04:00
Ben Lubar
37e7bed779
add df.global:_field method. add test case to check for overlapping globals.
2020-03-20 09:41:58 -05:00
Ben Lubar
d28b35b6eb
update structures
2020-03-15 15:29:02 -05:00
Ben Lubar
2f4bd32d28
update structures and scripts
2020-03-15 15:19:51 -05:00
Ben Lubar
60722d778f
update structures and scripts
2020-03-15 02:17:19 -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
1a4c4a5f33
update structures
2020-03-12 14:03:23 -05:00
Ben Lubar
f204f14e52
update scripts and structures
2020-03-12 12:53:24 -05:00
Ben Lubar
2a6b2cacbd
update scripts and structures
2020-03-12 12:34:57 -05:00
Ben Lubar
b9841110c3
update structures and scripts
2020-03-09 17:53:34 -05:00
Pierre-David Bélanger
a7d263fa67
getFullName of the container AND the item, also exclude container of char ( #1515 )
...
* getFullName of the container AND the item, also exclude container of char
* bit vector condition was backwards
2020-03-09 13:12:04 -05:00
Ben Lubar
ffb3c29cfc
simplify Graphic module. update structures.
...
it appears that all this added complexity including an extra pointer dereference was to avoid including the vector header.
2020-03-08 00:12:48 -06:00
Ben Lubar
c4e9c8d29c
update structures
2020-03-07 15:15:02 -06:00
Ben Lubar
5f83681fbc
update scripts and structures
2020-03-07 12:08:03 -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
508ab79af2
document where tagged unions should be implemented for Lua
2020-03-06 16:33:02 -06:00
Ben Lubar
635e709d95
name ui_look_list union
...
update scripts and structures
2020-03-06 16:06:27 -06:00
Ben Lubar
fa574cfbec
allow dfhack-run to output colors.
...
refactor Console-posix to avoid having a parameter equivalent to not calling the function at all.
2020-03-06 15:02:03 -06:00
Ben Lubar
885fa541fd
update structures
2020-03-05 00:06:32 -06:00
Ben Lubar
84cae060b1
move find_union_tag from check-structures-sanity to DataDefs.h
2020-03-04 18:23:49 -06:00
Ben Lubar
08e1fe1f02
update structures
2020-03-03 22:42:40 -06:00
Ben Lubar
6d15d349bc
update structures
2020-03-03 21:45:13 -06:00
Ben Lubar
676e73d477
update structures
2020-03-02 23:59:55 -06:00
Ben Lubar
e356925795
update structures
2020-03-02 23:12:03 -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
66ded03bc1
update structures
2020-03-02 20:41:13 -06:00
Ben Lubar
4da0a761ea
update structures
2020-03-02 18:36:28 -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
102fedc2ff
update structures
2020-03-01 00:20:31 -06:00
Ben Lubar
dc5ef1fe58
update structures
2020-02-29 20:11:41 -06:00
Ben Lubar
aaace29e11
update structures
2020-02-29 18:29:32 -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
94e818fd53
reference union_identity in the df namespace
2020-02-29 13:26:42 -06:00
Ben Lubar
3ddbb5cec1
fix typo
2020-02-29 13:24:12 -06:00
Ben Lubar
a30678cee3
subclass struct_identity for unions
2020-02-29 13:11:23 -06:00
lethosor
196f4d3c06
Update submodules
2020-02-27 18:54:30 -05:00
nicolasayala
141928ead0
Fix gui.FilteredList widget search on plain string choices
2020-02-27 07:56:30 +01:00
Ben Lubar
92eb8b058b
update scripts and structures
2020-02-26 12:10:15 -06:00
Ben Lubar
e26787604a
update structures
2020-02-24 12:16:59 -06:00
Ben Lubar
f6f5d54f9d
update structures
2020-02-24 10:20:32 -06:00
Ben Lubar
1f34c813c8
update structures
2020-02-24 10:13:46 -06:00
Ben Lubar
8a4eac3d3e
Merge pull request #1503 from TymurGubayev/dev/minor-improvement/dfhack-lua/printall_recurse
...
allow custom filter in calls to `dfhack.printall_recurse`
2020-02-24 10:05:28 -06:00
Ben Lubar
546178bc56
update structures
2020-02-24 03:03:58 -06:00
Ben Lubar
e9564a28f5
allow tagged unions to not be union followed by tag
2020-02-23 21:33:32 -06:00
Timur Kelman
1d8998de22
allow custom filter in `dfhack.printall_recurse`
...
Objects with links like `job` output way too much. With this change, it's possible to provide an optional filter and exclude the `list_link`.
```
[lua]# j = dfhack.gui.getSelectedJob()
[lua]# printall_recurse(j, {[tostring(j.list_link)]=true, [tostring(j.pos)]=true})
```
2020-02-23 16:57:57 +01:00
Ben Lubar
1e3e3829a7
update structures
2020-02-22 23:36:14 -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
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
Ben Lubar
14eade3886
update structures
2020-02-21 02:52:56 -06:00
Ben Lubar
eb35ff9b47
update structures
2020-02-21 02:31:37 -06:00
Ben Lubar
f708bb5cff
update structures
2020-02-21 01:41:05 -06:00
Ben Lubar
38410544b0
handle tagged unions in check-structures-sanity
...
update structures
2020-02-20 22:17:25 -06:00
Ben Lubar
903f829e30
update structures
2020-02-20 20:19:50 -06:00
Ben Lubar
1beb0f417e
update structures
2020-02-20 17:44:24 -06:00
Ben Lubar
f81587bd82
update structures
2020-02-18 21:05:54 -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
c43c9de477
update structures
2020-02-18 16:33:24 -06:00
Ben Lubar
fce52866c7
update structures
2020-02-17 22:43:12 -06:00
Ben Lubar
91771f9c64
update structures
2020-02-17 22:02:25 -06:00
lethosor
28bf6667cb
Update xml
2020-02-16 21:22:31 -05:00
Ben Lubar
a703e2b2fc
update structures
2020-02-16 19:02:36 -06:00
Ben Lubar
b033a215bd
update for Dwarf Fortress 0.47.03
2020-02-16 18:48:27 -06:00
Ben Lubar
4e42da9e4f
update structures
2020-02-16 10:36:06 -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
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
bc5b0a6dd0
update structures
2020-02-15 02:58:00 -06:00
Ben Lubar
99ccc55d65
update structures
2020-02-15 01:23:26 -06:00
Clément Vuchener
c2584d615c
Define MapExtras::BiomeInfo::MAX_LAYERS ( #1496 )
...
Definition is required even for constexpr variables in some compilation
setups (e.g. debug builds).
2020-02-15 01:22:58 -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
f7f7bd7ca7
update structures
2020-02-13 21:23:42 -06:00
Ben Lubar
69c4f5c972
update structures
2020-02-13 02:12:26 -06:00
Ben Lubar
8fe950f815
update structures
...
sizecheck no longer segfaults on the medium world
2020-02-13 00:52:00 -06:00
Ben Lubar
3996189f9f
update structures and scripts
2020-02-12 23:52:58 -06:00
Ben Lubar
e9a295c788
update structures
2020-02-12 19:00:18 -06:00
Ben Lubar
b754192f2d
update structures
2020-02-12 16:18:05 -06:00
Ben Lubar
ddc3cfcfbc
update structures
2020-02-12 13:34:04 -06:00
Ben Lubar
7bb921be19
update structures
2020-02-12 11:35:58 -06:00
Ben Lubar
3c9f6f79ab
fix some warnings
2020-02-10 19:35:17 -06:00
Ben Lubar
7b9ea1f1b6
update structures
2020-02-10 18:23:57 -06:00
Ben Lubar
69611ab325
exit if a fatal startup error is encountered while in headless mode ( #1491 )
2020-02-09 18:05:09 -06:00
Ben Lubar
5b56125ad6
update structures
2020-02-08 23:02:25 -06:00
Ben Lubar
b375586b67
Update to DF 0.47.02
2020-02-07 16:00:53 -06:00
Ben Lubar
0243e422e5
Allow plugins to define subclasses of dfhack_viewscreen that have their own virtual_identity.
2020-02-07 16:00:14 -06:00
Ben Lubar
5db7d518ee
update structures; fix some minor compile warnings
2020-02-05 12:35:43 -06:00
Ben Lubar
321d948f8d
Fix crash on missing symbols.
...
Fixes #1487 .
2020-02-03 20:21:10 -06:00
Ben Lubar
9c52b4e5e6
update structures
2020-02-02 17:31:01 -06:00
Ben Lubar
dfc90fe660
Update df-structures and scripts.
2020-02-02 17:10:11 -06:00
Ben Lubar
62e3802d26
Update to DF 0.47.01
2020-01-29 14:51:48 -06:00
PatrikLundell
121497a466
Propagated getBookTitle to Lua
2020-01-26 11:47:47 +01: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
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
bb9bc4e353
Update submodules
2020-01-18 18:52:32 -05:00
Ben Lubar
96d8dffd32
Make dfhack.run_command return the command_result value.
...
Rename local variables to match dfhack.run_command_silent for clarity.
2020-01-14 17:53:52 -06:00
lethosor
47fa9e1159
Update authors, submodules
2020-01-13 23:35:31 -05:00
lethosor
5eca50476e
Merge remote-tracking branch 'nornagon/unit-description' into develop
2020-01-13 23:31:23 -05:00
Ben Lubar
be5dc2d4a4
Make Units::isGay act consistently when called on an asexual unit.
...
The function appears to be used to determine whether heterosexual relationships are possible, so asexual units will always return true for isGay.
Old behavior was to treat asexual units as male.
2020-01-09 14:48:30 -06:00
Jeremy Apthorp
5de368a1ed
unit_{=> get_}physical_description
2020-01-04 22:17:03 +11:00
Jeremy Apthorp
7644dde9e4
default to empty description if symbol unavailable
2019-12-14 12:01:13 -08:00
Jeremy Apthorp
50e696acf6
getDescription => getPhysicalDescription
2019-12-14 09:36:47 -08:00
Jeremy Apthorp
7fce6fe0b0
move THISCALL define to header, clean up code a little
2019-12-13 23:54:27 -08:00
Jeremy Apthorp
dfab521a71
specify __thiscall
...
According to https://docs.microsoft.com/en-us/cpp/cpp/thiscall?view=vs-2019 , "on ARM and x64 machines, __thiscall is accepted and ignored by the compiler.". So it should be OK to specify this for all win32
2019-12-12 17:51:41 -08:00
Jeremy Apthorp
9a37849603
use symbols.xml
2019-12-07 22:41:55 -08:00
Jeremy Apthorp
910f965838
wip
2019-12-07 22:17:59 -08:00
lethosor
49563b4618
Merge remote-tracking branch 'warmist/FilteredListFix' into develop
2019-11-02 16:28:06 -04:00
lethosor
08aeb6faeb
Fix EventManager building ID type
...
The pointer to the building ID was sometimes not dereferenced properly.
Addressed by switching to an ID cast to a pointer type for consistency with
other types of events.
Fixes #1434
Ref #1003 (19695b4ee7
)
Broken in #1253 (a7dfacd1c5
)
2019-10-05 20:26:31 -04:00
lethosor
7d5970303f
Update xml ( dfhack/df-structures#286 )
2019-10-04 00:14:08 -04:00
lethosor
ca7d0f1cac
Add algorithm include for MSVC
2019-10-03 23:26:57 -04:00
lethosor
f3658db85f
Merge branch 'develop' into avoid_rebuilding_df_statics_if_core_h_changes
2019-10-03 23:23:36 -04:00
Warmist
a2b5c1ddd9
lua/widgets filtered list input fix
...
FilteredList was not consuming input events.
2019-09-30 22:00:06 +03:00
lethosor
ac5a54c8db
Merge branch 'develop' into cmake-cleanup
...
Conflicts:
library/CMakeLists.txt
plugins/CMakeLists.txt
2019-08-23 23:58:00 -04:00
Alan
0f4162acc9
Merge pull request #1402 from BenLubar/persist
...
Add Persistence module.
2019-08-23 23:37:06 -04:00
lethosor
222b88063c
Update submodules
2019-08-23 21:37:50 -04:00
lethosor
2ef46562c8
Avoid calling doSaveData twice when unloading a world
...
This was happening because of a switch to viewscreen_game_cleanerst and back to
viewscreen_savegamest when saving
2019-08-23 20:45:35 -04:00
lethosor
100e584c34
Fix saving persistent data on regular save
2019-08-23 20:30:06 -04:00
lethosor
07575095fd
Merge branch 'develop' into persist
2019-08-22 22:00:50 -04:00
lethosor
88757d5c27
Merge branch 'develop' into cmake-cleanup
2019-07-20 19:22:33 -04:00
lethosor
99038c395a
Merge remote-tracking branch 'ab9rf/biometype' into develop
2019-07-20 16:32:46 -04:00
lethosor
8a07426643
Merge branch 'develop' into cmake-cleanup
2019-07-20 15:15:39 -04:00
Pauli
49f3de979f
Make ServerMain and ServerConnection data race free
...
RemoteServer and PluginManager side would need complete redesign to be
data race free and concurrent. But as that would be unlikely to be
required from DFHack I decided simpler solution that is fixing data
ownership to a thread and all ServerConnection share a single lock which
allows access to PluginManager and Core.
2019-07-18 23:05:11 -04:00
Pauli
0605b9601c
Make Core::started thread safe
2019-07-18 23:05:11 -04:00
Pauli
0ed5c8db39
Fix data race between threaded init and EventManager
...
The initial run_dfhack_init loads shared state information that is used
by EventManager when state changes. There is a small risk that
EventManager can handle events while run_dfhack_init is still running.
2019-07-18 23:04:40 -04:00
lethosor
76da2c2aaf
Clean up CMakeLists.txt style
2019-07-16 22:19:11 -04:00
lethosor
b60faa8021
dfhack-run: add note about installation when called with no arguments
2019-07-13 15:51:46 -04: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
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
lethosor
dd9c433f17
Use BYPRODUCTS to keep ninja builds from re-running codegen every time
...
This partially reverts f02466de8a
, but behavior
should be the same under MSVC, which that commit attempted to fix. From
https://cmake.org/cmake/help/v3.14/command/add_custom_command.html :
> The `BYPRODUCTS` option is ignored on non-Ninja generators except to mark
> byproducts `GENERATED`.
Since `$GENERATED_HDRS` are already marked generated, this change should have
no effect on non-Ninja generators.
2019-05-13 19:47:39 -04:00
lethosor
32a0ab9679
Update submodules
2019-05-11 23:34:59 -04:00
lethosor
e5eade1ad7
Make gui.dwarfmode.{get_movement_delta,get_hotkey_target} public
2019-04-30 16:53:09 -04:00
lethosor
6c266075de
Console-posix: fix crash with prompts longer than screen width
...
Also add an extra fallback check around substr
Fixes #1425
2019-01-15 21:06:49 -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
lethosor
e74946f62e
Update xml and related changelog entries
2018-12-27 17:37:13 -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
lethosor
13c6bfc1b2
Merge remote-tracking branch 'sgayda2/memory_fixes' into develop
2018-12-22 11:54:31 -05: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
Kelly Kinkade
02f047e9f1
a pox on whitespace
2018-09-11 18:41:32 -05:00
Kelly Kinkade
3817773b5a
eliminate stray whitespace
2018-09-11 17:32:33 -05:00
Ben Lubar
10267f3e70
Only save on the first frame of the save screen.
2018-08-26 19:11:41 -05:00
Ben Lubar
a672ffcb95
Use viewscreen_savegamest instead of viewscreen_optionst
2018-08-26 19:05:44 -05: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
338572d270
resolve uninitialized variable warning
2018-08-16 12:15:56 -05:00
Kelly Kinkade
59d70d6687
Add function to infer biome type to Maps module
...
This moves code intended to infer biome type currently living in a
couple of plugins into the Maps module, so that this code can be shared
more easily by multiple plugins, as discussed in #1392 .
2018-08-15 20:28:18 -05:00
lethosor
e56cb2a25a
Update xml (setup_character_info.skill_points_remaining)
2018-08-04 00:59:15 -04:00
Lethosor
9bd5ecd738
Merge pull request #1372 from BenLubar/dfhack-viewscreen-identity
...
Add an identity to dfhack_viewscreen and dfhack_lua_viewscreen.
2018-07-26 16:06:24 -04:00
Ben Lubar
4837e65322
Add an identity to dfhack_viewscreen and dfhack_lua_viewscreen.
2018-07-22 17:31:39 -05:00
lethosor
c53353fc28
Update changelog, xml
2018-07-20 23:29:24 -04:00
lethosor
163c9b4059
Add utils.OrderedTable, make test order consistent
...
Also added OrderedTable tests and comment support to expect.*()
2018-07-19 12:40:25 -04:00
lethosor
063602349c
Add a basic test library and a couple GUI module tests (squashed)
...
Also modified Core/Console a bit to get this to actually produce output on
Travis (DFHACK_DISABLE_CONSOLE now allows console output, just not input)
Squashed merge from lethosor/tests
2018-07-18 14:29:13 -04:00
lethosor
3b44c18576
Followups for #1325
...
- Fix git tag detection
- Fix changelog entry position
- Update/clean up docs some
2018-07-17 00:58:49 -04:00
lethosor
1d6c3dc871
Merge remote-tracking branch 'suokko/fix_cmake_dependencies_to_generated_headers' into develop
2018-07-17 00:24:18 -04:00
Stoyan Gaydarov
38cccdb0f4
Update the module create calls to return unique_ptrs
2018-07-14 19:55:25 -07:00
Stoyan Gaydarov
6f90273bb6
More usage of smart pointers throughout core and version info.
2018-07-14 19:55:25 -07:00
Stoyan Gaydarov
699f864110
use dts::make_unique instead of new
2018-07-14 19:51:46 -07:00
Stoyan Gaydarov
6cfd987c0d
Remove an outdated comment, with c++11 enabled the code is thread safe
2018-07-14 19:51:46 -07:00
Stoyan Gaydarov
12c8046f90
Some memory management changes for Core
2018-07-14 19:51:46 -07:00
Stoyan Gaydarov
b5ddde8475
Use a shared_ptr to avoid having to manage VersionInfo vector memory
2018-07-14 19:51:46 -07:00
Stoyan Gaydarov
c127ceab96
Use a unique_ptr for VersionInfo to avoid worrying about memory
2018-07-14 19:51:46 -07:00
lethosor
790d16cc1c
Merge remote-tracking branch 'sgayda2/call_once' into develop
2018-07-14 21:08:15 -04:00
Stoyan Gaydarov
99d05117ab
fix a return statement in FirstCall
2018-07-14 12:15:52 -07:00
lethosor
c2a64b3573
Update changelog, xml, bump to r1
2018-07-13 21:16:35 -04:00
lethosor
f85b2c2b3c
Merge branch 'develop' of gh:dfhack/dfhack into develop
2018-07-13 20:00:52 -04:00
lethosor
78f2431c93
Update xml
2018-07-13 19:59:46 -04:00
Ben Lubar
b44789285c
Fix Windows df-structures stubs failing to compile if the option to keep symbols is specified.
2018-07-13 15:49:37 -05:00
Pauli
f02466de8a
Correct codegen.pl output dependecies for VC
...
The change allows correct and optimized incremental builds with VC and
ninja but unix makefile backend will rebuild everything if anything
changes in structures.
2018-07-13 17:01:36 +03:00
Pauli
bc8b8ef256
Use configure_file to optimize incremental builds for git-describe.h
2018-07-13 16:07:46 +03:00
Pauli
c92b52537c
Only run once codegen.pl and git-describe.cmake with make
...
ninja has a single build file which avoided issues if multiple targets
depend on same files. But Unix Makefiles generator user recursive make
which requires each ADD_CUSTOM_COMMAND to have only one target depending
on them.
Then makefile generator also has stupid rule that it touches all
secundary output files if primary file has been updated.
It was surprising hard to find a version that actually works correctly
for both issues. Solution is using BYPRODUCTS and refactoring command
and target dependencies.
As a bonus this change now allows build to work from source tarball if
the tarball includes git-describe.h.
2018-07-13 15:23:54 +03:00
Pauli
fad9d58ac6
Keep git-describe.h in source tree
...
Temporary file goes to binary directory to avoid race between
simultanous builts.
2018-07-13 15:16:04 +03:00
Pauli
68d1dfa0da
Keep make output short
...
Without custom comment add_custom_command would list all target files.
2018-07-13 15:15:42 +03:00
Pauli
3f34ea196b
Fix build not to delete git-describe.h
...
make doesn't keep primary output file if secundary is missing.
always_rebuild must be primary output to make the phony command work
correctly.
2018-07-13 15:15:42 +03:00
Pauli
2956e654d4
Add dependency from codegen.pl to df/*.h
2018-07-13 15:15:42 +03:00
Pauli
5154370402
Add full paths to codegen.pl error messages
...
I noticed that relative paths were not correctly guessed by vim. I
decided to fix the paths to allow me quickly to jump to error line in
xml.
2018-07-13 15:15:42 +03:00
Pauli
b3b23e8278
Add dependency from git-describe.h to DFHackVersion.cpp
...
Using add_custom_command allows cmake to track dependency from command
to git-describe.h that is implicit dependency of DFHackVersion.cpp.
The change also fixes issues if there is multiple build directories and
git-describe.h missing but git-dsecribe.h.tmp is present.
2018-07-13 15:15:39 +03:00
lethosor
9ee368d456
Merge remote-tracking branch 'suokko/MapCache_reduce_latency_from_designation_to_jobs' into develop
2018-07-11 11:51:24 -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
2d8be8f4ad
Update xml (dlsym vtables, dfhack/df-structures#282 )
2018-07-10 13:01:54 -04:00
lethosor
fa8c6724f6
Merge remote-tracking branch 'suokko/dlsym_libgraphics' into develop
2018-07-10 12:25:11 -04:00
lethosor
dd3c04eb26
Merge remote-tracking branch 'suokko/windows_crash_after_die' into develop
2018-07-10 11:57:10 -04:00
lethosor
06511340ab
Merge remote-tracking branch 'BenLubar/proto-docs' into develop
2018-07-10 11:26:31 -04:00
Pauli
7d92d3f48f
Fix the class vs struct warning
2018-07-10 18:24:34 +03:00
Pauli
5eea7198a9
Make Core::~Core safe to call after die
...
Fixes #1356
2018-07-10 18:24:34 +03:00
lethosor
4a842810d5
Update xml, changelog
2018-07-10 11:24:26 -04:00
Pauli
ce6af3d649
Use c++ standard std::_Exit instead of _exit
...
_exit seems to run dll unloading code which calls static destructors.
Standrd requires std::_Exit not to call destructors which makes using it
attractive in case MSVC actually follows the standard.
2018-07-10 18:21:09 +03:00
Pauli
96c9b8b864
Add windows emulation for RTLD_DEFAULT
...
I'm not sure if calling GetModuleHandle in static construction is safe.
But I assumme it is and works correctly.
There is still potential issue that documentation can be understood
meaning that the HMODULE will resolve only symbols from exe while
RTLD_DEFAULT resolves all global symbols.
2018-07-10 17:10:30 +03:00
Pauli
ca5c11603f
Support dlsym loading from libgraphics vtables
2018-07-10 17:08:23 +03: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
lethosor
7fcc6be6f6
Update xml, changelog
2018-07-09 10:46:19 -04:00
Pauli
ab179bbf42
Fix crash when editing lines that are exactly console width
...
plen+cooked_cursor==cols => begin = -1 which is passed to substr. The
sign is incorrect as code should be removing a character from begin
instead of trying to add a character.
2018-07-09 16:12:39 +03:00
Stoyan Gaydarov
e96c6f07ce
fixes from comments
2018-07-08 15:53:26 -07:00
Stoyan Gaydarov
68770ecbf2
Use std::call_once to ensure thread safety and a single call to initialize the SDL pointers
2018-07-08 12:52:06 -07:00
lethosor
5d16e5a74c
Bump to 0.44.12-alpha1
2018-07-08 14:26:57 -04:00
lethosor
480907259c
Rename ui_sidebar_menus.command_line field
...
Ref dfhack/df-structures#277
2018-07-07 23:51:20 -04:00
lethosor
03b01048d7
Merge remote-tracking branch 'BenLubar/linked-list' into develop
2018-07-07 23:49:53 -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
Pauli
dec61b89be
Fix windows ReadConsoleInput return value check
...
I messed up the check. I forgot that windows commonly has opposite
return values to posix and failed to check it from documentation.
Fixes 1345
2018-07-08 00:50:43 +03:00
lethosor
aa76b92662
Merge remote-tracking branch 'suokko/main_thread_ownership_for_df_ai' into develop
2018-07-06 16:37:06 -04:00
lethosor
c006df561e
Merge remote-tracking branch 'suokko/lua_printall_recurse' into develop
2018-07-06 14:25:35 -04:00
lethosor
be9affc8fb
Update xml, changelog
2018-07-06 14:22:46 -04:00
lethosor
dc6fd8d35c
Merge remote-tracking branch 'suokko/stl_printf_remove_extra_null' into develop
2018-07-06 11:09:39 -04:00
lethosor
54cf8b7dc3
Fix getVisibleName for units with identities
...
As of 0.44.11 (possibly 0.44.01), identity names take precedence over the
associated histfig names. Tested with:
https://drive.google.com/file/d/1bX5CQMqNsb_mjJOEOS4wBm4mGDLLs_cZ/view (#1279 )
http://dffd.bay12games.com/file.php?id=13428 (from http://www.bay12games.com/dwarves/mantisbt/view.php?id=10530 )
Fixes #1279
2018-07-06 11:06:04 -04:00
Ben Lubar
3b6a0738a0
Add check-rpc.py for Travis.
2018-07-04 15:32:06 -05:00
Pauli
d1a3f1a738
Allow canceling lineedit with ctrl+c
2018-07-04 15:21:25 +03:00
Pauli
a550e112c3
Allow temporary transfer of main logic thread ownership
...
Dependency to fix df-ai to work with the new CoreSuspender
2018-07-04 00:02:03 +03:00
Ben Lubar
dabe04cbf1
Rename bind argument proto -> plugin to avoid confusion.
2018-07-03 16:00:48 -05:00
Pauli
320e94a1eb
Avoid locking CoreSuspender second time in main thread
2018-07-04 00:00:06 +03:00
Ben Lubar
6839fde555
Remove execute permission on files that are not executables.
2018-07-03 15:37:16 -05:00
Pauli
8a3a05de24
Allow unloading plugins that use std::regex
2018-07-03 15:23:46 +03:00
Pauli
ee999ccbdf
Implement runtime debug print filtering
...
The runtime debug print filtering support dynamic debug print selection.
Tis patch only implements basic core support for filtering. The commands
to change the runtime filtering settings will be added in a following
patch.
But even with only this one can change filtering settings by editing
memory using a debugger. It can even be automated by using gdb break
point commands.
2018-07-03 15:23:46 +03:00
lethosor
616675f0ce
Merge remote-tracking branch 'suokko/kittens_data_race_fix' into develop
2018-07-03 00:30:36 -04:00
lethosor
c449041c11
Merge remote-tracking branch 'suokko/lua_List_setChoices_internal_table_1171' into develop
2018-07-03 00:27:22 -04:00
lethosor
c543a17250
Improve RPC port handling
...
- Use port from remote-server.json in dfhack-run
- Make DFHACK_RUN environment variable take priority over remote-server.json
- Log current port to stderr
2018-07-02 23:53:56 -04:00
lethosor
81a7ddcf92
Merge remote-tracking branch 'suokko/screen_show_memory_leak' into develop
2018-07-02 22:58:11 -04:00
lethosor
f0ff96f614
Merge remote-tracking branch 'suokko/multibyte_console' into develop
2018-07-02 10:55:03 -04:00
Ben Lubar
b5eb541fd3
Handle pointers back to the list link.
2018-06-30 23:04:27 -05:00
Ben Lubar
1606483e7e
perf improvement for DfLinkedList::end(), erase/insert/insert_after/push_front implementations
2018-06-30 23:04:26 -05:00
Ben Lubar
0b9d46712f
Run DfLinkedList::end's computations only when needed.
2018-06-30 23:04:26 -05:00
Ben Lubar
31d22967f8
Linked list
2018-06-30 23:04:26 -05:00
Pauli
ba1d3fcb6a
Add dfhack.printall_recurse to quickly print df containers
...
I often want to see multiple items quickly when trying to figure out
what states actually matter to an issue that I debug. I decided to make
it easier to quickly dump df structures with substructures and
containers. It will generate large amount of data which can be sometimes
slow to process manually. But processing can be automated using
dfhack-run lua ^<df data to inspect> and pipe to other tools (eg grep,
sed, perl, sort, uniq etc)
2018-06-30 22:31:49 +03:00
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
Pauli
7a2245c2fa
Remove null byte from string length
...
I noticed an extra null when trying to grep dfhack.run ls output.
std::string manages null byte at end(). Pre C++11 didn't require null
termination for std::string but C++11 add the null termination to make
c_str() and data() truely const. It is undefined behavior to modify the
internal null termination but this modification sets the null to null.
2018-06-30 12:51:38 +03:00
lethosor
1a4440859c
Update xml (viewscreen_civlistst)
2018-06-29 22:33:15 -04:00
lethosor
105ddd86d8
Merge remote-tracking branch 'suokko/jsoncpp_upgrade_to_submodule' into develop
2018-06-29 22:33:00 -04:00
Pauli
c39a882b57
Add missing Unit::isDiplomat
...
Fixes #1324
2018-06-29 16:19:18 +03:00
lethosor
3c2bfb6f47
Bump to 0.44.11-alpha1, update changelog, xml
2018-06-28 13:31:56 -04:00
lethosor
f9dfb5907b
Update submodules, authors
2018-06-27 13:57:34 -04:00
lethosor
19627b9221
Bump to 0.44.11
2018-06-24 17:42:31 -04:00
Pauli
20bd03ab6d
Reset dsgn_check_cooldown in Block::write
...
To make sure that DF generates jobjs from desgination as soon as
possible the dsgn_check_cooldown should be reset when designations
change.
2018-06-24 17:06:32 +03:00
Pauli
123de7fdf7
Use constexpr to prevent attempts of linking static variable
2018-06-24 17:06:32 +03:00
Pauli
f6b0ac7819
Refactor CoreSuspender to fix Console::lineedit exit hangs
...
The old CoreSuspender requires processing from Core::Update to allow
commands execute. But that causes issues if Core::Shutdown wants
quarentee cleanup order with std:🧵 :join. Fixing shutdown ordering
adds too many branches to already fairly complex code.
I decided to try to refactor CoreSuspender to use simpler locking
locking using a std::recusive_muted as primary synchronization
primitive.
To help control when Core::Update unlocks the primary mutex there is
std::contition_variable_any and std::atomic<size_t> queue lenght
counter.
The last state variable is std::atomic<std:🧵 :id> that is used to
keep track of owner thread for Core::IsSuspended query.
This should be merged only just after a release to make sure that it
gets maximum testing in develop branch before next release.
Fixes #1066
2018-06-22 17:57:37 +03:00
Pauli
0bc1db4f07
Make sure hotkeythread exits before cleanup
2018-06-22 17:57:37 +03:00
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
Pauli
84f8a75a2e
Add cuchar fallback implementation for gcc 4 and 5
2018-06-22 17:57:37 +03:00
Pauli
820b787cd0
Add multibyte character handling to posix console
...
I noticed that multibyte characters can mess up the console state
variables. I decided to add a minimal multibyte support to make sure the
input only collects complete valid multibyte characters in case user
enters them to console.
This change assumes that UTF-32 has one to one mapping between printed
characters and char32 indexes. But I remember reading there is a few
rare corner cases with accents where character might require multiple
4byte characters too. But this patch at least changes correct handling
from about 100 characters to 99% of unicode characters.
2018-06-22 17:57:37 +03:00
Pauli
1acb60daa2
Prevent data races during console/init thread shutdown
...
There is a minor chance that console or init thread would access already
freed memory when core is shutting down and cleaning up state. To avoid
any danger of having random bugs caused by the potential data race I
decided to make sure the shutdown code waits for the thread to exit
first.
Windows change is completely untested. It is purely based on msdn
documentation.
2018-06-22 17:57:37 +03:00
Pauli
19a169ba65
Convert Core.cpp to use c++11 thread
...
I noticed that tthread is missing some c++11 features that make thread
handling code a bit easier. To be able to use those features I decided
to convert Core.cpp to use equivalent standard classes.
This patch has no functional changes.
2018-06-22 17:57:37 +03:00
Pauli
b7871c7368
Console-posix: Use lowest possible nfds parameter to the select call
2018-06-22 17:57:37 +03:00
lethosor
854f467f56
Merge remote-tracking branch 'suokko/check_jobs_on_mapcache_commit_1229' into develop
2018-06-21 15:03:51 -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
1deb6ab024
Update xml
2018-06-20 16:19:00 -04:00
lethosor
7fda8506f0
Merge remote-tracking branch 'suokko/cmake_option_to_enable_all_symbols' into develop
2018-06-20 16:16:03 -04: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
6077a8ce4c
Merge remote-tracking branch 'suokko/printf_warnings' into develop
2018-06-20 11:25:14 -04:00
lethosor
2f1d3c68c6
Merge remote-tracking branch 'suokko/stl_vsnprintf' into develop
2018-06-20 11:23:57 -04:00
lethosor
b9df6fae85
Update xml, authors
2018-06-20 10:51:24 -04:00
Pauli
98b25e3462
Allow calling List:setChoices() to clear choices
2018-06-20 17:46:24 +03:00
Pauli
ed23d2c4e2
Change gui.widgets.List:setChoices to keep state in internal table
...
Fixes #1171
2018-06-20 17:23:57 +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
Pauli
87e7c0f7aa
Add cmake configuration to select if stubs include symbols
...
G++ generates structure debug symbols for a few df namespace classes to
generated stub source files. I decided to test how much symbols from
those files would increase binary size. When the result was about double
size I decided to add cmake configuration option to let user easily
select if they prefer complete symbols or reduced size.
2018-06-19 16:16:38 +03:00
Pauli
bcf9387ce9
Only remove jobs that were created from a designation
2018-06-18 19:57:00 +03:00
Pauli
1b5ec7ce69
Update jobs when committing MapCache changes
...
The map_block->designation.{dig,smooth} are reset to zeros when a job
posting is created for the designation. The job is then used to override
the designation state in the map_block. To make the new designation set
propogate to jobs the job structure would require updating. The update
would be possible a complex operation. The simple alternative is to
remove the job and let df create a new job in the next tick.
Fixes #1229
2018-06-18 16:34:09 +03:00
Pauli
6a151353e3
Use automatic return type for index_tile
2018-06-18 16:23:57 +03:00
Pauli
0bc2b3ab1b
Update toSimpleString to use a the new builder API
2018-06-14 21:20:54 +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
Pauli
4cfdd7d92e
Check if second vsnprintf does something unexpected
2018-06-13 23:33:13 +03:00
lethosor
10e6016989
Merge branch 'units_dead' into develop
...
Closes #1297
2018-06-13 15:38:35 -04:00
PatrikLundell
51584c2d9e
Corrected isGhost
2018-06-13 15:37:45 -04:00
PatrikLundell
f329774059
dead & killed flag separation
...
squashed 4 commits from #1297
2018-06-13 15:37:45 -04:00
Pauli
8f2cf3ad26
Fix printf format warnings
2018-06-11 19:57:06 +03:00
Pauli
8484b5dc8a
Add parameter type checks to printf style functions
...
gcc supports type checks for printf parameters which can catch some hard
to reproduce bugs. Possible bugs happen when the parameter value is
intepreted differently to the variable value.
Example warnings follow
../library/LuaWrapper.cpp:1011:86: warning: format ‘%llu’ expects argument
of type ‘long long unsigned int’, but argument 3 has type ‘uint64_t
{aka long unsigned int}’ [-Wformat=]
../plugins/follow.cpp:159:35: warning: format not a string literal and no
format arguments [-Wformat-security]
2018-06-11 19:27:35 +03:00
Pauli
82e7b8300a
Make stl_vsprintf return if there is an vsnprintf error
...
vsnprintf man page claims:
"If an output error is encountered, a negative value is returned."
That means we has to call vsnprintf twice at most to have whole output
written to a string. But in case of error we return an empty string.
The code also optimizes an expected common case of outputting single
line with a small stack allocated buffer. If the stack buffer is too
small then it uses std::string::resize to allocate exactly enough memory
and writes directly to std::string.
Second call could use vsprintf because memory is known to be large
enough. But I think that difference isn't detectable outside micro
benchmarks.
2018-06-10 16:23:31 +03:00
lethosor
fe458d3ac1
Merge remote-tracking branch 'grubsteak/patch-2' into develop
2018-06-08 22:05:20 -04:00
lethosor
1fe6c3b880
Merge remote-tracking branch 'suokko/profiler' into develop
...
Closes #1296
2018-06-08 22:01:21 -04:00
Pauli
e3df5cd765
Port profiler to lua 5.3 and dfhack
...
Changes include
* table.getn(obj) -> #obj
* Making sure string.rep gets an integer parameter
* Optimized profiling hooks (call profiler cost from factor 40 to 10)
* Specialized parameter name lookup code for c++ __index metamod calls
* Collect source lines in time sampling variant
* Simplified prevent to always filter all children
2018-06-06 19:18:18 +03:00
Daniel Silverstone
96ba5116f7
Add lua Pepperfish Profiler code
...
Pepperfish Profiler can produce time sampled profiles and call entry
exit profiles. Code is verbatim copy from the lua wiki [1]. This commit
won't work alone but it exists to give author credit correctly to
Daniel.
[1] http://lua-users.org/wiki/PepperfishProfiler
Authors:
Daniel Silverstone <dsilvers@pepperfish.net>
Tom Spilman <tom@sickheadgames.com>
Ben Wilhelm <zorba-pepperfish@pavlovian.net>
2018-06-06 17:27:40 +03:00
lethosor
03968db344
Fix GCC warnings in 'tweak kitchen-prefs-all' and dev plugins
2018-06-01 10:02:38 -04:00
lethosor
7a04fefb0b
Remove Vermin module (unused and obsolete)
2018-06-01 00:22:10 -04:00
lethosor
eb199d97b5
Prepend script name to qerror messages, if applicable
...
Resolves #1282
2018-05-20 09:30:46 -04:00
grubsteak
7e3c8c9965
added fast keys for workshop gui overlay
2018-05-19 20:25:24 -05:00
lethosor
badc0e3a3d
Update changelog, submodules for r1
2018-05-18 14:30:09 -04:00
Lethosor
9ca79d050d
Merge pull request #1259 from AtomicChicken/syndrome-util-updates
...
syndrome-util: added function to remove syndrome wound data
2018-05-18 14:10:14 -04:00
lethosor
e44bca0fb4
Merge remote-tracking branch 'grubsteak/patch-1' into develop
2018-05-18 00:48:04 -04:00
grubsteak
fe0049db8c
enable lua api construction functions
...
it seems this has been left out on accident?
2018-05-17 23:29:10 -05:00
lethosor
50a863a48e
Fix Kitchen.h include (case-sensitive)
2018-05-17 20:11:46 -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
97a79893e7
Change Kitchen.{h,cpp} to title case
2018-05-17 11:08:13 -04:00
lethosor
fcd8c9606e
Fix some warnings on OS X
2018-05-12 18:46:58 -04:00
lethosor
e9ec08f419
Add Buildings::getRoomDescription(), moved from search plugin, +cleanup
2018-05-12 17:00:21 -04:00
lethosor
c15571caa0
Move isRouteVehicle, isSquadEquipment from workflow to Items module
2018-05-12 14:49:30 -04:00
lethosor
a34b34d3cb
Move a few item functions from autotrade/stocks into DFHack::Items
2018-05-12 12:04:46 -04:00
Dan Amlund
759df34fce
fix potential segfault
2018-05-11 17:51:32 +02:00
lethosor
ceaa518be9
Fix a potential segfault in getAnyUnit
...
See #1218
2018-05-11 10:04:10 -04:00
lethosor
10abece564
Fix duplicate condition in Gui::getAnyUnit()
2018-05-11 09:58:40 -04:00
lethosor
272cdcb2b5
Add function names to NullPointer and InvalidArgument exceptions
2018-05-11 09:49:27 -04:00
lethosor
2a52582c1f
Add Gui::inRenameBuilding
2018-05-09 10:23:05 -04:00
lethosor
4fe55639be
Update version/submodules to 0.44.10-alpha1
2018-05-07 00:25:21 -04:00
lethosor
f4088dbd28
Update xml, scripts
2018-05-05 16:09:20 -04:00
lethosor
b266c7322f
Make fpause pause worldgen
...
Closes #1256
2018-05-05 16:08:06 -04:00
AtomicChicken
c58ffdb922
Added function to remove syndrome wound data
...
The presence of syndrome data in unit.syndromes.active generates corresponding wound data in unit.body.wounds. This wound data acts to produce all of the syndrome's actual effects, including but not limited to flag changes, interaction abilities, body transformation and display name alterations. Wound data persists when syndrome data is cleared from unit.syndromes.active. Since syndrome-util did not touch wound data at all, the erase function was completely ineffective at actually removing syndromes.
Note that syndromes also generate a bunch of data in the historical figure information of units. I have observed that this historical data is sufficient to restore the syndrome in a unit following map reload (at least in adventure mode), so its clearance (which needs to also include any corresponding interaction effects) will have to be addressed in a future update. As is, syndrome erasure remains incomplete.
2018-04-20 17:14:03 +02:00
lethosor
a708b0b303
Add some includes in DataDefs.h
2018-04-19 21:11:43 -04:00
lethosor
2bf9632000
Merge remote-tracking branch 'origin/develop' into complex-enum
2018-04-11 10:23:32 -04:00
lethosor
b0e1ae93ea
Add next_item, _complex for complex enums
2018-04-09 19:46:12 -04:00
lethosor
9398262654
Make enum attrs work for complex enums (lever_target_type)
2018-04-09 16:12:03 -04:00
lethosor
7da8793172
Set last_item_value properly for complex enums
2018-04-09 16:11:47 -04:00
lethosor
c1dd21730d
Fix complex enum ipairs for first element
2018-04-09 11:27:02 -04:00
lethosor
61539bf345
Lua: implement key lookup and ipairs for complex enums
2018-04-09 11:04:37 -04:00
lethosor
ae6b8a16e8
Handle most complex enum metadata on the C++ side
2018-04-09 03:00:58 -04:00
Ben Lubar
51661d7355
Fix -Wswitch warning about UNDERWORLD_GATE in MapCache.
2018-04-05 16:50:04 -05:00
Ben Lubar
565c1e1260
Fix uninitialized pointer being returned from Gui::getAnyUnit when on the pet list with no selection.
2018-04-05 16:49:30 -05:00
Ben Lubar
0a2ec30199
Remove or comment out unused code.
2018-04-05 16:48:11 -05:00
Ben Lubar
2eec5ee78d
Fix signed/unsigned comparison warnings in core.
2018-04-05 16:47:47 -05:00
Ben Lubar
304e1d45f0
Remove unused labels in Console-posix.cpp
2018-04-05 16:46:59 -05:00
Ben Lubar
ec5d238e5e
Remove warnings in generated code for core protobufs.
2018-04-05 16:46:04 -05:00
Ben Lubar
a44b3b8f98
Move null pointer check from Job module to LuaApi, where it does not invoke undefined behavior.
2018-04-05 16:01:26 -05:00
Ben Lubar
a3d4c586ab
Hide "complex enum" warning for dfhack-specific enums.
2018-04-05 14:48:29 -05:00
Ben Lubar
9cbba0ae01
Hide warnings about non-virtual destructors from df-structures.
2018-04-05 14:46:28 -05:00
lethosor
c8089db5df
Install the correct libstdc++
2018-04-04 20:01:27 -04:00
lethosor
5081710900
Merge remote-tracking branch 'ThiagoLira/develop' into develop
...
Also fixed whitespace from #1251
Closes #1186
2018-04-04 17:13:07 -04:00
ThiagoLira
b7bd88352e
fixed bug causing gui scripts to fail when sidebar is closed
2018-04-04 17:42:46 -03:00
lethosor
1ac896a874
Stop generate_headers from depending on symbols.xml
...
Changes to just symbols.xml will no longer cause codegen.pl to be re-run
2018-04-04 11:52:18 -04:00
lethosor
8f3701752d
Update xml
2018-04-04 11:36:24 -04:00
lethosor
3e3571094d
Update xml (name attrs)
2018-04-03 16:44:30 -04:00
lethosor
f6a222751b
Update xml (osx64 renderer)
2018-04-03 11:36:06 -04:00
lethosor
573fcb4bd0
Bump to 0.44.09-alpha1, update news/submodules
2018-04-02 01:00:20 -04:00
lethosor
2c9c935c0e
Update submodules/news, bump to 0.44.08-alpha1
2018-03-29 11:38:55 -04:00
lethosor
93bef3351e
Update submodules/news, bump to beta1
2018-03-28 22:01:27 -04:00
lethosor
6f864f97b3
Update news, xml
2018-03-14 10:11:45 -04:00
Ben Lubar
40654954a1
Partial preparation for 0.44.07-alpha1.
...
Still need to write release notes and add tags.
2018-03-13 15:49:42 -05:00
Lethosor
464052fe52
Merge pull request #1237 from warmist/warmist-patch-1
...
Fix parse_inset in gui.lua
2018-03-11 12:11:24 -04:00
Warmist
25d2938477
Fix parse_inset in gui.lua
...
It was used in different order than the return happened.
2018-03-11 12:40:30 +02:00
lethosor
ad57037711
Merge remote-tracking branch 'BenLubar/cmp0022-warning' into develop
2018-03-10 17:02:34 -05:00
lethosor
d55048dfa1
Merge remote-tracking branch 'BenLubar/ubuntu-bionic' into develop
2018-03-10 16:57:07 -05:00
lethosor
0ccc89a5fe
Make git-describe.cmake detect changes to itself
2018-03-10 16:55:20 -05:00
lethosor
eb22d5c38e
Add ABI version symbol to plugins
2018-03-10 16:55:00 -05:00
lethosor
db95796d4c
Many build fixes
2018-03-10 16:53:45 -05:00
lethosor
f2ff609e1c
Initial 0.44.06 support, update xml
2018-03-10 16:18:15 -05:00
Ben Lubar
7bbfd456d3
Fix compile errors on Ubuntu 18.04 Bionic Beaver
2018-03-08 11:42:58 -06:00
Ben Lubar
acd4adc7cc
Fix CMake warning about CMP0022 policy being set as "OLD".
2018-03-08 02:28:28 -06:00
lethosor
0e7ab27850
Bump to r2, update changelog, update submdules
2018-02-21 23:07:53 -05:00
lethosor
988ce9c30d
Update xml
2018-02-16 02:19:30 -05:00
lethosor
8779168c96
DFHACK_PLUGIN: qualify Plugin
2018-02-16 02:17:58 -05:00
Japa
74bf06c69e
Do some checks before trying to read json files.
2018-02-13 20:02:42 +05:30
Japa
8c13ce4da3
update xmls
2018-02-13 12:36:00 +05:30
Japa
5dc89fee38
Merge remote-tracking branch 'DFHack/develop' into RemoteServerUnsafe
2018-02-13 12:26:36 +05:30
lethosor
2f8fbd7ecd
Show warning if all plugins fail to load (e.g. on Windows XP)
2018-02-12 13:58:55 -05:00
Japa
7b19c9b8f0
Merge remote-tracking branch 'remotes/DFHack/develop' into RemoteServerUnsafe
...
# Conflicts:
# plugins/proto/RemoteFortressReader.proto
# plugins/remotefortressreader/remotefortressreader.cpp
# scripts
2018-02-12 20:19:40 +05:30
lethosor
19b65c2d1e
Remove Error.h include ( #1224 )
2018-02-07 20:14:36 -05:00
Ben Lubar
7ab8d74ac9
Add mising Error.cpp reference to dfhack-client
2018-02-07 14:32:27 -06:00
Ben Lubar
7426f08504
Fix Error.cpp compile for Windows
2018-02-07 10:40:52 -06:00
lethosor
bc6acfa24e
Merge remote-tracking branch 'lethosor/travis-df' into develop
2018-02-05 19:21:13 -05:00
lethosor
c1e2633e17
Refactor DFHack exception classes
...
Move implementations out of MiscUtils.cpp to Error.cpp and make what() return a
more useful description
2018-02-05 19:18:35 -05:00
Japa
78061085c6
Add art image properties to RFR
2018-02-04 16:02:02 +05:30
lethosor
a5cca75715
headless: Disable sound, wgetch
2018-02-04 00:17:46 -05:00
Japa
956d0ce363
update submodules.
2018-02-04 10:30:49 +05:30
lethosor
638f0ab35a
Add "headless" mode, use in travis
2018-02-03 23:59:01 -05:00
Japa
60c1bd3c66
Merge remote-tracking branch 'refs/remotes/DFHack/develop'
...
Conflicts:
library/xml
2018-02-04 10:26:39 +05:30
Japa
38140fb450
Copy engravings in RFR, and update the art image function.
2018-02-04 10:12:15 +05:30
lethosor
426839aac2
Update scripts, xml, NEWS for dfhack/scripts#37
2018-02-03 17:59:26 -05:00
Japa
0f43c07334
update xml
2018-02-03 11:10:26 +05:30
lethosor
ae3a662231
Merge remote-tracking branch 'danamlund/more-gui-getanyunit-cases' into develop
2018-01-31 15:58:55 -05:00
Dan Amlund
38491b4be8
add checks to avoid potential segfaults. use more dfhack idiomatic code
2018-01-31 20:10:40 +01:00
Dan Amlund
537e94d75a
fix segfault when splatter did not have historical figure
2018-01-31 20:10:34 +01:00
lethosor
325e0b0e33
binpatch.lua: check for empty patches
2018-01-31 09:57:11 -05:00
Japa
e63a871363
use the vmethod for getting improvement images.
2018-01-31 10:11:43 +05:30
Dan Amlund
2deeda11d2
add many new cases for Gui::getSelectedUnit: report list, combat log list, military screen, unit health, unit custumize, assigning to cage, viewing cage, pitting, penning, burrows, look at corpse, look at corpse piece, look at named spatter
2018-01-28 13:04:52 +01:00
Japa
8d8632908e
update submodules
2018-01-28 13:45:21 +05:30
lethosor
9a1f970d2d
Update submodules
2018-01-28 02:14:54 -05:00
Japa
77c6ea1d33
update xmls.
2018-01-28 10:22:16 +05:30
Japa
b78b2feed2
Remove extra whitespace.
2018-01-28 10:12:50 +05:30
Japa
db60ff3911
update xmls
2018-01-28 07:55:42 +05:30
Japa
c0c80b626d
update submodules
2018-01-27 12:12:19 +05:30
Japa
4a376752e2
Merge remote-tracking branch 'refs/remotes/DFHack/develop'
...
Conflicts:
library/xml
scripts
2018-01-26 08:21:47 +05:30
Japa
e3d95daf45
Don't use globals
2018-01-26 08:19:41 +05:30
lethosor
5e0e674580
Update submodules
2018-01-25 10:56:08 -05:00
lethosor
2202c781f7
Add a dfhack.script_help() function to assist scripts
2018-01-25 10:55:00 -05:00
Japa
f1b8fa305b
try using the new function pointer.
2018-01-25 11:55:46 +05:30
Japa Mala Illo
f33c42a49e
Merge remote-tracking branch 'DFHack/develop' into remote_control
...
# Conflicts:
# scripts
2018-01-24 10:04:51 +05:30
lethosor
1ba5477b63
Add designation priority support to MapCache and dig plugin
...
Fixes #481
2018-01-21 19:27:16 -05:00
Japa
7439f7fba7
Merge remote-tracking branch 'DFHack/develop' into remote_control
...
# Conflicts:
# scripts
2018-01-19 22:11:48 +05:30
Japa
e2ad956227
update xml
2018-01-16 15:54:41 +05:30
lethosor
46bc26dfe2
Update xml
2018-01-14 23:25:28 -05:00
lethosor
c3bf14a300
Correct bad os-type attributes in symbols.xml
2018-01-14 22:56:35 -05:00
lethosor
ce1644d655
Bump to 0.44.05-alpha1 and update submodules
2018-01-14 18:21:46 -05:00
lethosor
dbe950d92d
Update submodules
2018-01-13 16:51:03 -05:00
lethosor
4aa8456878
Update submodules
2018-01-12 00:28:15 -05:00
lethosor
16c4cde214
Change version to 0.44.04 and update xml
2018-01-11 12:10:21 -05:00
lethosor
2782008b42
Update tweak condition-material with new field names
...
dfhack/df-structures#236
2018-01-10 19:53:25 -05:00
Lethosor
e35e2d389c
Merge pull request #1205 from JapaMala/remote_reader
...
add more world mode options to world info
2018-01-07 23:53:09 -05:00
lethosor
04523f9e5d
dfhack/df-structures#231 : twbt_render_map offset for x64
2017-12-29 23:40:55 -05:00
lethosor
fde1e284f4
Gui::getAnyItem: support viewscreen_assign_display_itemst
2017-12-28 16:19:45 -05:00
lethosor
e72474613f
Add new PutItemOnDisplay job to labor management plugins
...
Also add building_type::DisplayFurniture to labormanager
Fixes #1208
2017-12-27 13:48:53 -05:00
lethosor
94e6e89b31
Update xml, scripts
2017-12-26 20:36:37 -05:00
lethosor
4007c39438
Update xml
2017-12-26 12:54:08 -05:00
lethosor
0eff9fa084
Bump version to 0.44.03-alpha1 and update submodules
2017-12-25 22:48:54 -05:00
lethosor
4d5c7c5927
getKeyDisplay: use enabler::GetKeyDisplay()
2017-12-25 20:14:11 -05:00
lethosor
0332a5c25a
Replace a call to abort() with a VTableMissing exception
...
This makes some scripts crash less when the viewscreen vtable is unavailable,
for example.
2017-12-25 20:13:15 -05:00
lethosor
e6651171bf
json: Improve IO-related error messages
2017-12-25 14:40:06 -05:00
lethosor
d6a6bf008e
Update xml, stonesense
...
Ref #1206
2017-12-24 23:17:39 -05:00
Lethosor
692bce8507
Tabs to spaces
2017-12-24 13:50:54 -05:00
Japa
73c6209f87
Remove extra These don't actually act the same.
2017-12-24 17:22:50 +05:30
Japa
22bdc6227c
add more world mode options to world info
2017-12-24 10:50:30 +05:30
lethosor
d90ee0edf8
Update submodules
2017-12-23 21:15:30 -05:00
lethosor
9ae4051d33
Merge branch 'develop' of gh:dfhack/dfhack into develop
2017-12-23 20:20:58 -05:00
lethosor
e7a95155ab
Lua API: add get_vector() and support for renaming class methods
...
See dfhack/df-structures@5bdb0e8
2017-12-23 20:18:55 -05:00
Lethosor
fd9f198239
Merge pull request #1203 from PatrikLundell/console
...
Blocked errant line feed at full buffer
2017-12-22 11:31:24 -05:00
PatrikLundell
d6a51f65eb
Blocked errant line feed at full buffer
2017-12-22 13:42:59 +01:00
Lethosor
c7f3902e0d
Merge pull request #1197 from PatrikLundell/console
...
Made console prompt respect color reset
2017-12-21 12:43:10 -05:00
Lethosor
7ba43d3be2
Merge pull request #1189 from Pfhreak/autocompletebuiltins
...
Autocomplete built in commands (die, etc.)
2017-12-20 23:35:36 -05:00
lethosor
b8d5aba0ef
Update xml, scripts
2017-12-20 00:02:26 -05:00
PatrikLundell
14996a9d67
Made prompt respect color reset
2017-12-14 12:46:52 +01:00
PatrikLundell
cf7dbd478a
Made prompt respect color reset
2017-12-14 12:45:35 +01:00
lethosor
7721a142d8
Add a basic Lua console API
2017-12-07 14:43:27 -05:00
lethosor
622a8dacb6
Update submodules
2017-12-07 14:39:15 -05:00
Quietust
88c7e493b8
Merge ui_area_map_width into ui_menu_width, now a 2-byte array
2017-12-03 20:34:59 -06:00
Quietust
c72ae8d8a7
Merge "announcements" global into d_init where it belongs
2017-12-03 20:05:08 -06:00
Quietust
ec06ed09c9
update structures - add remaining Linux 64-bit offsets
2017-12-03 13:49:57 -06:00
Quietust
1489e7db82
update structures - fix unit_personality and historical_figure_info.personality
2017-12-02 22:14:04 -06:00
Quietust
4edc7a6f43
update DataFuncs to support vmethods with 12-13 parameters ( #1192 )
2017-12-02 21:41:44 -06:00
Quietust
e174135133
update structures
2017-12-02 21:09:00 -06:00
Japa
d1c1dfe2cd
update xml
2017-11-30 19:46:03 +05:30
Phillip Spiess
bbdf157a52
Fixup autocomplete built ins per IRC
2017-11-27 13:45:58 -08:00
Phillip Spiess
7e55efa3f7
Autocomplete built in commands (die, etc.)
2017-11-27 13:15:16 -08:00
Japa Mala Illo
a0634f9ee0
Merge remote-tracking branch 'DFHack/develop' into RemoteServerUnsafe
2017-11-25 11:50:56 +05:30
Japa Mala Illo
ea8347e2ca
update xml
2017-11-25 11:45:30 +05:30
lethosor
35b0e962ce
Fix crash on empty symbol tables
2017-11-25 01:10:47 -05:00
Japa Mala Illo
69a88e1641
Use json for server config.
2017-11-25 11:34:02 +05:30
lethosor
2c95ac411e
Update xml and all uses of job_handler
2017-11-25 00:59:59 -05:00
Japa Mala Illo
272f51ef4b
Merge remote-tracking branch 'remotes/DFHack/master' into RemoteServerUnsafe
2017-11-25 10:24:51 +05:30
lethosor
5795a370bc
Update xml again to fix GCC build error
2017-11-23 16:01:27 -05:00
lethosor
111df1312b
Update xml to 1cdab5a (last for 0.43.05)
2017-11-23 15:50:58 -05:00
Lethosor
9259cb22d2
Merge pull request #1184 from quietust/develop
...
update structures
2017-11-23 11:57:41 -05:00
Quietust
33a43c5bfd
update structures
2017-11-04 07:50:47 -06:00
Japa
f91123610e
Update structures.
2017-10-30 21:51:54 +05:30
Ben Lubar
d3f3ebf778
auto_ptr is deprecated - use unique_ptr instead
2017-10-04 14:49:28 -05:00
Japa Illo
3c5483df03
Change tabs to spaces to satisfy travis.
2017-10-04 09:48:12 +05:30
Japa
bb1eb0b48a
Use a config file to enable outside connections.
2017-10-03 19:48:37 +05:30
Japa
1d02ecff6f
Add safe for remote flag to select default functions.
2017-10-03 18:56:49 +05:30
Japa
cbeb241435
Listen on any address
2017-10-02 20:48:05 +05:30
Japa
8dffd48f70
Add a flag for functions considered safe for a remote computer to call.
2017-10-02 19:55:16 +05:30
lethosor
9d4c7af11c
Merge branch 'develop' of gh:dfhack/dfhack into develop
2017-08-08 20:09:10 -04:00
lethosor
08656a3ca7
Strip DF folder from Ruby script paths
...
Fixes #1146 (temporarily, see #1147 )
2017-08-08 20:08:07 -04:00
Kelly Kinkade
0b26e9aec7
Fix a couple of MSVC warnings
...
Use intptr_t instead of long for a handle, and add an explict cast to
eliminate a narrowing conversion warning
2017-08-07 14:13:22 -05:00
lethosor
5c33fcccbd
Merge remote-tracking branch 'BenLubar/win64-warnings' into develop
2017-08-07 13:51:18 -04:00
lethosor
16fb230ef6
getAnyItem: support viewscreen_textviewerst
2017-08-05 21:38:18 -04:00
lethosor
d280863bc8
Avoid iterating over "has-bad-pointers" fields of IDTYPE_STRUCT and others
...
dfhack/df-structures@4c224dd205
2017-08-05 21:34:16 -04:00
Ben Lubar
17a7885ef2
Fix a bunch of 64-bit Windows warnings
2017-07-21 13:30:05 -05:00
lethosor
15ed1bfd67
stl_vsprintf: avoid truncating 4096-byte strings
2017-07-13 13:08:27 -04:00
lethosor
ce1158780f
Fix crash in stl_vsprintf() from reusing va_list
2017-07-13 13:07:58 -04:00
lethosor
d236181cdc
Merge remote-tracking branch 'BenLubar/repeat-util-cancel-self' into develop
2017-07-12 16:35:24 -04:00
lethosor
3103d697d9
Add an onLoad.init-example file
...
Closes #1093
2017-07-12 16:30:49 -04:00
lethosor
e3cd820fb1
Limit recursive runCommand() calls to 20
...
Addresses an issue with recursive aliases crashing (#701 )
2017-07-12 16:28:21 -04:00
Ben Lubar
7fed961fcd
Make repeatUtil.cancel work even when called from the callback. Closes #1122 .
2017-07-11 15:10:42 -05:00
lethosor
d628212254
Lua API: Use CallWithCatchWrapper for a few more functions
...
This produces more readable backtraces when native functions that aren't wrapped
using wrap_function() throw exceptions.
2017-07-01 17:39:39 -04:00
lethosor
6100074ba6
Add a few MD5 and thread functions to the Lua API
2017-07-01 17:39:17 -04:00
lethosor
7a7f1df908
Redirect stdout and stderr again on Windows
...
DF appears to redirect them itself at an inconvenient point.
Fixes #1124 (hopefully)
2017-06-30 13:29:05 -04:00
lethosor
cc0220f030
Add a "key" option to EditField and FilteredList
2017-06-27 21:10:14 -04:00
Vitaly Pronkin
6af5f3b299
fixing getItemBaseValue() for cheese, sheets and instruments
2017-06-26 09:17:23 +12:00
lethosor
10e13c532a
Add "tweak cage-butcher" and some extra Building module functions
...
* Buildings::markedForRemoval()
* Buildings::getCageOccupants()
Closes #906
2017-06-25 15:27:21 -04:00
lethosor
db375ae83b
Add a Pages:getSelectedPage() helper
...
Equivalent to select(2, pages:getSelected()), but more readable.
2017-06-23 12:46:46 -04:00
lethosor
bf8e65311b
Update submodules
2017-06-23 12:43:38 -04:00
lethosor
cda5cedacf
Fix Gui::refreshSidebar() on topmost z-level
2017-06-23 10:30:16 -04:00
lethosor
ae809afde7
Add Gui::refreshSidebar()
...
This handles feeding CURSOR_DOWN_Z and CURSOR_UP_Z properly, avoiding issues
when on the lowest z-level.
2017-06-23 00:02:21 -04:00
lethosor
0796fafb2a
Add new built-in "alias" command
...
Closes #701
2017-06-19 00:15:20 -04:00
lethosor
27343e3253
Add unit and tile visibility functions
2017-06-10 21:54:08 -04:00
lethosor
9b63c451b1
Expose getUnitsInBox to Lua
2017-06-10 21:03:42 -04:00
lethosor
778ffb0971
More Units module cleanup, modernize getUnitsInBox
2017-06-10 21:02:30 -04:00
lethosor
dff94fc97e
replacment -> replacement
2017-06-10 19:41:59 -04:00
lethosor
0ed7e60522
getAnyUnit: support viewscreen_layer_unit_relationshipst
2017-06-10 19:06:43 -04:00
lethosor
1321a64613
Remove lots of old/unused functions from the Units module
2017-06-10 17:21:34 -04:00
lethosor
ba68683964
Fix ncurses wgetch() on OS X
...
Ref #731
2017-06-08 13:05:31 -04:00
lethosor
8d23660d55
Expose Gui::getAny* to Lua
2017-06-08 11:21:30 -04:00
lethosor
047a66030b
getAnyUnit: add support for viewscreen_unitst, viewscreen_textviewerst
2017-06-07 20:51:40 -04:00
lethosor
da98a5054d
Make sc-script help more helpful
2017-06-04 19:24:26 -04:00
lethosor
92c2e52e45
Fix MSVC error
2017-06-02 21:22:19 -04:00
lethosor
4eb767c3f0
Expose getDepthAt() to Lua
2017-06-02 15:39:49 -04:00
lethosor
ae1aa49089
Add map parameter to Lua paintTile() and use in Painter
...
Also updated gui/siege-engine.lua
2017-06-02 12:42:51 -04:00
lethosor
9df35dd844
revealInDwarfmodeMap: use map y dimensions
2017-06-02 00:40:59 -04:00
lethosor
43c4a88068
Move some checks in paintTile/readTile after hooks are called
2017-06-02 00:40:14 -04:00
lethosor
346e8b91a9
Use getDwarfmodeViewDims() in getPanelLayout()
...
Allows C++ hooks to affect Lua scripts as well
2017-06-01 23:36:02 -04:00
lethosor
05f322ca30
Merge remote-tracking branch 'lethosor/lua-dmdims' into develop
2017-06-01 23:34:35 -04:00
lethosor
b28742cbd0
Respect script path when running ruby scripts
...
Fixes #1099
2017-06-01 16:20:26 -04:00
lethosor
d41ff4e836
Implement map parameters for Lua paintString() and fillRect(), update docs
2017-06-01 16:17:59 -04:00
lethosor
939aff3231
readTile(): add hook support and map parameter
2017-05-31 12:12:15 -04:00
lethosor
f4e18b2d87
Lua: implement to_first argument in dfhack.screen.dismiss()
...
This was mentioned in Lua API.rst, but never actually implemented.
2017-05-30 09:17:09 -04:00
lethosor
e51c5fc2cc
Allow key_pen option in some widget text
2017-05-28 23:11:37 -04:00
lethosor
f59be2a9a0
Expand focus strings for jobmanagement and workquota_condition viewscreens
2017-05-27 00:57:16 -04:00
lethosor
8600efd06b
Make git-describe faster if no git index files have changed
...
Running "git commit" in core and xml touches .git/index and
.git/modules/library/xml/index, respectively, so if neither of those have
changed, neither has the git information we care about, so avoid running git
entirely (which can be slow sometimes).
2017-05-20 16:27:14 -04:00
lethosor
b92095190f
Update stonesense, scripts, xml
2017-05-18 20:52:41 -04:00
lethosor
01c6416824
Update submodules
2017-05-13 21:56:08 -04:00
lethosor
787c54d8a7
Remove several unused CMake and Doxygen files
2017-05-11 22:01:57 -04:00
lethosor
9e32269e90
Update xml
2017-05-09 13:52:26 -04:00
lethosor
8bda738466
df_expr_to_ref: support integer array indices
2017-05-07 16:31:30 -04:00
lethosor
55931703ac
Designate the correct tile for trees with multi-tile trunks
...
DF always designates the southeast trunk tile, while plant.pos is the center,
which is sometimes inaccessible (see #1014 )
2017-05-05 21:25:25 -04:00
lethosor
adb14491d0
Fix loop in Designations::unmarkPlant()
2017-05-05 17:24:51 -04:00
lethosor
81610d0259
Update xml
2017-05-05 14:49:32 -04:00
lethosor
d3c496cc2b
Add getSelectedPlant() and related functions
...
Currently only works with the center tile of multi-tile trees
2017-05-05 14:45:46 -04:00
lethosor
1e469453fc
Add Designations module, currently supporting plant/tree designations
...
This makes it easier for tools to properly handle designating and undesignating
trees for chopping and plants for gathering, which changed significantly in
0.40.20.
Ref #531 (?), #656 , #1014 , #1018 , #1030 , #1076
2017-05-04 21:47:12 -04:00
lethosor
e3258defd7
Expose Gui::revealInDwarfmodeMap() to Lua
...
Closes #1085
2017-05-04 14:37:14 -04:00
lethosor
cd5944689c
Use find_package() to find Perl, and run it earlier
...
Previously, PERL_EXECUTABLE was set manually in library/CMakeLists.txt, which
caused gunzip.pl to fail if was run before that happened.
2017-04-30 17:36:42 -04:00
lethosor
71b553b305
Add a few functions to retrieve unit social activities
2017-04-28 17:25:58 -04:00
Lethosor
318cf92f0b
Merge pull request #1079 from Amostubal/patch-1
...
fix of relations errors.
2017-04-25 21:21:03 -04:00
Amostubal
bc47803948
fix of relations errors.
...
There is a lot more errors in this file, mostly called unk variables... I bet they have names, I've tried to figure out what they were renamed too, but I'm not fully understanding the xml.
2017-04-24 07:07:08 -05:00
lethosor
9d5b69cb20
git-describe.cmake: use 8-digit git commit abbreviations
...
The length here was previously determined automatically, and jumped from 7 to 8
recently, breaking devel/check-release. Since Git seems to think 8 characters is
better now, specify it explicitly to avoid future breakages.
2017-04-23 18:16:00 -04:00
lethosor
3cfbd735dc
Update xml, stonesense, scripts
2017-04-23 17:14:22 -04:00
lethosor
78cb4a31b9
New tweak: condition-material (fixes bug 9905)
...
http://www.bay12games.com/dwarves/mantisbt/view.php?id=9905
2017-03-28 09:50:38 -04:00
lethosor
fa1adbbac4
Allow lua integer writes to accept anything that can be converted to an integer
...
May address #1044
2017-03-18 17:55:51 -04:00
lethosor
400d22cb76
Update xml (ui_advmode_menu and ui_unit_view_mode)
2017-03-18 00:35:16 -04:00
lethosor
67f39316ce
Update xml (assorted viewscreen changes)
2017-03-02 14:05:34 -05:00
lethosor
334817fa1b
Add Lua API functions to determine architecture
2017-03-02 14:04:34 -05:00
lethosor
15759808e5
Fix "plug" output width for generated-creature-renamer
2017-03-02 14:04:20 -05:00
lethosor
c21b7bf941
Add a Painter:key_string() method
2017-03-01 15:56:50 -05:00
lethosor
19695b4ee7
EventManager/eventful: Pass building ID pointers to event handlers
...
Previously, there was some disagreement over whether event handlers such as
Buildings::updateBuildings() took building pointers or building IDs shoved
into pointers. It turned out to be the latter, which, unfortunately, did not
compile on x64. Passing building IDs isn't possible in all cases, because
building event handlers can be called for recently-deleted buildings too.
Pointers to building IDs do work reliably, though.
Fixes #1003
2017-02-17 22:53:48 -05:00
lethosor
a10d4ae226
Add viewscreen::feed_key method
2017-02-11 16:53:50 -05:00
lethosor
f2164d27c9
ls: List scripts outside of hack/scripts
...
Closes #412
2017-02-05 22:11:35 -05:00
lethosor
34988e53b9
Update supported keys in keybinding help text
2017-02-05 22:03:06 -05:00
lethosor
b5c7771b71
Merge remote-tracking branch 'quietust/develop' into develop
...
Fixes #1061
2017-02-04 15:14:10 -05:00
lethosor
7823d78cd9
Update xml and embark-tools field name
2017-02-04 14:49:21 -05:00
lethosor
a8f4833188
internal_memscan: add extra check
2017-02-04 14:49:09 -05:00
Quietust
cc02ced0ac
Fix RTTI in Win64 - offsets are relative to the current module (e.g. the DLL), so it needs to be looked up explicitly
2017-01-21 15:16:06 -06:00
lethosor
92f890d3c6
Update xml, scripts ( #994 and file_compressor fix)
2017-01-04 12:30:42 -05:00
lethosor
61d081849e
xml: ui_sidebar_menus.command_line fix
2016-12-30 18:02:51 -05:00
lethosor
d18beb8daf
xml: Add some linux64 offsets, fix ui_sidebar_menus alignment
...
Fixes #1053
Fixes #1054
Fixes #1055
2016-12-29 15:33:09 -05:00
lethosor
538b07d214
Update xml and fix knowledge_scholar_category_flag::value() custom method
...
Allows bitfields within unions (#1047 , dfhack/df-structures#169 )
2016-12-27 23:24:22 -05:00
Milo Christiansen
8bd92b6a08
Add a Lua module for getting a tile's material ( #1031 )
2016-12-27 16:49:46 -05:00
lethosor
506d124a98
Update xml
...
Ref #1047 , #1050
2016-12-26 19:41:34 -05:00
lethosor
f3e2e5e7d4
Update xml
2016-12-11 18:04:00 -05:00
lethosor
9e0221a44e
Merge remote-tracking branch 'dscorbett/bitfield-constructors' into develop
2016-12-11 17:52:00 -05:00
lethosor
e8c8953cbb
Re-add and update misery plugin
...
Closes #1037
Ref #1011
2016-12-10 18:22:32 -05:00
lethosor
3bae9d9d65
Lua API: Make bitfield.whole return an integer, not a decimal
2016-12-10 12:27:43 -05:00
David Corbett
acdb369aa8
Avoid non-trivial bitfield constructors
2016-12-09 13:41:14 -05:00
lethosor
6e16a7a20c
Update xml, scripts
2016-12-09 11:27:44 -05:00
lethosor
8521b830b2
Merge remote-tracking branch 'CannibalVox/job_remove' into develop
2016-12-05 15:24:37 -05:00
Stephen Baynham
595f3857b6
Reverse the param order of these two methods
...
The current way doesn't match other Job module methods
2016-12-01 20:13:49 -08:00
Stephen Baynham
7920f71517
Bad formatting
2016-11-25 00:25:18 -08:00
Stephen Baynham
de0e211e07
Figured I could like test my code.
2016-11-24 23:35:03 -08:00
Stephen Baynham
e490afdf00
Rebuilt slightly to offer bool return val
...
We fail on unknown general ref types now, without modifying the job at
all yet
2016-11-24 22:36:11 -08:00
Stephen Baynham
8b964ca2dc
Wipe job_items vector
2016-11-21 06:51:21 -08:00
Stephen Baynham
fba32f2e2f
Also disconnect the job from its items.
2016-11-17 23:25:48 -08:00
Stephen Baynham
67af9f5e82
Add lua bindings for removeJob
2016-11-17 23:04:48 -08:00
Stephen Baynham
74f5df99db
Add job remove method
...
Job remove eliminates a job's worker & holder references, if any, puts
the worker on cd, if appropriate, removes the job's postings, eliminates
the job from the global linked list, and then finally deletes it. This
code was tested by incorporating it into autochop and it does make the
plugin work. However, chop jobs don't have holder building references,
and anyway, with DF being 90% edge case by volume, this could use a heck
of a lot more testing.
I saw elsewhere code that prevented worker removal if the job was a
special job, and that made me feel funny so I made the job remove method
not work if the job is a special job.
2016-11-17 19:54:41 -08:00
lethosor
ae59b4f5ad
Update xml, scripts
2016-11-10 14:25:05 -05:00
lethosor
04ad7a0a42
Replace some instances of "cmake -E copy_if_different" with a standalone script
...
@JapaMala reported that CMake < 3.5 doesn't support copy_if_different with
multiple source files.
https://cmake.org/cmake/help/v3.5/release/3.5.html#command-line
2016-11-02 16:23:32 -04:00
lethosor
2c230f0d3e
Improve protobuf file regeneration (no longer uses a dummy status.txt file)
2016-10-24 22:51:27 -04:00
lethosor
4fdbba0207
Only touch protobuf generated files if they actually changed
2016-10-24 22:28:51 -04:00
lethosor
b19a0b4305
Update scripts, xml
...
Fixes #1005
2016-10-19 09:53:51 -04:00
lethosor
b1e3c1088c
Give loadfile() result a better name for tracebacks
2016-10-19 09:53:12 -04:00
lethosor
4c21bbd5ae
Add Lua::TableInsert() helper
2016-10-15 14:55:48 -04:00
lethosor
8a138fcc4c
Avoid polluting global namespace in MapCache.h
2016-10-15 14:53:10 -04:00
Japa
b2424f9a59
Merge branch 'develop' of https://github.com/DFHack/dfhack into develop
2016-10-15 10:32:13 +05:30
Japa
08cc9f3188
Cast size_t to int explicitly to avoid compiler warning C4267
2016-10-15 10:31:38 +05:30
Japa
98ab357df0
Use size_t in both path methods, to avoid warning C4267
2016-10-15 10:17:38 +05:30
lethosor
9f541481ea
Fix some warnings with GCC -Wall
2016-10-15 00:37:18 -04:00
Japa
980b6dd12f
Update XML again.
2016-10-13 19:42:40 +05:30
Japa
d5e8b5eeba
Update XML
2016-10-13 19:35:40 +05:30
lethosor
e6bb7357df
Update xml
2016-10-08 17:09:23 -04:00
lethosor
f6a91c2f30
Log architecture on startup
2016-10-08 16:58:08 -04:00
lethosor
70d3c07cdb
Initial lua getDwarfmodeViewDims rewrite
2016-10-07 23:51:58 -04:00
lethosor
a5338d2f59
Fix rebase_delta type mismatch
...
See #984 . GCC wasn't complaining about this on x64 for some reason.
Also reordered includes.
2016-09-28 20:43:02 -04:00
Quietust
27d2229665
Fix follow_jmp for 64-bit code - skip REX prefix if found
2016-09-25 18:29:57 -05:00
Japa
b09ee3407c
Merge branch 'v0.43.03' of https://github.com/JapaMala/dfhack into develop
...
Conflicts:
library/xml
plugins/remotefortressreader.cpp
2016-08-29 22:06:37 +05:30
lethosor
41e298bdfc
Update submodules
2016-08-27 15:27:57 -04:00
lethosor
85ebbf0e9c
Fix df_expr_to_ref for raw userdata
2016-08-24 17:18:55 -04:00
lethosor
6ce470ad57
Add basic lua expression support to memview
...
Currently just supports basic field accesses (world.x, screen.y.z).
No support for world.x - 4, etc.
Closes #976
2016-08-24 16:26:34 -04:00
lethosor
7487f44fc8
Implement a helper to create lua environments with shortcuts (e.g. scr, unit)
...
Used in gui/gm-editor and lua
Closes #977
2016-08-23 21:47:41 -04:00
lethosor
2dccd1d0ff
Add CheckedArray:__tostring() method
2016-08-22 23:18:30 -04:00
lethosor
1dab45ffed
Replace lua_pushnumber with lua_pushinteger in LuaApi.cpp
2016-08-22 23:18:08 -04:00
lethosor
e983e66a1a
Update xml and scripts
2016-08-21 20:59:24 -04:00
lethosor
70ac99cbfa
Fix Buildings::setOwner() persistence
...
Needed to set bld->owner_id for changes to persist across save/load
Fixes #983 , thanks to Quietust
2016-08-21 20:58:40 -04:00
lethosor
98a187ca43
Update xml
2016-08-18 17:28:44 -04:00
lethosor
9e4a6d7591
Update default base address on 64-bit Linux
2016-08-18 17:28:18 -04:00
lethosor
0b6597ddb2
Stop field_offset from crashing due to missing vtables
...
Now, a pointer to NULL is cast to the type in question, avoiding the need to
call new() or delete() with potentially-misaligned types. Also,
virtual_identity::find has been tweaked to prevent it from crashing on NULL
vtable pointers.
This was suggested by Angavrilov.
2016-08-18 15:59:46 -04:00
lethosor
c2997b9c79
Fix save_dir
2016-08-18 15:47:40 -04:00
lethosor
de731b0299
Move save_dir back into cur_savegame and update submodules
2016-08-14 12:41:09 -04:00
lethosor
e965f5318f
Replace many includes with forward declarations in modules/Maps.h
2016-08-13 21:44:01 -04:00
lethosor
576174ea0b
Lua: Add lengths of (some) containers to their string representations
2016-08-13 19:52:14 -04:00
lethosor
eef6f9bfb7
Add df.new() support for char and unsigned long
2016-08-11 00:01:52 -04:00
lethosor
a1ff432bf8
Restore fixed-width types in string representations of lua fields
...
e.g. tostring(df.new('int16_t')) was returning "<short: 0xaddr>"
2016-08-10 23:58:45 -04:00
lethosor
215afa34f3
Update for 64-bit unit changes
...
Includes xml, stonesense, scripts
Ref DFHack/df-structures@25cb373
2016-08-10 23:50:00 -04:00
Lethosor
6e741b1a80
Merge pull request #969 from Qartar/win64
...
Minor fixes/updates for Visual Studio 2015 Win64
2016-08-10 15:15:44 -04:00
lethosor
02eef95147
Fix base address for Darwin x64
2016-08-09 20:00:31 -04:00
lethosor
e22b3b1de7
Use non-fixed-width types in integer identity_traits definitions
...
In some situations (e.g. 32-bit Linux), "intptr_t" is defined as "int", which is
equivalent to "int32_t", leading to issues with duplicate definitions. In other
situations with GCC, "intptr_t" is "long", which isn't covered by any intNN_t
types. Also, definitions for "long" already had to be added on Windows, because
no fixed-width types in MSVC are equivalent to "long".
Switching to non-fixed-width types should hopefully cover all of these
situations. If this doesn't cover any integer types that we need, it will
be caught quickly, e.g. by references to integer_traits<T> in LuaWrapper.cpp.
2016-08-08 11:46:20 -04:00
lethosor
298d16238e
Remove a few unneeded includes in DataStaticsFields.cpp
2016-08-08 11:45:00 -04:00
lethosor
aeac8b4fef
Update xml
2016-08-05 18:04:42 -04:00
lethosor
ee7357b60e
x86: fix vector validity check
2016-08-05 17:51:08 -04:00
lethosor
dde6901534
x86: fix lua address display
2016-08-05 17:50:49 -04:00
Japa
2fda01d90b
Add support for site towers.
2016-08-03 10:22:30 +05:30
Japa
9189e3dc7e
Send world buildings through remotefortressreader.cpp
2016-08-02 10:30:17 +05:30
Carter Bray
44913609c8
Fix format string warnings
2016-08-01 19:03:26 -07:00
lethosor
79377669a1
Merge remote-tracking branch 'NCommander/dwarfvet' into develop
2016-07-29 16:25:53 -04:00
lethosor
158f18106f
Merge remote-tracking branch 'NCommander/vs2015' into develop
2016-07-29 15:30:32 -04:00
lethosor
55970a71ab
Fix Lua::Push for enums
2016-07-29 11:06:16 -04:00
lethosor
e8fe72826f
Add new integer types to memscan and update find-offsets
2016-07-29 00:05:12 -04:00
lethosor
dc79e2477b
Expose long/[u]intptr_t to lua and fix some integer return values
2016-07-29 00:02:51 -04:00
lethosor
b7856fd9f2
Use enable_if for Lua::Push specializations
2016-07-28 22:04:46 -04:00
lethosor
7b7f7a1b79
Fix support for integer fields in Lua 5.3
2016-07-28 16:36:02 -04:00
lethosor
41a81f9021
Fix some more warnings (GCC 4.8)
2016-07-28 11:00:52 -04:00
lethosor
42c620bb9c
Download non-broken libstdc++ on OS X
2016-07-27 21:43:38 -04:00
lethosor
828fee532a
Switch to downloading zlib.lib and SDLreal.dll on Windows
2016-07-27 21:08:24 -04:00
Vitaly Pronkin
223c83071e
win64 fixes: doReadClassName, ParseVersion
...
cherry-picked from 2f734ae2317060edb83021f17cffc966c435ad7b
2016-07-27 20:21:57 -04:00
lethosor
ddd56d7825
Fix (for win64) and avoid duplicating base address
2016-07-27 20:10:03 -04:00
lethosor
50144b60ea
A few %08x to %p changes
2016-07-27 19:54:19 -04:00
Vitaly Pronkin
8916aba3bf
win64 fixes (partial)
...
cherry-picked from 2f734ae2317060edb83021f17cffc966c435ad7b
2016-07-27 19:46:49 -04:00
Vitaly Pronkin
fe18f176f7
More 64-bit fixes
...
Cherry-picked from 7eb3ba6
- Lua update already done in e2c6350
, 4dd411e
- Excluded library/modules/Buildings.cpp
2016-07-26 23:47:53 -04:00
Vitaly Pronkin
3833ff2e09
proper 64bit address formatting
2016-07-26 23:30:50 -04:00
lethosor
a684e1dd0f
Merge remote-tracking branch 'lethosor/64-bit' into develop
2016-07-26 22:54:36 -04:00
Michael Casadevall
e10397370b
Merge branch 'develop' of github.com:DFHack/dfhack into vs2015
2016-07-11 18:59:22 -05:00
Michael Casadevall
ed6fb69012
Fix whitespace spacing
...
Signed-off-by: Michael Casadevall <mcasadevall@ubuntu.com>
2016-07-11 18:54:03 -05:00
lethosor
cede0528f2
Merge branch 'develop' of https://github.com/dfhack/dfhack into develop
2016-07-06 21:00:20 -04:00
lethosor
39aa143cfa
Update NEWS and submodules
2016-07-06 20:59:49 -04:00
Lethosor
4f96bdd0eb
Merge pull request #950 from TC01/linux-system-tinyxml
...
Support linking against an external tinyxml if EXTERNAL_TINYXML is set
2016-07-06 20:37:28 -04:00
lethosor
2de2e6a983
Update CMakeLists and submodules
2016-07-06 20:30:28 -04:00
lethosor
b4063352cf
Fix crash in vprinterr due to va_list misuse
2016-07-03 23:33:07 -04:00
lethosor
2455e36510
Initial 64-bit support
2016-07-03 23:32:43 -04:00
lethosor
163207e362
Give more feedback for DF detection failures with mismatched XML versions
...
This may help address issues where people forget to read the documentation,
don't run "git submodule update", and end up with a df-structures version
that's too old (which is somewhat common, it turns out).
2016-06-30 20:42:27 -04:00
lethosor
cfaba3ec71
Update various references to scripts/ and mention old git issues in Compile.rst
2016-06-29 19:38:15 -04:00
lethosor
af906d6582
Remove library/scripts submodule
2016-06-29 19:06:00 -04:00
Ben Rosser
ae55d2d526
Support linking against an external tinyxml if EXTERNAL_TINYXML is set
...
As best as I can tell, the copy of tinyxml dfhack uses is unmodified
from whenever it was first bundled. This commit adds an option to CMake,
EXTERNAL_TINYXML, that if set to ON, will attempt to link against a system
tinyxml instead of using the dfhack-bundled one. It defaults to OFF,
so there is no change in default behavior.
The DFHACK_TINYXML variable is then set to either "tinyxml" or "dfhack-tinyxml"
so the library (and any plugins that need updating) can link against one
or the other.
The FindTinyXML.cmake script was taken from https://github.com/ros/cmake_modules
(licensed under the 3-clause BSD license).
Add license text to new CMake file.
2016-06-29 17:53:16 -04:00
Michael Casadevall
d509cf2fb5
It helps when you pop pragmas
...
Signed-off-by: Michael Casadevall <mcasadevall@ubuntu.com>
2016-06-28 09:39:46 -05:00
Michael Casadevall
d49032ef73
Supress a lot of compiler noise in hopes of finding real errors. Right now, a plugin free DFHack can be built with VS2015
2016-06-28 08:34:11 -05:00
Japa
b338d0218e
Merge branch 'develop' of https://github.com/DFHack/dfhack into develop
2016-06-20 13:22:25 +05:30
Japa
36aafd550b
Increased the message size limit in RemoteClient from 8mb to 64mb.
2016-06-20 13:17:30 +05:30
lethosor
6d1c4cd9ce
Merge branch 'develop' of https://github.com/dfhack/dfhack into develop
2016-06-16 23:37:21 -04:00
lethosor
a7d5c2132a
update xml
2016-06-16 23:37:01 -04:00
Japa
0918efd02d
fix word_wrap not returning a value.
2016-06-16 20:52:16 +05:30
lethosor
27a84a8246
Move scripts to library/scripts
...
git can't cope with replacing scripts/3rdparty/* submodules with a single
scripts submodule.
2016-06-15 18:45:08 -04:00
lethosor
9de4550fde
Update submodules
2016-06-15 12:11:20 -04:00
lethosor
022a1bf9e8
Wrap script descriptions in `ls` output and remove description length cap
2016-06-14 21:24:27 -04:00
lethosor
4f3a2b39d7
Update xml
2016-06-14 13:21:59 -04:00
lethosor
f07bc03c69
Update clsocket and Open()/Listen() usage
2016-06-14 13:21:51 -04:00
Lethosor
a2b2c66798
Merge pull request #931 from warmist/advfort2
...
Advfort2
2016-06-14 09:45:33 -04:00
Michael Casadevall
90c7dc41ec
Update where library/xml to point to current master
...
Signed-off-by: Michael Casadevall <mcasadevall@ubuntu.com>
2016-06-13 17:10:58 -04:00
Michael Casadevall
a03b32846a
Modify DFHack to handle new produce() prototype. Major thanks to lethosor, and ragundo for their help in this
...
Signed-off-by: Michael Casadevall <mcasadevall@ubuntu.com>
2016-06-13 16:57:45 -04:00
Michael Casadevall
e45fbfc61d
Modified dwaftvet plugin to work with latest DFHack
...
Initial commit of the dwarfvet plugin
Signed-off-by: Michael Casadevall <mcasadevall@ubuntu.com>
2016-06-08 04:14:59 -04:00
lethosor
a47a1c83ba
Update xml, clsocket
2016-06-07 08:17:40 -04:00
lethosor
fa1c589391
Update xml
2016-05-30 16:58:51 -04:00
lethosor
d44bc069ad
Merge remote-tracking branch 'BenLubar/thread-memory-leak' into develop
2016-05-30 16:24:42 -04:00
lethosor
9fc43cff4d
Make const method wrappers possible
...
Reverts ae3052f
Ref #935
2016-05-28 20:11:42 -04:00
lethosor
113325f885
update xml
2016-05-28 10:29:53 -04:00
lethosor
ae3052f79a
Make knowledge_scholar_category_flag::value() non-const
...
const methods can't be wrapped at the moment, at least without changing things
in DataFuncs.h
2016-05-28 10:28:22 -04:00
lethosor
4d3df60470
Update xml (offsets)
2016-05-27 17:51:01 -04:00
lethosor
c1ba435058
Update version and xml
2016-05-27 17:41:23 -04:00
Ben Lubar
e76258b040
knowledge category flag
2016-05-26 15:15:42 -05:00
Ben Lubar
700392ba55
Fix tinythread memory leak in two ways:
...
1. update to tinythread version 1.1, which provides a detach method
2. move the thread disassociation to the join function, which allows
attached threads to be joined even after they finish (this was the main
leak)
Also update RemoteServer.cpp to detach threads and delete the thread
objects instead of leaking them (although they are much smaller than the
actual threads).
2016-05-21 19:17:08 -05:00
Warmist
6c64b3441d
Fixes to gui/advfort.lua
2016-05-20 13:55:59 +03:00
lethosor
d93cf2cd2e
Update xml
2016-05-17 23:26:21 -04:00
lethosor
b7aa8aca26
Update xml
2016-05-14 22:27:21 -04:00
lethosor
1832e563b7
Update xml
2016-05-14 19:41:41 -04:00
lethosor
a89251cdf8
Find job in job screen
2016-05-14 16:07:27 -04:00
lethosor
118d88e44f
Update xml
2016-05-14 16:07:10 -04:00
lethosor
55e58e5f06
Update handling of viewscreen_workshop_profilest in Gui module, search/sort plugins
2016-05-14 11:43:37 -04:00
lethosor
97f7cd6081
Bump version and update xml
2016-05-12 16:03:33 -04:00
lethosor
fee6e57b40
Disable viewscreen_layer_workshop_profilest focus handler for now
2016-05-11 17:52:56 -04:00
lethosor
ed81be16b3
Improve logging of vtable interpose errors
2016-05-11 17:52:10 -04:00
lethosor
38051a5a48
remove tweak manager-quantity
2016-05-11 17:51:57 -04:00
lethosor
b53f829737
Update to 0.43.01-alpha0 and update xml
2016-05-10 17:48:50 -04:00
lethosor
c1e44c178f
Add on_click/on_rclick handlers to widgets.Label
...
Closes #919
2016-05-09 21:30:34 -04:00
lethosor
402a96b0e6
Expose new unit functions to lua and add some basic safety checks
2016-04-23 21:52:50 -04:00
lethosor
bc7c689d93
update xml
2016-04-23 20:33:03 -04:00
lethosor
52728babd4
Merge branch 'develop' into zone-unassign
2016-04-22 18:41:15 -04:00
lethosor
b36193857c
Add string:startswith(), endswith()
2016-04-16 17:13:41 -04:00
lethosor
0d37209063
use trade_state enum
2016-04-13 09:44:57 -04:00
Warmist
7c91b8f755
Add more informative focus_path
...
This with conjunction of changes in eventful will make the sidebar overlay more bug-free :)
2016-04-10 16:53:18 +03:00
Warmist
8b8ce4eff9
Spelling mistake
2016-04-10 15:45:43 +03:00
Warmist
d1c45d00d2
Fix some bugs in workshopOverlay
...
Fix bugs relating to "remove building"/"suspend remove" part of overlay.
2016-04-10 14:44:09 +03:00
Warmist
80521d1bb1
add onGetSelectedBuilding to workshop overlay
...
This will make other stuff that depends on dfhack.gui.getSelectedBuilding work with workshop overlay
2016-04-10 12:28:15 +03:00
lethosor
49863a9f32
Add a file-like lua JSON wrapper
2016-04-08 17:40:14 -04:00
lethosor
b97d33ca28
moveToBuilding improvements
...
- Don't set in_building by default when use_mode is 0 (consistent with most vanilla DF items)
- make use_mode optional and default to 0 (including in Lua API)
Resolves #885
2016-04-05 11:43:02 -04:00
lethosor
d9e368cab4
Update xml
2016-04-03 21:10:02 -04:00
lethosor
e0ae7bde79
Add Lua primitives: ptr-string, pointer, ptr-vector, bit-vector, bit-array
...
These are most useful with df.reinterpret_cast, but df.new can also be used for
most of these (except ptr-string)
2016-04-03 20:48:57 -04:00
lethosor
37c81df21c
Add reverse vtable name lookup
2016-04-03 20:45:44 -04:00
lethosor
a49f313f84
update xml
2016-04-03 13:34:52 -04:00
lethosor
ec5e91bd6a
Update xml
2016-03-28 21:00:27 -04:00
lethosor
b115fdc73f
Load script paths from dfhack-config/script-paths.txt
2016-03-27 15:56:23 -04:00
lethosor
866d31f121
Update xml
2016-03-26 11:12:06 -04:00
lethosor
af4a3428a6
Split DataStaticsFields into multiple compilation units
2016-03-22 17:34:25 -04:00
lethosor
b8bbf5f545
field_offset: Use actual type instances instead of reinterpret_cast(type, 1)
...
ui_build_selector is a virtual class as of 0.42.06, so reinterpret_cast-ing it
with bad addresses will crash. 'df.new(df.ui_build_selector)' works just fine.
2016-03-22 17:27:53 -04:00
Japa
a3ddc63836
Merge branch 'develop' of https://github.com/DFHack/dfhack into develop
...
Conflicts:
plugins/remotefortressreader.cpp
2016-03-20 16:30:49 +05:30
lethosor
e505bf0a58
Update xml
2016-03-18 17:05:59 -04:00
lethosor
76793045a9
Only block keyboard events in OS X SDL_PollEvent hook without focus
...
Blocking all events causes issues with window manager controls when the window
is not focused - for example, DF doesn't resize certain screen buffers, leading
to flickering in OpenGL print modes.
2016-03-13 10:33:25 -04:00
expwnent
f8ff447cb5
Add a check to the histfig fix and tweak NEWS.
2016-03-10 08:50:03 -05:00
expwnent
fd132d3fe7
Fix persistent histfig crashbug.
2016-03-10 08:38:55 -05:00
lethosor
cbb4275a44
Update xml
2016-03-09 14:54:24 -05:00
sv-esk
dd9f1bf759
make world friend of machine and building handlers to allow use their
...
protected constructor
2016-03-09 13:03:16 +02:00
lethosor
c700847bcf
Remove a couple unneeded includes
2016-03-04 20:23:00 -05:00
lethosor
c595f7908a
Update xml
2016-03-04 20:22:09 -05:00
sv-esk
9da79544de
fix Units::isCitizen
...
fixes a lot of issues where plugins ignore non-dwarf citizens and work
with dwarf mercenaries and bards, where it shouldnot
2016-03-04 22:48:33 +02:00
lethosor
8eb39cc1d0
Merge branch 'develop' of https://github.com/dfhack/dfhack into develop
2016-03-03 23:19:03 -05:00
lethosor
0db3c72557
Update xml
2016-03-03 23:18:36 -05:00
sv-esk
d508028bcc
fix job-duplicate (do not clone posting_index)
...
if job cannot be done right now, game puts it in df.global.world.job_postings
when job finally can be done, game removes job from postings and clears posting_index
that index should not be cloned by job-duplicate(new jobs(added by vanilla way) have that value -1 always anyway)
cloning posting_index into the new job causes that job to be ignored
2016-03-03 21:32:16 +02:00
lethosor
5334bd8a6a
Bump version to 0.42.06-alpha0 and update xml
2016-02-28 11:18:27 -05:00
lethosor
5bb19a230f
getKillCount: also search kills->events
2016-02-25 15:34:56 -05:00
lethosor
25507a10f9
Add Units::getKillCount() and expose it to Lua
2016-02-25 15:21:14 -05:00
lethosor
3e44aabf12
Expose Units::getSquadName to lua
2016-02-25 15:19:35 -05:00
lethosor
297bbd6f20
Merge remote-tracking branch 'warmist/develop' into develop ( closes #772 )
2016-02-24 17:24:03 -05:00
sv-esk
83c70ccb0f
forbid manipulator editing non-citizens
2016-02-11 13:31:52 +02:00
lethosor
fafe1e9ce1
Update xml
2016-02-03 23:19:41 -05:00
Warmist
d4988c5faf
Add no handler version of lua event.
2016-02-01 22:22:12 +02:00
James Gilles
0a670bb0db
Implement #804 , move some functions to Units, colorize zone output, a
...
little cleanup
2016-02-01 11:12:06 -05:00
lethosor
2d23a848cc
git-describe: Add git xml information
2016-02-01 10:30:53 -05:00
lethosor
77466f01e0
Merge remote-tracking branch 'BenLubar/benlubar-valgrind' into develop
2016-01-31 14:52:04 -05:00
lethosor
248331a196
buildingplan: Support floodgates, grates, bars
...
See #808
2016-01-31 14:50:07 -05:00
Ben Lubar
ea9261f5b5
allow dfhack to run inside valgrind
...
valgrind replaces the readlink system call, but not the open system
call. By calling readlink first, we guarantee that /proc/self/exe is the
actual Dwarf Fortress executable and not the valgrind executable.
See also: https://bugs.kde.org/show_bug.cgi?id=86921
2016-01-31 13:34:07 -06:00
lethosor
80fd2270db
Merge branch 'develop' of https://github.com/dfhack/dfhack into develop
2016-01-31 14:22:57 -05:00
Ben Lubar
a316dfa074
set floodgate flags correctly when allocating it in lua or c++
...
https://github.com/DFHack/dfhack/blob/0.42.04-alpha2/plugins/ruby/building.rb#L63
2016-01-29 14:50:50 -06:00
lethosor
80ecbbd369
get rid of "private" comment in BitArray.h
2016-01-21 16:49:16 -05:00
Ben Lubar
675d173266
set civzone number when constructing a civzone
2016-01-18 14:46:39 -06:00
lethosor
0b2ba377be
Update xml
2016-01-18 11:49:37 -05:00
lethosor
ab8cce2a86
Update xml
2016-01-18 10:13:16 -05:00
lethosor
0bcc8dc443
exportlegends: fix day/month issues more reliably
...
Fixes #783 , #791
2016-01-09 19:28:12 -05:00
lethosor
d670ee8ab4
New tweak: block-labors
...
Prevents labors that can't be used from being toggled
Suggested at http://www.bay12forums.com/smf/index.php?topic=121451.msg6719464#msg6719464
2016-01-08 19:27:11 -05:00
lethosor
93fe222c35
Revert #719
...
No plugins built prior to the symbol naming change in 4fc6cb6f
can
be loaded in DFHack for v0.42.
2016-01-01 11:20:54 -05:00
lethosor
d0c28d3f50
Prevent plugins with active viewscreens from being unloaded
...
This requires plugins to pass plugin_self to Screen::show(), but
avoids the need to implement special checks in plugin_onstatechange
for the SC_BEGIN_UNLOAD event.
2016-01-01 11:15:29 -05:00
lethosor
ef62c044a3
Update NEWS, xml
2016-01-01 10:30:02 -05:00
lethosor
31745f4a36
Fix a couple exportlegends issues and update xml
2015-12-31 14:32:31 -05:00
lethosor
090787e927
Update xml
2015-12-31 13:41:46 -05:00
lethosor
2079093d5a
Fix new addresses in export-dt-ini
2015-12-28 23:19:02 -05:00
lethosor
22283066ca
Update xml
2015-12-28 17:30:05 -05:00
lethosor
39086acf64
Merge export-dt-ini changes from splintermind/Dwarf-Therapist
2015-12-28 15:46:42 -05:00
lethosor
c23ac50250
Always run dfhack.init-example if dfhack.init doesn't exist
...
This previously only happened if no files matching *dfhack*.init
existed
2015-12-27 16:39:10 -05:00
lethosor
e075a06486
Add search controls to all viewscreen_petst subpages
2015-12-27 15:49:10 -05:00
lethosor
d087f4f741
Expose process MD5/PE to Lua (useful in export-dt-ini)
2015-12-27 14:59:18 -05:00
lethosor
a977f274b1
Update xml
2015-12-26 20:00:09 -05:00
lethosor
fabff1ddfb
Fix df::occupation usage
2015-12-26 19:59:54 -05:00
lethosor
5263d425a2
Merge remote-tracking branch 'BenLubar/benlubar-init-args' into develop
2015-12-26 13:47:58 -05:00
Ben Lubar
106891f6e0
vim-style +-args. for example, "./dfhack +echo foo" would be equivalent to running ./dfhack and then typing "echo foo" into the console. uses shell argument splitting, so "./dfhack +somecommand 'foo bar' baz" does the right thing. See DFHack#755.
2015-12-26 12:10:44 -06:00
lethosor
9a82f59518
Merge remote-tracking branch 'BenLubar/benlubar-init-args' into develop
2015-12-26 11:49:45 -05:00
lethosor
05926d9734
New tweak: title-start-rename
...
Adds a safe rename option to the title screen "Start Playing" menu
2015-12-26 11:47:58 -05:00
lethosor
64d861bf6b
Add support for viewscreen_locationsst to various gui functions
2015-12-25 11:09:13 -05:00
lethosor
25e808be38
Update xml
2015-12-23 17:45:08 -05:00
lethosor
e3e68a8df9
Add a search option to the location occupation menu
2015-12-23 16:57:43 -05:00
lethosor
14f1e6b06c
Improve prerelease warning somewhat
2015-12-22 19:34:54 -05:00
lethosor
2a2ab00ca9
Add "map" parameter to a lot of drawing functions
...
Ref #746
2015-12-22 11:42:51 -05:00
lethosor
10c72a3d5d
Fix produce() call in modules/Items.cpp
2015-12-22 09:46:01 -05:00
lethosor
e4ff4fe64c
Update xml
2015-12-22 09:43:17 -05:00
lethosor
ef27018545
Update xml
2015-12-20 15:19:32 -05:00
lethosor
eeb0fc7a0f
update xml
2015-12-19 23:12:26 -05:00
lethosor
eb1ae54d63
Add ui_lever_target_type scan to find-offsets
2015-12-19 17:09:29 -05:00
lethosor
ea79fc692a
Update xml
2015-12-19 11:07:42 -05:00
lethosor
5a1e5e1464
Expose Units::casteFlagSet()
2015-12-19 11:07:35 -05:00
lethosor
ca29f60518
update xml
2015-12-18 23:09:27 -05:00
lethosor
55d5706a21
Update structures and fix various issues with plugins producing items
...
reaction_product::produce() takes a new unidentified vector<void*>*.
Passing a reference to an empty vector appears to work.
2015-12-18 18:40:11 -05:00
lethosor
347a112aa1
Add support for 11-argument function wrappers
...
Needed by item::addImprovementFromJob() as of 0.42:
dfhack/df-structures@f6361e2
2015-12-18 17:45:23 -05:00
Ben Lubar
9bccf457c5
Check for ui_sidebar_menus being null before using it.
2015-12-17 10:54:19 -06:00
Ben Lubar
80ec5ab043
vim-style +-args. for example, "./dfhack +echo foo" would be equivalent to running ./dfhack and then typing "echo foo" into the console. uses shell argument splitting, so "./dfhack +somecommand 'foo bar' baz" does the right thing. See DFHack#755.
2015-12-13 14:03:25 -06:00
lethosor
78d6b92127
Change strangemood permitted skill checks to job checks
...
permitted_skills was removed in 0.42 (dfhack/df-structures@6e2e8731 )
2015-12-12 11:17:00 -05:00
lethosor
1329acc516
Update xml
2015-12-11 20:34:48 -05:00
lethosor
83603fcf45
Add prerelease build flag and warning script
2015-12-11 20:27:46 -05:00
lethosor
571df39878
Update submodules
2015-12-11 16:35:42 -05:00
lethosor
7e9d6fba86
Update xml
2015-12-09 20:03:14 -05:00
lethosor
448e367d4d
Update xml
2015-12-08 17:32:13 -05:00
lethosor
a3d6d16757
Update xml
2015-12-07 17:14:46 -05:00
lethosor
02d2405d1f
Update xml
2015-12-07 16:34:47 -05:00
lethosor
49ad153d4b
Update xml
2015-12-06 17:12:46 -05:00
lethosor
3b2ace95f8
Make SDL_UpperBlit hook check core status first
2015-12-05 20:07:54 -05:00
lethosor
b63270162d
Update xml
2015-12-04 23:12:49 -05:00
lethosor
7a69b90277
Update xml
2015-12-02 16:27:51 -05:00
lethosor
8b406cc0b3
Make a separate copy of DF's SDL library to link against on OS X
...
Linking to any library with ".framework" in its path on OS X causes
that directory to be included in the include path (with -F), which
causes all of the DFHack core to be rebuilt unnecessarily when
changing DF folders.
2015-12-01 17:35:39 -05:00
lethosor
2aeac718cc
workflow: Account for job postings correctly and fix existing issues
...
Without removing postings correctly, it was possible to end up with
multiple workers assigned to a job that workflow had suspended
multiple times, which caused crashes if more than one worker was
assigned to the same job by DF.
This adds an additional command, fix-job-postings, that runs
automatically when loading a world and fixes:
- Multiple job postings that point to the same job
- Job postings that point to a job where posting_index == -1
(i.e. jobs that should have no posting assigned)
Fixes #741
2015-11-25 20:33:13 -05:00
lethosor
df4fb70be2
Provide more suggestions for unrecognized commands
2015-11-25 20:22:14 -05:00
lethosor
610170b0b0
Add hooks for getDwarfmodeViewDims and getDepthAt (new)
2015-11-15 11:54:34 -05:00
lethosor
1ff9277e12
Remove plugin export functionality (unused)
2015-11-15 11:54:34 -05:00
lethosor
fcfffd1cb6
Track state of gui hooks
...
Also fix a bug in drawborder() and expand color-dfhack-text to test
multiple hooks
2015-11-15 11:54:34 -05:00
lethosor
fff9072b07
Add initial support for hooking into Gui-related functions
2015-11-15 11:54:34 -05:00
lethosor
875ecf7827
Update Core::top_viewscreen before calling state change handlers
...
This was previously done right before SC_VIEWSCREEN_CHANGED events
were handled, meaning that code handling earlier events that used
top_viewscreen (rather than getCurViewscreen()) could refer to an
invalid viewscreen, i.e. in the tick after it was deleted.
Fixes #747
2015-11-14 21:48:51 -05:00
lethosor
2882422a3e
Don't require short script help to start with a space
...
Ref #742
2015-11-09 22:58:46 -05:00
lethosor
3fb2628921
Add a Lua implementation of next_enum_item()
2015-11-07 15:22:30 -05:00
lethosor
051244c8d6
Fix GCC compile error
2015-11-06 20:05:14 -05:00
lethosor
d1cd5df314
Merge remote-tracking branch 'DoctorVanGogh/automats-floorfix' into develop
2015-11-06 19:54:06 -05:00
DoctorVanGogh
e9be1aa657
Fix for construction over existing construction & on top of walls
...
Fix to allow constructions on top of (natural) down stairs
2015-11-06 19:00:43 +01:00
lethosor
867b733a04
Fix a few GCC warnings on Linux (GCC 4.6)
2015-11-05 21:48:13 -05:00
lethosor
8412a496dd
Remove extra check for "type" command
2015-11-05 19:09:14 -05:00
lethosor
23b02ebcf2
Update xml
2015-11-05 16:17:52 -05:00
lethosor
e2a1658124
Update xml
2015-11-04 21:42:04 -05:00
Lethosor
14707e7d81
Merge pull request #719 from DoctorVanGogh/r3compat
...
Allow loading (external) plugins compiled against r3
2015-10-31 19:12:07 -04:00
DoctorVanGogh
c6220c9703
Remove tabs/trailing whitespaces
2015-10-31 23:43:57 +01:00
Lethosor
6e5d9c23e5
Merge pull request #715 from DoctorVanGogh/webfix
...
Add 'undisturbed' flag to job item checks
2015-10-31 11:28:25 -04:00
lethosor
7da3c65079
Fix display of arrows in lua filtered list widgets
...
Fixes #718
2015-10-30 19:16:29 -04:00
lethosor
83991d2a22
plug: Don't color loaded plugins
2015-10-30 18:45:55 -04:00
lethosor
ac71fa8070
Add isValidLabor() to Units module
...
Closes #711 and could avoid potential issues when editing units from
other civs with manipulator.
2015-10-30 18:41:09 -04:00
lethosor
1250bb5204
type: Provide more useful information (script paths, plugin names)
2015-10-27 17:34:32 -04:00
DoctorVanGogh
4e0f426bba
Fix code formatting
2015-10-26 02:37:44 +01:00
DoctorVanGogh
ba53f3c035
Add 'undisturbed' flag to job item checks
2015-10-26 02:19:41 +01:00
DoctorVanGogh
fb4d16f477
Enable loading of r3 plugins
2015-10-25 00:04:49 +02:00
lethosor
8de710f1c1
Add Renderer module - safer way to install custom renderers
2015-10-21 17:18:39 -04:00
lethosor
c44ac8ec6e
Improve handling of fatal errors and errors in dfhack.lua
...
* Several fatal errors that occurred during core initialization didn't
stop initialization or set 'errorstate' properly, which caused
update hooks and other code to crash later. This has been fixed and
should address crashes like the one mentioned in #470 .
* Errors when loading dfhack.lua now cause Lua::Open() to fail, which
triggers a fatal error in Core::Init()
* Failure to initialize the console no longer results in a call to
fatal() (since it didn't actually stop initialization previously)
2015-10-17 21:18:04 -04:00
lethosor
5387c03ea0
DFHackVersion: Expose whether the built commit is tagged
2015-10-17 15:35:40 -04:00
lethosor
d3dbc6225a
Implement getViewscreenByType() in lua
2015-10-17 15:11:04 -04:00
lethosor
96df70fe0b
Use TCSADRAIN when disabling raw mode as well
2015-10-14 15:58:27 -04:00
lethosor
632a809d6f
Update xml
2015-10-11 11:39:16 -04:00
lethosor
c2267013b4
plug: List enabled state
2015-10-03 13:42:20 -04:00
lethosor
3f5c002634
Pass virtual_identity by reference
2015-10-03 09:27:24 -04:00
lethosor
d343dfd8a0
Add a function to find viewscreens (or parents) of a given type
...
This makes it possible for some plugins to detect the game state more
reliably - for example, prospector would previously fail when
embarking if the viewscreen_choose_start_sitest instance had any
children.
2015-10-02 21:50:55 -04:00
expwnent
e95aea90e0
Fix CMake warning over INTERFACE_LINK_LIBRARIES / policy CMP0022.
2015-09-27 04:30:46 -04:00
lethosor
b16e59b91c
Check for existence of save folder before attempting to log events
...
cur_savegame.save_dir can be populated when the save directory does
not yet exist after world generation (since the game can be aborted
at that stage without saving).
2015-09-26 14:26:44 -04:00
lethosor
fa60ccdd52
Don't find scripts from the last loaded world's raw/scripts folder
2015-09-26 14:26:13 -04:00
lethosor
b679a0c482
Update xml
2015-09-26 13:45:51 -04:00
lethosor
2bcf74d74c
Merge branch 'develop' of https://github.com/dfhack/dfhack into develop
2015-09-26 10:46:45 -04:00
lethosor
ec17685041
CMake: Add compiler checks and GCC version checks
2015-09-26 10:46:29 -04:00
expwnent
dfe9ec90f2
Update XML.
2015-09-25 19:43:14 -04:00
expwnent
a188b9d567
Merge branch 'third-party-scripts' into develop
2015-09-25 17:48:25 -04:00
expwnent
5bcff42800
Add third party scripts.
2015-09-23 23:46:26 -04:00
lethosor
788860efb6
Log more information about version information on startup
...
May help address #653
2015-09-22 20:01:05 -04:00
lethosor
91a1836439
Fix a few issues with init file variations
...
* GCC does not allow std::string instances or enums without a base
type to be passed as varargs
* Fixed path concatenation issue causing dfhack.init to not be loaded
2015-09-21 18:57:58 -04:00
expwnent
2c9b268184
Merge pull request #689 from expwnent/develop
...
Generalize dfhack.init so it looks for more files in more places, for onload, onunload, etc.
2015-09-21 17:33:52 -04:00
expwnent
af90d14cb2
Use shenanigans to make a certain table const.
2015-09-21 17:24:51 -04:00
lethosor
051a1f9661
Update xml
2015-09-19 18:00:59 -04:00
lethosor
a56a427d12
Make Filesystem::is* functions handle nonexistent paths properly
...
If stat() failed, these functions could read from an uninitialized
stat struct and return "true" for paths that didn't exist.
2015-09-19 17:34:58 -04:00
expwnent
5bf3093139
Now it looks for dfhack*.init instead of just dfhack.init, onLoad*.init instead of just onLoad.init, etc.
2015-09-15 07:27:42 -04:00
lethosor
d696832efa
Merge branch '3rd-party-scripts' into develop
2015-09-14 16:52:13 -04:00
lethosor
9eb86c7e38
Support additional script search paths
...
These can currently be added/removed from C++ or through the Lua API.
2015-09-06 16:23:02 -04:00
lethosor
66c7a461fd
Don't attempt to copy non-files into dfhack-config
2015-09-03 15:02:51 -04:00
lethosor
9eac4585b1
keybinding: support 0-9, F10-F12
2015-09-02 15:56:53 -04:00
lethosor
949e4d42cf
Remove MacPool.*
2015-08-29 19:42:32 -04:00
lethosor
906fba9b54
Update xml
2015-08-26 16:41:04 -04:00
lethosor
81ef17df32
Update xml
2015-08-25 10:23:59 -04:00
lethosor
29a0aee44c
Implement strnlen on OS X <= 10.6
...
Fixes #182
2015-08-24 17:51:42 -04:00
lethosor
19f966aefc
Improve some plugin-related error handling
2015-08-16 17:28:31 -04:00
lethosor
5717c2cdd4
Don't set plugin state to PS_BROKEN due to load failures
2015-08-16 17:02:53 -04:00
lethosor
a5f15b279c
plug: Include deleted plugins in full list
2015-08-14 19:32:41 -04:00
lethosor
735498c3f9
Fix merge conflict
2015-08-14 16:23:39 -04:00
lethosor
4fc6cb6f17
Several PluginManager improvements
...
* load/unload/reload are no longer restricted to plugins that exist
on startup
* Names passed to DFHACK_PLUGIN must match the plugin's filename
(remotefortressreader vs RemoteFortressReader, counters vs probe)
* "plug" output lists all plugins and state/command information
* Deleted plugins can be reloaded again if they are replaced
* load/unload/reload don't fail silently with broken plugins
* Built-in commands are recognized internally (e.g. "help help"
does not display "help is not a recognized command"), although help
for them is not yet implemented
* New command: "type" (bash-like) - shows where/how a command is
implemented
* "plug" can accept multiple plugin names
* "ls" displays more information about unloaded/unrecognized plugins
* "load all" changed to "load -all" (or "load --all", "load -a", ...)
2015-08-14 16:11:23 -04:00
lethosor
1bf3a6a37a
Update xml
2015-08-14 10:46:05 -04:00
lethosor
2aba2da56d
Avoid DataStaticsFields dependency on PluginManager.h
2015-08-11 22:59:19 -04:00
lethosor
9c84c78129
Make lua listdir functions return useful error messages
2015-08-10 12:44:27 -04:00
lethosor
d09cdc83ba
Update xml
2015-08-10 11:25:15 -04:00
lethosor
dc747d59df
Link dfhack-md5 on Windows
2015-08-09 13:20:28 -04:00
lethosor
418d2831ef
Add a framework for including 3rd-party script repos
...
Repos need to include a CMakeLists.txt file with calls to the
DFHACK_SCRIPTS macro, which functions similarly to DFHACK_PLUGIN.
The `open-legends` script from lethosor/dfhack-scripts is included
as an example.
2015-08-06 21:50:01 -04:00
lethosor
f46d3d137f
Allow multiple contexts to be specified when adding keybindings
2015-08-06 20:41:54 -04:00
lethosor
afce8d810b
Update xml
2015-08-06 17:32:42 -04:00
lethosor
de49befdbb
Improve version information
...
* Add reimplementations of old DFHACK_VERSION-style macros
* Expose full git commit ID
* Expose all DFHack::Version functions to Lua
2015-08-06 17:30:51 -04:00
lethosor
a67326ad00
git-describe: always use long format
2015-08-06 17:01:11 -04:00
lethosor
d02e67267a
Replace jsonxx with jsoncpp
2015-07-29 15:50:33 -04:00
lethosor
cc5045d6df
Fix Alt-E/U/N bindings on OS X
2015-07-29 10:32:19 -04:00
lethosor
f387eb2960
Fix an issue where Ctrl-*-A and Ctrl-*-Z keybindings were not properly detected
2015-07-29 09:35:09 -04:00
lethosor
786086e5c5
Make non-CR_OK return values for SC_BEGIN_UNLOAD events abort unload
...
Returning CR_FAILURE, for example, is more consistent with
plugin_shutdown().
2015-07-28 18:36:20 -04:00
lethosor
e51779b08c
Update xml
2015-07-27 21:40:04 -04:00
lethosor
7eb4c33cb1
Cache result of getPath() on darwin
2015-07-27 20:32:33 -04:00
lethosor
03aa2399a0
Add environment variables to skip global and vtable initialization
2015-07-23 23:25:01 -04:00
lethosor
27295a9b6f
Log DFHack and save-specific information on world (un)load events
2015-07-23 23:24:00 -04:00
lethosor
c34e9bb657
Update xml
2015-07-22 17:27:57 -04:00
lethosor
fc094e2dbc
OS X: Check for existence of SDL.framework before building
2015-07-21 16:26:41 -04:00
lethosor
83f89480aa
Update xml
2015-07-18 14:10:53 -04:00
lethosor
22ea68e68a
Use is_valid_enum_item in FOR_ENUM_ITEMS
...
This is part of the workaround for
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43680
Fixes DFHack/dfhack#654
Fixes JapaMala/armok-vision#21
2015-07-18 12:57:12 -04:00
lethosor
74404c62e7
Fix deadlock when aborting plugin load
2015-07-17 16:00:41 -04:00
lethosor
797e9b4485
OS X: Prevent DF window from receiving input when not focused
...
This partially fixes DFHack/stonesense#32 , in the sense that input
to Stonesense is no longer received by DF, but does not cause
Stonesense to receive input either.
2015-07-17 13:49:17 -04:00
lethosor
2afc1c6d3f
Update xml
...
viewscreen_choose_start_sitest fixes
2015-07-17 13:48:49 -04:00
lethosor
527b17d964
Update submodules
2015-07-04 20:45:37 -04:00
lethosor
95e04ef56a
Update xml
2015-06-30 16:10:49 -04:00
lethosor
6cfc855e19
Use getcwd() in Process::getPath() on OS X
...
The "dfhack" script sets up the proper working directory
2015-06-29 10:11:46 -04:00
lethosor
0f3753095b
update xml
2015-06-29 10:10:44 -04:00
lethosor
716ce1c9e2
Update xml
2015-06-26 23:20:59 -04:00
lethosor
935f4dd628
Log plugin load information to stderr
2015-06-26 16:11:41 -04:00
lethosor
5d1ae9f5ed
Allow plugins without git description to be loaded
2015-06-25 11:46:04 -04:00
lethosor
524593a3d3
Locate git with find_package
2015-06-25 11:43:54 -04:00
lethosor
ee7a2c7db7
Add git commit information to libdfhack-version
...
git is run every time 'make' is run, but the generated include file
is only updated when necessary. Plugins will be loaded successfully
if their DFHack version matches core's (assuming OpenLibrary()
succeeds), but will produce a warning if their git commit doesn't
match core's.
2015-06-24 19:32:45 -04:00
lethosor
0fa5570349
Recognize newline characters in Linux/OS X console
2015-06-24 00:54:12 -04:00
lethosor
f3d91b3606
Update xml
2015-06-22 23:16:28 -04:00
lethosor
5bb5d87ad8
Install default dfhack-config files
...
Files from the "dfhack-config" source directory are now installed to
"dfhack-config/default" and copied to "dfhack-config" on startup if
they don't already exist. Previously, config files weren't available
at all unless they were manually installed (93c9a41
).
2015-06-18 08:59:01 -04:00
lethosor
73de6a3051
Update xml
2015-06-15 12:58:49 -04:00
lethosor
6fb6645ed5
Merge branch 'dwarfmonitor-widgets' into develop
2015-06-15 12:55:26 -04:00
lethosor
862389d217
Allow lua scripts to redirect to other lua scripts
...
Addresses #634 , #638
2015-06-14 11:56:14 -04:00
lethosor
93c9a41a3a
Reimplement dwarfmonitor widgets in Lua (and improve customizability)
...
Widget positions and a few other options (e.g. date formats) can be
specified in dfhack-config/dwarfmonitor.json on a per-instance basis.
Related changes:
* Fixed an issue loading JSON files from Lua
* JSON files in dfhack-config (only dwarfmonitor.json currently) are
no longer copied into the DF directory when building DFHack. This
keeps developers' personal settings intact, but will require
copying over changes made to DFHack's copies manually.
* Fixed incorrect config path in dwarfmonitor help
2015-06-13 21:15:43 -04:00
lethosor
d663784707
Detect null unit pointer in Items::createItem()
2015-06-09 14:02:42 -04:00
lethosor
bb93f2e40f
Fix circular lua script dependencies
2015-06-05 19:08:11 -04:00
lethosor
36fde3d7e3
Allow Lua screens to allow OPTIONS to work
2015-06-05 18:45:52 -04:00
lethosor
96f3bdafb4
Implement an internal command to interrupt running Lua scripts
...
This inserts a debug hook that runs every 256 instructions by
default, which has a minimal impact on performance.
2015-05-24 19:06:01 -04:00
lethosor
e27493fa02
Treat plugins without a "plugin_dev" symbol as ordinary plugins
2015-05-24 11:42:22 -04:00
lethosor
6278c94775
Update xml
2015-05-16 14:27:17 -04:00
lethosor
db08df7e50
Update xml
2015-05-09 19:41:19 -04:00
lethosor
b6ec48c99a
Add a macro that allows exported functions to use different names
2015-05-09 09:42:15 -04:00
lethosor
a8f5e683f7
Merge remote-tracking branches 'RossM/autolabor-changes', 'RossM/workflow-changes' and 'lethosor/plugin-exports' into develop
2015-05-09 09:39:55 -04:00
lethosor
a47a5f8b0a
Add an alternative to script_environment() that requires scripts to
...
recognize use as a module
Also document the use of enable/disable with lua scripts
2015-05-09 09:21:00 -04:00
lethosor
42a6cfaee6
Improve Lua enable/disable error handling
2015-05-08 18:03:19 -04:00
lethosor
eaf282c18e
Allow lua scripts to be enabled and disabled with built-in commands
2015-05-08 18:03:19 -04:00
lethosor
db423c1aa6
Allow Lua scripts to specify whether they can be used as a module or
...
enabled/disabled
2015-05-08 18:03:18 -04:00
lethosor
e73a2f8778
Move script internals to a single table
2015-05-08 18:03:18 -04:00
Ross Morgan-Linial
51d61d91cb
Change tabs to spaces.
2015-05-07 20:50:19 -07:00
Ross Morgan-Linial
7aac9a8fb8
Improve workflow handling of plant reactions
...
Makes workflow understand "seeds of any plant", "thread of any plant",
"drink of any plant", "powder of any plant", and "liquid of any plant"
when counting items.
Changes workflow's handling of the built-in plant reactions to
understand that they always produce plant products, and that they also
produce seeds.
This means that you can set a target for, for example, "powder of any
plant", and workflow will use a milling job to produce that.
2015-05-07 20:49:29 -07:00
lethosor
a4a2b2f1de
Use TCSADRAIN instead of TCSAFLUSH when initializing raw mode
2015-04-19 11:58:35 -04:00
lethosor
3ca00f85d0
Merge remote-tracking branch 'lethosor/json' into develop
2015-04-08 20:18:13 -04:00
lethosor
62cfd0b8ca
Reset DYLD_INSERT_LIBRARIES on startup on OS X
...
This prevents subprocesses (e.g. those launched with Lua's os.execute)
from attempting to load libdfhack.dylib and aborting due to an
architecture mismatch.
2015-04-06 17:05:36 -04:00
lethosor
4b124bc022
Avoid including DFHackVersion.h in PluginManager.h
...
Changes to DFHackVersion.h previously required recompiling nearly all
of the DFHack core.
2015-04-03 14:02:14 -04:00
lethosor
7758311f88
Make gametype functions use default arguments when called from Lua
2015-04-02 16:55:27 -04:00
lethosor
786581689f
Move get_dfhack_version() to a separate namespace and add a few other version-related functions
2015-04-02 16:37:58 -04:00
lethosor
9b6d8d2799
Allow dev plugins to be skipped on startup
2015-04-01 17:50:22 -04:00
lethosor
8b5b8ed864
Log command name collisions
2015-04-01 17:32:11 -04:00
Lethosor
e71c55865d
Merge pull request #591 from lethosor/penarray
...
Expose a faster screen drawing/caching API to Lua
2015-03-31 16:11:28 -04:00
lethosor
331be2b589
Make "keybinding list" accept a context
...
See #588
2015-03-30 19:03:16 -04:00
lethosor
bbb41078e7
Expose PenArray dimensions and tiles to Lua
2015-03-28 18:35:07 -04:00
lethosor
e2b6ae9beb
Allocate Lua PenArray objects using an existing buffer
2015-03-28 11:27:47 -04:00
lethosor
99f4ea4d2b
Implement a PenArray class for caching parts of rendered screens
2015-03-27 22:56:30 -04:00
lethosor
ac2f537bf4
Merge branch 'async-zoom' into develop
2015-03-26 19:41:02 -04:00
Lethosor
ee16c6d1ab
Fix "delete" in console on OS X/Linux
2015-03-25 23:31:23 -04:00
lethosor
7f98a632ce
Update xml
2015-03-25 17:58:00 -04:00
lethosor
01c6d05775
Add custom enabler::zoom_display() method (screen.zoom in Lua)
2015-03-25 17:55:56 -04:00
lethosor
42e4f584b9
Add SDL_SemWait and SDL_SemPost hooks
2015-03-25 16:08:25 -04:00
lethosor
38fa416ad1
Lua: Indent array values
2015-03-22 14:04:03 -04:00
lethosor
96e5c5d2fd
Fix whitespace
2015-03-20 19:55:32 -04:00
lethosor
b976053be0
Add Lua JSON library
2015-03-20 19:51:24 -04:00
lethosor
f3508f82c1
Add jsonxx to depends/
2015-03-20 15:45:38 -04:00
lethosor
625be319c9
Re-enable memory range logging on OS X if an environment variable is set
2015-03-19 19:37:10 -04:00
Lethosor
3639920a50
Merge pull request #575 from lethosor/game-type
...
Add gametype checks to World module
2015-03-13 22:25:37 -04:00
lethosor
016f67e83f
Expose strerror to Lua
2015-03-10 16:32:43 -04:00
lethosor
afca7419dc
Add gametype checks to World.cpp
2015-03-09 20:08:21 -04:00
lethosor
ea1c9fa0df
Allow plugin exports to be defined in plugins (and looked up when needed)
2015-03-07 17:25:35 -05:00
lethosor
1570af3f4d
Allow plugins to export additional functions through a class
2015-03-07 15:56:43 -05:00
lethosor
1591e67bf2
Replace backslashes with forward slashes in command names
2015-03-06 16:53:57 -05:00
lethosor
0c09feae5b
Prevent backslashes from being used in command names
2015-02-27 18:46:29 -05:00
lethosor
45acf61b17
Update xml
2015-02-26 16:12:12 -05:00
lethosor
88ff51c755
Add PushEvent hook on OS X
...
See #553
2015-02-21 21:28:35 -05:00
lethosor
bd809d7bbc
Replace most interposed functions with dlsym wrappers on OS X
2015-02-21 21:28:35 -05:00
lethosor
db9bcc27e4
Make plugin load errors more descriptive
2015-02-21 21:28:35 -05:00
lethosor
0f77a1a578
Move DFHack version to a separate (static) library
...
This allows the DFHack version to be changed without recompiling
everything
2015-02-19 12:08:23 -05:00
lethosor
c80fbbc397
Remove AS prefixes from add-spatter.cpp
...
The actual cause of this crash was fixed in #558
See #205
2015-02-19 12:05:32 -05:00
lethosor
c399377f08
Ensure that command usage information always ends with a newline
2015-02-16 20:17:47 -05:00
lethosor
b7f15ef2d6
Update xml, stonesense for 0.40 ui_advmode_menu changes
...
Closes #552
2015-02-16 19:10:15 -05:00
lethosor
10cfef0553
Fix whitespace issues
2015-02-14 22:53:06 -05:00
lethosor
a8a8fc43ef
Add df2console() wrapper
...
Closes #522
2015-02-13 17:56:29 -05:00
lethosor
56dfc66309
Implement map load/unload scripts and allow additional scripts to be registered
2015-02-11 15:03:47 -05:00
lethosor
37f391ea6d
Don't store runScript() in script environments
2015-02-10 17:22:16 -05:00
lethosor
337598e0d6
Restore lua environment persistence and update modified timestamp correctly
...
See #544
2015-02-10 16:36:21 -05:00
lethosor
e3b67b2985
Use short plugin name in error messages when possible
2015-02-09 22:06:33 -05:00
lethosor
15d3b7831f
hide/show: Provide feedback on unsupported platforms
2015-02-08 09:30:40 -05:00
lethosor
a1691b6777
Merge remote-tracking branch 'warmist/console-hide' into develop
...
Conflicts:
library/Console-darwin.cpp
2015-02-08 09:20:05 -05:00
expwnent
e5e0d93ef1
Added modtools/reaction-product-trigger.
2015-02-02 02:39:05 -05:00
expwnent
712892fb71
Only reload and recompile Lua scripts if they have moved or been updated.
2015-02-02 02:24:43 -05:00
expwnent
bf5e491647
Allow Lua scripts to be used as modules.
2015-01-31 22:43:54 -05:00
expwnent
92bd6349a7
Fix listdir_recursive on Windows.
2015-01-31 22:28:17 -05:00
expwnent
e9b4fc513a
Merge remote-tracking branch 'cdombroski/zone-plugin-cleanup' into temp
...
Conflicts:
NEWS
plugins/zone.cpp
2015-01-31 21:01:41 -05:00
expwnent
aa5d7c11bc
Merge remote-tracking branches 'lethosor/patch-12' and 'lethosor/fs-expansion' into develop
...
Conflicts:
NEWS
2015-01-31 20:25:01 -05:00
lethosor
066adfdf95
Implement a function to list directories recursively
2015-01-30 17:29:17 -05:00
lethosor
3ab558c72d
Check for init.lua existence properly
...
Fixes #501
2015-01-30 16:37:23 -05:00
Chris Dombroski
f608235b1e
Fix some Lua things
2015-01-29 19:56:50 -05:00
Chris Dombroski
f2eec3198c
Rename findPenPitAtCoord
2015-01-29 15:02:54 -05:00
Chris Dombroski
868a9944fd
Update LuaApi for new Units/Buildings functions.
2015-01-29 14:59:06 -05:00
Chris Dombroski
86495270a6
Remove duplicate isMilkable definition.
2015-01-29 14:40:09 -05:00
Chris Dombroski
48b6cf1beb
Export functions to Buildings.h
2015-01-29 13:57:50 -05:00
Chris Dombroski
1514233aaa
Add missing null checks to Units.cpp
2015-01-29 13:57:50 -05:00
lethosor
daf739fcec
Remove FIFO support
2015-01-28 21:39:17 -05:00
Chris Dombroski
c179f5b913
Extract some stuff from zone.cpp to plugins/Units.{h,cpp}
2015-01-28 21:28:32 -05:00
lethosor
f98e2964e6
Fix a few Windows compilation errors
2015-01-28 20:05:24 -05:00
lethosor
bebceffa5f
Add Filesystem::listdir()
2015-01-28 19:15:58 -05:00
lethosor
e8c0482fdc
Add atime()/ctime()/mtime()
2015-01-28 18:18:06 -05:00
lethosor
2e3261565c
Clean up Filesystem.h
2015-01-28 17:15:09 -05:00
expwnent
1445b0a919
Allowed Lua scripts to share variables with run_script and corrected dfhack.findScript so that it can find save-specific scripts.
2015-01-26 21:45:31 -05:00
expwnent
4c5b6a5282
For multiline comments, delete the backslash instead of changing it to a space.
2015-01-26 19:24:31 -05:00
expwnent
1993c5fb1b
Added support for multiline commands inside dfhack.init and the script command.
2015-01-26 17:18:30 -05:00
expwnent
4e447fc19a
Update XML.
2015-01-25 14:08:42 -05:00
expwnent
dda780eb8e
Update xml.
2015-01-23 21:53:35 -05:00
lethosor
a9f2c5bc90
Change MOD_* to DFH_MOD_*
...
MOD_* constants are defined in Winuser.h on Windows
2015-01-17 08:56:49 -05:00
lethosor
592d42c665
Update xml (0.40.24 OS X offsets)
2015-01-17 08:54:31 -05:00
lethosor
4d194da530
Merge remote-tracking branch 'origin/develop' into 0.40.24-dev
2015-01-17 08:53:49 -05:00
expwnent
14aa68a27f
Merge remote-tracking branches 'lethosor/remove-embark', 'lethosor/search-menus', 'lethosor/osx-package-name', 'lethosor/expose-modstate' and 'lethosor/patch-11' into develop
2015-01-15 22:24:05 -05:00
expwnent
8f4b766107
EventManager: Fix a crash bug with EQUIPMENT_CHANGE event.
2015-01-15 18:13:19 -05:00
lethosor
43d7f59e0b
Bump version to 0.40.24-r0 and update xml
2015-01-14 15:09:23 -05:00
lethosor
077d149d64
Expose key modifier state to C++/Lua
2015-01-11 12:51:02 -05:00
expwnent
7e11ad821f
Update xml.
2015-01-05 19:33:39 -05:00
lethosor
d932c76242
Fix MapCache compiling error on Windows
2015-01-05 17:28:42 -05:00
lethosor
5de5d4420a
Update xml
2015-01-05 17:01:03 -05:00
lethosor
182f317fcc
Merge remote-tracking branch 'lethosor/plugload-posix'
2015-01-05 16:50:43 -05:00
lethosor
0cfe6a11a3
Merge remote-tracking branch 'eswald/alt-stuck'
...
Conflicts:
NEWS
2015-01-05 16:50:16 -05:00
lethosor
0c768796e2
Merge remote-tracking branch 'danaris/fortplan'
...
Conflicts:
plugins/buildingplan.cpp
2015-01-05 16:47:35 -05:00
lethosor
06029c92c2
Merge remote-tracking branches 'lethosor/export-dt-ini-0.40.21' and 'lethosor/patch-9'
2015-01-05 16:40:44 -05:00
lethosor
57f6a94133
Merge remote-tracking branch 'lethosor/osx-libstdc++'
...
Also update NEWS
2015-01-05 16:39:42 -05:00
lethosor
6e36b224d1
Merge remote-tracking branch 'ramblurr/stockpiles'
...
Also update stockpiles plugin to use REQUIRE_GLOBAL()
Conflicts:
plugins/stockpiles.cpp
2015-01-05 16:16:29 -05:00
lethosor
ca0860c3bd
Merge remote-tracking branch 'lethosor/plugin-globals'
2015-01-05 16:05:40 -05:00
lethosor
983f096a60
Merge remote-tracking branch 'quipyowert/define-maxlayers' into 0.40.23-r1
2015-01-05 16:04:37 -05:00
lethosor
9f2bdc2bdc
Disable excessive logging in Process-darwin.cpp
2015-01-05 15:58:02 -05:00
lethosor
e7ee29b1e3
Clean up whitespace in Hooks-darwin.cpp
2015-01-05 15:57:34 -05:00
lethosor
e0a8cc8537
Merge PlugLoad-linux.cpp and PlugLoad-darwin.cpp
2014-12-29 10:33:54 -05:00
Eric Wald
a1c9f85a64
Repairing the stuck Alt key
...
SDL has been reporting the modifier key state incorrectly after alt-tabbing between the DF and DFHack windows.
Fixes issue #448 , though more testing is warranted.
2014-12-28 21:43:48 -07:00
Lethosor
3c0ac70615
Remove output from filetype()
...
Not sure how this made it in, but it's causing problems with PRINT_MODE:TEXT (not to mention filling up stdout.log)
2014-12-27 15:05:43 -05:00
Timothy Collett
5547722414
Initial work on fortplan plugin, including separating out code that needs to be shared with buildingplan
2014-12-23 16:56:15 -05:00
lethosor
02f2d88f35
Add option to install newer libstdc++ on OS X
...
Also include a bzipped copy of libstdc++.6.dylib
Fixes #437
Fixes #436
Fixes #460
Fixes #462
2014-12-23 10:31:00 -05:00
expwnent
8e6fcac92e
persist-table bug.
2014-12-07 07:56:33 -05:00
lethosor
5de3e6110a
Merge remote-tracking branch 'origin/develop' into plugin-globals
2014-12-06 17:32:44 -05:00
Casey Link
7072252902
fix build error on windows
...
with certain #include permutations the lack of this define would
break the build on windows as windows.h pollutes the namespace with min
and max macros that conflict with std::min and std::max.
2014-12-05 12:35:24 +01:00
expwnent
bd7cb578eb
Update xml.
2014-12-04 23:31:05 -05:00
lethosor
f1a863eb79
Use short plugin name
2014-12-03 23:27:52 -05:00
lethosor
cac2245438
Update some plugins to use REQUIRE_GLOBAL
2014-12-03 23:26:54 -05:00
lethosor
e206c242c6
Add a plugin_globals vector to aid in safety checks for plugins that require globals
...
This allows "using df::global::foo" to be replaced by "REQUIRE_GLOBAL(foo)",
and DFHack will refuse to load the plugin if df::global::foo is NULL
2014-12-02 21:32:04 -05:00
Alexander Gavrilov
760acf017b
Update version to v0.40.19
2014-12-02 13:51:44 +03:00
quipyowert
f4e8fa2f30
Define a static variable to fix debug mode crash.
...
Fixes #404
2014-12-01 17:19:20 -08:00
expwnent
83d3785735
Update xml.
2014-11-30 14:03:00 -05:00
expwnent
868bc4c7fb
Update xml.
2014-11-30 11:32:46 -05:00
lethosor
445640f80c
Allow commands invoked through command-prompt to access selected items/units/buildings
...
Fixes #273
2014-11-25 20:25:31 -05:00
expwnent
855d27745d
Update xml.
2014-11-19 23:57:02 -05:00
lethosor
a003ce7394
Print fatal errors to stdout on Linux/OS X
2014-11-17 15:12:33 -05:00
expwnent
97b44d5898
persist-table tweaks, delete debug print messages
2014-11-16 20:41:11 -05:00
expwnent
7560fbdb6b
library/lua/persist-table.lua: now it uses metatables to make persistent memory storage even easier.
2014-11-16 17:06:59 -05:00
expwnent
798bec3ced
Merge branch 'delvintemp' into develop
2014-11-15 16:28:52 -05:00
expwnent
2edc3594b8
Make it compile.
2014-11-15 16:03:36 -05:00
expwnent
3021fa47db
Merge remote-tracking branches 'jjyg/develop', 'putnam/patch-4' and 'eswald/blank-histories' into develop
...
Conflicts:
NEWS
2014-11-15 15:07:20 -05:00
expwnent
59ef4e0cc2
It is now possible to remove syndromes by SYN_CLASS.
2014-11-14 23:33:49 -05:00
expwnent
5e3bf9a494
Make it compile for OSX.
2014-11-14 22:21:03 -05:00
expwnent
4464d7318d
EventManager: make REPORT events only trigger for new reports, not ones that already exist in the save.
2014-11-14 22:07:48 -05:00
Eric Wald
c85d4994cf
Preventing blank history files
2014-11-14 17:35:06 -07:00
expwnent
d120e5aa84
Merge pull request #386 from ace13/develop
...
Missing includes.
2014-11-14 18:59:53 -05:00
expwnent
428fe6a400
interaction-trigger tweaks
2014-11-14 18:50:19 -05:00
expwnent
e2f4d3e4cb
Fix persist-table so that all data is persistently stored properly.
2014-11-14 18:49:40 -05:00
expwnent
828852c36f
Made persist-table correctly clear its stuff after exiting a game.
2014-11-10 01:09:50 -05:00
expwnent
593424cd6d
new Lua library for persistent maps of arbitrary degree.
2014-11-10 01:03:20 -05:00
expwnent
779ac3fd50
Updated interaction-trigger to work better.
2014-11-09 18:36:21 -05:00
Alexander "Ace" Olofsson
804aa8d398
Add missing <algorithm> include for std::min & std::max
2014-11-09 11:19:40 +01:00
expwnent
0f5efb47ae
Update to 0.40.15.
2014-11-09 01:30:43 -05:00
expwnent
fa401f8637
EventManager tweak.
2014-11-07 14:16:10 -05:00
expwnent
dcdb6aae1b
EventManager: properly deal with frame_counter getting reset.
2014-11-06 23:44:13 -05:00
expwnent
29d6bba669
Fix trackstop ambiguity complaints, update df-structures.
2014-11-02 11:55:01 -05:00
expwnent
4e0ad256a5
Update XML.
2014-11-02 04:06:51 -05:00
expwnent
87443035a9
Merge remote-tracking branch 'quietust/develop' into develop
...
Conflicts:
plugins/manipulator.cpp
2014-11-02 04:05:51 -05:00
expwnent
4e38ec95b3
Merge pull request #354 from eswald/duplicate-onload
...
Removing duplicate world and map loading events.
2014-11-02 03:32:36 -05:00
expwnent
4b7c4f8c4b
Merge pull request #356 from lethosor/disable-console
...
Allow console to be disabled by setting an environment variable
2014-11-02 03:31:35 -05:00
Quietust
8769af8935
Merge branch 'develop' of https://github.com/expwnent/dfhack into develop
2014-10-31 13:34:20 -05:00
Alexander Gavrilov
04ec2c9932
Update version to v0.40.14 and hack things so they compile.
...
Also make the find-offsets script less likely to crash if the
unit structure is misaligned and add more integrity checks.
2014-10-26 16:40:39 +03:00
Alexander Gavrilov
beebd624e7
Last xml update for v0.40.13
2014-10-26 13:20:45 +03:00
lethosor
e41a33ddea
Allow console to be disabled by setting an environment variable
2014-10-06 17:10:33 -04:00
expwnent
0471294b1e
Fix syndrome-util.
2014-10-04 21:54:07 -04:00
Eric Wald
6c9b94bcef
Removing duplicate world and map loading events.
...
Saving a game in progress now goes through an extra viewscreen before reaching the condition that had been used to indicate whether the world was still valid, causing the core to emit bogus WORLD_LOADED, MAP_LOADED, MAP_UNLOADED, and WORLD_UNLOADED events. Adding that viewscreen to the list of loading/saving screens prevents those duplicate events from firing.
Granted, if the game_cleaner viewscreen ever gets hit in play, this fix will cause more bogus events...
2014-09-30 23:02:35 -06:00
Alexander Gavrilov
6046d68639
Support std::fstream in data structures and add file_compressorst to xml.
...
One tricky thing is that fstream does not have operator=, so the new
file_compressorst requires a manually implemented one that skips it.
2014-09-24 22:47:04 +04:00
Alexander Gavrilov
e6901a87d3
Update to 0.40.13 structures and fix compilation.
2014-09-19 00:05:15 +04:00
Timothy Collett
3678c5f649
New SDL hooks to support Stonesense updates
2014-09-16 21:16:52 -04:00
expwnent
0fbc7e22ee
Merge remote-tracking branch 'lethosor/patch-4'
2014-09-16 17:21:39 -04:00
expwnent
d425c2edf9
Merge remote-tracking branch 'lethosor/lua-printall-ipairs'
2014-09-16 17:08:45 -04:00
expwnent
5a1d88307f
Merge remote-tracking branch 'eswald/stockpile-iterator'
2014-09-16 17:05:02 -04:00
expwnent
3e882f35b3
Merge remote-tracking branch 'lethosor/global-onload'
2014-09-16 16:53:31 -04:00
expwnent
8508dd6f04
Update xml.
2014-09-16 16:51:48 -04:00
lethosor
328b95c1ec
Merge remote-tracking branch 'origin/develop' into global-onload
2014-09-14 11:56:07 -04:00
Lethosor
d21cd54648
Add '@' documentation to dfhack.lua
2014-09-14 11:50:03 -04:00
Lethosor
9d3af4dcb6
Close file opened in load_patch() on success
...
Fixes #327
2014-09-10 15:09:57 -04:00
lethosor
fadca0aef2
Add a variant of printall() that uses ipairs
2014-09-08 20:30:22 -04:00
lethosor
34d4537a11
Support for global onLoadWorld.init/onUnloadWorld.init scripts
2014-09-08 15:52:17 -04:00
expwnent
c746d2a182
Update xml.
2014-09-08 15:46:25 -04:00
expwnent
248e4d837b
Update xml.
2014-09-08 13:32:34 -04:00
expwnent
f5039b37b8
Merge remote-tracking branch 'lethosor/osx-plug-dylib'
...
Conflicts:
NEWS
2014-09-08 13:14:28 -04:00
Eric Wald
74e709ec19
Adding getStockpileContents to the Lua API.
2014-09-07 14:52:08 -06:00
Eric Wald
8631da7e4e
Convenience method to collect a vector from StockpileIterator.
2014-09-07 14:10:27 -06:00
Eric Wald
567397df85
Stockpile iterator.
...
Efficient way to operate on all items stored on a stockpile.
Doesn't currently check whether the items match the stockpile settings,
but does ignore empty containers assigned to the stockpile.
2014-09-07 13:52:07 -06:00
Quietust
cf06dc3503
Update to 0.40.11, fix a few devel plugins to build again
2014-09-04 08:26:45 -05:00
lethosor
9aee476c6e
Make plugins use ".plug.dylib" extension on OS X
2014-08-30 09:21:19 -04:00
Quietust
1de9405ef3
Update some stuff to 0.40.10
2014-08-28 14:07:03 -05:00
Quietust
45b9e1b56a
Update XML
2014-08-27 09:57:58 -05:00
Quietust
deee486b81
Update Maps::SortBlockEvents to include spoors and item spatters
2014-08-20 10:51:58 -05:00
Quietust
ae80ca9ec9
Merge branch 'develop' of github.com:DFHack/dfhack into develop
2014-08-20 10:32:59 -05:00
Quietust
5e434721ff
Remove stray BOM
2014-08-19 13:47:05 -05:00
Quietust
4da333fca1
Fix Buildings module to work with ui.tax_collection.rooms change
2014-08-18 16:33:12 -05:00
expwnent
59e6607d8c
Merge remote-tracking branch 'warmist/dev_building_hacks' into develop
2014-08-16 10:26:24 -04:00
Warmist
f04b93210a
Bug fixing.
...
Fixes for "tab" in hacked buildings.
2014-08-16 16:58:09 +03:00
Warmist
6868cab1fe
Exposed dfhack.jobs.linkIntoWorld. Simplified eventful and gui.dwarfmode for sidebar use/creation.
2014-08-16 16:58:01 +03:00
JapaMala
493dd47383
Updated df-structures and isoworld
2014-08-15 19:28:03 +05:30
JapaMala
5add8c433d
Merge branch 'develop' of github.com:DFHack/dfhack into remote_reader
...
Conflicts:
plugins/remotefortressreader.cpp
2014-08-15 19:15:00 +05:30
Quietust
ebda2d8472
Fix ageItem to work correctly, and update XML
2014-08-15 08:13:15 -05:00
expwnent
38cc604861
Fixed bug with Lua printing buffering too long sometimes in Windows.
2014-08-15 05:54:54 -04:00
Quietust
8a9e3d1a72
Plugin cleanup - always do "using df::global::[foo]". Also, get rid of old 0.34.11 binpatches
2014-08-11 15:07:52 -05:00
Alexander Gavrilov
b0e1b51d2a
Change version to v0.40.08
2014-08-11 23:49:24 +04:00
Alexander Gavrilov
2471c4a68e
Add a new API for converting between interface_key and string characters.
...
It's necessary now that the simple linear arrangement is broken.
2014-08-11 14:23:19 +04:00
Alexander Gavrilov
002bd5240b
Bump version to v0.40.07 and update find-offsets to new pressure plate UI.
2014-08-11 14:14:42 +04:00
lethosor
0983728e14
Implement Ctrl-T, ignore unrecognized control characters
2014-08-09 21:54:47 -04:00
lethosor
71236afa42
Implement readline-style Ctrl-U and Ctrl-Y
2014-08-09 21:54:47 -04:00
lethosor
e71fc0455c
Fix console warnings on Linux
2014-08-09 21:54:46 -04:00
lethosor
fc24d24ccc
Merge Console-linux and Console-darwin into Console-posix
2014-08-09 21:54:46 -04:00
JapaMala
36435ca8cf
Merge branch 'develop' of https://github.com/quietust/dfhack into remote_reader
...
Conflicts:
library/modules/Items.cpp
library/modules/MapCache.cpp
library/modules/Maps.cpp
library/modules/Materials.cpp
library/modules/Translation.cpp
plugins/CMakeLists.txt
2014-08-08 20:54:44 +05:30
JapaMala
756485c4db
Added support for getting a list of plant growths with fake material names.
2014-08-08 20:35:57 +05:30
Quietust
17b19bfcdc
Update structures
2014-08-06 08:28:02 -05:00
JapaMala
b7c871eed7
gave t_matglossPair a few operator overloads so it can be used in std::map
2014-08-02 17:12:19 +05:30
JapaMala
08da62392e
Fixed a mistake where MapCache was using the wrong range for root depth.
2014-08-02 17:09:59 +05:30
Quietust
2928f15629
Update fastdwarf to work properly in 0.40
2014-08-01 08:45:23 -05:00
Quietust
612bcc65c8
Fix build, update XML
2014-07-29 16:43:29 -05:00
Quietust
1450298484
assumed_identity -> identity
2014-07-29 16:30:22 -05:00
Quietust
d6162cd189
death_info -> incident
2014-07-29 16:26:14 -05:00
Alexander Gavrilov
0182e0c980
Fix SC_WORLD_LOADED/UNLOADED now that loading and saving takes many frames.
...
During the loading or saving screen, consider the map and world as not
loaded, because they are likely only partially valid. This fixes errors
from the log-region script.
2014-07-28 08:57:55 +04:00
Alexander Gavrilov
1c409975de
Update the version to v0.40.05
2014-07-28 08:15:03 +04:00
Alexander Gavrilov
4902c577b3
Fix some crashes when running without globals and update structures.
2014-07-24 23:10:37 +04:00
JapaMala
bc5e0f6ad6
Made DFHack buildable. Also added plant proto definitions
2014-07-23 19:57:47 +05:30
Quietust
9435d8f4d9
Fix crashes caused by missing globals
2014-07-21 19:14:43 -05:00
Quietust
38cdb37433
Update plant_tree_info field names
2014-07-21 14:46:51 -05:00
Quietust
e711605413
Some minor corrections
2014-07-21 13:26:34 -05:00
Quietust
97de21357c
First pass for 0.40 compatibility; still lots left to do, but this will at least build
2014-07-21 13:18:29 -05:00
JapaMala
b598cbb0dd
Merge branch 'develop' of github.com:DFHack/dfhack into develop
2014-07-20 16:43:00 +05:30
JapaMala
a14caa53d0
Fixed mapcache reading plants in for 0.40.01 onwards.
2014-07-20 16:41:20 +05:30
expwnent
a8f810cc3b
Lots of tweaks.
2014-07-09 06:21:52 -04:00
expwnent
0a16bc2e12
Merge remote-tracking branch 'origin/perSaveScripts' into scriptOrganization
...
Conflicts:
plugins/CMakeLists.txt
2014-07-07 09:01:07 -04:00
expwnent
3c06f3bada
Allowed per-save script folders.
2014-07-07 08:50:40 -04:00
expwnent
5404b69476
Tweak repeat.lua.
2014-07-03 20:32:15 -04:00
expwnent
e28a42b848
Fixed a problem with syndromeUtil, renamed to syndrome-util, and made add-syndrome use proper conventions.
2014-07-03 15:18:00 -04:00
expwnent
649dcd1413
EventManager tweak: make it report the correct invasion id.
2014-07-03 14:37:13 -04:00
expwnent
376bcc6020
create-item script
2014-07-03 12:40:07 -04:00
expwnent
2fb8faf3e6
Added Items::createItem function.
2014-07-03 10:39:20 -04:00
expwnent
d8c3a05f42
Made EQUIPMENT_CHANGE event trigger for new units.
2014-07-03 08:10:12 -04:00
expwnent
9d2c7a1abc
Tweak to repeatUtil.
2014-07-03 08:09:47 -04:00
expwnent
d048335a80
Tweaked item-trigger.
2014-07-03 06:01:58 -04:00
expwnent
81c87d0921
EventManager: INTERACTION event for unit interactions.
2014-07-03 04:55:12 -04:00
JapaMala
e04ab11659
Merge branch 'develop' of github.com:DFHack/dfhack into develop
...
Conflicts:
library/xml
plugins/stonesense
2014-07-02 23:18:55 +05:30
JapaMala
516121d4f8
Fixed the getprofession behavior in adventure mode. Now it checks for the current adventurer's race instead of the fortress race.
2014-07-02 23:07:24 +05:30
expwnent
8f43b97284
EventManager tweaks.
2014-07-01 09:02:20 -04:00
expwnent
4ac32cfd74
EventManager: made UNIT_ATTACK trigger for severed body parts.
2014-07-01 08:58:48 -04:00
expwnent
d765de4546
Merge remote-tracking branch 'lethosor/lua-runcommand2' into scriptOrganization
2014-07-01 02:05:14 -04:00
expwnent
1c0ae94539
processArgs now detects duplicate args.
2014-07-01 00:57:24 -04:00
expwnent
2ed7960f96
Tweaked utils.lua::processArgs to allow specification of a table of acceptable argument names.
2014-07-01 00:55:52 -04:00
expwnent
c3c025c034
Added Lua subroutine for standardized argument processing.
2014-06-30 02:19:50 -04:00
expwnent
961d033ade
EventManager: unload event for convenience.
2014-06-29 10:03:55 -04:00
Alexander Gavrilov
8a3050a1c0
Notify the user when dfhack.init is missing, and fall back to example.
2014-06-28 17:08:14 +04:00
Alexander Gavrilov
3744fc3575
Update structures
2014-06-28 16:59:09 +04:00
expwnent
a62b15ccd2
Revert "Allowed dfhack.timeout tick events to be queued before a world is loaded."
...
This reverts commit ecd75e9b3e
.
2014-06-28 03:06:19 -04:00
expwnent
f12aa3665b
Removed the temporary lua events because EventManager does them better.
2014-06-28 02:46:08 -04:00
expwnent
ceae634954
Squashed EventManager commented out thing I don't need anymore.
2014-06-28 02:41:00 -04:00
expwnent
8e7e87ac73
Added UNIT_ATTACK event to EventManager and exposed it to Lua.
2014-06-28 02:31:34 -04:00
expwnent
c635632ae7
EventManager.cpp: fix indentation.
2014-06-27 22:09:01 -04:00
expwnent
2443568998
Merge branch 'develop' into scriptOrganization
2014-06-27 22:03:09 -04:00
lethosor
830b39e13b
Non-silent version of Lua's run_command
2014-06-27 21:58:36 -04:00
Quietust
fc7ac9b47f
Update XML and sync plugin
2014-06-27 13:01:46 -05:00
expwnent
ecd75e9b3e
Allowed dfhack.timeout tick events to be queued before a world is loaded.
2014-06-27 06:49:29 -04:00
expwnent
0db0244d08
Added add-syndrome script to modtools and fixed syndromeUtil so it actually works. This should make it so that event hooks only have to be able to run scripts instead of run scripts and add syndromes.
2014-06-27 05:47:52 -04:00
expwnent
187ce3c58b
Fixed the organization of my new lua modules. They now go in library/lua instead of where plugin lua modules go. Updated scripts accordingly.
2014-06-27 02:43:05 -04:00
Alexander Gavrilov
17ed08cfe5
Fix the OSX image base address so that binary patches work correctly.
2014-06-26 18:28:50 +04:00
Alexander Gavrilov
6f162a4e72
Verify that mkmodule is called with the correct module name.
2014-06-26 18:11:05 +04:00
Alexander Gavrilov
9cb913b121
Update structures
2014-06-26 17:24:11 +04:00
expwnent
7313c18a2a
EventManager/eventful: added ON_REPORT event and exposed it to Lua.
2014-06-23 09:15:46 -04:00
JapaMala
3f717af0b7
Merge branch 'develop' of https://github.com/DFHack/dfhack into develop
...
Conflicts:
library/xml
2014-06-21 16:43:44 +05:30
expwnent
036aae060b
Merge lethosor stuff. For some reason, git's auto merge message didn't happen because of git-stash shenanigans. Oh well.
2014-06-19 22:58:17 -04:00
Lethosor
ec64a787c6
Use _getcwd on Windows
2014-06-19 22:34:40 -04:00
Lethosor
73fdb8b125
Fix Windows compile-time error
2014-06-19 21:24:16 -04:00
lethosor
ef69522d93
Merge branch 'develop' into filesystem-module-pr
2014-06-18 15:45:42 -04:00
Alexander Gavrilov
2db73a407d
Merge branch 'manipulator_show_squad' from git://github.com/pierredavidbelanger/dfhack.git into develop
2014-06-17 10:39:26 +04:00
Alexander Gavrilov
32d8efad54
Merge branch 'lua-runcommand' of git://github.com/lethosor/dfhack into develop
2014-06-17 10:27:50 +04:00
lethosor
fb922fab37
Handle invalid arguments to runCommand
2014-06-16 11:40:26 -04:00
lethosor
d538e13450
Allow runCommand arguments to be passed as a table internally
2014-06-16 11:16:35 -04:00
Alexander Gavrilov
b029690550
Update structures
2014-06-16 13:48:58 +04:00
lethosor
6fa478de22
Filesystem module
...
Implements a handful of filesystem-related functions (e.g. chdir, mkdir)
in C++ and Lua.
2014-06-15 22:38:17 -04:00
JapaMala
db2d59ac77
Started work on a generic visualizer socket client plugin. Currently only sends over inorganic and creature materials, nothing else.
2014-06-15 10:10:12 +05:30
Pierre-David Bélanger
e0808c8c96
Use squad::find instead of indexing the vector
2014-06-10 22:38:32 -04:00
lethosor
2a01259192
Fix runCommand crash, return output and result
2014-06-10 21:38:21 -04:00
lethosor
143b1e3469
Lua runCommand improvements
...
* Return error codes (e.g. CR_FAILURE) when a command fails instead of output
* Make dfhack.runCommand() take a list of arguments as well
2014-06-10 13:41:01 -04:00
lethosor
e4876ed752
Merge branch 'develop' into lua-runcommand
2014-06-10 13:12:07 -04:00
Alexander Gavrilov
08b4279c4d
Document better how to access fields of the interposed class.
2014-06-10 13:10:10 +04:00
Alexander Gavrilov
0be30b807c
Merge branch 'console-move-word' of git://github.com/lethosor/dfhack into develop
2014-06-10 12:53:43 +04:00
Alexander Gavrilov
0e3fb79f0e
Update structures
2014-06-10 12:52:17 +04:00
Pierre-David Bélanger
bdcc00f6f7
Util method (in the Units class) to get a unit squad name (the translated name, or alias if set)
2014-06-09 21:51:52 -04:00
lethosor
91a93a00d2
Add dfhack.run_command (Lua)
...
Simplified version of runCommand
2014-06-07 20:31:20 -04:00
lethosor
2242d42c9c
Implement runCommand in Lua API
2014-06-07 20:15:49 -04:00
Quietust
7de0b2dd39
Merge pull request #255 from quietust/develop
...
Fix problems with NONE for item types and subtypes
2014-06-03 08:44:19 -05:00
Alexander Gavrilov
0a0358a8c1
Update structures
2014-06-03 12:59:55 +04:00
Warmist
dedd7e4185
Adds new console methods and commands to hide/show console. Only on windows (for now?)
2014-05-26 18:42:04 +03:00
lethosor
bdca1ee709
Linux: Extended back/forward word sequences
2014-05-26 10:03:28 -04:00
lethosor
b14ef95dec
Merge branch 'console-move-word' into console-move-word-linux
2014-05-26 10:01:04 -04:00
lethosor
d320fe71d1
Implement extended arrow key sequences
2014-05-25 23:39:34 -04:00
lethosor
58b9c02ce5
Migrate esc-b/f sequences to Linux
2014-05-25 22:10:40 -04:00
lethosor
1fcaac9d2e
OS X Console: Implement back/forward one word escape sequences
2014-05-25 21:52:16 -04:00
Quietust
e483e7439f
Fix problems with NONE for item types and subtypes
2014-05-22 08:18:01 -05:00
Alexander Gavrilov
fe93aba612
Update structures
2014-05-11 13:36:36 +04:00
Alexander Gavrilov
415cdad489
Make using new for allocating DF objects with vtables a compile-time error.
...
When done from plugins, it doesn't correctly initialize the vtable
because of some weird things MSVC does, so the only safe way is to
use df::allocate<df::foo>(). For consistency, it is also enforced
for code in the main library. It reveals the issue in the digging
invaders plugin, first found by warmist.
This change is linked to a modification in df-structures codegen.
2014-04-30 21:28:02 +04:00
Alexander Gavrilov
98325757e2
Fix signed-unsigned mismatch warnings in the new item value code.
...
Unsigned comparison allows catching negatives in the same check too.
Also, it didn't check the values in getValue.
2014-04-30 20:44:22 +04:00
Quietust
0f4684f29d
Add Items::getItemBaseValue and Items::getValue, available from Lua
2014-04-25 11:04:21 -05:00
Quietust
57fbb1004b
Assorted cleanup
2014-04-23 08:23:34 -05:00
Quietust
c3d45c3a1e
Add Job::getName(job *), also available from Lua
2014-04-23 08:03:10 -05:00
Alexander Gavrilov
1d1ede279f
Update structures
2014-04-21 09:52:07 +04:00
Alexander Gavrilov
6bef167f83
Add a couple of useful scripts and fix two missing NULL checks.
...
- A script to unstick jobs trying to build walls from the same tile.
- A devel script for viewing the path a unit is currently following.
2014-04-21 09:24:05 +04:00
Alexander Gavrilov
c27c38e4c0
Remove tired or hungry siege operators from duty when at peace.
...
The threshold is set at the level when they start to blink - normally
they would continue on with the job until they get a thirsty/hungry
thought, but immediately run off to eat if they lose the job (thus
refusing to load the engine after firing it). The code checks for
active sieges and whether there is a free replacement unit.
2014-04-15 21:52:39 +04:00
Alexander Gavrilov
fc9826389b
Account for meandering movement when predicting unit path in siege engine.
...
The movement is random, but there is an average slowdown coefficient.
2014-04-15 19:50:23 +04:00
Alexander Gavrilov
55cea36c76
Use the new API to produce combat reports for aimed siege engine attacks.
...
This requires exposing the actual operator unit to lua code.
2014-04-15 19:50:23 +04:00
Alexander Gavrilov
7844907204
Add new API functions for creating announcements and combat reports.
...
Allow specifying the announcement flags directly, and adding unit
combat reports. Also, make announcement functions write the message
to the game log.
2014-04-15 19:50:23 +04:00
Alexander Gavrilov
b56c3a95a6
Fix some signed/unsigned mismatch warnings and whitespace in Job module.
2014-04-15 19:50:23 +04:00
Quietust
22dab5d807
Update XML, fix several scripts that were broken by field name changes
2014-04-14 12:30:34 -05:00
Alexander Gavrilov
ddd56d8ea6
Update the structures.
2014-04-12 17:21:35 +04:00
Alexander Gavrilov
7aecffe0cd
Update structures and fix broken things.
2014-04-04 22:34:39 +04:00
Alexander Gavrilov
788bc55096
Fix a mistake in the lua resize() method of BitArray.
2014-04-04 22:33:05 +04:00
Alexander Gavrilov
a09e132107
Support using multiple lua init scripts per save.
...
This should make it easier to add and remove init script code by
automated means, or install multiple mods that need such code.
2014-03-31 16:00:55 +04:00
Quietust
e620ae765c
Add missing import/export info for MersenneRNG::unitvector<>
2014-03-25 13:30:21 -05:00
Alexander Gavrilov
ec14b2d1e9
Merge remote-tracking branch 'warmist/dev-modmanager' into develop
2014-03-24 20:07:02 +04:00
Alexander Gavrilov
a01939fce6
Sync structures.
2014-03-24 19:45:27 +04:00
Warmist
b030548156
Added directory listing to lua api (internal category).
...
added mod manager and updated readme/news
2014-03-04 18:01:44 +02:00
Alexander Gavrilov
36b09c950d
Actually export to lua a few functions that are documented as available.
2014-02-28 09:41:04 +04:00
Quietust
72eb366997
Merge changes, also fix Windows build (missing header)
2014-02-27 15:58:15 -06:00
Quietust
dd268d43d9
Merge branch 'master' of https://github.com/jjyg/dfhack
2014-02-27 15:49:18 -06:00
Quietust
5a158b21cf
Update plugins to match fixed field names in cage/civzone
2014-02-27 14:51:45 -06:00
jj
6d0e6cf7d5
remove old unused code from when dfhack was out of process
2014-02-26 12:44:10 +01:00
Alexander Gavrilov
7bdb687e4a
Support calling a lua function via a protobuf request.
...
Previously the only way to call lua code was to call scripts
and parse their output to the stream, which is cumbersome.
2014-02-10 20:09:06 +04:00
Alexander Gavrilov
8800cf6f40
Export functions for converting between UTF-8 and CP437 to lua.
2014-02-10 18:54:52 +04:00
jj
387cc983f9
Merge branch 'osx_shenanigans' of git://github.com/tareqak/dfhack
2014-02-02 23:50:21 +01:00
jj
7df9957941
dfhack-run: prevent duplicate "not a recognized command" error message
2014-01-27 15:36:34 +01:00
jj
6ad8d128ba
use non-interactive console when calling dfhack.init in TEXT mode
2014-01-27 15:36:25 +01:00
jj
6b6164c099
call dfhack.init even in TEXT mode
2014-01-27 14:51:22 +01:00
Tareq A Khandaker
f0eeba93ce
DFHack compiles under OS X now.
2014-01-25 03:21:56 -05:00
jj
ce33973f0f
Merge branch 'master' of github.com/quietust/dfhack
2013-12-24 14:07:08 +01:00
Alexander Gavrilov
53bd112515
Hide fake historical figures from legends xml export.
2013-11-07 12:27:53 +04:00
Alexander Gavrilov
b2819ea869
Fix wrong argument iteration bounds in dfhack.matinfo.find().
2013-11-07 11:40:26 +04:00
jj
04dce1aa7f
MaterialInfo: fix decoding for COAL subtypes
2013-11-05 00:31:32 +01:00
expwnent
15c2d99a3e
Update xml.
2013-10-25 14:23:55 -04:00
expwnent
329741f235
EventManager: added EQUIPMENT_CHANGE event and exposed it to lua.
2013-10-24 19:32:52 -04:00
expwnent
ce1bb1e95b
Merge remote-tracking branch 'putnam/master' into 0.34.11-r4
2013-10-20 23:27:12 -04:00
expwnent
4dbcee9560
EventManager: be smarter about removing things while iterating.
2013-10-20 23:16:21 -04:00
expwnent
c409289ee4
EventManager: TICK events should unregister correctly when requested and after they fire, other tweaks.
...
- fixed unregister to allow unregistering individual TICK events
- make registerTick return the resulting freq you have to put back in to the handler in order for it to be unregisterable
- when TICK events fire, they now automatically remove themselves from handlers[TICK], as they should
- make sure manageTickEvent fires once per tick
2013-10-20 22:54:25 -04:00
expwnent
3594dc2eb8
EventManager: fixed the TICK event, and a few tweaks.
...
- redo tick event management to work with world->frame_counter
- the freq of a TICK EventHandler is now ignored
- unregistering for an individual TICK event is still broken
- you would have to know the modified freq to even begin removing it
- it is only removed from handleres[TICK], not from tickQueue
- redo unregisterAll to be more efficient
- use the map loaded/unloaded events instead of world loaded/unloaded for initializing/clearing event monitoring data
- get rid of silly unsigned variables
2013-10-20 21:48:28 -04:00
expwnent
9bf004d07f
Several EventManager fixes and improvements.
...
- handle loading and unloading of saves better
- made sure it never triggers bogus events on loading a save
- plugins should now handle loading themselves with onStateChange
- special case to make Buildings module keep track of all buildings correctly on load
- fixed syndrome detection
- was broken because of the switch from ticks-since-the-dawn-of-time to world->frame_counter
- added lastSyndromeTime global
- fixed possible off by one error when looking for new created items
- got rid of the unread lastTick global
- const'ed the function pointer array of eventManagers
2013-10-20 20:12:42 -04:00
expwnent
f69fd1d528
EventManager: prevent eventspam just after loading a save.
2013-10-20 17:39:54 -04:00
Putnam3145
4a32aff6a3
Update script.lua
2013-10-20 13:58:15 -07:00
expwnent
6ef360f4d6
Merge remote-tracking branch 'warmist/dev-EventManager-lua' into 0.34.11-r4
2013-10-20 14:52:40 -04:00
Warmist
0dff26aa23
Added lua interface (in eventful) for EventManager module.
2013-10-20 21:44:07 +03:00
expwnent
d78a111f02
EventManager: Fixed the death event, fixed another problem with construction event, and made EventManager use world->frame_counter for scheduling event checking in order to make it work in arena mode.
2013-10-20 14:41:39 -04:00
expwnent
39553cfb6d
EventManager: fixed a problem with constructionHandler.
2013-10-20 14:14:02 -04:00
expwnent
ee056f4422
Merge remote-tracking branch 'angavrilov/master' into 0.34.11-r4
...
Conflicts:
NEWS
2013-10-20 11:09:40 -04:00
expwnent
1422197533
Merge remote-tracking branch 'adeon/for-dfhack' into 0.34.11-r4
2013-10-20 10:45:00 -04:00
expwnent
9d3ee11349
Merge branch 'diggingInvaders' into 0.34.11-r4
...
Conflicts:
scripts/devel/invasion-now.lua
2013-10-19 21:26:50 -04:00
expwnent
57fc0f3e89
Merge remote-tracking branch 'angavrilov/master' into 0.34.11-r4
...
Conflicts:
NEWS
library/xml
plugins/CMakeLists.txt
plugins/autoSyndrome.cpp
2013-10-19 20:19:29 -04:00
Alexander Gavrilov
78de739d75
Update aquifers when generating 3D vein layout.
2013-10-11 19:23:32 +04:00
Alexander Gavrilov
bed1e00a6e
Use a cast instead of floor in perlin noise for performance.
2013-10-10 12:15:50 +04:00
Alexander Gavrilov
a273327c6a
Remove "using namespace std" from MiscUtils.h.
2013-10-10 12:15:50 +04:00
Alexander Gavrilov
63d8267606
Decode ice under constructions if possible, but never write it out.
2013-10-10 12:15:50 +04:00
Alexander Gavrilov
f36041f6bd
Implement a MapCache api for writing base layer tiles of arbitrary stone.
...
Precompute some tables in TileTypes for extremely efficient
conversion between tiles of most important material types.
2013-10-10 12:15:50 +04:00
Alexander Gavrilov
68b6e10b2c
Implement writing veins tile by tile through MapCache.
...
Unlike changevein, which changes the material in an existing vein
object, with this feature you can set the material for individual
tiles, and the cache will write it out as vein objects.
The array inside the cache data is changed from layer material to
vein material, because layer material is easy to compute.
2013-10-08 18:17:36 +04:00
Alexander Gavrilov
9442e8ea1f
Make biome information more explicit in MapCache.
2013-10-07 16:58:10 +04:00
Alexander Gavrilov
ea36233dff
Split MapCache code from Maps.cpp
2013-10-07 16:58:10 +04:00
jj
84033bd586
ruby: dont list ruby scripts when ruby plugin is disabled
2013-10-07 14:32:47 +02:00
Alexander Gavrilov
33469f5bb2
Use a better hash function in the Perlin noise generator.
2013-10-02 18:55:41 +04:00
Alexander Gavrilov
e175efa689
Implement a template-based classical Perlin noise generator.
...
The mask argument of the Impl template is there because apparently
an inner template cannot be fully specialized, so there needs to be
some argument besides i.
2013-10-01 18:58:04 +04:00
Alexander Gavrilov
599af0a4d9
Fix linux and windows build issues.
...
- Linux makefile overrides and removes the optimization flags.
- Old linux gcc doesn't understand lambdas.
- MSVC doesn't like extern and explicit instantiation in same file.
2013-09-30 22:51:29 +04:00
Alexander Gavrilov
9e81d27cd1
Implement the same random generator as DF uses for DFHack.
2013-09-30 19:46:39 +04:00
Alexander Gavrilov
d7e35c2d23
Add built-in enable and disable commands.
2013-09-30 13:19:51 +04:00
expwnent
11635caeb8
Add makeown.lua.
2013-08-31 16:15:54 -04:00
Alexander Gavrilov
896cd11fe9
Track readable names of vmethod hooks for diagnostic messages.
...
Note that this changes the ABI of all plugins that use hooks.
2013-08-22 12:14:45 +04:00
Mikko Juola
506a60709e
Add SDL_PushEvent() to one of the hooked SDL functions.
...
This is needed by Dfterm3 plugin.
2013-08-20 21:41:08 +03:00
Alexander Gavrilov
df2e04db26
Update xml definitions.
2013-08-16 18:25:16 +04:00
jj
6f5c03b912
core: generate SC_WORLD_LOADED for arena too
2013-07-07 23:36:22 +02:00
expwnent
ba73de5e35
EventManager: use units.all instead of units.active.
2013-06-20 21:34:32 -04:00
Alexander Gavrilov
49409d4630
Follow xml changes.
2013-06-11 16:10:42 +04:00
expwnent
1b260fe549
Made the per save onLoad and onUnload script use the right separator character for different operating systems.
2013-06-10 15:55:54 -04:00
expwnent
57c42e3927
Maps.ensureTileBlock: fixed temperature issues, and properly added blocks to the world.map.map_blocks vector to prevent weird glitches.
2013-06-10 15:43:14 -04:00
expwnent
9f6638432f
When a save is loaded/unloaded, the script at raw/onLoad.init or raw/onUnload.init is run. They use the same format as dfhack.init.
2013-06-10 00:45:46 -04:00
expwnent
08114cf574
diggingInvaders: more fixes. Still a few issues with ramps probably.
2013-05-31 20:39:43 -04:00
expwnent
f8261348ff
Merge branch 'master' into diggingInvaders
...
Also make edgeCost.cpp compile because I stopped midsentence for some reason.
Conflicts:
library/modules/Maps.cpp
2013-05-31 16:28:05 -04:00
expwnent
aed5f4178f
Update xml.
2013-05-30 20:06:06 -04:00
expwnent
e0b27a6873
Update xml.
2013-05-28 19:55:26 -04:00
expwnent
3403146461
Merge remote-tracking branch 'peterix/master'
...
Conflicts:
plugins/CMakeLists.txt
plugins/autoSyndrome.cpp
2013-05-25 20:08:56 -04:00
expwnent
638b2e974c
EventManager: cleaned up manageEvents considerably, using a function pointer array.
2013-05-25 12:19:54 -04:00
expwnent
bcaaa72387
EventManager should use a CoreSuspender just in case.
2013-05-25 11:50:43 -04:00
expwnent
b44cd86dc9
EventManager: completely overhauled JOB_COMPLETED event detection, and tweaked Job::cloneJobStruct.
2013-05-25 09:44:17 -04:00
expwnent
29b5e20575
autoSyndrome should now work with syndromeTrigger.
2013-05-11 16:46:37 -04:00
jj
e5fd918b0c
job: unk2 -> subtype
2013-05-05 03:55:08 +02:00
Petr Mrázek
d7145d9b69
Fix bug #188 , eggy hook
2013-04-24 17:50:34 +02:00
Petr Mrázek
6a907e3584
Fix issue #195 - off by one error in building dimensions
2013-04-24 17:41:25 +02:00
Petr Mrázek
3e59794733
Merge branch 'master' of https://github.com/cherrydev/dfhack
...
Conflicts:
Readme.html
2013-04-24 16:13:27 +02:00
expwnent
b4092f62e6
New module: Once. Intended to help prevent debug error message spam.
2013-03-23 22:38:33 -04:00
Timothy Collett
c93cb693c8
Merge branch 'master' of http://github.com/peterix/dfhack
2013-03-14 13:35:28 -04:00
Timothy Collett
d78a5593cc
Minor fix to Process methods
2013-03-14 13:32:39 -04:00
Petr Mrázek
27f23746bd
Do not use autocompletion to second-guess the user.
2013-03-14 06:43:38 +01:00
Petr Mrázek
c5aa808737
Sync submodules
2013-03-14 05:07:30 +01:00
Alexander Gavrilov
03b91ca26c
Fix a problem in binpatch.lua and comment out debug messages in tweak.
2013-02-26 12:29:02 +04:00
Alexander Gavrilov
7cbd201f31
Nuke the third exit(1) and change building caching code to make more sense.
2013-02-14 13:13:25 +04:00
Petr Mrázek
a8f5e54e37
Sync submodules
2013-02-14 09:53:14 +01:00
Kelly Martin
148a37b2e4
Sync structures
2013-02-13 13:55:28 -06:00
Kelly Martin
8d278a87db
Merge branch 'master' of https://github.com/angavrilov/dfhack.git
...
Conflicts:
plugins/devel/CMakeLists.txt
2013-02-13 13:52:02 -06:00
Alexander Gavrilov
9ca435544e
Nuke unsafe behavior in Buildings::findAtTile from orbit.
2013-02-13 15:03:15 +04:00
Alexander Gavrilov
a17760af4f
Communicate the Plugin pointer to the plugin in a decent sort of way.
2013-02-13 14:45:24 +04:00
Alexander Gavrilov
f90737e274
Add more comments to the vmethod interpose implementation.
2013-02-10 15:26:48 +04:00
Petr Mrázek
0e384ada75
Sync submodules
2013-02-05 05:34:34 +01:00
Petr Mrázek
e06b6904f1
Small fix to sync dfhack with the structures.
2013-01-15 23:41:43 +01:00
Petr Mrázek
0073c1bec2
Track xml and stonesense
2013-01-15 23:16:15 +01:00
Quietust
3c6ddc2a8c
Merge branch 'master' of https://github.com/expwnent/dfhack
...
Conflicts:
NEWS
library/xml
2013-01-09 10:09:58 -06:00
expwnent
3ffbef2396
Merge branch 'canStepBetween' into recent
2013-01-05 18:10:29 -05:00
expwnent
f8abd5c595
StepBetween: renamed stuff back to the way it was. Thought I had already done that.
2013-01-05 18:09:50 -05:00
expwnent
6622e9e06f
Merge branch 'canStepBetween' into recent
...
Conflicts:
library/modules/Maps.cpp
2013-01-05 13:32:29 -05:00
expwnent
8e90ca6b41
Merge branch 'eventManager' into diggingInvaders-unstable
2013-01-03 22:47:45 -05:00
expwnent
ec03d567d2
EventManager: use WORLD_LOADED instead of MAP_LOADED.
2013-01-03 22:47:27 -05:00
expwnent
f145f8d528
Merge branch 'eventManager' into diggingInvaders-unstable
2013-01-03 19:32:12 -05:00
expwnent
715f191c26
EventManager: made the frequency part of EventHandler.
2013-01-03 19:31:29 -05:00
expwnent
9e74ae58f2
EventManager: Fixed a problem with deregistering event frequencies.
2013-01-03 19:07:05 -05:00
expwnent
84b8fae326
Merge branch 'eventManager' into diggingInvaders-unstable
2013-01-03 15:53:06 -05:00
expwnent
910e398a7b
EventManager: added invasion event.
2013-01-03 15:52:56 -05:00
expwnent
a0d2f262b0
Update submodules.
2013-01-02 21:38:53 -05:00
expwnent
5865579b23
EventManager: got rid of print statement.
2013-01-02 19:26:37 -05:00
expwnent
6d2773856a
EventManager: fixed a few things.
2013-01-02 19:23:40 -05:00
expwnent
4e4e382b8f
EventManager: added syndrome event.
2013-01-02 18:30:15 -05:00
expwnent
144e0b4dcb
Digging Invaders: merged eventManager and recent.
2013-01-02 11:26:30 -05:00
expwnent
c3b2ae2137
EventManager: allowed plugins to specify how often they need events to be checked, in the event that monitoring is necessary.
2013-01-02 11:07:56 -05:00
expwnent
fa78d6ccfc
Merge branch 'recent' into eventManager-unstable
...
Conflicts:
library/modules/Job.cpp
2013-01-02 03:16:45 -05:00
expwnent
4e99841862
EventManager: made Buildings module keep track of buildings so that it
...
can do findAtTile in constant time.
2013-01-01 22:22:31 -05:00
Warmist
e4f4943b10
Merge branch 'master' of https://github.com/angavrilov/dfhack
2012-12-23 12:34:05 +02:00
Alexander Gavrilov
bb3a491d68
Implement a per-save lua init script.
2012-12-21 14:00:50 +04:00
expwnent
ee4f37ff72
Merge branch 'canWalkBetween' into diggingInvaders
2012-12-19 20:31:17 -05:00
expwnent
7972902c81
stepBetween: named a few things better, and fixed a lot.
2012-12-19 20:30:37 -05:00
expwnent
a93c0223a2
EventManager: unstable. Temp commit.
2012-12-18 20:28:30 -05:00
expwnent
555c754636
EventManager: added construction and building events.
2012-12-18 18:34:38 -05:00
expwnent
515eb3b060
Reverted the silly changes to Buildings module that didn't work anyway.
2012-12-17 17:38:47 -05:00
expwnent
3fde504ae2
Merge branch 'canWalkBetween' into diggingInvaders
2012-12-17 00:25:31 -05:00
expwnent
22837af8d7
canWalkBetween: fixed bug involving ramps.
2012-12-17 00:25:14 -05:00
expwnent
d79583a2c9
Merge branch 'canWalkBetween' into diggingInvaders
2012-12-16 23:39:36 -05:00
expwnent
1a6a09281b
canWalkBetween: forgot a case with ramps.
2012-12-16 23:37:15 -05:00
expwnent
d2be8f18e1
canWalkBetween: forgot a case with stairs.
2012-12-16 23:30:35 -05:00
expwnent
01e5e93825
Renamed Maps::canWalkBetween to Maps::canPathBetween and added Maps::canWalkBetween, which does what it says.
2012-12-16 23:26:50 -05:00
expwnent
131d19e4cf
Merge branch 'eventManager' into diggingInvaders
2012-12-16 16:43:58 -05:00
expwnent
8a242b3c0d
Merge branch 'master' into diggingInvaders
2012-12-16 16:34:45 -05:00
expwnent
78aab90f3a
EventManager: whitespace.
2012-12-16 16:27:08 -05:00
expwnent
3951d4d204
EventManager: made it safe to register/unregister while events are being triggered.
2012-12-16 15:39:39 -05:00
expwnent
d4d8e69556
EventManager: Allowed absolute time registration.
2012-12-15 18:08:59 -05:00
expwnent
935058f0a5
EventManager: moved files around, made eventExample not run by default, and got rid of the silly NONE event type.
2012-12-15 17:43:41 -05:00
expwnent
86e002f3ff
EventManager: added item creation event.
2012-12-15 16:49:13 -05:00
expwnent
b0314755e0
EventManager: added unit death event.
2012-12-15 14:40:11 -05:00
expwnent
155a4d044c
EventManager: fiddled with time events. Made it possible to register for time events before a world is loaded. Also added some files I forgot to add to the previous commit.
2012-12-14 23:29:28 -05:00
expwnent
cf619a519e
EventManager: made event handlers unregister when plugins are unloaded. Also changed PluginManager so that plugins can call core.getPluginManager() during plugin_init.
2012-12-14 22:14:38 -05:00
expwnent
747723187f
EventManager: first draft.
2012-12-14 21:05:38 -05:00
Warmist
ddceabbfb7
Merge branch 'master' of git://github.com/jjyg/dfhack
2012-12-12 18:58:11 +02:00
jj
662d3101c7
ruby: fix onupdate tick limiting + advmode, add pageprotect, add :script_finished
2012-12-11 17:25:51 +01:00
jj
6bc791d985
follow df-structure rename unit.unknown8 + able_stand_*
2012-12-10 22:50:33 +01:00
Warmist
ff4278d04e
Removed debug spam, added support for "HAS_MATERIAL_REACTION_PRODUCT" type reactions.
2012-12-09 23:07:13 +02:00
Warmist
6c4f163a5e
Merge branch 'master' of https://github.com/angavrilov/dfhack
...
Conflicts:
NEWS
2012-12-09 14:25:31 +02:00
Kelly Martin
2018ac1d17
Sync structures
2012-12-08 21:25:16 -06:00
Warmist
4f5fdebbe9
furnaces added and custom reactions.
2012-12-09 00:53:03 +02:00
Alexander Gavrilov
a0e671d75d
Make rename unit reset the name if it becomes completely empty.
2012-12-08 20:39:57 +04:00
jj
a1eeb02a1b
autocomplete command names from the console
2012-12-07 01:34:04 +01:00
jj
ebc2625d97
ditch the unused Vegetation module
2012-12-06 23:47:25 +01:00
Warmist
3bce3838af
Advfort now supports workshops and siege weapons >:)
2012-12-03 21:49:17 +02:00
jj
3953112eb9
dump Vegetation::t_plant, fix plant.is_burning
2012-12-03 19:03:07 +01:00
Alexander Gavrilov
9703d3fd8f
Detect mouse press events for lua.
2012-12-02 14:43:23 +04:00
Alexander Gavrilov
58239e97ed
Implement the history graph in the workflow status screen.
2012-12-01 16:50:03 +04:00
Kelly Martin
021d089709
sync structures
2012-11-30 20:25:19 -06:00
Alexander Gavrilov
0bfe006016
Try to reimplement the inventory monitor by falconne in lua.
...
For no other reason than to provide a complete example of lua
interface for a native plugin :)
TODO: paint the graph in the right pane.
2012-11-30 19:10:17 +04:00
Warmist
471d15ba4c
New building selection dialog.
2012-11-29 20:49:16 +02:00
Alexander Gavrilov
5ea26d9cae
Only show the advanced new constraint dialog on Shift-Enter.
...
Upon reflection it is a bit too scary to be always shown.
2012-11-29 16:27:51 +04:00
Alexander Gavrilov
94e6690586
Don't complain about fake input tokens in simulateInput.
2012-11-29 13:37:16 +04:00
Alexander Gavrilov
bfc11cf946
Add persistent history of per-constraint item counts in workflow.
...
This will be needed for properly merging or integrating the status
screen by falconne. The history is maintained as a circular buffer
of up to 28 entries, and persists in save files.
2012-11-28 19:25:01 +04:00
Quietust
e3eb325d36
Minimize references to gps->dimx/dimy
2012-11-23 19:18:56 -06:00
Alexander Gavrilov
e7905a5cff
Add docs for the automaterial plugin, and use the new Painter class.
2012-11-22 19:38:45 +04:00
Kelly Martin
bb3c5c02c1
Adjustments for MSVC compatibility
2012-11-20 09:32:04 -06:00
Kelly Martin
3b2b77c693
sync structures
2012-11-20 08:22:21 -06:00
Alexander Gavrilov
767c1b9368
Duplicate the lua Painter class in C++.
2012-11-19 18:11:26 +04:00
Alexander Gavrilov
2953e4c386
Implement a dialog to specify a workflow constraint with all features.
2012-11-17 20:32:39 +04:00
Alexander Gavrilov
0b568942f4
Follow changes in the xml defs.
2012-11-17 16:43:29 +04:00
Quietust
1ab48aa2de
Merge https://github.com/ab9rf/dfhack
2012-11-16 21:15:38 -06:00
Quietust
3f2e583746
Naming consistency
2012-11-16 15:35:34 -06:00
Quietust
e2b9b703a0
Get rid of tabs
2012-11-16 15:33:36 -06:00
Kelly Martin
1379891270
Merge remote-tracking branch 'jjyg/master'
2012-11-16 13:50:59 -06:00
Kelly Martin
648abee285
EXECUTE -> EXEC and add parenthesis to make MSVC whine less.
2012-11-16 13:50:38 -06:00
jj
2b087a7081
fix windows typos
2012-11-16 20:49:30 +01:00
Kelly Martin
a6fba3daf2
const void* -> void* in memDealloc and memProtect for Windows too
2012-11-16 13:44:38 -06:00
Alexander Gavrilov
d506dd7137
Add a tweak to speed up melee squad training.
2012-11-16 22:51:07 +04:00
Alexander Gavrilov
2401be1b3b
Add an api function to retrieve unit skill experience.
2012-11-16 22:48:49 +04:00
Alexander Gavrilov
72912edf58
Ensure AddPersistentData won't create duplicate ids.
...
If anything messes around with the histfig vector between calls.
2012-11-16 18:45:51 +04:00
jj
dd89baf6f8
add raw mmap/mprotect access
2012-11-13 01:41:53 +01:00
Quietust
bbe94c006f
Update for temperaturest
2012-11-12 11:54:21 -06:00
Alexander Gavrilov
b4dcc7e7ad
Add more native api functions for finding general and specific refs.
2012-11-12 19:17:32 +04:00
Quietust
a99d47ee7a
Remove UTF-8 BOMs added by notepad
2012-11-12 08:38:29 -06:00
Quietust
766aca4911
Rename general_ref vectors for consistency
2012-11-12 08:27:58 -06:00
Alexander Gavrilov
6cf85b4318
Abstract the back-end from the binpatch script, and use in gui/assign-rack.
2012-11-12 12:26:31 +04:00
Alexander Gavrilov
012d22fa4f
Add a script for manipulating binary patches at runtime, and some patches.
2012-11-11 17:24:13 +04:00
Alexander Gavrilov
f657c20a1d
Add an internal API for converting between file and memory offsets.
2012-11-11 15:56:31 +04:00
Warmist
0e4df55364
Merge branch 'master' of https://github.com/angavrilov/dfhack
2012-11-11 12:46:55 +02:00
Alexander Gavrilov
56ef33ea0e
Support building steam engines on top of brooks without any down stairs.
2012-11-10 17:33:05 +04:00
Alexander Gavrilov
eb936c4ce0
Support milking and shearing in workflow.
2012-11-10 17:06:54 +04:00
Petr Mrázek
0c70a448d0
Update submodules
2012-11-07 23:06:02 +01:00
Alexander Gavrilov
ff982dcf73
Fix representation and parsing of built-in materials.
...
The trick is to support both FOO and FOO:NONE for all of them,
including INORGANIC[:NONE]. Otherwise the workflow gui scripts
have problems.
2012-11-07 13:31:36 +04:00
Alexander Gavrilov
bd8c59462c
Add documentation for the core lua gui library stuff.
2012-11-04 17:06:32 +04:00
Alexander Gavrilov
9598316855
Add a native pen object for lua with a more checked behavior.
2012-11-03 20:06:33 +04:00
Warmist
6be65690f7
Merge branch 'master' of https://github.com/angavrilov/dfhack into experimental-dontmerge
2012-11-02 20:29:27 +02:00
Alexander Gavrilov
05b73af9bb
Extend fix-armory with support for storing ammo in barracks.
2012-10-30 23:20:34 +04:00
Alexander Gavrilov
3ff5d38a5c
Add a few utility functions to the main library.
2012-10-30 12:40:26 +04:00
Alexander Gavrilov
dc2805b1f3
Link the renderer vtable from libgraphics on linux.
2012-10-30 10:38:32 +04:00
Alexander Gavrilov
ed4904fb66
Add a tweak that makes dwarves haul equipment from stockpiles to the armory.
2012-10-28 21:13:28 +04:00
Alexander Gavrilov
4aa1999347
Add a lua api function for patching multiple individual bytes.
2012-10-28 11:50:28 +04:00
Alexander Gavrilov
fdaa2a35a1
Fix name ambiguity in MemoryPatcher constructor.
2012-10-28 09:34:50 +04:00
Alexander Gavrilov
92a3277777
Add a MemoryPatcher class as an optimization of scattered patchMemory.
...
This class can cache the set of memory regions during its lifetime,
and make them writable only once. This avoids e.g. re-reading
/proc/*/maps once for every modified vtable in interpose code.
2012-10-27 21:58:40 +04:00
Alexander Gavrilov
e353f5f03e
Add a script to complement the weapon rack binary patch.
2012-10-27 20:16:27 +04:00
Alexander Gavrilov
34f33a8c91
Fix the error message produced by binpatch when a mismatch is detected.
2012-10-27 15:35:11 +04:00
Alexander Gavrilov
4c2c6a1911
Fix handling of Collect Webs jobs in workflow.
2012-10-26 23:53:18 +04:00
Alexander Gavrilov
b976e01b8c
Follow the change in the base-type of job_skill.
2012-10-26 20:29:21 +04:00
Alexander Gavrilov
1f994295b8
Consider assigned vehicles in use, and tweak text color rendering.
2012-10-25 13:20:41 +04:00
Alexander Gavrilov
8eebfa007c
Tweak the workflow gui script to make the UI operate smoother.
2012-10-25 12:15:18 +04:00
Alexander Gavrilov
a1dd31aab3
Tweak the mechanics for showing and rendering lua screens.
...
- Place new screens below any dismissed ones on top.
- When asked to render a dismissed lua screen, call render() on its
parent to avoid producing a black screen frame when unlucky.
2012-10-25 12:09:39 +04:00
Alexander Gavrilov
59ec9b304e
Implement adding workflow constraints from gui/workflow.
2012-10-24 21:49:30 +04:00
Alexander Gavrilov
616c57257d
Support changing the constraint ranges from the workflow gui script.
...
TODO: implement creating completely new constraints.
2012-10-24 19:25:06 +04:00
Alexander Gavrilov
7b67df4b4e
Merge remote-tracking branch 'q-github/master'
2012-10-24 16:49:12 +04:00
Alexander Gavrilov
09f8e8e419
Start working on gui for workflow.
2012-10-23 21:42:03 +04:00
Quietust
27c7dfde4f
ANY_FREE -> IN_PLAY, to match terminology used in DF's error messages
2012-10-23 12:14:21 -05:00
jj
cfbdf47f6e
follow rename Carried->Hauled in df-structures unit inventory mode
2012-10-22 19:37:12 +02:00
Alexander Gavrilov
46938625fd
Pass the hotkey keys to dwarfmode from overlays, and fix gui/workshop-job.
2012-10-21 21:45:51 +04:00
Alexander Gavrilov
67674a7676
Merge remote-tracking branch 'jjyg/master'
2012-10-21 11:12:32 +04:00
jj
1f7a01d685
follow rename unit.military.squad_index to squad_id in df-structures
2012-10-20 22:35:39 +02:00
Alexander Gavrilov
dee0c97584
Add a gui script for viewing and changing job_item properties.
2012-10-20 21:57:36 +04:00
Alexander Gavrilov
fbba4caab2
Suppress checking the cookable material flag if the item is a container.
2012-10-20 21:16:00 +04:00
Alexander Gavrilov
0c9f1e0af4
Check the item type against job_item_vector_id when matching to jobs.
...
This will prevent setting an invalid item type via the job command.
2012-10-20 21:01:22 +04:00
Alexander Gavrilov
795961bfc4
Fix the treatment of non_economic in Materials/Items modules.
...
non_economic == !(is boulder && is inorganic && is economic)
2012-10-20 20:31:45 +04:00
Alexander Gavrilov
5388ad475f
Fix a bug in lua wrapper caused by the recent pairs() addition.
...
It inadvertently removed all functions like df.new from the df table.
2012-10-20 20:14:50 +04:00
Alexander Gavrilov
2b1d856214
Add a few utility functions to the lua api.
2012-10-20 17:06:33 +04:00
Alexander Gavrilov
687dc7105f
Merge remote-tracking branch 'kmartin/master'
2012-10-20 15:39:20 +04:00
Warmist
da92fb9a1c
Start of dfusion module. Fixed small error in memscan.lua and start of custom embark command.
2012-10-17 21:43:44 +03:00
Alexander Gavrilov
1e2570f4cb
Add an extremely simple item selection dialog by wrapping ListBox.
2012-10-17 21:42:06 +04:00
Alexander Gavrilov
2bbd00a8ec
Add pairs and ipairs support for objects in df tree.
2012-10-17 20:58:37 +04:00
Alexander Gavrilov
2d4935bc17
Add lua API functions for verifying item and material vs job_item flags.
2012-10-17 19:16:18 +04:00
Alexander Gavrilov
4f7895f571
Support restricting the set of materials presented in the dialog.
2012-10-17 18:29:15 +04:00
Alexander Gavrilov
0046b093f7
Link visibility and event handling order.
...
- Hidden widgets don't receive events.
- Children handle events in top to bottom order.
2012-10-17 11:49:11 +04:00
Alexander Gavrilov
ad4f9908fb
Extract a generic filtered list widget from the materials dialog.
2012-10-17 10:41:50 +04:00
Alexander Gavrilov
b14e4e97f5
Natively support entry icons in the List widget.
2012-10-17 09:41:48 +04:00
Kelly Martin
8fd1dd04bb
Display dfhack version number at end of baseline 'help' message.
2012-10-16 19:27:48 -05:00
Alexander Gavrilov
023dc82564
Implement a material selection dialog.
2012-10-16 18:33:00 +04:00
Alexander Gavrilov
d336abfd97
Add label and list widgets, and switch stock dialogs to them.
2012-10-16 14:18:35 +04:00
Alexander Gavrilov
abfe2754fb
Start implementing common widgets for lua screens.
2012-10-15 20:03:18 +04:00
Alexander Gavrilov
33bd8103de
Extract an abstract View superclass from Screen to handle widget trees.
2012-10-15 15:30:00 +04:00
Alexander Gavrilov
2865e1373a
Experimental API for associating tile bitmasks with persistent data.
...
Use block_square_event_world_constructionst objects with the same
bogus negative id as the matching historical figure object.
2012-10-11 17:34:34 +04:00
Alexander Gavrilov
5206236b01
Look through missing intermediate bases when interposing subclasses.
2012-10-11 15:10:19 +04:00
Alexander Gavrilov
010417c812
Compute detailed focus string for the hauling menu.
2012-10-11 12:36:17 +04:00
Alexander Gavrilov
7224c8746a
Print the new md5 hash after modification in binpatch.
2012-10-08 16:47:52 +04:00
Alexander Gavrilov
28f0fed0aa
Redo the way binpatch backs up, so as not to lose the executable perms.
2012-10-08 16:22:35 +04:00
Alexander Gavrilov
408f0cb06e
Add a small stand-alone utility for managing binary patches.
2012-10-08 12:10:02 +04:00
Warmist
49476818c4
Dfusion rebuild start (lua script side plugins)
2012-10-07 20:45:14 +03:00
Warmist
923ea3f4b0
Reactionhooks more usefull and gm-editor minor tweaks (e.g. search in containers)
2012-10-07 20:44:18 +03:00
Alexander Gavrilov
459c69046b
Dissolve the World module class into a namespace.
...
It made accessing persistent data way too cumbersome.
2012-10-06 13:46:20 +04:00
Alexander Gavrilov
5396a67465
Some tweaking and edited NEWS.
2012-10-06 12:40:46 +04:00
Alexander Gavrilov
9f687f64a4
Fix build.
2012-10-03 12:58:05 +04:00
Alexander Gavrilov
33aead34b4
Implement a more automated search mode based on keys for some globals.
2012-10-02 19:53:16 +04:00
Alexander Gavrilov
bd3d3061ae
Add a module that wraps the dialogs as "blocking" coroutine functions.
2012-10-02 18:01:28 +04:00
Alexander Gavrilov
abf503fcdc
Fix the ListBox dialog to behave in a more consistent way.
2012-10-02 16:45:17 +04:00
Alexander Gavrilov
9d5adf1b2f
Update the lua screens to use the new key display string API function.
2012-10-02 15:25:59 +04:00
Alexander Gavrilov
7440e80e6c
Add an API function to retrieve interface key bindings for display.
2012-10-02 13:49:31 +04:00
Petr Mrázek
ba5b8638a9
Merge https://github.com/jjyg/dfhack
...
Conflicts:
fixTexts.sh
2012-09-30 23:29:13 +02:00
Petr Mrázek
8812238bf6
Update license, add contributors file, bump release number
2012-09-30 04:03:37 +02:00
Petr Mrázek
b1ad92e310
Track structures
2012-09-30 02:52:30 +02:00
Alexander Gavrilov
62cde96724
Add a script to reclassify 'individual choice' weapons based on unit skill.
2012-09-29 17:21:49 +04:00
Alexander Gavrilov
48da06ec37
Add an API function for reading the nominal skill level.
2012-09-29 15:18:04 +04:00
Alexander Gavrilov
eaddd0e646
Try shutting up a few random warnings.
2012-09-29 12:47:41 +04:00
Petr Mrázek
53c6ee4673
Track structures and stonesense
2012-09-28 21:57:12 +02:00
Alexander Gavrilov
164c61b638
Forbid stuff from bins in siege-engine, if forbid ammo standing order set.
2012-09-27 10:43:42 +04:00
Alexander Gavrilov
2e5f3c4620
Merge remote-tracking branch 'jjyg/master'
2012-09-27 10:36:14 +04:00
jj
7cc29250f8
fix for updated viewlist_petst
2012-09-26 18:22:07 +02:00
Alexander Gavrilov
627f036830
Implement a special command parsing mode with one verbatim argument.
...
Intended for script expressions, e.g. rb_eval.
2012-09-24 19:13:33 +04:00
Kelly Martin
8e25158811
Sync up df-structures
2012-09-23 19:40:04 -05:00
Alexander Gavrilov
6f67a71e00
Search for cur_season and cur_season_tick in devel/find-offsets.
2012-09-22 14:52:08 +04:00
Alexander Gavrilov
038d62367e
Implement explicit hook priority in vmethod interpose.
...
This resolves a getName order conflict between power-meter and rename.
2012-09-22 13:14:06 +04:00
Alexander Gavrilov
82dc1445cf
Support the Room list in getSelectedBuilding.
2012-09-20 11:55:53 +04:00
Alexander Gavrilov
c39a337223
Add unit/item/job/building getter hook vmethods to dfhack_viewscreen.
2012-09-20 11:11:20 +04:00
Alexander Gavrilov
7ce772ae0e
Add an API function that returns the selected building.
2012-09-20 10:41:03 +04:00
Warmist
a02a120e2d
Merge branch 'master' of https://github.com/angavrilov/dfhack into experimental-dontmerge
...
Conflicts:
dfhack.init-example
library/xml
plugins/CMakeLists.txt
2012-09-18 23:46:16 +03:00
Alexander Gavrilov
a4799a384b
Catch C++ exceptions in dfhack.buildings.setSize
2012-09-18 20:45:59 +04:00
Alexander Gavrilov
57b72831ca
Overhaul the concept of lua 'class' initialization yet again.
2012-09-18 20:30:25 +04:00
Alexander Gavrilov
d70a79deb9
Follow changes in XML defs.
2012-09-18 13:11:11 +04:00
Alexander Gavrilov
be928a9dc5
Fix a data structure integrity bug in VMethodInterposeLinkBase.
...
This causes assertion failure and abort later on.
2012-09-18 10:40:14 +04:00
Alexander Gavrilov
36e44c682c
Add a plugin implementing 'add spatter to item' reactions.
2012-09-17 21:15:51 +04:00
Alexander Gavrilov
c1e20c6f05
Follow changes to structures.
2012-09-17 12:47:18 +04:00
Alexander Gavrilov
811c096c0e
Vaporize liquids from barrels, and destroy bin contents in siege engine.
2012-09-14 20:22:49 +04:00
Alexander Gavrilov
24772f4dbc
Add an api function for destroying items.
2012-09-14 18:49:02 +04:00
Alexander Gavrilov
d22591e240
Fix a file descriptor leak and a crash in linux getMemRanges.
2012-09-14 12:35:55 +04:00
Quietust
1d8c9a6a5f
Merge https://github.com/danaris/dfhack
2012-09-13 14:30:44 -05:00
Timothy Collett
24b93ea61f
Library location fixing script
2012-09-13 14:58:52 -04:00
Quietust
46321a6a01
Rename world_data.unk_204 to feature_map
2012-09-12 13:41:59 -05:00
Alexander Gavrilov
f06f9af6b8
Throw items from bins around in siege engine, like minecarts do.
2012-09-12 20:57:25 +04:00
Alexander Gavrilov
7c71aeab5f
Add function for making item projectiles.
2012-09-12 18:17:42 +04:00
Alexander Gavrilov
3a075f4bc7
Trivial siege engine aiming at units, with logic in lua.
2012-09-11 19:17:24 +04:00
Timothy Collett
ccefd02ee3
Merge branch 'master' of git://github.com/angavrilov/dfhack
2012-09-10 11:56:23 -04:00
Timothy Collett
96abc903ab
Merge branch 'master' of http://github.com/peterix/dfhack
2012-09-10 11:54:56 -04:00
Timothy Collett
274d6038ad
Merge further changes (???)
2012-09-10 09:19:21 -04:00
Timothy Collett
270351f510
Merge branch 'master' of https://github.com/danaris/dfhack
2012-09-10 09:18:24 -04:00
Alexander Gavrilov
9679b7729c
Clean up the movement speed calculation function and move into the core.
2012-09-09 17:04:58 +04:00
Alexander Gavrilov
ec3d489bda
Move curse-affected attribute value getters to the core.
2012-09-09 12:51:08 +04:00
Alexander Gavrilov
a36fe25e72
Finish the effective skill computation function, and move to core.
2012-09-09 12:27:40 +04:00
Alexander Gavrilov
94b729579e
Reindent to remove tabs.
2012-09-09 10:53:08 +04:00
warmist
8e0f3e3bce
Added ListBox to gui.dialogs
...
A listbox class. Can be either filled with table of strings, or string+callback tables. Needs some code revision :)
2012-09-09 02:28:07 +03:00
Alexander Gavrilov
fb88aad51d
Reverse-engineer unit speed computation from DF code.
2012-09-08 21:07:18 +04:00
Alexander Gavrilov
bfa6ed3e08
Support setting the target area for the siege engine.
2012-09-08 13:46:02 +04:00
Alexander Gavrilov
325e294af2
Start the siege engine plugin with code to highlight obstacles on screen.
2012-09-07 19:54:32 +04:00
Warmist
0db873493a
Merge branch 'master' of https://github.com/angavrilov/dfhack into experimental-dontmerge
...
Conflicts:
dfhack.init-example
2012-09-07 17:24:38 +03:00
Alexander Gavrilov
e925d8f4d9
Add an API function for reading tiles from the screen buffers.
2012-09-07 11:36:45 +04:00
Alexander Gavrilov
c971a819de
Experimental creation of map blocks in gui/liquids script.
2012-09-06 22:45:19 +04:00
Alexander Gavrilov
d5ea05ebb8
Implement a pressure plate sensitive to machine power.
...
When built next to a gearbox, it will monitor its powered state.
2012-09-06 12:37:29 +04:00
Warmist
3dcaee7cb9
Merge branch 'master' of https://github.com/angavrilov/dfhack into experimental-dontmerge
2012-09-05 21:55:17 +03:00
Warmist
6fc10fc268
Fixed embark anywhere to use more sane code segment search
2012-09-05 21:52:54 +03:00
Alexander Gavrilov
8d876cc7d9
Support renaming some buildings, and arbitrary units, via gui script.
2012-09-05 21:27:42 +04:00
Alexander Gavrilov
57086ac56e
Add stock MessageBox and InputBox dialog screens for lua scripts.
2012-09-05 19:45:45 +04:00
Alexander Gavrilov
27f169e298
Provide a partial application utility function to lua.
...
Implemented in C++ for efficiency.
2012-09-05 17:37:36 +04:00
Alexander Gavrilov
3b8e3d1459
Fix wrong assumptions in lua wrapper for BitArray.
2012-09-02 17:18:01 +04:00
Alexander Gavrilov
3713c5ea9e
Add some APIs required by steam engine to the core.
2012-09-02 14:10:58 +04:00
Alexander Gavrilov
8536785d1d
Boilers made out of unsuitable materials should explode!
2012-09-01 20:46:34 +04:00
Warmist
532839a4d5
Embark anywhere ported
2012-09-01 10:54:45 +03:00
Alexander Gavrilov
e0097d8d43
Fix access to unnamed bits in bitfields, and allow hook.apply(false)
2012-09-01 11:25:24 +04:00
Warmist
7cabf1b843
Small bug fix
2012-09-01 10:13:08 +03:00
Warmist
d784d4bc40
Static code segment search for memscan.lua
2012-09-01 10:05:31 +03:00
Alexander Gavrilov
0f1be28637
Follow xml changes.
2012-09-01 00:17:08 +04:00
Alexander Gavrilov
750eefe48a
Follow unconditional JMP chains in MSVC vmethod ptr detection.
2012-08-30 19:28:53 +04:00
Alexander Gavrilov
8a617edb10
Support "ls -a" to list scripts in subdirs.
2012-08-29 19:03:53 +04:00
Alexander Gavrilov
f1915915b4
Follow change in xml again.
2012-08-27 23:03:02 +04:00
Alexander Gavrilov
5fed060d7d
Follow field rename in xml.
2012-08-27 16:01:11 +04:00
Alexander Gavrilov
b2bdc199cb
Fix NULL pointer access in ~virtual_identity.
2012-08-26 22:43:18 +04:00
Alexander Gavrilov
3402a3cd5d
Fix a deadlock problem between suspend in (un)load, and onupdate.
2012-08-26 14:43:14 +04:00
Alexander Gavrilov
7f1e4b46bc
Implement inheritance-aware vmethod interposing.
...
I.e. overwriting the vmethod in all vtables that use it, not only one.
2012-08-26 14:43:14 +04:00
Alexander Gavrilov
41ad42d0fd
Expose the liquids plugin engine to lua, and make a wrapper gui script.
2012-08-25 10:37:03 +04:00
Petr Mrázek
9154564e71
Sync up submodules
2012-08-24 21:56:16 +02:00
expwnent
45efcfc763
Warning: does not work. Temp commit!
2012-08-24 11:40:51 -04:00
Alexander Gavrilov
8359e80b23
Expose a few API functions to lua, and implement a room browser overlay.
2012-08-24 18:26:18 +04:00
Alexander Gavrilov
d52c54cc76
Pull some minor stuff from mechanisms into main libs.
2012-08-24 13:49:22 +04:00
Alexander Gavrilov
296f82b02f
Try using the Objective-C 'alloc + init' idiom for lua screen objects.
2012-08-24 13:28:34 +04:00
Alexander Gavrilov
e825dc5ddb
Tweak the API for current viewscreen, and dispatch show/dismiss from C++.
2012-08-24 13:20:08 +04:00
Alexander Gavrilov
b12b9fa91e
Suspend DF around loading and unloading plugins.
...
This is necessary to improve safety of vtable interposing.
2012-08-23 19:51:55 +04:00
Alexander Gavrilov
c6c5ad56c9
Track lua event listener count, and let the C++ host know.
...
This allows completely avoiding the call overhead if there
are none. The downside is that the event object now has to
be a userdata with lots of metamethods.
2012-08-23 19:27:28 +04:00
Quietust
1e28ceff6d
Add getProfessionColor and getCasteProfessionColor to Units module
2012-08-22 16:54:00 -05:00
Alexander Gavrilov
cf4b8a0196
Improve viewport manipulation utilities and support scroll in mechanisms.
...
I.e. allow the user to scroll around with cursor keys,
provided that keeps the cursor still visible.
2012-08-22 22:29:01 +04:00
Alexander Gavrilov
f0fc3acf87
Turn an assert in vmethod interpose code into a mandatory check and abort.
2012-08-22 18:22:59 +04:00
Alexander Gavrilov
7987ea9a98
Put some compatibility features into the base dfhack viewscreen.
2012-08-22 18:18:19 +04:00
Alexander Gavrilov
6e8b68fb29
Add yet one more frame style.
2012-08-22 13:06:06 +04:00
Alexander Gavrilov
2b79582e99
Implement a policy of marking DFHack-owned screens with a signature.
2012-08-22 12:28:01 +04:00
Alexander Gavrilov
8969fc9435
manipulator: Inherit from dfhack_viewscreen, and don't use itoa.
2012-08-22 12:23:56 +04:00
Quietust
51ba252344
Add Screen::drawBorder(string), duplicates DF's interfacest::drawborder()
2012-08-21 15:28:11 -05:00
Quietust
985d96c596
Allow interposing the 1st vmethod
2012-08-21 15:27:29 -05:00
Alexander Gavrilov
15235cc938
More work on utilities for making lua viewscreens.
2012-08-21 19:40:37 +04:00
Alexander Gavrilov
451e965936
Add a Painter class for lua viewscreens, and extract other utilities.
...
Painter clips to an arbitrary rectangle window, and
tracks current cursor and color state.
2012-08-21 11:35:39 +04:00
Alexander Gavrilov
601a3a7927
Add a script that implements a linked mechanism browser.
2012-08-20 23:04:01 +04:00
Alexander Gavrilov
38a07a4ca5
Export the tile finder function to lua, and improve mouse event reporting.
2012-08-19 20:00:10 +04:00
Alexander Gavrilov
cacb082416
Add a stupid example of a lua-controlled viewscreen.
2012-08-19 17:53:25 +04:00
Alexander Gavrilov
30f71ff510
Implement support for lua-backed viewscreens.
2012-08-19 14:27:44 +04:00
Alexander Gavrilov
b8ee52131b
Add a module for painting tiles into the gps global.
2012-08-19 09:31:09 +04:00
Alexander Gavrilov
fd0bf2ef92
Extract the color enum from color_ostream to toplevel.
2012-08-19 09:21:25 +04:00
Alexander Gavrilov
c6694e386f
Add rather inefficient type_identity wrapping for std::set.
...
Accessing an element is O(N), as if it was walking a list.
2012-08-18 14:34:20 +04:00
Alexander Gavrilov
24cc8b5c7a
Expose an API to claim the suspend lock from the Core.
...
Previously it was hard-coded in Core::Update, but interposed
vmethods may need this feature too.
2012-08-18 11:52:38 +04:00
Alexander Gavrilov
01ba2a31fc
Tweak the interpose API, and fix a couple of bugs.
2012-08-18 11:48:07 +04:00
Alexander Gavrilov
236ffd578b
Add experimental support for interposing vmethods of known classes.
...
The hairiest bit is the abuse of compiler-specific pointer-to-member
internals in order to provide more or less transparent API.
2012-08-17 22:40:53 +04:00
Alexander Gavrilov
bcc41c081a
Add a utility function for patching read-only memory.
2012-08-17 15:07:48 +04:00
jj
61185d29ca
console-linux: silence minor gcc warnings
2012-08-12 00:27:20 +02:00
Petr Mrázek
589be93fbf
Sync with structures
2012-08-02 14:44:59 +02:00
Quietust
9705497a7e
Merge branch 'master' of git://github.com/peterix/dfhack
2012-07-17 10:39:20 -05:00
Quietust
bf82b2d20d
Sync with df-structures
2012-07-17 10:35:20 -05:00
Petr Mrázek
1c9194d1c4
While installing scripts, do not copy ~ files.
2012-07-12 02:24:32 +02:00
Petr Mrázek
a5977db443
Merge https://github.com/jjyg/dfhack
2012-07-09 01:13:07 +02:00
Petr Mrázek
6975f643fc
Fixage, syncing with structures
2012-07-09 01:05:40 +02:00
jj
c20951c30b
Merge branch 'master' of git://github.com/angavrilov/dfhack
2012-07-06 20:37:14 +02:00
jj
028b47a321
update xml
2012-07-06 20:36:53 +02:00
Alexander Gavrilov
4bbb185f7b
Fix build and allow autodump to any walkable tile (e.g. a stair).
2012-07-06 20:11:20 +04:00
jj
8e17ebbefc
add SC_PAUSED / SC_UNPAUSED onStateChange events
2012-07-05 18:03:02 +02:00
Timothy Collett
23d28f9961
Update df-structures dependency
2012-07-05 10:32:32 -04:00
jj
e4d4bf23ae
update xml, fix autolabor with new trade depot flags name
2012-07-04 19:05:44 +02:00
jj
cdd711efa4
add COAL subtypes in MaterialInfo::getToken
2012-07-04 17:31:41 +02:00
jj
a7a25b80a0
ruby: use the color_ostream argument from dfhack to output to dfhack-run
2012-07-03 16:13:15 +02:00
Timothy Collett
c24333515b
Merge branch 'master' of https://github.com/jjyg/dfhack
...
Conflicts:
library/Core.cpp
Starting to merge in Ruby stuffs
2012-07-02 11:07:30 -04:00
Timothy Collett
421e5fd82c
Swap order of includes to work around silly compiler/assembler bug on OS X
2012-07-02 11:02:48 -04:00
Timothy Collett
6f433ff58f
Move back to using interposition to be more portable
2012-06-29 10:15:48 -04:00
jj
ccbebdafb0
fix error spam when using Zoom hotkeys
2012-06-28 15:05:00 +02:00
Timothy G Collett
d5ae1fc4f2
Merge branch 'master' of https://github.com/danaris/dfhack
...
Conflicts:
depends/clsocket
package/darwin/dfhack
package/darwin/dfhack-run
Fixed.
2012-06-24 18:41:24 -04:00
Timothy G Collett
7cdbae3f04
Update df-structures
2012-06-24 18:35:16 -04:00
jj
552da8417e
ruby: handle .rb files in df/hack/scripts/
2012-06-24 20:24:46 +02:00
Alexander Gavrilov
9046fed648
Add documentation for some utility functions implemented in lua.
2012-06-24 12:51:19 +04:00
Petr Mrázek
59fb4daa9a
Merge https://github.com/angavrilov/dfhack
2012-06-23 00:25:50 +02:00
Petr Mrázek
6199d6915c
Nuke some error prints.
2012-06-23 00:25:30 +02:00
Alexander Gavrilov
bd37cc09c5
Update the Lua API document with info about scripts.
2012-06-22 20:17:55 +04:00
Alexander Gavrilov
65e82f7c12
Support controllable error presentation verbosity in lua code.
...
Use qerror to squash stack traces and location prefix.
2012-06-22 16:36:50 +04:00
Alexander Gavrilov
752da9ced5
Move formatting newly-found globals for symbols.xml to lua code.
2012-06-21 21:26:25 +04:00
Alexander Gavrilov
f207714d42
Add finders for enabler, gps and init.
2012-06-21 21:08:36 +04:00
Alexander Gavrilov
ed4acbdedb
Add a searcher for current_weather, using a prepared save.
2012-06-20 10:12:26 +04:00
Timothy Collett
4ca3aa878a
Merge branch 'master' of https://github.com/angavrilov/dfhack
2012-06-19 14:48:40 -04:00
Alexander Gavrilov
e687a07f2e
Fix getRebaseDelta: should be signed int.
2012-06-19 21:02:27 +04:00
Timothy Collett
707fcc55e5
Update xml repo
2012-06-19 10:52:08 -04:00
Timothy Collett
40e764a46b
Some more tweaks to the memory-finding code
2012-06-19 10:51:47 -04:00
Alexander Gavrilov
50bd758876
Replace dfhack.internal.getBase with getRebaseDelta.
...
Also, when printing found offsets, subtract the delta.
2012-06-19 18:48:22 +04:00
Alexander Gavrilov
50dff56899
Rewrite getMemRanges for windows to get rid of a number of problems.
...
- Properly handle copy-on-write permission modes.
- Merge ranges with the same properties for us.
- Don't skip non-private areas.
- Use the mapped filename as name, so that it works for all ranges.
2012-06-19 18:41:18 +04:00
Alexander Gavrilov
bd5b675fa5
Add ui_menu_width finder, tweak instructions, and add a case for win exe.
2012-06-18 21:11:54 +04:00
Timothy Collett
9b941bcd4d
Merge branch 'master' of https://github.com/angavrilov/dfhack
...
Trying out angavrilov's changes
2012-06-18 09:29:20 -04:00
Alexander Gavrilov
dc6cb61979
Add more offset finders to the script.
2012-06-17 18:44:59 +04:00
Alexander Gavrilov
fa41a27f26
Add an api function to get vtable address from version info.
2012-06-17 14:26:27 +04:00
Alexander Gavrilov
67536da2fe
Add an interactive script finding a limited subset of linux offsets.
2012-06-16 19:51:15 +04:00
Alexander Gavrilov
927ce6ce5a
Fix a problem with number to address cast for high-half addresses.
...
If the address is out of the signed int range, lua_tointeger produces
unspecified result. lua_tounsigned is guaranteed to wrap.
2012-06-16 17:09:58 +04:00
Alexander Gavrilov
db91850464
Sync to the change in gamemode/gametype globals.
2012-06-16 14:42:56 +04:00
Alexander Gavrilov
dc5bef2cb8
Add lua internal api functions needed for scanning memory.
2012-06-16 13:33:49 +04:00
Timothy Collett
14a3e5cd9e
Implement getMemRanges() on the Mac
2012-06-14 13:43:20 -04:00
Timothy Collett
9c35e9fa59
Ensure that the appropriate libz.dylib is used
2012-06-14 13:43:03 -04:00
Timothy Collett
f2a30c1a92
Remove build-time dependency on SDL
2012-06-14 13:42:40 -04:00
Timothy Collett
12543d6a5b
Make offsets with "darwin" os-type recognized as Apple, rather than ignored
2012-06-14 13:42:06 -04:00
Alexander Gavrilov
94dfdb486d
Change the field names returned from dfhack.internal.getMemRanges()
...
'end' is a lua keyword, so it cannot be used conveniently.
2012-06-14 20:32:23 +04:00
Timothy Collett
c6700585bc
Merge branch 'master' of github.com:peterix/dfhack
2012-06-14 09:59:53 -04:00
Timothy Collett
0ced9d9941
Hopefully fix DFHack's attempt to pull libstdc++ from somewhere silly (for portability)
2012-06-14 09:56:20 -04:00
Timothy Collett
19595f5225
Disable a whole bunch of no-longer-necessary debug output
2012-06-14 09:55:34 -04:00
Alexander Gavrilov
9469f27559
Make the RPC server accept a range of client versions.
...
Otherwise it sort of defeats the purpose of using version handshake.
2012-06-14 13:15:37 +04:00
Alexander Gavrilov
bbc1fb010e
Fix TEXT mode support, even making it work somewhat.
...
- Initialize the global pointers before trying to use init.
- Print a message suggesting the use of dfhack-run.
- Don't start the console thread if there is no console.
- When console is disabled, print anything given to it to stderr.
2012-06-14 13:08:39 +04:00
Alexander Gavrilov
7eb4fc19de
Make dfhack.run_script usable from other scripts, and document it.
2012-06-14 12:46:12 +04:00
Petr Mrázek
2781723f7b
Linux build works again.
2012-06-14 02:25:15 +02:00
Petr Mrázek
316973c463
Re-add fake SDL headers, get rid of real SDL use.
2012-06-14 02:15:43 +02:00
Petr Mrázek
eaac32c765
Version bump and text updates.
2012-06-14 00:29:01 +02:00
Petr Mrázek
52f9fe4a6a
Merge https://github.com/danaris/dfhack
...
Conflicts:
depends/clsocket
2012-06-14 00:00:36 +02:00
Petr Mrázek
5e011ac217
Merge https://github.com/jjyg/dfhack
2012-06-13 23:56:26 +02:00
Alexander Gavrilov
149f175909
Make primitive refs (i.e. pointers to numbers, etc) behave as arrays.
2012-06-13 22:40:39 +04:00
Alexander Gavrilov
c50b605dfc
Support casting references and allocating arrays of numbers in lua wrapper.
2012-06-13 22:26:54 +04:00
Alexander Gavrilov
8d7cf092fd
Add Lua API for access to some contextual and low-level info.
2012-06-13 21:12:36 +04:00
jj
c364b42049
fix minor gcc warning
2012-06-13 00:21:23 +02:00
jj
95606ee3dc
Merge branch 'master' of git://github.com/angavrilov/dfhack
2012-06-11 16:00:00 +02:00
Kelly Martin
c97e3bca0c
Sync structures again
2012-06-07 21:22:19 -05:00
Alexander Gavrilov
9dbcaa2733
Support adventure mode and stockpile screens in focus strings.
2012-06-06 18:54:06 +04:00
Kelly Martin
7aff2d6bc0
Sync structures for .34.11
2012-06-05 14:33:06 -05:00
Alexander Gavrilov
d35d8d3431
Add the script to fix lagging fat dwarves.
2012-06-05 14:06:29 +04:00
Alexander Gavrilov
b7edbf2076
Support 7-argument vmethods.
2012-06-05 14:00:52 +04:00
jj
b612532348
export openplugin/lookupplugin from plugin manager
2012-06-02 23:35:05 +02:00
jj
470c9f60aa
remoteclient: dont use gcc deprecated auto_ptr
2012-05-31 13:23:00 +02:00
Timothy Collett
6d65683b02
Adjust packaging for Mac
2012-05-29 16:12:35 -04:00
Timothy Collett
20a00f53c4
When built with the right compiler, we don't need any Obj-C code.
2012-05-29 14:44:37 -04:00
Quietust
f71a843c6e
Don't throw a fatal exception just because os-type isn't something we recognize - ignore it and move on
2012-05-28 11:06:23 -05:00
Timothy Collett
7ec0fd6fc0
Trying to set up an autorelease pool, but not yet succeeding.
2012-05-26 16:08:15 -04:00
Alexander Gavrilov
e72bf1ac9a
Sync to changes in df-structures.
2012-05-26 14:49:27 +04:00
Alexander Gavrilov
8644ea4dc0
Merge remote-tracking branch 'q-github/master'
2012-05-26 14:41:36 +04:00
Timothy Collett
1dd4cc5667
More work on getting dfhack building & compiling on Mac OS X
2012-05-25 14:28:59 -04:00
Timothy Collett
44c3afc306
Merge git://github.com/quietust/dfhack
...
Gotta get the changes that prevent DFHack from crashing.
2012-05-24 15:39:11 -04:00
Timothy Collett
7e88631698
Trying a different method now (with install_name_tool)
2012-05-24 15:02:53 -04:00
Timothy Collett
24d221052b
Initial changes to get dfhack building on the Mac
2012-05-24 11:31:20 -04:00
Quietust
2b862655b7
Allow compiling RelWithDebInfo on Windows
2012-05-23 13:38:16 -05:00
Quietust
64ea06bbfe
Don't crash if "gps" is null
2012-05-23 13:38:01 -05:00
Quietust
9a73ea9f14
Cleanup World module to use df::global, and fix crashes when control_mode/game_mode are missing
2012-05-23 12:51:03 -05:00
Alexander Gavrilov
9adf310d7f
Update Units::isCitizen after looking at game-over detection code.
2012-05-22 12:31:37 +04:00
Petr Mrázek
1e09d67fc3
Merge https://github.com/angavrilov/dfhack
2012-05-21 20:32:50 +02:00
Alexander Gavrilov
81022451c2
Support sorting items in stocks, and correct unit sorting in joblist.
2012-05-21 22:29:03 +04:00
Petr Mrázek
7866ab239e
Track structures
2012-05-21 20:28:17 +02:00
Alexander Gavrilov
34f08c0223
Handle the stocks screen in the focus strings.
2012-05-21 21:30:53 +04:00
Petr Mrázek
87a26ffa51
Track structures
2012-05-21 18:49:27 +02:00
Petr Mrázek
8ef1423ee7
Merge https://github.com/angavrilov/dfhack
2012-05-20 23:01:44 +02:00
Alexander Gavrilov
32d6257c70
DF code analysis uncovered another item-related flag to clear.
...
It turns out, buildings cache their 'site is blocked' state,
and won't actually recheck until the flag is cleared.
2012-05-20 21:58:43 +04:00
Alexander Gavrilov
b992b04f0b
Remove stuff that shouldn't be in the core, and expose to lua what's left.
...
Specifically, any "if (verbose) { Core::printerr("blah") }" kind
of stuff definitely doesn't belong in the common API functions.
Also, ref->getUnit() is very expensive.
On the other hand, checks for crash-inducing conflicts with the
ui should be in the core api, and not in client plugins.
2012-05-20 21:57:45 +04:00
Petr Mrázek
df3e1bb517
Sync submodules
2012-05-20 17:35:34 +02:00
Petr Mrázek
3fa155e8e6
Merge https://github.com/angavrilov/dfhack
2012-05-20 17:33:09 +02:00
Alexander Gavrilov
d28d240dbd
Merge remote-tracking branch 'kmartin/master'
2012-05-20 11:03:41 +04:00
Kelly Martin
abbe0ceb8d
Fix order-of-operations oopsie in DFHack::Items::moveToInventory
2012-05-19 14:13:32 -05:00
Petr Mrázek
bc7dbe1175
Merge derp fixed.
2012-05-19 20:03:08 +02:00
Alexander Gavrilov
1b4a24c827
Support using focus strings to limit keybinding scope.
2012-05-19 21:31:42 +04:00
Petr Mrázek
51f06c78fc
Merge https://github.com/playfordh/dfhack
...
Conflicts:
library/include/modules/Items.h
library/modules/Items.cpp
2012-05-19 19:09:13 +02:00
Petr Mrázek
ba45ac42c2
Track submodules
2012-05-19 18:34:50 +02:00
Alexander Gavrilov
7774f5f2c1
Add a mechanism converting ui focus to a string representation.
...
The idea is to make ui handling more modular, dispensing with
huge functions that switch or if/else on lots of variables.
For now, used to split up functions in the sort plugin.
2012-05-19 19:50:36 +04:00
Alexander Gavrilov
4aa6dbdd00
Support sorting items in the trade screens.
...
Caveat: sorts items in containers independently from the container.
2012-05-18 19:18:49 +04:00
Petr Mrázek
1333dc569f
Merge https://github.com/Caldfir/dfhack
2012-05-18 17:42:34 +02:00
Petr Mrázek
ed6da7618a
Merge https://github.com/warmist/dfhack
2012-05-18 17:41:09 +02:00
Alexander Gavrilov
3c44e22760
Support trade viewscreens in Items::getSelectedItem.
2012-05-18 17:54:05 +04:00
Kelly Martin
51ad697bf5
Fix unresolved symbol reference in Windows platform.
2012-05-18 08:25:25 -05:00
Warmist
48185568e9
Added df::Items::moveToBuilding. Moved item from ground to building, usefull for museum forts (placing items on tables)
2012-05-18 16:05:29 +03:00
Kelly Martin
3f542b4df1
Update merge
2012-05-18 07:40:05 -05:00
Alexander Gavrilov
52426f9035
Track xml
2012-05-17 20:41:41 +04:00