diff options
| author | Warmist | 2012-03-18 16:23:31 +0200 |
|---|---|---|
| committer | Warmist | 2012-03-18 16:23:31 +0200 |
| commit | fe211acb71c02b2ac40272c7d7e49f82a5465d98 (patch) | |
| tree | 6d3be7f590a880b09e34dae393a66f0b126e75c7 /plugins/Dfusion | |
| parent | 3383aa7f6dda8ecbcdb69d1dbe0e1292f9da7185 (diff) | |
| download | dfhack-fe211acb71c02b2ac40272c7d7e49f82a5465d98.tar.gz dfhack-fe211acb71c02b2ac40272c7d7e49f82a5465d98.tar.bz2 dfhack-fe211acb71c02b2ac40272c7d7e49f82a5465d98.tar.xz | |
Small bug fixes
Diffstat (limited to 'plugins/Dfusion')
| -rw-r--r-- | plugins/Dfusion/luafiles/common.lua | 8 | ||||
| -rw-r--r-- | plugins/Dfusion/luafiles/init.lua | 17 | ||||
| -rw-r--r-- | plugins/Dfusion/luafiles/xml_types.lua | 3 |
3 files changed, 20 insertions, 8 deletions
diff --git a/plugins/Dfusion/luafiles/common.lua b/plugins/Dfusion/luafiles/common.lua index 9a800467..bf41d710 100644 --- a/plugins/Dfusion/luafiles/common.lua +++ b/plugins/Dfusion/luafiles/common.lua @@ -512,6 +512,14 @@ function Allocate(size) engine.poked(ptr,curptr) return curptr-size+ptr end +function initType(object,...) + local m=getmetatable(object) + if m~=nil and m.__setup~=nil then + m.__setup(object,...) + else + error("This object does not have __setup function") + end +end dofile("dfusion/patterns.lua") dofile("dfusion/patterns2.lua") dofile("dfusion/itempatterns.lua") diff --git a/plugins/Dfusion/luafiles/init.lua b/plugins/Dfusion/luafiles/init.lua index 20075278..ccb51f57 100644 --- a/plugins/Dfusion/luafiles/init.lua +++ b/plugins/Dfusion/luafiles/init.lua @@ -45,6 +45,14 @@ function mainmenu(t1) end end end +function RunSaved() + print("Locating saves...") + local str=df.world.cur_savegame.save_dir + print("Current region:"..str) + str="data/save/"..str.."/dfusion/init.lua" + print("Trying to run:"..str) + dofile_silent(str) +end dofile("dfusion/common.lua") dofile("dfusion/utils.lua") dofile("dfusion/offsets_misc.lua") @@ -70,14 +78,7 @@ table.insert(plugins,{"saves","run current worlds's init.lua",RunSaved}) loadall(plugins) dofile_silent("dfusion/initcustom.lua") -function RunSaved() - print("Locating saves...") - local str=df.world.cur_savegame.save_dir - print("Current region:"..str) - str="data/save/"..str.."/dfusion/init.lua" - print("Trying to run:"..str) - dofile_silent(str) -end + if not INIT then mainmenu(plugins) end diff --git a/plugins/Dfusion/luafiles/xml_types.lua b/plugins/Dfusion/luafiles/xml_types.lua index eff9b20a..cced4be2 100644 --- a/plugins/Dfusion/luafiles/xml_types.lua +++ b/plugins/Dfusion/luafiles/xml_types.lua @@ -1,3 +1,6 @@ +--<angavrilov> otherwise you just maintain alignment granularity in addition to size for all fields, +-- round up current offset to field alignment, +-- assign structs the max alignment of any field, and round up struct size to its alignment function type_read(valtype,address) if valtype.issimple then --print("Simple read:"..tostring(valtype.ctype)) |
