summaryrefslogtreecommitdiff
path: root/library/lua
diff options
context:
space:
mode:
authorAlexander Gavrilov2012-06-21 21:08:36 +0400
committerAlexander Gavrilov2012-06-21 21:08:36 +0400
commitf207714d4225e729fa43d04048d595ad6954521d (patch)
treec19291f0033e8494f92c3c9f8043dfb64c1eb243 /library/lua
parented4acbdedbb0ddecac5b8b666ef159289697ec93 (diff)
downloaddfhack-f207714d4225e729fa43d04048d595ad6954521d.tar.gz
dfhack-f207714d4225e729fa43d04048d595ad6954521d.tar.bz2
dfhack-f207714d4225e729fa43d04048d595ad6954521d.tar.xz
Add finders for enabler, gps and init.
Diffstat (limited to 'library/lua')
-rw-r--r--library/lua/memscan.lua29
1 files changed, 28 insertions, 1 deletions
diff --git a/library/lua/memscan.lua b/library/lua/memscan.lua
index 65b02194..4cf8d41c 100644
--- a/library/lua/memscan.lua
+++ b/library/lua/memscan.lua
@@ -154,7 +154,8 @@ function MemoryArea.new(astart, aend)
int16_t = CheckedArray.new('int16_t',astart,aend),
uint16_t = CheckedArray.new('uint16_t',astart,aend),
int32_t = CheckedArray.new('int32_t',astart,aend),
- uint32_t = CheckedArray.new('uint32_t',astart,aend)
+ uint32_t = CheckedArray.new('uint32_t',astart,aend),
+ float = CheckedArray.new('float',astart,aend)
}
setmetatable(obj, MemoryArea)
return obj
@@ -453,4 +454,30 @@ function DiffSearcher:find_counter(prompt,data_type,delta,action_prompt)
)
end
+-- Screen size
+
+function get_screen_size()
+ -- Use already known globals
+ if dfhack.internal.getAddress('init') then
+ local d = df.global.init.display
+ return d.grid_x, d.grid_y
+ end
+ if dfhack.internal.getAddress('gps') then
+ local g = df.global.gps
+ return g.dimx, g.dimy
+ end
+
+ -- Parse stdout.log for resize notifications
+ io.stdout:flush()
+
+ local w,h = 80,25
+ for line in io.lines('stdout.log') do
+ local cw, ch = string.match(line, '^Resizing grid to (%d+)x(%d+)$')
+ if cw and ch then
+ w, h = tonumber(cw), tonumber(ch)
+ end
+ end
+ return w,h
+end
+
return _ENV