From 0c3f396b1b37c2d3764011cfd946bd9e2515057f Mon Sep 17 00:00:00 2001 From: Jordan Snelling Date: Thu, 23 Aug 2012 16:20:17 +0100 Subject: [PATCH] Changed: Connection time to 60 seconds, Chunks are now generated in 32^3 Player Inventory size is 8*6 Signs can now hold 100 chars of text. --- src/constants.h | 8 +- src/content_craft.cpp~ | 758 ------------------------------------ src/content_mapnode.cpp~ | 806 --------------------------------------- src/content_mapnode.h~ | 107 ------ src/guiPauseMenu.cpp~ | 258 ------------- 5 files changed, 4 insertions(+), 1933 deletions(-) delete mode 100644 src/content_craft.cpp~ delete mode 100644 src/content_mapnode.cpp~ delete mode 100644 src/content_mapnode.h~ delete mode 100644 src/guiPauseMenu.cpp~ diff --git a/src/constants.h b/src/constants.h index 1af5f1f..591b13a 100644 --- a/src/constants.h +++ b/src/constants.h @@ -35,7 +35,7 @@ with this program; if not, write to the Free Software Foundation, Inc., // This disables unit testing of socket and connection. #define INTERNET_SIMULATOR 0 -#define CONNECTION_TIMEOUT 30 +#define CONNECTION_TIMEOUT 60 #define RESEND_TIMEOUT_MIN 0.333 #define RESEND_TIMEOUT_MAX 3.0 @@ -55,7 +55,7 @@ with this program; if not, write to the Free Software Foundation, Inc., // Size of node in rendering units #define BS 10 -#define MAP_BLOCKSIZE 16 +#define MAP_BLOCKSIZE 32 /* This makes mesh updates too slow, as many meshes are updated during the main loop (related to TempMods and day/night) @@ -74,9 +74,9 @@ with this program; if not, write to the Free Software Foundation, Inc., // is very low #define BLOCK_SEND_DISABLE_LIMITS_MAX_D 1 -#define PLAYER_INVENTORY_SIZE (8*4) +#define PLAYER_INVENTORY_SIZE (8*6) -#define SIGN_TEXT_MAX_LENGTH 50 +#define SIGN_TEXT_MAX_LENGTH 100 // Whether to catch all std::exceptions. // Assert will be called on such an event. diff --git a/src/content_craft.cpp~ b/src/content_craft.cpp~ deleted file mode 100644 index 2ce9bae..0000000 --- a/src/content_craft.cpp~ +++ /dev/null @@ -1,758 +0,0 @@ -/* -Minetest-c55 -Copyright (C) 2010-2011 celeron55, Perttu Ahola - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License along -with this program; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -#include "content_craft.h" -#include "inventory.h" -#include "content_mapnode.h" -#include "player.h" -#include "mapnode.h" // For content_t - -/* - items: actually *items[9] - return value: allocates a new item, or returns NULL. -*/ -InventoryItem *craft_get_result(InventoryItem **items) -{ - // Wood - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_MATERIAL, CONTENT_TREE); - if(checkItemCombination(items, specs)) - { - return new MaterialItem(CONTENT_WOOD, 4); - } - } - - // Stick - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - if(checkItemCombination(items, specs)) - { - return new CraftItem("Stick", 4); - } - } - - // Fence - { - ItemSpec specs[9]; - specs[3] = ItemSpec(ITEM_CRAFT, "Stick"); - specs[4] = ItemSpec(ITEM_CRAFT, "Stick"); - specs[5] = ItemSpec(ITEM_CRAFT, "Stick"); - specs[6] = ItemSpec(ITEM_CRAFT, "Stick"); - specs[7] = ItemSpec(ITEM_CRAFT, "Stick"); - specs[8] = ItemSpec(ITEM_CRAFT, "Stick"); - if(checkItemCombination(items, specs)) - { - return new MaterialItem(CONTENT_FENCE, 2); - } - } - - // Sign - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - specs[1] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - specs[2] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - specs[3] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - specs[4] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - specs[5] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - specs[7] = ItemSpec(ITEM_CRAFT, "Stick"); - if(checkItemCombination(items, specs)) - { - //return new MapBlockObjectItem("Sign"); - return new MaterialItem(CONTENT_SIGN_WALL, 1); - } - } - - // Torch - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_CRAFT, "lump_of_coal"); - specs[3] = ItemSpec(ITEM_CRAFT, "Stick"); - if(checkItemCombination(items, specs)) - { - return new MaterialItem(CONTENT_TORCH, 4); - } - } - - // Wooden pick - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - specs[1] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - specs[2] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - specs[4] = ItemSpec(ITEM_CRAFT, "Stick"); - specs[7] = ItemSpec(ITEM_CRAFT, "Stick"); - if(checkItemCombination(items, specs)) - { - return new ToolItem("WPick", 0); - } - } - - // Stone pick - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_MATERIAL, CONTENT_COBBLE); - specs[1] = ItemSpec(ITEM_MATERIAL, CONTENT_COBBLE); - specs[2] = ItemSpec(ITEM_MATERIAL, CONTENT_COBBLE); - specs[4] = ItemSpec(ITEM_CRAFT, "Stick"); - specs[7] = ItemSpec(ITEM_CRAFT, "Stick"); - if(checkItemCombination(items, specs)) - { - return new ToolItem("STPick", 0); - } - } - - // Steel pick - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - specs[1] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - specs[2] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - specs[4] = ItemSpec(ITEM_CRAFT, "Stick"); - specs[7] = ItemSpec(ITEM_CRAFT, "Stick"); - if(checkItemCombination(items, specs)) - { - return new ToolItem("SteelPick", 0); - } - } - - // Mese pick - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_MATERIAL, CONTENT_MESE); - specs[1] = ItemSpec(ITEM_MATERIAL, CONTENT_MESE); - specs[2] = ItemSpec(ITEM_MATERIAL, CONTENT_MESE); - specs[4] = ItemSpec(ITEM_CRAFT, "Stick"); - specs[7] = ItemSpec(ITEM_CRAFT, "Stick"); - if(checkItemCombination(items, specs)) - { - return new ToolItem("MesePick", 0); - } - } - - // Wooden shovel - { - ItemSpec specs[9]; - specs[1] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - specs[4] = ItemSpec(ITEM_CRAFT, "Stick"); - specs[7] = ItemSpec(ITEM_CRAFT, "Stick"); - if(checkItemCombination(items, specs)) - { - return new ToolItem("WShovel", 0); - } - } - - // Stone shovel - { - ItemSpec specs[9]; - specs[1] = ItemSpec(ITEM_MATERIAL, CONTENT_COBBLE); - specs[4] = ItemSpec(ITEM_CRAFT, "Stick"); - specs[7] = ItemSpec(ITEM_CRAFT, "Stick"); - if(checkItemCombination(items, specs)) - { - return new ToolItem("STShovel", 0); - } - } - - // Steel shovel - { - ItemSpec specs[9]; - specs[1] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - specs[4] = ItemSpec(ITEM_CRAFT, "Stick"); - specs[7] = ItemSpec(ITEM_CRAFT, "Stick"); - if(checkItemCombination(items, specs)) - { - return new ToolItem("SteelShovel", 0); - } - } - - // Wooden axe - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - specs[1] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - specs[3] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - specs[4] = ItemSpec(ITEM_CRAFT, "Stick"); - specs[7] = ItemSpec(ITEM_CRAFT, "Stick"); - if(checkItemCombination(items, specs)) - { - return new ToolItem("WAxe", 0); - } - } - - // Stone axe - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_MATERIAL, CONTENT_COBBLE); - specs[1] = ItemSpec(ITEM_MATERIAL, CONTENT_COBBLE); - specs[3] = ItemSpec(ITEM_MATERIAL, CONTENT_COBBLE); - specs[4] = ItemSpec(ITEM_CRAFT, "Stick"); - specs[7] = ItemSpec(ITEM_CRAFT, "Stick"); - if(checkItemCombination(items, specs)) - { - return new ToolItem("STAxe", 0); - } - } - - // Steel axe - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - specs[1] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - specs[3] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - specs[4] = ItemSpec(ITEM_CRAFT, "Stick"); - specs[7] = ItemSpec(ITEM_CRAFT, "Stick"); - if(checkItemCombination(items, specs)) - { - return new ToolItem("SteelAxe", 0); - } - } - - // Wooden sword - { - ItemSpec specs[9]; - specs[1] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - specs[4] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - specs[7] = ItemSpec(ITEM_CRAFT, "Stick"); - if(checkItemCombination(items, specs)) - { - return new ToolItem("WSword", 0); - } - } - - // Stone sword - { - ItemSpec specs[9]; - specs[1] = ItemSpec(ITEM_MATERIAL, CONTENT_COBBLE); - specs[4] = ItemSpec(ITEM_MATERIAL, CONTENT_COBBLE); - specs[7] = ItemSpec(ITEM_CRAFT, "Stick"); - if(checkItemCombination(items, specs)) - { - return new ToolItem("STSword", 0); - } - } - - // Steel sword - { - ItemSpec specs[9]; - specs[1] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - specs[4] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - specs[7] = ItemSpec(ITEM_CRAFT, "Stick"); - if(checkItemCombination(items, specs)) - { - return new ToolItem("SteelSword", 0); - } - } - - // Rail - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - specs[1] = ItemSpec(ITEM_CRAFT, "Stick"); - specs[2] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - specs[3] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - specs[4] = ItemSpec(ITEM_CRAFT, "Stick"); - specs[5] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - specs[6] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - specs[7] = ItemSpec(ITEM_CRAFT, "Stick"); - specs[8] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - if(checkItemCombination(items, specs)) - { - return new MaterialItem(CONTENT_RAIL, 15); - } - } - - // Chest - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - specs[1] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - specs[2] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - specs[3] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - specs[5] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - specs[6] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - specs[7] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - specs[8] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - if(checkItemCombination(items, specs)) - { - return new MaterialItem(CONTENT_CHEST, 1); - } - } - - // Furnace - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_MATERIAL, CONTENT_COBBLE); - specs[1] = ItemSpec(ITEM_MATERIAL, CONTENT_COBBLE); - specs[2] = ItemSpec(ITEM_MATERIAL, CONTENT_COBBLE); - specs[3] = ItemSpec(ITEM_MATERIAL, CONTENT_COBBLE); - specs[5] = ItemSpec(ITEM_MATERIAL, CONTENT_COBBLE); - specs[6] = ItemSpec(ITEM_MATERIAL, CONTENT_COBBLE); - specs[7] = ItemSpec(ITEM_MATERIAL, CONTENT_COBBLE); - specs[8] = ItemSpec(ITEM_MATERIAL, CONTENT_COBBLE); - if(checkItemCombination(items, specs)) - { - return new MaterialItem(CONTENT_FURNACE, 1); - } - } - - // Steel block - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - specs[1] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - specs[2] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - specs[3] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - specs[4] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - specs[5] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - specs[6] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - specs[7] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - specs[8] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - if(checkItemCombination(items, specs)) - { - return new MaterialItem(CONTENT_STEEL, 1); - } - } - - // Sandstone - { - ItemSpec specs[9]; - specs[3] = ItemSpec(ITEM_MATERIAL, CONTENT_SAND); - specs[4] = ItemSpec(ITEM_MATERIAL, CONTENT_SAND); - specs[6] = ItemSpec(ITEM_MATERIAL, CONTENT_SAND); - specs[7] = ItemSpec(ITEM_MATERIAL, CONTENT_SAND); - if(checkItemCombination(items, specs)) - { - return new MaterialItem(CONTENT_SANDSTONE, 1); - } - } - - // Clay - { - ItemSpec specs[9]; - specs[3] = ItemSpec(ITEM_CRAFT, "lump_of_clay"); - specs[4] = ItemSpec(ITEM_CRAFT, "lump_of_clay"); - specs[6] = ItemSpec(ITEM_CRAFT, "lump_of_clay"); - specs[7] = ItemSpec(ITEM_CRAFT, "lump_of_clay"); - if(checkItemCombination(items, specs)) - { - return new MaterialItem(CONTENT_CLAY, 1); - } - } - - // Brick - { - ItemSpec specs[9]; - specs[3] = ItemSpec(ITEM_CRAFT, "clay_brick"); - specs[4] = ItemSpec(ITEM_CRAFT, "clay_brick"); - specs[6] = ItemSpec(ITEM_CRAFT, "clay_brick"); - specs[7] = ItemSpec(ITEM_CRAFT, "clay_brick"); - if(checkItemCombination(items, specs)) - { - return new MaterialItem(CONTENT_BRICK, 1); - } - } - - // Paper - { - ItemSpec specs[9]; - specs[3] = ItemSpec(ITEM_MATERIAL, CONTENT_PAPYRUS); - specs[4] = ItemSpec(ITEM_MATERIAL, CONTENT_PAPYRUS); - specs[5] = ItemSpec(ITEM_MATERIAL, CONTENT_PAPYRUS); - if(checkItemCombination(items, specs)) - { - return new CraftItem("paper", 1); - } - } - - // Book - { - ItemSpec specs[9]; - specs[1] = ItemSpec(ITEM_CRAFT, "paper"); - specs[4] = ItemSpec(ITEM_CRAFT, "paper"); - specs[7] = ItemSpec(ITEM_CRAFT, "paper"); - if(checkItemCombination(items, specs)) - { - return new CraftItem("book", 1); - } - } - - // Book shelf - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - specs[1] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - specs[2] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - specs[3] = ItemSpec(ITEM_CRAFT, "book"); - specs[4] = ItemSpec(ITEM_CRAFT, "book"); - specs[5] = ItemSpec(ITEM_CRAFT, "book"); - specs[6] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - specs[7] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - specs[8] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOD); - if(checkItemCombination(items, specs)) - { - return new MaterialItem(CONTENT_BOOKSHELF, 1); - } - } - - // Ladder - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_CRAFT, "Stick"); - specs[2] = ItemSpec(ITEM_CRAFT, "Stick"); - specs[3] = ItemSpec(ITEM_CRAFT, "Stick"); - specs[4] = ItemSpec(ITEM_CRAFT, "Stick"); - specs[5] = ItemSpec(ITEM_CRAFT, "Stick"); - specs[6] = ItemSpec(ITEM_CRAFT, "Stick"); - specs[8] = ItemSpec(ITEM_CRAFT, "Stick"); - if(checkItemCombination(items, specs)) - { - return new MaterialItem(CONTENT_LADDER, 1); - } - } - - // Iron Apple - { - ItemSpec specs[9]; - specs[1] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - specs[3] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - specs[4] = ItemSpec(ITEM_CRAFT, "apple"); - specs[5] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - specs[7] = ItemSpec(ITEM_CRAFT, "steel_ingot"); - if(checkItemCombination(items, specs)) - { - return new CraftItem("apple_iron", 1); - } - } - //W - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_MATERIAL, CONTENT_SAND); - specs[1] = ItemSpec(ITEM_CRAFT, "lump_of_coal"); - if(checkItemCombination(items, specs)) - { - return new MaterialItem(CONTENT_WOOL, 4); - } - } - /// - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOL); - specs[1] = ItemSpec(ITEM_CRAFT, "lump_of_coal"); - if(checkItemCombination(items, specs)) - { - return new MaterialItem(CONTENT_WOOL_LIGHT_GREY, 4); - } - } - /// - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOL_LIGHT_GREY); - specs[1] = ItemSpec(ITEM_CRAFT, "lump_of_coal"); - if(checkItemCombination(items, specs)) - { - return new MaterialItem(CONTENT_WOOL_DARK_GREY, 4); - } - } - /// - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOL_DARK_GREY); - specs[1] = ItemSpec(ITEM_CRAFT, "lump_of_coal"); - if(checkItemCombination(items, specs)) - { - return new MaterialItem(CONTENT_WOOL_BLACK, 4); - } - } - /// - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOL); - specs[1] = ItemSpec(ITEM_CRAFT, "apple"); - if(checkItemCombination(items, specs)) - { - return new MaterialItem(CONTENT_WOOL_RED, 4); - } - } - /// - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOL); - specs[1] = ItemSpec(ITEM_MATERIAL, CONTENT_SAND); - if(checkItemCombination(items, specs)) - { - return new MaterialItem(CONTENT_WOOL_YELLOW, 4); - } - } - //// - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOL_RED); - specs[1] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOL_YELLOW); - if(checkItemCombination(items, specs)) - { - return new MaterialItem(CONTENT_WOOL_ORANGE, 4); - } - } - /// - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOL); - specs[1] = ItemSpec(ITEM_MATERIAL, CONTENT_MUD); - if(checkItemCombination(items, specs)) - { - return new MaterialItem(CONTENT_WOOL_BROWN, 4); - } - } - //// - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOL); - specs[1] = ItemSpec(ITEM_MATERIAL, CONTENT_LEAVES); - if(checkItemCombination(items, specs)) - { - return new MaterialItem(CONTENT_WOOL_GREEN, 4); - } - } - //// - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOL); - specs[1] = ItemSpec(ITEM_MATERIAL, CONTENT_JUNGLETREE); - if(checkItemCombination(items, specs)) - { - return new MaterialItem(CONTENT_WOOL_CYAN, 4); - } - } - //// - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOL_RED); - specs[1] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOL_CYAN); - if(checkItemCombination(items, specs)) - { - return new MaterialItem(CONTENT_WOOL_PURPLE, 4); - } - } - //// - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOL_CYAN); - specs[1] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOL_PURPLE); - if(checkItemCombination(items, specs)) - { - return new MaterialItem(CONTENT_WOOL_BLUE, 4); - } - } - //// - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOL); - specs[1] = ItemSpec(ITEM_MATERIAL, CONTENT_MESE); - if(checkItemCombination(items, specs)) - { - return new MaterialItem(CONTENT_WOOL_BLUE, 4); - } - } - //// - { - ItemSpec specs[9]; - specs[0] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOL_RED); - specs[1] = ItemSpec(ITEM_MATERIAL, CONTENT_WOOL); - if(checkItemCombination(items, specs)) - { - return new MaterialItem(CONTENT_WOOL_PINK, 4); - } - } - - return NULL; -} - -void craft_set_creative_inventory(Player *player) -{ - player->resetInventory(); - - // Give some good tools - { - InventoryItem *item = new ToolItem("MesePick", 0); - void* r = player->inventory.addItem("main", item); - assert(r == NULL); - } - { - InventoryItem *item = new ToolItem("SteelPick", 0); - void* r = player->inventory.addItem("main", item); - assert(r == NULL); - } - { - InventoryItem *item = new ToolItem("SteelAxe", 0); - void* r = player->inventory.addItem("main", item); - assert(r == NULL); - } - { - InventoryItem *item = new ToolItem("SteelShovel", 0); - void* r = player->inventory.addItem("main", item); - assert(r == NULL); - } - - /* - Give materials - */ - - // CONTENT_IGNORE-terminated list - content_t material_items[] = { - CONTENT_TORCH, - CONTENT_COBBLE, - CONTENT_MUD, - CONTENT_STONE, - CONTENT_SAND, - CONTENT_SANDSTONE, - CONTENT_CLAY, - CONTENT_BRICK, - CONTENT_TREE, - CONTENT_LEAVES, - CONTENT_CACTUS, - CONTENT_PAPYRUS, - CONTENT_BOOKSHELF, - CONTENT_GLASS, - CONTENT_FENCE, - CONTENT_RAIL, - CONTENT_MESE, - CONTENT_WATERSOURCE, - CONTENT_CLOUD, - CONTENT_CHEST, - CONTENT_FURNACE, - CONTENT_SIGN_WALL, - CONTENT_LAVASOURCE, - CONTENT_IGNORE - }; - - content_t *mip = material_items; - for(u16 i=0; iinventory.addItem("main", item); - - mip++; - } - -#if 0 - assert(USEFUL_CONTENT_COUNT <= PLAYER_INVENTORY_SIZE); - - // add torch first - InventoryItem *item = new MaterialItem(CONTENT_TORCH, 1); - player->inventory.addItem("main", item); - - // Then others - for(u16 i=0; iinventory.addItem("main", item); - } -#endif - - /*// Sign - { - InventoryItem *item = new MapBlockObjectItem("Sign Example text"); - void* r = player->inventory.addItem("main", item); - assert(r == NULL); - }*/ -} - -void craft_give_initial_stuff(Player *player) -{ - { - InventoryItem *item = new ToolItem("SteelPick", 0); - void* r = player->inventory.addItem("main", item); - assert(r == NULL); - } - { - InventoryItem *item = new MaterialItem(CONTENT_TORCH, 99); - void* r = player->inventory.addItem("main", item); - assert(r == NULL); - } - { - InventoryItem *item = new ToolItem("SteelAxe", 0); - void* r = player->inventory.addItem("main", item); - assert(r == NULL); - } - { - InventoryItem *item = new ToolItem("SteelShovel", 0); - void* r = player->inventory.addItem("main", item); - assert(r == NULL); - } - { - InventoryItem *item = new MaterialItem(CONTENT_COBBLE, 99); - void* r = player->inventory.addItem("main", item); - assert(r == NULL); - } - /*{ - InventoryItem *item = new MaterialItem(CONTENT_MESE, 6); - void* r = player->inventory.addItem("main", item); - assert(r == NULL); - } - { - InventoryItem *item = new MaterialItem(CONTENT_COALSTONE, 6); - void* r = player->inventory.addItem("main", item); - assert(r == NULL); - } - { - InventoryItem *item = new MaterialItem(CONTENT_WOOD, 6); - void* r = player->inventory.addItem("main", item); - assert(r == NULL); - } - { - InventoryItem *item = new CraftItem("Stick", 4); - void* r = player->inventory.addItem("main", item); - assert(r == NULL); - } - { - InventoryItem *item = new ToolItem("WPick", 32000); - void* r = player->inventory.addItem("main", item); - assert(r == NULL); - } - { - InventoryItem *item = new ToolItem("STPick", 32000); - void* r = player->inventory.addItem("main", item); - assert(r == NULL); - }*/ - /*// and some signs - for(u16 i=0; i<4; i++) - { - InventoryItem *item = new MapBlockObjectItem("Sign Example text"); - bool r = player->inventory.addItem("main", item); - assert(r == true); - }*/ - /*// Give some other stuff - { - InventoryItem *item = new MaterialItem(CONTENT_TREE, 999); - bool r = player->inventory.addItem("main", item); - assert(r == true); - }*/ -} - diff --git a/src/content_mapnode.cpp~ b/src/content_mapnode.cpp~ deleted file mode 100644 index a50a372..0000000 --- a/src/content_mapnode.cpp~ +++ /dev/null @@ -1,806 +0,0 @@ -/* -Minetest-c55 -Copyright (C) 2010-2011 celeron55, Perttu Ahola - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License along -with this program; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -// For g_settings -#include "main.h" - -#include "content_mapnode.h" -#include "mapnode.h" -#include "content_nodemeta.h" - -#define WATER_ALPHA 160 - -#define WATER_VISC 1 -#define LAVA_VISC 7 - -// TODO: Get rid of these and set up some attributes like toughness, -// fluffyness, and a funciton to calculate time and durability loss -// (and sound? and whatever else) from them -void setStoneLikeDiggingProperties(DiggingPropertiesList &list, float toughness); -void setDirtLikeDiggingProperties(DiggingPropertiesList &list, float toughness); -void setWoodLikeDiggingProperties(DiggingPropertiesList &list, float toughness); - -/* - A conversion table for backwards compatibility. - Maps <=v19 content types to current ones. - Should never be touched. -*/ -content_t trans_table_19[21][2] = { - {CONTENT_GRASS, 1}, - {CONTENT_TREE, 4}, - {CONTENT_LEAVES, 5}, - {CONTENT_GRASS_FOOTSTEPS, 6}, - {CONTENT_MESE, 7}, - {CONTENT_MUD, 8}, - {CONTENT_CLOUD, 10}, - {CONTENT_COALSTONE, 11}, - {CONTENT_WOOD, 12}, - {CONTENT_SAND, 13}, - {CONTENT_COBBLE, 18}, - {CONTENT_STEEL, 19}, - {CONTENT_GLASS, 20}, - {CONTENT_MOSSYCOBBLE, 22}, - {CONTENT_GRAVEL, 23}, - {CONTENT_SANDSTONE, 24}, - {CONTENT_CACTUS, 25}, - {CONTENT_BRICK, 26}, - {CONTENT_CLAY, 27}, - {CONTENT_PAPYRUS, 28}, - {CONTENT_BOOKSHELF, 29}, -}; - -MapNode mapnode_translate_from_internal(MapNode n_from, u8 version) -{ - MapNode result = n_from; - if(version <= 19) - { - content_t c_from = n_from.getContent(); - for(u32 i=0; isetAllTextures("stone.png"); - f->setInventoryTextureCube("stone.png", "stone.png", "stone.png"); - f->param_type = CPT_MINERAL; - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_COBBLE)+" 1"; - setStoneLikeDiggingProperties(f->digging_properties, 1.0); - if(invisible_stone) - f->solidness = 0; // For debugging, hides regular stone - - i = CONTENT_GRASS; - f = &content_features(i); - f->setAllTextures("mud.png^grass_side.png"); - f->setTexture(0, "grass.png"); - f->setTexture(1, "mud.png"); - f->param_type = CPT_MINERAL; - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_MUD)+" 1"; - setDirtLikeDiggingProperties(f->digging_properties, 1.0); - - i = CONTENT_GRASS_FOOTSTEPS; - f = &content_features(i); - f->setAllTextures("mud.png^grass_side.png"); - f->setTexture(0, "grass_footsteps.png"); - f->setTexture(1, "mud.png"); - f->param_type = CPT_MINERAL; - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_MUD)+" 1"; - setDirtLikeDiggingProperties(f->digging_properties, 1.0); - - i = CONTENT_MUD; - f = &content_features(i); - f->setAllTextures("mud.png"); - f->setInventoryTextureCube("mud.png", "mud.png", "mud.png"); - f->param_type = CPT_MINERAL; - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - setDirtLikeDiggingProperties(f->digging_properties, 1.0); - - i = CONTENT_SAND; - f = &content_features(i); - f->setAllTextures("sand.png"); - f->setInventoryTextureCube("sand.png", "sand.png", "sand.png"); - f->param_type = CPT_MINERAL; - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - setDirtLikeDiggingProperties(f->digging_properties, 1.0); - - i = CONTENT_GRAVEL; - f = &content_features(i); - f->setAllTextures("gravel.png"); - f->setInventoryTextureCube("gravel.png", "gravel.png", "gravel.png"); - f->param_type = CPT_MINERAL; - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - setDirtLikeDiggingProperties(f->digging_properties, 1.75); - - i = CONTENT_SANDSTONE; - f = &content_features(i); - f->setAllTextures("sandstone.png"); - f->setInventoryTextureCube("sandstone.png", "sandstone.png", "sandstone.png"); - f->param_type = CPT_MINERAL; - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_SAND)+" 1"; - setDirtLikeDiggingProperties(f->digging_properties, 1.0); - - i = CONTENT_CLAY; - f = &content_features(i); - f->setAllTextures("clay.png"); - f->setInventoryTextureCube("clay.png", "clay.png", "clay.png"); - f->param_type = CPT_MINERAL; - f->is_ground_content = true; - f->dug_item = std::string("CraftItem lump_of_clay 4"); - setDirtLikeDiggingProperties(f->digging_properties, 1.0); - - i = CONTENT_BRICK; - f = &content_features(i); - f->setAllTextures("brick.png"); - f->setInventoryTextureCube("brick.png", "brick.png", "brick.png"); - f->param_type = CPT_MINERAL; - f->is_ground_content = true; - f->dug_item = std::string("CraftItem clay_brick 4"); - setStoneLikeDiggingProperties(f->digging_properties, 1.0); - - i = CONTENT_TREE; - f = &content_features(i); - f->setAllTextures("tree.png"); - f->setTexture(0, "tree_top.png"); - f->setTexture(1, "tree_top.png"); - f->param_type = CPT_MINERAL; - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - setWoodLikeDiggingProperties(f->digging_properties, 1.0); - - i = CONTENT_JUNGLETREE; - f = &content_features(i); - f->setAllTextures("jungletree.png"); - f->setTexture(0, "jungletree_top.png"); - f->setTexture(1, "jungletree_top.png"); - f->param_type = CPT_MINERAL; - //f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - setWoodLikeDiggingProperties(f->digging_properties, 1.0); - - i = CONTENT_JUNGLEGRASS; - f = &content_features(i); - f->setInventoryTexture("junglegrass.png"); - f->light_propagates = true; - f->param_type = CPT_LIGHT; - //f->is_ground_content = true; - f->air_equivalent = false; // grass grows underneath - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - f->solidness = 0; // drawn separately, makes no faces - f->walkable = false; - setWoodLikeDiggingProperties(f->digging_properties, 0.10); - - i = CONTENT_LEAVES; - f = &content_features(i); - f->light_propagates = true; - //f->param_type = CPT_MINERAL; - f->param_type = CPT_LIGHT; - //f->is_ground_content = true; - if(new_style_leaves) - { - f->solidness = 0; // drawn separately, makes no faces - f->setInventoryTextureCube("leaves.png", "leaves.png", "leaves.png"); - } - else - { - f->setAllTextures("[noalpha:leaves.png"); - } - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - setWoodLikeDiggingProperties(f->digging_properties, 0.15); - - i = CONTENT_CACTUS; - f = &content_features(i); - f->setAllTextures("cactus_side.png"); - f->setTexture(0, "cactus_top.png"); - f->setTexture(1, "cactus_top.png"); - f->setInventoryTextureCube("cactus_top.png", "cactus_side.png", "cactus_side.png"); - f->param_type = CPT_MINERAL; - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - setWoodLikeDiggingProperties(f->digging_properties, 0.75); - - i = CONTENT_PAPYRUS; - f = &content_features(i); - f->setInventoryTexture("papyrus.png"); - f->light_propagates = true; - f->param_type = CPT_LIGHT; - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - f->solidness = 0; // drawn separately, makes no faces - f->walkable = false; - setWoodLikeDiggingProperties(f->digging_properties, 0.25); - - i = CONTENT_BOOKSHELF; - f = &content_features(i); - f->setAllTextures("bookshelf.png"); - f->setTexture(0, "wood.png"); - f->setTexture(1, "wood.png"); - // FIXME: setInventoryTextureCube() only cares for the first texture - f->setInventoryTextureCube("bookshelf.png", "bookshelf.png", "bookshelf.png"); - //f->setInventoryTextureCube("wood.png", "bookshelf.png", "bookshelf.png"); - f->param_type = CPT_MINERAL; - f->is_ground_content = true; - setWoodLikeDiggingProperties(f->digging_properties, 0.75); - - i = CONTENT_GLASS; - f = &content_features(i); - f->light_propagates = true; - f->sunlight_propagates = true; - f->param_type = CPT_LIGHT; - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - f->solidness = 0; // drawn separately, makes no faces - f->setInventoryTextureCube("glass.png", "glass.png", "glass.png"); - setWoodLikeDiggingProperties(f->digging_properties, 0.15); - - i = CONTENT_FENCE; - f = &content_features(i); - f->light_propagates = true; - f->param_type = CPT_LIGHT; - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - f->solidness = 0; // drawn separately, makes no faces - f->air_equivalent = true; // grass grows underneath - f->setInventoryTexture("fence.png"); - setWoodLikeDiggingProperties(f->digging_properties, 0.75); - - i = CONTENT_RAIL; - f = &content_features(i); - f->setInventoryTexture("rail.png"); - f->light_propagates = true; - f->param_type = CPT_LIGHT; - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - f->solidness = 0; // drawn separately, makes no faces - f->air_equivalent = true; // grass grows underneath - f->walkable = false; - setDirtLikeDiggingProperties(f->digging_properties, 0.75); - - i = CONTENT_LADDER; - f = &content_features(i); - f->setInventoryTexture("ladder.png"); - f->light_propagates = true; - f->param_type = CPT_LIGHT; - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem ")+itos(i)+" 1"; - f->wall_mounted = true; - f->solidness = 0; - f->air_equivalent = true; - f->walkable = false; - f->climbable = true; - setWoodLikeDiggingProperties(f->digging_properties, 0.5); - - // Deprecated - i = CONTENT_COALSTONE; - f = &content_features(i); - f->setAllTextures("stone.png^mineral_coal.png"); - f->is_ground_content = true; - setStoneLikeDiggingProperties(f->digging_properties, 1.5); - - i = CONTENT_WOOD; - f = &content_features(i); - f->setAllTextures("wood.png"); - f->setInventoryTextureCube("wood.png", "wood.png", "wood.png"); - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - setWoodLikeDiggingProperties(f->digging_properties, 0.75); - - i = CONTENT_MESE; - f = &content_features(i); - f->setAllTextures("mese.png"); - f->setInventoryTextureCube("mese.png", "mese.png", "mese.png"); - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - setStoneLikeDiggingProperties(f->digging_properties, 0.5); - - i = CONTENT_CLOUD; - f = &content_features(i); - f->setAllTextures("cloud.png"); - f->setInventoryTextureCube("cloud.png", "cloud.png", "cloud.png"); - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - - i = CONTENT_AIR; - f = &content_features(i); - f->param_type = CPT_LIGHT; - f->light_propagates = true; - f->sunlight_propagates = true; - f->solidness = 0; - f->walkable = false; - f->pointable = false; - f->diggable = false; - f->buildable_to = true; - f->air_equivalent = true; - - i = CONTENT_WATER; - f = &content_features(i); - f->setInventoryTextureCube("water.png", "water.png", "water.png"); - f->param_type = CPT_LIGHT; - f->light_propagates = true; - f->solidness = 0; // Drawn separately, makes no faces - f->visual_solidness = 1; - f->walkable = false; - f->pointable = false; - f->diggable = false; - f->buildable_to = true; - f->liquid_type = LIQUID_FLOWING; - f->liquid_alternative_flowing = CONTENT_WATER; - f->liquid_alternative_source = CONTENT_WATERSOURCE; - f->liquid_viscosity = WATER_VISC; - f->vertex_alpha = WATER_ALPHA; - if(f->special_material == NULL && g_texturesource) - { - // Flowing water material - f->special_material = new video::SMaterial; - f->special_material->setFlag(video::EMF_LIGHTING, false); - f->special_material->setFlag(video::EMF_BACK_FACE_CULLING, false); - f->special_material->setFlag(video::EMF_BILINEAR_FILTER, false); - f->special_material->setFlag(video::EMF_FOG_ENABLE, true); - f->special_material->MaterialType = video::EMT_TRANSPARENT_VERTEX_ALPHA; - AtlasPointer *pa_water1 = new AtlasPointer(g_texturesource->getTexture( - g_texturesource->getTextureId("water.png"))); - f->special_material->setTexture(0, pa_water1->atlas); - f->special_atlas = pa_water1; - } - - i = CONTENT_WATERSOURCE; - f = &content_features(i); - //f->setInventoryTexture("water.png"); - f->setInventoryTextureCube("water.png", "water.png", "water.png"); - if(new_style_water) - { - f->solidness = 0; // drawn separately, makes no faces - } - else // old style - { - f->solidness = 1; - - TileSpec t; - if(g_texturesource) - t.texture = g_texturesource->getTexture("water.png"); - - t.alpha = WATER_ALPHA; - t.material_type = MATERIAL_ALPHA_VERTEX; - t.material_flags &= ~MATERIAL_FLAG_BACKFACE_CULLING; - f->setAllTiles(t); - } - f->param_type = CPT_LIGHT; - f->light_propagates = true; - f->walkable = false; - f->pointable = false; - f->diggable = false; - f->buildable_to = true; - f->liquid_type = LIQUID_SOURCE; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - f->liquid_alternative_flowing = CONTENT_WATER; - f->liquid_alternative_source = CONTENT_WATERSOURCE; - f->liquid_viscosity = WATER_VISC; - f->vertex_alpha = WATER_ALPHA; - if(f->special_material == NULL && g_texturesource) - { - // Flowing water material - f->special_material = new video::SMaterial; - f->special_material->setFlag(video::EMF_LIGHTING, false); - f->special_material->setFlag(video::EMF_BACK_FACE_CULLING, false); - f->special_material->setFlag(video::EMF_BILINEAR_FILTER, false); - f->special_material->setFlag(video::EMF_FOG_ENABLE, true); - f->special_material->MaterialType = video::EMT_TRANSPARENT_VERTEX_ALPHA; - AtlasPointer *pa_water1 = new AtlasPointer(g_texturesource->getTexture( - g_texturesource->getTextureId("water.png"))); - f->special_material->setTexture(0, pa_water1->atlas); - f->special_atlas = pa_water1; - } - - i = CONTENT_LAVA; - f = &content_features(i); - f->setInventoryTextureCube("lava.png", "lava.png", "lava.png"); - f->param_type = CPT_LIGHT; - f->light_propagates = false; - f->light_source = LIGHT_MAX-1; - f->solidness = 0; // Drawn separately, makes no faces - f->visual_solidness = 2; - f->walkable = false; - f->pointable = false; - f->diggable = false; - f->buildable_to = true; - f->liquid_type = LIQUID_FLOWING; - f->liquid_alternative_flowing = CONTENT_LAVA; - f->liquid_alternative_source = CONTENT_LAVASOURCE; - f->liquid_viscosity = LAVA_VISC; - f->damage_per_second = 4*2; - if(f->special_material == NULL && g_texturesource) - { - // Flowing lava material - f->special_material = new video::SMaterial; - f->special_material->setFlag(video::EMF_LIGHTING, false); - f->special_material->setFlag(video::EMF_BACK_FACE_CULLING, false); - f->special_material->setFlag(video::EMF_BILINEAR_FILTER, false); - f->special_material->setFlag(video::EMF_FOG_ENABLE, true); - f->special_material->MaterialType = video::EMT_TRANSPARENT_ALPHA_CHANNEL_REF; - AtlasPointer *pa_lava1 = new AtlasPointer( - g_texturesource->getTexture( - g_texturesource->getTextureId("lava.png"))); - f->special_material->setTexture(0, pa_lava1->atlas); - f->special_atlas = pa_lava1; - } - - i = CONTENT_LAVASOURCE; - f = &content_features(i); - f->setInventoryTextureCube("lava.png", "lava.png", "lava.png"); - if(new_style_water) - { - f->solidness = 0; // drawn separately, makes no faces - } - else // old style - { - f->solidness = 2; - - TileSpec t; - if(g_texturesource) - t.texture = g_texturesource->getTexture("lava.png"); - - //t.alpha = 255; - //t.material_type = MATERIAL_ALPHA_VERTEX; - //t.material_flags &= ~MATERIAL_FLAG_BACKFACE_CULLING; - f->setAllTiles(t); - } - f->param_type = CPT_LIGHT; - f->light_propagates = false; - f->light_source = LIGHT_MAX-1; - f->walkable = false; - f->pointable = false; - f->diggable = false; - f->buildable_to = true; - f->liquid_type = LIQUID_SOURCE; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - f->liquid_alternative_flowing = CONTENT_LAVA; - f->liquid_alternative_source = CONTENT_LAVASOURCE; - f->liquid_viscosity = LAVA_VISC; - f->damage_per_second = 4*2; - if(f->special_material == NULL && g_texturesource) - { - // Flowing lava material - f->special_material = new video::SMaterial; - f->special_material->setFlag(video::EMF_LIGHTING, false); - f->special_material->setFlag(video::EMF_BACK_FACE_CULLING, false); - f->special_material->setFlag(video::EMF_BILINEAR_FILTER, false); - f->special_material->setFlag(video::EMF_FOG_ENABLE, true); - f->special_material->MaterialType = video::EMT_TRANSPARENT_ALPHA_CHANNEL_REF; - AtlasPointer *pa_lava1 = new AtlasPointer( - g_texturesource->getTexture( - g_texturesource->getTextureId("lava.png"))); - f->special_material->setTexture(0, pa_lava1->atlas); - f->special_atlas = pa_lava1; - } - - i = CONTENT_TORCH; - f = &content_features(i); - f->setInventoryTexture("torch_on_floor.png"); - f->param_type = CPT_LIGHT; - f->light_propagates = true; - f->sunlight_propagates = true; - f->solidness = 0; // drawn separately, makes no faces - f->walkable = false; - f->wall_mounted = true; - f->air_equivalent = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - f->light_source = LIGHT_MAX-1; - f->digging_properties.set("", DiggingProperties(true, 0.0, 0)); - - i = CONTENT_SIGN_WALL; - f = &content_features(i); - f->setInventoryTexture("sign_wall.png"); - f->param_type = CPT_LIGHT; - f->light_propagates = true; - f->sunlight_propagates = true; - f->solidness = 0; // drawn separately, makes no faces - f->walkable = false; - f->wall_mounted = true; - f->air_equivalent = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - if(f->initial_metadata == NULL) - f->initial_metadata = new SignNodeMetadata("Some sign"); - f->digging_properties.set("", DiggingProperties(true, 0.5, 0)); - - i = CONTENT_CHEST; - f = &content_features(i); - f->param_type = CPT_FACEDIR_SIMPLE; - f->setAllTextures("chest_side.png"); - f->setTexture(0, "chest_top.png"); - f->setTexture(1, "chest_top.png"); - f->setTexture(5, "chest_front.png"); // Z- - f->setInventoryTexture("chest_top.png"); - //f->setInventoryTextureCube("chest_top.png", "chest_side.png", "chest_side.png"); - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - if(f->initial_metadata == NULL) - f->initial_metadata = new ChestNodeMetadata(); - setWoodLikeDiggingProperties(f->digging_properties, 1.0); - - i = CONTENT_FURNACE; - f = &content_features(i); - f->param_type = CPT_FACEDIR_SIMPLE; - f->setAllTextures("furnace_side.png"); - f->setTexture(5, "furnace_front.png"); // Z- - f->setInventoryTexture("furnace_front.png"); - //f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - f->dug_item = std::string("MaterialItem2 ")+itos(CONTENT_COBBLE)+" 6"; - if(f->initial_metadata == NULL) - f->initial_metadata = new FurnaceNodeMetadata(); - setStoneLikeDiggingProperties(f->digging_properties, 3.0); - - i = CONTENT_COBBLE; - f = &content_features(i); - f->setAllTextures("cobble.png"); - f->setInventoryTextureCube("cobble.png", "cobble.png", "cobble.png"); - f->param_type = CPT_NONE; - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - setStoneLikeDiggingProperties(f->digging_properties, 0.9); - - i = CONTENT_MOSSYCOBBLE; - f = &content_features(i); - f->setAllTextures("mossycobble.png"); - f->setInventoryTextureCube("mossycobble.png", "mossycobble.png", "mossycobble.png"); - f->param_type = CPT_NONE; - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - setStoneLikeDiggingProperties(f->digging_properties, 0.8); - - i = CONTENT_STEEL; - f = &content_features(i); - f->setAllTextures("steel_block.png"); - f->setInventoryTextureCube("steel_block.png", "steel_block.png", - "steel_block.png"); - f->param_type = CPT_NONE; - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - setStoneLikeDiggingProperties(f->digging_properties, 5.0); - - i = CONTENT_NC; - f = &content_features(i); - f->param_type = CPT_FACEDIR_SIMPLE; - f->setAllTextures("nc_side.png"); - f->setTexture(5, "nc_front.png"); // Z- - f->setTexture(4, "nc_back.png"); // Z+ - f->setInventoryTexture("nc_front.png"); - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - setStoneLikeDiggingProperties(f->digging_properties, 3.0); - - i = CONTENT_NC_RB; - f = &content_features(i); - f->setAllTextures("nc_rb.png"); - f->setInventoryTexture("nc_rb.png"); - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - setStoneLikeDiggingProperties(f->digging_properties, 3.0); - - i = CONTENT_APPLE; - f = &content_features(i); - f->setInventoryTexture("apple.png"); - f->param_type = CPT_LIGHT; - f->light_propagates = true; - f->sunlight_propagates = true; - f->solidness = 0; // drawn separately, makes no faces - f->walkable = false; - f->air_equivalent = true; - f->dug_item = std::string("CraftItem apple 1"); - f->digging_properties.set("", DiggingProperties(true, 0.0, 0)); - - i = CONTENT_WOOL; - f = &content_features(i); - f->setAllTextures("wool_white.png"); - f->setInventoryTextureCube("wool_white.png", "wool_white.png", "wool_white.png"); - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - setWoodLikeDiggingProperties(f->digging_properties, 0.75); - - i = CONTENT_WOOL_LIGHT_GREY; - f = &content_features(i); - f->setAllTextures("wool_grey.png"); - f->setInventoryTextureCube("wool_grey.png", "wool_grey.png", "wool_grey.png"); - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - setWoodLikeDiggingProperties(f->digging_properties, 0.75); - - i = CONTENT_WOOL_DARK_GREY; - f = &content_features(i); - f->setAllTextures("wool_dark_grey.png"); - f->setInventoryTextureCube("wool_dark_grey.png", "wool_dark_grey.png", "wool_dark_grey.png"); - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - setWoodLikeDiggingProperties(f->digging_properties, 0.75); - - i = CONTENT_WOOL_BLACK; - f = &content_features(i); - f->setAllTextures("wool_black.png"); - f->setInventoryTextureCube("wool_black.png", "wool_black.png", "wool_black.png"); - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - setWoodLikeDiggingProperties(f->digging_properties, 0.75); - - i = CONTENT_WOOL_RED; - f = &content_features(i); - f->setAllTextures("wool_red.png"); - f->setInventoryTextureCube("wool_red.png", "wool_red.png", "wool_red.png"); - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - setWoodLikeDiggingProperties(f->digging_properties, 0.75); - - i = CONTENT_WOOL_ORANGE; - f = &content_features(i); - f->setAllTextures("wool_orange.png"); - f->setInventoryTextureCube("wool_orange.png", "wool_orange.png", "wool_orange.png"); - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - setWoodLikeDiggingProperties(f->digging_properties, 0.75); - - i = CONTENT_WOOL_YELLOW; - f = &content_features(i); - f->setAllTextures("wool_yellow.png"); - f->setInventoryTextureCube("wool_yellow.png", "wool_yellow.png", "wool_yellow.png"); - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - setWoodLikeDiggingProperties(f->digging_properties, 0.75); - - i = CONTENT_WOOL_GREEN; - f = &content_features(i); - f->setAllTextures("wool_green.png"); - f->setInventoryTextureCube("wool_green.png", "wool_green.png", "wool_green.png"); - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - setWoodLikeDiggingProperties(f->digging_properties, 0.75); - - i = CONTENT_WOOL_BROWN; - f = &content_features(i); - f->setAllTextures("wool_brown.png"); - f->setInventoryTextureCube("wool_brown.png", "wool_brown.png", "wool_brown.png"); - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - setWoodLikeDiggingProperties(f->digging_properties, 0.75); - - i = CONTENT_WOOL_CYAN; - f = &content_features(i); - f->setAllTextures("wool_cyan.png"); - f->setInventoryTextureCube("wool_cyan.png", "wool_cyan.png", "wool_cyan.png"); - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - setWoodLikeDiggingProperties(f->digging_properties, 0.75); - - i = CONTENT_WOOL_BLUE; - f = &content_features(i); - f->setAllTextures("wool_blue.png"); - f->setInventoryTextureCube("wool_blue.png", "wool_blue.png", "wool_blue.png"); - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - setWoodLikeDiggingProperties(f->digging_properties, 0.75); - - i = CONTENT_WOOL_PURPLE; - f = &content_features(i); - f->setAllTextures("wool_purple.png"); - f->setInventoryTextureCube("wool_purple.png", "wool_purple.png", "wool_purple.png"); - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - setWoodLikeDiggingProperties(f->digging_properties, 0.75); - - i = CONTENT_WOOL_PINK; - f = &content_features(i); - f->setAllTextures("wool_pink.png"); - f->setInventoryTextureCube("wool_pink.png", "wool_pink.png", "wool_pink.png"); - f->is_ground_content = true; - f->dug_item = std::string("MaterialItem2 ")+itos(i)+" 1"; - setWoodLikeDiggingProperties(f->digging_properties, 0.75); - - - // NOTE: Remember to add frequently used stuff to the texture atlas in tile.cpp - - - /* - Add MesePick to everything - */ - for(u16 i=0; i<=MAX_CONTENT; i++) - { - content_features(i).digging_properties.set("MesePick", - DiggingProperties(true, 0.0, 65535./1337)); - } - -} - -void setStoneLikeDiggingProperties(DiggingPropertiesList &list, float toughness) -{ - list.set("", - DiggingProperties(true, 15.0*toughness, 0)); - - list.set("WPick", - DiggingProperties(true, 1.3*toughness, 65535./30.*toughness)); - list.set("STPick", - DiggingProperties(true, 0.75*toughness, 65535./100.*toughness)); - list.set("SteelPick", - DiggingProperties(true, 0.50*toughness, 65535./333.*toughness)); - - /*list.set("MesePick", - DiggingProperties(true, 0.0*toughness, 65535./20.*toughness));*/ -} - -void setDirtLikeDiggingProperties(DiggingPropertiesList &list, float toughness) -{ - list.set("", - DiggingProperties(true, 0.75*toughness, 0)); - - list.set("WShovel", - DiggingProperties(true, 0.4*toughness, 65535./50.*toughness)); - list.set("STShovel", - DiggingProperties(true, 0.2*toughness, 65535./150.*toughness)); - list.set("SteelShovel", - DiggingProperties(true, 0.15*toughness, 65535./400.*toughness)); -} - -void setWoodLikeDiggingProperties(DiggingPropertiesList &list, float toughness) -{ - list.set("", - DiggingProperties(true, 3.0*toughness, 0)); - - list.set("WAxe", - DiggingProperties(true, 1.5*toughness, 65535./30.*toughness)); - list.set("STAxe", - DiggingProperties(true, 0.75*toughness, 65535./100.*toughness)); - list.set("SteelAxe", - DiggingProperties(true, 0.5*toughness, 65535./333.*toughness)); -} - - diff --git a/src/content_mapnode.h~ b/src/content_mapnode.h~ deleted file mode 100644 index 39ac7bd..0000000 --- a/src/content_mapnode.h~ +++ /dev/null @@ -1,107 +0,0 @@ -/* -Minetest-c55 -Copyright (C) 2010-2011 celeron55, Perttu Ahola - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License along -with this program; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -#ifndef CONTENT_MAPNODE_HEADER -#define CONTENT_MAPNODE_HEADER - -#include "mapnode.h" - -void content_mapnode_init(); - -extern content_t trans_table_19[21][2]; - -MapNode mapnode_translate_from_internal(MapNode n_from, u8 version); -MapNode mapnode_translate_to_internal(MapNode n_from, u8 version); - -/* - Node content type IDs - Ranges: -*/ - -// 0x000...0x07f (0...127): param2 is fully usable -// 126 and 127 are reserved. -// Use these sparingly, only when the extra space in param2 might be needed. -// Add a space when there is unused space between numbers. -#define CONTENT_STONE 0 - -#define CONTENT_WATER 2 -#define CONTENT_TORCH 3 - -#define CONTENT_WATERSOURCE 9 - -#define CONTENT_SIGN_WALL 14 -#define CONTENT_CHEST 15 -#define CONTENT_FURNACE 16 - -#define CONTENT_FENCE 21 - -#define CONTENT_RAIL 30 -#define CONTENT_LADDER 31 -#define CONTENT_LAVA 32 -#define CONTENT_LAVASOURCE 33 - -//Wool Defs. - -#define CONTENT_WOOL 70 -#define CONTENT_WOOL_LIGHT_GREY 71 -#define CONTENT_WOOL_DARK_GREY 72 -#define CONTENT_WOOL_BLACK 73 -#define CONTENT_WOOL_RED 74 -#define CONTENT_WOOL_ORANGE 75 -#define CONTENT_WOOL_YELLOW 76 -#define CONTENT_WOOL_GREEN82 -#define CONTENT_WOOL_CYAN 77 -#define CONTENT_WOOL_BLUE 78 -#define CONTENT_WOOL_PURPLE 79 -#define CONTENT_WOOL_PINK 80 -#define CONTENT_WOOL_BROWN 81 - - -// 0x800...0xfff (2048...4095): higher 4 bytes of param2 are not usable -#define CONTENT_GRASS 0x800 //1 -#define CONTENT_TREE 0x801 //4 -#define CONTENT_LEAVES 0x802 //5 -#define CONTENT_GRASS_FOOTSTEPS 0x803 //6 -#define CONTENT_MESE 0x804 //7 -#define CONTENT_MUD 0x805 //8 -// Pretty much useless, clouds won't be drawn this way -#define CONTENT_CLOUD 0x806 //10 -#define CONTENT_COALSTONE 0x807 //11 -#define CONTENT_WOOD 0x808 //12 -#define CONTENT_SAND 0x809 //13 -#define CONTENT_COBBLE 0x80a //18 -#define CONTENT_STEEL 0x80b //19 -#define CONTENT_GLASS 0x80c //20 -#define CONTENT_MOSSYCOBBLE 0x80d //22 -#define CONTENT_GRAVEL 0x80e //23 -#define CONTENT_SANDSTONE 0x80f //24 -#define CONTENT_CACTUS 0x810 //25 -#define CONTENT_BRICK 0x811 //26 -#define CONTENT_CLAY 0x812 //27 -#define CONTENT_PAPYRUS 0x813 //28 -#define CONTENT_BOOKSHELF 0x814 //29 -#define CONTENT_JUNGLETREE 0x815 -#define CONTENT_JUNGLEGRASS 0x816 -#define CONTENT_NC 0x817 -#define CONTENT_NC_RB 0x818 -#define CONTENT_APPLE 0x819 - - -#endif - diff --git a/src/guiPauseMenu.cpp~ b/src/guiPauseMenu.cpp~ deleted file mode 100644 index eae887a..0000000 --- a/src/guiPauseMenu.cpp~ +++ /dev/null @@ -1,258 +0,0 @@ -/* -Minetest-c55 -Copyright (C) 2010 celeron55, Perttu Ahola - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License along -with this program; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -#include "guiPauseMenu.h" -#include "debug.h" -#include "serialization.h" -#include "porting.h" -#include "config.h" -#include "main.h" - -#include "gettext.h" - -GUIPauseMenu::GUIPauseMenu(gui::IGUIEnvironment* env, - gui::IGUIElement* parent, s32 id, - IGameCallback *gamecallback, - IMenuManager *menumgr): - GUIModalMenu(env, parent, id, menumgr) -{ - m_gamecallback = gamecallback; -} - -GUIPauseMenu::~GUIPauseMenu() -{ - removeChildren(); -} - -void GUIPauseMenu::removeChildren() -{ - { - gui::IGUIElement *e = getElementFromId(256); - if(e != NULL) - e->remove(); - } - { - gui::IGUIElement *e = getElementFromId(257); - if(e != NULL) - e->remove(); - } - { - gui::IGUIElement *e = getElementFromId(258); - if(e != NULL) - e->remove(); - } - { - gui::IGUIElement *e = getElementFromId(259); - if(e != NULL) - e->remove(); - } - { - gui::IGUIElement *e = getElementFromId(260); - if(e != NULL) - e->remove(); - } - { - gui::IGUIElement *e = getElementFromId(261); - if(e != NULL) - e->remove(); - } -} - -void GUIPauseMenu::regenerateGui(v2u32 screensize) -{ - /* - Remove stuff - */ - removeChildren(); - - /* - Calculate new sizes and positions - */ - core::rect rect( - screensize.X/2 - 580/2, - screensize.Y/2 - 300/2, - screensize.X/2 + 580/2, - screensize.Y/2 + 300/2 - ); - - DesiredRect = rect; - recalculateAbsolutePosition(false); - - v2s32 size = rect.getSize(); - - /* - Add stuff - */ - const s32 btn_height = 30; - const s32 btn_gap = 20; - const s32 btn_num = 4; - s32 btn_y = size.Y/2-((btn_num*btn_height+(btn_num-1)*btn_gap))/2; - changeCtype(""); - { - core::rect rect(0, 0, 140, btn_height); - rect = rect + v2s32(size.X/2-140/2, btn_y); - Environment->addButton(rect, this, 256, - wgettext("Continue")); - } - btn_y += btn_height + btn_gap; - { - core::rect rect(0, 0, 140, btn_height); - rect = rect + v2s32(size.X/2-140/2, btn_y); - Environment->addButton(rect, this, 261, - wgettext("Change Password")); - } - btn_y += btn_height + btn_gap; - { - core::rect rect(0, 0, 140, btn_height); - rect = rect + v2s32(size.X/2-140/2, btn_y); - Environment->addButton(rect, this, 260, - wgettext("Disconnect")); - } - btn_y += btn_height + btn_gap; - { - core::rect rect(0, 0, 140, btn_height); - rect = rect + v2s32(size.X/2-140/2, btn_y); - Environment->addButton(rect, this, 257, - wgettext("Exit to OS")); - } - - { - core::rect rect(0, 0, 180, 240); - rect = rect + v2s32(size.X/2 + 90, size.Y/2-rect.getHeight()/2); - Environment->addStaticText(chartowchar_t(gettext( - "Default Controls:\n" - "- WASD: Walk\n" - "- Mouse left: dig/hit\n" - "- Mouse right: place/use\n" - "- Mouse wheel: select item\n" - "- 0...9: select item\n" - "- Shift: sneak\n" - "- R: Toggle viewing all loaded chunks\n" - "- I: Inventory menu\n" - "- ESC: This menu\n" - "- T: Chat\n" - )), rect, false, true, this, 258); - } - { - core::rect rect(0, 0, 180, 220); - rect = rect + v2s32(size.X/2 - 90 - rect.getWidth(), size.Y/2-rect.getHeight()/2); - - v2u32 max_texture_size; - { - video::IVideoDriver* driver = Environment->getVideoDriver(); - max_texture_size = driver->getMaxTextureSize(); - } - - /*wchar_t text[200]; - swprintf(text, 200, - L"Minetest-c55\n" - L"by Perttu Ahola\n" - L"celeron55@gmail.com\n\n" - SWPRINTF_CHARSTRING L"\n" - L"userdata path = " - SWPRINTF_CHARSTRING - , - BUILD_INFO, - porting::path_userdata.c_str() - );*/ - - std::ostringstream os; - os<<"Minetest\n"; - os<<"by Perttu Ahola and contributors\n"; - os<<"celeron55@gmail.com\n"; - os<addStaticText(narrow_to_wide(os.str()).c_str(), rect, false, true, this, 259); - } - changeCtype("C"); -} - -void GUIPauseMenu::drawMenu() -{ - gui::IGUISkin* skin = Environment->getSkin(); - if (!skin) - return; - video::IVideoDriver* driver = Environment->getVideoDriver(); - - video::SColor bgcolor(140,0,0,0); - driver->draw2DRectangle(bgcolor, AbsoluteRect, &AbsoluteClippingRect); - - gui::IGUIElement::draw(); -} - -bool GUIPauseMenu::OnEvent(const SEvent& event) -{ - - if(event.EventType==EET_KEY_INPUT_EVENT) - { - if(event.KeyInput.PressedDown) - { - if(event.KeyInput.Key==KEY_ESCAPE) - { - quitMenu(); - return true; - } - else if(event.KeyInput.Key==KEY_RETURN) - { - quitMenu(); - return true; - } - } - } - if(event.EventType==EET_GUI_EVENT) - { - if(event.GUIEvent.EventType==gui::EGET_ELEMENT_FOCUS_LOST - && isVisible()) - { - if(!canTakeFocus(event.GUIEvent.Element)) - { - dstream<<"GUIPauseMenu: Not allowing focus change." - <getID()) - { - case 256: // continue - quitMenu(); - // ALWAYS return immediately after quitMenu() - return true; - case 261: - quitMenu(); - m_gamecallback->changePassword(); - return true; - case 260: // disconnect - m_gamecallback->disconnect(); - quitMenu(); - return true; - case 257: // exit - m_gamecallback->exitToOS(); - quitMenu(); - return true; - } - } - } - - return Parent ? Parent->OnEvent(event) : false; -} -