Add name field to ContentFeatures
parent
6a417c538f
commit
50d63e4b0a
|
@ -162,6 +162,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_STONE;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "stone";
|
||||
f->setAllTextures("stone.png");
|
||||
f->setInventoryTextureCube("stone.png", "stone.png", "stone.png");
|
||||
f->param_type = CPT_MINERAL;
|
||||
|
@ -172,6 +173,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_GRASS;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "grass";
|
||||
f->setAllTextures("mud.png^grass_side.png");
|
||||
f->setTexture(0, "grass.png");
|
||||
f->setTexture(1, "mud.png");
|
||||
|
@ -182,6 +184,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_GRASS_FOOTSTEPS;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "grass_footsteps";
|
||||
f->setAllTextures("mud.png^grass_side.png");
|
||||
f->setTexture(0, "grass_footsteps.png");
|
||||
f->setTexture(1, "mud.png");
|
||||
|
@ -192,6 +195,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_MUD;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "dirt";
|
||||
f->setAllTextures("mud.png");
|
||||
f->setInventoryTextureCube("mud.png", "mud.png", "mud.png");
|
||||
f->param_type = CPT_MINERAL;
|
||||
|
@ -201,6 +205,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_SAND;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "sand";
|
||||
f->setAllTextures("sand.png");
|
||||
f->setInventoryTextureCube("sand.png", "sand.png", "sand.png");
|
||||
f->param_type = CPT_MINERAL;
|
||||
|
@ -211,6 +216,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_GRAVEL;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "gravel";
|
||||
f->setAllTextures("gravel.png");
|
||||
f->setInventoryTextureCube("gravel.png", "gravel.png", "gravel.png");
|
||||
f->param_type = CPT_MINERAL;
|
||||
|
@ -220,6 +226,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_SANDSTONE;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "sandstone";
|
||||
f->setAllTextures("sandstone.png");
|
||||
f->setInventoryTextureCube("sandstone.png", "sandstone.png", "sandstone.png");
|
||||
f->param_type = CPT_MINERAL;
|
||||
|
@ -229,6 +236,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_CLAY;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "clay";
|
||||
f->setAllTextures("clay.png");
|
||||
f->setInventoryTextureCube("clay.png", "clay.png", "clay.png");
|
||||
f->param_type = CPT_MINERAL;
|
||||
|
@ -238,6 +246,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_BRICK;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "brick";
|
||||
f->setAllTextures("brick.png");
|
||||
f->setInventoryTextureCube("brick.png", "brick.png", "brick.png");
|
||||
f->param_type = CPT_MINERAL;
|
||||
|
@ -247,6 +256,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_TREE;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "tree";
|
||||
f->setAllTextures("tree.png");
|
||||
f->setTexture(0, "tree_top.png");
|
||||
f->setTexture(1, "tree_top.png");
|
||||
|
@ -259,6 +269,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_JUNGLETREE;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "jungletree";
|
||||
f->setAllTextures("jungletree.png");
|
||||
f->setTexture(0, "jungletree_top.png");
|
||||
f->setTexture(1, "jungletree_top.png");
|
||||
|
@ -269,6 +280,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_JUNGLEGRASS;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "junglegrass";
|
||||
f->drawtype = NDT_PLANTLIKE;
|
||||
f->visual_scale = 1.3;
|
||||
f->setAllTextures("junglegrass.png");
|
||||
|
@ -283,6 +295,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_LEAVES;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "leaves";
|
||||
f->drawtype = NDT_ALLFACES_OPTIONAL;
|
||||
f->setAllTextures("leaves.png");
|
||||
//f->setAllTextures("[noalpha:leaves.png");
|
||||
|
@ -296,6 +309,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_CACTUS;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "cactus";
|
||||
f->setAllTextures("cactus_side.png");
|
||||
f->setTexture(0, "cactus_top.png");
|
||||
f->setTexture(1, "cactus_top.png");
|
||||
|
@ -308,6 +322,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_PAPYRUS;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "papyrus";
|
||||
f->drawtype = NDT_PLANTLIKE;
|
||||
f->setAllTextures("papyrus.png");
|
||||
f->setInventoryTexture("papyrus.png");
|
||||
|
@ -321,6 +336,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_BOOKSHELF;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "bookshelf";
|
||||
f->setAllTextures("bookshelf.png");
|
||||
f->setTexture(0, "wood.png");
|
||||
f->setTexture(1, "wood.png");
|
||||
|
@ -334,6 +350,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_GLASS;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "glass";
|
||||
f->drawtype = NDT_GLASSLIKE;
|
||||
f->setAllTextures("glass.png");
|
||||
f->light_propagates = true;
|
||||
|
@ -346,6 +363,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_FENCE;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "fence";
|
||||
f->drawtype = NDT_FENCELIKE;
|
||||
f->setInventoryTexture("fence.png");
|
||||
f->setTexture(0, "wood.png");
|
||||
|
@ -362,6 +380,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_RAIL;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "rail";
|
||||
f->drawtype = NDT_RAILLIKE;
|
||||
f->setInventoryTexture("rail.png");
|
||||
f->setTexture(0, "rail.png");
|
||||
|
@ -380,6 +399,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_LADDER;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "ladder";
|
||||
f->drawtype = NDT_SIGNLIKE;
|
||||
f->setAllTextures("ladder.png");
|
||||
f->setInventoryTexture("ladder.png");
|
||||
|
@ -398,12 +418,14 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
// Deprecated
|
||||
i = CONTENT_COALSTONE;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "coalstone";
|
||||
f->setAllTextures("stone.png^mineral_coal.png");
|
||||
f->is_ground_content = true;
|
||||
setStoneLikeMaterialProperties(f->material, 1.5);
|
||||
|
||||
i = CONTENT_WOOD;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "wood";
|
||||
f->setAllTextures("wood.png");
|
||||
f->setInventoryTextureCube("wood.png", "wood.png", "wood.png");
|
||||
f->is_ground_content = true;
|
||||
|
@ -413,6 +435,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_MESE;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "mese";
|
||||
f->setAllTextures("mese.png");
|
||||
f->setInventoryTextureCube("mese.png", "mese.png", "mese.png");
|
||||
f->is_ground_content = true;
|
||||
|
@ -422,6 +445,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_CLOUD;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "cloud";
|
||||
f->setAllTextures("cloud.png");
|
||||
f->setInventoryTextureCube("cloud.png", "cloud.png", "cloud.png");
|
||||
f->is_ground_content = true;
|
||||
|
@ -429,6 +453,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_AIR;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "air";
|
||||
f->param_type = CPT_LIGHT;
|
||||
f->light_propagates = true;
|
||||
f->sunlight_propagates = true;
|
||||
|
@ -440,6 +465,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_WATER;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "water_flowing";
|
||||
f->drawtype = NDT_FLOWINGLIQUID;
|
||||
f->setAllTextures("water.png");
|
||||
f->alpha = WATER_ALPHA;
|
||||
|
@ -460,6 +486,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_WATERSOURCE;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "water_source";
|
||||
f->drawtype = NDT_LIQUID;
|
||||
f->setAllTextures("water.png");
|
||||
f->alpha = WATER_ALPHA;
|
||||
|
@ -481,6 +508,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_LAVA;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "lava_flowing";
|
||||
f->drawtype = NDT_FLOWINGLIQUID;
|
||||
f->setAllTextures("lava.png");
|
||||
f->setInventoryTextureCube("lava.png", "lava.png", "lava.png");
|
||||
|
@ -502,6 +530,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_LAVASOURCE;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "lava_source";
|
||||
f->drawtype = NDT_LIQUID;
|
||||
f->setAllTextures("lava.png");
|
||||
f->setInventoryTextureCube("lava.png", "lava.png", "lava.png");
|
||||
|
@ -525,6 +554,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_TORCH;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "torch";
|
||||
f->drawtype = NDT_TORCHLIKE;
|
||||
f->setTexture(0, "torch_on_floor.png");
|
||||
f->setTexture(1, "torch_on_ceiling.png");
|
||||
|
@ -550,6 +580,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_SIGN_WALL;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "sign_wall";
|
||||
f->drawtype = NDT_SIGNLIKE;
|
||||
f->setAllTextures("sign_wall.png");
|
||||
f->setInventoryTexture("sign_wall.png");
|
||||
|
@ -568,6 +599,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_CHEST;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "chest";
|
||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
||||
f->setAllTextures("chest_side.png");
|
||||
f->setTexture(0, "chest_top.png");
|
||||
|
@ -583,6 +615,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_LOCKABLE_CHEST;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "locked_chest";
|
||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
||||
f->setAllTextures("chest_side.png");
|
||||
f->setTexture(0, "chest_top.png");
|
||||
|
@ -598,6 +631,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_FURNACE;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "furnace";
|
||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
||||
f->setAllTextures("furnace_side.png");
|
||||
f->setTexture(5, "furnace_front.png"); // Z-
|
||||
|
@ -610,6 +644,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_COBBLE;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "cobble";
|
||||
f->setAllTextures("cobble.png");
|
||||
f->setInventoryTextureCube("cobble.png", "cobble.png", "cobble.png");
|
||||
f->param_type = CPT_NONE;
|
||||
|
@ -620,6 +655,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_MOSSYCOBBLE;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "mossycobble";
|
||||
f->setAllTextures("mossycobble.png");
|
||||
f->setInventoryTextureCube("mossycobble.png", "mossycobble.png", "mossycobble.png");
|
||||
f->param_type = CPT_NONE;
|
||||
|
@ -629,6 +665,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_STEEL;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "steelblock";
|
||||
f->setAllTextures("steel_block.png");
|
||||
f->setInventoryTextureCube("steel_block.png", "steel_block.png",
|
||||
"steel_block.png");
|
||||
|
@ -639,6 +676,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_NC;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "nyancat";
|
||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
||||
f->setAllTextures("nc_side.png");
|
||||
f->setTexture(5, "nc_front.png"); // Z-
|
||||
|
@ -650,6 +688,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_NC_RB;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "nyancat_rainbow";
|
||||
f->setAllTextures("nc_rb.png");
|
||||
f->setInventoryTexture("nc_rb.png");
|
||||
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
|
||||
|
@ -658,6 +697,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_SAPLING;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "sapling";
|
||||
f->drawtype = NDT_PLANTLIKE;
|
||||
f->visual_scale = 1.0;
|
||||
f->setAllTextures("sapling.png");
|
||||
|
@ -672,6 +712,7 @@ void content_mapnode_init(IWritableNodeDefManager *nodemgr)
|
|||
|
||||
i = CONTENT_APPLE;
|
||||
f = nodemgr->getModifiable(i);
|
||||
f->name = "apple";
|
||||
f->drawtype = NDT_PLANTLIKE;
|
||||
f->visual_scale = 1.0;
|
||||
f->setAllTextures("apple.png");
|
||||
|
|
|
@ -114,10 +114,10 @@ void ContentFeatures::reset()
|
|||
backface_culling = true;
|
||||
#endif
|
||||
used_texturenames.clear();
|
||||
modified = true; // NodeDefManager explicitly sets to false
|
||||
/*
|
||||
Actual data
|
||||
*/
|
||||
name = "";
|
||||
drawtype = NDT_NORMAL;
|
||||
visual_scale = 1.0;
|
||||
for(u32 i=0; i<6; i++)
|
||||
|
@ -159,6 +159,7 @@ void ContentFeatures::reset()
|
|||
void ContentFeatures::serialize(std::ostream &os)
|
||||
{
|
||||
writeU8(os, 0); // version
|
||||
os<<serializeString(name);
|
||||
writeU8(os, drawtype);
|
||||
writeF1000(os, visual_scale);
|
||||
writeU8(os, 6);
|
||||
|
@ -213,6 +214,7 @@ void ContentFeatures::deSerialize(std::istream &is, IGameDef *gamedef)
|
|||
int version = readU8(is);
|
||||
if(version != 0)
|
||||
throw SerializationError("unsupported ContentFeatures version");
|
||||
name = deSerializeString(is);
|
||||
drawtype = (enum NodeDrawType)readU8(is);
|
||||
visual_scale = readF1000(is);
|
||||
if(readU8(is) != 6)
|
||||
|
@ -320,13 +322,11 @@ public:
|
|||
{
|
||||
ContentFeatures *f = &m_content_features[i];
|
||||
f->reset(); // Reset to defaults
|
||||
f->modified = false; // Not changed from default
|
||||
if(i == CONTENT_IGNORE || i == CONTENT_AIR){
|
||||
f->drawtype = NDT_AIRLIKE;
|
||||
continue;
|
||||
}
|
||||
f->setAllTextures("unknown_block.png");
|
||||
//f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
|
||||
}
|
||||
#ifndef SERVER
|
||||
// Make CONTENT_IGNORE to not block the view when occlusion culling
|
||||
|
@ -361,14 +361,14 @@ public:
|
|||
// Writable
|
||||
virtual void set(content_t c, const ContentFeatures &def)
|
||||
{
|
||||
infostream<<"registerNode: registering content \""<<c<<"\""<<std::endl;
|
||||
infostream<<"registerNode: registering content id \""<<c
|
||||
<<"\": name=\""<<def.name<<"\""<<std::endl;
|
||||
assert(c <= MAX_CONTENT);
|
||||
m_content_features[c] = def;
|
||||
}
|
||||
virtual ContentFeatures* getModifiable(content_t c)
|
||||
{
|
||||
assert(c <= MAX_CONTENT);
|
||||
m_content_features[c].modified = true; // Assume it is modified
|
||||
return &m_content_features[c];
|
||||
}
|
||||
virtual void updateTextures(ITextureSource *tsrc)
|
||||
|
@ -500,7 +500,7 @@ public:
|
|||
for(u16 i=0; i<=MAX_CONTENT; i++)
|
||||
{
|
||||
ContentFeatures *f = &m_content_features[i];
|
||||
if(!f->modified)
|
||||
if(f->name == "")
|
||||
continue;
|
||||
writeU16(tmp_os, i);
|
||||
f->serialize(tmp_os);
|
||||
|
@ -523,7 +523,6 @@ public:
|
|||
}
|
||||
ContentFeatures *f = &m_content_features[i];
|
||||
f->deSerialize(tmp_is, gamedef);
|
||||
f->modified = true;
|
||||
}
|
||||
}
|
||||
private:
|
||||
|
|
|
@ -138,13 +138,12 @@ struct ContentFeatures
|
|||
// the texture atlas
|
||||
std::set<std::string> used_texturenames;
|
||||
|
||||
// True if this actually contains non-default data
|
||||
bool modified;
|
||||
|
||||
/*
|
||||
Actual data
|
||||
*/
|
||||
|
||||
std::string name; // "" = undefined node
|
||||
|
||||
// Visual definition
|
||||
enum NodeDrawType drawtype;
|
||||
float visual_scale; // Misc. scale parameter
|
||||
|
|
Loading…
Reference in New Issue