bd37cc09c5 
								
							
								 
							
						 
						
							
							
								
								Update the Lua API document with info about scripts.  
							
							
							
						 
						
							2012-06-22 20:17:55 +04:00  
				
					
						
							
							
								 
						
							
							
								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  
				
					
						
							
							
								 
						
							
							
								752da9ced5 
								
							
								 
							
						 
						
							
							
								
								Move formatting newly-found globals for symbols.xml to lua code.  
							
							
							
						 
						
							2012-06-21 21:26:25 +04:00  
				
					
						
							
							
								 
						
							
							
								f207714d42 
								
							
								 
							
						 
						
							
							
								
								Add finders for enabler, gps and init.  
							
							
							
						 
						
							2012-06-21 21:08:36 +04:00  
				
					
						
							
							
								 
						
							
							
								ed4acbdedb 
								
							
								 
							
						 
						
							
							
								
								Add a searcher for current_weather, using a prepared save.  
							
							
							
						 
						
							2012-06-20 10:12:26 +04:00  
				
					
						
							
							
								 
						
							
							
								bd5b675fa5 
								
							
								 
							
						 
						
							
							
								
								Add ui_menu_width finder, tweak instructions, and add a case for win exe.  
							
							
							
						 
						
							2012-06-18 21:11:54 +04:00  
				
					
						
							
							
								 
						
							
							
								dc6cb61979 
								
							
								 
							
						 
						
							
							
								
								Add more offset finders to the script.  
							
							
							
						 
						
							2012-06-17 18:44:59 +04:00  
				
					
						
							
							
								 
						
							
							
								67536da2fe 
								
							
								 
							
						 
						
							
							
								
								Add an interactive script finding a limited subset of linux offsets.  
							
							
							
						 
						
							2012-06-16 19:51:15 +04:00  
				
					
						
							
							
								 
						
							
							
								7eb4fc19de 
								
							
								 
							
						 
						
							
							
								
								Make dfhack.run_script usable from other scripts, and document it.  
							
							
							
						 
						
							2012-06-14 12:46:12 +04:00  
				
					
						
							
							
								 
						
							
							
								efdb709284 
								
							
								 
							
						 
						
							
							
								
								Support creating rollers and stops with dfhack.buildings.constructBuilding.  
							
							
							
						 
						
							2012-05-17 00:19:29 +04:00  
				
					
						
							
							
								 
						
							
							
								642a625586 
								
							
								 
							
						 
						
							
							
								
								Support custom buildings in dfhack.buildings.getFiltersByType.  
							
							... 
							
							
							
							Also document it and constructBuilding in Lua API docs. 
							
						 
						
							2012-05-13 18:39:00 +04:00  
				
					
						
							
							
								 
						
							
							
								87ec1de891 
								
							
								 
							
						 
						
							
							
								
								Improve lua api for tile biome access.  
							
							
							
						 
						
							2012-05-13 13:58:41 +04:00  
				
					
						
							
							
								 
						
							
							
								d6813c7690 
								
							
								 
							
						 
						
							
							
								
								Change xml submodule pointer.  
							
							
							
						 
						
							2012-05-08 19:08:34 +04:00  
				
					
						
							
							
								 
						
							
							
								191071beb6 
								
							
								 
							
						 
						
							
							
								
								Add more lua scripts.  
							
							
							
						 
						
							2012-05-08 12:55:06 +04:00  
				
					
						
							
							
								 
						
							
							
								fca618ff1b 
								
							
								 
							
						 
						
							
							
								
								Support default building inputs in dfhack.buildings.constructBuilding.  
							
							
							
						 
						
							2012-05-06 19:11:29 +04:00  
				
					
						
							
							
								 
						
							
							
								9ad8d767b4 
								
							
								 
							
						 
						
							
							
								
								Add code for adding abstract buildings and removing constructions.  
							
							
							
						 
						
							2012-05-06 19:09:11 +04:00  
				
					
						
							
							
								 
						
							
							
								d4d6349f48 
								
							
								 
							
						 
						
							
							
								
								Expose builtin commands to dfhack-run, and add lua script support.  
							
							... 
							
							
							
							Move builtin command implementation to Core methods, and fall
