diff --git a/data/textures/apple_pie.png b/data/textures/apple_pie.png index 93432c5..4d481af 100644 Binary files a/data/textures/apple_pie.png and b/data/textures/apple_pie.png differ diff --git a/data/textures/apple_pie_raw.png b/data/textures/apple_pie_raw.png index 31bc12d..f926b7c 100644 Binary files a/data/textures/apple_pie_raw.png and b/data/textures/apple_pie_raw.png differ diff --git a/data/textures/pumpkin_pie.png b/data/textures/pumpkin_pie.png index c8faeb7..02bdf59 100644 Binary files a/data/textures/pumpkin_pie.png and b/data/textures/pumpkin_pie.png differ diff --git a/data/textures/pumpkin_pie_raw.png b/data/textures/pumpkin_pie_raw.png index 23fd0a4..8cd26b6 100644 Binary files a/data/textures/pumpkin_pie_raw.png and b/data/textures/pumpkin_pie_raw.png differ diff --git a/src/content_craftitem.cpp b/src/content_craftitem.cpp index 0cd9370..a89379c 100644 --- a/src/content_craftitem.cpp +++ b/src/content_craftitem.cpp @@ -502,43 +502,21 @@ void content_craftitem_init() lists::add("craftguide",i); lists::add("creative",i); - i = CONTENT_CRAFTITEM_PUMPKIN_PIE_RAW; + i = CONTENT_CRAFTITEM_PUMPKIN_PIE_SLICE; f = &g_content_craftitem_features[i]; - f->content = CONTENT_CRAFTITEM_PUMPKIN_PIE_RAW; - f->texture = "pumpkin_pie_raw.png"; - f->name = "pumpkin_pie_raw"; - f->description = "Raw Pumpkin Pie"; - f->cook_result = std::string("CraftItem pumpkin_pie 1"); - f->edible = 3; - crafting::set1over1Recipe(CONTENT_CRAFTITEM_PUMPKINSLICE,CONTENT_CRAFTITEM_DOUGH,CONTENT_CRAFTITEM_PUMPKIN_PIE_RAW); - lists::add("craftguide",i); - - i = CONTENT_CRAFTITEM_PUMPKIN_PIE; - f = &g_content_craftitem_features[i]; - f->content = CONTENT_CRAFTITEM_PUMPKIN_PIE; - f->texture = "pumpkin_pie.png"; - f->name = "pumpkin_pie"; - f->description = "Pumpkin Pie"; + f->content = CONTENT_CRAFTITEM_PUMPKIN_PIE_SLICE; + f->texture = "pumpkin_pie_slice.png"; + f->name = "pumpkin_pie_slice"; + f->description = "Pumpkin Pie Slice"; f->edible = 6; - lists::add("creative",i); - - i = CONTENT_CRAFTITEM_APPLE_PIE_RAW; - f = &g_content_craftitem_features[i]; - f->content = CONTENT_CRAFTITEM_APPLE_PIE_RAW; - f->texture = "apple_pie_raw.png"; - f->name = "apple_pie_raw"; - f->description = "Raw Apple Pie"; - f->cook_result = std::string("CraftItem apple_pie 1"); - f->edible = 3; - crafting::set1over1Recipe(CONTENT_CRAFTITEM_APPLE,CONTENT_CRAFTITEM_DOUGH,CONTENT_CRAFTITEM_APPLE_PIE_RAW); lists::add("craftguide",i); - i = CONTENT_CRAFTITEM_APPLE_PIE; + i = CONTENT_CRAFTITEM_APPLE_PIE_SLICE; f = &g_content_craftitem_features[i]; - f->content = CONTENT_CRAFTITEM_APPLE_PIE; - f->texture = "apple_pie.png"; - f->name = "apple_pie"; - f->description = "Apple Pie"; + f->content = CONTENT_CRAFTITEM_APPLE_PIE_SLICE; + f->texture = "apple_pie_slice.png"; + f->name = "apple_pie_slice"; + f->description = "Apple Pie Slice"; f->edible = 6; lists::add("creative",i); diff --git a/src/content_craftitem.h b/src/content_craftitem.h index 877f1fe..ada32e3 100644 --- a/src/content_craftitem.h +++ b/src/content_craftitem.h @@ -83,10 +83,8 @@ CraftItemFeatures & content_craftitem_features(std::string subname); #define CONTENT_CRAFTITEM_ROTTEN_FRUIT (CONTENT_CRAFTITEM_MASK | 0x2D) #define CONTENT_CRAFTITEM_MUSH (CONTENT_CRAFTITEM_MASK | 0x2E) #define CONTENT_CRAFTITEM_PUMPKINSLICE (CONTENT_CRAFTITEM_MASK | 0x2F) -#define CONTENT_CRAFTITEM_PUMPKIN_PIE_RAW (CONTENT_CRAFTITEM_MASK | 0x30) -#define CONTENT_CRAFTITEM_PUMPKIN_PIE (CONTENT_CRAFTITEM_MASK | 0x31) -#define CONTENT_CRAFTITEM_APPLE_PIE_RAW (CONTENT_CRAFTITEM_MASK | 0x32) -#define CONTENT_CRAFTITEM_APPLE_PIE (CONTENT_CRAFTITEM_MASK | 0x33) +#define CONTENT_CRAFTITEM_PUMPKIN_PIE_SLICE (CONTENT_CRAFTITEM_MASK | 0x32) +#define CONTENT_CRAFTITEM_APPLE_PIE_SLICE (CONTENT_CRAFTITEM_MASK | 0x33) #define CONTENT_CRAFTITEM_MELONSLICE (CONTENT_CRAFTITEM_MASK | 0x34) #define CONTENT_CRAFTITEM_WHEAT (CONTENT_CRAFTITEM_MASK | 0x35) #define CONTENT_CRAFTITEM_FLOUR (CONTENT_CRAFTITEM_MASK | 0x36) diff --git a/src/content_mapnode.cpp b/src/content_mapnode.cpp index 77dfa9d..09281b2 100644 --- a/src/content_mapnode.cpp +++ b/src/content_mapnode.cpp @@ -835,6 +835,118 @@ static void content_mapnode_nodebox_book(ContentFeatures *f) )); } +static void content_mapnode_nodebox_pie(ContentFeatures *f) +{ + f->setNodeBox(core::aabbox3d( + (-4.0 / 16.0)*BS, + -0.5*BS, + (-4.0 / 16.0)*BS, + + (4.0 / 16.0)*BS, + (-6.0 / 16.0)*BS, + (4.0 / 16.0)*BS + )); + + f->addNodeBox(core::aabbox3d( + (-5.0 / 16.0)*BS, + (-6.0 / 16.0)*BS, + (-5.0 / 16.0)*BS, + + (5.0 / 16.0)*BS, + (-5.0 / 16.0)*BS, + (5.0 / 16.0)*BS + )); +} + +static void content_mapnode_nodebox_pie_3(ContentFeatures *f) +{ + f->setNodeBox(core::aabbox3d( + (-4.0 / 16.0)*BS, + -0.5*BS, + (-4.0 / 16.0)*BS, + + 0, + (-6.0 / 16.0)*BS, + (4.0 / 16.0)*BS + )); + + f->addNodeBox(core::aabbox3d( + (-5.0 / 16.0)*BS, + (-6.0 / 16.0)*BS, + (-5.0 / 16.0)*BS, + + 0, + (-5.0 / 16.0)*BS, + (5.0 / 16.0)*BS + )); + + f->addNodeBox(core::aabbox3d( + 0, + -0.5*BS, + 0, + + (4.0 / 16.0)*BS, + (-6.0 / 16.0)*BS, + (4.0 / 16.0)*BS + )); + + f->addNodeBox(core::aabbox3d( + 0, + (-6.0 / 16.0)*BS, + 0, + + (5.0 / 16.0)*BS, + (-5.0 / 16.0)*BS, + (5.0 / 16.0)*BS + )); +} + +static void content_mapnode_nodebox_pie_2(ContentFeatures *f) +{ + f->setNodeBox(core::aabbox3d( + (-4.0 / 16.0)*BS, + -0.5*BS, + (-4.0 / 16.0)*BS, + + 0, + (-6.0 / 16.0)*BS, + (4.0 / 16.0)*BS + )); + + f->addNodeBox(core::aabbox3d( + (-5.0 / 16.0)*BS, + (-6.0 / 16.0)*BS, + (-5.0 / 16.0)*BS, + + 0, + (-5.0 / 16.0)*BS, + (5.0 / 16.0)*BS + )); +} + +static void content_mapnode_nodebox_pie_1(ContentFeatures *f) +{ + f->setNodeBox(core::aabbox3d( + (-4.0 / 16.0)*BS, + -0.5*BS, + (-4.0 / 16.0)*BS, + + 0, + (-6.0 / 16.0)*BS, + 0 + )); + + f->addNodeBox(core::aabbox3d( + (-5.0 / 16.0)*BS, + (-6.0 / 16.0)*BS, + (-5.0 / 16.0)*BS, + + 0, + (-5.0 / 16.0)*BS, + 0 + )); +} + /* A conversion table for backwards compatibility. Maps <=v19 content types to current ones. @@ -3003,6 +3115,226 @@ void content_mapnode_init() f->hardness = 0.4; lists::add("creative",i); + i = CONTENT_APPLE_PIE_RAW; + f = &content_features(i); + f->description = std::string("Raw Apple Pie"); + f->setTexture(0, "apple_pie_raw.png"); + f->setTexture(1, "apple_pie_raw.png"); + f->setTexture(2, "apple_pie_raw.png"); + f->setTexture(3, "apple_pie_raw.png"); + f->setTexture(4, "apple_pie_raw.png"); + f->setTexture(5, "apple_pie_raw.png"); + f->draw_type = CDT_NODEBOX; + f->param_type = CPT_LIGHT; + f->flammable = true; + f->walkable = true; + f->light_propagates = true; + f->sunlight_propagates = true; + f->solidness = 0; // drawn separately, makes no faces + f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; + f->cook_result = std::string("MaterialItem2")+itos(CONTENT_APPLE_PIE)+" 1"; + content_mapnode_nodebox_pie(f); + f->setInventoryTextureNodeBox(i, "apple_pie_raw.png", "apple_pie_raw.png", "apple_pie_raw.png"); + f->type = CMT_DIRT; + f->hardness = 0.4; + lists::add("creative",i); + + i = CONTENT_APPLE_PIE; + f = &content_features(i); + f->description = std::string("Apple Pie"); + f->setTexture(0, "apple_pie.png"); + f->setTexture(1, "apple_pie.png"); + f->setTexture(2, "apple_pie.png"); + f->setTexture(3, "apple_pie.png"); + f->setTexture(4, "apple_pie.png"); + f->setTexture(5, "apple_pie.png"); + f->draw_type = CDT_NODEBOX; + f->param_type = CPT_LIGHT; + f->flammable = true; + f->walkable = true; + f->light_propagates = true; + f->sunlight_propagates = true; + f->solidness = 0; // drawn separately, makes no faces + content_mapnode_nodebox_pie(f); + f->setInventoryTextureNodeBox(i, "apple_pie.png", "apple_pie.png", "apple_pie.png"); + f->dug_item = std::string("CraftItem apple_pie_slice 1"); + f->ondig_replace_node=CONTENT_APPLE_PIE_3; + f->type = CMT_DIRT; + f->hardness = 0.4; + lists::add("creative",i); + + i = CONTENT_APPLE_PIE_3; + f = &content_features(i); + f->setTexture(0, "apple_pie.png"); + f->setTexture(1, "apple_pie.png"); + f->setTexture(2, "apple_pie.png^[transformR90"); + f->setTexture(3, "apple_pie.png"); + f->setTexture(4, "apple_pie.png"); + f->setTexture(5, "apple_pie.png^[transformR270"); + f->draw_type = CDT_NODEBOX; + f->param_type = CPT_LIGHT; + f->flammable = true; + f->walkable = true; + f->light_propagates = true; + f->sunlight_propagates = true; + f->solidness = 0; // drawn separately, makes no faces + content_mapnode_nodebox_pie_3(f); + f->dug_item = std::string("CraftItem apple_pie_slice 1"); + f->ondig_replace_node=CONTENT_APPLE_PIE_2; + f->type = CMT_DIRT; + f->hardness = 0.4; + + i = CONTENT_APPLE_PIE_2; + f = &content_features(i); + f->setTexture(0, "apple_pie.png"); + f->setTexture(1, "apple_pie.png"); + f->setTexture(2, "apple_pie.png^[transformFY"); + f->setTexture(3, "apple_pie.png"); + f->setTexture(4, "apple_pie.png"); + f->setTexture(5, "apple_pie.png"); + f->draw_type = CDT_NODEBOX; + f->param_type = CPT_LIGHT; + f->flammable = true; + f->walkable = true; + f->light_propagates = true; + f->sunlight_propagates = true; + f->solidness = 0; // drawn separately, makes no faces + content_mapnode_nodebox_pie_2(f); + f->dug_item = std::string("CraftItem apple_pie_slice 1"); + f->ondig_replace_node=CONTENT_APPLE_PIE_1; + f->type = CMT_DIRT; + f->hardness = 0.4; + + i = CONTENT_APPLE_PIE_1; + f = &content_features(i); + f->setTexture(0, "apple_pie.png"); + f->setTexture(1, "apple_pie.png"); + f->setTexture(2, "apple_pie.png^[transformFY"); + f->setTexture(3, "apple_pie.png"); + f->setTexture(4, "apple_pie.png^[transformFY"); + f->setTexture(5, "apple_pie.png"); + f->draw_type = CDT_NODEBOX; + f->param_type = CPT_LIGHT; + f->flammable = true; + f->walkable = true; + f->light_propagates = true; + f->sunlight_propagates = true; + f->solidness = 0; // drawn separately, makes no faces + content_mapnode_nodebox_pie_1(f); + f->dug_item = std::string("CraftItem apple_pie_slice 1"); + f->type = CMT_DIRT; + f->hardness = 0.4; + + i = CONTENT_PUMPKIN_PIE_RAW; + f = &content_features(i); + f->description = std::string("Raw Pumpkin Pie"); + f->setTexture(0, "pumpkin_pie_raw.png"); + f->setTexture(1, "pumpkin_pie_raw.png"); + f->setTexture(2, "pumpkin_pie_raw.png"); + f->setTexture(3, "pumpkin_pie_raw.png"); + f->setTexture(4, "pumpkin_pie_raw.png"); + f->setTexture(5, "pumpkin_pie_raw.png"); + f->draw_type = CDT_NODEBOX; + f->param_type = CPT_LIGHT; + f->flammable = true; + f->walkable = true; + f->light_propagates = true; + f->sunlight_propagates = true; + f->solidness = 0; // drawn separately, makes no faces + f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; + f->cook_result = std::string("MaterialItem2")+itos(CONTENT_PUMPKIN_PIE)+" 1"; + content_mapnode_nodebox_pie(f); + f->setInventoryTextureNodeBox(i, "pumpkin_pie_raw.png", "pumpkin_pie_raw.png", "pumpkin_pie_raw.png"); + f->type = CMT_DIRT; + f->hardness = 0.4; + lists::add("creative",i); + + i = CONTENT_PUMPKIN_PIE; + f = &content_features(i); + f->description = std::string("Pumpkin Pie"); + f->setTexture(0, "pumpkin_pie.png"); + f->setTexture(1, "pumpkin_pie.png"); + f->setTexture(2, "pumpkin_pie.png"); + f->setTexture(3, "pumpkin_pie.png"); + f->setTexture(4, "pumpkin_pie.png"); + f->setTexture(5, "pumpkin_pie.png"); + f->draw_type = CDT_NODEBOX; + f->param_type = CPT_LIGHT; + f->flammable = true; + f->walkable = true; + f->light_propagates = true; + f->sunlight_propagates = true; + f->solidness = 0; // drawn separately, makes no faces + content_mapnode_nodebox_pie(f); + f->setInventoryTextureNodeBox(i, "pumpkin_pie.png", "pumpkin_pie.png", "pumpkin_pie.png"); + f->dug_item = std::string("CraftItem pumpkin_pie_slice 1"); + f->ondig_replace_node=CONTENT_PUMPKIN_PIE_3; + f->type = CMT_DIRT; + f->hardness = 0.4; + lists::add("creative",i); + + i = CONTENT_PUMPKIN_PIE_3; + f = &content_features(i); + f->setTexture(0, "pumpkin_pie.png"); + f->setTexture(1, "pumpkin_pie.png"); + f->setTexture(2, "pumpkin_pie.png^[transformR90"); + f->setTexture(3, "pumpkin_pie.png"); + f->setTexture(4, "pumpkin_pie.png"); + f->setTexture(5, "pumpkin_pie.png^[transformR270"); + f->draw_type = CDT_NODEBOX; + f->param_type = CPT_LIGHT; + f->flammable = true; + f->walkable = true; + f->light_propagates = true; + f->sunlight_propagates = true; + f->solidness = 0; // drawn separately, makes no faces + content_mapnode_nodebox_pie_3(f); + f->dug_item = std::string("CraftItem pumpkin_pie_slice 1"); + f->ondig_replace_node=CONTENT_PUMPKIN_PIE_2; + f->type = CMT_DIRT; + f->hardness = 0.4; + + i = CONTENT_PUMPKIN_PIE_2; + f = &content_features(i); + f->setTexture(0, "pumpkin_pie.png"); + f->setTexture(1, "pumpkin_pie.png"); + f->setTexture(2, "pumpkin_pie.png^[transformFY"); + f->setTexture(3, "pumpkin_pie.png"); + f->setTexture(4, "pumpkin_pie.png"); + f->setTexture(5, "pumpkin_pie.png"); + f->draw_type = CDT_NODEBOX; + f->param_type = CPT_LIGHT; + f->flammable = true; + f->walkable = true; + f->light_propagates = true; + f->sunlight_propagates = true; + f->solidness = 0; // drawn separately, makes no faces + content_mapnode_nodebox_pie_2(f); + f->dug_item = std::string("CraftItem pumpkin_pie_slice 1"); + f->ondig_replace_node=CONTENT_PUMPKIN_PIE_1; + f->type = CMT_DIRT; + f->hardness = 0.4; + + i = CONTENT_PUMPKIN_PIE_1; + f = &content_features(i); + f->setTexture(0, "pumpkin_pie.png"); + f->setTexture(1, "pumpkin_pie.png"); + f->setTexture(2, "pumpkin_pie.png^[transformFY"); + f->setTexture(3, "pumpkin_pie.png"); + f->setTexture(4, "pumpkin_pie.png^[transformFY"); + f->setTexture(5, "pumpkin_pie.png"); + f->draw_type = CDT_NODEBOX; + f->param_type = CPT_LIGHT; + f->flammable = true; + f->walkable = true; + f->light_propagates = true; + f->sunlight_propagates = true; + f->solidness = 0; // drawn separately, makes no faces + content_mapnode_nodebox_pie_1(f); + f->dug_item = std::string("CraftItem pumpkin_pie_slice 1"); + f->type = CMT_DIRT; + f->hardness = 0.4; + i = CONTENT_FARM_WHEAT_1; f = &content_features(i); f->description = std::string("Wheat"); diff --git a/src/content_mapnode.h b/src/content_mapnode.h index c9301aa..815670a 100644 --- a/src/content_mapnode.h +++ b/src/content_mapnode.h @@ -232,7 +232,7 @@ MapNode mapnode_translate_to_internal(MapNode n_from, u8 version); #define CONTENT_SEEDS_BEETROOT 0x923 #define CONTENT_SEEDS_GRAPE 0x924 #define CONTENT_SEEDS_COTTON 0x925 -// FREE 926-92F +// FREE 925-930 #define CONTENT_FARM_WHEAT_1 0x930 #define CONTENT_FARM_WHEAT_2 0x931 #define CONTENT_FARM_WHEAT_3 0x932 @@ -269,7 +269,17 @@ MapNode mapnode_translate_to_internal(MapNode n_from, u8 version); #define CONTENT_FARM_TRELLIS_GRAPE_2 0x951 #define CONTENT_FARM_TRELLIS_GRAPE_3 0x952 #define CONTENT_FARM_TRELLIS_GRAPE 0x953 -// FREE 954-9FA +#define CONTENT_APPLE_PIE_RAW 0x954 +#define CONTENT_APPLE_PIE 0x955 +#define CONTENT_APPLE_PIE_3 0x956 +#define CONTENT_APPLE_PIE_2 0x957 +#define CONTENT_APPLE_PIE_1 0x958 +#define CONTENT_PUMPKIN_PIE_RAW 0x959 +#define CONTENT_PUMPKIN_PIE 0x95A +#define CONTENT_PUMPKIN_PIE_3 0x95B +#define CONTENT_PUMPKIN_PIE_2 0x95C +#define CONTENT_PUMPKIN_PIE_1 0x95D +// FREE 95E-9FA #define CONTENT_DEAD_VINE 0x9FB #define CONTENT_TRELLIS_DEAD_VINE 0x9FC #define CONTENT_FARM_PUMPKIN_JACK 0x9FD