diff options
| author | Alexander Gavrilov | 2012-06-21 21:08:36 +0400 |
|---|---|---|
| committer | Alexander Gavrilov | 2012-06-21 21:08:36 +0400 |
| commit | f207714d4225e729fa43d04048d595ad6954521d (patch) | |
| tree | c19291f0033e8494f92c3c9f8043dfb64c1eb243 /library/lua | |
| parent | ed4acbdedbb0ddecac5b8b666ef159289697ec93 (diff) | |
| download | dfhack-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.lua | 29 |
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 |
