diff options
Diffstat (limited to 'src/mapnode.cpp')
-rw-r--r-- | src/mapnode.cpp | 70 |
1 files changed, 37 insertions, 33 deletions
diff --git a/src/mapnode.cpp b/src/mapnode.cpp index 7625fab68..d197454fe 100644 --- a/src/mapnode.cpp +++ b/src/mapnode.cpp @@ -31,80 +31,85 @@ ContentFeatures::~ContentFeatures() struct ContentFeatures g_content_features[256]; -void init_mapnode() +ContentFeatures & content_features(u8 i) +{ + return g_content_features[i]; +} + +void init_mapnode(IrrlichtWrapper *irrlicht) { u8 i; ContentFeatures *f = NULL; i = CONTENT_STONE; f = &g_content_features[i]; - f->setAllTextures("stone.png"); + f->setAllTextures(irrlicht->getTextureId("stone.png")); f->param_type = CPT_MINERAL; f->is_ground_content = true; i = CONTENT_GRASS; f = &g_content_features[i]; - //f->setAllTextures("mud.png[[mod:sidegrass"); - f->setAllTextures("mud.png[[mod:blitname:grass_side.png"); - f->setTexture(0, "grass.png"); - f->setTexture(1, "mud.png"); - f->setInventoryImage("grass.png"); + f->setAllTextures(TextureSpec(irrlicht->getTextureId("mud.png"), + irrlicht->getTextureId("grass_side.png"))); + f->setTexture(0, irrlicht->getTextureId("grass.png")); + f->setTexture(1, irrlicht->getTextureId("mud.png")); + f->setInventoryTexture(irrlicht->getTextureId("grass.png")); f->param_type = CPT_MINERAL; f->is_ground_content = true; i = CONTENT_GRASS_FOOTSTEPS; f = &g_content_features[i]; - //f->setAllTextures("mud.png[[mod:sidegrass"); - f->setAllTextures("mud.png[[mod:blitname:grass_side.png"); - f->setTexture(0, "grass_footsteps.png"); - f->setTexture(1, "mud.png"); - f->setInventoryImage("grass_footsteps.png"); + f->setAllTextures(TextureSpec(irrlicht->getTextureId("mud.png"), + irrlicht->getTextureId("grass_side.png"))); + f->setTexture(0, irrlicht->getTextureId("grass_footsteps.png")); + f->setTexture(1, irrlicht->getTextureId("mud.png")); + f->setInventoryTexture(irrlicht->getTextureId("grass_footsteps.png")); f->param_type = CPT_MINERAL; f->is_ground_content = true; i = CONTENT_MUD; f = &g_content_features[i]; - f->setAllTextures("mud.png"); + f->setAllTextures(irrlicht->getTextureId("mud.png")); f->param_type = CPT_MINERAL; f->is_ground_content = true; i = CONTENT_SAND; f = &g_content_features[i]; - f->setAllTextures("mud.png"); + f->setAllTextures(irrlicht->getTextureId("mud.png")); f->param_type = CPT_MINERAL; f->is_ground_content = true; i = CONTENT_TREE; f = &g_content_features[i]; - f->setAllTextures("tree.png"); + f->setAllTextures(irrlicht->getTextureId("tree.png")); f->param_type = CPT_MINERAL; f->is_ground_content = true; i = CONTENT_LEAVES; f = &g_content_features[i]; - f->setAllTextures("leaves.png"); + f->setAllTextures(irrlicht->getTextureId("leaves.png")); f->param_type = CPT_MINERAL; f->is_ground_content = true; i = CONTENT_COALSTONE; f = &g_content_features[i]; f->translate_to = new MapNode(CONTENT_STONE, MINERAL_COAL); - /*f->setAllTextures("coalstone.png"); + /*f->setAllTextures(irrlicht->getTextureId("coalstone.png")); f->is_ground_content = true;*/ i = CONTENT_WOOD; f = &g_content_features[i]; - f->setAllTextures("wood.png"); + f->setAllTextures(irrlicht->getTextureId("wood.png")); f->is_ground_content = true; i = CONTENT_MESE; f = &g_content_features[i]; - f->setAllTextures("mese.png"); + f->setAllTextures(irrlicht->getTextureId("mese.png")); f->is_ground_content = true; i = CONTENT_CLOUD; f = &g_content_features[i]; - f->setAllTextures("cloud.png"); + f->setAllTextures(irrlicht->getTextureId("cloud.png")); f->is_ground_content = true; i = CONTENT_AIR; @@ -120,7 +125,7 @@ void init_mapnode() i = CONTENT_WATER; f = &g_content_features[i]; - f->setInventoryImage("water.png"); + f->setInventoryTexture(irrlicht->getTextureId("water.png")); f->param_type = CPT_LIGHT; f->light_propagates = true; f->solidness = 0; // Drawn separately, makes no faces @@ -132,8 +137,8 @@ void init_mapnode() i = CONTENT_WATERSOURCE; f = &g_content_features[i]; - f->setTexture(0, "water.png", WATER_ALPHA); - f->setInventoryImage("water.png"); + f->setTexture(0, irrlicht->getTextureId("water.png"), WATER_ALPHA); + f->setInventoryTexture(irrlicht->getTextureId("water.png")); f->param_type = CPT_LIGHT; f->light_propagates = true; f->solidness = 1; @@ -145,7 +150,7 @@ void init_mapnode() i = CONTENT_TORCH; f = &g_content_features[i]; - f->setInventoryImage("torch_on_floor.png"); + f->setInventoryTexture(irrlicht->getTextureId("torch_on_floor.png")); f->param_type = CPT_LIGHT; f->light_propagates = true; f->solidness = 0; // drawn separately, makes no faces @@ -184,12 +189,10 @@ TileSpec MapNode::getTile(v3s16 dir) if(content_features(d).param_type == CPT_MINERAL) { u8 mineral = param & 0x1f; - const char *ts = mineral_block_texture(mineral); - if(ts[0] != 0) - { - spec.name += "[[mod:blitname:"; - spec.name += ts; - } + // Add mineral block texture + textureid_t tid = mineral_block_texture(mineral); + if(tid != 0) + spec.spec.addTid(tid); } return spec; @@ -206,14 +209,15 @@ u8 MapNode::getMineral() } // Pointers to c_str()s g_content_features[i].inventory_image_path -const char * g_content_inventory_texture_paths[USEFUL_CONTENT_COUNT] = {0}; +//const char * g_content_inventory_texture_paths[USEFUL_CONTENT_COUNT] = {0}; void init_content_inventory_texture_paths() { - for(u16 i=0; i<USEFUL_CONTENT_COUNT; i++) + dstream<<"DEPRECATED "<<__FUNCTION_NAME<<std::endl; + /*for(u16 i=0; i<USEFUL_CONTENT_COUNT; i++) { g_content_inventory_texture_paths[i] = g_content_features[i].inventory_image_path.c_str(); - } + }*/ } |