summaryrefslogtreecommitdiff
path: root/plugins/Dfusion
diff options
context:
space:
mode:
authorPetr Mrázek2012-03-30 20:32:57 +0200
committerPetr Mrázek2012-03-30 20:32:57 +0200
commit5d8415c8d9526350d94a46c2c88fda69cd5d580e (patch)
treef6b986f11aa09bfa013f80000573fed5696a4d83 /plugins/Dfusion
parent61fe6056764ee29a24b4ee9ca508ab088918a130 (diff)
parent531704da8c539e2dd4ee9eb61ce9a73328b6620a (diff)
downloaddfhack-5d8415c8d9526350d94a46c2c88fda69cd5d580e.tar.gz
dfhack-5d8415c8d9526350d94a46c2c88fda69cd5d580e.tar.bz2
dfhack-5d8415c8d9526350d94a46c2c88fda69cd5d580e.tar.xz
Merge https://github.com/warmist/dfhack
Conflicts: plugins/Dfusion/luafiles/init.lua
Diffstat (limited to 'plugins/Dfusion')
-rw-r--r--plugins/Dfusion/luafiles/init.lua3
-rw-r--r--plugins/Dfusion/luafiles/tools/init.lua29
2 files changed, 12 insertions, 20 deletions
diff --git a/plugins/Dfusion/luafiles/init.lua b/plugins/Dfusion/luafiles/init.lua
index 9ec8baf2..63bc06d2 100644
--- a/plugins/Dfusion/luafiles/init.lua
+++ b/plugins/Dfusion/luafiles/init.lua
@@ -1,3 +1,6 @@
+function print(msg)
+ Console.print(tostring(msg).."\n")
+end
function err(msg) --make local maybe...
print(msg)
print(debug.traceback())
diff --git a/plugins/Dfusion/luafiles/tools/init.lua b/plugins/Dfusion/luafiles/tools/init.lua
index 2d86cec0..78a9e218 100644
--- a/plugins/Dfusion/luafiles/tools/init.lua
+++ b/plugins/Dfusion/luafiles/tools/init.lua
@@ -290,39 +290,28 @@ function tools.empregnate(unit)
unit.curse.add_tags2.STERILE=false
end
local arr1=unit.appearance.unk_51c
- local arr2=unit.appearance.unk_51c
- local created=false
+ local arr2=unit.appearance.unk_524
if unit.relations.pregnancy_ptr == nil then
print("creating preg ptr.")
if false then
print(string.format("%x %x",df.sizeof(unit.relations:_field("pregnancy_ptr"))))
return
end
- local size,offset=df.sizeof(unit.relations:_field("pregnancy_ptr"))
- local s1=df.sizeof(arr1)
- local s2=df.sizeof(arr2)
- engine.poked(offset,engine.alloc(s1+s2))
- created=true
+ unit.relations.pregnancy_ptr={ new = true, anon_1 = { assign = arr1 }, anon_2 = { assign = arr2 } }
end
local tarr1=unit.relations.pregnancy_ptr.anon_1
local tarr2=unit.relations.pregnancy_ptr.anon_2
- if created or #tarr1~= #arr1 then
+ if #tarr1~= #arr1 then
+ print("First array incorrect, fixing.")
print(string.format("Before: %d vs %d",#tarr1,#arr1))
- print("Setting up arr1")
- print(string.format("%x %x",df.sizeof(tarr1)))
- --tarr1=arr1:new()
- local size,offset=df.sizeof(tarr1)
- engine.poked(offset,engine.alloc(#arr1))
- engine.poked(offset+4,#arr1)
+ tarr1:assign(arr1)
print(string.format("after: %d vs %d",#tarr1,#arr1))
end
if created or #tarr2~= #arr2 then
- print("Setting up arr2")
- --tarr2=arr2:new()
- local size,offset=df.sizeof(tarr2)
-
- engine.poked(offset,engine.alloc(#arr2*2))
- engine.poked(offset+4,#arr2)
+ print("Second array incorrect, fixing.")
+ print(string.format("Before: %d vs %d",#tarr2,#arr2))
+ tarr2:assign(arr2)
+ print(string.format("after: %d vs %d",#tarr2,#arr2))
end
print("Setting preg timer.")
unit.relations.pregnancy_timer=10