X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fcontent_nodemeta.cpp;h=f504924f956a39dcc8fe29bbe323496186efcef7;hb=bd6d4666abe20247437ede28f73955d413fe5e22;hp=ba4a0e5137df529cd81551590cfe08de13d88d4b;hpb=ff8d2bbc3682b12d40d1dfb212d39a50c498fb93;p=minetest.git diff --git a/src/content_nodemeta.cpp b/src/content_nodemeta.cpp index ba4a0e513..f504924f9 100644 --- a/src/content_nodemeta.cpp +++ b/src/content_nodemeta.cpp @@ -1,26 +1,32 @@ /* -Minetest-c55 -Copyright (C) 2010-2012 celeron55, Perttu Ahola +Minetest +Copyright (C) 2010-2013 celeron55, Perttu Ahola This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. +GNU Lesser General Public License for more details. -You should have received a copy of the GNU General Public License along +You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include "content_nodemeta.h" +#include "nodemetadata.h" +#include "nodetimer.h" #include "inventory.h" #include "log.h" -#include "utility.h" +#include "serialization.h" +#include "util/serialize.h" +#include "util/string.h" +#include "constants.h" // MAP_BLOCKSIZE +#include #define NODEMETA_GENERIC 1 #define NODEMETA_SIGN 14 @@ -56,8 +62,10 @@ static bool content_nodemeta_deserialize_legacy_body( } else if(id == NODEMETA_SIGN) // SignNodeMetadata { - meta->setString("text", deSerializeLongString(is)); - meta->setString("infotext","\"${text}\""); + meta->setString("text", deSerializeString(is)); + //meta->setString("infotext","\"${text}\""); + meta->setString("infotext", + std::string("\"") + meta->getString("text") + "\""); meta->setString("formspec","field[text;;${text}]"); return false; } @@ -68,12 +76,11 @@ static bool content_nodemeta_deserialize_legacy_body( // Rename inventory list "0" to "main" Inventory *inv = meta->getInventory(); if(!inv->getList("main") && inv->getList("0")){ - inv->addList("main", 8*4); - *inv->getList("main") = *inv->getList("0"); - inv->deleteList("0"); + inv->getList("0")->setName("main"); } - - meta->setString("formspec","invsize[8,9;]" + assert(inv->getList("main") && !inv->getList("0")); + + meta->setString("formspec","size[8,9]" "list[current_name;main;0,0;8,4;]" "list[current_player;main;0,5;8,4;]"); return false; @@ -86,12 +93,11 @@ static bool content_nodemeta_deserialize_legacy_body( // Rename inventory list "0" to "main" Inventory *inv = meta->getInventory(); if(!inv->getList("main") && inv->getList("0")){ - inv->addList("main", 8*4); - *inv->getList("main") = *inv->getList("0"); - inv->deleteList("0"); + inv->getList("0")->setName("main"); } - - meta->setString("formspec","invsize[8,9;]" + assert(inv->getList("main") && !inv->getList("0")); + + meta->setString("formspec","size[8,9]" "list[current_name;main;0,0;8,4;]" "list[current_player;main;0,5;8,4;]"); return false; @@ -112,7 +118,7 @@ static bool content_nodemeta_deserialize_legacy_body( is>>temp; meta->setString("src_time", ftos((float)temp/10)); - meta->setString("formspec","invsize[8,9;]" + meta->setString("formspec","size[8,9]" "list[current_name;fuel;2,3;1,1;]" "list[current_name;src;2,1;1,1;]" "list[current_name;dst;5,1;2,2;]"