From ce69cdb5dffad03ee9bd2d1b5fb43fb7c9cf3756 Mon Sep 17 00:00:00 2001 From: Warmist Date: Thu, 29 Mar 2012 18:39:11 +0300 Subject: [PATCH 1/2] New way of doing assignments used in tools/empregnate. --- plugins/Dfusion/luafiles/tools/init.lua | 29 ++++++++----------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/plugins/Dfusion/luafiles/tools/init.lua b/plugins/Dfusion/luafiles/tools/init.lua index 2d86cec07..78a9e2181 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 From 531704da8c539e2dd4ee9eb61ce9a73328b6620a Mon Sep 17 00:00:00 2001 From: Warmist Date: Thu, 29 Mar 2012 22:08:45 +0300 Subject: [PATCH 2/2] print (after dfuse/dfusion) no longer needs tostring --- plugins/Dfusion/luafiles/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/Dfusion/luafiles/init.lua b/plugins/Dfusion/luafiles/init.lua index aaf2677fc..63bc06d2f 100644 --- a/plugins/Dfusion/luafiles/init.lua +++ b/plugins/Dfusion/luafiles/init.lua @@ -1,5 +1,5 @@ function print(msg) - Console.print(msg.."\n") + Console.print(tostring(msg).."\n") end function err(msg) --make local maybe... print(msg)