]> git.lizzy.rs Git - minetest.git/blobdiff - src/itemdef.cpp
Allow the LUA API to set animations to meshes as well as the animation speed. Also...
[minetest.git] / src / itemdef.cpp
index 934150aa17dac25429f2d624f0f322e69aeeec48..da33fd32295daae5fceb2c4e6c6f3d1159337ddd 100644 (file)
@@ -4,16 +4,16 @@ Copyright (C) 2010-2011 celeron55, Perttu Ahola <celeron55@gmail.com>
 Copyright (C) 2011 Kahrl <kahrl@gmx.net>
 
 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.
 */
@@ -30,7 +30,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "tile.h"
 #endif
 #include "log.h"
-#include "utility.h"
+#include "util/serialize.h"
 #include <map>
 #include <set>
 
@@ -70,6 +70,7 @@ ItemDefinition& ItemDefinition::operator=(const ItemDefinition &def)
                                *def.tool_capabilities);
        }
        groups = def.groups;
+       node_placement_prediction = def.node_placement_prediction;
 #ifndef SERVER
        inventory_texture = def.inventory_texture;
        if(def.wield_mesh)
@@ -115,6 +116,8 @@ void ItemDefinition::reset()
        }
        groups.clear();
 
+       node_placement_prediction = "";
+       
 #ifndef SERVER
        inventory_texture = NULL;
        if(wield_mesh)
@@ -150,6 +153,7 @@ void ItemDefinition::serialize(std::ostream &os) const
                os<<serializeString(i->first);
                writeS16(os, i->second);
        }
+       os<<serializeString(node_placement_prediction);
 }
 
 void ItemDefinition::deSerialize(std::istream &is)
@@ -184,6 +188,11 @@ void ItemDefinition::deSerialize(std::istream &is)
                int value = readS16(is);
                groups[name] = value;
        }
+       // If you add anything here, insert it primarily inside the try-catch
+       // block to not need to increase the version.
+       try{
+               node_placement_prediction = deSerializeString(is);
+       }catch(SerializationError &e) {};
 }
 
 /*
@@ -442,7 +451,7 @@ class CItemDefManager: public IWritableItemDefManager
                                        if(def->inventory_texture == NULL)
                                        {
                                                def->inventory_texture =
-                                                       tsrc->getTextureRaw(f.tname_tiles[0]);
+                                                       tsrc->getTextureRaw(f.tiledef[0].name);
                                        }
                                }