AnvilStats: moved into the Tools folder
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1658 0a769ca7-a7f5-676a-18bf-c427514a06d6
This commit is contained in:
291
Tools/AnvilStats/Utils.cpp
Normal file
291
Tools/AnvilStats/Utils.cpp
Normal file
@@ -0,0 +1,291 @@
|
||||
|
||||
// Utils.cpp
|
||||
|
||||
// Implements utility functions
|
||||
|
||||
#include "Globals.h"
|
||||
#include "Utils.h"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
struct
|
||||
{
|
||||
eEntityType Type;
|
||||
const char * String;
|
||||
} g_EntityTypes[] =
|
||||
{
|
||||
{entBat, "Bat"},
|
||||
{entBlaze, "Blaze"},
|
||||
{entCaveSpider, "CaveSpider"},
|
||||
{entChicken, "Chicken"},
|
||||
{entCow, "Cow"},
|
||||
{entCreeper, "Creeper"},
|
||||
{entEnderDragon, "EnderDragon"},
|
||||
{entEnderman, "Enderman"},
|
||||
{entGhast, "Ghast"},
|
||||
{entGiant, "Giant"},
|
||||
{entLavaSlime, "LavaSlime"},
|
||||
{entMushroomCow, "MushroomCow"},
|
||||
{entOzelot, "Ozelot"},
|
||||
{entPig, "Pig"},
|
||||
{entPigZombie, "PigZombie"},
|
||||
{entSheep, "Sheep"},
|
||||
{entSilverfish, "Slverfish"},
|
||||
{entSkeleton, "Skeleton"},
|
||||
{entSlime, "Slime"},
|
||||
{entSnowMan, "SnowMan"},
|
||||
{entSpider, "Spider"},
|
||||
{entSquid, "Squid"},
|
||||
{entVillager, "Villager"},
|
||||
{entVillagerGolem, "VillagerGolem"},
|
||||
{entWitch, "Witch"},
|
||||
{entWitherBoss, "WitherBoss"},
|
||||
{entWolf, "Wolf"},
|
||||
{entZombie, "Zombie"},
|
||||
{entUnknown, "Unknown"},
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
const char * GetBiomeString(unsigned char a_Biome)
|
||||
{
|
||||
static const char * BiomeNames[] = // Biome names, as equivalent to their index
|
||||
{
|
||||
"Ocean",
|
||||
"Plains",
|
||||
"Desert",
|
||||
"Extreme Hills",
|
||||
"Forest",
|
||||
"Taiga",
|
||||
"Swampland",
|
||||
"River",
|
||||
"Hell",
|
||||
"Sky",
|
||||
"Frozen Ocean",
|
||||
"Frozen River",
|
||||
"Ice Plains",
|
||||
"Ice Mountains",
|
||||
"Mushroom Island",
|
||||
"Mushroom Island Shore",
|
||||
"Beach",
|
||||
"Desert Hills",
|
||||
"Forest Hills",
|
||||
"Taiga Hills",
|
||||
"Extreme Hills Edge",
|
||||
"Jungle",
|
||||
"Jungle Hills",
|
||||
} ;
|
||||
return (a_Biome < ARRAYCOUNT(BiomeNames)) ? BiomeNames[a_Biome] : "";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
const char * GetBlockTypeString(unsigned char a_BlockType)
|
||||
{
|
||||
static const char * BlockTypeNames[] = // Block type names, as equivalent to their index
|
||||
{
|
||||
"air",
|
||||
"stone",
|
||||
"grass",
|
||||
"dirt",
|
||||
"cobblestone",
|
||||
"planks",
|
||||
"sapling",
|
||||
"bedrock",
|
||||
"water",
|
||||
"stillwater",
|
||||
"lava",
|
||||
"stilllava",
|
||||
"sand",
|
||||
"gravel",
|
||||
"goldore",
|
||||
"ironore",
|
||||
"coalore",
|
||||
"log",
|
||||
"leaves",
|
||||
"sponge",
|
||||
"glass",
|
||||
"lapisore",
|
||||
"lapisblock",
|
||||
"dispenser",
|
||||
"sandstone",
|
||||
"noteblock",
|
||||
"bedblock",
|
||||
"poweredrail",
|
||||
"detectorrail",
|
||||
"stickypiston",
|
||||
"cobweb",
|
||||
"tallgrass",
|
||||
"deadbush",
|
||||
"piston",
|
||||
"pistonhead",
|
||||
"wool",
|
||||
"pistonmovedblock",
|
||||
"flower",
|
||||
"rose",
|
||||
"brownmushroom",
|
||||
"redmushroom",
|
||||
"goldblock",
|
||||
"ironblock",
|
||||
"doubleslab",
|
||||
"slab",
|
||||
"brickblock",
|
||||
"tnt",
|
||||
"bookcase",
|
||||
"mossycobblestone",
|
||||
"obsidian",
|
||||
"torch",
|
||||
"fire",
|
||||
"mobspawner",
|
||||
"woodstairs",
|
||||
"chest",
|
||||
"redstonedust",
|
||||
"diamondore",
|
||||
"diamondblock",
|
||||
"workbench",
|
||||
"crops",
|
||||
"soil",
|
||||
"furnace",
|
||||
"litfurnace",
|
||||
"signblock",
|
||||
"wooddoorblock",
|
||||
"ladder",
|
||||
"tracks",
|
||||
"cobblestonestairs",
|
||||
"wallsign",
|
||||
"lever",
|
||||
"stoneplate",
|
||||
"irondoorblock",
|
||||
"woodplate",
|
||||
"redstoneore",
|
||||
"redstoneorealt",
|
||||
"redstonetorchoff",
|
||||
"redstonetorchon",
|
||||
"button",
|
||||
"snow",
|
||||
"ice",
|
||||
"snowblock",
|
||||
"cactus",
|
||||
"clayblock",
|
||||
"reedblock",
|
||||
"jukebox",
|
||||
"fence",
|
||||
"pumpkin",
|
||||
"netherrack",
|
||||
"soulsand",
|
||||
"glowstone",
|
||||
"portal",
|
||||
"jack-o-lantern",
|
||||
"cakeblock",
|
||||
"repeateroff",
|
||||
"repeateron",
|
||||
"lockedchest",
|
||||
"trapdoor",
|
||||
"silverfishblock",
|
||||
"stonebricks",
|
||||
"hugebrownmushroom",
|
||||
"hugeredmushroom",
|
||||
"ironbars",
|
||||
"glasspane",
|
||||
"melon",
|
||||
"pumpkinstem",
|
||||
"melonstem",
|
||||
"vines",
|
||||
"fencegate",
|
||||
"brickstairs",
|
||||
"stonebrickstairs",
|
||||
"mycelium",
|
||||
"lilypad",
|
||||
"netherbrick",
|
||||
"netherbrickfence",
|
||||
"netherbrickstairs",
|
||||
"netherwartblock",
|
||||
"enchantmenttable",
|
||||
"brewingstandblock",
|
||||
"cauldronblock",
|
||||
"endportal",
|
||||
"endportalframe",
|
||||
"endstone",
|
||||
"dragonegg",
|
||||
"redstonelampoff",
|
||||
"redstonelampon",
|
||||
"woodendoubleslab",
|
||||
"woodenslab",
|
||||
"cocoapod",
|
||||
"sandstonestairs", /* 128 */
|
||||
"Emerald Ore",
|
||||
"Ender Chest",
|
||||
"Tripwire Hook",
|
||||
"Tripwire",
|
||||
"Block of Emerald",
|
||||
"Spruce Wood Stairs",
|
||||
"Birch Wood Stairs",
|
||||
"Jungle Wood Stairs",
|
||||
"Command Block",
|
||||
"Beacon",
|
||||
"Cobblestone Wall",
|
||||
"Flower Pot",
|
||||
"Carrots",
|
||||
"Potatoes",
|
||||
"Wooden Button",
|
||||
"Head",
|
||||
} ;
|
||||
|
||||
return (a_BlockType < ARRAYCOUNT(BlockTypeNames)) ? BlockTypeNames[a_BlockType] : "";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
eEntityType GetEntityType(const AString & a_EntityTypeString)
|
||||
{
|
||||
for (int i = 0; i < ARRAYCOUNT(g_EntityTypes); i++)
|
||||
{
|
||||
if (a_EntityTypeString == g_EntityTypes[i].String)
|
||||
{
|
||||
return g_EntityTypes[i].Type;
|
||||
}
|
||||
}
|
||||
return entUnknown;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern const char * GetEntityTypeString(eEntityType a_EntityType)
|
||||
{
|
||||
return g_EntityTypes[a_EntityType].String;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
int GetNumCores(void)
|
||||
{
|
||||
// Get number of cores by querying the system process affinity mask (Windows-specific)
|
||||
DWORD Affinity, ProcAffinity;
|
||||
GetProcessAffinityMask(GetCurrentProcess(), &ProcAffinity, &Affinity);
|
||||
int NumCores = 0;
|
||||
while (Affinity > 0)
|
||||
{
|
||||
if ((Affinity & 1) == 1)
|
||||
{
|
||||
++NumCores;
|
||||
}
|
||||
Affinity >>= 1;
|
||||
} // while (Affinity > 0)
|
||||
return NumCores;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user