c06d1f8e52 
								
									
								
							
								 
							
						 
						
							
							
								
								tagged union support for lua ( #1818 )  
							
							
							
						 
						
							2021-03-30 15:55:06 -05:00  
				
					
						
							
							
								 
						
							
							
								125f4b129b 
								
							
								 
							
						 
						
							
							
								
								Add ref_target attribute to primitive field references  
							
							
							
						 
						
							2020-04-09 00:02:07 -04:00  
				
					
						
							
							
								 
						
							
							
								f83fee86de 
								
							
								 
							
						 
						
							
							
								
								Make pairs(df.type) return class methods  
							
							
							
						 
						
							2020-04-06 19:12:53 -04:00  
				
					
						
							
							
								 
						
							
							
								a30678cee3 
								
									
								
							
								 
							
						 
						
							
							
								
								subclass struct_identity for unions  
							
							
							
						 
						
							2020-02-29 13:11:23 -06:00  
				
					
						
							
							
								 
						
							
							
								8f2cf3ad26 
								
							
								 
							
						 
						
							
							
								
								Fix printf format warnings  
							
							
							
						 
						
							2018-06-11 19:57:06 +03:00  
				
					
						
							
							
								 
						
							
							
								b0e1ae93ea 
								
							
								 
							
						 
						
							
							
								
								Add next_item, _complex for complex enums  
							
							
							
						 
						
							2018-04-09 19:46:12 -04:00  
				
					
						
							
							
								 
						
							
							
								9398262654 
								
							
								 
							
						 
						
							
							
								
								Make enum attrs work for complex enums (lever_target_type)  
							
							
							
						 
						
							2018-04-09 16:12:03 -04:00  
				
					
						
							
							
								 
						
							
							
								7da8793172 
								
							
								 
							
						 
						
							
							
								
								Set last_item_value properly for complex enums  
							
							
							
						 
						
							2018-04-09 16:11:47 -04:00  
				
					
						
							
							
								 
						
							
							
								c1dd21730d 
								
							
								 
							
						 
						
							
							
								
								Fix complex enum ipairs for first element  
							
							
							
						 
						
							2018-04-09 11:27:02 -04:00  
				
					
						
							
							
								 
						
							
							
								61539bf345 
								
							
								 
							
						 
						
							
							
								
								Lua: implement key lookup and ipairs for complex enums  
							
							
							
						 
						
							2018-04-09 11:04:37 -04:00  
				
					
						
							
							
								 
						
							
							
								9f541481ea 
								
							
								 
							
						 
						
							
							
								
								Fix some warnings with GCC -Wall  
							
							
							
						 
						
							2016-10-15 00:37:18 -04:00  
				
					
						
							
							
								 
						
							
							
								576174ea0b 
								
							
								 
							
						 
						
							
							
								
								Lua: Add lengths of (some) containers to their string representations  
							
							
							
						 
						
							2016-08-13 19:52:14 -04:00  
				
					
						
							
							
								 
						
							
							
								eef6f9bfb7 
								
							
								 
							
						 
						
							
							
								
								Add df.new() support for char and unsigned long  
							
							
							
						 
						
							2016-08-11 00:01:52 -04:00  
				
					
						
							
							
								 
						
							
							
								dde6901534 
								
							
								 
							
						 
						
							
							
								
								x86: fix lua address display  
							
							
							
						 
						
							2016-08-05 17:50:49 -04:00  
				
					
						
							
							
								 
						
							
							
								dc79e2477b 
								
							
								 
							
						 
						
							
							
								
								Expose long/[u]intptr_t to lua and fix some integer return values  
							
							
							
						 
						
							2016-07-29 00:02:51 -04:00  
				
					
						
							
							
								 
						
							
							
								3833ff2e09 
								
							
								 
							
						 
						
							
							
								
								proper 64bit address formatting  
							
							
							
						 
						
							2016-07-26 23:30:50 -04:00  
				
					
						
							
							
								 
						
							
							
								2455e36510 
								
							
								 
							
						 
						
							
							
								
								Initial 64-bit support  
							
							
							
						 
						
							2016-07-03 23:32:43 -04:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								3fb2628921 
								
							
								 
							
						 
						
							
							
								
								Add a Lua implementation of next_enum_item()  
							
							
							
						 
						
							2015-11-07 15:22:30 -05:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								2bbd00a8ec 
								
							
								 
							
						 
						
							
							
								
								Add pairs and ipairs support for objects in df tree.  
							
							
							
						 
						
							2012-10-17 20:58:37 +04:00  
				
					
						
							
							
								 
						
							
							
								8812238bf6 
								
							
								 
							
						 
						
							
							
								
								Update license, add contributors file, bump release number  
							
							
							
						 
						
							2012-09-30 04:03:37 +02:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								c50b605dfc 
								
							
								 
							
						 
						
							
							
								
								Support casting references and allocating arrays of numbers in lua wrapper.  
							
							
							
						 
						
							2012-06-13 22:26:54 +04:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								d95cc3435f 
								
							
								 
							
						 
						
							
							
								
								Fix lua wrapper sizeof for static arrays.  
							
							... 
							
							
							
							Since it actually depends on the element type, it is more tricky. 
							
						 
						
							2012-04-20 13:04:03 +04:00  
				
					
						
							
							
								 
						
							
							
								0daafef690 
								
							
								 
							
						 
						
							
							
								
								Wrap MaterialInfo for lua.  
							
							
							
						 
						
							2012-04-06 19:56:19 +04:00  
				
					
						
							
							
								 
						
							
							
								3afed43cdb 
								
							
								 
							
						 
						
							
							
								
								Experimental: try wrapping a dfhack api function.  
							
							
							
						 
						
							2012-04-05 11:59:39 +04:00  
				
					
						
							
							
								 
						
							
							
								a8fe0eccb4 
								
							
								 
							
						 
						
							
							
								
								Add functions for checking validity of lua wrapper objects.  
							
							
							
						 
						
							2012-04-02 22:02:04 +04:00  
				
					
						
							
							
								 
						
							
							
								e3d50b9b04 
								
							
								 
							
						 
						
							
							
								
								Optimize wrapper: use pointers instead of strings as most frequent keys.  
							
							
							
						 
						
							2012-04-01 18:34:04 +04:00  
				
					
						
							
							
								 
						
							
							
								604c84953b 
								
							
								 
							
						 
						
							
							
								
								Fix a bug: LookupTypeInfo cannot assume the result is userdata.  
							
							
							
						 
						
							2012-04-01 17:59:47 +04:00  
				
					
						
							
							
								 
						
							
							
								a3e526abdb 
								
							
								 
							
						 
						
							
							
								
								Add df.is_instance(a,b) to check if typeof(b) is subtype of typeof(a).  
							
							... 
							
							
							
							Allows both objects and types as arguments. Also accepts nil and
primitives as b, returning nil. 
							
						 
						
							2012-04-01 17:32:57 +04:00  
				
					
						
							
							
								 
						
							
							
								0f41608ed4 
								
							
								 
							
						 
						
							
							
								
								Pull console output support and REPL out of dfusion into core lib.  
							
							
							
						 
						
							2012-03-31 15:40:54 +04:00  
				
					
						
							
							
								 
						
							
							
								9384f0c842 
								
							
								 
							
						 
						
							
							
								
								Update lua to 5.2 and fix obvious breakage due to obsolete api.  
							
							
							
						 
						
							2012-03-31 12:11:43 +04:00  
				
					
						
							
							
								 
						
							
							
								a9b7c74a23 
								
							
								 
							
						 
						
							
							
								
								Allow assigning NULL lightuserdata to pointers, and export a global.  
							
							... 
							
							
							
							Otherwise there is no way to specify NULL via recursive lua table assign. 
							
						 
						
							2012-03-29 14:47:33 +04:00  
				
					
						
							
							
								 
						
							
							
								85c91c92d8 
								
							
								 
							
						 
						
							
							
								
								Implement __pairs and __ipairs for DF objects.  
							
							... 
							
							
							
							Structs enumerate fields in memory order in pairs().
Containers & biftields enumerate int indexes in ipairs, and
string keys in pairs (i.e. using index-enum for arrays). 
							
						 
						
							2012-03-29 14:39:13 +04:00  
				
					
						
							
							
								 
						
							
							
								95ec363a7f 
								
							
								 
							
						 
						
							
							
								
								Merge branch 'master' of  https://github.com/peterix/dfhack  
							
							... 
							
							
							
							Conflicts:
	library/LuaTypes.cpp
	library/LuaWrapper.cpp 
							
						 
						
							2012-03-28 11:51:49 -05:00  
				
					
						
							
							
								 
						
							
							
								929657bed4 
								
							
								 
							
						 
						
							
							
								
								Disable pointer auto-vivification unless new is specified.  
							
							... 
							
							
							
							Since it is essentially allocating non-gc managed objects,
it can lead to memory leaks and shouldn't happen invisibly.
Also support using the 'assign' key to request assign()
from another object before processing the current map. 
							
						 
						
							2012-03-28 17:00:07 +08:00  
				
					
						
							
							
								 
						
							
							
								b76bdad50f 
								
							
								 
							
						 
						
							
							
								
								Implement recursive transfer of values from lua to c++ structures.  
							
							... 
							
							
							
							E.g. df.global.cursor = { x = 1, y = 2, z = 3 }. The lua data
must be represented by raw lua tables.
For structs, the entries in the table are assigned to matching fields.
For containers, if a 'resize' field is missing or nil, the table is
treated like 1-based lua array, and the container is resized to match
its # length. Otherwise, the field must be either an explicit number,
true or false. If it is true, the size is selected by the highest index
in the table. After that, entries are copied using 0-based indices.
For pointers, the table must match the target object. If the pointer
is null, the object is auto-allocated; this can be controlled using
the 'new' field, the value of which will be passed to df.new(). 
							
						 
						
							2012-03-28 16:58:51 +08:00  
				
					
						
							
							
								 
						
							
							
								bc74c5984e 
								
							
								 
							
						 
						
							
							
								
								Implement recursive transfer of values from lua to c++ structures.  
							
							... 
							
							
							
							E.g. df.global.cursor = { x = 1, y = 2, z = 3 }. The lua data
must be represented by raw lua tables.
For structs, the entries in the table are assigned to matching fields.
For containers, if a 'resize' field is missing or nil, the table is
treated like 1-based lua array, and the container is resized to match
its # length. Otherwise, the field must be either an explicit number,
true or false. If it is true, the size is selected by the highest index
in the table. After that, entries are copied using 0-based indices.
For pointers, the table must match the target object. If the pointer
is null, the object is auto-allocated; this can be controlled using
the 'new' field, the value of which will be passed to df.new(). 
							
						 
						
							2012-03-27 21:47:52 +04:00  
				
					
						
							
							
								 
						
							
							
								1d81cb56ba 
								
							
								 
							
						 
						
							
							
								
								Make enum attributes accessible through the lua wrapper.  
							
							... 
							
							
							
							TODO: make them completely read-only. 
							
						 
						
							2012-03-25 19:12:59 +04:00  
				
					
						
							
							
								 
						
							
							
								0412aaebe4 
								
							
								 
							
						 
						
							
							
								
								Add a delete() method to the objects in the lua wrapper.  
							
							
							
						 
						
							2012-03-25 15:48:18 +04:00  
				
					
						
							
							
								 
						
							
							
								7209e4d3f2 
								
							
								 
							
						 
						
							
							
								
								Attach static methods to the type objects in the lua wrapper.  
							
							
							
						 
						
							2012-03-25 15:20:58 +04:00  
				
					
						
							
							
								 
						
							
							
								0c7fc233bd 
								
							
								 
							
						 
						
							
							
								
								Support resize/erase/insert for containers, and allow any index in BitArray.  
							
							
							
						 
						
							2012-03-24 16:28:53 +04:00  
				
					
						
							
							
								 
						
							
							
								d865d54a90 
								
							
								 
							
						 
						
							
							
								
								Split LuaWrapper.cpp into two files.  
							
							
							
						 
						
							2012-03-24 13:25:10 +04:00  
				
					
						
							
							
								 
						
							
							
								053bfe345c 
								
							
								 
							
						 
						
							
							
								
								Implement allocation and copy for c++ objects in the lua wrapper.  
							
							
							
						 
						
							2012-03-24 12:43:53 +04:00  
				
					
						
							
							
								 
						
							
							
								2b1f8aa2bb 
								
							
								 
							
						 
						
							
							
								
								Add a _field method that returns refs to struct and container items.  
							
							... 
							
							
							
							Hack: allocate ad-hoc pointer identities as full lua userdata. 
							
						 
						
							2012-03-23 12:55:29 +04:00  
				
					
						
							
							
								 
						
							
							
								6b2006361d 
								
							
								 
							
						 
						
							
							
								
								Add a _displace method that implements offsetting a pointer by an int.  
							
							
							
						 
						
							2012-03-23 11:54:59 +04:00  
				
					
						
							
							
								 
						
							
							
								78437310d0 
								
							
								 
							
						 
						
							
							
								
								Add a sizeof method/function to retrieve object/type size and address.  
							
							
							
						 
						
							2012-03-23 11:30:54 +04:00  
				
					
						
							
							
								 
						
							
							
								ccc8fac166 
								
							
								 
							
						 
						
							
							
								
								Get rid of the write mode field table in metamethods.  
							
							... 
							
							
							
							Two separate tables can be confusing, e.g. if a builtin field
overrides a writable custom one only in the read table. 
							
						 
						
							2012-03-23 10:56:29 +04:00