Commit Graph

73 Commits (62523bdcb1a2da3083b219ef5d320d5f7f828a00)

Author SHA1 Message Date
lethosor 1dc59d3772 Ruby: use core methods for finding selected item and building
Similar to c3d566332, the core methods have become more complicated (and are also checked at compile-time). This will give a more consistent experience across scripts.

Fixes #1563
2020-05-01 22:50:02 -04:00
Pauli 8f2cf3ad26 Fix printf format warnings 2018-06-11 19:57:06 +03:00
Ben Lubar 1dd6625270
Fix remaining warnings in supported plugins 2018-04-06 14:17:34 -05:00
lethosor c3d5663320 Ruby: use Gui module to get selected unit
This allows "exterminate it" to work from command-prompt, among other things.

Fixes #1100
2017-06-06 23:34:34 -04:00
lethosor 4dff218976 ruby: fix crash when unloading plugin on Windows 2017-05-09 13:49:07 -04:00
Kelly Kinkade 439e13643c better hack to make ruby work on win64 2016-12-13 23:55:20 -06:00
jj 8488b1a953 ruby: use correct raw string length with encodings 2016-12-05 10:29:16 +01:00
lethosor dd28079f30 Fix ruby.cpp compilation on win64 2016-11-22 22:43:48 -05:00
lethosor df9b5bca73 Allow ruby plugin to try more than one library path, including libruby.so on Linux 2016-11-17 10:31:48 -05:00
lethosor 2e6c7a90be fix whitespace 2016-10-31 01:58:40 -04:00
lethosor 9e97ccbb50 Use system libruby on osx64 (since ruby 1.8 and 2 are supported now) 2016-10-29 19:08:54 -04:00
jj c640006069 ruby: some more updates for x64, fix df_flagarray size 2016-10-28 16:40:14 +02:00
lethosor d62d263793 ruby: Fix potential onupdate crash when cur_year is missing 2016-10-26 20:55:16 -04:00
lethosor cf329c7ceb Ruby: fix Qnil and Qtrue constants with 64-bit Ruby 2.x
These have different values on x64 Ruby 2.x (see USE_FLONUM in ruby.h in the
ruby source). This was causing dump_rb_error to crash, since it was walking an
array until it got to Qnil (but thinking Qnil was 4 instead of 8) and trying to
print each element as a string. There were probably more subtle issues with
Qnil and Qtrue being wrong too.
2016-10-26 20:44:35 -04:00
lethosor defedb351e Fix raw_vcall crash on Linux/OS X x64 2016-10-26 09:34:14 -04:00
lethosor 3df74de021 Fix rb_dfget_vtable_ptr on x64
This was causing rb_dfget_rtti_classname to receive a truncated pointer and
crash
2016-10-21 11:46:53 -04:00
jj f586692ed6 plugins/ruby: update for 64bits 2016-10-21 14:52:26 +02:00
lethosor 2806fe73a9 ruby: Support for loading Ruby 2.x libruby
Check for rb_float_new and rb_float_new_in_heap, as documented in #271
2016-10-08 17:01:52 -04:00
lethosor 1b11c46a98 ruby.cpp: uint32_t -> uintptr_t 2016-08-10 15:24:07 -04:00
Carter Bray 9da2dcb8a2 Fix raw_vcall on Win64 builds
MSVC's call conventions on x64 are the same for normal function calls and
member function calls (with the addition of the implicit 'this'
parameter).
2016-07-31 17:01:57 -07:00
PeridexisErrant 273c22f606 Shorten "ls" help for plugins
I think that's all of them.
2016-04-15 16:28:41 +10: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 6a64525284 Include a ruby library for OS X
See #560
2015-02-21 21:53:08 -05:00
lethosor d7897caec7 Display a more user-friendly error message when the ruby library is not available 2015-02-21 21:50:25 -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
jj 0766538ecd ruby: add df.print_color(col, string) 2014-09-25 15:53:03 +02:00
jj c894346639 ruby: call RUBY_INIT_STACK 2014-09-19 21:38:22 +02:00
jj eac126c884 ruby: use placement-new instead of hack 2014-04-01 15:12:52 +02:00
jj 4ba4f90147 ruby: add support for enable/disable plugin 2013-10-07 13:58:28 +02:00
jj de5e713c51 ruby: add rb dfhack command shortcut 2013-04-16 21:54:03 +02:00
jj b2e22a2c42 ruby: add facility to queue dfhack commands 2013-04-12 15:23:13 +02:00
jj 662d3101c7 ruby: fix onupdate tick limiting + advmode, add pageprotect, add :script_finished 2012-12-11 17:25:51 +01:00
jj 0b80dff09d ruby: add d-float support 2012-12-04 17:18:09 +01:00
jj 8f0d552556 ruby: add DFHack::VERSION 2012-11-28 13:33:07 +01:00
jj 0547ee7f83 ruby: add magic "nolock " prefix to run ruby without Suspending main df 2012-10-12 11:12:31 +02:00
jj 44a74ddc38 ruby: remove unused var 2012-09-28 22:58:26 +02:00
jj b05905a0ba ruby: basic stl::set<uint32> support, add Viewscreen.feed_keys 2012-09-14 13:55:22 +02:00
jj 54780cac3f ruby: allow vmethod call with 6 args, use direct fptr 2012-08-31 15:51:22 +02:00
jj c339c7085a ruby: add memory_check / memory_patch native methods 2012-08-23 18:44:03 +02:00
jj 7a03f93dbd ruby: add raw stl::string allocation, add _cpp_delete, tweak readme 2012-08-09 14:50:52 +02:00
jj 8e17ebbefc add SC_PAUSED / SC_UNPAUSED onStateChange events 2012-07-05 18:03:02 +02:00
jj 7732901b6e ruby: tweak onupdate to allow tick rate-limiting 2012-07-05 15:35:37 +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
jj 31a5495031 ruby: osx support (maybe) 2012-06-29 17:51:26 +02:00
jj 24aa3827c1 ruby: generate accessors for refers-to and vector of ref-target 2012-06-27 14:52:34 +02:00
jj c2c29af959 ruby: fix deadlock on df exit due to BEGIN_UNLOAD + Core.Suspend() 2012-06-25 19:16:35 +02:00
jj 17d06b969b ruby: move all ruby invocations inside a CoreSuspend lock, remove ruby suspend method 2012-06-25 17:06:37 +02:00
jj 8fb139a2f4 ruby: document mutex use, load ruby-autogen in the background 2012-06-25 01:45:50 +02:00
jj 552da8417e ruby: handle .rb files in df/hack/scripts/ 2012-06-24 20:24:46 +02:00
jj 4c2d4d4b86 ruby: clean stuff up, install ruby modules in df/hack/ruby/ 2012-06-24 16:09:31 +02:00