forked from oerkki/voxelands
allow facedir nodes to also propogate light
This commit is contained in:
parent
9e239fe2b2
commit
656b8e53f5
|
@ -1493,9 +1493,10 @@ void content_mapnode_init()
|
||||||
i = CONTENT_GLASS_PANE;
|
i = CONTENT_GLASS_PANE;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->description = std::string("Glass Pane");
|
f->description = std::string("Glass Pane");
|
||||||
//f->light_propagates = true;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
//f->sunlight_propagates = true;
|
f->param_type = CPT_LIGHT;
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
|
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
|
||||||
|
@ -1520,9 +1521,10 @@ void content_mapnode_init()
|
||||||
i = CONTENT_GLASS_PANE_BLUE;
|
i = CONTENT_GLASS_PANE_BLUE;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->description = std::string("Blue Glass Pane");
|
f->description = std::string("Blue Glass Pane");
|
||||||
//f->light_propagates = true;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
//f->sunlight_propagates = true;
|
f->param_type = CPT_LIGHT;
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
|
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
|
||||||
|
@ -1547,9 +1549,10 @@ void content_mapnode_init()
|
||||||
i = CONTENT_GLASS_PANE_GREEN;
|
i = CONTENT_GLASS_PANE_GREEN;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->description = std::string("Green Glass Pane");
|
f->description = std::string("Green Glass Pane");
|
||||||
//f->light_propagates = true;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
//f->sunlight_propagates = true;
|
f->param_type = CPT_LIGHT;
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
|
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
|
||||||
|
@ -1574,9 +1577,10 @@ void content_mapnode_init()
|
||||||
i = CONTENT_GLASS_PANE_ORANGE;
|
i = CONTENT_GLASS_PANE_ORANGE;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->description = std::string("Orange Glass Pane");
|
f->description = std::string("Orange Glass Pane");
|
||||||
//f->light_propagates = true;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
//f->sunlight_propagates = true;
|
f->param_type = CPT_LIGHT;
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
|
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
|
||||||
|
@ -1601,9 +1605,10 @@ void content_mapnode_init()
|
||||||
i = CONTENT_GLASS_PANE_PURPLE;
|
i = CONTENT_GLASS_PANE_PURPLE;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->description = std::string("Purple Glass Pane");
|
f->description = std::string("Purple Glass Pane");
|
||||||
//f->light_propagates = true;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
//f->sunlight_propagates = true;
|
f->param_type = CPT_LIGHT;
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
|
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
|
||||||
|
@ -1628,9 +1633,10 @@ void content_mapnode_init()
|
||||||
i = CONTENT_GLASS_PANE_RED;
|
i = CONTENT_GLASS_PANE_RED;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->description = std::string("Red Glass Pane");
|
f->description = std::string("Red Glass Pane");
|
||||||
//f->light_propagates = true;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
//f->sunlight_propagates = true;
|
f->param_type = CPT_LIGHT;
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
|
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
|
||||||
|
@ -1655,9 +1661,10 @@ void content_mapnode_init()
|
||||||
i = CONTENT_GLASS_PANE_YELLOW;
|
i = CONTENT_GLASS_PANE_YELLOW;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->description = std::string("Yellow Glass Pane");
|
f->description = std::string("Yellow Glass Pane");
|
||||||
//f->light_propagates = true;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
//f->sunlight_propagates = true;
|
f->param_type = CPT_LIGHT;
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
|
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
|
||||||
|
@ -1682,9 +1689,10 @@ void content_mapnode_init()
|
||||||
i = CONTENT_GLASS_PANE_BLACK;
|
i = CONTENT_GLASS_PANE_BLACK;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->description = std::string("Black Glass Pane");
|
f->description = std::string("Black Glass Pane");
|
||||||
//f->light_propagates = true;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
//f->sunlight_propagates = true;
|
f->param_type = CPT_LIGHT;
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
|
f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1";
|
||||||
|
@ -2409,7 +2417,10 @@ void content_mapnode_init()
|
||||||
f->setAllTextures("sign.png");
|
f->setAllTextures("sign.png");
|
||||||
f->setTexture(4, "sign_back.png");
|
f->setTexture(4, "sign_back.png");
|
||||||
f->setTexture(5, "sign_front.png"); // Z-
|
f->setTexture(5, "sign_front.png"); // Z-
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
|
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
|
||||||
|
@ -2441,7 +2452,10 @@ void content_mapnode_init()
|
||||||
f->setAllTextures("sign.png");
|
f->setAllTextures("sign.png");
|
||||||
f->setTexture(4, "sign_back_ud.png");
|
f->setTexture(4, "sign_back_ud.png");
|
||||||
f->setTexture(5, "sign_front_ud.png"); // Z-
|
f->setTexture(5, "sign_front_ud.png"); // Z-
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
|
f->flammable = 1; // can be replaced by fire if the node under it is set on fire
|
||||||
|
@ -3425,7 +3439,7 @@ void content_mapnode_init()
|
||||||
// doors
|
// doors
|
||||||
i = CONTENT_WOOD_DOOR_LB;
|
i = CONTENT_WOOD_DOOR_LB;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Wood Door");
|
f->description = std::string("Wood Door");
|
||||||
f->setAllTextures("door_wood_b.png");
|
f->setAllTextures("door_wood_b.png");
|
||||||
f->setTexture(2,"door_wood_b.png^^[transformFX");
|
f->setTexture(2,"door_wood_b.png^^[transformFX");
|
||||||
|
@ -3433,6 +3447,8 @@ void content_mapnode_init()
|
||||||
f->setTexture(4,"door_wood_b.png^^[transformFX");
|
f->setTexture(4,"door_wood_b.png^^[transformFX");
|
||||||
f->setInventoryTexture("door_wood_inv.png");
|
f->setInventoryTexture("door_wood_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3442,7 +3458,7 @@ void content_mapnode_init()
|
||||||
setWoodLikeDiggingProperties(f->digging_properties, 0.75);
|
setWoodLikeDiggingProperties(f->digging_properties, 0.75);
|
||||||
i = CONTENT_WOOD_DOOR_LT;
|
i = CONTENT_WOOD_DOOR_LT;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Wood Door");
|
f->description = std::string("Wood Door");
|
||||||
f->setAllTextures("door_wood_t.png");
|
f->setAllTextures("door_wood_t.png");
|
||||||
f->setTexture(2,"door_wood_t.png^^[transformFX");
|
f->setTexture(2,"door_wood_t.png^^[transformFX");
|
||||||
|
@ -3450,6 +3466,8 @@ void content_mapnode_init()
|
||||||
f->setTexture(4,"door_wood_t.png^^[transformFX");
|
f->setTexture(4,"door_wood_t.png^^[transformFX");
|
||||||
f->setInventoryTexture("door_wood_inv.png");
|
f->setInventoryTexture("door_wood_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3460,7 +3478,7 @@ void content_mapnode_init()
|
||||||
|
|
||||||
i = CONTENT_STEEL_DOOR_LB;
|
i = CONTENT_STEEL_DOOR_LB;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Steel Door");
|
f->description = std::string("Steel Door");
|
||||||
f->setAllTextures("door_steel_b.png");
|
f->setAllTextures("door_steel_b.png");
|
||||||
f->setTexture(2,"door_steel_b.png^^[transformFX");
|
f->setTexture(2,"door_steel_b.png^^[transformFX");
|
||||||
|
@ -3468,6 +3486,8 @@ void content_mapnode_init()
|
||||||
f->setTexture(4,"door_steel_b.png^^[transformFX");
|
f->setTexture(4,"door_steel_b.png^^[transformFX");
|
||||||
f->setInventoryTexture("door_steel_inv.png");
|
f->setInventoryTexture("door_steel_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3478,7 +3498,7 @@ void content_mapnode_init()
|
||||||
setStoneLikeDiggingProperties(f->digging_properties, 5.0);
|
setStoneLikeDiggingProperties(f->digging_properties, 5.0);
|
||||||
i = CONTENT_STEEL_DOOR_LT;
|
i = CONTENT_STEEL_DOOR_LT;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Steel Door");
|
f->description = std::string("Steel Door");
|
||||||
f->setAllTextures("door_steel_t.png");
|
f->setAllTextures("door_steel_t.png");
|
||||||
f->setTexture(2,"door_steel_t.png^^[transformFX");
|
f->setTexture(2,"door_steel_t.png^^[transformFX");
|
||||||
|
@ -3486,6 +3506,8 @@ void content_mapnode_init()
|
||||||
f->setTexture(4,"door_steel_t.png^^[transformFX");
|
f->setTexture(4,"door_steel_t.png^^[transformFX");
|
||||||
f->setInventoryTexture("door_steel_inv.png");
|
f->setInventoryTexture("door_steel_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3497,7 +3519,7 @@ void content_mapnode_init()
|
||||||
|
|
||||||
i = CONTENT_GLASS_DOOR_LB;
|
i = CONTENT_GLASS_DOOR_LB;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Glass Door");
|
f->description = std::string("Glass Door");
|
||||||
f->setAllTextures("door_glass_b.png");
|
f->setAllTextures("door_glass_b.png");
|
||||||
f->setTexture(2,"door_glass_b.png^^[transformFX");
|
f->setTexture(2,"door_glass_b.png^^[transformFX");
|
||||||
|
@ -3505,6 +3527,9 @@ void content_mapnode_init()
|
||||||
f->setTexture(4,"door_glass_b.png^^[transformFX");
|
f->setTexture(4,"door_glass_b.png^^[transformFX");
|
||||||
f->setInventoryTexture("door_glass_inv.png");
|
f->setInventoryTexture("door_glass_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3514,7 +3539,7 @@ void content_mapnode_init()
|
||||||
setWoodLikeDiggingProperties(f->digging_properties, 0.15);
|
setWoodLikeDiggingProperties(f->digging_properties, 0.15);
|
||||||
i = CONTENT_GLASS_DOOR_LT;
|
i = CONTENT_GLASS_DOOR_LT;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Glass Door");
|
f->description = std::string("Glass Door");
|
||||||
f->setAllTextures("door_glass_t.png");
|
f->setAllTextures("door_glass_t.png");
|
||||||
f->setTexture(2,"door_glass_t.png^^[transformFX");
|
f->setTexture(2,"door_glass_t.png^^[transformFX");
|
||||||
|
@ -3522,6 +3547,9 @@ void content_mapnode_init()
|
||||||
f->setTexture(4,"door_glass_t.png^^[transformFX");
|
f->setTexture(4,"door_glass_t.png^^[transformFX");
|
||||||
f->setInventoryTexture("door_glass_inv.png");
|
f->setInventoryTexture("door_glass_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3532,7 +3560,7 @@ void content_mapnode_init()
|
||||||
|
|
||||||
i = CONTENT_WOOD_W_DOOR_LB;
|
i = CONTENT_WOOD_W_DOOR_LB;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Wood Windowed Door");
|
f->description = std::string("Wood Windowed Door");
|
||||||
f->setAllTextures("door_wood_wb.png");
|
f->setAllTextures("door_wood_wb.png");
|
||||||
f->setTexture(2,"door_wood_wb.png^[transformFX");
|
f->setTexture(2,"door_wood_wb.png^[transformFX");
|
||||||
|
@ -3540,6 +3568,9 @@ void content_mapnode_init()
|
||||||
f->setTexture(4,"door_wood_wb.png^[transformFX");
|
f->setTexture(4,"door_wood_wb.png^[transformFX");
|
||||||
f->setInventoryTexture("door_wood_w_inv.png");
|
f->setInventoryTexture("door_wood_w_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3549,7 +3580,7 @@ void content_mapnode_init()
|
||||||
setWoodLikeDiggingProperties(f->digging_properties, 0.75);
|
setWoodLikeDiggingProperties(f->digging_properties, 0.75);
|
||||||
i = CONTENT_WOOD_W_DOOR_LT;
|
i = CONTENT_WOOD_W_DOOR_LT;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Wood Windowed Door");
|
f->description = std::string("Wood Windowed Door");
|
||||||
f->setAllTextures("door_wood_wt.png");
|
f->setAllTextures("door_wood_wt.png");
|
||||||
f->setTexture(2,"door_wood_wt.png^[transformFX");
|
f->setTexture(2,"door_wood_wt.png^[transformFX");
|
||||||
|
@ -3557,6 +3588,9 @@ void content_mapnode_init()
|
||||||
f->setTexture(4,"door_wood_wt.png^[transformFX");
|
f->setTexture(4,"door_wood_wt.png^[transformFX");
|
||||||
f->setInventoryTexture("door_wood_w_inv.png");
|
f->setInventoryTexture("door_wood_w_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3567,7 +3601,7 @@ void content_mapnode_init()
|
||||||
|
|
||||||
i = CONTENT_STEEL_W_DOOR_LB;
|
i = CONTENT_STEEL_W_DOOR_LB;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Steel Windowed Door");
|
f->description = std::string("Steel Windowed Door");
|
||||||
f->setAllTextures("door_steel_wb.png");
|
f->setAllTextures("door_steel_wb.png");
|
||||||
f->setTexture(2,"door_steel_wb.png^[transformFX");
|
f->setTexture(2,"door_steel_wb.png^[transformFX");
|
||||||
|
@ -3575,6 +3609,9 @@ void content_mapnode_init()
|
||||||
f->setTexture(4,"door_steel_wb.png^[transformFX");
|
f->setTexture(4,"door_steel_wb.png^[transformFX");
|
||||||
f->setInventoryTexture("door_steel_w_inv.png");
|
f->setInventoryTexture("door_steel_w_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3585,7 +3622,7 @@ void content_mapnode_init()
|
||||||
setStoneLikeDiggingProperties(f->digging_properties, 5.0);
|
setStoneLikeDiggingProperties(f->digging_properties, 5.0);
|
||||||
i = CONTENT_STEEL_W_DOOR_LT;
|
i = CONTENT_STEEL_W_DOOR_LT;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Steel Windowed Door");
|
f->description = std::string("Steel Windowed Door");
|
||||||
f->setAllTextures("door_steel_wt.png");
|
f->setAllTextures("door_steel_wt.png");
|
||||||
f->setTexture(2,"door_steel_wt.png^[transformFX");
|
f->setTexture(2,"door_steel_wt.png^[transformFX");
|
||||||
|
@ -3593,6 +3630,9 @@ void content_mapnode_init()
|
||||||
f->setTexture(4,"door_steel_wt.png^[transformFX");
|
f->setTexture(4,"door_steel_wt.png^[transformFX");
|
||||||
f->setInventoryTexture("door_steel_w_inv.png");
|
f->setInventoryTexture("door_steel_w_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3605,7 +3645,7 @@ void content_mapnode_init()
|
||||||
// right doors
|
// right doors
|
||||||
i = CONTENT_WOOD_DOOR_RB;
|
i = CONTENT_WOOD_DOOR_RB;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Right Hanging Wood Door");
|
f->description = std::string("Right Hanging Wood Door");
|
||||||
f->setAllTextures("door_wood_b.png^[transformFX");
|
f->setAllTextures("door_wood_b.png^[transformFX");
|
||||||
f->setTexture(2,"door_wood_b.png");
|
f->setTexture(2,"door_wood_b.png");
|
||||||
|
@ -3613,6 +3653,8 @@ void content_mapnode_init()
|
||||||
f->setTexture(4,"door_wood_b.png");
|
f->setTexture(4,"door_wood_b.png");
|
||||||
f->setInventoryTexture("door_wood_inv.png^[transformFX");
|
f->setInventoryTexture("door_wood_inv.png^[transformFX");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3622,7 +3664,7 @@ void content_mapnode_init()
|
||||||
setWoodLikeDiggingProperties(f->digging_properties, 0.75);
|
setWoodLikeDiggingProperties(f->digging_properties, 0.75);
|
||||||
i = CONTENT_WOOD_DOOR_RT;
|
i = CONTENT_WOOD_DOOR_RT;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Right Hanging Wood Door");
|
f->description = std::string("Right Hanging Wood Door");
|
||||||
f->setAllTextures("door_wood_t.png^[transformFX");
|
f->setAllTextures("door_wood_t.png^[transformFX");
|
||||||
f->setTexture(2,"door_wood_t.png");
|
f->setTexture(2,"door_wood_t.png");
|
||||||
|
@ -3630,6 +3672,8 @@ void content_mapnode_init()
|
||||||
f->setTexture(4,"door_wood_t.png");
|
f->setTexture(4,"door_wood_t.png");
|
||||||
f->setInventoryTexture("door_wood_inv.png^[transformFX");
|
f->setInventoryTexture("door_wood_inv.png^[transformFX");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3640,7 +3684,7 @@ void content_mapnode_init()
|
||||||
|
|
||||||
i = CONTENT_GLASS_DOOR_RB;
|
i = CONTENT_GLASS_DOOR_RB;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Right Hanging Glass Door");
|
f->description = std::string("Right Hanging Glass Door");
|
||||||
f->setAllTextures("door_glass_b.png^[transformFX");
|
f->setAllTextures("door_glass_b.png^[transformFX");
|
||||||
f->setTexture(2,"door_glass_b.png");
|
f->setTexture(2,"door_glass_b.png");
|
||||||
|
@ -3648,6 +3692,9 @@ void content_mapnode_init()
|
||||||
f->setTexture(4,"door_glass_b.png");
|
f->setTexture(4,"door_glass_b.png");
|
||||||
f->setInventoryTexture("door_glass_inv.png^[transformFX");
|
f->setInventoryTexture("door_glass_inv.png^[transformFX");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3657,7 +3704,7 @@ void content_mapnode_init()
|
||||||
setWoodLikeDiggingProperties(f->digging_properties, 0.15);
|
setWoodLikeDiggingProperties(f->digging_properties, 0.15);
|
||||||
i = CONTENT_GLASS_DOOR_RT;
|
i = CONTENT_GLASS_DOOR_RT;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Right Hanging Glass Door");
|
f->description = std::string("Right Hanging Glass Door");
|
||||||
f->setAllTextures("door_glass_t.png^[transformFX");
|
f->setAllTextures("door_glass_t.png^[transformFX");
|
||||||
f->setTexture(2,"door_glass_t.png");
|
f->setTexture(2,"door_glass_t.png");
|
||||||
|
@ -3665,6 +3712,9 @@ void content_mapnode_init()
|
||||||
f->setTexture(4,"door_glass_t.png");
|
f->setTexture(4,"door_glass_t.png");
|
||||||
f->setInventoryTexture("door_glass_inv.png^[transformFX");
|
f->setInventoryTexture("door_glass_inv.png^[transformFX");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3675,7 +3725,7 @@ void content_mapnode_init()
|
||||||
|
|
||||||
i = CONTENT_STEEL_DOOR_RB;
|
i = CONTENT_STEEL_DOOR_RB;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Right Hanging Steel Door");
|
f->description = std::string("Right Hanging Steel Door");
|
||||||
f->setAllTextures("door_steel_b.png^[transformFX");
|
f->setAllTextures("door_steel_b.png^[transformFX");
|
||||||
f->setTexture(2,"door_steel_b.png");
|
f->setTexture(2,"door_steel_b.png");
|
||||||
|
@ -3683,6 +3733,8 @@ void content_mapnode_init()
|
||||||
f->setTexture(4,"door_steel_b.png");
|
f->setTexture(4,"door_steel_b.png");
|
||||||
f->setInventoryTexture("door_steel_inv.png^[transformFX");
|
f->setInventoryTexture("door_steel_inv.png^[transformFX");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3693,7 +3745,7 @@ void content_mapnode_init()
|
||||||
setStoneLikeDiggingProperties(f->digging_properties, 5.0);
|
setStoneLikeDiggingProperties(f->digging_properties, 5.0);
|
||||||
i = CONTENT_STEEL_DOOR_RT;
|
i = CONTENT_STEEL_DOOR_RT;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Right Hanging Steel Door");
|
f->description = std::string("Right Hanging Steel Door");
|
||||||
f->setAllTextures("door_steel_t.png^[transformFX");
|
f->setAllTextures("door_steel_t.png^[transformFX");
|
||||||
f->setTexture(2,"door_steel_t.png");
|
f->setTexture(2,"door_steel_t.png");
|
||||||
|
@ -3701,6 +3753,8 @@ void content_mapnode_init()
|
||||||
f->setTexture(4,"door_steel_t.png");
|
f->setTexture(4,"door_steel_t.png");
|
||||||
f->setInventoryTexture("door_steel_inv.png^[transformFX");
|
f->setInventoryTexture("door_steel_inv.png^[transformFX");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3712,7 +3766,7 @@ void content_mapnode_init()
|
||||||
|
|
||||||
i = CONTENT_WOOD_W_DOOR_RB;
|
i = CONTENT_WOOD_W_DOOR_RB;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Right Hanging Wood Windowed Door");
|
f->description = std::string("Right Hanging Wood Windowed Door");
|
||||||
f->setAllTextures("door_wood_wb.png^[transformFX");
|
f->setAllTextures("door_wood_wb.png^[transformFX");
|
||||||
f->setTexture(2,"door_wood_wb.png");
|
f->setTexture(2,"door_wood_wb.png");
|
||||||
|
@ -3720,6 +3774,9 @@ void content_mapnode_init()
|
||||||
f->setTexture(4,"door_wood_wb.png");
|
f->setTexture(4,"door_wood_wb.png");
|
||||||
f->setInventoryTexture("door_wood_w_inv.png^[transformFX");
|
f->setInventoryTexture("door_wood_w_inv.png^[transformFX");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3729,7 +3786,7 @@ void content_mapnode_init()
|
||||||
setWoodLikeDiggingProperties(f->digging_properties, 0.75);
|
setWoodLikeDiggingProperties(f->digging_properties, 0.75);
|
||||||
i = CONTENT_WOOD_W_DOOR_RT;
|
i = CONTENT_WOOD_W_DOOR_RT;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Right Hanging Wood Windowed Door");
|
f->description = std::string("Right Hanging Wood Windowed Door");
|
||||||
f->setAllTextures("door_wood_wt.png^[transformFX");
|
f->setAllTextures("door_wood_wt.png^[transformFX");
|
||||||
f->setTexture(2,"door_wood_wt.png");
|
f->setTexture(2,"door_wood_wt.png");
|
||||||
|
@ -3737,6 +3794,9 @@ void content_mapnode_init()
|
||||||
f->setTexture(4,"door_wood_wt.png");
|
f->setTexture(4,"door_wood_wt.png");
|
||||||
f->setInventoryTexture("door_wood_w_inv.png^[transformFX");
|
f->setInventoryTexture("door_wood_w_inv.png^[transformFX");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3747,7 +3807,7 @@ void content_mapnode_init()
|
||||||
|
|
||||||
i = CONTENT_STEEL_W_DOOR_RB;
|
i = CONTENT_STEEL_W_DOOR_RB;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Right Hanging Steel Windowed Door");
|
f->description = std::string("Right Hanging Steel Windowed Door");
|
||||||
f->setAllTextures("door_steel_wb.png^[transformFX");
|
f->setAllTextures("door_steel_wb.png^[transformFX");
|
||||||
f->setTexture(2,"door_steel_wb.png");
|
f->setTexture(2,"door_steel_wb.png");
|
||||||
|
@ -3755,6 +3815,9 @@ void content_mapnode_init()
|
||||||
f->setTexture(4,"door_steel_wb.png");
|
f->setTexture(4,"door_steel_wb.png");
|
||||||
f->setInventoryTexture("door_steel_w_inv.png^[transformFX");
|
f->setInventoryTexture("door_steel_w_inv.png^[transformFX");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3765,7 +3828,7 @@ void content_mapnode_init()
|
||||||
setStoneLikeDiggingProperties(f->digging_properties, 5.0);
|
setStoneLikeDiggingProperties(f->digging_properties, 5.0);
|
||||||
i = CONTENT_STEEL_W_DOOR_RT;
|
i = CONTENT_STEEL_W_DOOR_RT;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Right Hanging Steel Windowed Door");
|
f->description = std::string("Right Hanging Steel Windowed Door");
|
||||||
f->setAllTextures("door_steel_wt.png^[transformFX");
|
f->setAllTextures("door_steel_wt.png^[transformFX");
|
||||||
f->setTexture(2,"door_steel_wt.png");
|
f->setTexture(2,"door_steel_wt.png");
|
||||||
|
@ -3773,6 +3836,9 @@ void content_mapnode_init()
|
||||||
f->setTexture(4,"door_steel_wt.png");
|
f->setTexture(4,"door_steel_wt.png");
|
||||||
f->setInventoryTexture("door_steel_w_inv.png^[transformFX");
|
f->setInventoryTexture("door_steel_w_inv.png^[transformFX");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3785,12 +3851,15 @@ void content_mapnode_init()
|
||||||
// open doors
|
// open doors
|
||||||
i = CONTENT_WOOD_DOOR_LB_OPEN;
|
i = CONTENT_WOOD_DOOR_LB_OPEN;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Wood Door");
|
f->description = std::string("Wood Door");
|
||||||
f->setAllTextures("door_wood_b.png");
|
f->setAllTextures("door_wood_b.png");
|
||||||
f->setTexture(3,"door_wood_b.png^[transformFX");
|
f->setTexture(3,"door_wood_b.png^[transformFX");
|
||||||
f->setInventoryTexture("door_wood_inv.png");
|
f->setInventoryTexture("door_wood_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3800,12 +3869,15 @@ void content_mapnode_init()
|
||||||
setWoodLikeDiggingProperties(f->digging_properties, 0.75);
|
setWoodLikeDiggingProperties(f->digging_properties, 0.75);
|
||||||
i = CONTENT_WOOD_DOOR_LT_OPEN;
|
i = CONTENT_WOOD_DOOR_LT_OPEN;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Wood Door");
|
f->description = std::string("Wood Door");
|
||||||
f->setAllTextures("door_wood_t.png");
|
f->setAllTextures("door_wood_t.png");
|
||||||
f->setTexture(3,"door_wood_t.png^[transformFX");
|
f->setTexture(3,"door_wood_t.png^[transformFX");
|
||||||
f->setInventoryTexture("door_wood_inv.png");
|
f->setInventoryTexture("door_wood_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3816,12 +3888,15 @@ void content_mapnode_init()
|
||||||
|
|
||||||
i = CONTENT_GLASS_DOOR_LB_OPEN;
|
i = CONTENT_GLASS_DOOR_LB_OPEN;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Glass Door");
|
f->description = std::string("Glass Door");
|
||||||
f->setAllTextures("door_glass_b.png");
|
f->setAllTextures("door_glass_b.png");
|
||||||
f->setTexture(3,"door_glass_b.png^[transformFX");
|
f->setTexture(3,"door_glass_b.png^[transformFX");
|
||||||
f->setInventoryTexture("door_glass_inv.png");
|
f->setInventoryTexture("door_glass_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3831,12 +3906,15 @@ void content_mapnode_init()
|
||||||
setWoodLikeDiggingProperties(f->digging_properties, 0.15);
|
setWoodLikeDiggingProperties(f->digging_properties, 0.15);
|
||||||
i = CONTENT_GLASS_DOOR_LT_OPEN;
|
i = CONTENT_GLASS_DOOR_LT_OPEN;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Glass Door");
|
f->description = std::string("Glass Door");
|
||||||
f->setAllTextures("door_glass_t.png");
|
f->setAllTextures("door_glass_t.png");
|
||||||
f->setTexture(3,"door_glass_t.png^[transformFX");
|
f->setTexture(3,"door_glass_t.png^[transformFX");
|
||||||
f->setInventoryTexture("door_glass_inv.png");
|
f->setInventoryTexture("door_glass_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3847,12 +3925,15 @@ void content_mapnode_init()
|
||||||
|
|
||||||
i = CONTENT_STEEL_DOOR_LB_OPEN;
|
i = CONTENT_STEEL_DOOR_LB_OPEN;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Steel Door");
|
f->description = std::string("Steel Door");
|
||||||
f->setAllTextures("door_steel_b.png");
|
f->setAllTextures("door_steel_b.png");
|
||||||
f->setTexture(3,"door_steel_b.png^[transformFX");
|
f->setTexture(3,"door_steel_b.png^[transformFX");
|
||||||
f->setInventoryTexture("door_steel_inv.png");
|
f->setInventoryTexture("door_steel_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3863,12 +3944,15 @@ void content_mapnode_init()
|
||||||
setStoneLikeDiggingProperties(f->digging_properties, 5.0);
|
setStoneLikeDiggingProperties(f->digging_properties, 5.0);
|
||||||
i = CONTENT_STEEL_DOOR_LT_OPEN;
|
i = CONTENT_STEEL_DOOR_LT_OPEN;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Steel Door");
|
f->description = std::string("Steel Door");
|
||||||
f->setAllTextures("door_steel_t.png");
|
f->setAllTextures("door_steel_t.png");
|
||||||
f->setTexture(3,"door_steel_t.png^[transformFX");
|
f->setTexture(3,"door_steel_t.png^[transformFX");
|
||||||
f->setInventoryTexture("door_steel_inv.png");
|
f->setInventoryTexture("door_steel_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3880,12 +3964,15 @@ void content_mapnode_init()
|
||||||
|
|
||||||
i = CONTENT_WOOD_W_DOOR_LB_OPEN;
|
i = CONTENT_WOOD_W_DOOR_LB_OPEN;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Wood Windowed Door");
|
f->description = std::string("Wood Windowed Door");
|
||||||
f->setAllTextures("door_wood_wb.png");
|
f->setAllTextures("door_wood_wb.png");
|
||||||
f->setTexture(3,"door_wood_wb.png^[transformFX");
|
f->setTexture(3,"door_wood_wb.png^[transformFX");
|
||||||
f->setInventoryTexture("door_wood_w_inv.png");
|
f->setInventoryTexture("door_wood_w_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3895,12 +3982,15 @@ void content_mapnode_init()
|
||||||
setWoodLikeDiggingProperties(f->digging_properties, 0.75);
|
setWoodLikeDiggingProperties(f->digging_properties, 0.75);
|
||||||
i = CONTENT_WOOD_W_DOOR_LT_OPEN;
|
i = CONTENT_WOOD_W_DOOR_LT_OPEN;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Wood Windowed Door");
|
f->description = std::string("Wood Windowed Door");
|
||||||
f->setAllTextures("door_wood_wt.png");
|
f->setAllTextures("door_wood_wt.png");
|
||||||
f->setTexture(3,"door_wood_wt.png^[transformFX");
|
f->setTexture(3,"door_wood_wt.png^[transformFX");
|
||||||
f->setInventoryTexture("door_wood_w_inv.png");
|
f->setInventoryTexture("door_wood_w_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3911,12 +4001,15 @@ void content_mapnode_init()
|
||||||
|
|
||||||
i = CONTENT_STEEL_W_DOOR_LB_OPEN;
|
i = CONTENT_STEEL_W_DOOR_LB_OPEN;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Steel Windowed Door");
|
f->description = std::string("Steel Windowed Door");
|
||||||
f->setAllTextures("door_steel_wb.png");
|
f->setAllTextures("door_steel_wb.png");
|
||||||
f->setTexture(3,"door_steel_wb.png^[transformFX");
|
f->setTexture(3,"door_steel_wb.png^[transformFX");
|
||||||
f->setInventoryTexture("door_steel_w_inv.png");
|
f->setInventoryTexture("door_steel_w_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3927,12 +4020,15 @@ void content_mapnode_init()
|
||||||
setStoneLikeDiggingProperties(f->digging_properties, 5.0);
|
setStoneLikeDiggingProperties(f->digging_properties, 5.0);
|
||||||
i = CONTENT_STEEL_W_DOOR_LT_OPEN;
|
i = CONTENT_STEEL_W_DOOR_LT_OPEN;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Steel Windowed Door");
|
f->description = std::string("Steel Windowed Door");
|
||||||
f->setAllTextures("door_steel_wt.png");
|
f->setAllTextures("door_steel_wt.png");
|
||||||
f->setTexture(3,"door_steel_wt.png^[transformFX");
|
f->setTexture(3,"door_steel_wt.png^[transformFX");
|
||||||
f->setInventoryTexture("door_steel_w_inv.png");
|
f->setInventoryTexture("door_steel_w_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3945,7 +4041,7 @@ void content_mapnode_init()
|
||||||
// right open doors
|
// right open doors
|
||||||
i = CONTENT_WOOD_DOOR_RB_OPEN;
|
i = CONTENT_WOOD_DOOR_RB_OPEN;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Right Hanging Wood Door");
|
f->description = std::string("Right Hanging Wood Door");
|
||||||
f->setAllTextures("door_wood_b.png");
|
f->setAllTextures("door_wood_b.png");
|
||||||
f->setTexture(3,"door_wood_b.png^[transformFX");
|
f->setTexture(3,"door_wood_b.png^[transformFX");
|
||||||
|
@ -3953,6 +4049,9 @@ void content_mapnode_init()
|
||||||
f->setTexture(5,"door_wood_b.png^[transformFX");
|
f->setTexture(5,"door_wood_b.png^[transformFX");
|
||||||
f->setInventoryTexture("door_wood_inv.png^[transformFX");
|
f->setInventoryTexture("door_wood_inv.png^[transformFX");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3962,7 +4061,7 @@ void content_mapnode_init()
|
||||||
setWoodLikeDiggingProperties(f->digging_properties, 0.75);
|
setWoodLikeDiggingProperties(f->digging_properties, 0.75);
|
||||||
i = CONTENT_WOOD_DOOR_RT_OPEN;
|
i = CONTENT_WOOD_DOOR_RT_OPEN;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Right Hanging Wood Door");
|
f->description = std::string("Right Hanging Wood Door");
|
||||||
f->setAllTextures("door_wood_t.png");
|
f->setAllTextures("door_wood_t.png");
|
||||||
f->setTexture(3,"door_wood_t.png^[transformFX");
|
f->setTexture(3,"door_wood_t.png^[transformFX");
|
||||||
|
@ -3970,6 +4069,9 @@ void content_mapnode_init()
|
||||||
f->setTexture(5,"door_wood_t.png^[transformFX");
|
f->setTexture(5,"door_wood_t.png^[transformFX");
|
||||||
f->setInventoryTexture("door_wood_inv.png^[transformFX");
|
f->setInventoryTexture("door_wood_inv.png^[transformFX");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3980,7 +4082,7 @@ void content_mapnode_init()
|
||||||
|
|
||||||
i = CONTENT_GLASS_DOOR_RB_OPEN;
|
i = CONTENT_GLASS_DOOR_RB_OPEN;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Right Hanging Glass Door");
|
f->description = std::string("Right Hanging Glass Door");
|
||||||
f->setAllTextures("door_glass_b.png");
|
f->setAllTextures("door_glass_b.png");
|
||||||
f->setTexture(2,"door_glass_b.png^^[transformFX");
|
f->setTexture(2,"door_glass_b.png^^[transformFX");
|
||||||
|
@ -3988,6 +4090,9 @@ void content_mapnode_init()
|
||||||
f->setTexture(4,"door_glass_b.png^^[transformFX");
|
f->setTexture(4,"door_glass_b.png^^[transformFX");
|
||||||
f->setInventoryTexture("door_glass_inv.png^[transformFX");
|
f->setInventoryTexture("door_glass_inv.png^[transformFX");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -3997,7 +4102,7 @@ void content_mapnode_init()
|
||||||
setWoodLikeDiggingProperties(f->digging_properties, 0.15);
|
setWoodLikeDiggingProperties(f->digging_properties, 0.15);
|
||||||
i = CONTENT_GLASS_DOOR_RT_OPEN;
|
i = CONTENT_GLASS_DOOR_RT_OPEN;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Right Hanging Glass Door");
|
f->description = std::string("Right Hanging Glass Door");
|
||||||
f->setAllTextures("door_glass_t.png");
|
f->setAllTextures("door_glass_t.png");
|
||||||
f->setTexture(2,"door_glass_t.png^^[transformFX");
|
f->setTexture(2,"door_glass_t.png^^[transformFX");
|
||||||
|
@ -4005,6 +4110,9 @@ void content_mapnode_init()
|
||||||
f->setTexture(4,"door_glass_t.png^^[transformFX");
|
f->setTexture(4,"door_glass_t.png^^[transformFX");
|
||||||
f->setInventoryTexture("door_glass_inv.png^[transformFX");
|
f->setInventoryTexture("door_glass_inv.png^[transformFX");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -4015,7 +4123,7 @@ void content_mapnode_init()
|
||||||
|
|
||||||
i = CONTENT_STEEL_DOOR_RB_OPEN;
|
i = CONTENT_STEEL_DOOR_RB_OPEN;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Right Hanging Steel Door");
|
f->description = std::string("Right Hanging Steel Door");
|
||||||
f->setAllTextures("door_steel_b.png");
|
f->setAllTextures("door_steel_b.png");
|
||||||
f->setTexture(3,"door_steel_b.png^[transformFX");
|
f->setTexture(3,"door_steel_b.png^[transformFX");
|
||||||
|
@ -4023,6 +4131,9 @@ void content_mapnode_init()
|
||||||
f->setTexture(5,"door_steel_b.png^[transformFX");
|
f->setTexture(5,"door_steel_b.png^[transformFX");
|
||||||
f->setInventoryTexture("door_steel_inv.png^[transformFX");
|
f->setInventoryTexture("door_steel_inv.png^[transformFX");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -4033,7 +4144,7 @@ void content_mapnode_init()
|
||||||
setStoneLikeDiggingProperties(f->digging_properties, 5.0);
|
setStoneLikeDiggingProperties(f->digging_properties, 5.0);
|
||||||
i = CONTENT_STEEL_DOOR_RT_OPEN;
|
i = CONTENT_STEEL_DOOR_RT_OPEN;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Right Hanging Steel Door");
|
f->description = std::string("Right Hanging Steel Door");
|
||||||
f->setAllTextures("door_steel_b.png");
|
f->setAllTextures("door_steel_b.png");
|
||||||
f->setTexture(3,"door_steel_t.png^[transformFX");
|
f->setTexture(3,"door_steel_t.png^[transformFX");
|
||||||
|
@ -4041,6 +4152,9 @@ void content_mapnode_init()
|
||||||
f->setTexture(5,"door_steel_t.png^[transformFX");
|
f->setTexture(5,"door_steel_t.png^[transformFX");
|
||||||
f->setInventoryTexture("door_steel_inv.png^[transformFX");
|
f->setInventoryTexture("door_steel_inv.png^[transformFX");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -4052,7 +4166,7 @@ void content_mapnode_init()
|
||||||
|
|
||||||
i = CONTENT_WOOD_W_DOOR_RB_OPEN;
|
i = CONTENT_WOOD_W_DOOR_RB_OPEN;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Right Hanging Wood Windowed Door");
|
f->description = std::string("Right Hanging Wood Windowed Door");
|
||||||
f->setAllTextures("door_wood_wb.png");
|
f->setAllTextures("door_wood_wb.png");
|
||||||
f->setTexture(3,"door_wood_wb.png^[transformFX");
|
f->setTexture(3,"door_wood_wb.png^[transformFX");
|
||||||
|
@ -4060,6 +4174,9 @@ void content_mapnode_init()
|
||||||
f->setTexture(5,"door_wood_wb.png^[transformFX");
|
f->setTexture(5,"door_wood_wb.png^[transformFX");
|
||||||
f->setInventoryTexture("door_wood_w_inv.png^[transformFX");
|
f->setInventoryTexture("door_wood_w_inv.png^[transformFX");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -4069,7 +4186,7 @@ void content_mapnode_init()
|
||||||
setWoodLikeDiggingProperties(f->digging_properties, 0.75);
|
setWoodLikeDiggingProperties(f->digging_properties, 0.75);
|
||||||
i = CONTENT_WOOD_W_DOOR_RT_OPEN;
|
i = CONTENT_WOOD_W_DOOR_RT_OPEN;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Right Hanging Wood Windowed Door");
|
f->description = std::string("Right Hanging Wood Windowed Door");
|
||||||
f->setAllTextures("door_wood_wt.png");
|
f->setAllTextures("door_wood_wt.png");
|
||||||
f->setTexture(3,"door_wood_wt.png^[transformFX");
|
f->setTexture(3,"door_wood_wt.png^[transformFX");
|
||||||
|
@ -4077,6 +4194,9 @@ void content_mapnode_init()
|
||||||
f->setTexture(5,"door_wood_wt.png^[transformFX");
|
f->setTexture(5,"door_wood_wt.png^[transformFX");
|
||||||
f->setInventoryTexture("door_wood_w_inv.png^[transformFX");
|
f->setInventoryTexture("door_wood_w_inv.png^[transformFX");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -4087,7 +4207,7 @@ void content_mapnode_init()
|
||||||
|
|
||||||
i = CONTENT_STEEL_W_DOOR_RB_OPEN;
|
i = CONTENT_STEEL_W_DOOR_RB_OPEN;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Right Hanging Steel Windowed Door");
|
f->description = std::string("Right Hanging Steel Windowed Door");
|
||||||
f->setAllTextures("door_steel_wb.png");
|
f->setAllTextures("door_steel_wb.png");
|
||||||
f->setTexture(3,"door_steel_wb.png^[transformFX");
|
f->setTexture(3,"door_steel_wb.png^[transformFX");
|
||||||
|
@ -4095,6 +4215,9 @@ void content_mapnode_init()
|
||||||
f->setTexture(5,"door_steel_wb.png^[transformFX");
|
f->setTexture(5,"door_steel_wb.png^[transformFX");
|
||||||
f->setInventoryTexture("door_steel_w_inv.png^[transformFX");
|
f->setInventoryTexture("door_steel_w_inv.png^[transformFX");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -4105,7 +4228,7 @@ void content_mapnode_init()
|
||||||
setStoneLikeDiggingProperties(f->digging_properties, 5.0);
|
setStoneLikeDiggingProperties(f->digging_properties, 5.0);
|
||||||
i = CONTENT_STEEL_W_DOOR_RT_OPEN;
|
i = CONTENT_STEEL_W_DOOR_RT_OPEN;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Right Hanging Steel Windowed Door");
|
f->description = std::string("Right Hanging Steel Windowed Door");
|
||||||
f->setAllTextures("door_steel_wt.png");
|
f->setAllTextures("door_steel_wt.png");
|
||||||
f->setTexture(3,"door_steel_wt.png^[transformFX");
|
f->setTexture(3,"door_steel_wt.png^[transformFX");
|
||||||
|
@ -4113,6 +4236,9 @@ void content_mapnode_init()
|
||||||
f->setTexture(5,"door_steel_wt.png^[transformFX");
|
f->setTexture(5,"door_steel_wt.png^[transformFX");
|
||||||
f->setInventoryTexture("door_steel_w_inv.png^[transformFX");
|
f->setInventoryTexture("door_steel_w_inv.png^[transformFX");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -4158,12 +4284,15 @@ void content_mapnode_init()
|
||||||
|
|
||||||
i = CONTENT_WOOD_W_HATCH;
|
i = CONTENT_WOOD_W_HATCH;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Wood Windowed Hatch");
|
f->description = std::string("Wood Windowed Hatch");
|
||||||
f->setAllTextures("hatch_wood_w.png");
|
f->setAllTextures("hatch_wood_w.png");
|
||||||
f->rotate_tile_with_nodebox = true;
|
f->rotate_tile_with_nodebox = true;
|
||||||
f->setInventoryTexture("hatch_wood_w_inv.png");
|
f->setInventoryTexture("hatch_wood_w_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -4174,12 +4303,15 @@ void content_mapnode_init()
|
||||||
|
|
||||||
i = CONTENT_STEEL_W_HATCH;
|
i = CONTENT_STEEL_W_HATCH;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Steel Windowed Hatch");
|
f->description = std::string("Steel Windowed Hatch");
|
||||||
f->setAllTextures("hatch_steel_w.png");
|
f->setAllTextures("hatch_steel_w.png");
|
||||||
f->rotate_tile_with_nodebox = true;
|
f->rotate_tile_with_nodebox = true;
|
||||||
f->setInventoryTexture("hatch_steel_w_inv.png");
|
f->setInventoryTexture("hatch_steel_w_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -4192,12 +4324,15 @@ void content_mapnode_init()
|
||||||
// gates
|
// gates
|
||||||
i = CONTENT_WOOD_GATE;
|
i = CONTENT_WOOD_GATE;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Wood Gate");
|
f->description = std::string("Wood Gate");
|
||||||
f->setAllTextures("gate_wood.png");
|
f->setAllTextures("gate_wood.png");
|
||||||
f->rotate_tile_with_nodebox = true;
|
f->rotate_tile_with_nodebox = true;
|
||||||
f->setInventoryTexture("gate_wood_inv.png");
|
f->setInventoryTexture("gate_wood_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -4208,12 +4343,15 @@ void content_mapnode_init()
|
||||||
|
|
||||||
i = CONTENT_STEEL_GATE;
|
i = CONTENT_STEEL_GATE;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Steel Gate");
|
f->description = std::string("Steel Gate");
|
||||||
f->setAllTextures("gate_steel.png");
|
f->setAllTextures("gate_steel.png");
|
||||||
f->rotate_tile_with_nodebox = true;
|
f->rotate_tile_with_nodebox = true;
|
||||||
f->setInventoryTexture("gate_steel_inv.png");
|
f->setInventoryTexture("gate_steel_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -4226,7 +4364,7 @@ void content_mapnode_init()
|
||||||
// open hatches
|
// open hatches
|
||||||
i = CONTENT_WOOD_HATCH_OPEN;
|
i = CONTENT_WOOD_HATCH_OPEN;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Wood Hatch");
|
f->description = std::string("Wood Hatch");
|
||||||
f->setAllTextures("hatch_wood.png");
|
f->setAllTextures("hatch_wood.png");
|
||||||
f->setTexture(2,"hatch_wood.png^[transformR90");
|
f->setTexture(2,"hatch_wood.png^[transformR90");
|
||||||
|
@ -4234,6 +4372,9 @@ void content_mapnode_init()
|
||||||
f->rotate_tile_with_nodebox = true;
|
f->rotate_tile_with_nodebox = true;
|
||||||
f->setInventoryTexture("hatch_wood_inv.png");
|
f->setInventoryTexture("hatch_wood_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->climbable = true;
|
f->climbable = true;
|
||||||
|
@ -4244,7 +4385,7 @@ void content_mapnode_init()
|
||||||
|
|
||||||
i = CONTENT_STEEL_HATCH_OPEN;
|
i = CONTENT_STEEL_HATCH_OPEN;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Steel Hatch");
|
f->description = std::string("Steel Hatch");
|
||||||
f->setAllTextures("hatch_steel.png");
|
f->setAllTextures("hatch_steel.png");
|
||||||
f->setTexture(2,"hatch_steel.png^[transformR90");
|
f->setTexture(2,"hatch_steel.png^[transformR90");
|
||||||
|
@ -4252,6 +4393,9 @@ void content_mapnode_init()
|
||||||
f->rotate_tile_with_nodebox = true;
|
f->rotate_tile_with_nodebox = true;
|
||||||
f->setInventoryTexture("hatch_steel_inv.png");
|
f->setInventoryTexture("hatch_steel_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->climbable = true;
|
f->climbable = true;
|
||||||
|
@ -4263,7 +4407,7 @@ void content_mapnode_init()
|
||||||
|
|
||||||
i = CONTENT_WOOD_W_HATCH_OPEN;
|
i = CONTENT_WOOD_W_HATCH_OPEN;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Wood Hatch");
|
f->description = std::string("Wood Hatch");
|
||||||
f->setAllTextures("hatch_wood_w.png");
|
f->setAllTextures("hatch_wood_w.png");
|
||||||
f->setTexture(2,"hatch_wood.png^[transformR90");
|
f->setTexture(2,"hatch_wood.png^[transformR90");
|
||||||
|
@ -4271,6 +4415,9 @@ void content_mapnode_init()
|
||||||
f->rotate_tile_with_nodebox = true;
|
f->rotate_tile_with_nodebox = true;
|
||||||
f->setInventoryTexture("hatch_wood_w_inv.png");
|
f->setInventoryTexture("hatch_wood_w_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->climbable = true;
|
f->climbable = true;
|
||||||
|
@ -4281,7 +4428,7 @@ void content_mapnode_init()
|
||||||
|
|
||||||
i = CONTENT_STEEL_W_HATCH_OPEN;
|
i = CONTENT_STEEL_W_HATCH_OPEN;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Steel Hatch");
|
f->description = std::string("Steel Hatch");
|
||||||
f->setAllTextures("hatch_steel_w.png");
|
f->setAllTextures("hatch_steel_w.png");
|
||||||
f->setTexture(2,"hatch_steel.png^[transformR90");
|
f->setTexture(2,"hatch_steel.png^[transformR90");
|
||||||
|
@ -4289,6 +4436,9 @@ void content_mapnode_init()
|
||||||
f->rotate_tile_with_nodebox = true;
|
f->rotate_tile_with_nodebox = true;
|
||||||
f->setInventoryTexture("hatch_steel_w_inv.png");
|
f->setInventoryTexture("hatch_steel_w_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->climbable = true;
|
f->climbable = true;
|
||||||
|
@ -4301,12 +4451,15 @@ void content_mapnode_init()
|
||||||
// open gates
|
// open gates
|
||||||
i = CONTENT_WOOD_GATE_OPEN;
|
i = CONTENT_WOOD_GATE_OPEN;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Wood Gate");
|
f->description = std::string("Wood Gate");
|
||||||
f->setAllTextures("gate_wood.png");
|
f->setAllTextures("gate_wood.png");
|
||||||
f->rotate_tile_with_nodebox = true;
|
f->rotate_tile_with_nodebox = true;
|
||||||
f->setInventoryTexture("gate_wood_inv.png");
|
f->setInventoryTexture("gate_wood_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
@ -4317,12 +4470,15 @@ void content_mapnode_init()
|
||||||
|
|
||||||
i = CONTENT_STEEL_GATE_OPEN;
|
i = CONTENT_STEEL_GATE_OPEN;
|
||||||
f = &content_features(i);
|
f = &content_features(i);
|
||||||
f->param_type = CPT_FACEDIR_SIMPLE;
|
f->param2_type = CPT_FACEDIR_SIMPLE;
|
||||||
f->description = std::string("Steel Gate");
|
f->description = std::string("Steel Gate");
|
||||||
f->setAllTextures("gate_steel.png");
|
f->setAllTextures("gate_steel.png");
|
||||||
f->rotate_tile_with_nodebox = true;
|
f->rotate_tile_with_nodebox = true;
|
||||||
f->setInventoryTexture("gate_steel_inv.png");
|
f->setInventoryTexture("gate_steel_inv.png");
|
||||||
f->wield_nodebox = false;
|
f->wield_nodebox = false;
|
||||||
|
f->param_type = CPT_LIGHT;
|
||||||
|
f->light_propagates = true;
|
||||||
|
f->sunlight_propagates = true;
|
||||||
f->draw_type = CDT_NODEBOX;
|
f->draw_type = CDT_NODEBOX;
|
||||||
f->solidness = 0; // drawn separately, makes no faces
|
f->solidness = 0; // drawn separately, makes no faces
|
||||||
f->is_ground_content = true;
|
f->is_ground_content = true;
|
||||||
|
|
|
@ -44,8 +44,8 @@ static std::vector<aabb3f> transformNodeBox(MapNode &n,
|
||||||
{
|
{
|
||||||
std::vector<aabb3f> boxes;
|
std::vector<aabb3f> boxes;
|
||||||
int facedir = 0;
|
int facedir = 0;
|
||||||
if (content_features(n).param_type == CPT_FACEDIR_SIMPLE)
|
if (content_features(n).param2_type == CPT_FACEDIR_SIMPLE)
|
||||||
facedir = n.param1;
|
facedir = n.param2&0x0F;
|
||||||
for(std::vector<aabb3f>::const_iterator
|
for(std::vector<aabb3f>::const_iterator
|
||||||
i = nodebox.begin();
|
i = nodebox.begin();
|
||||||
i != nodebox.end(); i++)
|
i != nodebox.end(); i++)
|
||||||
|
@ -314,8 +314,11 @@ TileSpec MapNode::getTile(v3s16 dir)
|
||||||
TileSpec spec;
|
TileSpec spec;
|
||||||
s32 dir_i = 0;
|
s32 dir_i = 0;
|
||||||
|
|
||||||
if(content_features(*this).param_type == CPT_FACEDIR_SIMPLE)
|
if (content_features(*this).param2_type == CPT_FACEDIR_SIMPLE) {
|
||||||
|
dir = facedir_rotate(param2&0x0F, dir);
|
||||||
|
}else if (content_features(*this).param_type == CPT_FACEDIR_SIMPLE) {
|
||||||
dir = facedir_rotate(param1, dir);
|
dir = facedir_rotate(param1, dir);
|
||||||
|
}
|
||||||
|
|
||||||
if(dir == v3s16(0,-1,0))
|
if(dir == v3s16(0,-1,0))
|
||||||
dir_i = 1;
|
dir_i = 1;
|
||||||
|
|
|
@ -158,6 +158,7 @@ struct ContentFeatures
|
||||||
|
|
||||||
// Type of MapNode::param1
|
// Type of MapNode::param1
|
||||||
ContentParamType param_type;
|
ContentParamType param_type;
|
||||||
|
ContentParamType param2_type;
|
||||||
// drawtype
|
// drawtype
|
||||||
ContentDrawType draw_type;
|
ContentDrawType draw_type;
|
||||||
// True for all ground-like things like stone and mud, false for eg. trees
|
// True for all ground-like things like stone and mud, false for eg. trees
|
||||||
|
@ -253,6 +254,7 @@ struct ContentFeatures
|
||||||
0.5*BS
|
0.5*BS
|
||||||
));
|
));
|
||||||
param_type = CPT_NONE;
|
param_type = CPT_NONE;
|
||||||
|
param2_type = CPT_NONE;
|
||||||
draw_type = CDT_AIRLIKE;
|
draw_type = CDT_AIRLIKE;
|
||||||
is_ground_content = false;
|
is_ground_content = false;
|
||||||
light_propagates = false;
|
light_propagates = false;
|
||||||
|
|
|
@ -3176,8 +3176,23 @@ void Server::ProcessData(u8 *data, u32 datasize, u16 peer_id)
|
||||||
n.param2 = packDir(p_under - p_over);
|
n.param2 = packDir(p_under - p_over);
|
||||||
|
|
||||||
// Calculate the direction for furnaces and chests and stuff
|
// Calculate the direction for furnaces and chests and stuff
|
||||||
if(content_features(n).param_type == CPT_FACEDIR_SIMPLE)
|
if (content_features(n).param2_type == CPT_FACEDIR_SIMPLE) {
|
||||||
{
|
v3f playerpos = player->getPosition();
|
||||||
|
v3f blockpos = intToFloat(p_over, BS) - playerpos;
|
||||||
|
blockpos = blockpos.normalize();
|
||||||
|
n.param2 &= 0xF0;
|
||||||
|
if (fabs(blockpos.X) > fabs(blockpos.Z)) {
|
||||||
|
if (blockpos.X < 0)
|
||||||
|
n.param2 |= 0x03;
|
||||||
|
else
|
||||||
|
n.param2 |= 0x01;
|
||||||
|
} else {
|
||||||
|
if (blockpos.Z < 0)
|
||||||
|
n.param2 |= 0x02;
|
||||||
|
else
|
||||||
|
n.param2 |= 0x00;
|
||||||
|
}
|
||||||
|
}else if (content_features(n).param_type == CPT_FACEDIR_SIMPLE) {
|
||||||
v3f playerpos = player->getPosition();
|
v3f playerpos = player->getPosition();
|
||||||
v3f blockpos = intToFloat(p_over, BS) - playerpos;
|
v3f blockpos = intToFloat(p_over, BS) - playerpos;
|
||||||
blockpos = blockpos.normalize();
|
blockpos = blockpos.normalize();
|
||||||
|
@ -3209,6 +3224,7 @@ void Server::ProcessData(u8 *data, u32 datasize, u16 peer_id)
|
||||||
MapNode m;
|
MapNode m;
|
||||||
m.setContent(n.getContent()|CONTENT_DOOR_SECT_MASK);
|
m.setContent(n.getContent()|CONTENT_DOOR_SECT_MASK);
|
||||||
m.param1 = n.param1;
|
m.param1 = n.param1;
|
||||||
|
m.param2 |= n.param2&0x0F;
|
||||||
sendAddNode(p_over+v3s16(0,1,0), m, 0, &far_players, 30);
|
sendAddNode(p_over+v3s16(0,1,0), m, 0, &far_players, 30);
|
||||||
{
|
{
|
||||||
MapEditEventIgnorer ign(&m_ignore_map_edit_events);
|
MapEditEventIgnorer ign(&m_ignore_map_edit_events);
|
||||||
|
@ -3221,6 +3237,7 @@ void Server::ProcessData(u8 *data, u32 datasize, u16 peer_id)
|
||||||
MapNode m;
|
MapNode m;
|
||||||
m.setContent(n.getContent()&~CONTENT_DOOR_SECT_MASK);
|
m.setContent(n.getContent()&~CONTENT_DOOR_SECT_MASK);
|
||||||
m.param1 = n.param1;
|
m.param1 = n.param1;
|
||||||
|
m.param2 |= n.param2&0x0F;
|
||||||
sendAddNode(p_over+v3s16(0,-1,0), m, 0, &far_players, 30);
|
sendAddNode(p_over+v3s16(0,-1,0), m, 0, &far_players, 30);
|
||||||
{
|
{
|
||||||
MapEditEventIgnorer ign(&m_ignore_map_edit_events);
|
MapEditEventIgnorer ign(&m_ignore_map_edit_events);
|
||||||
|
|
Loading…
Reference in New Issue