back to hack/scripts/*.lua for otherwise unrecognized commands. 
							
						 
						
							2012-05-04 19:47:18 +04:00  
				
					
						
							
							
								 
						
							
							
								4cffb6428d 
								
							
								 
							
						 
						
							
							
								
								Update building creation code with new knowledge, and fix zone.  
							
							... 
							
							
							
							Also, document new lua api, and add a more convenient wrapper. 
							
						 
						
							2012-05-01 18:55:30 +04:00  
				
					
						
							
							
								 
						
							
							
								2303a25bde 
								
							
								 
							
						 
						
							
							
								
								Implement unconstructed building instance creation and linking into world.  
							
							... 
							
							
							
							For more flexibility, the base api is split into 3 phases:
alloc, setSize, and construct. No support for non-actual
buildings like stockpiles and activity zones at the moment. 
							
						 
						
							2012-04-29 21:07:39 +04:00  
				
					
						
							
							
								 
						
							
							
								16ee049664 
								
							
								 
							
						 
						
							
							
								
								Split off the burrows api from Maps and Units.  
							
							
							
						 
						
							2012-04-26 12:56:28 +04:00  
				
					
						
							
							
								 
						
							
							
								763a301b4f 
								
							
								 
							
						 
						
							
							
								
								Add a few more lua api functions, documentation, and unit sort orders.  
							
							... 
							
							
							
							Units::getProfessionName appears to work correctly for
everything except nobles. 
							
						 
						
							2012-04-23 21:30:53 +04:00  
				
					
						
							
							
								 
						
							
							
								125cd6622a 
								
							
								 
							
						 
						
							
							
								
								Support sorting units in many more ui contexts.  
							
							
							
						 
						
							2012-04-22 19:22:00 +04:00  
				
					
						
							
							
								 
						
							
							
								2ef321a208 
								
							
								 
							
						 
						
							
							
								
								Preserve the original lua global environment for modules.  
							
							... 
							
							
							
							The intent is to prevent accidental pollution of module namespaces
by globals defined from careless scripts running in the _G environment. 
							
						 
						
							2012-04-21 20:15:57 +04:00  
				
					
						
							
							
								 
						
							
							
								4af051bab3 
								
							
								 
							
						 
						
							
							
								
								Add a few more unit orderings, and a way to reverse direction.  
							
							
							
						 
						
							2012-04-21 16:53:17 +04:00  
				
					
						
							
							
								 
						
							
							
								3282ac3db2 
								
							
								 
							
						 
						
							
							
								
								Add a hotkey command that sorts units in lists using lua comparators.  
							
							
							
						 
						
							2012-04-21 15:43:52 +04:00  
				
					
						
							
							
								 
						
							
							
								3beb2ebf25 
								
							
								 
							
						 
						
							
							
								
								Export the onStateChange event to core lua context & add some docs.  
							
							
							
						 
						
							2012-04-17 11:45:09 +04:00  
				
					
						
							
							
								 
						
							
							
								17d5b2de04 
								
							
								 
							
						 
						
							
							
								
								Multiline interpreter.  
							
							... 
							
							
							
							To test try writing for k,v in pairs(table) do <enter> print(k) <enter> end
Also prompt could be changed (couldn't think of anything better). 
							
						 
						
							2012-04-16 18:46:20 +03:00  
				
					
						
							
							
								 
						
							
							
								1e64a6a2f6 
								
							
								 
							
						 
						
							
							
								
								Make dfhack.lineedit automatically interact with RunCoreQueryLoop.  
							
							... 
							
							
							
							It still falls back to the original waiting mode if yield fails. 
							
						 
						
							2012-04-16 18:05:42 +04:00  
				
					
						
							
							
								 
						
							
							
								a1756a864c 
								
							
								 
							
						 
						
							
							
								
								Implement a way to do prompts from core context.  
							
							... 
							
							
							
							The trick obviously is doing it without forcing DF to wait suspended.
Fortunately, lua has built-in coroutine support, so the interactive
prompt can simply yield and rely on the external loop to do the job.
To use this however the REPL had to be replaced with lua code. 
							
						 
						
							2012-04-15 21:50:22 +04:00  
				
					
						
							
							
								 
						
							
							
								14709e5d45 
								
							
								 
							
						 
						
							
							
								
								Add an official core lua context, and allow plugins to send events to it.  
							
							... 
							
							
							
							- This context requires core suspend lock and asserts it in a few places.
- Special 'event' objects are introduced. They can be invoked as
  functions, in which case they iterate all their fields and call
  them as functions. Errors are printed and consumed.
- When a plugin is opened by the core context, events registered in
  a special array are linked to it. The system is organized so as to
  avoid even trying to pass the event to lua if the module isn't loaded. 
							
						 
						
							2012-04-15 19:09:25 +04:00  
				
					
						
							
							
								 
						
							
							
								cb49c92b99 
								
							
								 
							
						 
						
							
							
								
								Allow plugins to export functions to lua with safe reload support.  
							
							... 
							
							
							
							- To ensure reload safety functions have to be wrapped. Every call
  checks the loaded state and locks a mutex in Plugin. If the plugin
  is unloaded, calling its functions throws a lua error. Therefore,
  plugins may not create closures or export yieldable functions.
- The set of function argument and return types supported by
  LuaWrapper is severely limited when compared to being compiled
  inside the main library.
  Currently supported types: numbers, bool, std::string, df::foo,
  df::foo*, std::vector<bool>, std::vector<df::foo*>.
- To facilitate postponing initialization until after all plugins
  have been loaded, the core sends a SC_CORE_INITIALIZED event.
- As an example, the burrows plugin now exports its functions. 
							
						 
						
							2012-04-14 19:44:07 +04:00  
				
					
						
							
							
								 
						
							
							
								2d8611a480 
								
							
								 
							
						 
						
							
							
								
								Add core api for moving items between ground and containers.  
							
							
							
						 
						
							2012-04-12 18:37:27 +04:00  
				
					
						
							
							
								 
						
							
							
								0c2b78b96b 
								
							
								 
							
						 
						
							
							
								
								Add api for manipulating burrows to the core.  
							
							
							
						 
						
							2012-04-11 19:42:05 +04:00  
				
					
						
							
							
								 
						
							
							
								61245711f7 
								
							
								 
							
						 
						
							
							
								
								Export a few maps functions to lua.  
							
							
							
						 
						
							2012-04-11 16:20:16 +04:00  
				
					
						
							
							
								 
						
							
							
								e74788cb26 
								
							
								 
							
						 
						
							
							
								
								Add a generic facility for object finalization during stack unwind.  
							
							... 
							
							
							
							Supports two modes of finalization:
- try {...} finally {...}
- try {...} catch { ...; throw }
Argument passing discipline is designed with vararg tail calls in mind. 
							
						 
						
							2012-04-07 14:21:38 +04:00  
				
					
						
							
							
								 
						
							
							
								0daafef690 
								
							
								 
							
						 
						
							
							
								
								Wrap MaterialInfo for lua.  
							
							
							
						 
						
							2012-04-06 19:56:19 +04:00  
				
					
						
							
							
								 
						
							
							
								903e9ee716 
								
							
								 
							
						 
						
							
							
								
								Export a few more functions to lua.  
							
							
							
						 
						
							2012-04-06 11:21:28 +04:00  
				
					
						
							
							
								 
						
							
							
								9eed9f0d24 
								
							
								 
							
						 
						
							
							
								
								Wrap a few utility functions defined on the c++ side for lua.  
							
							
							
						 
						
							2012-04-05 19:55:59 +04:00  
				
					
						
							
							
								 
						
							
							
								7efbd798ce 
								
							
								 
							
						 
						
							
							
								
								Upgrade lua errors to structures when attaching stack trace.  
							
							... 
							
							
							
							This allows detecting when it's re-thrown and avoiding attaching the
stack twice, and so on. Would also be useful if debugging is added. 
							
						 
						
							2012-04-04 13:34:07 +04:00  
				
					
						
							
							
								 
						
							
							
								2d4af4ac3e 
								
							
								 
							
						 
						
							
							
								
								A few more utility functions for lua.  
							
							
							
						 
						
							2012-04-03 20:02:01 +04:00  
				
					
						
							
							
								 
						
							
							
								edd63080b5 
								
							
								 
							
						 
						
							
							
								
								Only print the shortcut help once in the lua interactive mode.  
							
							
							
						 
						
							2012-04-01 17:00:25 +04:00  
				
					
						
							
							
								 
						
							
							
								afe4eba957 
								
							
								 
							
						 
						
							
							
								
								Improve performance of the persistent data api, and wrap it for lua.  
							
							... 
							
							
							
							Use an stl table for string keys to avoid linear cost of lookup.
This uncovered a bug in the new luaL_getsubtable function. 
							
						 
						
							2012-04-01 16:43:40 +04:00  
				
					
						
							
							
								 
						
							
							
								a9a6fbd8b5 
								
							
								 
							
						 
						
							
							
								
								Lua tweaks: a couple of functions, dfusion tweak, backtrace metadata.  
							
							
							
						 
						
							2012-04-01 12:50:56 +04:00  
				
					
						
							
							
								 
						
							
							
								0f41608ed4 
								
							
								 
							
						 
						
							
							
								
								Pull console output support and REPL out of dfusion into core lib.  
							
							
							
						 
						
							2012-03-31 15:40:54 +04:00