diff options
author | Perttu Ahola <celeron55@gmail.com> | 2011-11-25 16:34:12 +0200 |
---|---|---|
committer | Perttu Ahola <celeron55@gmail.com> | 2011-11-29 19:13:51 +0200 |
commit | 18bb0ea1ead82406bcfb89ea14908a4d0063209e (patch) | |
tree | 2141a857259f68c0421ca4349d82711fef6c39e2 /src/content_nodemeta.cpp | |
parent | 6a8f9135de448d805457e0b1f561c711d760565e (diff) | |
download | minetest-18bb0ea1ead82406bcfb89ea14908a4d0063209e.tar.gz minetest-18bb0ea1ead82406bcfb89ea14908a4d0063209e.tar.bz2 minetest-18bb0ea1ead82406bcfb89ea14908a4d0063209e.zip |
Mode node definition loading from Lua (still not finished), fix metadata creation from name
Diffstat (limited to 'src/content_nodemeta.cpp')
-rw-r--r-- | src/content_nodemeta.cpp | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/src/content_nodemeta.cpp b/src/content_nodemeta.cpp index 25ad3f0fd..72be1df39 100644 --- a/src/content_nodemeta.cpp +++ b/src/content_nodemeta.cpp @@ -38,7 +38,7 @@ SignNodeMetadata::SignNodeMetadata(IGameDef *gamedef, std::string text): NodeMetadata(gamedef), m_text(text) { - NodeMetadata::registerType(typeId(), typeName(), create); + NodeMetadata::registerType(typeId(), typeName(), create, create); } u16 SignNodeMetadata::typeId() const { @@ -49,6 +49,10 @@ NodeMetadata* SignNodeMetadata::create(std::istream &is, IGameDef *gamedef) std::string text = deSerializeString(is); return new SignNodeMetadata(gamedef, text); } +NodeMetadata* SignNodeMetadata::create(IGameDef *gamedef) +{ + return new SignNodeMetadata(gamedef, ""); +} NodeMetadata* SignNodeMetadata::clone(IGameDef *gamedef) { return new SignNodeMetadata(gamedef, m_text); @@ -72,7 +76,7 @@ ChestNodeMetadata proto_ChestNodeMetadata(NULL); ChestNodeMetadata::ChestNodeMetadata(IGameDef *gamedef): NodeMetadata(gamedef) { - NodeMetadata::registerType(typeId(), typeName(), create); + NodeMetadata::registerType(typeId(), typeName(), create, create); m_inventory = new Inventory(); m_inventory->addList("0", 8*4); @@ -91,6 +95,11 @@ NodeMetadata* ChestNodeMetadata::create(std::istream &is, IGameDef *gamedef) d->m_inventory->deSerialize(is, gamedef); return d; } +NodeMetadata* ChestNodeMetadata::create(IGameDef *gamedef) +{ + ChestNodeMetadata *d = new ChestNodeMetadata(gamedef); + return d; +} NodeMetadata* ChestNodeMetadata::clone(IGameDef *gamedef) { ChestNodeMetadata *d = new ChestNodeMetadata(gamedef); @@ -135,7 +144,7 @@ LockingChestNodeMetadata proto_LockingChestNodeMetadata(NULL); LockingChestNodeMetadata::LockingChestNodeMetadata(IGameDef *gamedef): NodeMetadata(gamedef) { - NodeMetadata::registerType(typeId(), typeName(), create); + NodeMetadata::registerType(typeId(), typeName(), create, create); m_inventory = new Inventory(); m_inventory->addList("0", 8*4); @@ -155,6 +164,11 @@ NodeMetadata* LockingChestNodeMetadata::create(std::istream &is, IGameDef *gamed d->m_inventory->deSerialize(is, gamedef); return d; } +NodeMetadata* LockingChestNodeMetadata::create(IGameDef *gamedef) +{ + LockingChestNodeMetadata *d = new LockingChestNodeMetadata(gamedef); + return d; +} NodeMetadata* LockingChestNodeMetadata::clone(IGameDef *gamedef) { LockingChestNodeMetadata *d = new LockingChestNodeMetadata(gamedef); @@ -200,7 +214,7 @@ FurnaceNodeMetadata proto_FurnaceNodeMetadata(NULL); FurnaceNodeMetadata::FurnaceNodeMetadata(IGameDef *gamedef): NodeMetadata(gamedef) { - NodeMetadata::registerType(typeId(), typeName(), create); + NodeMetadata::registerType(typeId(), typeName(), create, create); m_inventory = new Inventory(); m_inventory->addList("fuel", 1); @@ -241,6 +255,11 @@ NodeMetadata* FurnaceNodeMetadata::create(std::istream &is, IGameDef *gamedef) return d; } +NodeMetadata* FurnaceNodeMetadata::create(IGameDef *gamedef) +{ + FurnaceNodeMetadata *d = new FurnaceNodeMetadata(gamedef); + return d; +} void FurnaceNodeMetadata::serializeBody(std::ostream &os) { m_inventory->serialize(os); |