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