diff --git a/Minecraft.World/AI/Attributes/Attribute.h b/Minecraft.World/AI/Attributes/Attribute.h index 30626db6c..f9d6a9e7e 100644 --- a/Minecraft.World/AI/Attributes/Attribute.h +++ b/Minecraft.World/AI/Attributes/Attribute.h @@ -65,9 +65,4 @@ protected: static const int AttributeNames[]; }; -#if 0 -typedef std::unordered_map> - attrAttrModMap; -#else typedef std::unordered_map attrAttrModMap; -#endif \ No newline at end of file diff --git a/Minecraft.World/AI/Attributes/BaseAttributeMap.h b/Minecraft.World/AI/Attributes/BaseAttributeMap.h index cf3af2b48..d468871c1 100644 --- a/Minecraft.World/AI/Attributes/BaseAttributeMap.h +++ b/Minecraft.World/AI/Attributes/BaseAttributeMap.h @@ -5,12 +5,7 @@ class ModifiableAttributeInstance; class BaseAttributeMap { protected: // unordered_map attributesByObject; -#if 0 - std::unordered_map > - attributesById; -#else std::unordered_map attributesById; -#endif public: virtual ~BaseAttributeMap(); diff --git a/Minecraft.World/Blocks/FireTile.cpp b/Minecraft.World/Blocks/FireTile.cpp index 2afcaf985..b9b1d460f 100644 --- a/Minecraft.World/Blocks/FireTile.cpp +++ b/Minecraft.World/Blocks/FireTile.cpp @@ -345,11 +345,6 @@ void FireTile::registerIcons(IconRegister* iconRegister) { } Icon* FireTile::getTextureLayer(int layer) { -#if 0 - // AP - alpha cut out is expensive on vita. Set the Alpha Cut out flag - Tesselator* t = Tesselator::getInstance(); - t->setAlphaCutOut(true); -#endif return icons[layer]; } diff --git a/Minecraft.World/Blocks/GrassTile.cpp b/Minecraft.World/Blocks/GrassTile.cpp index ce23457b2..2c4a7347c 100644 --- a/Minecraft.World/Blocks/GrassTile.cpp +++ b/Minecraft.World/Blocks/GrassTile.cpp @@ -110,13 +110,6 @@ int GrassTile::getResource(int data, Random* random, int playerBonusLevel) { } Icon* GrassTile::getSideTextureOverlay() { -#if 0 - // AP - alpha cut out is expensive on vita. Because of the way grass sides - // are treated as special case we need to set the alpha flag here this would - // normally happen in TileRenderer::getTextureOrMissing - Tesselator* t = Tesselator::getInstance(); - t->setAlphaCutOut(true); -#endif return Tile::grass->iconSideOverlay; } diff --git a/Minecraft.World/Blocks/MobSpawner.cpp b/Minecraft.World/Blocks/MobSpawner.cpp index 84b67fb6b..1b868aceb 100644 --- a/Minecraft.World/Blocks/MobSpawner.cpp +++ b/Minecraft.World/Blocks/MobSpawner.cpp @@ -32,67 +32,13 @@ TilePos MobSpawner::getRandomPosWithin(Level* level, int cx, int cz) { return TilePos(x, y, z); } -#if 0 -// AP - See CustomMap.h for an explanation of this -CustomMap MobSpawner::chunksToPoll; -#else std::unordered_map MobSpawner::chunksToPoll; -#endif const int MobSpawner::tick(ServerLevel* level, bool spawnEnemies, bool spawnFriendlies, bool spawnPersistent) { -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) -#if 0 - // PIX output for mob counters - generally disabling as Entity::countFlagsForPIX is reasonably expensive - if( level->dimension->id == 0 ) - { - Entity::countFlagsForPIX(); - PIXAddNamedCounter( level->countInstanceOf(eTYPE_WATERANIMAL ,false), "eTYPE_WATERANIMAL"); - PIXAddNamedCounter( level->countInstanceOf(eTYPE_ANIMALS_SPAWN_LIMIT_CHECK ,false), "eTYPE_ANIMAL"); - PIXAddNamedCounter( level->countInstanceOf(eTYPE_MONSTER ,false), "eTYPE_MONSTER"); - PIXAddNamedCounter( level->countInstanceOf(eTYPE_SQUID ,true ), "eTYPE_SQUID"); - PIXAddNamedCounter( level->countInstanceOf(eTYPE_VILLAGER ,true ), "eTYPE_VILLAGER"); - - unsigned int totalCount[4]; - unsigned int protectedCount[4]; - unsigned int unprotectedCount[4]; - unsigned int couldWanderCount[4]; - - totalCount[0] = level->countInstanceOf(eTYPE_COW ,true, &protectedCount[0], &couldWanderCount[0] ); - totalCount[1] = level->countInstanceOf(eTYPE_SHEEP ,true, &protectedCount[1], &couldWanderCount[1] ); - totalCount[2] = level->countInstanceOf(eTYPE_CHICKEN ,true, &protectedCount[2], &couldWanderCount[2] ); - totalCount[3] = level->countInstanceOf(eTYPE_PIG ,true, &protectedCount[3], &couldWanderCount[3] ); - - for( int i = 0; i < 4; i++ ) unprotectedCount[i] = totalCount[i] - protectedCount[i]; - - PIXAddNamedCounter( unprotectedCount[0], "eTYPE_COW (unprotected)"); - PIXAddNamedCounter( unprotectedCount[1], "eTYPE_SHEEP (unprotected)"); - PIXAddNamedCounter( unprotectedCount[2], "eTYPE_CHICKEN (unprotected)"); - PIXAddNamedCounter( unprotectedCount[3], "eTYPE_PIG (unprotected)"); - - PIXAddNamedCounter( protectedCount[0], "eTYPE_COW (protected)"); - PIXAddNamedCounter( protectedCount[1], "eTYPE_SHEEP (protected)"); - PIXAddNamedCounter( protectedCount[2], "eTYPE_CHICKEN (protected)"); - PIXAddNamedCounter( protectedCount[3], "eTYPE_PIG (protected)"); - - PIXAddNamedCounter( couldWanderCount[0], "eTYPE_COW (could wander)"); - PIXAddNamedCounter( couldWanderCount[1], "eTYPE_SHEEP (could wander)"); - PIXAddNamedCounter( couldWanderCount[2], "eTYPE_CHICKEN (could wander)"); - PIXAddNamedCounter( couldWanderCount[3], "eTYPE_PIG (could wander)"); - - PIXAddNamedCounter( level->countInstanceOf(eTYPE_WOLF ,true ), "eTYPE_WOLF"); - PIXAddNamedCounter( level->countInstanceOf(eTYPE_CREEPER ,true ), "eTYPE_CREEPER"); - PIXAddNamedCounter( level->countInstanceOf(eTYPE_GIANT ,true ), "eTYPE_GIANT"); - PIXAddNamedCounter( level->countInstanceOf(eTYPE_SKELETON ,true ), "eTYPE_SKELETON"); - PIXAddNamedCounter( level->countInstanceOf(eTYPE_SPIDER ,true ), "eTYPE_SPIDER"); - PIXAddNamedCounter( level->countInstanceOf(eTYPE_ZOMBIE ,true ), "eTYPE_ZOMBIE"); - PIXAddNamedCounter( level->countInstanceOf(eTYPE_PIGZOMBIE ,true ), "eTYPE_PIGZOMBIE"); - PIXAddNamedCounter( level->countInstanceOf(eTYPE_SLIME ,true ), "eTYPE_SLIME"); - PIXAddNamedCounter( level->countInstanceOf(eTYPE_GHAST ,true ), "eTYPE_GHAST"); - } -#endif #endif if (!spawnEnemies && !spawnFriendlies && !spawnPersistent) { @@ -101,22 +47,6 @@ const int MobSpawner::tick(ServerLevel* level, bool spawnEnemies, MemSect(20); chunksToPoll.clear(); -#if 0 - AUTO_VAR(itEnd, level->players.end()); - for (AUTO_VAR(it, level->players.begin()); it != itEnd; it++) - { - std::shared_ptr player = *it; //level->players.at(i); - int xx = Mth::floor(player->x / 16); - int zz = Mth::floor(player->z / 16); - - int r = 128 / 16; - for (int x = -r; x <= r; x++) - for (int z = -r; z <= r; z++) - { - chunksToPoll.insert(ChunkPos(x + xx, z + zz)); - } - } -#else // 4J - rewritten to add chunks interleaved by player, and to add them from // the centre outwards. We're going to be potentially adding less creatures // than the original so that our count stays consistent with number of @@ -129,12 +59,8 @@ const int MobSpawner::tick(ServerLevel* level, bool spawnEnemies, std::shared_ptr player = level->players[i]; xx[i] = Mth::floor(player->x / 16); zz[i] = Mth::floor(player->z / 16); -#if 0 - chunksToPoll.insert(ChunkPos(xx[i], zz[i]), false); -#else chunksToPoll.insert( std::pair(ChunkPos(xx[i], zz[i]), false)); -#endif } for (int r = 1; r <= 8; r++) { @@ -146,16 +72,6 @@ const int MobSpawner::tick(ServerLevel* level, bool spawnEnemies, // player, then always store with a flag of false so that if it // was at the edge of another player, then this will remove that if (!edgeChunk) { -#if 0 - chunksToPoll.insert(ChunkPos((xx[i] - r) + l, (zz[i] - r)), - false); - chunksToPoll.insert(ChunkPos((xx[i] + r), (zz[i] - r) + l), - false); - chunksToPoll.insert(ChunkPos((xx[i] + r) - l, (zz[i] + r)), - false); - chunksToPoll.insert(ChunkPos((xx[i] - r), (zz[i] + r) - l), - false); -#else chunksToPoll.insert(std::pair( ChunkPos((xx[i] - r) + l, (zz[i] - r)), false)); chunksToPoll.insert(std::pair( @@ -164,18 +80,7 @@ const int MobSpawner::tick(ServerLevel* level, bool spawnEnemies, ChunkPos((xx[i] + r) - l, (zz[i] + r)), false)); chunksToPoll.insert(std::pair( ChunkPos((xx[i] - r), (zz[i] + r) - l), false)); -#endif } else { -#if 0 - ChunkPos cp = ChunkPos((xx[i] - r) + l, (zz[i] - r)); - if (chunksToPoll.find(cp)) chunksToPoll.insert(cp, true); - cp = ChunkPos((xx[i] + r), (zz[i] - r) + l); - if (chunksToPoll.find(cp)) chunksToPoll.insert(cp, true); - cp = ChunkPos((xx[i] + r) - l, (zz[i] + r)); - if (chunksToPoll.find(cp)) chunksToPoll.insert(cp, true); - cp = ChunkPos((xx[i] - r), (zz[i] + r) - l); - if (chunksToPoll.find(cp)) chunksToPoll.insert(cp, true); -#else ChunkPos cp = ChunkPos((xx[i] - r) + l, (zz[i] - r)); if (chunksToPoll.find(cp) == chunksToPoll.end()) chunksToPoll.insert( @@ -192,14 +97,12 @@ const int MobSpawner::tick(ServerLevel* level, bool spawnEnemies, if (chunksToPoll.find(cp) == chunksToPoll.end()) chunksToPoll.insert( std::pair(cp, true)); -#endif } } } } delete[] xx; delete[] zz; -#endif MemSect(0); int count = 0; MemSect(31); @@ -230,13 +133,8 @@ const int MobSpawner::tick(ServerLevel* level, bool spawnEnemies, continue; } -#if 0 - for (int i = 0; i < chunksToPoll.end(); i += 1) { - SCustomMapNode* it = chunksToPoll.get(i); -#else AUTO_VAR(itEndCTP, chunksToPoll.end()); for (AUTO_VAR(it, chunksToPoll.begin()); it != itEndCTP; it++) { -#endif if (it->second) { // don't add mobs to edge chunks, to prevent adding mobs // "outside" of the active playground @@ -435,15 +333,6 @@ bool MobSpawner::isSpawnPositionOk(MobCategory* category, Level* level, int x, // can happen on another thread if (!level->hasChunkAt(x, y, z)) return false; -#if 0 - // AP - added this for Vita. Make sure a new spawn point has 2 chunks around - // it. This will make sure monsters don't keep getting spawned on the edge - // preventing other new monsters from being spawned - int r = 32; - if (!level->hasChunksAt(x - r, 0, z - r, x + r, 0, z + r)) { - return false; - } -#endif if (category->getSpawnPositionMaterial() == Material::water) { // 4J - changed to spawn water things only in deep water @@ -482,64 +371,4 @@ void MobSpawner::postProcessSpawnMobs(Level* level, Biome* biome, int xo, int zo, int cellWidth, int cellHeight, Random* random) { // 4J - not for our version. Creates a few too many mobs. -#if 0 - std::vector *mobs = biome->getMobs(MobCategory::creature); - if (mobs->empty()) - { - return; - } - - while (random->nextFloat() < biome->getCreatureProbability()) - { - Biome::MobSpawnerData *type = (Biome::MobSpawnerData *) WeighedRandom::getRandomItem(level->random, ((std::vector *)mobs)); - MobGroupData *groupData = NULL; - int count = type->minCount + random->nextInt(1 + type->maxCount - type->minCount); - - int x = xo + random->nextInt(cellWidth); - int z = zo + random->nextInt(cellHeight); - int startX = x, startZ = z; - - for (int c = 0; c < count; c++) - { - bool success = false; - for (int attempts = 0; !success && attempts < 4; attempts++) - { - // these mobs always spawn at the topmost position - int y = level->getTopSolidBlock(x, z); - if (isSpawnPositionOk(MobCategory::creature, level, x, y, z)) - { - - float xx = x + 0.5f; - float yy = (float)y; - float zz = z + 0.5f; - - std::shared_ptr mob; - //try { - mob = std::dynamic_pointer_cast( EntityIO::newByEnumType(type->mobClass, level ) ); - //} catch (Exception e) { - // e.printStackTrace(); - // continue; - //} - - // System.out.println("Placing night mob"); - mob->moveTo(xx, yy, zz, random->nextFloat() * 360, 0); - - mob->setDespawnProtected(); - - level->addEntity(mob); - groupData = mob->finalizeMobSpawn(groupData); - success = true; - } - - x += random->nextInt(5) - random->nextInt(5); - z += random->nextInt(5) - random->nextInt(5); - while (x < xo || x >= (xo + cellWidth) || z < zo || z >= (zo + cellWidth)) - { - x = startX + random->nextInt(5) - random->nextInt(5); - z = startZ + random->nextInt(5) - random->nextInt(5); - } - } - } - } -#endif } diff --git a/Minecraft.World/Blocks/MobSpawner.h b/Minecraft.World/Blocks/MobSpawner.h index a596fa8a0..307f7b8c2 100644 --- a/Minecraft.World/Blocks/MobSpawner.h +++ b/Minecraft.World/Blocks/MobSpawner.h @@ -13,13 +13,8 @@ protected: static TilePos getRandomPosWithin(Level* level, int cx, int cz); private: -#if 0 - // AP - See CustomMap.h for an explanation of this - static CustomMap chunksToPoll; -#else static std::unordered_map chunksToPoll; -#endif public: static const int tick(ServerLevel* level, bool spawnEnemies, diff --git a/Minecraft.World/Blocks/RedStoneDustTile.cpp b/Minecraft.World/Blocks/RedStoneDustTile.cpp index 55eb72b92..5127acb71 100644 --- a/Minecraft.World/Blocks/RedStoneDustTile.cpp +++ b/Minecraft.World/Blocks/RedStoneDustTile.cpp @@ -419,11 +419,6 @@ void RedStoneDustTile::registerIcons(IconRegister* iconRegister) { } Icon* RedStoneDustTile::getTexture(const std::wstring& name) { -#if 0 - // AP - alpha cut out is expensive on vita. Set the Alpha Cut out flag - Tesselator* t = Tesselator::getInstance(); - t->setAlphaCutOut(true); -#endif if (name.compare(TEXTURE_CROSS) == 0) return Tile::redStoneDust->iconCross; if (name.compare(TEXTURE_LINE) == 0) return Tile::redStoneDust->iconLine; diff --git a/Minecraft.World/Blocks/TileEntities/CommandBlockEntity.cpp b/Minecraft.World/Blocks/TileEntities/CommandBlockEntity.cpp index 8734c8404..576ea0612 100644 --- a/Minecraft.World/Blocks/TileEntities/CommandBlockEntity.cpp +++ b/Minecraft.World/Blocks/TileEntities/CommandBlockEntity.cpp @@ -19,24 +19,9 @@ void CommandBlockEntity::setCommand(const std::wstring& command) { std::wstring CommandBlockEntity::getCommand() { return command; } int CommandBlockEntity::performCommand(Level* level) { -#if 0 - if (level->isClientSide) - { - return 0; - } - - MinecraftServer *instance = MinecraftServer::getInstance(); - if (instance != NULL && instance->isCommandBlockEnabled()) - { - CommandDispatcher *commandDispatcher = instance->getCommandDispatcher(); - return commandDispatcher->performCommand(std::dynamic_pointer_cast(shared_from_this()), command, byteArray() ); - } - return 0; -#else // 4J-JEV: Cannot decide what to do with the command field. assert(false); return 0; -#endif } std::wstring CommandBlockEntity::getName() { return name; } diff --git a/Minecraft.World/Blocks/TileEntities/SignTileEntity.cpp b/Minecraft.World/Blocks/TileEntities/SignTileEntity.cpp index e1e874da2..5fa6218a3 100644 --- a/Minecraft.World/Blocks/TileEntities/SignTileEntity.cpp +++ b/Minecraft.World/Blocks/TileEntities/SignTileEntity.cpp @@ -33,10 +33,8 @@ SignTileEntity::SignTileEntity() : TileEntity() { SignTileEntity::~SignTileEntity() { // TODO ORBIS_STUBBED; -#if 1 // 4J-PB - we don't need to verify strings anymore - // InputManager.CancelQueuedVerifyStrings(&SignTileEntity::StringVerifyCallback,(LPVOID)this); -#endif } void SignTileEntity::save(CompoundTag* tag) { @@ -45,7 +43,7 @@ void SignTileEntity::save(CompoundTag* tag) { tag->putString(L"Text2", m_wsmessages[1]); tag->putString(L"Text3", m_wsmessages[2]); tag->putString(L"Text4", m_wsmessages[3]); -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) OutputDebugStringW(L"### - Saving a sign with text - \n"); for (int i = 0; i < 4; i++) { OutputDebugStringW(m_wsmessages[i].c_str()); @@ -64,7 +62,7 @@ void SignTileEntity::load(CompoundTag* tag) { if (m_wsmessages[i].length() > MAX_LINE_LENGTH) m_wsmessages[i] = m_wsmessages[i].substr(0, MAX_LINE_LENGTH); } -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) OutputDebugStringW(L"### - Loaded a sign with text - \n"); for (int i = 0; i < 4; i++) { OutputDebugStringW(m_wsmessages[i].c_str()); diff --git a/Minecraft.World/Commands/CommandDispatcher.h b/Minecraft.World/Commands/CommandDispatcher.h index 187535e74..968815d67 100644 --- a/Minecraft.World/Commands/CommandDispatcher.h +++ b/Minecraft.World/Commands/CommandDispatcher.h @@ -5,11 +5,7 @@ class CommandSender; class CommandDispatcher { private: -#if 0 - std::unordered_map> commandsById; -#else std::unordered_map commandsById; -#endif std::unordered_set commands; public: diff --git a/Minecraft.World/Containers/ContainerMenu.cpp b/Minecraft.World/Containers/ContainerMenu.cpp index cea5f497f..7e6d7b5ee 100644 --- a/Minecraft.World/Containers/ContainerMenu.cpp +++ b/Minecraft.World/Containers/ContainerMenu.cpp @@ -81,7 +81,7 @@ std::shared_ptr ContainerMenu::clicked( std::shared_ptr out = AbstractContainerMenu::clicked( slotIndex, buttonNum, clickType, player, looped); -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) std::shared_ptr localPlayer = std::dynamic_pointer_cast(player); @@ -98,14 +98,12 @@ std::shared_ptr ContainerMenu::clicked( // 4J-JEV: This check performed on XboxOne servers, for other platforms // check here. -#if 1 StatsCounter* sc = Minecraft::GetInstance()->stats[localPlayer->GetXboxPad()]; int minedCount = sc->getTotalValue(GenericStats::blocksMined(Tile::stone_Id)) + sc->getTotalValue(GenericStats::blocksMined(Tile::cobblestone_Id)); if (cobblecount >= 1728 && minedCount >= 1728) -#endif { localPlayer->awardStat( GenericStats::chestfulOfCobblestone(), diff --git a/Minecraft.World/Containers/FurnaceResultSlot.cpp b/Minecraft.World/Containers/FurnaceResultSlot.cpp index ccabdac99..f53bb2fd3 100644 --- a/Minecraft.World/Containers/FurnaceResultSlot.cpp +++ b/Minecraft.World/Containers/FurnaceResultSlot.cpp @@ -72,21 +72,12 @@ void FurnaceResultSlot::checkTakeAchievements( } } -#if 0 - if (!player->level->isClientSide && removeCount > 0) { - player->awardStat( - GenericStats::itemsSmelted(carried->id), - GenericStats::param_itemsSmelted( - carried->id, carried->getAuxValue(), removeCount)); - } -#else if (carried->id == Item::ironIngot_Id) player->awardStat(GenericStats::acquireIron(), GenericStats::param_acquireIron()); if (carried->id == Item::fish_cooked_Id) player->awardStat(GenericStats::cookFish(), GenericStats::param_cookFish()); -#endif removeCount = 0; } diff --git a/Minecraft.World/Entities/LivingEntity.cpp b/Minecraft.World/Entities/LivingEntity.cpp index c52d94acf..286c5d6bc 100644 --- a/Minecraft.World/Entities/LivingEntity.cpp +++ b/Minecraft.World/Entities/LivingEntity.cpp @@ -1218,16 +1218,8 @@ void LivingEntity::jumpFromGround() { } void LivingEntity::travel(float xa, float ya) { -#if 0 - // AP - dynamic_pointer_cast is a non-trivial call - Player* thisPlayer = NULL; - if (this->instanceof(eTYPE_PLAYER)) { - thisPlayer = (Player*)this; - } -#else std::shared_ptr thisPlayer = std::dynamic_pointer_cast(shared_from_this()); -#endif if (isInWater() && !(thisPlayer && thisPlayer->abilities.flying)) { double yo = y; moveRelative(xa, ya, useNewAi() ? 0.04f : 0.02f); diff --git a/Minecraft.World/Entities/Mobs/Boat.cpp b/Minecraft.World/Entities/Mobs/Boat.cpp index 356dacf57..31ab96364 100644 --- a/Minecraft.World/Entities/Mobs/Boat.cpp +++ b/Minecraft.World/Entities/Mobs/Boat.cpp @@ -211,7 +211,6 @@ void Boat::tick() { setPos(xt, yt, zt); setRot(yRot, xRot); } else { -#if 1 // Original // double xt = x + xd; // double yt = y + yd; @@ -230,37 +229,6 @@ void Boat::tick() { xd *= 0.99f; yd *= 0.95f; zd *= 0.99f; -#else - // 4J Stu - Fix for #8280 - Gameplay : Boats behave erratically when - // exited next to land. The client shouldn't change the position of - // the boat - double xt = x; // + xd; - double yt = y + yd; - double zt = z; // + zd; - this->setPos(xt, yt, zt); - - // 4J Stu - Fix for #9579 - GAMEPLAY: Boats with a player in them - // slowly sink under the water over time, and with no player in them - // they float into the sky. Just make the boats bob up and down - // rather than any other client-side movement when not receiving - // packets from server - if (waterPercentage < 1) { - double bob = waterPercentage * 2 - 1; - yd += 0.04f * bob; - } else { - if (yd < 0) yd /= 2; - yd += 0.007f; - } - // if (onGround) - //{ - xd *= 0.5f; - yd *= 0.5f; - zd *= 0.5f; - //} - // xd *= 0.99f; - // yd *= 0.95f; - // zd *= 0.99f; -#endif } return; } diff --git a/Minecraft.World/Entities/SyncedEntityData.cpp b/Minecraft.World/Entities/SyncedEntityData.cpp index d96717301..cf99e7aec 100644 --- a/Minecraft.World/Entities/SyncedEntityData.cpp +++ b/Minecraft.World/Entities/SyncedEntityData.cpp @@ -78,16 +78,6 @@ void SynchedEntityData::defineNULL(int id, void* pVal) { } void SynchedEntityData::checkId(int id) { -#if 0 - if (id > MAX_ID_VALUE) - { - throw new IllegalArgumentException(L"Data value id is too big with " + _toString(id) + L"! (Max is " + _toString(MAX_ID_VALUE) + L")"); - } - if (itemsById.find(id) != itemsById.end()) - { - throw new IllegalArgumentException(L"Duplicate id value for " + _toString(id) + L"!"); - } -#endif } uint8_t SynchedEntityData::getByte(int id) { diff --git a/Minecraft.World/Entities/TamableAnimal.cpp b/Minecraft.World/Entities/TamableAnimal.cpp index f0230333f..5cff600cc 100644 --- a/Minecraft.World/Entities/TamableAnimal.cpp +++ b/Minecraft.World/Entities/TamableAnimal.cpp @@ -22,36 +22,17 @@ void TamableAnimal::defineSynchedData() { void TamableAnimal::addAdditonalSaveData(CompoundTag* tag) { Animal::addAdditonalSaveData(tag); -#if 0 - // 4J Stu Added from later Java version to remove owners from save transfer - // saves. We will probably want this on other platforms in the future - if (getOwnerUUID().empty()) { - tag->putString(L"OwnerUUID", L""); - } else { - tag->putString(L"OwnerUUID", getOwnerUUID()); - } -#else if (getOwnerUUID().empty()) { tag->putString(L"Owner", L""); } else { tag->putString(L"Owner", getOwnerUUID()); } -#endif tag->putBoolean(L"Sitting", isSitting()); } void TamableAnimal::readAdditionalSaveData(CompoundTag* tag) { Animal::readAdditionalSaveData(tag); -#if 0 - // 4J Stu Added from later Java version to remove owners from save transfer - // saves. We will probably want this on other platforms in the future - std::wstring owner = L""; - if (tag->contains(L"OwnerUUID")) { - owner = tag->getString(L"OwnerUUID"); - } -#else std::wstring owner = tag->getString(L"Owner"); -#endif if (owner.length() > 0) { setOwnerUUID(owner); setTame(true); diff --git a/Minecraft.World/IO/Files/ConsoleSaveFile.h b/Minecraft.World/IO/Files/ConsoleSaveFile.h index 556ced99f..78c8b56e1 100644 --- a/Minecraft.World/IO/Files/ConsoleSaveFile.h +++ b/Minecraft.World/IO/Files/ConsoleSaveFile.h @@ -29,7 +29,7 @@ public: virtual void Flush(bool autosave, bool updateThumbnail = true) = 0; -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) virtual void DebugFlushToFile(void* compressedData = NULL, unsigned int compressedDataSize = 0) = 0; #endif @@ -40,13 +40,6 @@ public: virtual std::vector* getRegionFilesByDimension( unsigned int dimensionIndex) = 0; -#if 0 || 0 || 0 - virtual std::wstring getPlayerDataFilenameForLoad( - const PlayerUID& pUID) = 0; - virtual std::wstring getPlayerDataFilenameForSave( - const PlayerUID& pUID) = 0; - virtual std::vector* getValidPlayerDatFiles() = 0; -#endif //0 virtual int getSaveVersion() = 0; virtual int getOriginalSaveVersion() = 0; diff --git a/Minecraft.World/IO/Files/ConsoleSaveFileConverter.cpp b/Minecraft.World/IO/Files/ConsoleSaveFileConverter.cpp index 6c2defe58..85361c7ed 100644 --- a/Minecraft.World/IO/Files/ConsoleSaveFileConverter.cpp +++ b/Minecraft.World/IO/Files/ConsoleSaveFileConverter.cpp @@ -80,32 +80,15 @@ void ConsoleSaveFileConverter::ConvertSave(ConsoleSaveFile* sourceSave, } // MGH added - find any player data files and copy them across -#if 0 || 0 || 0 - std::vector* playerFiles = sourceSave->getValidPlayerDatFiles(); -#else std::vector* playerFiles = sourceSave->getFilesWithPrefix(DirectoryLevelStorage::getPlayerDir()); -#endif if (playerFiles != NULL) { for (int fileIdx = 0; fileIdx < playerFiles->size(); fileIdx++) { ConsoleSavePath sourcePlayerDatPath( playerFiles->at(fileIdx)->data.filename); -#if 0 - // 4J Stu - As the XUIDs on X360 and X1 are different, we don't want - // to transfer these over. However as the first player file should - // be the owner of the save, we can move their data over to the - // current players XUID - if (fileIdx > 0) break; - PlayerUID xuid; - ProfileManager.GetXUID(ProfileManager.GetPrimaryPad(), &xuid, - false); - ConsoleSavePath targetPlayerDatPath(L"players/" + xuid.toString() + - L".dat"); -#else ConsoleSavePath targetPlayerDatPath( playerFiles->at(fileIdx)->data.filename); -#endif { FileEntry* sourceFe = sourceSave->createFile(sourcePlayerDatPath); @@ -122,7 +105,7 @@ void ConsoleSaveFileConverter::ConvertSave(ConsoleSaveFile* sourceSave, delete playerFiles; } -#ifdef SPLIT_SAVES +#if defined(SPLIT_SAVES) int xzSize = LEVEL_LEGACY_WIDTH; int hellScale = HELL_LEVEL_LEGACY_SCALE; if (sourceSave->doesFileExist(ldatPath)) { @@ -292,13 +275,13 @@ void ConsoleSaveFileConverter::ConvertSave(ConsoleSaveFile* sourceSave, std::wstring suffix(L".mcr"); if (fName.compare(fName.length() - suffix.length(), suffix.length(), suffix) == 0) { -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) wprintf(L"Processing a region file: %s\n", fe->data.filename); #endif ProcessStandardRegionFile(sourceSave, File(fe->data.filename), targetSave, File(fe->data.filename)); } else { -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) wprintf(L"%s is not a region file, ignoring\n", fe->data.filename); #endif diff --git a/Minecraft.World/IO/Files/ConsoleSaveFileOriginal.h b/Minecraft.World/IO/Files/ConsoleSaveFileOriginal.h index 10e7cec40..4c9dee376 100644 --- a/Minecraft.World/IO/Files/ConsoleSaveFileOriginal.h +++ b/Minecraft.World/IO/Files/ConsoleSaveFileOriginal.h @@ -13,13 +13,10 @@ private: // HANDLE hHeap; static void* pvHeap; static unsigned int pagesCommitted; -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) static const unsigned int CSF_PAGE_SIZE = 64 * 1024; static const unsigned int MAX_PAGE_COUNT = 32 * 1024; // 2GB virtual allocation -#elif 0 - static const unsigned int CSF_PAGE_SIZE = 1024 * 1024; - static const unsigned int MAX_PAGE_COUNT = 64; #else static const unsigned int CSF_PAGE_SIZE = 64 * 1024; static const unsigned int MAX_PAGE_COUNT = 1024; @@ -32,8 +29,7 @@ private: void MoveDataBeyond(FileEntry* file, unsigned int nNumberOfBytesToWrite); public: -#if (0 || 0 || 0 || \ - 0 || defined _WINDOWS64) +#if defined(_WINDOWS64) static int SaveSaveDataCallback(void* lpParam, bool bRes); #endif ConsoleSaveFileOriginal(const std::wstring& fileName, @@ -66,7 +62,7 @@ public: virtual void Flush(bool autosave, bool updateThumbnail = true); -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) virtual void DebugFlushToFile(void* compressedData = NULL, unsigned int compressedDataSize = 0); #endif @@ -79,11 +75,6 @@ public: virtual std::vector* getRegionFilesByDimension( unsigned int dimensionIndex); -#if 0 || 0 || 0 - virtual std::wstring getPlayerDataFilenameForLoad(const PlayerUID& pUID); - virtual std::wstring getPlayerDataFilenameForSave(const PlayerUID& pUID); - virtual std::vector* getValidPlayerDatFiles(); -#endif //0 virtual int getSaveVersion(); virtual int getOriginalSaveVersion(); diff --git a/Minecraft.World/IO/Files/ConsoleSaveFileSplit.cpp b/Minecraft.World/IO/Files/ConsoleSaveFileSplit.cpp index 29207911a..5c719be0b 100644 --- a/Minecraft.World/IO/Files/ConsoleSaveFileSplit.cpp +++ b/Minecraft.World/IO/Files/ConsoleSaveFileSplit.cpp @@ -444,7 +444,7 @@ void ConsoleSaveFileSplit::_init(const std::wstring& fileName, void* pvSaveData, // save file at a time, and the pages should be decommitted in the dtor, so // pages committed should always be zero at this point. if (pagesCommitted != 0) { -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) __debugbreak(); #endif } @@ -455,7 +455,7 @@ void ConsoleSaveFileSplit::_init(const std::wstring& fileName, void* pvSaveData, void* pvRet = VirtualAlloc(pvHeap, pagesRequired * CSF_PAGE_SIZE, COMMIT_ALLOCATION, PAGE_READWRITE); if (pvRet == NULL) { -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) // Out of physical memory __debugbreak(); #endif @@ -516,7 +516,7 @@ void ConsoleSaveFileSplit::_init(const std::wstring& fileName, void* pvSaveData, // Corrupt save, although most of the terrain should // actually be ok app.DebugPrintf("Failed to decompress save data!\n"); -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) __debugbreak(); #endif ZeroMemory(pvSaveMem, fileSize); @@ -541,11 +541,6 @@ ConsoleSaveFileSplit::~ConsoleSaveFileSplit() { pagesCommitted = 0; // Make sure we don't have any thumbnail data still waiting round - we can't // need it now we've destroyed the save file anyway -#if 0 - app.GetSaveThumbnail(NULL, NULL); -#elif 0 - app.GetSaveThumbnail(NULL, NULL, NULL, NULL); -#endif for (AUTO_VAR(it, regionFiles.begin()); it != regionFiles.end(); it++) { delete it->second; @@ -962,7 +957,7 @@ void ConsoleSaveFileSplit::tick() { writeRequired = true; } -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) { unsigned int totalDirty = 0; unsigned int totalDirtyBytes = 0; @@ -976,16 +971,6 @@ void ConsoleSaveFileSplit::tick() { totalDirtyBytes += it->second->fileEntry->getFileSize(); } } -#if 0 - PIXReportCounter(L"Dirty regions", (float)totalDirty); - PIXReportCounter(L"Dirty MB", (float)totalDirtyBytes / (1024 * 1024)); - PIXReportCounter(L"Dirty oldest age", - ((float)currentTime - oldestDirty)); - PIXReportCounter(L"Region writing bandwidth", - ((float)bytesInTimePeriod / - WRITE_BANDWIDTH_MEASUREMENT_PERIOD_SECONDS) / - (1024 * 1024)); -#endif } #endif @@ -1231,22 +1216,6 @@ std::wstring ConsoleSaveFileSplit::GetNameFromNumericIdentifier( // Compress any dirty region files, and tell the storage manager about them so // that it will process them when we ask it to save sub files void ConsoleSaveFileSplit::processSubfilesForWrite() { -#if 0 - // 4J Stu - There are debug reasons where we want to force a save of all regions - StorageManager.ResetSubfiles(); - for(AUTO_VAR(it,regionFiles.begin()); it != regionFiles.end(); it++ ) - { - RegionFileReference* region = it->second; - int index = StorageManager.AddSubfile(region->fileEntry->data.regionIndex); - //if( region->dirty ) - { - region->Compress(); - StorageManager.UpdateSubfile(index, region->dataCompressed, region->dataCompressedSize); - region->dirty = false; - region->lastWritten = System::currentTimeMillis(); - } - } -#else for (AUTO_VAR(it, regionFiles.begin()); it != regionFiles.end(); it++) { RegionFileReference* region = it->second; if (region->dirty) { @@ -1257,7 +1226,6 @@ void ConsoleSaveFileSplit::processSubfilesForWrite() { region->lastWritten = System::currentTimeMillis(); } } -#endif } // Clean up any memory allocated for compressed data when we have finished @@ -1282,20 +1250,10 @@ bool ConsoleSaveFileSplit::doesFileExist(ConsoleSavePath file) { void ConsoleSaveFileSplit::Flush(bool autosave, bool updateThumbnail) { LockSaveAccess(); -#if 0 - MinecraftServer* server = MinecraftServer::getInstance(); -#endif // The storage manage might potentially be busy doing a sub-file write // initiated from the tick. Wait until this is totally processed. while (StorageManager.GetSaveState() != C4JStorage::ESaveGame_Idle) { -#if 0 - if (server && server->IsSuspending()) { - // If the server is mid-suspend we need to tick the storage manager - // ourselves - StorageManager.Tick(); - } -#endif app.DebugPrintf("Flush wait\n"); Sleep(10); @@ -1387,12 +1345,6 @@ void ConsoleSaveFileSplit::Flush(bool autosave, bool updateThumbnail) { std::uint8_t* pbDataSaveImage = NULL; unsigned int dwDataSizeSaveImage = 0; -#if (0 || 0) - app.GetSaveThumbnail(&pbThumbnailData, &dwThumbnailDataSize); -#elif (0 || 0) - app.GetSaveThumbnail(&pbThumbnailData, &dwThumbnailDataSize, - &pbDataSaveImage, &dwDataSizeSaveImage); -#endif std::uint8_t bTextMetadata[88]; ZeroMemory(bTextMetadata, 88); @@ -1429,7 +1381,7 @@ void ConsoleSaveFileSplit::Flush(bool autosave, bool updateThumbnail) { // save the data StorageManager.SaveSaveData(&ConsoleSaveFileSplit::SaveSaveDataCallback, this); -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) if (app.DebugSettingsOn()) { if (app.GetWriteSavesToFolderEnabled()) { DebugFlushToFile(compData, compLength + 8); @@ -1462,7 +1414,7 @@ int ConsoleSaveFileSplit::SaveRegionFilesCallback(void* lpParam, bool bRes) { return 0; } -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) void ConsoleSaveFileSplit::DebugFlushToFile( void* compressedData /*= NULL*/, unsigned int compressedDataSize /*= 0*/) { LockSaveAccess(); @@ -1546,19 +1498,6 @@ std::vector* ConsoleSaveFileSplit::getRegionFilesByDimension( return files; } -#if 0 || 0 -std::wstring ConsoleSaveFileSplit::getPlayerDataFilenameForLoad( - const PlayerUID& pUID) { - return header.getPlayerDataFilenameForLoad(pUID); -} -std::wstring ConsoleSaveFileSplit::getPlayerDataFilenameForSave( - const PlayerUID& pUID) { - return header.getPlayerDataFilenameForSave(pUID); -} -std::vector* ConsoleSaveFileSplit::getValidPlayerDatFiles() { - return header.getValidPlayerDatFiles(); -} -#endif int ConsoleSaveFileSplit::getSaveVersion() { return header.getSaveVersion(); } diff --git a/Minecraft.World/IO/Files/ConsoleSaveFileSplit.h b/Minecraft.World/IO/Files/ConsoleSaveFileSplit.h index 8847c2f99..7653b83ef 100644 --- a/Minecraft.World/IO/Files/ConsoleSaveFileSplit.h +++ b/Minecraft.World/IO/Files/ConsoleSaveFileSplit.h @@ -69,7 +69,7 @@ private: // HANDLE hHeap; static void* pvHeap; static unsigned int pagesCommitted; -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) static const unsigned int CSF_PAGE_SIZE = 64 * 1024; static const unsigned int MAX_PAGE_COUNT = 32 * 1024; // 2GB virtual allocation @@ -132,7 +132,7 @@ public: virtual void Flush(bool autosave, bool updateThumbnail = true); -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) virtual void DebugFlushToFile(void* compressedData = NULL, unsigned int compressedDataSize = 0); #endif @@ -145,11 +145,6 @@ public: virtual std::vector* getRegionFilesByDimension( unsigned int dimensionIndex); -#if 0 || 0 - virtual std::wstring getPlayerDataFilenameForLoad(const PlayerUID& pUID); - virtual std::wstring getPlayerDataFilenameForSave(const PlayerUID& pUID); - virtual std::vector* getValidPlayerDatFiles(); -#endif //0 virtual int getSaveVersion(); virtual int getOriginalSaveVersion(); diff --git a/Minecraft.World/IO/Files/FileHeader.cpp b/Minecraft.World/IO/Files/FileHeader.cpp index 07c627488..c790bfe58 100644 --- a/Minecraft.World/IO/Files/FileHeader.cpp +++ b/Minecraft.World/IO/Files/FileHeader.cpp @@ -57,7 +57,7 @@ void FileHeader::RemoveFile(FileEntry* file) { fileTable.erase(it); } -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) wprintf(L"Removed file %ls\n", file->data.filename); #endif @@ -76,40 +76,23 @@ void FileHeader::WriteHeader(void* saveMem) { // Write the offset of the header // assert(numberOfBytesWritten == 4); int* begin = (int*)saveMem; -#if 0 - VirtualCopyTo(begin, &headerOffset, sizeof(headerOffset)); -#else *begin = headerOffset; -#endif // Write the size of the header // assert(numberOfBytesWritten == 4); -#if 0 - VirtualCopyTo(begin + 1, &headerSize, sizeof(headerSize)); -#else *(begin + 1) = headerSize; -#endif short* versions = (short*)(begin + 2); // Write the original version number -#if 0 - VirtualCopyTo(versions, &m_originalSaveVersion, - sizeof(m_originalSaveVersion)); -#else *versions = m_originalSaveVersion; -#endif // Write the version number short versionNumber = SAVE_FILE_VERSION_NUMBER; // assert(numberOfBytesWritten == 4); //*(begin + 2) = versionNumber; -#if 0 - VirtualCopyTo(versions + 1, &versionNumber, sizeof(versionNumber)); -#else *(versions + 1) = versionNumber; -#endif -#ifdef _DEBUG_FILE_HEADER +#if defined(_DEBUG_FILE_HEADER) app.DebugPrintf( "Write save file with original version: %d, and current version %d\n", m_originalSaveVersion, versionNumber); @@ -117,7 +100,7 @@ void FileHeader::WriteHeader(void* saveMem) { char* headerPosition = (char*)saveMem + headerOffset; -#ifdef _DEBUG_FILE_HEADER +#if defined(_DEBUG_FILE_HEADER) app.DebugPrintf("\n\nWrite file Header: Offset = %d, Size = %d\n", headerOffset, headerSize); #endif @@ -128,13 +111,8 @@ void FileHeader::WriteHeader(void* saveMem) { // fileTable[i]->data.filename, fileTable[i]->data.startOffset, // fileTable[i]->data.length, fileTable[i]->data.startOffset + // fileTable[i]->data.length); -#if 0 - VirtualCopyTo((void*)headerPosition, &fileTable[i]->data, - sizeof(FileEntrySaveData)); -#else memcpy((void*)headerPosition, &fileTable[i]->data, sizeof(FileEntrySaveData)); -#endif // assert(numberOfBytesWritten == sizeof(FileEntrySaveData)); headerPosition += sizeof(FileEntrySaveData); } @@ -168,42 +146,25 @@ void FileHeader::ReadHeader( // Read the offset of the header // assert(numberOfBytesRead == 4); int* begin = (int*)saveMem; -#if 0 - VirtualCopyFrom(&headerOffset, begin, sizeof(headerOffset)); -#else headerOffset = *begin; -#endif if (isSaveEndianDifferent()) System::ReverseULONG(&headerOffset); // Read the size of the header // assert(numberOfBytesRead == 4); -#if 0 - VirtualCopyFrom(&headerSize, begin + 1, sizeof(headerSize)); -#else headerSize = *(begin + 1); -#endif if (isSaveEndianDifferent()) System::ReverseULONG(&headerSize); short* versions = (short*)(begin + 2); // Read the original save version number -#if 0 - VirtualCopyFrom(&m_originalSaveVersion, versions, - sizeof(m_originalSaveVersion)); -#else m_originalSaveVersion = *(versions); -#endif if (isSaveEndianDifferent()) System::ReverseSHORT(&m_originalSaveVersion); // Read the save version number // m_saveVersion = *(begin + 2); -#if 0 - VirtualCopyFrom(&m_saveVersion, versions + 1, sizeof(m_saveVersion)); -#else m_saveVersion = *(versions + 1); -#endif if (isSaveEndianDifferent()) System::ReverseSHORT(&m_saveVersion); -#ifdef _DEBUG_FILE_HEADER +#if defined(_DEBUG_FILE_HEADER) app.DebugPrintf( "Read save file with orignal version: %d, and current version %d\n", m_originalSaveVersion, m_saveVersion); @@ -244,13 +205,8 @@ void FileHeader::ReadHeader( FileEntry* entry = new FileEntry(); // assert(numberOfBytesRead == sizeof(FileEntrySaveData)); -#if 0 - VirtualCopyFrom(&entry->data, fesdHeaderPosition, - sizeof(FileEntrySaveData)); -#else memcpy(&entry->data, fesdHeaderPosition, sizeof(FileEntrySaveData)); -#endif if (isSaveEndianDifferent()) { // Reverse bytes @@ -263,7 +219,7 @@ void FileHeader::ReadHeader( entry->currentFilePointer = entry->data.startOffset; lastFile = entry; fileTable.push_back(entry); -#ifdef _DEBUG_FILE_HEADER +#if defined(_DEBUG_FILE_HEADER) app.DebugPrintf( "File: %ls, Start = %d, Length = %d, End = %d, Timestamp = " "%lld\n", @@ -289,18 +245,13 @@ void FileHeader::ReadHeader( FileEntry* entry = new FileEntry(); // assert(numberOfBytesRead == sizeof(FileEntrySaveData)); -#if 0 - VirtualCopyFrom(&entry->data, headerPosition, - sizeof(FileEntrySaveDataV1)); -#else memcpy(&entry->data, headerPosition, sizeof(FileEntrySaveDataV1)); -#endif entry->currentFilePointer = entry->data.startOffset; lastFile = entry; fileTable.push_back(entry); -#ifdef _DEBUG_FILE_HEADER +#if defined(_DEBUG_FILE_HEADER) app.DebugPrintf( "File: %ls, Start = %d, Length = %d, End = %d\n", entry->data.filename, entry->data.startOffset, @@ -313,7 +264,7 @@ void FileHeader::ReadHeader( } } break; default: -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) app.DebugPrintf("********** Invalid save version %d\n", m_saveVersion); __debugbreak(); @@ -387,241 +338,6 @@ std::vector* FileHeader::getFilesWithPrefix( return files; } -#if 0 || 0 || 0 - -static bool isHexChar(wchar_t wc) { - if (wc >= L'0' && wc <= L'9') return true; - if (wc >= L'a' && wc <= L'f') return true; - return false; -} -static bool isHexString(wchar_t* ws, int size) { - for (int i = 0; i < size; i++) { - if (!isHexChar(ws[i])) return false; - } - return true; -} -static bool isDecimalChar(wchar_t wc) { - if (wc >= L'0' && wc <= L'9') return true; - return false; -} -static bool isDecimalString(wchar_t* ws, int size) { - for (int i = 0; i < size; i++) { - if (!isDecimalChar(ws[i])) return false; - } - return true; -} -static wchar_t* findFilenameStart(wchar_t* str) { - // find the last forward slash in the filename, and return the pointer to - // the following character - wchar_t* filenameStart = str; - int len = wcslen(str); - for (int i = 0; i < len; i++) - if (str[i] == L'/') filenameStart = &str[i + 1]; - return filenameStart; -} - -std::wstring FileHeader::getPlayerDataFilenameForLoad(const PlayerUID& pUID) { - std::wstring retVal = L""; - std::vector* pFiles = getDatFilesWithOnlineID(pUID); - if (!pFiles) { - // we didn't find a matching online dat file, so look for an offline - // version - pFiles = getDatFilesWithMacAndUserID(pUID); - } - if (!pFiles) { - // and we didn't find an offline file, so check if we're the primary - // user, and grab the primary file if we are - if (pUID.isPrimaryUser()) { - pFiles = getDatFilesWithPrimaryUser(); - } - } - if (pFiles) { - // we've got something to load - // assert(pFiles->size() == 1); - retVal = pFiles->at(0)->data.filename; - delete pFiles; - } - return retVal; -} - -std::wstring FileHeader::getPlayerDataFilenameForSave(const PlayerUID& pUID) { - // check if we're online first - if (pUID.isSignedIntoPSN() == false) { - // OK, we're not online, see if we can find another data file with - // matching mac and userID - std::vector* pFiles = getDatFilesWithMacAndUserID(pUID); - if (pFiles) { - // we've found a previous save, use the filename from it, as it - // might have the online part too - // assert(pFiles->size() == 1); - std::wstring retVal = pFiles->at(0)->data.filename; - delete pFiles; - return retVal; - } - } - - // we're either online, or we can't find a previous save, so use the - // standard filename - std::wstring retVal = pUID.toString() + L".dat"; - return retVal; -} - -std::vector* FileHeader::getValidPlayerDatFiles() { - std::vector* files = NULL; - - // find filenames that match this pattern - // P_5e7ff8372ea9_00000004_Mark_4J - - for (unsigned int i = 0; i < fileTable.size(); ++i) { - wchar_t* filenameOnly = findFilenameStart(fileTable[i]->data.filename); - - int nameLen = wcslen(filenameOnly); - if (nameLen <= 4) continue; - - // make sure it's a ".dat" file - if (wcsncmp(&filenameOnly[nameLen - 4], L".dat", 4) != 0) continue; - // make sure we start with "P_" or "N_" - if ((wcsncmp(&filenameOnly[0], L"P_", 2) != 0) && - (wcsncmp(&filenameOnly[0], L"N_", 2) != 0)) - continue; - // check the next 12 chars are hex - if (!isHexString(&filenameOnly[2], 12)) continue; - // make sure character 14 is '_' - if (filenameOnly[14] != L'_') continue; - // check the next 8 chars are decimal - if (!isDecimalString(&filenameOnly[15], 8)) continue; - - // if we get here, it must be a valid filename - if (files == NULL) { - files = new std::vector(); - } - files->push_back(fileTable[i]); - } - - return files; -} - -std::vector* FileHeader::getDatFilesWithOnlineID( - const PlayerUID& pUID) { - if (pUID.isSignedIntoPSN() == false) return NULL; - - std::vector* datFiles = getValidPlayerDatFiles(); - if (datFiles == NULL) return NULL; - - // we're looking for the online name from the pUID in these types of - // filenames - P_5e7ff8372ea9_00000004_Mark_4J - wchar_t onlineIDW[64]; - mbstowcs(onlineIDW, pUID.getOnlineID(), 64); - - std::vector* files = NULL; - int onlineIDSize = wcslen(onlineIDW); - if (onlineIDSize == 0) return NULL; - - wcscat(onlineIDW, L".dat"); - -#if 0 - onlineIDSize = wcslen(onlineIDW); -#else - static const int onlineIDStart = 24; // 24 characters into the filename -#endif - - char tempStr[128]; - for (unsigned int i = 0; i < datFiles->size(); ++i) { - wchar_t* filenameOnly = - findFilenameStart(datFiles->at(i)->data.filename); - wcstombs(tempStr, filenameOnly, 128); - app.DebugPrintf("file : %s\n", tempStr); - -#if 0 - int onlineIDStart = wcslen(filenameOnly) - onlineIDSize; - if (onlineIDStart > 0) -#else - if (wcslen(filenameOnly) > onlineIDStart) -#endif - { - if (wcsncmp(&filenameOnly[onlineIDStart], onlineIDW, - onlineIDSize) == 0) { - if (files == NULL) { - files = new std::vector(); - } - files->push_back(datFiles->at(i)); - } - } - } - delete datFiles; - - if (files) sort(files->begin(), files->end(), FileEntry::newestFirst); - return files; -} - -std::vector* FileHeader::getDatFilesWithMacAndUserID( - const PlayerUID& pUID) { - std::vector* datFiles = getValidPlayerDatFiles(); - if (datFiles == NULL) return NULL; - - // we're looking for the mac address and userIDfrom the pUID in these types - // of filenames - P_5e7ff8372ea9_00000004_Mark_4J - std::wstring macStr = pUID.macAddressStr(); - std::wstring userStr = pUID.userIDStr(); - const wchar_t* pMacStr = macStr.c_str(); - const wchar_t* pUserStr = userStr.c_str(); - - std::vector* files = NULL; - static const int macAddrStart = 2; // 2 characters into the filename - static const int userIDStart = 15; // 15 characters into the filename - - char tempStr[128]; - for (unsigned int i = 0; i < datFiles->size(); ++i) { - wchar_t* filenameOnly = - findFilenameStart(datFiles->at(i)->data.filename); - wcstombs(tempStr, filenameOnly, 128); - app.DebugPrintf("file : %s\n", tempStr); - - // check the mac address matches - if (wcsncmp(&filenameOnly[macAddrStart], pMacStr, macStr.size()) == 0) { - // check the userID matches - if (wcsncmp(&filenameOnly[userIDStart], pUserStr, userStr.size()) == - 0) { - if (files == NULL) { - files = new std::vector(); - } - files->push_back(datFiles->at(i)); - } - } - } - delete datFiles; - if (files) sort(files->begin(), files->end(), FileEntry::newestFirst); - return files; -} - -std::vector* FileHeader::getDatFilesWithPrimaryUser() { - std::vector* datFiles = getValidPlayerDatFiles(); - if (datFiles == NULL) return NULL; - - // we're just looking for filenames starting with "P_" in these types of - // filenames - P_5e7ff8372ea9_00000004_Mark_4J - std::vector* files = NULL; - - char tempStr[128]; - for (unsigned int i = 0; i < datFiles->size(); ++i) { - wchar_t* filenameOnly = - findFilenameStart(datFiles->at(i)->data.filename); - wcstombs(tempStr, filenameOnly, 128); - app.DebugPrintf("file : %s\n", tempStr); - - // check for "P_" prefix - if (wcsncmp(&filenameOnly[0], L"P_", 2) == 0) { - if (files == NULL) { - files = new std::vector(); - } - files->push_back(datFiles->at(i)); - } - } - delete datFiles; - if (files) sort(files->begin(), files->end(), FileEntry::newestFirst); - return files; -} -#endif // 0 || 0 ByteOrder FileHeader::getEndian(ESavePlatform plat) { ByteOrder platEndian; diff --git a/Minecraft.World/IO/Files/FileHeader.h b/Minecraft.World/IO/Files/FileHeader.h index 7ba61e91a..68cd0505a 100644 --- a/Minecraft.World/IO/Files/FileHeader.h +++ b/Minecraft.World/IO/Files/FileHeader.h @@ -58,17 +58,7 @@ enum ESavePlatform { SAVE_FILE_PLATFORM_PSVITA = MAKE_FOURCC('P', 'S', 'V', '_'), SAVE_FILE_PLATFORM_WIN64 = MAKE_FOURCC('W', 'I', 'N', '_'), -#if 0 - SAVE_FILE_PLATFORM_LOCAL = SAVE_FILE_PLATFORM_X360 -#elif 0 - SAVE_FILE_PLATFORM_LOCAL = SAVE_FILE_PLATFORM_XBONE -#elif 0 - SAVE_FILE_PLATFORM_LOCAL = SAVE_FILE_PLATFORM_PS3 -#elif 0 - SAVE_FILE_PLATFORM_LOCAL = SAVE_FILE_PLATFORM_PS4 -#elif 0 - SAVE_FILE_PLATFORM_LOCAL = SAVE_FILE_PLATFORM_PSVITA -#elif defined _WINDOWS64 +#if defined(_WINDOWS64) SAVE_FILE_PLATFORM_LOCAL = SAVE_FILE_PLATFORM_WIN64 #else // DecalOverdose(HACK + TODO) @@ -161,11 +151,7 @@ private: std::vector fileTable; ESavePlatform m_savePlatform; ByteOrder m_saveEndian; -#if 0 || 0 - static const ByteOrder m_localEndian = BIGENDIAN; -#else static const ByteOrder m_localEndian = LITTLEENDIAN; -#endif short m_saveVersion; short m_originalSaveVersion; @@ -197,13 +183,6 @@ protected: std::vector* getValidPlayerDatFiles(); -#if 0 || 0 || 0 - std::wstring getPlayerDataFilenameForLoad(const PlayerUID& pUID); - std::wstring getPlayerDataFilenameForSave(const PlayerUID& pUID); - std::vector* getDatFilesWithOnlineID(const PlayerUID& pUID); - std::vector* getDatFilesWithMacAndUserID(const PlayerUID& pUID); - std::vector* getDatFilesWithPrimaryUser(); -#endif void setSaveVersion(int version) { m_saveVersion = version; } int getSaveVersion() { return m_saveVersion; } diff --git a/Minecraft.World/IO/Streams/ByteBuffer.cpp b/Minecraft.World/IO/Streams/ByteBuffer.cpp index 67cd23495..358088ee4 100644 --- a/Minecraft.World/IO/Streams/ByteBuffer.cpp +++ b/Minecraft.World/IO/Streams/ByteBuffer.cpp @@ -429,17 +429,3 @@ FloatBuffer* ByteBuffer::asFloatBuffer() { (float*)(buffer + m_position)); } -#if 0 -// we're using the RSX now to upload textures to vram, so we need th main ram -// textures allocated from io space -ByteBuffer_IO::ByteBuffer_IO(unsigned int capacity) - : ByteBuffer(capacity, (uint8_t*)RenderManager.allocIOMem(capacity, 64)) { - memset(buffer, 0, sizeof(uint8_t) * capacity); - byteOrder = BIGENDIAN; -} - -ByteBuffer_IO::~ByteBuffer_IO() { - // delete buffer; - RenderManager.freeIOMem(buffer); -} -#endif // 0 diff --git a/Minecraft.World/IO/Streams/ByteBuffer.h b/Minecraft.World/IO/Streams/ByteBuffer.h index 9d0a201d2..8ef81176a 100644 --- a/Minecraft.World/IO/Streams/ByteBuffer.h +++ b/Minecraft.World/IO/Streams/ByteBuffer.h @@ -42,13 +42,3 @@ public: FloatBuffer* asFloatBuffer(); }; -#if 0 -// we're using the RSX now to upload textures to vram, so we need th main ram -// textures allocated from io space -class ByteBuffer_IO : public ByteBuffer { -public: - ByteBuffer_IO(unsigned int capacity); - ~ByteBuffer_IO(); -}; - -#endif // 0 \ No newline at end of file diff --git a/Minecraft.World/IO/Streams/Compression.cpp b/Minecraft.World/IO/Streams/Compression.cpp index 46f2fa3b6..0088c886d 100644 --- a/Minecraft.World/IO/Streams/Compression.cpp +++ b/Minecraft.World/IO/Streams/Compression.cpp @@ -1,7 +1,6 @@ #include "../../Platform/stdafx.h" #include "Compression.h" -#if 0 || 0 || 0 || \ - defined _WIN64 || defined __linux__ +#if defined(_WIN64) || defined(__linux__) // zconf.h defines "typedef unsigned char Byte" which conflicts with the // project's "class Byte" from BasicTypeContainers.h (via stdafx.h). // Rename zlib's Byte to zlib_Byte before the include so the typedef lands @@ -137,7 +136,7 @@ HRESULT Compression::CompressRLE(void* pDestination, unsigned int* pDestSize, *pDestSize = rleSize; memcpy(pDestination, rleCompressBuf, *pDestSize); } else { -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) assert(false); #endif } @@ -247,18 +246,12 @@ HRESULT Compression::Compress(void* pDestination, unsigned int* pDestSize, void* pSource, unsigned int SrcSize) { // Using zlib for x64 compression - 360 is using native 360 compression and // PS3 a stubbed non-compressing version of this -#if 0 || 0 || defined _WIN64 || \ - 0 || defined __linux__ +#if defined(_WIN64) || defined(__linux__) SIZE_T destSize = (SIZE_T)(*pDestSize); int res = ::compress((Bytef*)pDestination, (uLongf*)&destSize, (Bytef*)pSource, SrcSize); *pDestSize = (unsigned int)destSize; return ((res == Z_OK) ? S_OK : -1); -#elif 0 - std::uint32_t destSize = (std::uint32_t)(*pDestSize); - bool res = EdgeZLib::Compress(pDestination, &destSize, pSource, SrcSize); - *pDestSize = (unsigned int)destSize; - return ((res) ? S_OK : -1); #else SIZE_T destSize = (SIZE_T)(*pDestSize); HRESULT res = XMemCompress(compressionContext, pDestination, &destSize, @@ -281,18 +274,12 @@ HRESULT Compression::Decompress(void* pDestination, unsigned int* pDestSize, // Using zlib for x64 compression - 360 is using native 360 compression and // PS3 a stubbed non-compressing version of this -#if 0 || 0 || defined _WIN64 || \ - 0 || defined __linux__ +#if defined(_WIN64) || defined(__linux__) SIZE_T destSize = (SIZE_T)(*pDestSize); int res = ::uncompress((Bytef*)pDestination, (uLongf*)&destSize, (Bytef*)pSource, SrcSize); *pDestSize = (unsigned int)destSize; return ((res == Z_OK) ? S_OK : -1); -#elif 0 - std::uint32_t destSize = (std::uint32_t)(*pDestSize); - bool res = EdgeZLib::Decompress(pDestination, &destSize, pSource, SrcSize); - *pDestSize = (unsigned int)destSize; - return ((res) ? S_OK : -1); #else SIZE_T destSize = (SIZE_T)(*pDestSize); HRESULT res = XMemDecompress(decompressionContext, pDestination, @@ -304,7 +291,6 @@ HRESULT Compression::Decompress(void* pDestination, unsigned int* pDestSize, // MGH - same as VirtualDecompress in PSVitaStubs, but for use on other // platforms (so no virtual mem stuff) -#if 1 void Compression::VitaVirtualDecompress( void* pDestination, unsigned int* pDestSize, void* pSource, unsigned int SrcSize) // (LPVOID buf, SIZE_T dwSize, LPVOID dst) @@ -334,7 +320,6 @@ void Compression::VitaVirtualDecompress( } *pDestSize = Offset; } -#endif HRESULT Compression::DecompressWithType(void* pDestination, unsigned int* pDestSize, void* pSource, @@ -347,7 +332,7 @@ HRESULT Compression::DecompressWithType(void* pDestination, *pDestSize = SrcSize; return S_OK; case eCompressionType_LZXRLE: { -#if (0 || 0 || defined _WIN64) +#if defined(_WIN64) SIZE_T destSize = (SIZE_T)(*pDestSize); HRESULT res = XMemDecompress(decompressionContext, pDestination, (SIZE_T*)&destSize, pSource, SrcSize); @@ -358,8 +343,7 @@ HRESULT Compression::DecompressWithType(void* pDestination, #endif } break; case eCompressionType_ZLIBRLE: -#if (0 || 0 || 0 || \ - defined _WIN64 || defined __linux__) +#if defined(_WIN64) || defined(__linux__) if (pDestination != NULL) return ::uncompress( (Bytef*)pDestination, (unsigned long*)pDestSize, @@ -371,8 +355,7 @@ HRESULT Compression::DecompressWithType(void* pDestination, break; #endif case eCompressionType_PS3ZLIB: -#if (0 || 0 || 0 || \ - defined _WIN64) +#if defined(_WIN64) // Note that we're missing the normal zlib header and footer so // we'll use inflate to decompress the payload and skip all the CRC // checking, etc @@ -441,7 +424,6 @@ HRESULT Compression::DecompressWithType(void* pDestination, Compression::Compression() { // Using zlib for x64 compression - 360 is using native 360 compression and // PS3 a stubbed non-compressing version of this -#if !(0 || 0) // The default parameters for compression context allocated about 6.5MB, // reducing the partition size here from the default 512KB to 128KB brings // this down to about 3MB @@ -454,15 +436,8 @@ Compression::Compression() { &compressionContext); XMemCreateDecompressionContext(XMEMCODEC_LZX, ¶ms, 0, &decompressionContext); -#endif -#if 0 - m_localDecompressType = eCompressionType_LZXRLE; -#elif 0 - m_localDecompressType = eCompressionType_PS3ZLIB; -#else m_localDecompressType = eCompressionType_ZLIBRLE; -#endif m_decompressType = m_localDecompressType; InitializeCriticalSection(&rleCompressLock); @@ -470,11 +445,9 @@ Compression::Compression() { } Compression::~Compression() { -#if !(0 || 0 || 0) XMemDestroyCompressionContext(compressionContext); XMemDestroyDecompressionContext(decompressionContext); -#endif DeleteCriticalSection(&rleCompressLock); DeleteCriticalSection(&rleDecompressLock); } diff --git a/Minecraft.World/IO/Streams/Compression.h b/Minecraft.World/IO/Streams/Compression.h index 6a134af23..8b1310810 100644 --- a/Minecraft.World/IO/Streams/Compression.h +++ b/Minecraft.World/IO/Streams/Compression.h @@ -47,11 +47,9 @@ public: void* pSource, unsigned int SrcSize); HRESULT DecompressRLE(void* pDestination, unsigned int* pDestSize, void* pSource, unsigned int SrcSize); -#if 1 static void VitaVirtualDecompress(void* pDestination, unsigned int* pDestSize, void* pSource, unsigned int SrcSize); -#endif void SetDecompressionType(ECompressionTypes type) { m_decompressType = type; @@ -67,11 +65,8 @@ private: HRESULT DecompressWithType(void* pDestination, unsigned int* pDestSize, void* pSource, unsigned int SrcSize); -#if 0 || 0 -#else XMEMCOMPRESSION_CONTEXT compressionContext; XMEMDECOMPRESSION_CONTEXT decompressionContext; -#endif CRITICAL_SECTION rleCompressLock; CRITICAL_SECTION rleDecompressLock; @@ -84,11 +79,8 @@ private: // extern Compression gCompression; -#if 0 || 0 || defined _WIN64 || \ - 0 || defined __linux__ +#if defined(_WIN64) || defined(__linux__) #define APPROPRIATE_COMPRESSION_TYPE Compression::eCompressionType_ZLIBRLE -#elif 0 -#define APPROPRIATE_COMPRESSION_TYPE Compression::eCompressionType_PS3ZLIB #else #define APPROPRIATE_COMPRESSION_TYPE Compression::eCompressionType_LZXRLE #endif diff --git a/Minecraft.World/IO/Streams/DataInputStream.cpp b/Minecraft.World/IO/Streams/DataInputStream.cpp index a5c080000..6393b4e4c 100644 --- a/Minecraft.World/IO/Streams/DataInputStream.cpp +++ b/Minecraft.World/IO/Streams/DataInputStream.cpp @@ -590,14 +590,7 @@ int DataInputStream::readUTFChar() { // 4J Added PlayerUID DataInputStream::readPlayerUID() { PlayerUID returnValue; -#if 0 || 0 || 0 - for (int idPos = 0; idPos < sizeof(PlayerUID); idPos++) - ((char*)&returnValue)[idPos] = readByte(); -#elif 0 - returnValue = readUTF(); -#else returnValue = readLong(); -#endif // PS3 return returnValue; } diff --git a/Minecraft.World/IO/Streams/DataOutputStream.cpp b/Minecraft.World/IO/Streams/DataOutputStream.cpp index 1a93a3479..3a5bd8a12 100644 --- a/Minecraft.World/IO/Streams/DataOutputStream.cpp +++ b/Minecraft.World/IO/Streams/DataOutputStream.cpp @@ -255,12 +255,5 @@ void DataOutputStream::writeUTF(const std::wstring& str) { // 4J Added void DataOutputStream::writePlayerUID(PlayerUID player) { -#if 0 || 0 || 0 - for (int idPos = 0; idPos < sizeof(PlayerUID); idPos++) - writeByte(((char*)&player)[idPos]); -#elif 0 - writeUTF(player.toString()); -#else writeLong(player); -#endif // PS3 } diff --git a/Minecraft.World/Items/ClockItem.cpp b/Minecraft.World/Items/ClockItem.cpp index 0cfa425a5..f8b83b397 100644 --- a/Minecraft.World/Items/ClockItem.cpp +++ b/Minecraft.World/Items/ClockItem.cpp @@ -4,13 +4,8 @@ #include "../../Minecraft.Client/Player/MultiPlayerLocalPlayer.h" #include "../Headers/net.minecraft.world.h" -#if 0 -const std::wstring ClockItem::TEXTURE_PLAYER_ICON[XUSER_MAX_COUNT] = { - L"clockP0"}; -#else const std::wstring ClockItem::TEXTURE_PLAYER_ICON[XUSER_MAX_COUNT] = { L"clockP0", L"clockP1", L"clockP2", L"clockP3"}; -#endif ClockItem::ClockItem(int id) : Item(id) { icons = NULL; } diff --git a/Minecraft.World/Items/CompassItem.cpp b/Minecraft.World/Items/CompassItem.cpp index 5c0306579..8bfde3fc1 100644 --- a/Minecraft.World/Items/CompassItem.cpp +++ b/Minecraft.World/Items/CompassItem.cpp @@ -4,13 +4,8 @@ #include "../../Minecraft.Client/Player/MultiPlayerLocalPlayer.h" #include "../Headers/net.minecraft.world.h" -#if 0 -const std::wstring CompassItem::TEXTURE_PLAYER_ICON[XUSER_MAX_COUNT] = { - L"compassP0"}; -#else const std::wstring CompassItem::TEXTURE_PLAYER_ICON[XUSER_MAX_COUNT] = { L"compassP0", L"compassP1", L"compassP2", L"compassP3"}; -#endif CompassItem::CompassItem(int id) : Item(id) { icons = NULL; } diff --git a/Minecraft.World/Items/FoodItem.cpp b/Minecraft.World/Items/FoodItem.cpp index 45d6ea314..fd34b94be 100644 --- a/Minecraft.World/Items/FoodItem.cpp +++ b/Minecraft.World/Items/FoodItem.cpp @@ -77,12 +77,6 @@ std::shared_ptr FoodItem::use( // 4J : WESTY : Other award ... eating cooked pork chop. // 4J-JEV: This is just for an avatar award on the xbox. -#if 0 - if (instance->getItem() == Item::porkChop_cooked) { - player->awardStat(GenericStats::eatPorkChop(), - GenericStats::param_eatPorkChop()); - } -#endif return instance; } diff --git a/Minecraft.World/Items/TileItems/SkullItem.cpp b/Minecraft.World/Items/TileItems/SkullItem.cpp index 23e2a0609..8679b57b7 100644 --- a/Minecraft.World/Items/TileItems/SkullItem.cpp +++ b/Minecraft.World/Items/TileItems/SkullItem.cpp @@ -117,13 +117,6 @@ unsigned int SkullItem::getDescriptionId( std::wstring SkullItem::getHoverName( std::shared_ptr itemInstance) { -#if 0 - if (itemInstance->getAuxValue() == SkullTileEntity::TYPE_CHAR && itemInstance->hasTag() && itemInstance->getTag()->contains(L"SkullOwner")) - { - return I18n.get("item.skull.player.name", itemInstance->getTag()->getString(L"SkullOwner")); - } - else -#endif { return Item::getHoverName(itemInstance); } diff --git a/Minecraft.World/Level/CustomLevelSource.cpp b/Minecraft.World/Level/CustomLevelSource.cpp index 540b5f237..107082b74 100644 --- a/Minecraft.World/Level/CustomLevelSource.cpp +++ b/Minecraft.World/Level/CustomLevelSource.cpp @@ -16,16 +16,16 @@ const double CustomLevelSource::SNOW_CUTOFF = 0.5; CustomLevelSource::CustomLevelSource(Level* level, int64_t seed, bool generateStructures) : generateStructures(generateStructures) { -#ifdef _OVERRIDE_HEIGHTMAP +#if defined(_OVERRIDE_HEIGHTMAP) m_XZSize = level->getLevelData()->getXZSize(); m_heightmapOverride = byteArray((m_XZSize * 16) * (m_XZSize * 16)); -#ifdef _UNICODE +#if defined(_UNICODE) std::wstring path = L"GAME:\\GameRules\\heightmap.bin"; #else -#ifdef _WINDOWS64 +#if defined(_WINDOWS64) std::string path = "GameRules\\heightmap.bin"; #else std::string path = "GAME:\\GameRules\\heightmap.bin"; @@ -38,12 +38,7 @@ CustomLevelSource::CustomLevelSource(Level* level, int64_t seed, DWORD error = GetLastError(); assert(false); } else { -#if 0 - __debugbreak(); // TODO - DWORD bytesRead, dwFileSize = 0; -#else DWORD bytesRead, dwFileSize = GetFileSize(file, NULL); -#endif if (dwFileSize > m_heightmapOverride.length) { app.DebugPrintf("Heightmap binary is too large!!\n"); __debugbreak(); @@ -59,11 +54,11 @@ CustomLevelSource::CustomLevelSource(Level* level, int64_t seed, m_waterheightOverride = byteArray((m_XZSize * 16) * (m_XZSize * 16)); -#ifdef _UNICODE +#if defined(_UNICODE) std::wstring waterHeightPath = L"GAME:\\GameRules\\waterheight.bin"; #else -#ifdef _WINDOWS64 +#if defined(_WINDOWS64) std::string waterHeightPath = "GameRules\\waterheight.bin"; #else std::string waterHeightPath = "GAME:\\GameRules\\waterheight.bin"; @@ -77,12 +72,7 @@ CustomLevelSource::CustomLevelSource(Level* level, int64_t seed, memset(m_waterheightOverride.data, level->seaLevel, m_waterheightOverride.length); } else { -#if 0 - __debugbreak(); // TODO - DWORD bytesRead, dwFileSize = 0; -#else DWORD bytesRead, dwFileSize = GetFileSize(file, NULL); -#endif if (dwFileSize > m_waterheightOverride.length) { app.DebugPrintf("waterheight binary is too large!!\n"); __debugbreak(); @@ -114,7 +104,7 @@ CustomLevelSource::CustomLevelSource(Level* level, int64_t seed, } CustomLevelSource::~CustomLevelSource() { -#ifdef _OVERRIDE_HEIGHTMAP +#if defined(_OVERRIDE_HEIGHTMAP) delete caveFeature; delete strongholdFeature; delete villageFeature; @@ -127,7 +117,7 @@ CustomLevelSource::~CustomLevelSource() { } void CustomLevelSource::prepareHeights(int xOffs, int zOffs, byteArray blocks) { -#ifdef _OVERRIDE_HEIGHTMAP +#if defined(_OVERRIDE_HEIGHTMAP) int xChunks = 16 / CHUNK_WIDTH; int yChunks = Level::maxBuildHeight / CHUNK_HEIGHT; int waterHeight = level->seaLevel; @@ -249,7 +239,7 @@ void CustomLevelSource::prepareHeights(int xOffs, int zOffs, byteArray blocks) { void CustomLevelSource::buildSurfaces(int xOffs, int zOffs, byteArray blocks, BiomeArray biomes) { -#ifdef _OVERRIDE_HEIGHTMAP +#if defined(_OVERRIDE_HEIGHTMAP) int waterHeight = level->seaLevel; int xMapStart = xOffs + m_XZSize / 2; int zMapStart = zOffs + m_XZSize / 2; @@ -355,7 +345,7 @@ void CustomLevelSource::buildSurfaces(int xOffs, int zOffs, byteArray blocks, } LevelChunk* CustomLevelSource::create(int x, int z) { -#ifdef _OVERRIDE_HEIGHTMAP +#if defined(_OVERRIDE_HEIGHTMAP) return getChunk(x, z); #else return NULL; @@ -363,7 +353,7 @@ LevelChunk* CustomLevelSource::create(int x, int z) { } LevelChunk* CustomLevelSource::getChunk(int xOffs, int zOffs) { -#ifdef _OVERRIDE_HEIGHTMAP +#if defined(_OVERRIDE_HEIGHTMAP) random->setSeed(xOffs * 341873128712l + zOffs * 132897987541l); // 4J - now allocating this with a physical alloc & bypassing general memory @@ -431,7 +421,7 @@ LevelChunk* CustomLevelSource::getChunk(int xOffs, int zOffs) { // right - this isn't a new fault in the 360 version, have checked that java // does the same. void CustomLevelSource::lightChunk(LevelChunk* lc) { -#ifdef _OVERRIDE_HEIGHTMAP +#if defined(_OVERRIDE_HEIGHTMAP) lc->recalcHeightmap(); #endif } @@ -439,7 +429,7 @@ void CustomLevelSource::lightChunk(LevelChunk* lc) { bool CustomLevelSource::hasChunk(int x, int y) { return true; } void CustomLevelSource::calcWaterDepths(ChunkSource* parent, int xt, int zt) { -#ifdef _OVERRIDE_HEIGHTMAP +#if defined(_OVERRIDE_HEIGHTMAP) int xo = xt * 16; int zo = zt * 16; for (int x = 0; x < 16; x++) { @@ -511,7 +501,7 @@ void CustomLevelSource::calcWaterDepths(ChunkSource* parent, int xt, int zt) { // 4J - changed this to used pprandom rather than random, so that we can run it // concurrently with getChunk void CustomLevelSource::postProcess(ChunkSource* parent, int xt, int zt) { -#ifdef _OVERRIDE_HEIGHTMAP +#if defined(_OVERRIDE_HEIGHTMAP) HeavyTile::instaFall = true; int xo = xt * 16; int zo = zt * 16; @@ -538,35 +528,6 @@ void CustomLevelSource::postProcess(ChunkSource* parent, int xt, int zt) { } PIXEndNamedEvent(); -#if 0 - PIXBeginNamedEvent(0,"Lakes"); - if (!hasVillage && pprandom->nextInt(4) == 0) - { - int x = xo + pprandom->nextInt(16) + 8; - int y = pprandom->nextInt(Level::maxBuildHeight); - int z = zo + pprandom->nextInt(16) + 8; - - LakeFeature *calmWater = new LakeFeature(Tile::calmWater_Id); - calmWater->place(level, pprandom, x, y, z); - delete calmWater; - } - PIXEndNamedEvent(); - - PIXBeginNamedEvent(0,"Lava"); - if (!hasVillage && pprandom->nextInt(8) == 0) - { - int x = xo + pprandom->nextInt(16) + 8; - int y = pprandom->nextInt(pprandom->nextInt(Level::maxBuildHeight - 8) + 8); - int z = zo + pprandom->nextInt(16) + 8; - if (y < level->seaLevel || pprandom->nextInt(10) == 0) - { - LakeFeature *calmLava = new LakeFeature(Tile::calmLava_Id); - calmLava->place(level, pprandom, x, y, z); - delete calmLava; - } - } - PIXEndNamedEvent(); -#endif PIXBeginNamedEvent(0, "Monster rooms"); for (int i = 0; i < 8; i++) { @@ -627,7 +588,7 @@ std::wstring CustomLevelSource::gatherStats() { return L"CustomLevelSource"; } std::vector* CustomLevelSource::getMobsAt( MobCategory* mobCategory, int x, int y, int z) { -#ifdef _OVERRIDE_HEIGHTMAP +#if defined(_OVERRIDE_HEIGHTMAP) Biome* biome = level->getBiome(x, z); if (biome == NULL) { return NULL; @@ -644,7 +605,7 @@ std::vector* CustomLevelSource::getMobsAt( TilePos* CustomLevelSource::findNearestMapFeature( Level* level, const std::wstring& featureName, int x, int y, int z) { -#ifdef _OVERRIDE_HEIGHTMAP +#if defined(_OVERRIDE_HEIGHTMAP) if (LargeFeature::STRONGHOLD == featureName && strongholdFeature != NULL) { return strongholdFeature->getNearestGeneratedFeature(level, x, y, z); } @@ -655,7 +616,7 @@ TilePos* CustomLevelSource::findNearestMapFeature( void CustomLevelSource::recreateLogicStructuresForChunk(int chunkX, int chunkZ) { if (generateStructures) { -#ifdef _OVERRIDE_HEIGHTMAP +#if defined(_OVERRIDE_HEIGHTMAP) mineShaftFeature->apply(this, level, chunkX, chunkZ, byteArray()); villageFeature->apply(this, level, chunkX, chunkZ, byteArray()); strongholdFeature->apply(this, level, chunkX, chunkZ, byteArray()); diff --git a/Minecraft.World/Level/Level.cpp b/Minecraft.World/Level/Level.cpp index 7d35e54cc..5ba25ca56 100644 --- a/Minecraft.World/Level/Level.cpp +++ b/Minecraft.World/Level/Level.cpp @@ -57,7 +57,7 @@ // getBlockingCached methods to get and set data (3) Call flushCache, which // writes through any dirty values in cache -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) // Packing for cache entries in large worlds is as follows ( 64 bits per entry) // Add the extra x and z data into the top 32 bits, to keep all the masks and // code for everything else the same @@ -182,7 +182,7 @@ void inline Level::setBrightnessCached(lightCache_t* cache, uint64_t* cacheUse, int idx = ((x & 15) << 8) | ((y & 15) << 4) | (z & 15); lightCache_t posbits = ((x & 0x3f0) << 6) | ((y & 0x0f0) << 2) | ((z & 0x3f0) >> 4); -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) // Add in the higher bits for x and z posbits |= ((((uint64_t)x) & 0x3FFFC00L) << 38) | ((((uint64_t)z) & 0x3FFFC00L) << 22); @@ -197,7 +197,7 @@ void inline Level::setBrightnessCached(lightCache_t* cache, uint64_t* cacheUse, // Then we need to flush int val = (cacheValue >> LIGHTING_SHIFT) & 15; int xx = ((cacheValue >> 6) & 0x3f0) | (x & 15); -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) xx |= ((cacheValue >> 38) & 0x3FFFC00); xx = (xx << 6) >> 6; // sign extend #else @@ -205,7 +205,7 @@ void inline Level::setBrightnessCached(lightCache_t* cache, uint64_t* cacheUse, #endif int yy = ((cacheValue >> 2) & 0x0f0) | (y & 15); int zz = ((cacheValue << 4) & 0x3f0) | (z & 15); -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) zz |= ((cacheValue >> 22) & 0x3FFFC00); zz = (zz << 6) >> 6; // sign extend #else @@ -242,7 +242,7 @@ inline int Level::getBrightnessCached(lightCache_t* cache, int idx = ((x & 15) << 8) | ((y & 15) << 4) | (z & 15); lightCache_t posbits = ((x & 0x3f0) << 6) | ((y & 0x0f0) << 2) | ((z & 0x3f0) >> 4); -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) // Add in the higher bits for x and z posbits |= ((((uint64_t)x) & 0x3FFFC00L) << 38) | ((((uint64_t)z) & 0x3FFFC00L) << 22); @@ -256,7 +256,7 @@ inline int Level::getBrightnessCached(lightCache_t* cache, // Then we need to flush int val = (cacheValue >> LIGHTING_SHIFT) & 15; int xx = ((cacheValue >> 6) & 0x3f0) | (x & 15); -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) xx |= ((cacheValue >> 38) & 0x3FFFC00); xx = (xx << 6) >> 6; // sign extend #else @@ -264,7 +264,7 @@ inline int Level::getBrightnessCached(lightCache_t* cache, #endif int yy = ((cacheValue >> 2) & 0x0f0) | (y & 15); int zz = ((cacheValue << 4) & 0x3f0) | (z & 15); -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) zz |= ((cacheValue >> 22) & 0x3FFFC00); zz = (zz << 6) >> 6; // sign extend #else @@ -301,7 +301,7 @@ inline int Level::getEmissionCached(lightCache_t* cache, int ct, int x, int y, int idx = ((x & 15) << 8) | ((y & 15) << 4) | (z & 15); lightCache_t posbits = ((x & 0x3f0) << 6) | ((y & 0x0f0) << 2) | ((z & 0x3f0) >> 4); -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) // Add in the higher bits for x and z posbits |= ((((uint64_t)x) & 0x3FFFC00) << 38) | ((((uint64_t)z) & 0x3FFFC00) << 22); @@ -315,7 +315,7 @@ inline int Level::getEmissionCached(lightCache_t* cache, int ct, int x, int y, // Then we need to flush int val = (cacheValue >> LIGHTING_SHIFT) & 15; int xx = ((cacheValue >> 6) & 0x3f0) | (x & 15); -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) xx |= ((cacheValue >> 38) & 0x3FFFC00); xx = (xx << 6) >> 6; // sign extend #else @@ -323,7 +323,7 @@ inline int Level::getEmissionCached(lightCache_t* cache, int ct, int x, int y, #endif int yy = ((cacheValue >> 2) & 0x0f0) | (y & 15); int zz = ((cacheValue << 4) & 0x3f0) | (z & 15); -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) zz |= ((cacheValue >> 22) & 0x3FFFC00); zz = (zz << 6) >> 6; // sign extend #else @@ -369,7 +369,7 @@ inline int Level::getBlockingCached(lightCache_t* cache, int idx = ((x & 15) << 8) | ((y & 15) << 4) | (z & 15); lightCache_t posbits = ((x & 0x3f0) << 6) | ((y & 0x0f0) << 2) | ((z & 0x3f0) >> 4); -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) // Add in the higher bits for x and z posbits |= ((((uint64_t)x) & 0x3FFFC00L) << 38) | ((((uint64_t)z) & 0x3FFFC00L) << 22); @@ -383,7 +383,7 @@ inline int Level::getBlockingCached(lightCache_t* cache, // Then we need to flush int val = (cacheValue >> LIGHTING_SHIFT) & 15; int xx = ((cacheValue >> 6) & 0x3f0) | (x & 15); -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) xx |= ((cacheValue >> 38) & 0x3FFFC00); xx = (xx << 6) >> 6; // sign extend #else @@ -391,7 +391,7 @@ inline int Level::getBlockingCached(lightCache_t* cache, #endif int yy = ((cacheValue >> 2) & 0x0f0) | (y & 15); int zz = ((cacheValue << 4) & 0x3f0) | (z & 15); -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) zz |= ((cacheValue >> 22) & 0x3FFFC00); zz = (zz << 6) >> 6; // sign extend #else @@ -459,7 +459,7 @@ void Level::flushCache(lightCache_t* cache, uint64_t cacheUse, if (cacheValue & LIGHTING_WRITEBACK) { int val = (cacheValue >> LIGHTING_SHIFT) & 15; int xx = ((cacheValue >> 6) & 0x3f0) | (x & 15); -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) xx |= ((cacheValue >> 38) & 0x3FFFC00); xx = (xx << 6) >> 6; // sign extend #else @@ -467,7 +467,7 @@ void Level::flushCache(lightCache_t* cache, uint64_t cacheUse, #endif int yy = ((cacheValue >> 2) & 0x0f0) | (y & 15); int zz = ((cacheValue << 4) & 0x3f0) | (z & 15); -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) zz |= ((cacheValue >> 22) & 0x3FFFC00); zz = (zz << 6) >> 6; // sign extend #else @@ -858,13 +858,13 @@ bool Level::setTileAndData(int x, int y, int z, int tile, int data, oldTile = c->getTile(x & 15, y, z & 15); } bool result; -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) int old = c->getTile(x & 15, y, z & 15); int olddata = c->getData(x & 15, y, z & 15); #endif result = c->setTileAndData(x & 15, y, z & 15, tile, data); if (updateFlags != Tile::UPDATE_INVISIBLE_NO_LIGHT) { -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) PIXBeginNamedEvent(0, "Checking light %d %d %d", x, y, z); PIXBeginNamedEvent(0, "was %d, %d now %d, %d", old, olddata, tile, data); @@ -2138,7 +2138,7 @@ void Level::tickEntities() { } if (!e->removed) { -#ifndef _FINAL_BUILD +#if !defined(_FINAL_BUILD) if (!(app.DebugSettingsOn() && app.GetMobsDontTickEnabled() && e->instanceof(eTYPE_MOB) && !e->instanceof(eTYPE_PLAYER))) #endif @@ -2178,7 +2178,7 @@ void Level::tickEntities() { *it; // tilevector >.at(i); if (!te->isRemoved() && te->hasLevel()) { if (hasChunkAt(te->x, te->y, te->z)) { -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) LevelChunk* lc = getChunk(te->x >> 4, te->z >> 4); if (!isClientSide || !lc->isUnloaded()) #endif @@ -2272,14 +2272,7 @@ void Level::tick(std::shared_ptr e, bool actual) { int xc = Mth::floor(e->x); int zc = Mth::floor(e->z); int r = 32; -#if 0 - // AP - make sure the dragon ticks all the time, even when there aren't any - // chunks. - if (actual && e->GetType() != eTYPE_ENDERDRAGON && - !hasChunksAt(xc - r, 0, zc - r, xc + r, 0, zc + r)) -#else if (actual && !hasChunksAt(xc - r, 0, zc - r, xc + r, 0, zc + r)) -#endif { return; } @@ -2290,13 +2283,7 @@ void Level::tick(std::shared_ptr e, bool actual) { e->yRotO = e->yRot; e->xRotO = e->xRot; -#if 0 - // AP - make sure the dragon ticks all the time, even when there aren't any - // chunks. - if (actual && (e->GetType() == eTYPE_ENDERDRAGON || e->inChunk)) -#else if (actual && e->inChunk) -#endif { e->tickCount++; if (e->riding != NULL) { @@ -2851,7 +2838,7 @@ void Level::prepareWeather() { void Level::tickWeather() { if (dimension->hasCeiling) return; -#ifndef _FINAL_BUILD +#if !defined(_FINAL_BUILD) // debug setting added to disable weather if (app.DebugSettingsOn()) { if (app.GetGameSettingsDebugMask(ProfileManager.GetPrimaryPad()) & @@ -2929,22 +2916,6 @@ void Level::toggleDownfall() { } void Level::buildAndPrepareChunksToPoll() { -#if 0 - AUTO_VAR(itEnd, players.end()); - for (AUTO_VAR(it, players.begin()); it != itEnd; it++) - { - std::shared_ptr player = *it; - int xx = Mth::floor(player->x / 16); - int zz = Mth::floor(player->z / 16); - - int r = CHUNK_POLL_RANGE; - for (int x = -r; x <= r; x++) - for (int z = -r; z <= r; z++) - { - chunksToPoll.insert(ChunkPos(x + xx, z + zz)); - } - } -#else // 4J - rewritten to add chunks interleaved by player, and to add them from // the centre outwards. We're going to be potentially adding less creatures // than the original so that our count stays consistent with number of @@ -2972,7 +2943,6 @@ void Level::buildAndPrepareChunksToPoll() { } delete[] xx; delete[] zz; -#endif if (delayUntilNextMoodSound > 0) delayUntilNextMoodSound--; @@ -3012,15 +2982,9 @@ void Level::tickClientSideTiles(int xo, int zo, LevelChunk* lc) { player->distanceToSqr(x + 0.5, y + 0.5, z + 0.5) > 2 * 2) { // 4J-PB - Fixed issue with cave audio event having 2 sounds at // 192k -#if 0 - this->playSound(x + 0.5, y + 0.5, z + 0.5, - eSoundType_AMBIENT_CAVE_CAVE2, 0.7f, - 0.8f + random->nextFloat() * 0.2f); -#else this->playSound(x + 0.5, y + 0.5, z + 0.5, eSoundType_AMBIENT_CAVE_CAVE, 0.7f, 0.8f + random->nextFloat() * 0.2f); -#endif delayUntilNextMoodSound = random->nextInt(SharedConstants::TICKS_PER_SECOND * 60 * 10) + @@ -3147,18 +3111,6 @@ void Level::checkLight(LightLayer::variety layer, int xc, int yc, int zc, if (!hasChunksAt(xc, yc, zc, 17)) return; } -#if 0 - ///////////////////////////////////////////////////////////////////////////////////////////// - // Get the frequency of the timer - LARGE_INTEGER qwTicksPerSec, qwTime, qwNewTime, qwDeltaTime1, qwDeltaTime2; - float fElapsedTime1 = 0.0f; - float fElapsedTime2 = 0.0f; - QueryPerformanceFrequency( &qwTicksPerSec ); - float fSecsPerTick = 1.0f / (float)qwTicksPerSec.QuadPart; - - QueryPerformanceCounter( &qwTime ); - ///////////////////////////////////////////////////////////////////////////////////////////// -#endif EnterCriticalSection(&m_checkLightCS); @@ -3386,28 +3338,8 @@ void Level::checkLight(LightLayer::variety layer, int xc, int yc, int zc, } } // if( cache ) XUnlockL2(XLOCKL2_INDEX_TITLE); -#if 0 - QueryPerformanceCounter( &qwNewTime ); - qwDeltaTime1.QuadPart = qwNewTime.QuadPart - qwTime.QuadPart; - qwTime = qwNewTime; -#endif flushCache(cache, cacheUse, layer); -#if 0 - ///////////////////////////////////////////////////////////////// - if( cache ) - { - QueryPerformanceCounter( &qwNewTime ); - qwDeltaTime2.QuadPart = qwNewTime.QuadPart - qwTime.QuadPart; - fElapsedTime1 = fSecsPerTick * static_cast(qwDeltaTime1.QuadPart); - fElapsedTime2 = fSecsPerTick * static_cast(qwDeltaTime2.QuadPart); - if( ( darktcc > 0 ) | ( tcc > 0 ) ) - { - printf("%d %d %d %f + %f = %f\n", darktcc, tcc, darktcc + tcc, fElapsedTime1 * 1000.0f, fElapsedTime2 * 1000.0f, ( fElapsedTime1 + fElapsedTime2 ) * 1000.0f); - } - } - ///////////////////////////////////////////////////////////////// -#endif LeaveCriticalSection(&m_checkLightCS); } @@ -3432,15 +3364,6 @@ std::vector >* Level::getEntities( int zc0 = Mth::floor((bb->z0 - 2) / 16); int zc1 = Mth::floor((bb->z1 + 2) / 16); -#if 0 -#ifdef _ENTITIES_RW_SECTION - // AP - RW critical sections are expensive so enter it here so we only have - // to call it once instead of X times - EnterCriticalRWSection(&LevelChunk::m_csEntities, false); -#else - EnterCriticalSection(&LevelChunk::m_csEntities); -#endif -#endif for (int xc = xc0; xc <= xc1; xc++) for (int zc = zc0; zc <= zc1; zc++) { @@ -3450,13 +3373,6 @@ std::vector >* Level::getEntities( } MemSect(0); -#if 0 -#ifdef _ENTITIES_RW_SECTION - LeaveCriticalRWSection(&LevelChunk::m_csEntities, false); -#else - LeaveCriticalSection(&LevelChunk::m_csEntities); -#endif -#endif return &es; } @@ -3475,15 +3391,6 @@ std::vector >* Level::getEntitiesOfClass( std::vector >* es = new std::vector >(); -#if 0 -#ifdef _ENTITIES_RW_SECTION - // AP - RW critical sections are expensive so enter it here so we only have - // to call it once instead of X times - EnterCriticalRWSection(&LevelChunk::m_csEntities, false); -#else - EnterCriticalSection(&LevelChunk::m_csEntities); -#endif -#endif for (int xc = xc0; xc <= xc1; xc++) { for (int zc = zc0; zc <= zc1; zc++) { @@ -3494,13 +3401,6 @@ std::vector >* Level::getEntitiesOfClass( } } -#if 0 -#ifdef _ENTITIES_RW_SECTION - LeaveCriticalRWSection(&LevelChunk::m_csEntities, false); -#else - LeaveCriticalSection(&LevelChunk::m_csEntities); -#endif -#endif return es; } @@ -3538,22 +3438,6 @@ void Level::tileEntityChanged(int x, int y, int z, } } -#if 0 -unsigned int Level::countInstanceOf(BaseObject::Class *clas) -{ - unsigned int count = 0; - EnterCriticalSection(&m_entitiesCS); - AUTO_VAR(itEnd, entities.end()); - for (AUTO_VAR(it, entities.begin()); it != itEnd; it++) - { - std::shared_ptr e = *it;//entities.at(i); - if (clas->isAssignableFrom(e->getClass())) count++; - } - LeaveCriticalSection(&m_entitiesCS); - - return count; -} -#endif // 4J - added - more limited (but faster) version of above, used to count water // animals, animals, monsters for the mob spawner singleType flag should be true diff --git a/Minecraft.World/Level/Level.h b/Minecraft.World/Level/Level.h index 599a86dcc..49ff45f89 100644 --- a/Minecraft.World/Level/Level.h +++ b/Minecraft.World/Level/Level.h @@ -47,7 +47,7 @@ class GameRules; class Level : public LevelSource { public: -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) using lightCache_t = uint64_t; #else using lightCache_t = unsigned int; @@ -289,7 +289,7 @@ public: static const int LIGHTING_SHIFT = 24; static const int BLOCKING_SHIFT = 20; static const int EMISSION_SHIFT = 16; -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) static const int64_t LIGHTING_WRITEBACK = 0x80000000LL; static const int64_t EMISSION_VALID = 0x40000000LL; static const int64_t BLOCKING_VALID = 0x20000000LL; @@ -447,12 +447,7 @@ public: void toggleDownfall(); protected: -#if 0 - // AP - See CustomSet.h for an explanation of this - CustomSet chunksToPoll; -#else std::unordered_set chunksToPoll; -#endif private: int delayUntilNextMoodSound; diff --git a/Minecraft.World/Level/LevelChunk.cpp b/Minecraft.World/Level/LevelChunk.cpp index 618e78fac..2e36fa6bf 100644 --- a/Minecraft.World/Level/LevelChunk.cpp +++ b/Minecraft.World/Level/LevelChunk.cpp @@ -19,10 +19,10 @@ #include "../Entities/ItemEntity.h" #include "../Entities/Mobs/Minecart.h" -#ifdef SHARING_ENABLED +#if defined(SHARING_ENABLED) CRITICAL_SECTION LevelChunk::m_csSharing; #endif -#ifdef _ENTITIES_RW_SECTION +#if defined(_ENTITIES_RW_SECTION) // AP - use a RW critical section so we can have multiple threads reading the // same data to avoid a clash CRITICAL_RW_SECTION LevelChunk::m_csEntities; @@ -33,10 +33,10 @@ CRITICAL_SECTION LevelChunk::m_csTileEntities; bool LevelChunk::touchedSky = false; void LevelChunk::staticCtor() { -#ifdef SHARING_ENABLED +#if defined(SHARING_ENABLED) InitializeCriticalSection(&m_csSharing); #endif -#ifdef _ENTITIES_RW_SECTION +#if defined(_ENTITIES_RW_SECTION) InitializeCriticalRWSection(&m_csEntities); #else InitializeCriticalSection(&m_csEntities); @@ -49,14 +49,14 @@ void LevelChunk::init(Level* level, int x, int z) { for (int i = 0; i < 16 * 16; i++) { biomes[i] = 0xff; } -#ifdef _ENTITIES_RW_SECTION +#if defined(_ENTITIES_RW_SECTION) EnterCriticalRWSection(&m_csEntities, true); #else EnterCriticalSection(&m_csEntities); #endif entityBlocks = new std::vector >*[ENTITY_BLOCKS_LENGTH]; -#ifdef _ENTITIES_RW_SECTION +#if defined(_ENTITIES_RW_SECTION) LeaveCriticalRWSection(&m_csEntities, true); #else LeaveCriticalSection(&m_csEntities); @@ -80,7 +80,7 @@ void LevelChunk::init(Level* level, int x, int z) { this->z = z; MemSect(1); heightmap = byteArray(16 * 16); -#ifdef _ENTITIES_RW_SECTION +#if defined(_ENTITIES_RW_SECTION) EnterCriticalRWSection(&m_csEntities, true); #else EnterCriticalSection(&m_csEntities); @@ -88,7 +88,7 @@ void LevelChunk::init(Level* level, int x, int z) { for (int i = 0; i < ENTITY_BLOCKS_LENGTH; i++) { entityBlocks[i] = new std::vector >(); } -#ifdef _ENTITIES_RW_SECTION +#if defined(_ENTITIES_RW_SECTION) LeaveCriticalRWSection(&m_csEntities, true); #else LeaveCriticalSection(&m_csEntities); @@ -117,7 +117,7 @@ void LevelChunk::init(Level* level, int x, int z) { // the the initialisation block array. emissiveAdded = true; -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) m_bUnloaded = false; // 4J Added m_unloadedEntitiesTag = NULL; #endif @@ -147,7 +147,7 @@ LevelChunk::LevelChunk(Level* level, int x, int z) upperBlockLight = NULL; } -#ifdef SHARING_ENABLED +#if defined(SHARING_ENABLED) sharingTilesAndData = false; #endif } @@ -201,7 +201,7 @@ LevelChunk::LevelChunk(Level* level, byteArray blocks, int x, int z) } serverTerrainPopulated = NULL; -#ifdef SHARING_ENABLED +#if defined(SHARING_ENABLED) sharingTilesAndData = false; #endif } @@ -217,7 +217,7 @@ LevelChunk::LevelChunk(Level* level, int x, int z, LevelChunk* lc) // 4J Stu - Copy over the biome data memcpy(biomes.data, lc->biomes.data, biomes.length); -#ifdef SHARING_ENABLED +#if defined(SHARING_ENABLED) lowerBlocks = lc->lowerBlocks; lowerData = lc->lowerData; lowerSkyLight = new SparseLightStorage(lc->lowerSkyLight); @@ -240,7 +240,7 @@ LevelChunk::LevelChunk(Level* level, int x, int z, LevelChunk* lc) // 4J Added so we can track unsaved chunks better void LevelChunk::setUnsaved(bool unsaved) { -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) if (m_unsaved != unsaved) { if (unsaved) level->incrementUnsavedChunkCount(); @@ -252,7 +252,7 @@ void LevelChunk::setUnsaved(bool unsaved) { } void LevelChunk::stopSharingTilesAndData() { -#ifdef SHARING_ENABLED +#if defined(SHARING_ENABLED) EnterCriticalSection(&m_csSharing); lastUnsharedTime = System::currentTimeMillis(); if (!sharingTilesAndData) { @@ -321,7 +321,7 @@ void LevelChunk::stopSharingTilesAndData() { // the server. So generally like stop sharing, for the case where we're already // not sharing void LevelChunk::reSyncLighting() { -#ifdef SHARING_ENABLED +#if defined(SHARING_ENABLED) EnterCriticalSection(&m_csSharing); if (isEmpty()) { @@ -329,7 +329,7 @@ void LevelChunk::reSyncLighting() { return; } -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) LevelChunk* lc = MinecraftServer::getInstance() ->getLevel(level->dimension->id) ->cache->getChunkLoadedOrUnloaded(x, z); @@ -359,7 +359,7 @@ void LevelChunk::reSyncLighting() { } void LevelChunk::startSharingTilesAndData(int forceMs) { -#ifdef SHARING_ENABLED +#if defined(SHARING_ENABLED) EnterCriticalSection(&m_csSharing); if (sharingTilesAndData) { LeaveCriticalSection(&m_csSharing); @@ -375,7 +375,7 @@ void LevelChunk::startSharingTilesAndData(int forceMs) { return; } -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) LevelChunk* lc = MinecraftServer::getInstance() ->getLevel(level->dimension->id) ->cache->getChunkLoadedOrUnloaded(x, z); @@ -434,7 +434,7 @@ void LevelChunk::startSharingTilesAndData(int forceMs) { } LevelChunk::~LevelChunk() { -#ifdef SHARING_ENABLED +#if defined(SHARING_ENABLED) if (!sharingTilesAndData) #endif { @@ -456,7 +456,7 @@ LevelChunk::~LevelChunk() { delete[] biomes.data; -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) delete m_unloadedEntitiesTag; #endif } @@ -481,11 +481,6 @@ int LevelChunk::getHighestSectionPosition() { void LevelChunk::recalcBlockLights() {} void LevelChunk::recalcHeightmapOnly() { -#if 0 - // AP - lets fetch ALL the chunk data at the same time for a good speed up - byteArray blockData = byteArray(Level::CHUNK_TILE_COUNT); - getBlockData(blockData); -#endif int min = Level::maxBuildHeight - 1; for (int x = 0; x < 16; x++) @@ -497,29 +492,6 @@ void LevelChunk::recalcHeightmapOnly() { int y = Level::maxBuildHeight - 1; // int p = x << level->depthBitsPlusFour | z << // level->depthBits; // 4J - removed -#if 0 - int Index = ((unsigned)x << 11) + ((unsigned)z << 7); - int offset = Level::COMPRESSED_CHUNK_SECTION_TILES; - y = 127; - while (y > 0 && - Tile::lightBlock[blockData[Index + offset + (y - 1)]] == - 0) // 4J - was blocks->get() was blocks[p + y - 1] - { - y--; - } - if (y == 0) { - offset = 0; - y = 127; - while (y > 0 && - Tile::lightBlock[blockData[Index + offset + (y - 1)]] == - 0) // 4J - was blocks->get() was blocks[p + y - 1] - { - y--; - } - } else { - y += 128; - } -#else CompressedTileStorage* blocks = (y - 1) >= Level::COMPRESSED_CHUNK_SECTION_HEIGHT ? upperBlocks : lowerBlocks; @@ -538,7 +510,6 @@ void LevelChunk::recalcHeightmapOnly() { ? upperBlocks : lowerBlocks; } -#endif heightmap[(unsigned)z << 4 | x] = (uint8_t)y; if (y < min) min = y; } @@ -546,17 +517,9 @@ void LevelChunk::recalcHeightmapOnly() { this->minHeight = min; this->setUnsaved(true); -#if 0 - delete blockData.data; -#endif } void LevelChunk::recalcHeightmap() { -#if 0 - // AP - lets fetch ALL the chunk data at the same time for a good speed up - byteArray blockData = byteArray(Level::CHUNK_TILE_COUNT); - getBlockData(blockData); -#endif lowestHeightmap = std::numeric_limits::max(); int min = Level::maxBuildHeight - 1; @@ -566,29 +529,6 @@ void LevelChunk::recalcHeightmap() { // int p = x << level->depthBitsPlusFour | z << // level->depthBits; // 4J - removed -#if 0 - int Index = ((unsigned)x << 11) + ((unsigned)z << 7); - int offset = Level::COMPRESSED_CHUNK_SECTION_TILES; - y = 127; - while (y > 0 && - Tile::lightBlock[blockData[Index + offset + (y - 1)]] == - 0) // 4J - was blocks->get() was blocks[p + y - 1] - { - y--; - } - if (y == 0) { - offset = 0; - y = 127; - while (y > 0 && - Tile::lightBlock[blockData[Index + offset + (y - 1)]] == - 0) // 4J - was blocks->get() was blocks[p + y - 1] - { - y--; - } - } else { - y += 128; - } -#else CompressedTileStorage* blocks = (y - 1) >= Level::COMPRESSED_CHUNK_SECTION_HEIGHT ? upperBlocks : lowerBlocks; @@ -607,7 +547,6 @@ void LevelChunk::recalcHeightmap() { ? upperBlocks : lowerBlocks; } -#endif heightmap[(unsigned)z << 4 | x] = (uint8_t)y; if (y < min) min = y; if (y < lowestHeightmap) lowestHeightmap = y; @@ -615,37 +554,6 @@ void LevelChunk::recalcHeightmap() { if (!level->dimension->hasCeiling) { int br = Level::MAX_BRIGHTNESS; int yy = Level::maxBuildHeight - 1; -#if 0 - int offset = Level::COMPRESSED_CHUNK_SECTION_TILES; - SparseLightStorage* skyLight = upperSkyLight; - yy = 127; - do { - br -= - Tile::lightBlock[blockData[Index + offset + - yy]]; // 4J - blocks->get() - // was blocks[p + yy] - if (br > 0) { - skyLight->set(x, yy, z, br); - } - yy--; - } while (yy > 0 && br > 0); - - if (yy == 0 && br > 0) { - offset = 0; - skyLight = lowerSkyLight; - yy = 127; - do { - br -= Tile::lightBlock - [blockData[Index + offset + - yy]]; // 4J - blocks->get() was blocks[p - // + yy] - if (br > 0) { - skyLight->set(x, yy, z, br); - } - yy--; - } while (yy > 0 && br > 0); - } -#else CompressedTileStorage* blocks = yy >= Level::COMPRESSED_CHUNK_SECTION_HEIGHT ? upperBlocks : lowerBlocks; @@ -672,7 +580,6 @@ void LevelChunk::recalcHeightmap() { ? upperSkyLight : lowerSkyLight; } while (yy > 0 && br > 0); -#endif } } @@ -685,9 +592,6 @@ void LevelChunk::recalcHeightmap() { this->setUnsaved(true); -#if 0 - delete blockData.data; -#endif } // 4J - this code is fully commented out in the java version, but we have @@ -1286,13 +1190,13 @@ void LevelChunk::addEntity(std::shared_ptr e) { e->yChunk = yc; e->zChunk = z; -#ifdef _ENTITIES_RW_SECTION +#if defined(_ENTITIES_RW_SECTION) EnterCriticalRWSection(&m_csEntities, true); #else EnterCriticalSection(&m_csEntities); #endif entityBlocks[yc]->push_back(e); -#ifdef _ENTITIES_RW_SECTION +#if defined(_ENTITIES_RW_SECTION) LeaveCriticalRWSection(&m_csEntities, true); #else LeaveCriticalSection(&m_csEntities); @@ -1307,7 +1211,7 @@ void LevelChunk::removeEntity(std::shared_ptr e, int yc) { if (yc < 0) yc = 0; if (yc >= ENTITY_BLOCKS_LENGTH) yc = ENTITY_BLOCKS_LENGTH - 1; -#ifdef _ENTITIES_RW_SECTION +#if defined(_ENTITIES_RW_SECTION) EnterCriticalRWSection(&m_csEntities, true); #else EnterCriticalSection(&m_csEntities); @@ -1320,20 +1224,11 @@ void LevelChunk::removeEntity(std::shared_ptr e, int yc) { // 4J - we don't want storage creeping up here as thinkgs move round the // world accumulating up spare space MemSect(31); -#if 0 - // MGH - have to sort this C++11 code - static bool bShowMsg = true; - if (bShowMsg) { - app.DebugPrintf("Need to add C++11 shrink_to_fit for PS3\n"); - bShowMsg = false; - } -#else entityBlocks[yc]->shrink_to_fit(); -#endif MemSect(0); } -#ifdef _ENTITIES_RW_SECTION +#if defined(_ENTITIES_RW_SECTION) LeaveCriticalRWSection(&m_csEntities, true); #else LeaveCriticalSection(&m_csEntities); @@ -1485,7 +1380,7 @@ void LevelChunk::load() { loaded = true; if (!level->isClientSide) { -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) if (m_bUnloaded && m_unloadedEntitiesTag) { ListTag* entityTags = (ListTag*)m_unloadedEntitiesTag->getList( @@ -1530,7 +1425,7 @@ void LevelChunk::load() { LeaveCriticalSection(&m_csTileEntities); level->addAllPendingTileEntities(values); -#ifdef _ENTITIES_RW_SECTION +#if defined(_ENTITIES_RW_SECTION) EnterCriticalRWSection(&m_csEntities, true); #else EnterCriticalSection(&m_csEntities); @@ -1538,13 +1433,13 @@ void LevelChunk::load() { for (int i = 0; i < ENTITY_BLOCKS_LENGTH; i++) { level->addEntities(entityBlocks[i]); } -#ifdef _ENTITIES_RW_SECTION +#if defined(_ENTITIES_RW_SECTION) LeaveCriticalRWSection(&m_csEntities, true); #else LeaveCriticalSection(&m_csEntities); #endif } else { -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) m_bUnloaded = false; #endif } @@ -1563,7 +1458,7 @@ void LevelChunk::unload(bool unloadTileEntities) // 4J - added parameter LeaveCriticalSection(&m_csTileEntities); } -#ifdef _ENTITIES_RW_SECTION +#if defined(_ENTITIES_RW_SECTION) EnterCriticalRWSection(&m_csEntities, true); #else EnterCriticalSection(&m_csEntities); @@ -1571,14 +1466,14 @@ void LevelChunk::unload(bool unloadTileEntities) // 4J - added parameter for (int i = 0; i < ENTITY_BLOCKS_LENGTH; i++) { level->removeEntities(entityBlocks[i]); } -#ifdef _ENTITIES_RW_SECTION +#if defined(_ENTITIES_RW_SECTION) LeaveCriticalRWSection(&m_csEntities, true); #else LeaveCriticalSection(&m_csEntities); #endif // app.DebugPrintf("Unloaded chunk %d, %d\n", x, z); -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) if (!m_bUnloaded) // 4J-JEV: If we unload a chunk twice, we delete all the // entities/tile-entities its saved in the entitiesTag. { @@ -1636,7 +1531,7 @@ void LevelChunk::unload(bool unloadTileEntities) // 4J - added parameter } bool LevelChunk::containsPlayer() { -#ifdef _ENTITIES_RW_SECTION +#if defined(_ENTITIES_RW_SECTION) EnterCriticalRWSection(&m_csEntities, true); #else EnterCriticalSection(&m_csEntities); @@ -1645,7 +1540,7 @@ bool LevelChunk::containsPlayer() { std::vector >* vecEntity = entityBlocks[i]; for (int j = 0; j < vecEntity->size(); j++) { if (vecEntity->at(j)->GetType() == eTYPE_SERVERPLAYER) { -#ifdef _ENTITIES_RW_SECTION +#if defined(_ENTITIES_RW_SECTION) LeaveCriticalRWSection(&m_csEntities, true); #else LeaveCriticalSection(&m_csEntities); @@ -1654,7 +1549,7 @@ bool LevelChunk::containsPlayer() { } } } -#ifdef _ENTITIES_RW_SECTION +#if defined(_ENTITIES_RW_SECTION) LeaveCriticalRWSection(&m_csEntities, true); #else LeaveCriticalSection(&m_csEntities); @@ -1662,7 +1557,7 @@ bool LevelChunk::containsPlayer() { return false; } -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) bool LevelChunk::isUnloaded() { return m_bUnloaded; } #endif @@ -1676,11 +1571,9 @@ void LevelChunk::getEntities(std::shared_ptr except, AABB* bb, if (yc0 < 0) yc0 = 0; if (yc1 >= ENTITY_BLOCKS_LENGTH) yc1 = ENTITY_BLOCKS_LENGTH - 1; -#if 1 // AP - RW critical sections are expensive so enter once in // Level::getEntities EnterCriticalSection(&m_csEntities); -#endif for (int yc = yc0; yc <= yc1; yc++) { std::vector >* entities = entityBlocks[yc]; @@ -1704,9 +1597,7 @@ void LevelChunk::getEntities(std::shared_ptr except, AABB* bb, } } } -#if 1 LeaveCriticalSection(&m_csEntities); -#endif } void LevelChunk::getEntitiesOfClass(const std::type_info& ec, AABB* bb, @@ -1726,11 +1617,9 @@ void LevelChunk::getEntitiesOfClass(const std::type_info& ec, AABB* bb, yc1 = 0; } -#if 1 // AP - RW critical sections are expensive so enter once in // Level::getEntitiesOfClass EnterCriticalSection(&m_csEntities); -#endif for (int yc = yc0; yc <= yc1; yc++) { std::vector >* entities = entityBlocks[yc]; @@ -1770,14 +1659,12 @@ void LevelChunk::getEntitiesOfClass(const std::type_info& ec, AABB* bb, // baseClass.isAssignableFrom(e.getClass()) } } -#if 1 LeaveCriticalSection(&m_csEntities); -#endif } int LevelChunk::countEntities() { int entityCount = 0; -#ifdef _ENTITIES_RW_SECTION +#if defined(_ENTITIES_RW_SECTION) EnterCriticalRWSection(&m_csEntities, false); #else EnterCriticalSection(&m_csEntities); @@ -1785,7 +1672,7 @@ int LevelChunk::countEntities() { for (int yc = 0; yc < ENTITY_BLOCKS_LENGTH; yc++) { entityCount += (int)entityBlocks[yc]->size(); } -#ifdef _ENTITIES_RW_SECTION +#if defined(_ENTITIES_RW_SECTION) LeaveCriticalRWSection(&m_csEntities, false); #else LeaveCriticalSection(&m_csEntities); @@ -2063,17 +1950,6 @@ Random* LevelChunk::getRandom(int64_t l) { bool LevelChunk::isEmpty() { return false; } void LevelChunk::attemptCompression() { // 4J - removed -#if 0 - try { - ByteArrayOutputStream *baos = new ByteArrayOutputStream(); - GZIPOutputStream *gzos = new GZIPOutputStream(baos); - DataOutputStream *dos = new DataOutputStream(gzos); - dos.close(); - System.out.println("Compressed size: " + baos.toByteArray().length); - } catch (Exception e) { - - } -#endif } void LevelChunk::checkPostProcess(ChunkSource* source, ChunkSource* parent, @@ -2330,7 +2206,7 @@ void LevelChunk::compressLighting() { } void LevelChunk::compressBlocks() { -#ifdef SHARING_ENABLED +#if defined(SHARING_ENABLED) CompressedTileStorage* blocksToCompressLower = NULL; CompressedTileStorage* blocksToCompressUpper = NULL; @@ -2429,7 +2305,7 @@ void LevelChunk::readCompressedBlockLightData(DataInputStream* dis) { // can only compress if the data is being shared, and nothing else is trying to // update it from another thread. void LevelChunk::compressData() { -#ifdef SHARING_ENABLED +#if defined(SHARING_ENABLED) SparseDataStorage* dataToCompressLower = NULL; SparseDataStorage* dataToCompressUpper = NULL; diff --git a/Minecraft.World/Level/LevelChunk.h b/Minecraft.World/Level/LevelChunk.h index 22d0255ea..820f1eac8 100644 --- a/Minecraft.World/Level/LevelChunk.h +++ b/Minecraft.World/Level/LevelChunk.h @@ -17,9 +17,6 @@ class EntitySelector; #define SHARING_ENABLED class TileCompressData_SPU; -#if 0 //0 -#define _ENTITIES_RW_SECTION -#endif class LevelChunk { friend class TileCompressData_SPU; @@ -162,7 +159,7 @@ protected: public: bool dontSave; bool lastSaveHadEntities; -#ifdef SHARING_ENABLED +#if defined(SHARING_ENABLED) bool sharingTilesAndData; // 4J added #endif bool emissiveAdded; // 4J added @@ -175,7 +172,7 @@ public: int lowestHeightmap; int64_t inhabitedTime; -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) bool m_bUnloaded; CompoundTag* m_unloadedEntitiesTag; #endif @@ -242,7 +239,7 @@ public: virtual void load(); virtual void unload(bool unloadTileEntities); // 4J - added parameter virtual bool containsPlayer(); // 4J - added -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) virtual bool isUnloaded(); #endif virtual void markUnsaved(); @@ -271,11 +268,11 @@ public: virtual bool isEmpty(); virtual void attemptCompression(); -#ifdef SHARING_ENABLED +#if defined(SHARING_ENABLED) static CRITICAL_SECTION m_csSharing; // 4J added #endif // 4J added -#ifdef _ENTITIES_RW_SECTION +#if defined(_ENTITIES_RW_SECTION) static CRITICAL_RW_SECTION m_csEntities; // AP - we're using a RW critical so we can do multiple // reads without contention @@ -309,13 +306,13 @@ public: int zs); static void reorderBlocksAndDataToXZY(int y0, int xs, int ys, int zs, byteArray* data); -#ifdef LIGHT_COMPRESSION_STATS +#if defined(LIGHT_COMPRESSION_STATS) int getBlockLightPlanesLower() { return lowerBlockLight->count; } int getSkyLightPlanesLower() { return lowerSkyLight->count; } int getBlockLightPlanesUpper() { return upperBlockLight->count; } int getSkyLightPlanesUpper() { return upperSkyLight->count; } #endif -#ifdef DATA_COMPRESSION_STATS +#if defined(DATA_COMPRESSION_STATS) int getDataPlanes() { return data->count; } #endif }; diff --git a/Minecraft.World/Level/RandomLevelSource.cpp b/Minecraft.World/Level/RandomLevelSource.cpp index cfcd0cb85..9af8d91b8 100644 --- a/Minecraft.World/Level/RandomLevelSource.cpp +++ b/Minecraft.World/Level/RandomLevelSource.cpp @@ -10,15 +10,6 @@ #include "../Headers/net.minecraft.world.entity.h" #include "RandomLevelSource.h" -#if 0 -static PerlinNoise_DataIn g_lperlinNoise1_SPU __attribute__((__aligned__(16))); -static PerlinNoise_DataIn g_lperlinNoise2_SPU __attribute__((__aligned__(16))); -static PerlinNoise_DataIn g_perlinNoise1_SPU __attribute__((__aligned__(16))); -static PerlinNoise_DataIn g_scaleNoise_SPU __attribute__((__aligned__(16))); -static PerlinNoise_DataIn g_depthNoise_SPU __attribute__((__aligned__(16))); -// #define DISABLE_SPU_CODE - -#endif const double RandomLevelSource::SNOW_SCALE = 0.3; const double RandomLevelSource::SNOW_CUTOFF = 0.5; @@ -27,7 +18,7 @@ RandomLevelSource::RandomLevelSource(Level* level, int64_t seed, bool generateStructures) : generateStructures(generateStructures) { m_XZSize = level->getLevelData()->getXZSize(); -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) level->getLevelData()->getMoatFlags(&m_classicEdgeMoat, &m_smallEdgeMoat, &m_mediumEdgeMoat); #endif @@ -95,7 +86,7 @@ int g_numPrepareHeightCalls = 0; LARGE_INTEGER g_totalPrepareHeightsTime = {0, 0}; LARGE_INTEGER g_averagePrepareHeightsTime = {0, 0}; -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) int RandomLevelSource::getMinDistanceToEdge(int xxx, int zzz, int worldSize, float falloffStart) { @@ -227,7 +218,7 @@ float RandomLevelSource::getHeightFalloff(int xxx, int zzz, int* pEMin) { return comp; } -#endif // _LARGE_WORLDS +#endif void RandomLevelSource::prepareHeights(int xOffs, int zOffs, byteArray blocks) { LARGE_INTEGER startTime; @@ -564,30 +555,6 @@ doubleArray RandomLevelSource::getHeights(doubleArray buffer, int x, int y, 0, 500.0); } -#if 0 && !defined DISABLE_SPU_CODE - C4JSpursJobQueue::Port port("C4JSpursJob_PerlinNoise"); - C4JSpursJob_PerlinNoise perlinJob1(&g_scaleNoise_SPU); - C4JSpursJob_PerlinNoise perlinJob2(&g_depthNoise_SPU); - C4JSpursJob_PerlinNoise perlinJob3(&g_perlinNoise1_SPU); - C4JSpursJob_PerlinNoise perlinJob4(&g_lperlinNoise1_SPU); - C4JSpursJob_PerlinNoise perlinJob5(&g_lperlinNoise2_SPU); - - g_scaleNoise_SPU.set(scaleNoise, sr, x, z, xSize, zSize, 1.121, 1.121, 0.5); - g_depthNoise_SPU.set(depthNoise, dr, x, z, xSize, zSize, 200.0, 200.0, 0.5); - g_perlinNoise1_SPU.set(perlinNoise1, pnr, x, y, z, xSize, ySize, zSize, - s / 80.0, hs / 160.0, s / 80.0); - g_lperlinNoise1_SPU.set(lperlinNoise1, ar, x, y, z, xSize, ySize, zSize, s, - hs, s); - g_lperlinNoise2_SPU.set(lperlinNoise2, br, x, y, z, xSize, ySize, zSize, s, - hs, s); - - port.submitJob(&perlinJob1); - port.submitJob(&perlinJob2); - port.submitJob(&perlinJob3); - port.submitJob(&perlinJob4); - port.submitJob(&perlinJob5); - port.waitForCompletion(); -#else sr = scaleNoise->getRegion(sr, x, z, xSize, zSize, 1.121, 1.121, 0.5); dr = depthNoise->getRegion(dr, x, z, xSize, zSize, 200.0, 200.0, 0.5); pnr = perlinNoise1->getRegion(pnr, x, y, z, xSize, ySize, zSize, s / 80.0, @@ -595,7 +562,6 @@ doubleArray RandomLevelSource::getHeights(doubleArray buffer, int x, int y, ar = lperlinNoise1->getRegion(ar, x, y, z, xSize, ySize, zSize, s, hs, s); br = lperlinNoise2->getRegion(br, x, y, z, xSize, ySize, zSize, s, hs, s); -#endif x = z = 0; diff --git a/Minecraft.World/Level/Storage/ChunkStorageProfileDecorator.cpp b/Minecraft.World/Level/Storage/ChunkStorageProfileDecorator.cpp index 983d6fe90..48f93c1a5 100644 --- a/Minecraft.World/Level/Storage/ChunkStorageProfileDecorator.cpp +++ b/Minecraft.World/Level/Storage/ChunkStorageProfileDecorator.cpp @@ -40,12 +40,8 @@ void ChunkStorageProfilerDecorator::tick() { counter++; if (counter > 500) { if (loadCount > 0) { -#ifndef _CONTENT_PACKAGE -#if 0 - sprintf(buf, "Average load time: %f (%lld)", - 0.000001 * (double)timeSpentLoading / (double)loadCount, - loadCount); -#elif defined(__linux__) +#if !defined(_CONTENT_PACKAGE) +#if defined(__linux__) sprintf(buf, "Average load time: %f (%lld)", 0.000001 * (double)timeSpentLoading / (double)loadCount, (long long)loadCount); @@ -58,12 +54,8 @@ void ChunkStorageProfilerDecorator::tick() { #endif } if (saveCount > 0) { -#ifndef _CONTENT_PACKAGE -#if 0 - sprintf(buf, "Average save time: %f (%lld)", - 0.000001 * (double)timeSpentSaving / (double)loadCount, - loadCount); -#elif defined(__linux__) +#if !defined(_CONTENT_PACKAGE) +#if defined(__linux__) sprintf(buf, "Average save time: %f (%lld)", 0.000001 * (double)timeSpentSaving / (double)loadCount, (long long)loadCount); diff --git a/Minecraft.World/Level/Storage/CompressedTileStorage.cpp b/Minecraft.World/Level/Storage/CompressedTileStorage.cpp index a7750056f..fe7c580bd 100644 --- a/Minecraft.World/Level/Storage/CompressedTileStorage.cpp +++ b/Minecraft.World/Level/Storage/CompressedTileStorage.cpp @@ -1,17 +1,7 @@ #include "../../Platform/stdafx.h" #include "CompressedTileStorage.h" -#if 0 -#define PSVITA_PRECOMPUTED_TABLE -#endif -#if 0 -static const int sc_maxCompressTiles = 64; -static CompressedTileStorage_compress_dataIn - g_compressTileDataIn[sc_maxCompressTiles] __attribute__((__aligned__(16))); -static int g_currentCompressTiles = 0; -// #define DISABLE_SPU_CODE -#endif //0 // Note: See header for an overview of this class @@ -20,7 +10,7 @@ XLockFreeStack CompressedTileStorage::deleteQueue[3]; CRITICAL_SECTION CompressedTileStorage::cs_write; -#ifdef PSVITA_PRECOMPUTED_TABLE +#if defined(PSVITA_PRECOMPUTED_TABLE) // AP - this will create a precomputed table to speed up getData static int* CompressedTile_StorageIndexTable = NULL; @@ -39,7 +29,7 @@ CompressedTileStorage::CompressedTileStorage() { indicesAndData = NULL; allocatedSize = 0; -#ifdef PSVITA_PRECOMPUTED_TABLE +#if defined(PSVITA_PRECOMPUTED_TABLE) CompressedTileStorage_InitTable(); #endif } @@ -57,7 +47,7 @@ CompressedTileStorage::CompressedTileStorage(CompressedTileStorage* copyFrom) { } LeaveCriticalSection(&cs_write); -#ifdef PSVITA_PRECOMPUTED_TABLE +#if defined(PSVITA_PRECOMPUTED_TABLE) CompressedTileStorage_InitTable(); #endif } @@ -98,7 +88,7 @@ CompressedTileStorage::CompressedTileStorage(byteArray initFrom, // only needs to be the actual size of the data used rather than // the one rounded up to a page size actually allocated -#ifdef PSVITA_PRECOMPUTED_TABLE +#if defined(PSVITA_PRECOMPUTED_TABLE) CompressedTileStorage_InitTable(); #endif } @@ -113,15 +103,8 @@ CompressedTileStorage::CompressedTileStorage(bool isEmpty) { // Empty and already compressed, so we only need 1K. Rounding up to nearest // 4096 bytes for allocation -#if 0 - // XPhysicalAlloc just maps to malloc on PS3, so allocate the smallest - // amount - indicesAndData = (unsigned char*)XPhysicalAlloc(1024, MAXULONG_PTR, 4096, - PAGE_READWRITE); -#else indicesAndData = (unsigned char*)XPhysicalAlloc(4096, MAXULONG_PTR, 4096, PAGE_READWRITE); -#endif //0 unsigned short* indices = (unsigned short*)indicesAndData; // unsigned char *data = indicesAndData + 1024; @@ -135,7 +118,7 @@ CompressedTileStorage::CompressedTileStorage(bool isEmpty) { // only needs to be the actual size of the data used rather than // the one rounded up to a page size actually allocated -#ifdef PSVITA_PRECOMPUTED_TABLE +#if defined(PSVITA_PRECOMPUTED_TABLE) CompressedTileStorage_InitTable(); #endif } @@ -207,15 +190,7 @@ bool CompressedTileStorage::isSameAs(CompressedTileStorage* other) { } CompressedTileStorage::~CompressedTileStorage() { -#if 1 if (indicesAndData) XPhysicalFree(indicesAndData); -#else - if ((unsigned int)indicesAndData >= MM_PHYSICAL_4KB_BASE) { - if (indicesAndData) XPhysicalFree(indicesAndData); - } else { - if (indicesAndData) free(indicesAndData); - } -#endif } // Get an index into the normal ordering of tiles for the java game, given a @@ -301,31 +276,6 @@ void CompressedTileStorage::setData(byteArray dataIn, unsigned int inOffset) { // and require no storage. Store flags for each tile type used in an // array of 4 64-bit flags. -#if 0 - // AP - Vita isn't so great at shifting 64bits. The top biggest CPU time - // sink after profiling is __ashldi3 (64bit shift) at 3% Let's use 32bit - // instead - unsigned int usedFlags[8] = {0, 0, 0, 0, 0, 0, 0, 0}; - __int32 i32_1 = 1; - for (int j = 0; j < 64; j++) // This loop of 64 is to go round the 4 x - // 4 tiles in the block - { - int tile = data[getIndex(i, j)]; - if (tile < (64 << 2)) { - usedFlags[tile & 7] |= (i32_1 << (tile >> 3)); - } - } - int count = 0; - for (int tile = 0; tile < 256; - tile++) // This loop of 256 is to go round the 256 possible values - // that the tiles might have had to find how many are - // actually used - { - if (usedFlags[tile & 7] & (i32_1 << (tile >> 3))) { - count++; - } - } -#else uint64_t usedFlags[4] = {0, 0, 0, 0}; int64_t i64_1 = 1; // MGH - instead of 1i64, which is MS specific for (int j = 0; j < 64; j++) // This loop of 64 is to go round the 4 x @@ -345,7 +295,6 @@ void CompressedTileStorage::setData(byteArray dataIn, unsigned int inOffset) { count++; } } -#endif if (count == 1) { _blockIndices[i] = INDEX_TYPE_0_OR_8_BIT | INDEX_TYPE_0_BIT_FLAG; // type0++; @@ -460,7 +409,7 @@ void CompressedTileStorage::setData(byteArray dataIn, unsigned int inOffset) { LeaveCriticalSection(&cs_write); } -#ifdef PSVITA_PRECOMPUTED_TABLE +#if defined(PSVITA_PRECOMPUTED_TABLE) // AP - When called in pairs from LevelChunk::getBlockData this version of // getData reduces the time from ~5.2ms to ~1.6ms on the Vita Gets all tile @@ -820,51 +769,12 @@ void CompressedTileStorage::tick() { do { toFree = deleteQueue[freeIndex].Pop(); // if( toFree ) printf("Deleting 0x%x\n", toFree); -#if 1 if (toFree) XPhysicalFree(toFree); -#else - // Determine correct means to free this data - could have been allocated - // either with XPhysicalAlloc or malloc - if ((unsigned int)toFree >= MM_PHYSICAL_4KB_BASE) { - XPhysicalFree(toFree); - } else { - free(toFree); - } -#endif } while (toFree); deleteQueueIndex = (deleteQueueIndex + 1) % 3; } -#if 0 -void CompressedTileStorage::compress_SPU(int upgradeBlock /*=-1*/) { - EnterCriticalSection(&cs_write); - static unsigned char compBuffer[32768 + 4096] - __attribute__((__aligned__(16))); - CompressedTileStorage_compress_dataIn& dataIn = g_compressTileDataIn[0]; - dataIn.allocatedSize = allocatedSize; - dataIn.indicesAndData = indicesAndData; - dataIn.newIndicesAndData = compBuffer; - dataIn.upgradeBlock = upgradeBlock; - - static C4JSpursJobQueue::Port p("CompressedTileStorage::compress_SPU"); - C4JSpursJob_CompressedTileStorage_compress compressJob(&dataIn); - p.submitJob(&compressJob); - p.waitForCompletion(); - - if (dataIn.neededCompressed) { - unsigned char* newIndicesAndData = (unsigned char*)XPhysicalAlloc( - dataIn.newAllocatedSize, MAXULONG_PTR, 4096, - PAGE_READWRITE); //(unsigned char *)malloc( memToAlloc ); - memcpy(newIndicesAndData, compBuffer, dataIn.newAllocatedSize); - queueForDelete(indicesAndData); - indicesAndData = newIndicesAndData; - allocatedSize = dataIn.newAllocatedSize; - } - - LeaveCriticalSection(&cs_write); -} -#endif // Compresses the data currently stored in one of two ways: // (1) Attempt to compresses every block as much as possible (if upgradeBlock is @@ -872,10 +782,6 @@ void CompressedTileStorage::compress_SPU(int upgradeBlock /*=-1*/) { // ( if > -1 ), which is changed to be the next-most-accomodating storage from // its current state void CompressedTileStorage::compress(int upgradeBlock /*=-1*/) { -#if 0 && !defined DISABLE_SPU_CODE - compress_SPU(upgradeBlock); - return; -#endif unsigned char tempdata[64]; unsigned short _blockIndices[512]; @@ -951,29 +857,6 @@ void CompressedTileStorage::compress(int upgradeBlock /*=-1*/) { // compress any further and require no storage. Store flags for // each tile type used in an array of 4 64-bit flags. -#if 0 - // AP - Vita isn't so great at shifting 64bits. The top biggest - // CPU time sink after profiling is __ashldi3 (64bit shift) at - // 3% lets use 32bit values instead - unsigned int usedFlags[8] = {0, 0, 0, 0, 0, 0, 0, 0}; - __int32 i32_1 = 1; - for (int j = 0; j < 64; j++) // This loop of 64 is to go round - // the 4x4x4 tiles in the block - { - int tiletype = unpacked_data[j]; - usedFlags[tiletype & 7] |= (i32_1 << (tiletype >> 3)); - } - // count the number of bits set using the 'Hammering Weight' - // method. This reduces ::compress total thread cpu consumption - // from 10% to 4% - unsigned int count = 0; - for (int Index = 0; Index < 8; Index += 1) { - unsigned int i = usedFlags[Index]; - i = i - ((i >> 1) & 0x55555555); - i = (i & 0x33333333) + ((i >> 2) & 0x33333333); - count += (((i + (i >> 4)) & 0x0F0F0F0F) * 0x01010101) >> 24; - } -#else uint64_t usedFlags[4] = {0, 0, 0, 0}; int64_t i64_1 = @@ -994,7 +877,6 @@ void CompressedTileStorage::compress(int upgradeBlock /*=-1*/) { count++; } } -#endif if (count == 1) { _blockIndices[i] = @@ -1076,11 +958,9 @@ void CompressedTileStorage::compress(int upgradeBlock /*=-1*/) { PAGE_READWRITE); //(unsigned char *)malloc( memToAlloc ); if (newIndicesAndData == NULL) { DWORD lastError = GetLastError(); -#if 1 MEMORYSTATUS memStatus; GlobalMemoryStatus(&memStatus); __debugbreak(); -#endif } unsigned char* pucData = newIndicesAndData + 1024; unsigned short usDataOffset = 0; @@ -1181,13 +1061,9 @@ void CompressedTileStorage::compress(int upgradeBlock /*=-1*/) { // And finally repack unsigned char ucMappings[256] = {0}; -#if 0 - memset(ucMappings, 255, 256); -#else for (int j = 0; j < 256; j++) { ucMappings[j] = 255; } -#endif unsigned char* repacked = NULL; diff --git a/Minecraft.World/Level/Storage/CompressedTileStorage.h b/Minecraft.World/Level/Storage/CompressedTileStorage.h index d5ff85c53..8ef13c61f 100644 --- a/Minecraft.World/Level/Storage/CompressedTileStorage.h +++ b/Minecraft.World/Level/Storage/CompressedTileStorage.h @@ -1,7 +1,7 @@ #pragma once -#ifndef __linux__ +#if !defined(__linux__) #include "../../Platform/x64headers/xmcore.h" -#endif // __linux__ +#endif // This class is used for the compressed storage of tile data. Unlike the // SparseLightingStorage class, data is split into 512 blocks of 4x4x4 tiles. @@ -147,9 +147,6 @@ public: static void staticCtor(); void compress(int upgradeBlock = -1); -#if 0 - void compress_SPU(int upgradeBlock = -1); -#endif public: void queueForDelete(unsigned char* data); diff --git a/Minecraft.World/Level/Storage/DirectoryLevelStorage.cpp b/Minecraft.World/Level/Storage/DirectoryLevelStorage.cpp index 65cd7e4b2..ed9ed16f2 100644 --- a/Minecraft.World/Level/Storage/DirectoryLevelStorage.cpp +++ b/Minecraft.World/Level/Storage/DirectoryLevelStorage.cpp @@ -15,9 +15,7 @@ const std::wstring DirectoryLevelStorage::sc_szPlayerDir(L"players/"); _MapDataMappings::_MapDataMappings() { -#if 1 ZeroMemory(xuids, sizeof(PlayerUID) * MAXIMUM_MAP_SAVE_DATA); -#endif ZeroMemory(dimensions, sizeof(uint8_t) * (MAXIMUM_MAP_SAVE_DATA / 4)); } @@ -38,7 +36,7 @@ int _MapDataMappings::getDimension(int id) { returnVal = 1; // End break; default: -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) printf("Read invalid dimension from MapDataMapping\n"); __debugbreak(); #endif @@ -65,7 +63,7 @@ void _MapDataMappings::setMapping(int id, PlayerUID xuid, int dimension) { dimensions[id >> 2] |= (2 << offset); break; default: -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) printf( "Trinyg to set a MapDataMapping for an invalid dimension.\n"); __debugbreak(); @@ -76,9 +74,7 @@ void _MapDataMappings::setMapping(int id, PlayerUID xuid, int dimension) { // Old version the only used 1 bit for dimension indexing _MapDataMappings_old::_MapDataMappings_old() { -#if 1 ZeroMemory(xuids, sizeof(PlayerUID) * MAXIMUM_MAP_SAVE_DATA); -#endif ZeroMemory(dimensions, sizeof(uint8_t) * (MAXIMUM_MAP_SAVE_DATA / 8)); } @@ -95,7 +91,7 @@ void _MapDataMappings_old::setMapping(int id, PlayerUID xuid, int dimension) { } } -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) void DirectoryLevelStorage::PlayerMappings::addMapping(int id, int centreX, int centreZ, int dimension, @@ -168,7 +164,7 @@ DirectoryLevelStorage::DirectoryLevelStorage(ConsoleSaveFile* saveFile, m_saveFile = saveFile; m_bHasLoadedMapDataMappings = false; -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) m_usedMappings = byteArray(MAXIMUM_MAP_SAVE_DATA / 8); #endif } @@ -181,7 +177,7 @@ DirectoryLevelStorage::~DirectoryLevelStorage() { delete it->second; } -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) delete m_usedMappings.data; #endif } @@ -228,7 +224,7 @@ ChunkStorage* DirectoryLevelStorage::createChunkStorage(Dimension* dimension) { LevelData* DirectoryLevelStorage::prepareLevel() { // 4J Stu Added -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) ConsoleSavePath mapFile = getDataFile(L"largeMapDataMappings"); #else ConsoleSavePath mapFile = getDataFile(L"mapDataMappings"); @@ -238,32 +234,11 @@ LevelData* DirectoryLevelStorage::prepareLevel() { unsigned int NumberOfBytesRead; FileEntry* fileEntry = getSaveFile()->createFile(mapFile); -#if 0 - // 4J Stu - This version changed happened before initial release - if (getSaveFile()->getSaveVersion() < - SAVE_FILE_VERSION_CHANGE_MAP_DATA_MAPPING_SIZE) { - // Delete the old file - if (fileEntry) getSaveFile()->deleteFile(fileEntry); - - // Save a new, blank version - saveMapIdLookup(); - } else -#elif 0 - // 4J Stu - This version changed happened before initial release - if (getSaveFile()->getSaveVersion() < - SAVE_FILE_VERSION_DURANGO_CHANGE_MAP_DATA_MAPPING_SIZE) { - // Delete the old file - if (fileEntry) getSaveFile()->deleteFile(fileEntry); - - // Save a new, blank version - saveMapIdLookup(); - } else -#endif { getSaveFile()->setFilePointer(fileEntry, 0, SaveFileSeekOrigin::Begin); -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) byteArray data(fileEntry->getFileSize()); getSaveFile()->readFile(fileEntry, data.data, fileEntry->getFileSize(), @@ -279,7 +254,7 @@ LevelData* DirectoryLevelStorage::prepareLevel() { #if defined(_WINDOWS64) || defined(__linux__) app.DebugPrintf(" -- %d\n", playerUid); #else -#ifdef __linux__ +#if defined(__linux__) app.DebugPrintf(" -- %d\n", playerUid); #else app.DebugPrintf(" -- %ls\n", playerUid.toString().c_str()); @@ -384,24 +359,12 @@ void DirectoryLevelStorage::saveLevelData(LevelData* levelData) { void DirectoryLevelStorage::save(std::shared_ptr player) { // 4J Jev, removed try/catch. PlayerUID playerXuid = player->getXuid(); -#if 0 || 0 - if (playerXuid != INVALID_XUID) -#else if (playerXuid != INVALID_XUID && !player->isGuest()) -#endif { CompoundTag* tag = new CompoundTag(); player->saveWithoutId(tag); -#if 0 || 0 || 0 - ConsoleSavePath realFile = ConsoleSavePath( - m_saveFile->getPlayerDataFilenameForSave(playerXuid).c_str()); -#elif 0 - ConsoleSavePath realFile = ConsoleSavePath( - playerDir.getName() + player->getXuid().toString() + L".dat"); -#else ConsoleSavePath realFile = ConsoleSavePath( playerDir.getName() + _toString(player->getXuid()) + L".dat"); -#endif // If saves are disabled (e.g. because we are writing the save buffer to // disk) then cache this player data if (StorageManager.GetSaveDisabled()) { @@ -439,16 +402,8 @@ CompoundTag* DirectoryLevelStorage::load(std::shared_ptr player) { CompoundTag* DirectoryLevelStorage::loadPlayerDataTag(PlayerUID xuid) { // 4J Jev, removed try/catch. -#if 0 || 0 || 0 - ConsoleSavePath realFile = - ConsoleSavePath(m_saveFile->getPlayerDataFilenameForLoad(xuid).c_str()); -#elif 0 - ConsoleSavePath realFile = - ConsoleSavePath(playerDir.getName() + xuid.toString() + L".dat"); -#else ConsoleSavePath realFile = ConsoleSavePath(playerDir.getName() + _toString(xuid) + L".dat"); -#endif AUTO_VAR(it, m_cachedSaveData.find(realFile.getName())); if (it != m_cachedSaveData.end()) { ByteArrayOutputStream* bos = it->second; @@ -470,15 +425,11 @@ CompoundTag* DirectoryLevelStorage::loadPlayerDataTag(PlayerUID xuid) { void DirectoryLevelStorage::clearOldPlayerFiles() { if (StorageManager.GetSaveDisabled()) return; -#if 0 || 0 || 0 - std::vector* playerFiles = m_saveFile->getValidPlayerDatFiles(); -#else std::vector* playerFiles = m_saveFile->getFilesWithPrefix(playerDir.getName()); -#endif if (playerFiles != NULL) { -#ifndef _FINAL_BUILD +#if !defined(_FINAL_BUILD) if (app.DebugSettingsOn() && app.GetGameSettingsDebugMask(ProfileManager.GetPrimaryPad()) & (1L << eDebugSetting_DistributableSave)) { @@ -487,11 +438,7 @@ void DirectoryLevelStorage::clearOldPlayerFiles() { std::wstring xuidStr = replaceAll( replaceAll(file->data.filename, playerDir.getName(), L""), L".dat", L""); -#if 0 || 0 || 0 - PlayerUID xuid(xuidStr); -#else PlayerUID xuid = _fromString(xuidStr); -#endif deleteMapFilesForPlayer(xuid); m_saveFile->deleteFile(playerFiles->at(i)); } @@ -507,11 +454,7 @@ void DirectoryLevelStorage::clearOldPlayerFiles() { std::wstring xuidStr = replaceAll( replaceAll(file->data.filename, playerDir.getName(), L""), L".dat", L""); -#if 0 || 0 || 0 - PlayerUID xuid(xuidStr); -#else PlayerUID xuid = _fromString(xuidStr); -#endif deleteMapFilesForPlayer(xuid); m_saveFile->deleteFile(playerFiles->at(i)); } @@ -532,7 +475,7 @@ ConsoleSavePath DirectoryLevelStorage::getDataFile(const std::wstring& id) { std::wstring DirectoryLevelStorage::getLevelId() { return levelId; } void DirectoryLevelStorage::flushSaveFile(bool autosave) { -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) if (app.DebugSettingsOn() && app.GetGameSettingsDebugMask(ProfileManager.GetPrimaryPad()) & (1L << eDebugSetting_DistributableSave)) { @@ -550,13 +493,8 @@ void DirectoryLevelStorage::flushSaveFile(bool autosave) { // 4J Added void DirectoryLevelStorage::resetNetherPlayerPositions() { if (app.GetResetNether()) { -#if 0 || 0 || 0 - std::vector* playerFiles = - m_saveFile->getValidPlayerDatFiles(); -#else std::vector* playerFiles = m_saveFile->getFilesWithPrefix(playerDir.getName()); -#endif if (playerFiles != NULL) { for (AUTO_VAR(it, playerFiles->begin()); it != playerFiles->end(); @@ -596,7 +534,7 @@ int DirectoryLevelStorage::getAuxValueForMap(PlayerUID xuid, int dimension, int mapId = -1; bool foundMapping = false; -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) AUTO_VAR(it, m_playerMappings.find(xuid)); if (it != m_playerMappings.end()) { foundMapping = @@ -656,7 +594,7 @@ int DirectoryLevelStorage::getAuxValueForMap(PlayerUID xuid, int dimension, void DirectoryLevelStorage::saveMapIdLookup() { if (StorageManager.GetSaveDisabled()) return; -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) ConsoleSavePath file = getDataFile(L"largeMapDataMappings"); #else ConsoleSavePath file = getDataFile(L"mapDataMappings"); @@ -667,7 +605,7 @@ void DirectoryLevelStorage::saveMapIdLookup() { FileEntry* fileEntry = m_saveFile->createFile(file); m_saveFile->setFilePointer(fileEntry, 0, SaveFileSeekOrigin::Begin); -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) ByteArrayOutputStream baos; DataOutputStream dos(&baos); dos.writeInt(m_playerMappings.size()); @@ -677,7 +615,7 @@ void DirectoryLevelStorage::saveMapIdLookup() { #if defined(_WINDOWS64) || defined(__linux__) app.DebugPrintf(" -- %d\n", it->first); #else -#ifdef __linux__ +#if defined(__linux__) app.DebugPrintf(" -- %d\n", it->first); #else app.DebugPrintf(" -- %ls\n", it->first.toString().c_str()); @@ -705,7 +643,7 @@ void DirectoryLevelStorage::saveMapIdLookup() { } void DirectoryLevelStorage::dontSaveMapMappingForPlayer(PlayerUID xuid) { -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) AUTO_VAR(it, m_playerMappings.find(xuid)); if (it != m_playerMappings.end()) { for (AUTO_VAR(itMap, it->second.m_mappings.begin()); @@ -732,7 +670,7 @@ void DirectoryLevelStorage::deleteMapFilesForPlayer( } void DirectoryLevelStorage::deleteMapFilesForPlayer(PlayerUID xuid) { -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) AUTO_VAR(it, m_playerMappings.find(xuid)); if (it != m_playerMappings.end()) { for (AUTO_VAR(itMap, it->second.m_mappings.begin()); diff --git a/Minecraft.World/Level/Storage/DirectoryLevelStorage.h b/Minecraft.World/Level/Storage/DirectoryLevelStorage.h index 9f6db2744..bb579c9bf 100644 --- a/Minecraft.World/Level/Storage/DirectoryLevelStorage.h +++ b/Minecraft.World/Level/Storage/DirectoryLevelStorage.h @@ -1,6 +1,6 @@ #pragma once -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) // 51 maps per player (7x7 overworld, 1 nether, 1 end) * 100 players rounded up // to power of 2 #define MAXIMUM_MAP_SAVE_DATA 8192 // 65536 @@ -70,7 +70,7 @@ private: static const std::wstring sc_szPlayerDir; // 4J Added -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) class PlayerMappings { friend class DirectoryLevelStorage; @@ -85,13 +85,7 @@ private: void writeMappings(DataOutputStream* dos); void readMappings(DataInputStream* dis); }; -#if 0 || 0 || 0 || \ - 0 - std::unordered_map - m_playerMappings; -#else std::unordered_map m_playerMappings; -#endif byteArray m_usedMappings; #else MapDataMappings m_mapDataMappings; diff --git a/Minecraft.World/Level/Storage/DirectoryLevelStorageSource.cpp b/Minecraft.World/Level/Storage/DirectoryLevelStorageSource.cpp index 0776382e5..4f1e54619 100644 --- a/Minecraft.World/Level/Storage/DirectoryLevelStorageSource.cpp +++ b/Minecraft.World/Level/Storage/DirectoryLevelStorageSource.cpp @@ -22,18 +22,6 @@ std::wstring DirectoryLevelStorageSource::getName() { return L"Old Format"; } std::vector* DirectoryLevelStorageSource::getLevelList() { // 4J Stu - We don't use directory list with the Xbox save locations std::vector* levels = new std::vector; -#if 0 - for (int i = 0; i < 5; i++) - { - std::wstring levelId = std::wstring(L"World").append( _toString( (i+1) ) ); - - LevelData *levelData = getDataTagFor(saveFile, levelId); - if (levelData != NULL) - { - levels->push_back(new LevelSummary(levelId, L"", levelData->getLastPlayed(), levelData->getSizeOnDisk(), levelData.getGameType(), false, levelData->isHardcore())); - } - } -#endif return levels; } diff --git a/Minecraft.World/Level/Storage/MapItemSavedData.cpp b/Minecraft.World/Level/Storage/MapItemSavedData.cpp index 552ded3e2..4b5eb99f0 100644 --- a/Minecraft.World/Level/Storage/MapItemSavedData.cpp +++ b/Minecraft.World/Level/Storage/MapItemSavedData.cpp @@ -73,7 +73,7 @@ charArray MapItemSavedData::HoldingPlayer::nextUpdatePacket( data[0] = 1; for (unsigned int i = 0; i < parent->decorations.size(); i++) { MapDecoration* md = parent->decorations.at(i); -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) data[i * DEC_PACKET_BYTES + 1] = (char)(md->img); data[i * DEC_PACKET_BYTES + 8] = (char)(md->rot & 0xF); #else @@ -92,7 +92,7 @@ charArray MapItemSavedData::HoldingPlayer::nextUpdatePacket( for (AUTO_VAR(it, parent->nonPlayerDecorations.begin()); it != parent->nonPlayerDecorations.end(); ++it) { MapDecoration* md = it->second; -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) data[dataIndex * DEC_PACKET_BYTES + 1] = (char)(md->img); data[dataIndex * DEC_PACKET_BYTES + 8] = (char)(md->rot & 0xF); #else @@ -237,9 +237,6 @@ void MapItemSavedData::tickCarriedBy(std::shared_ptr player, // 4J Stu - Put this block back in if you want to display entity positions // on a map (see below) -#if 0 - nonPlayerDecorations.clear(); -#endif bool addedPlayers = false; for (AUTO_VAR(it, carriedBy.begin()); it != carriedBy.end();) { std::shared_ptr hp = *it; @@ -299,7 +296,7 @@ void MapItemSavedData::tickCarriedBy(std::shared_ptr player, char x = (char)(xd * 2 + 0.5); char y = (char)(yd * 2 + 0.5); int size = MAP_SIZE - 1; -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) if (xd < -size || yd < -size || xd > size || yd > size) { if (xd <= -size) x = (uint8_t)(size * 2 + 2.5); if (yd <= -size) y = (uint8_t)(size * 2 + 2.5); @@ -342,7 +339,7 @@ void MapItemSavedData::tickCarriedBy(std::shared_ptr player, 10); rot = (char)((s * s * 34187121 + s * 121) >> 15 & 15); } -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) if (xd < -size || yd < -size || xd > size || yd > size) { if (xd <= -size) x = (uint8_t)(size * 2 + 2.5); if (yd <= -size) y = (uint8_t)(size * 2 + 2.5); @@ -362,38 +359,6 @@ void MapItemSavedData::tickCarriedBy(std::shared_ptr player, // 4J Stu - Put this block back in if you want to display entity // positions on a map (see above as well) -#if 0 - for(AUTO_VAR(it,playerLevel->entities.begin()); it != playerLevel->entities.end(); ++it) - { - std::shared_ptr ent = *it; - - if((ent->GetType() & eTYPE_ENEMY) == 0) continue; - - float xd = (float) ( ent->x - x ) / (1 << scale); - float yd = (float) ( ent->z - z ) / (1 << scale); - char x = (char) (xd * 2 + 0.5); - char y = (char) (yd * 2 + 0.5); - int size = MAP_SIZE - 1; - char rot = 0; - if (dimension < 0) - { - int s = step / 10; - rot = (char) ((s * s * 34187121 + s * 121) >> 15 & 15); - } -#ifdef _LARGE_WORLDS - if (xd < -size || yd < -size || xd > size || yd > size) - { - - if (xd <= -size) x = (uint8_t) (size * 2 + 2.5); - if (yd <= -size) y = (uint8_t) (size * 2 + 2.5); - if (xd >= size) x = (uint8_t) (size * 2 + 1); - if (yd >= size) y = (uint8_t) (size * 2 + 1); - } -#endif - //decorations.push_back(new MapDecoration(7, x, y, 0)); - nonPlayerDecorations.insert( std::unordered_map::value_type( ent->entityId, new MapDecoration(4, x, y, rot, ent->entityId, true) ) ); - } -#endif // 4J-PB - display all the players in the map // For the xbox, x and z are 0 @@ -417,7 +382,7 @@ void MapItemSavedData::tickCarriedBy(std::shared_ptr player, char rot; char imgIndex; -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) if (xd > -size && yd > -size && xd <= size && yd <= size) #endif @@ -439,7 +404,7 @@ void MapItemSavedData::tickCarriedBy(std::shared_ptr player, imgIndex = (int)decorationPlayer->getPlayerIndex(); if (imgIndex > 3) imgIndex += 4; } -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) else // if (abs(xd) < MAP_SIZE * 5 && abs(yd) < // MAP_SIZE * 5) { @@ -536,7 +501,7 @@ void MapItemSavedData::handleComplexItemData(charArray& data) { decorations.clear(); for (unsigned int i = 0; i < (data.length - 1) / DEC_PACKET_BYTES; i++) { -#ifdef _LARGE_WORLDS +#if defined(_LARGE_WORLDS) char img = data[i * DEC_PACKET_BYTES + 1]; char rot = data[i * DEC_PACKET_BYTES + 8]; #else diff --git a/Minecraft.World/Level/Storage/McRegionChunkStorage.cpp b/Minecraft.World/Level/Storage/McRegionChunkStorage.cpp index b5aa7582f..3426803b6 100644 --- a/Minecraft.World/Level/Storage/McRegionChunkStorage.cpp +++ b/Minecraft.World/Level/Storage/McRegionChunkStorage.cpp @@ -34,7 +34,7 @@ McRegionChunkStorage::McRegionChunkStorage(ConsoleSaveFile* saveFile, m_saveFile->createFile(ConsoleSavePath(L"r.-1.0.mcr")); } -#ifdef SPLIT_SAVES +#if defined(SPLIT_SAVES) ConsoleSavePath currentFile = ConsoleSavePath(m_prefix + std::wstring(L"entities.dat")); @@ -73,7 +73,7 @@ LevelChunk* McRegionChunkStorage::load(Level* level, int x, int z) { DataInputStream* regionChunkInputStream = RegionFileCache::getChunkDataInputStream(m_saveFile, m_prefix, x, z); -#ifdef SPLIT_SAVES +#if defined(SPLIT_SAVES) // If we can't find the chunk in the save file, then we should remove any // entities we might have for that chunk if (regionChunkInputStream == NULL) { @@ -156,12 +156,12 @@ LevelChunk* McRegionChunkStorage::load(Level* level, int x, int z) { // levelChunk = OldChunkStorage::load(level, // chunkData->getCompound(L"Level")); MemSect(0); } -#ifdef SPLIT_SAVES +#if defined(SPLIT_SAVES) loadEntities(level, levelChunk); #endif delete chunkData; } -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) if (levelChunk && app.DebugSettingsOn() && app.GetGameSettingsDebugMask(ProfileManager.GetPrimaryPad()) & (1L << eDebugSetting_EnableBiomeOverride)) { @@ -243,7 +243,7 @@ void McRegionChunkStorage::save(Level* level, LevelChunk* levelChunk) { } void McRegionChunkStorage::saveEntities(Level* level, LevelChunk* levelChunk) { -#ifdef SPLIT_SAVES +#if defined(SPLIT_SAVES) PIXBeginNamedEvent(0, "Saving entities"); // 4j added cast to unsigned and changed index to u uint64_t index = ((uint64_t)(uint32_t)(levelChunk->x) << 32) | @@ -276,7 +276,7 @@ void McRegionChunkStorage::saveEntities(Level* level, LevelChunk* levelChunk) { } void McRegionChunkStorage::loadEntities(Level* level, LevelChunk* levelChunk) { -#ifdef SPLIT_SAVES +#if defined(SPLIT_SAVES) int64_t index = ((int64_t)(levelChunk->x) << 32) | (((int64_t)(levelChunk->z)) & 0x00000000FFFFFFFF); @@ -295,7 +295,7 @@ void McRegionChunkStorage::loadEntities(Level* level, LevelChunk* levelChunk) { void McRegionChunkStorage::tick() { m_saveFile->tick(); } void McRegionChunkStorage::flush() { -#ifdef SPLIT_SAVES +#if defined(SPLIT_SAVES) PIXBeginNamedEvent(0, "Flushing entity data"); ConsoleSavePath currentFile = ConsoleSavePath(m_prefix + std::wstring(L"entities.dat")); @@ -336,15 +336,6 @@ void McRegionChunkStorage::staticCtor() { s_saveThreads[i]->SetProcessor(CPU_CORE_SAVE_THREAD_A); else if (i == 1) { s_saveThreads[i]->SetProcessor(CPU_CORE_SAVE_THREAD_B); -#if 0 - s_saveThreads[i]->SetPriority( - THREAD_PRIORITY_BELOW_NORMAL); // On Orbis, this core is also - // used for Matching 2, and that - // priority of that seems to be - // always at default no matter - // what we set it to. Prioritise - // this below Matching 2. -#endif } else if (i == 2) s_saveThreads[i]->SetProcessor(CPU_CORE_SAVE_THREAD_C); diff --git a/Minecraft.World/Level/Storage/McRegionLevelStorageSource.cpp b/Minecraft.World/Level/Storage/McRegionLevelStorageSource.cpp index d9b13484d..204a45823 100644 --- a/Minecraft.World/Level/Storage/McRegionLevelStorageSource.cpp +++ b/Minecraft.World/Level/Storage/McRegionLevelStorageSource.cpp @@ -1,9 +1,5 @@ #include "../../Platform/stdafx.h" #include "../../Util/JavaMath.h" -#if 0 -// 4J - not required anymore -#include "Matcher.h" -#endif #include "../../Util/ProgressListener.h" #include "../../Headers/net.minecraft.world.level.chunk.storage.h" #include "../../Headers/net.minecraft.world.level.chunk.h" @@ -15,12 +11,6 @@ #include "../../IO/Files/ConsoleSaveFileIO.h" -#if 0 -// 4J - not required anymore -// These were Pattern class objects, using the c++0x regex class instead -const std::tr1::wregex McRegionLevelStorageSource::FolderFilter::chunkFolderPattern = std::tr1::wregex(L"[0-9a-z]|([0-9a-z][0-9a-z])"); -const std::tr1::wregex McRegionLevelStorageSource::ChunkFilter::chunkFilePattern = std::tr1::wregex(L"c\\.(-?[0-9a-z]+)\\.(-?[0-9a-z]+)\\.dat"); -#endif McRegionLevelStorageSource::McRegionLevelStorageSource(File dir) : DirectoryLevelStorageSource(dir) {} @@ -32,37 +22,6 @@ std::wstring McRegionLevelStorageSource::getName() { std::vector* McRegionLevelStorageSource::getLevelList() { // 4J Stu - We don't need to do directory lookups with the xbox save files std::vector* levels = new std::vector; -#if 0 - std::vector *subFolders = baseDir.listFiles(); - File *file; - AUTO_VAR(itEnd, subFolders->end()); - for (AUTO_VAR(it, subFolders->begin()); it != itEnd; it++) - { - file = *it; //subFolders->at(i); - - if (file->isDirectory()) - { - continue; - } - - std::wstring levelId = file->getName(); - - LevelData *levelData = getDataTagFor(levelId); - if (levelData != NULL) - { - bool requiresConversion = levelData->getVersion() != McRegionLevelStorage::MCREGION_VERSION_ID; - std::wstring levelName = levelData->getLevelName(); - - if (levelName.empty()) // 4J Jev TODO: levelName can't be NULL? if (levelName == NULL || isEmpty(levelName)) - { - levelName = levelId; - } - // long size = getLevelSize(folder); - long size = 0; - levels->push_back(new LevelSummary(levelId, levelName, levelData->getLastPlayed(), size, requiresConversion, levelData->isHardcore())); - } - } -#endif return levels; } @@ -110,101 +69,9 @@ bool McRegionLevelStorageSource::convertLevel(ConsoleSaveFile* saveFile, // Will we ever use this convertLevel function anyway? The main issue is the // check for the hellFolder.exists() which would require a slight change to // the way our save files are structured -#if 0 - progress->progressStagePercentage(0); - - std::vector *normalRegions = new std::vector; - std::vector *normalBaseFolders = new std::vector; - std::vector *netherRegions = new std::vector; - std::vector *netherBaseFolders = new std::vector; - ArrayList enderRegions = new ArrayList(); - ArrayList enderBaseFolders = new ArrayList(); - - //File baseFolder = File(baseDir, levelId); - //File netherFolder = File(baseFolder, LevelStorage::HELL_FOLDER); - //File enderFolder = new File(baseFolder, LevelStorage.ENDER_FOLDER); - ConsoleSaveFile saveFile = ConsoleSaveFile( levelId ); - - // System.out.println("Scanning folders..."); 4J Jev, TODO how do we println ? - - // find normal world - addRegions(baseFolder, normalRegions, normalBaseFolders); - - // find hell world - if (netherFolder.exists()) - { - addRegions(netherFolder, netherRegions, netherBaseFolders); - } - if (enderFolder.exists()) - { - addRegions(enderFolder, enderRegions, enderBaseFolders); - } - - int totalCount = normalRegions->size() + netherRegions->size() + enderRegions.size() + normalBaseFolders->size() + netherBaseFolders->size() + enderBaseFolders.size(); - - // System.out.println("Total conversion count is " + totalCount); 4J Jev, TODO - - // convert normal world - convertRegions(baseFolder, normalRegions, 0, totalCount, progress); - // convert hell world - convertRegions(netherFolder, netherRegions, normalRegions->size(), totalCount, progress); - // convert hell world - convertRegions(enderFolder, enderRegions, normalRegions.size() + netherRegions.size(), totalCount, progress); - - LevelData *levelData = getDataTagFor(levelId); - levelData->setVersion(McRegionLevelStorage::MCREGION_VERSION_ID); - - LevelStorage *levelStorage = selectLevel(levelId, false); - levelStorage->saveLevelData(levelData); - - // erase old files - eraseFolders(normalBaseFolders, normalRegions->size() + netherRegions->size(), totalCount, progress); - if (netherFolder.exists()) - { - eraseFolders(netherBaseFolders, normalRegions->size() + netherRegions->size() + normalBaseFolders->size(), totalCount, progress); - } -#endif return true; } -#if 0 -// 4J - not required anymore -void McRegionLevelStorageSource::addRegions(File &baseFolder, std::vector *dest, std::vector *firstLevelFolders) -{ - FolderFilter folderFilter; - ChunkFilter chunkFilter; - - File *folder1; - std::vector *folderLevel1 = baseFolder.listFiles((FileFilter *) &folderFilter); - AUTO_VAR(itEnd, folderLevel1->end()); - for (AUTO_VAR(it, folderLevel1->begin()); it != itEnd; it++) - { - folder1 = *it; //folderLevel1->at(i1); - - // keep this for the clean-up process later on - firstLevelFolders->push_back(folder1); - - File *folder2; - std::vector *folderLevel2 = folder1->listFiles(&folderFilter); - AUTO_VAR(itEnd2, folderLevel2->end()); - for (AUTO_VAR(it2, folderLevel2->begin()); it2 != itEnd; it2++) - { - folder2 = *it2; //folderLevel2->at(i2); - - std::vector *chunkFiles = folder2->listFiles((FileFilter *) &chunkFilter); - - File *chunk; - AUTO_VAR(itEndFile, chunkFiles->end()); - for (AUTO_VAR(itFile, chunkFiles->begin()); itFile != itEndFile; itFile++) - { - chunk = *itFile; //chunkFiles->at(i3); - - dest->push_back(new ChunkFile(chunk)); - } - } - } -} -#endif void McRegionLevelStorageSource::convertRegions( File& baseFolder, std::vector* chunkFiles, int currentCount, @@ -212,57 +79,6 @@ void McRegionLevelStorageSource::convertRegions( assert(false); // 4J Stu - Removed, see comment in convertLevel above -#if 0 - //Collections::sort(chunkFiles); - std::sort( chunkFiles->begin(), chunkFiles->end() ); - - byteArray buffer = byteArray(4096); - - ChunkFile *chunkFile; - AUTO_VAR(itEnd, chunkFiles->end()); - for (AUTO_VAR(it, chunkFiles->begin()); it != itEnd; it++) - { - chunkFile = *it; //chunkFiles->at(i1); - - // Matcher matcher = ChunkFilter.chunkFilePattern.matcher(chunkFile.getName()); - // if (!matcher.matches()) { - // continue; - // } - // int x = Integer.parseInt(matcher.group(1), 36); - // int z = Integer.parseInt(matcher.group(2), 36); - - int x = chunkFile->getX(); - int z = chunkFile->getZ(); - - RegionFile *region = RegionFileCache::getRegionFile(baseFolder, x, z); - if (!region->hasChunk(x & 31, z & 31)) - { - FileInputStream fis = new BufferedInputStream(FileInputStream(*chunkFile->getFile())); - DataInputStream istream = DataInputStream(&fis); // 4J - was new GZIPInputStream as well - - DataOutputStream *out = region->getChunkDataOutputStream(x & 31, z & 31); - - int length = 0; - while ( (length = istream.read(buffer)) != -1 ) - { - out->write(buffer, 0, length); - } - - out->close(); - istream.close(); - - // 4J Stu - getChunkDataOutputStream makes a new DataOutputStream that points to a new ChunkBuffer( ByteArrayOutputStream ) - // We should clean these up when we are done - out->deleteChildStream(); - delete out; - } - - currentCount++; - int percent = (int) Math::round(100.0 * (double) currentCount / (double) totalCount); - progress->progressStagePercentage(percent); - } - RegionFileCache::clear(); -#endif } void McRegionLevelStorageSource::eraseFolders(std::vector* folders, @@ -284,79 +100,3 @@ void McRegionLevelStorageSource::eraseFolders(std::vector* folders, } } -#if 0 -// 4J - not required anymore -bool McRegionLevelStorageSource::FolderFilter::accept(File *file) -{ - if (file->isDirectory()) - { - Matcher matcher( chunkFolderPattern, file->getName() ); - return matcher.matches(); - } - return false; -} - - -bool McRegionLevelStorageSource::ChunkFilter::accept(File *dir, const std::wstring& name) -{ - Matcher matcher( chunkFilePattern, name ); - return matcher.matches(); -} - - -McRegionLevelStorageSource::ChunkFile::ChunkFile(File *file) -{ - this->file = file; - - Matcher matcher( ChunkFilter::chunkFilePattern, file->getName() ); - if (matcher.matches()) - { - x = Integer::parseInt(matcher.group(1), 36); - z = Integer::parseInt(matcher.group(2), 36); - } - else - { - x = 0; - z = 0; - } -} - -//Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object. -int McRegionLevelStorageSource::ChunkFile::compareTo(ChunkFile *rhs) -{ - // sort chunk files so that they are placed according to their - // region position - int rx = x >> 5; - int rhsrx = rhs->x >> 5; - if (rx == rhsrx) - { - int rz = z >> 5; - int rhsrz = rhs->z >> 5; - return rz - rhsrz; - } - - return rx - rhsrx; -} - -// 4J Stu Added so we can use std::sort instead of the java Collections::sort -// a < b -bool McRegionLevelStorageSource::ChunkFile::operator<( ChunkFile *b ) -{ - return compareTo( b ) < 0; -} - -File *McRegionLevelStorageSource::ChunkFile::getFile() -{ - return (File *) file; -} - -int McRegionLevelStorageSource::ChunkFile::getX() -{ - return x; -} - -int McRegionLevelStorageSource::ChunkFile::getZ() -{ - return z; -} -#endif diff --git a/Minecraft.World/Level/Storage/McRegionLevelStorageSource.h b/Minecraft.World/Level/Storage/McRegionLevelStorageSource.h index ed24d75f5..1b69720e8 100644 --- a/Minecraft.World/Level/Storage/McRegionLevelStorageSource.h +++ b/Minecraft.World/Level/Storage/McRegionLevelStorageSource.h @@ -27,10 +27,6 @@ public: ProgressListener* progress); private: -#if 0 - // 4J - not required anymore - void addRegions(File &baseFolder, std::vector *dest, std::vector *firstLevelFolders); -#endif void convertRegions(File& baseFolder, std::vector* chunkFiles, int currentCount, int totalCount, ProgressListener* progress); @@ -38,38 +34,4 @@ private: int totalCount, ProgressListener* progress); public: -#if 0 - // 4J - not required anymore - static class FolderFilter : public FileFilter - { - public: - static const std::tr1::wregex chunkFolderPattern; // was Pattern - bool accept(File *file); - }; - - static class ChunkFilter : public FilenameFilter - { - public: - static const std::tr1::wregex chunkFilePattern; // was Pattern - bool accept(File *dir, const std::wstring& name); - }; - - static class ChunkFile // implements Comparable - { - private: - /* const */ File *file; - /* const */ int x; - /* const */ int z; - - public: - ChunkFile(File *file); - int compareTo(ChunkFile *rhs); - File *getFile(); - int getX(); - int getZ(); - - // a < b - bool operator<( ChunkFile *b ); - }; -#endif }; diff --git a/Minecraft.World/Level/Storage/OldChunkStorage.cpp b/Minecraft.World/Level/Storage/OldChunkStorage.cpp index 4df66d9ba..496caeea7 100644 --- a/Minecraft.World/Level/Storage/OldChunkStorage.cpp +++ b/Minecraft.World/Level/Storage/OldChunkStorage.cpp @@ -60,8 +60,7 @@ File OldChunkStorage::getFile(int x, int z) { wchar_t xRadix36[64]; wchar_t zRadix36[64]; -#if (0 || 0 || 0 || \ - defined __linux__) +#if defined(__linux__) assert(0); // need a gcc verison of _itow ? #else _itow(x, xRadix36, 36); @@ -197,7 +196,7 @@ bool OldChunkStorage::saveEntities(LevelChunk* lc, Level* level, lc->lastSaveHadEntities = false; ListTag* entityTags = new ListTag(); -#ifdef _ENTITIES_RW_SECTION +#if defined(_ENTITIES_RW_SECTION) EnterCriticalRWSection(&lc->m_csEntities, true); #else EnterCriticalSection(&lc->m_csEntities); @@ -215,7 +214,7 @@ bool OldChunkStorage::saveEntities(LevelChunk* lc, Level* level, } } } -#ifdef _ENTITIES_RW_SECTION +#if defined(_ENTITIES_RW_SECTION) LeaveCriticalRWSection(&lc->m_csEntities, true); #else LeaveCriticalSection(&lc->m_csEntities); @@ -253,7 +252,7 @@ void OldChunkStorage::save(LevelChunk* lc, Level* level, PIXBeginNamedEvent(0, "Saving entities"); CompoundTag* tag = new CompoundTag(); -#ifndef SPLIT_SAVES +#if !defined(SPLIT_SAVES) saveEntities(lc, level, tag); #endif @@ -351,7 +350,7 @@ void OldChunkStorage::save(LevelChunk* lc, Level* level, CompoundTag* tag) { tag->putByteArray(L"Biomes", lc->getBiomes()); PIXBeginNamedEvent(0, "Saving entities"); -#ifndef SPLIT_SAVES +#if !defined(SPLIT_SAVES) saveEntities(lc, level, tag); #endif @@ -457,7 +456,7 @@ LevelChunk* OldChunkStorage::load(Level* level, DataInputStream* dis) { levelChunk->terrainPopulated |= LevelChunk::sTerrainPostPostProcessed; } -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) if (app.DebugSettingsOn() && app.GetGameSettingsDebugMask(ProfileManager.GetPrimaryPad()) & (1L << eDebugSetting_EnableBiomeOverride)) { @@ -563,35 +562,10 @@ LevelChunk* OldChunkStorage::load(Level* level, CompoundTag* tag) { } } -#if 0 - // 4J - removed - we shouldn't need this any more - if (!levelChunk->data->isValid()) - { - levelChunk->data = new DataLayer(LevelChunk::BLOCKS_LENGTH, level->depthBits); // 4J - BLOCKS_LENGTH was levelChunk->blocks.length - } -#endif // 4J removed - we shouldn't need this any more -#if 0 - if (levelChunk->heightmap.data == NULL || !levelChunk->skyLight->isValid()) - { - static int chunksUpdated = 0; - delete [] levelChunk->heightmap.data; - levelChunk->heightmap = byteArray(16 * 16); - delete levelChunk->skyLight; - levelChunk->skyLight = new DataLayer(levelChunk->blocks.length, level->depthBits); - levelChunk->recalcHeightmap(); - } - if (!levelChunk->blockLight->isValid()) - { - delete levelChunk->blockLight; - levelChunk->blockLight = new DataLayer(levelChunk->blocks.length, level->depthBits); - levelChunk->recalcBlockLights(); - } -#endif - -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) if (app.DebugSettingsOn() && app.GetGameSettingsDebugMask(ProfileManager.GetPrimaryPad()) & (1L << eDebugSetting_EnableBiomeOverride)) { diff --git a/Minecraft.World/Level/Storage/PortalForcer.cpp b/Minecraft.World/Level/Storage/PortalForcer.cpp index 944055873..85d813ef3 100644 --- a/Minecraft.World/Level/Storage/PortalForcer.cpp +++ b/Minecraft.World/Level/Storage/PortalForcer.cpp @@ -70,13 +70,7 @@ bool PortalForcer::findPortal(std::shared_ptr e, double xOriginal, if (level->dimension->id == -1) { r *= 3; } else { -#if 0 - // AP poor little Vita takes 30 seconds to leave the Nether. This should - // help - r *= 5; -#else r *= 8; -#endif } double closest = -1; int xTarget = 0; diff --git a/Minecraft.World/Level/Storage/Region.cpp b/Minecraft.World/Level/Storage/Region.cpp index 9596efda4..9d1962f7a 100644 --- a/Minecraft.World/Level/Storage/Region.cpp +++ b/Minecraft.World/Level/Storage/Region.cpp @@ -72,19 +72,6 @@ int Region::getTile(int x, int y, int z) { int xc = (x >> 4); int zc = (z >> 4); -#if 0 - // AP - added a caching system for Chunk::rebuild to take advantage of - if (CachedTiles && xc == xcCached && zc == zcCached) { - unsigned char* Tiles = CachedTiles; - Tiles += y; - if (y >= Level::COMPRESSED_CHUNK_SECTION_HEIGHT) { - Tiles += Level::COMPRESSED_CHUNK_SECTION_TILES - - Level::COMPRESSED_CHUNK_SECTION_HEIGHT; - } - - return Tiles[((x & 15) << 11) | ((z & 15) << 7)]; - } -#endif xc -= xc1; zc -= zc1; diff --git a/Minecraft.World/Level/Storage/SparseDataStorage.cpp b/Minecraft.World/Level/Storage/SparseDataStorage.cpp index a511aa46f..f621d3fe7 100644 --- a/Minecraft.World/Level/Storage/SparseDataStorage.cpp +++ b/Minecraft.World/Level/Storage/SparseDataStorage.cpp @@ -33,12 +33,7 @@ SparseDataStorage::SparseDataStorage() { // MM_PHYSICAL_4KB_BASE upwards. We can use this fact to identify the // allocation later, and so free it with the corresponding call to // XPhysicalFree. -#if 0 - unsigned char* planeIndices = (unsigned char*)XPhysicalAlloc( - 128 * 128, MAXULONG_PTR, 4096, PAGE_READWRITE); -#else unsigned char* planeIndices = (unsigned char*)malloc(128 * 128); -#endif unsigned char* data = planeIndices + 128; planeIndices[0] = ALL_0_INDEX; for (int i = 1; i < 128; i++) { @@ -52,7 +47,7 @@ SparseDataStorage::SparseDataStorage() { dataAndCount = 0x007F000000000000L | (((int64_t)planeIndices) & 0x0000ffffffffffffL); -#ifdef DATA_COMPRESSION_STATS +#if defined(DATA_COMPRESSION_STATS) count = 128; #endif } @@ -74,7 +69,7 @@ SparseDataStorage::SparseDataStorage(bool isUpper) { dataAndCount = 0x0000000000000000L | (((int64_t)planeIndices) & 0x0000ffffffffffffL); -#ifdef DATA_COMPRESSION_STATS +#if defined(DATA_COMPRESSION_STATS) count = 128; #endif } @@ -85,11 +80,6 @@ SparseDataStorage::~SparseDataStorage() { // Determine correct means to free this data - could have been allocated // either with XPhysicalAlloc or malloc -#if 0 - if ((unsigned int)indicesAndData >= MM_PHYSICAL_4KB_BASE) { - XPhysicalFree(indicesAndData); - } else -#endif { free(indicesAndData); } @@ -118,7 +108,7 @@ SparseDataStorage::SparseDataStorage(SparseDataStorage* copyFrom) { XMemCpy(destIndicesAndData, sourceIndicesAndData, sourceCount * 128 + 128); -#ifdef DATA_COMPRESSION_STATS +#if defined(DATA_COMPRESSION_STATS) count = sourceCount; #endif } @@ -432,7 +422,7 @@ void SparseDataStorage::addNewPlane(int y) { // Queue old data to be deleted queueForDelete(lastDataPointer); // printf("Marking for delete 0x%x\n", lastDataPointer); -#ifdef DATA_COMPRESSION_STATS +#if defined(DATA_COMPRESSION_STATS) count = linesUsed; #endif } else { @@ -474,11 +464,6 @@ void SparseDataStorage::tick() { // if( toFree ) printf("Deleting 0x%x\n", toFree); // Determine correct means to free this data - could have been allocated either // with XPhysicalAlloc or malloc -#if 0 - if ((unsigned int)toFree >= MM_PHYSICAL_4KB_BASE) { - XPhysicalFree(toFree); - } else -#endif { free(toFree); } @@ -515,7 +500,7 @@ void SparseDataStorage::updateDataAndCount(int64_t newDataAndCount) { } } while (!success); -#ifdef DATA_COMPRESSION_STATS +#if defined(DATA_COMPRESSION_STATS) count = (newDataAndCount >> 48) & 0xffff; #endif } @@ -592,7 +577,7 @@ int SparseDataStorage::compress() { queueForDelete(planeIndices); // printf("Successfully compressed to %d planes, to delete //0x%x\n", planesToAlloc, planeIndices); -#ifdef DATA_COMPRESSION_STATS +#if defined(DATA_COMPRESSION_STATS) count = planesToAlloc; #endif } diff --git a/Minecraft.World/Level/Storage/SparseDataStorage.h b/Minecraft.World/Level/Storage/SparseDataStorage.h index 1e16e8155..09c4140c3 100644 --- a/Minecraft.World/Level/Storage/SparseDataStorage.h +++ b/Minecraft.World/Level/Storage/SparseDataStorage.h @@ -1,7 +1,7 @@ #pragma once -#ifndef __linux__ +#if !defined(__linux__) #include "../../Platform/x64headers/xmcore.h" -#endif // __linux__ +#endif // 4J added - Storage for data (ie the extra per tile storage). Data is normally // stored as 4-bits per tile, in a DataLayer class of 16384 bytes ( 128 x 16 x @@ -70,11 +70,6 @@ private: static const int ALL_0_INDEX = 128; -#if 0 - static const unsigned int MM_PHYSICAL_4KB_BASE = - 0xE0000000; // Start of where 4KB page sized physical allocations are - // made -#endif public: SparseDataStorage(); SparseDataStorage(bool isUpper); @@ -119,7 +114,7 @@ public: static int deleteQueueIndex; static XLockFreeStack deleteQueue[3]; -#ifdef DATA_COMPRESSION_STATS +#if defined(DATA_COMPRESSION_STATS) int count; #endif diff --git a/Minecraft.World/Level/Storage/SparseLightStorage.cpp b/Minecraft.World/Level/Storage/SparseLightStorage.cpp index 222f78391..03c872179 100644 --- a/Minecraft.World/Level/Storage/SparseLightStorage.cpp +++ b/Minecraft.World/Level/Storage/SparseLightStorage.cpp @@ -34,12 +34,7 @@ SparseLightStorage::SparseLightStorage(bool sky) { // MM_PHYSICAL_4KB_BASE upwards. We can use this fact to identify the // allocation later, and so free it with the corresponding call to // XPhysicalFree. -#if 0 - unsigned char* planeIndices = (unsigned char*)XPhysicalAlloc( - 128 * 128, MAXULONG_PTR, 4096, PAGE_READWRITE); -#else unsigned char* planeIndices = (unsigned char*)malloc(128 * 128); -#endif unsigned char* data = planeIndices + 128; planeIndices[127] = sky ? ALL_15_INDEX : ALL_0_INDEX; for (int i = 0; i < 127; i++) { @@ -53,7 +48,7 @@ SparseLightStorage::SparseLightStorage(bool sky) { dataAndCount = 0x007F000000000000L | (((int64_t)planeIndices) & 0x0000ffffffffffffL); -#ifdef LIGHT_COMPRESSION_STATS +#if defined(LIGHT_COMPRESSION_STATS) count = 127; #endif } @@ -75,7 +70,7 @@ SparseLightStorage::SparseLightStorage(bool sky, bool isUpper) { dataAndCount = 0x0000000000000000L | (((int64_t)planeIndices) & 0x0000ffffffffffffL); -#ifdef LIGHT_COMPRESSION_STATS +#if defined(LIGHT_COMPRESSION_STATS) count = 0; #endif } @@ -86,11 +81,6 @@ SparseLightStorage::~SparseLightStorage() { // Determine correct means to free this data - could have been allocated // either with XPhysicalAlloc or malloc -#if 0 - if ((unsigned int)indicesAndData >= MM_PHYSICAL_4KB_BASE) { - XPhysicalFree(indicesAndData); - } else -#endif { free(indicesAndData); } @@ -119,7 +109,7 @@ SparseLightStorage::SparseLightStorage(SparseLightStorage* copyFrom) { XMemCpy(destIndicesAndData, sourceIndicesAndData, sourceCount * 128 + 128); -#ifdef LIGHT_COMPRESSION_STATS +#if defined(LIGHT_COMPRESSION_STATS) count = sourceCount; #endif } @@ -435,7 +425,7 @@ void SparseLightStorage::addNewPlane(int y) { // Queue old data to be deleted queueForDelete(lastDataPointer); // printf("Marking for delete 0x%x\n", lastDataPointer); -#ifdef LIGHT_COMPRESSION_STATS +#if defined(LIGHT_COMPRESSION_STATS) count = linesUsed; #endif } else { @@ -477,11 +467,6 @@ void SparseLightStorage::tick() { // if( toFree ) printf("Deleting 0x%x\n", toFree); // Determine correct means to free this data - could have been allocated either // with XPhysicalAlloc or malloc -#if 0 - if ((unsigned int)toFree >= MM_PHYSICAL_4KB_BASE) { - XPhysicalFree(toFree); - } else -#endif { free(toFree); } @@ -518,7 +503,7 @@ void SparseLightStorage::updateDataAndCount(int64_t newDataAndCount) { } } while (!success); -#ifdef LIGHT_COMPRESSION_STATS +#if defined(LIGHT_COMPRESSION_STATS) count = (newDataAndCount >> 48) & 0xffff; #endif } @@ -602,7 +587,7 @@ int SparseLightStorage::compress() { queueForDelete(planeIndices); // printf("Successfully compressed to %d planes, to delete //0x%x\n", planesToAlloc, planeIndices); -#ifdef LIGHT_COMPRESSION_STATS +#if defined(LIGHT_COMPRESSION_STATS) count = planesToAlloc; #endif } diff --git a/Minecraft.World/Level/Storage/SparseLightStorage.h b/Minecraft.World/Level/Storage/SparseLightStorage.h index aa6d8a6e3..63f131368 100644 --- a/Minecraft.World/Level/Storage/SparseLightStorage.h +++ b/Minecraft.World/Level/Storage/SparseLightStorage.h @@ -1,7 +1,7 @@ #pragma once -#ifndef __linux__ +#if !defined(__linux__) #include "../../Platform/x64headers/xmcore.h" -#endif // __linux__ +#endif // 4J added - Storage for block & sky light data. Lighting data is normally // stored as 4-bits per tile, in a DataLayer class of 16384 bytes ( 128 x 16 x @@ -72,11 +72,6 @@ private: static const int ALL_0_INDEX = 128; static const int ALL_15_INDEX = 129; -#if 0 - static const unsigned int MM_PHYSICAL_4KB_BASE = - 0xE0000000; // Start of where 4KB page sized physical allocations are - // made -#endif public: SparseLightStorage(bool sky); SparseLightStorage(bool sky, bool isUpper); @@ -119,7 +114,7 @@ public: static int deleteQueueIndex; static XLockFreeStack deleteQueue[3]; -#ifdef LIGHT_COMPRESSION_STATS +#if defined(LIGHT_COMPRESSION_STATS) int count; #endif diff --git a/Minecraft.World/Network/Connection.cpp b/Minecraft.World/Network/Connection.cpp index a4a74e0cd..8d807f9fd 100644 --- a/Minecraft.World/Network/Connection.cpp +++ b/Minecraft.World/Network/Connection.cpp @@ -7,7 +7,7 @@ #include "../../Minecraft.Client/Platform/Common/ShutdownManager.h" // This should always be enabled, except for debugging use -#ifndef _DEBUG +#if !defined(_DEBUG) #define CONNECTION_ENABLE_TIMEOUT_DISCONNECT 1 #endif @@ -119,20 +119,6 @@ Connection::Connection(Socket* socket, const std::wstring& id, new C4JThread(runWrite, this, writeThreadName, WRITE_STACK_SIZE); readThread->SetProcessor(CPU_CORE_CONNECTIONS); writeThread->SetProcessor(CPU_CORE_CONNECTIONS); -#if 0 - readThread->SetPriority( - THREAD_PRIORITY_BELOW_NORMAL); // On Orbis, this core is also used for - // Matching 2, and that priority of that - // seems to be always at default no - // matter what we set it to. Prioritise - // this below Matching 2. - writeThread->SetPriority( - THREAD_PRIORITY_BELOW_NORMAL); // On Orbis, this core is also used for - // Matching 2, and that priority of that - // seems to be always at default no - // matter what we set it to. Prioritise - // this below Matching 2. -#endif readThread->Run(); writeThread->Run(); @@ -209,12 +195,12 @@ bool Connection::writeTick() { LeaveCriticalSection(&writeLock); Packet::writePacket(packet, bufferedDos); -#ifdef __linux__ +#if defined(__linux__) bufferedDos->flush(); // Ensure buffered data reaches socket before any // other writes #endif -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) // 4J Added for debugging int playerId = 0; if (!socket->isLocal()) { @@ -261,7 +247,7 @@ bool Connection::writeTick() { // write it to QNet as a single packet with priority flags Otherwise // just buffer the packet with other outgoing packets as the java game // did -#ifdef __linux__ +#if defined(__linux__) // Linux fix: For local connections, always use bufferedDos to avoid // byte interleaving between the BufferedOutputStream buffer and direct // sos writes. The shouldDelay/writeWithFlags path writes directly to @@ -278,11 +264,7 @@ bool Connection::writeTick() { // "game" packets to QNet, rather than amalgamated chunks of data // that may include many packets, and partial packets b) To be able // to change the priority and queue of a packet if required -#if 0 - int flags = QNET_SENDDATA_LOW_PRIORITY | QNET_SENDDATA_SECONDARY; -#else int flags = NON_QNET_SENDDATA_ACK_REQUIRED; -#endif sos->writeWithFlags(baos->buf, 0, baos->size(), flags); baos->reset(); } else { @@ -291,7 +273,7 @@ bool Connection::writeTick() { #endif -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) // 4J Added for debugging if (!socket->isLocal()) { int playerId = 0; @@ -534,7 +516,6 @@ void Connection::sendAndQuit() { // multithreaded functions a bit more // readThread.interrupt(); -#if 1 // 4J - this used to be in a thread but not sure why, and is causing trouble // for us if we kill the connection whilst the thread is still expecting to // be able to send a packet a couple of seconds after starting it @@ -542,9 +523,6 @@ void Connection::sendAndQuit() { // 4J TODO writeThread.interrupt(); close(DisconnectPacket::eDisconnect_Closed); } -#else - CreateThread(NULL, 0, runSendAndQuit, this, 0, &saqThreadID); -#endif } int Connection::countDelayedPackets() { return (int)outgoing_slow.size(); } @@ -554,9 +532,6 @@ int Connection::runRead(void* lpParam) { Connection* con = (Connection*)lpParam; if (con == NULL) { -#if 0 - ShutdownManager::HasFinished(ShutdownManager::eConnectionReadThreads); -#endif return 0; } diff --git a/Minecraft.World/Network/Packets/AwardStatPacket.cpp b/Minecraft.World/Network/Packets/AwardStatPacket.cpp index 1eac9e417..de9caf776 100644 --- a/Minecraft.World/Network/Packets/AwardStatPacket.cpp +++ b/Minecraft.World/Network/Packets/AwardStatPacket.cpp @@ -64,12 +64,7 @@ bool AwardStatPacket::isAync() { return true; } // On most platforms we only store 'count' in an AwardStatPacket. int AwardStatPacket::getCount() { -#if 0 - assert(false); // Method not supported on Durango. - return 0; -#else return *((int*)this->m_paramData.data); -#endif } // On Durango we store 'Event' parameters here in a blob. diff --git a/Minecraft.World/Network/Packets/ChatAutoCompletePacket.h b/Minecraft.World/Network/Packets/ChatAutoCompletePacket.h index facdb4abb..1796e0013 100644 --- a/Minecraft.World/Network/Packets/ChatAutoCompletePacket.h +++ b/Minecraft.World/Network/Packets/ChatAutoCompletePacket.h @@ -3,53 +3,4 @@ #include "Packet.h" class ChatAutoCompletePacket : public Packet { -#if 0 - private String message; - - public ChatAutoCompletePacket() { - - } - public ChatAutoCompletePacket(String message) { - this.message = message; - } - - @Override - public void read(DataInputStream dis) throws IOException { - message = readUtf(dis, ChatPacket.MAX_LENGTH); - } - - @Override - public void write(DataOutputStream dos) throws IOException { - writeUtf(message, dos); - } - - @Override - public void handle(PacketListener listener) { - listener.handleChatAutoComplete(this); - } - - @Override - public int getEstimatedSize() { - return 2 + message.length() * 2; - } - - public String getMessage() { - return message; - } - - @Override - public String getDebugInfo() { - return String.format("message='%s'", message); - } - - @Override - public boolean canBeInvalidated() { - return true; - } - - @Override - public boolean isInvalidatedBy(Packet packet) { - return true; - } -#endif }; \ No newline at end of file diff --git a/Minecraft.World/Network/Packets/ClientInformationPacket.h b/Minecraft.World/Network/Packets/ClientInformationPacket.h index 01714a846..13eb5797b 100644 --- a/Minecraft.World/Network/Packets/ClientInformationPacket.h +++ b/Minecraft.World/Network/Packets/ClientInformationPacket.h @@ -3,98 +3,4 @@ #include "../../Platform/stdafx.h" class ClientInformationPacket : public Packet { -#if 0 - private String language; - private int viewDistance; - private int chatVisibility; - private boolean chatColors; - private int difficulty; - - public ClientInformationPacket() { - } - - public ClientInformationPacket(String language, int viewDistance, int chatVisibility, boolean chatColors, int difficulty, boolean showCape) { - this.language = language; - this.viewDistance = viewDistance; - this.chatVisibility = chatVisibility; - this.chatColors = chatColors; - this.difficulty = difficulty; - this.showCape = showCape; - } - - @Override - public void read(DataInputStream dis) throws IOException { - language = readUtf(dis, 7); - viewDistance = dis.readByte(); - - int chat = dis.readByte(); - chatVisibility = chat & 0x7; - chatColors = (chat & 0x8) == 0x8; - - difficulty = dis.readByte(); - showCape = dis.readBoolean(); - } - - @Override - public void write(DataOutputStream dos) throws IOException { - writeUtf(language, dos); - dos.writeByte(viewDistance); - dos.writeByte(chatVisibility | (chatColors ? 1 : 0) << 3); - dos.writeByte(difficulty); - dos.writeBoolean(showCape); - } - - @Override - public void handle(PacketListener listener) { - listener.handleClientInformation(this); - } - - @Override - public int getEstimatedSize() { - return 7; - } - - public String getLanguage() { - return language; - } - - public int getViewDistance() { - return viewDistance; - } - - public int getChatVisibility() { - return chatVisibility; - } - - public boolean getChatColors() { - return chatColors; - } - - public int getDifficulty() { - return difficulty; - } - - public boolean getShowCape() { - return showCape; - } - - public void setDifficulty(int difficulty) { - this.difficulty = difficulty; - } - - @Override - public String getDebugInfo() { - return String.format("lang='%s', view=%d, chat=%d, col=%b, difficulty=%d", language, viewDistance, chatVisibility, chatColors, difficulty); - } - - @Override - public boolean canBeInvalidated() { - return true; - } - - @Override - public boolean isInvalidatedBy(Packet packet) { - return true; - } -#endif }; \ No newline at end of file diff --git a/Minecraft.World/Network/Packets/ClientProtocolPacket.h b/Minecraft.World/Network/Packets/ClientProtocolPacket.h index 9b71ad440..a8dc2530f 100644 --- a/Minecraft.World/Network/Packets/ClientProtocolPacket.h +++ b/Minecraft.World/Network/Packets/ClientProtocolPacket.h @@ -3,71 +3,4 @@ #include "Packet.h" class ClientProtocolPacket : public Packet { -#if 0 - private int protocolVersion; - private String userName; - - // [EB]: Two fields below exist because we used to have a feature where we sent this - // information so people with dynamic proxies know where to connect us to. - private String hostName; - private int port; - - public ClientProtocolPacket() { - // Needed - } - - public ClientProtocolPacket(final int protocolVersion, final String userName, final String hostName, final int port) { - this.protocolVersion = protocolVersion; - this.userName = userName; - this.hostName = hostName; - this.port = port; - } - - @Override - public void read(DataInputStream dis) throws IOException { - protocolVersion = dis.readByte(); - userName = readUtf(dis, Player.MAX_NAME_LENGTH); - hostName = readUtf(dis, 255); - port = dis.readInt(); - } - - @Override - public void write(DataOutputStream dos) throws IOException { - dos.writeByte(protocolVersion); - writeUtf(userName, dos); - writeUtf(hostName, dos); - dos.writeInt(port); - } - - @Override - public void handle(PacketListener listener) { - listener.handleClientProtocolPacket(this); - } - - @Override - public int getEstimatedSize() { - return 1 + 2 + 2 * userName.length(); - } - - public int getProtocolVersion() { - return protocolVersion; - } - - public String getUserName() { - return userName; - } - - public String getHostName() { - return hostName; - } - - public int getPort() { - return port; - } - - @Override - public String getDebugInfo() { - return String.format("ver=%d, name='%s'", protocolVersion, userName); - } -#endif }; \ No newline at end of file diff --git a/Minecraft.World/Network/Packets/DisconnectPacket.h b/Minecraft.World/Network/Packets/DisconnectPacket.h index c5a10a415..9d0702920 100644 --- a/Minecraft.World/Network/Packets/DisconnectPacket.h +++ b/Minecraft.World/Network/Packets/DisconnectPacket.h @@ -33,20 +33,12 @@ public: eDisconnect_NoUGC_Single_Local, eDisconnect_ContentRestricted_AllLocal, eDisconnect_ContentRestricted_Single_Local, -#if 1 eDisconnect_NoUGC_Remote, -#endif eDisconnect_NoFriendsInGame, eDisconnect_Banned, eDisconnect_NotFriendsWithHost, eDisconnect_NATMismatch, -#if 0 - eDisconnect_NetworkError, -#endif -#if 0 - eDisconnect_ExitedGame, -#endif }; // 4J Stu - The reason was a string, but we need to send a non-locale diff --git a/Minecraft.World/Network/Packets/Packet.cpp b/Minecraft.World/Network/Packets/Packet.cpp index 2c44c619f..276cdd8a2 100644 --- a/Minecraft.World/Network/Packets/Packet.cpp +++ b/Minecraft.World/Network/Packets/Packet.cpp @@ -6,7 +6,7 @@ #include "Packet.h" #include "../../Headers/com.mojang.nbt.h" -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) #include "../../../Minecraft.Client/Minecraft.h" #include "../../../Minecraft.Client/UI/Gui.h" #endif @@ -151,7 +151,7 @@ void Packet::staticCtor() { ContainerClosePacket::create); map(102, false, true, false, false, typeid(ContainerClickPacket), ContainerClickPacket::create); -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) // 4J Stu - We have some debug code that uses this packet to send data back // to the server from the client We may wish to add this into the real game // at some point @@ -285,15 +285,11 @@ int Packet::renderPos = 0; void Packet::map(int id, bool receiveOnClient, bool receiveOnServer, bool sendToAnyClient, bool renderStats, const std::type_info& clazz, packetCreateFn createFn) { -#if 0 - if (idToClassMap.count(id) > 0) throw new IllegalArgumentException(std::wstring(L"Duplicate packet id:") + _toString(id)); - if (classToIdMap.count(clazz) > 0) throw new IllegalArgumentException(L"Duplicate packet class:"); // TODO + clazz); -#endif idToCreateMap.insert( std::unordered_map::value_type(id, createFn)); -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) #if PACKET_ENABLE_STAT_TRACKING Packet::PacketStatistics* packetStatistics = new PacketStatistics(id); outgoingStatistics[id] = packetStatistics; @@ -318,16 +314,12 @@ void Packet::map(int id, bool receiveOnClient, bool receiveOnServer, // 4J Added to record data for outgoing packets void Packet::recordOutgoingPacket(std::shared_ptr packet, int playerIndex) { -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) #if PACKET_ENABLE_STAT_TRACKING -#if 0 - int idx = packet->getId(); -#else int idx = playerIndex; if (packet->getId() != 51) { idx = 100; } -#endif AUTO_VAR(it, outgoingStatistics.find(idx)); if (it == outgoingStatistics.end()) { @@ -342,7 +334,7 @@ void Packet::recordOutgoingPacket(std::shared_ptr packet, } void Packet::updatePacketStatsPIX() { -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) #if PACKET_ENABLE_STAT_TRACKING for (AUTO_VAR(it, outgoingStatistics.begin()); @@ -375,7 +367,7 @@ byteArray Packet::readBytes(DataInputStream* datainputstream) { int size = datainputstream->readShort(); if (size < 0) { app.DebugPrintf("Key was smaller than nothing! Weird key!"); -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) __debugbreak(); #endif return byteArray(); @@ -450,7 +442,7 @@ std::shared_ptr Packet::readPacket( // 4J - Don't bother tracking stats in a content package // 4J Stu - This changes a bit in 1.0.1, but we don't really use it so stick // with what we have -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) #if PACKET_ENABLE_STAT_TRACKING AUTO_VAR(it, statistics.find(id)); @@ -481,13 +473,6 @@ void Packet::writeUtf(const std::wstring& value, DataOutputStream* dos) // throws IOException TODO 4J JEV, // should this declare a throws? { -#if 0 -#include - if (value.length() > std::numeric_limits::max()) - { - throw new IOException(L"String too big"); - } -#endif dos->writeShort((short)value.length()); dos->writeChars(value); diff --git a/Minecraft.World/Network/Packets/ServerAuthDataPacket.h b/Minecraft.World/Network/Packets/ServerAuthDataPacket.h index 55dd64e70..8fe43f2e2 100644 --- a/Minecraft.World/Network/Packets/ServerAuthDataPacket.h +++ b/Minecraft.World/Network/Packets/ServerAuthDataPacket.h @@ -3,55 +3,4 @@ #include "Packet.h" class ServerAuthDataPacket : public Packet { -#if 0 - private String serverId; - private PublicKey publicKey; - private uint8_t[] nonce = new uint8_t[]{}; - - public ServerAuthDataPacket() { - // Needed - } - - public ServerAuthDataPacket(final String serverId, final PublicKey publicKey, final uint8_t[] nonce) { - this.serverId = serverId; - this.publicKey = publicKey; - this.nonce = nonce; - } - - @Override - public void read(DataInputStream dis) throws IOException { - serverId = readUtf(dis, 20); - publicKey = Crypt.byteToPublicKey(readBytes(dis)); - nonce = readBytes(dis); - } - - @Override - public void write(DataOutputStream dos) throws IOException { - writeUtf(serverId, dos); - writeBytes(dos, publicKey.getEncoded()); - writeBytes(dos, nonce); - } - - @Override - public void handle(PacketListener listener) { - listener.handleServerAuthData(this); - } - - @Override - public int getEstimatedSize() { - return 2 + serverId.length() * 2 + 2 + publicKey.getEncoded().length + 2 + nonce.length; - } - - public String getServerId() { - return serverId; - } - - public PublicKey getPublicKey() { - return publicKey; - } - - public uint8_t[] getNonce() { - return nonce; - } -#endif }; \ No newline at end of file diff --git a/Minecraft.World/Network/Packets/SharedKeyPacket.h b/Minecraft.World/Network/Packets/SharedKeyPacket.h index d56eb7169..4df520504 100644 --- a/Minecraft.World/Network/Packets/SharedKeyPacket.h +++ b/Minecraft.World/Network/Packets/SharedKeyPacket.h @@ -3,60 +3,4 @@ #include "Packet.h" class SharedKeyPacket : public Packet { -#if 0 - private uint8_t[] keybytes = new uint8_t[]{}; - private uint8_t[] nonce = new uint8_t[]{}; - - private SecretKey secretKey; - - public SharedKeyPacket() { - // Needed - } - - public SharedKeyPacket(final SecretKey secretKey, final PublicKey publicKey, final uint8_t[] nonce) { - this.secretKey = secretKey; - this.keybytes = Crypt.encryptUsingKey(publicKey, secretKey.getEncoded()); - this.nonce = Crypt.encryptUsingKey(publicKey, nonce); - } - - @Override - public void read(DataInputStream dis) throws IOException { - keybytes = readBytes(dis); - nonce = readBytes(dis); - } - - @Override - public void write(DataOutputStream dos) throws IOException { - writeBytes(dos, keybytes); - writeBytes(dos, nonce); - } - - @Override - public void handle(PacketListener listener) { - listener.handleSharedKey(this); - } - - @Override - public int getEstimatedSize() { - return 2 + keybytes.length + 2 + nonce.length; - } - - public SecretKey getSecretKey(PrivateKey privateKey) { - if (privateKey == null) { - return secretKey; - } - return secretKey = Crypt.decryptByteToSecretKey(privateKey, keybytes); - } - - public SecretKey getSecretKey() { - return getSecretKey(null); - } - - public uint8_t[] getNonce(PrivateKey privateKey) { - if (privateKey == null) { - return nonce; - } - return Crypt.decryptUsingKey(privateKey, nonce); - } -#endif }; \ No newline at end of file diff --git a/Minecraft.World/Network/Socket.cpp b/Minecraft.World/Network/Socket.cpp index cfa91e163..750c14543 100644 --- a/Minecraft.World/Network/Socket.cpp +++ b/Minecraft.World/Network/Socket.cpp @@ -461,15 +461,9 @@ void Socket::SocketOutputStreamNetwork::writeWithFlags(byteArray b, return; } -#if 0 - bool lowPriority = ((flags & QNET_SENDDATA_LOW_PRIORITY) == - QNET_SENDDATA_LOW_PRIORITY); - bool requireAck = lowPriority; -#else bool lowPriority = false; bool requireAck = ((flags & NON_QNET_SENDDATA_ACK_REQUIRED) == NON_QNET_SENDDATA_ACK_REQUIRED); -#endif if (m_queueIdx == SOCKET_SERVER_END) { // printf( "Sent %u bytes of data from \"%ls\" to \"%ls\"\n", diff --git a/Minecraft.World/Platform/Minecraft.World.cpp b/Minecraft.World/Platform/Minecraft.World.cpp index 58d1b93d2..3770f4c39 100644 --- a/Minecraft.World/Platform/Minecraft.World.cpp +++ b/Minecraft.World/Platform/Minecraft.World.cpp @@ -17,11 +17,7 @@ #include "Minecraft.World.h" #include "../../Minecraft.Client/Level/ServerLevel.h" -#if 0 -#include "../Stats/DurangoStats.h" -#else #include "../Stats/CommonStats.h" -#endif void MinecraftWorld_RunStaticCtors() { // The ordering of these static ctors can be important. If they are within @@ -42,12 +38,8 @@ void MinecraftWorld_RunStaticCtors() { Item::staticCtor(); FurnaceRecipes::staticCtor(); Recipes::staticCtor(); -#if 0 - GenericStats::setInstance(new DurangoStats()); -#else GenericStats::setInstance(new CommonStats()); Stats::staticCtor(); -#endif // Achievements::staticCtor(); // 4J Stu - This is now called from // within the Stats::staticCtor() TileEntity::staticCtor(); diff --git a/Minecraft.World/Platform/System.cpp b/Minecraft.World/Platform/System.cpp index a974dcf1f..d0dfd3d97 100644 --- a/Minecraft.World/Platform/System.cpp +++ b/Minecraft.World/Platform/System.cpp @@ -1,13 +1,10 @@ #include "stdafx.h" -#if 0 -#include -#endif #include "System.h" #if defined(__linux__) #include #include #include -#endif // __linux__ +#endif template void System::arraycopy(arrayWithLength src, unsigned int srcPos, @@ -70,7 +67,7 @@ int64_t System::nanoTime() { struct timespec ts; clock_gettime(CLOCK_MONOTONIC, &ts); return static_cast(ts.tv_sec) * 1000000000LL + ts.tv_nsec; -#endif // __linux__ +#endif } // Returns the current time in milliseconds. Note that while the unit of time of @@ -84,31 +81,7 @@ int64_t System::nanoTime() { // the difference, measured in milliseconds, between the current time and // midnight, January 1, 1970 UTC. int64_t System::currentTimeMillis() { -#if 0 - // sys_time_get_current_time() obtains the elapsed time since Epoch - //(1970/01/01 00:00:00 UTC). The value is separated into two parts: sec - //stores the elapsed time in seconds, and nsec - // stores the value that is smaller than a second in nanoseconds. - sys_time_sec_t sec; - sys_time_nsec_t nsec; - sys_time_get_current_time(&sec, &nsec); - int64_t msec = (sec * 1000) + (nsec / (1000 * 1000)); - return msec; - -#elif 0 - SceRtcTick tick; - int err = sceRtcGetCurrentTick(&tick); - - return (int64_t)(tick.tick / 1000); -#elif 0 - // AP - TRC states we can't use the RTC for measuring elapsed game time - return sceKernelGetProcessTimeWide() / 1000; -/* SceDateTime Time; - sceRtcGetCurrentClockLocalTime(&Time); - int64_t systTime = (((((((Time.day * 24) + Time.hour) * 60) + - Time.minute) * 60) + Time.second) * 1000) + (Time.microsecond / 1000); return - systTime;*/ -#elif defined(__linux__) +#if defined(__linux__) struct timeval tv; gettimeofday(&tv, NULL); // Convert to milliseconds since unix epoch instead of windows file time @@ -129,24 +102,13 @@ int64_t System::currentTimeMillis() { li.LowPart = UTCFileTime.dwLowDateTime; return li.QuadPart / 10000; -#endif // 0 +#endif } // 4J Stu - Added this so that we can use real-world timestamps in PSVita saves. // Particularly required for the save transfers to be smooth int64_t System::currentRealTimeMillis() { -#if 0 - SceDateTime Time; - sceRtcGetCurrentClockLocalTime(&Time); - int64_t systTime = - (((((((Time.day * 24) + Time.hour) * 60) + Time.minute) * 60) + - Time.second) * - 1000) + - (Time.microsecond / 1000); - return systTime; -#else return currentTimeMillis(); -#endif } void System::ReverseUSHORT(unsigned short* pusVal) { diff --git a/Minecraft.World/Player/Player.cpp b/Minecraft.World/Player/Player.cpp index 298ab9e7c..94578c4ea 100644 --- a/Minecraft.World/Player/Player.cpp +++ b/Minecraft.World/Player/Player.cpp @@ -101,9 +101,6 @@ void Player::_init() { m_bCheckedForModelParts = false; m_bCheckedDLCForModelParts = false; -#if 0 || 0 - m_ePlayerNameValidState = ePlayerNameValid_NotSet; -#endif enderChestInventory = std::shared_ptr( new PlayerEnderChestContainer()); @@ -146,11 +143,9 @@ Player::Player(Level* level, const std::wstring& name) : LivingEntity(level) { app.GetGameHostOption(eGameHostOption_Gamertags) != 0 ? true : false); m_bIsGuest = false; -#if 1 // 4J: Set UUID to name on none-XB1 consoles, may change in future but for // now ownership of animals on these consoles is done by name setUUID(name); -#endif } Player::~Player() { @@ -335,36 +330,6 @@ void Player::tick() { if (!level->isClientSide) { static int count = 0; if (count++ == 100) { -#if 0 -#ifdef _WINDOWS64 - // Drop some items so we have them in inventory to play with - this->drop( std::shared_ptr( new ItemInstance(Tile::recordPlayer) ) ); - this->drop( std::shared_ptr( new ItemInstance(Item::map) ) ); - this->drop( std::shared_ptr( new ItemInstance(Item::record_01) ) ); - this->drop( std::shared_ptr( new ItemInstance(Item::record_02) ) ); - this->drop( std::shared_ptr(new ItemInstance( Item::pickAxe_diamond, 1 )) ); -#endif - -#if 0 - // #ifdef _DEBUG - // // Drop some items so we have them in inventory to play with - // this->drop( shared_ptr( new ItemInstance(Tile::recordPlayer) ) ); - // this->drop( shared_ptr( new ItemInstance(Item::map) ) ); - // this->drop( shared_ptr( new ItemInstance(Item::record_01) ) ); - // this->drop( shared_ptr( new ItemInstance(Item::record_02) ) ); - // this->drop( shared_ptr(new ItemInstance( Item::pickAxe_diamond, 1 )) ); - // #endif -#endif - -#if 0 - // Drop some items so we have them in inventory to play with - this->drop( std::shared_ptr( new ItemInstance(Tile::recordPlayer) ) ); - this->drop( std::shared_ptr( new ItemInstance(Item::map) ) ); - this->drop( std::shared_ptr( new ItemInstance(Item::record_01) ) ); - this->drop( std::shared_ptr( new ItemInstance(Item::record_02) ) ); - this->drop( std::shared_ptr(new ItemInstance( Item::pickAxe_diamond, 1 )) ); -#endif -#endif // 4J-PB - Throw items out at the start of the level // this->drop( new ItemInstance( Item::pickAxe_diamond, 1 ) ); // this->drop( new ItemInstance( Tile::workBench, 1 ) ); @@ -429,76 +394,6 @@ void Player::tick() { // inventory.add(itemInstance); } } -#if 0 - // 4J Stu - This makes a tunnel with a powered track just over length to get the On A Rail achievement - // It needs a few items at the start to get you going (a level and some powered rails) and of course a - // minecart. For some reason some of the torches come off so it will also need some fixing along the way. - static bool madeTrack = false; - if( !madeTrack ) - { - this->drop( std::shared_ptr( new ItemInstance( Item::minecart, 1 ) ) ); - this->drop( std::shared_ptr( new ItemInstance( Tile::goldenRail, 10 ) ) ); - this->drop( std::shared_ptr( new ItemInstance( Tile::lever, 10 ) ) ); - - int poweredCount = 0; - for(int i = 10; i < 2800; ++i) - { - level->setTileAndData(x+i,y-1,z-2,Tile::quartzBlock_Id,0,Tile::UPDATE_CLIENTS); - level->setTileAndData(x+i,y,z-2,Tile::quartzBlock_Id,0,Tile::UPDATE_CLIENTS); - level->setTileAndData(x+i,y+1,z-2,Tile::quartzBlock_Id,0,Tile::UPDATE_CLIENTS); - level->setTileAndData(x+i,y+2,z-2,Tile::glowstone_Id,0,Tile::UPDATE_CLIENTS); - level->setTileAndData(x+i,y+3,z-2,Tile::quartzBlock_Id,0,Tile::UPDATE_CLIENTS); - - level->setTileAndData(x+i,y-1,z-1,Tile::stoneBrick_Id,0,Tile::UPDATE_CLIENTS); - if(i%20 == 0) - { - level->setTileAndData(x+i,y,z-1,Tile::redstoneTorch_on_Id,0,Tile::UPDATE_CLIENTS); - poweredCount = 4; - } - else - { - level->setTileAndData(x+i,y,z-1,0,0,Tile::UPDATE_CLIENTS); - } - level->setTileAndData(x+i,y+1,z-1,0,0,Tile::UPDATE_CLIENTS); - level->setTileAndData(x+i,y+2,z-1,0,0,Tile::UPDATE_CLIENTS); - level->setTileAndData(x+i,y+3,z-1,0,0,Tile::UPDATE_CLIENTS); - - level->setTileAndData(x+i,y-1,z,Tile::stoneBrick_Id,0,Tile::UPDATE_CLIENTS); - if(poweredCount>0) - { - level->setTileAndData(x+i,y,z,Tile::goldenRail_Id,0,Tile::UPDATE_CLIENTS); - --poweredCount; - } - else - { - level->setTileAndData(x+i,y,z,Tile::rail_Id,0,Tile::UPDATE_CLIENTS); - } - level->setTileAndData(x+i,y+1,z,0,0,Tile::UPDATE_CLIENTS); - level->setTileAndData(x+i,y+2,z,0,0,Tile::UPDATE_CLIENTS); - level->setTileAndData(x+i,y+3,z,0,0,Tile::UPDATE_CLIENTS); - - level->setTileAndData(x+i,y-1,z+1,Tile::stoneBrick_Id,0,Tile::UPDATE_CLIENTS); - if((i+5)%20 == 0) - { - level->setTileAndData(x+i,y,z+1,Tile::torch_Id,0,Tile::UPDATE_CLIENTS); - } - else - { - level->setTileAndData(x+i,y,z+1,0,0,Tile::UPDATE_CLIENTS); - } - level->setTileAndData(x+i,y+1,z+1,0,0,Tile::UPDATE_CLIENTS); - level->setTileAndData(x+i,y+2,z+1,0,0,Tile::UPDATE_CLIENTS); - level->setTileAndData(x+i,y+3,z+1,0,0,Tile::UPDATE_CLIENTS); - - level->setTileAndData(x+i,y-1,z+2,Tile::quartzBlock_Id,0,Tile::UPDATE_CLIENTS); - level->setTileAndData(x+i,y,z+2,Tile::quartzBlock_Id,0,Tile::UPDATE_CLIENTS); - level->setTileAndData(x+i,y+1,z+2,Tile::quartzBlock_Id,0,Tile::UPDATE_CLIENTS); - level->setTileAndData(x+i,y+2,z+2,Tile::glowstone_Id,0,Tile::UPDATE_CLIENTS); - level->setTileAndData(x+i,y+3,z+2,Tile::quartzBlock_Id,0,Tile::UPDATE_CLIENTS); - } - madeTrack = true; - } -#endif } // End 4J sTU } @@ -594,14 +489,14 @@ void Player::ride(std::shared_ptr e) { } void Player::setPlayerDefaultSkin(EDefaultSkins skin) { -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) wprintf(L"Setting default skin to %d for player %ls\n", skin, name.c_str()); #endif m_skinIndex = skin; } void Player::setCustomSkin(std::uint32_t skinId) { -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) wprintf(L"Attempting to set skin to %08X for player %ls\n", skinId, name.c_str()); #endif @@ -721,17 +616,10 @@ unsigned int Player::getSkinAnimOverrideBitmask(std::uint32_t skinId) { void Player::setXuid(PlayerUID xuid) { m_xuid = xuid; -#if 0 - // 4J Stu - For XboxOne (and probably in the future all other platforms) we - // store a UUID for the player to use as the owner key for tamed animals - // This should just be a string version of the xuid - - setUUID(xuid.toString()); -#endif } void Player::setCustomCape(std::uint32_t capeId) { -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) wprintf(L"Attempting to set cape to %08X for player %s\n", capeId, name.c_str()); #endif @@ -1955,28 +1843,11 @@ void Player::checkRidingStatistiscs(double dx, double dy, double dz) { // on durango. int dist = minecartAchievementPos->dist( Mth::floor(x), Mth::floor(y), Mth::floor(z)); -#if 0 - // 4J-PB - send the event to cause the progress bar to - // increase on XB1 - if (m_bAwardedOnARail == false) { - if (dist < 500) { - if ((dist > 0) && (dist % 100 == 0)) { - awardStat(GenericStats::onARail(), - GenericStats::param_onARail(dist)); - } - } else { - awardStat(GenericStats::onARail(), - GenericStats::param_onARail(dist)); - m_bAwardedOnARail = true; - } - } -#else if ((m_bAwardedOnARail == false) && (dist >= 500)) { awardStat(GenericStats::onARail(), GenericStats::param_onARail(dist)); m_bAwardedOnARail = true; } -#endif } } else if (riding->instanceof(eTYPE_BOAT)) { @@ -2203,7 +2074,7 @@ void Player::startUsingItem(std::shared_ptr instance, GenericStats::param_itemsUsed( std::dynamic_pointer_cast(shared_from_this()), instance)); -#if (!0) && (defined _EXTENDED_ACHIEVEMENTS) +#if defined(_EXTENDED_ACHIEVEMENTS) if ((instance->getItem()->id == Item::rotten_flesh_Id) && (getFoodData()->getFoodLevel() == 0)) awardStat(GenericStats::ironBelly(), GenericStats::param_ironBelly()); @@ -2375,12 +2246,7 @@ int Player::getTexture() { int Player::hash_fnct(const std::shared_ptr k) { // TODO 4J Stu - Should we just be using the pointers and hashing them? -#if 0 - return (int)boost::hash_value( - k->name); // 4J Stu - Names are completely unique? -#else return (int)std::hash()(k->name); -#endif // 0 } bool Player::eq_test(const std::shared_ptr x, @@ -2815,17 +2681,3 @@ void Player::SetAdditionalModelParts( m_ppAdditionalModelParts = ppAdditionalModelParts; } -#if 0 || 0 - -Player::ePlayerNameValidState Player::GetPlayerNameValidState(void) { - return m_ePlayerNameValidState; -} - -void Player::SetPlayerNameValidState(bool bState) { - if (bState) { - m_ePlayerNameValidState = ePlayerNameValid_True; - } else { - m_ePlayerNameValidState = ePlayerNameValid_False; - } -} -#endif diff --git a/Minecraft.World/Player/Player.h b/Minecraft.World/Player/Player.h index ba6217249..640bb7342 100644 --- a/Minecraft.World/Player/Player.h +++ b/Minecraft.World/Player/Player.h @@ -582,27 +582,11 @@ public: void SetAdditionalModelParts( std::vector* ppAdditionalModelParts); -#if 0 || 0 - enum ePlayerNameValidState { - ePlayerNameValid_NotSet = 0, - ePlayerNameValid_True, - ePlayerNameValid_False - }; - - ePlayerNameValidState GetPlayerNameValidState(); - void SetPlayerNameValidState(bool bState); -#endif private: std::vector* m_ppAdditionalModelParts; bool m_bCheckedForModelParts; bool m_bCheckedDLCForModelParts; -#if 0 || 0 - ePlayerNameValidState - m_ePlayerNameValidState; // 4J-PB - to ensure we have the characters - // for this name in our font, or display a - // player number instead -#endif }; struct PlayerKeyHash { diff --git a/Minecraft.World/Recipes/ArmorDyeRecipe.cpp b/Minecraft.World/Recipes/ArmorDyeRecipe.cpp index cb3dcaae6..0d4fe97ba 100644 --- a/Minecraft.World/Recipes/ArmorDyeRecipe.cpp +++ b/Minecraft.World/Recipes/ArmorDyeRecipe.cpp @@ -144,41 +144,6 @@ void ArmorDyeRecipe::collectRequirements(INGREDIENTS_REQUIRED* pIngReq) { memset(TempIngReq.iIngAuxValA, Recipes::ANY_AUX_VALUE, sizeof(int) * 9); ZeroMemory(TempIngReq.uiGridA, sizeof(unsigned int) * 9); -#if 0 - AUTO_VAR(citEnd, ingredients->end()); - - for (std::vector::const_iterator ingredient = ingredients->begin(); ingredient != citEnd; ingredient++) - { - ItemInstance *expected = *ingredient; - - if (expected!=NULL) - { - int iAuxVal = (*ingredient)->getAuxValue(); - TempIngReq.uiGridA[iCount++]=expected->id | iAuxVal<<24; - // 4J-PB - put the ingredients in boxes 1,2,4,5 so we can see them in a 2x2 crafting screen - if(iCount==2) iCount=3; - bFound=false; - for(j=0;jid) && (iAuxVal == Recipes::ANY_AUX_VALUE || TempIngReq.iIngAuxValA[j] == iAuxVal)) - { - bFound= true; - break; - } - } - if(bFound) - { - TempIngReq.iIngValA[j]++; - } - else - { - TempIngReq.iIngIDA[TempIngReq.iIngC]=expected->id; - TempIngReq.iIngAuxValA[TempIngReq.iIngC]=iAuxVal; - TempIngReq.iIngValA[TempIngReq.iIngC++]++; - } - } - } -#endif pIngReq->iIngIDA = new int[TempIngReq.iIngC]; pIngReq->iIngValA = new int[TempIngReq.iIngC]; diff --git a/Minecraft.World/Recipes/ClothDyeRecipes.cpp b/Minecraft.World/Recipes/ClothDyeRecipes.cpp index 5249346cd..50c47c06c 100644 --- a/Minecraft.World/Recipes/ClothDyeRecipes.cpp +++ b/Minecraft.World/Recipes/ClothDyeRecipes.cpp @@ -20,20 +20,6 @@ void ClothDyeRecipes::addRecipes(Recipes* r) { new ItemInstance(Tile::clayHardened), L'X', new ItemInstance(Item::dye_powder, 1, i), L'D'); -#if 0 - r->addShapedRecipy(new ItemInstance(Tile::stained_glass, 8, ColoredTile::getItemAuxValueForTileData(i)), // - L"sssczczg", - L"###", - L"#X#", - L"###", - L'#', new ItemInstance(Tile::glass), - L'X', new ItemInstance(Item::dye_powder, 1, i), L'D'); - r->addShapedRecipy(new ItemInstance(Tile::stained_glass_pane, 16, i), // - L"ssczg", - L"###", - L"###", - L'#', new ItemInstance(Tile::stained_glass, 1, i), L'D'); -#endif } // some dye recipes diff --git a/Minecraft.World/Scores/Score.h b/Minecraft.World/Scores/Score.h index 0fe0e735b..1dc2be4e2 100644 --- a/Minecraft.World/Scores/Score.h +++ b/Minecraft.World/Scores/Score.h @@ -6,20 +6,6 @@ class Objective; class Score { public: // 4J Not converted -#if 0 - static final Comparator SCORE_COMPARATOR = new Comparator() { - @Override - public int compare(Score o1, Score o2) { - if (o1.getScore() > o2.getScore()) { - return 1; - } else if (o1.getScore() < o2.getScore()) { - return -1; - } else { - return 0; - } - } - }; -#endif private: Scoreboard* scoreboard; diff --git a/Minecraft.World/Scores/ScoreboardSaveData.h b/Minecraft.World/Scores/ScoreboardSaveData.h index 4a59b45ee..4abd7dab5 100644 --- a/Minecraft.World/Scores/ScoreboardSaveData.h +++ b/Minecraft.World/Scores/ScoreboardSaveData.h @@ -1,189 +1,3 @@ #pragma once // 4J Not converted -#if 0 -class ScoreboardSaveData extends SavedData { - public static final String FILE_ID = "scoreboard"; - - private Scoreboard scoreboard; - private CompoundTag delayLoad; - - public ScoreboardSaveData() { - this(FILE_ID); - } - - public ScoreboardSaveData(String id) { - super(id); - } - - public void setScoreboard(Scoreboard scoreboard) { - this.scoreboard = scoreboard; - - if (delayLoad != null) { - load(delayLoad); - } - } - - @Override - public void load(CompoundTag tag) { - if (scoreboard == null) { - delayLoad = tag; - return; - } - - loadObjectives((ListTag) tag.getList("Objectives")); - loadPlayerScores((ListTag) tag.getList("PlayerScores")); - - if (tag.contains("DisplaySlots")) { - loadDisplaySlots(tag.getCompound("DisplaySlots")); - } - - if (tag.contains("Teams")) { - loadTeams((ListTag) tag.getList("Teams")); - } - } - - protected void loadTeams(ListTag list) { - for (int i = 0; i < list.size(); i++) { - CompoundTag tag = list.get(i); - - PlayerTeam team = scoreboard.addPlayerTeam(tag.getString("Name")); - team.setDisplayName(tag.getString("DisplayName")); - team.setPrefix(tag.getString("Prefix")); - team.setSuffix(tag.getString("Suffix")); - if (tag.contains("AllowFriendlyFire")) team.setAllowFriendlyFire(tag.getBoolean("AllowFriendlyFire")); - if (tag.contains("SeeFriendlyInvisibles")) team.setSeeFriendlyInvisibles(tag.getBoolean("SeeFriendlyInvisibles")); - - loadTeamPlayers(team, (ListTag) tag.getList("Players")); - } - } - - protected void loadTeamPlayers(PlayerTeam team, ListTag list) { - for (int i = 0; i < list.size(); i++) { - scoreboard.addPlayerToTeam(list.get(i).data, team); - } - } - - protected void loadDisplaySlots(CompoundTag tag) { - for (int i = 0; i < Scoreboard.DISPLAY_SLOTS; i++) { - if (tag.contains("slot_" + i)) { - String name = tag.getString("slot_" + i); - Objective objective = scoreboard.getObjective(name); - scoreboard.setDisplayObjective(i, objective); - } - } - } - - protected void loadObjectives(ListTag list) { - for (int i = 0; i < list.size(); i++) { - CompoundTag tag = list.get(i); - - ObjectiveCriteria criteria = ObjectiveCriteria.CRITERIA_BY_NAME.get(tag.getString("CriteriaName")); - Objective objective = scoreboard.addObjective(tag.getString("Name"), criteria); - objective.setDisplayName(tag.getString("DisplayName")); - } - } - - protected void loadPlayerScores(ListTag list) { - for (int i = 0; i < list.size(); i++) { - CompoundTag tag = list.get(i); - - Objective objective = scoreboard.getObjective(tag.getString("Objective")); - Score score = scoreboard.getPlayerScore(tag.getString("Name"), objective); - score.setScore(tag.getInt("Score")); - } - } - - @Override - public void save(CompoundTag tag) { - if (scoreboard == null) { - MinecraftServer.getInstance().getLogger().warning("Tried to save scoreboard without having a scoreboard..."); - return; - } - - tag.put("Objectives", saveObjectives()); - tag.put("PlayerScores", savePlayerScores()); - tag.put("Teams", saveTeams()); - - saveDisplaySlots(tag); - } - - protected ListTag saveTeams() { - ListTag list = new ListTag(); - Collection teams = scoreboard.getPlayerTeams(); - - for (PlayerTeam team : teams) { - CompoundTag tag = new CompoundTag(); - - tag.putString("Name", team.getName()); - tag.putString("DisplayName", team.getDisplayName()); - tag.putString("Prefix", team.getPrefix()); - tag.putString("Suffix", team.getSuffix()); - tag.putBoolean("AllowFriendlyFire", team.isAllowFriendlyFire()); - tag.putBoolean("SeeFriendlyInvisibles", team.canSeeFriendlyInvisibles()); - - ListTag playerList = new ListTag(); - - for (String player : team.getPlayers()) { - playerList.add(new StringTag("", player)); - } - - tag.put("Players", playerList); - - list.add(tag); - } - - return list; - } - - protected void saveDisplaySlots(CompoundTag tag) { - CompoundTag slots = new CompoundTag(); - boolean hasDisplaySlot = false; - - for (int i = 0; i < Scoreboard.DISPLAY_SLOTS; i++) { - Objective objective = scoreboard.getDisplayObjective(i); - - if (objective != null) { - slots.putString("slot_" + i, objective.getName()); - hasDisplaySlot = true; - } - } - - if (hasDisplaySlot) tag.putCompound("DisplaySlots", slots); - } - - protected ListTag saveObjectives() { - ListTag list = new ListTag(); - Collection objectives = scoreboard.getObjectives(); - - for (Objective objective : objectives) { - CompoundTag tag = new CompoundTag(); - - tag.putString("Name", objective.getName()); - tag.putString("CriteriaName", objective.getCriteria().getName()); - tag.putString("DisplayName", objective.getDisplayName()); - - list.add(tag); - } - - return list; - } - - protected ListTag savePlayerScores() { - ListTag list = new ListTag(); - Collection scores = scoreboard.getScores(); - - for (Score score : scores) { - CompoundTag tag = new CompoundTag(); - - tag.putString("Name", score.getOwner()); - tag.putString("Objective", score.getObjective().getName()); - tag.putInt("Score", score.getScore()); - - list.add(tag); - } - - return list; - } -}; -#endif \ No newline at end of file diff --git a/Minecraft.World/Stats/Achievements.cpp b/Minecraft.World/Stats/Achievements.cpp index 39817175c..206d055f2 100644 --- a/Minecraft.World/Stats/Achievements.cpp +++ b/Minecraft.World/Stats/Achievements.cpp @@ -61,7 +61,7 @@ Achievement* Achievements::arrowKillCreeper = NULL; Achievement* Achievements::mine100Blocks = NULL; Achievement* Achievements::kill10Creepers = NULL; -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) Achievement* Achievements::overkill = NULL; // Restored old achivements. Achievement* Achievements::bookcase = NULL; // Restored old achivements. @@ -193,7 +193,7 @@ void Achievements::staticCtor() { Tile::treeTrunk, (Achievement*)buildSword)) ->setAwardLocallyOnly() ->postConstruct(); -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) Achievements::eatPorkChop = (new Achievement(eAward_eatPorkChop, L"eatPorkChop", 0, 0, Tile::treeTrunk, (Achievement*)buildSword)) @@ -219,7 +219,6 @@ void Achievements::staticCtor() { Tile::treeTrunk, (Achievement*)buildSword)) ->postConstruct(); -#if 1 // WARNING: NO NEW ACHIEVMENTS CAN BE ADDED HERE // These stats (achievements) are directly followed by new // stats/achievements in the profile data, so cannot be changed without @@ -278,9 +277,8 @@ void Achievements::staticCtor() { // = (new Achievement(eAward_bookcase, // L"bookcase", -3, 6, Tile::bookshelf, // (Achievement *)enchantments) )->postConstruct(); -#endif -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) Achievements::overkill = (new Achievement(eAward_overkill, L"overkill", -4, 1, Item::sword_diamond, (Achievement*)enchantments)) diff --git a/Minecraft.World/Stats/CommonStats.cpp b/Minecraft.World/Stats/CommonStats.cpp index 4d40cfacc..d4e509c14 100644 --- a/Minecraft.World/Stats/CommonStats.cpp +++ b/Minecraft.World/Stats/CommonStats.cpp @@ -83,7 +83,7 @@ Stat* CommonStats::get_totalBlocksMined() { return Stats::totalBlocksMined; } Stat* CommonStats::get_timePlayed() { return Stats::timePlayed; } Stat* CommonStats::get_blocksPlaced(int blockId) { -#if (defined _EXTENDED_ACHIEVEMENTS) && (!0) +#if defined(_EXTENDED_ACHIEVEMENTS) return Stats::blocksPlaced[blockId]; #else return NULL; @@ -98,7 +98,7 @@ Stat* CommonStats::get_itemsCollected(int itemId, int itemAux) { // 4J-JEV: We don't need itemsCollected(emerald) so I'm using it to // stor itemsBought(emerald) so I don't have to make yet another massive // StatArray for Items Bought. -#if (defined _EXTENDED_ACHIEVEMENTS) && (!0) +#if defined(_EXTENDED_ACHIEVEMENTS) if (itemId == Tile::wool_Id) return Stats::rainbowCollection[itemAux]; #endif @@ -117,7 +117,7 @@ Stat* CommonStats::get_itemsSmelted(int itemId) { } Stat* CommonStats::get_itemsUsed(int itemId) { -#if (defined _EXTENDED_ACHIEVEMENTS) && (!0) +#if defined(_EXTENDED_ACHIEVEMENTS) // 4J-JEV: I've done the same thing here, we can't place these items anyway. if (itemId == Item::porkChop_cooked_Id) return Stats::blocksPlaced[itemId]; #endif @@ -141,7 +141,7 @@ Stat* CommonStats::get_killsEnderdragon() { return Stats::killsEnderdragon; } Stat* CommonStats::get_completeTheEnd() { return Stats::completeTheEnd; } Stat* CommonStats::get_enteredBiome(int biomeId) { -#if (defined _EXTENDED_ACHIEVEMENTS) && (!0) +#if defined(_EXTENDED_ACHIEVEMENTS) return Stats::biomesVisisted[biomeId]; #else return NULL; @@ -203,7 +203,6 @@ Stat* CommonStats::get_achievement(eAward achievementId) { case eAward_socialPost: return (Stat*)Achievements::socialPost; -#if 1 case eAward_snipeSkeleton: return (Stat*)Achievements::snipeSkeleton; case eAward_diamonds: @@ -222,9 +221,8 @@ Stat* CommonStats::get_achievement(eAward achievementId) { return (Stat*)Achievements::winGame; case eAward_enchantments: return (Stat*)Achievements::enchantments; -#endif -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) case eAward_overkill: return (Stat*)Achievements::overkill; // Restored old ach. case eAward_bookcase: diff --git a/Minecraft.World/Stats/GenericStats.cpp b/Minecraft.World/Stats/GenericStats.cpp index b93502c12..0ee832055 100644 --- a/Minecraft.World/Stats/GenericStats.cpp +++ b/Minecraft.World/Stats/GenericStats.cpp @@ -151,71 +151,39 @@ Stat* GenericStats::flyPig() { } Stat* GenericStats::snipeSkeleton() { -#if 1 return instance->get_achievement(eAward_snipeSkeleton); -#else - return NULL; -#endif } Stat* GenericStats::diamonds() { -#if 1 return instance->get_achievement(eAward_diamonds); -#else - return NULL; -#endif } Stat* GenericStats::ghast() { -#if 1 return instance->get_achievement(eAward_ghast); -#else - return NULL; -#endif } Stat* GenericStats::blazeRod() { -#if 1 return instance->get_achievement(eAward_blazeRod); -#else - return NULL; -#endif } Stat* GenericStats::potion() { -#if 1 return instance->get_achievement(eAward_potion); -#else - return NULL; -#endif } Stat* GenericStats::theEnd() { -#if 1 return instance->get_achievement(eAward_theEnd); -#else - return NULL; -#endif } Stat* GenericStats::winGame() { -#if 1 return instance->get_achievement(eAward_winGame); -#else - return NULL; -#endif } Stat* GenericStats::enchantments() { -#if 1 return instance->get_achievement(eAward_enchantments); -#else - return NULL; -#endif } Stat* GenericStats::overkill() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->get_achievement(eAward_overkill); #else return NULL; @@ -223,7 +191,7 @@ Stat* GenericStats::overkill() { } Stat* GenericStats::bookcase() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->get_achievement(eAward_bookcase); #else return NULL; @@ -271,7 +239,7 @@ Stat* GenericStats::kill10Creepers() { } Stat* GenericStats::adventuringTime() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->get_achievement(eAward_adventuringTime); #else return NULL; @@ -279,7 +247,7 @@ Stat* GenericStats::adventuringTime() { } Stat* GenericStats::repopulation() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->get_achievement(eAward_repopulation); #else return NULL; @@ -287,7 +255,7 @@ Stat* GenericStats::repopulation() { } Stat* GenericStats::porkChop() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->get_achievement(eAward_eatPorkChop); #else return NULL; @@ -295,7 +263,7 @@ Stat* GenericStats::porkChop() { } Stat* GenericStats::diamondsToYou() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->get_achievement(eAward_diamondsToYou); #else return NULL; @@ -303,7 +271,7 @@ Stat* GenericStats::diamondsToYou() { } Stat* GenericStats::passingTheTime() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->get_achievement(eAward_play100Days); #else return NULL; @@ -311,7 +279,7 @@ Stat* GenericStats::passingTheTime() { } Stat* GenericStats::archer() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->get_achievement(eAward_arrowKillCreeper); #else return NULL; @@ -319,7 +287,7 @@ Stat* GenericStats::archer() { } Stat* GenericStats::theHaggler() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->get_achievement(eAward_theHaggler); #else return NULL; @@ -327,7 +295,7 @@ Stat* GenericStats::theHaggler() { } Stat* GenericStats::potPlanter() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->get_achievement(eAward_potPlanter); #else return NULL; @@ -335,7 +303,7 @@ Stat* GenericStats::potPlanter() { } Stat* GenericStats::itsASign() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->get_achievement(eAward_itsASign); #else return NULL; @@ -343,7 +311,7 @@ Stat* GenericStats::itsASign() { } Stat* GenericStats::ironBelly() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->get_achievement(eAward_ironBelly); #else return NULL; @@ -351,7 +319,7 @@ Stat* GenericStats::ironBelly() { } Stat* GenericStats::haveAShearfulDay() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->get_achievement(eAward_haveAShearfulDay); #else return NULL; @@ -359,7 +327,7 @@ Stat* GenericStats::haveAShearfulDay() { } Stat* GenericStats::rainbowCollection() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->get_achievement(eAward_rainbowCollection); #else return NULL; @@ -367,7 +335,7 @@ Stat* GenericStats::rainbowCollection() { } Stat* GenericStats::stayinFrosty() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->get_achievement(eAward_stayinFrosty); #else return NULL; @@ -375,7 +343,7 @@ Stat* GenericStats::stayinFrosty() { } Stat* GenericStats::chestfulOfCobblestone() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->get_achievement(eAward_chestfulOfCobblestone); #else return NULL; @@ -383,7 +351,7 @@ Stat* GenericStats::chestfulOfCobblestone() { } Stat* GenericStats::renewableEnergy() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->get_achievement(eAward_renewableEnergy); #else return NULL; @@ -391,7 +359,7 @@ Stat* GenericStats::renewableEnergy() { } Stat* GenericStats::musicToMyEars() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->get_achievement(eAward_musicToMyEars); #else return NULL; @@ -399,7 +367,7 @@ Stat* GenericStats::musicToMyEars() { } Stat* GenericStats::bodyGuard() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->get_achievement(eAward_bodyGuard); #else return NULL; @@ -407,7 +375,7 @@ Stat* GenericStats::bodyGuard() { } Stat* GenericStats::ironMan() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->get_achievement(eAward_ironMan); #else return NULL; @@ -415,7 +383,7 @@ Stat* GenericStats::ironMan() { } Stat* GenericStats::zombieDoctor() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->get_achievement(eAward_zombieDoctor); #else return NULL; @@ -423,7 +391,7 @@ Stat* GenericStats::zombieDoctor() { } Stat* GenericStats::lionTamer() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->get_achievement(eAward_lionTamer); #else return NULL; @@ -536,11 +504,7 @@ byteArray GenericStats::getParam_onARail(int distance) { } byteArray GenericStats::getParam_overkill(int damage) { -#if 0 - return getParam_noArgs(); -#else return getParam_achievement(eAward_overkill); -#endif } byteArray GenericStats::getParam_openInventory(int menuId) { @@ -548,7 +512,7 @@ byteArray GenericStats::getParam_openInventory(int menuId) { } byteArray GenericStats::getParam_chestfulOfCobblestone(int cobbleStone) { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return getParam_achievement(eAward_chestfulOfCobblestone); #else return getParam_noArgs(); @@ -556,7 +520,7 @@ byteArray GenericStats::getParam_chestfulOfCobblestone(int cobbleStone) { } byteArray GenericStats::getParam_musicToMyEars(int recordId) { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return getParam_achievement(eAward_musicToMyEars); #else return getParam_noArgs(); @@ -739,67 +703,35 @@ byteArray GenericStats::param_flyPig() { } byteArray GenericStats::param_snipeSkeleton() { -#if 0 - return instance->getParam_noArgs(); -#else return instance->getParam_achievement(eAward_snipeSkeleton); -#endif } byteArray GenericStats::param_diamonds() { -#if 0 - return instance->getParam_noArgs(); -#else return instance->getParam_achievement(eAward_diamonds); -#endif } byteArray GenericStats::param_ghast() { -#if 0 - return instance->getParam_noArgs(); -#else return instance->getParam_achievement(eAward_ghast); -#endif } byteArray GenericStats::param_blazeRod() { -#if 0 - return instance->getParam_noArgs(); -#else return instance->getParam_achievement(eAward_blazeRod); -#endif } byteArray GenericStats::param_potion() { -#if 0 - return instance->getParam_noArgs(); -#else return instance->getParam_achievement(eAward_potion); -#endif } byteArray GenericStats::param_theEnd() { -#if 0 - return instance->getParam_noArgs(); -#else return instance->getParam_achievement(eAward_theEnd); -#endif } byteArray GenericStats::param_winGame() { -#if 0 - return instance->getParam_noArgs(); -#else return instance->getParam_achievement(eAward_winGame); -#endif } byteArray GenericStats::param_enchantments() { -#if 0 - return instance->getParam_noArgs(); -#else return instance->getParam_achievement(eAward_enchantments); -#endif } byteArray GenericStats::param_overkill(int dmg) { @@ -807,7 +739,7 @@ byteArray GenericStats::param_overkill(int dmg) { } byteArray GenericStats::param_bookcase() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->getParam_achievement(eAward_bookcase); #else return instance->getParam_noArgs(); @@ -855,7 +787,7 @@ byteArray GenericStats::param_kill10Creepers() { } byteArray GenericStats::param_adventuringTime() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->getParam_achievement(eAward_adventuringTime); #else return instance->getParam_noArgs(); @@ -863,7 +795,7 @@ byteArray GenericStats::param_adventuringTime() { } byteArray GenericStats::param_repopulation() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->getParam_achievement(eAward_repopulation); #else return instance->getParam_noArgs(); @@ -871,7 +803,7 @@ byteArray GenericStats::param_repopulation() { } byteArray GenericStats::param_porkChop() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->getParam_achievement(eAward_eatPorkChop); #else return instance->getParam_noArgs(); @@ -879,7 +811,7 @@ byteArray GenericStats::param_porkChop() { } byteArray GenericStats::param_diamondsToYou() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->getParam_achievement(eAward_diamondsToYou); #else return instance->getParam_noArgs(); @@ -887,7 +819,7 @@ byteArray GenericStats::param_diamondsToYou() { } byteArray GenericStats::param_passingTheTime() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->getParam_achievement(eAward_play100Days); #else return instance->getParam_noArgs(); @@ -895,7 +827,7 @@ byteArray GenericStats::param_passingTheTime() { } byteArray GenericStats::param_archer() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->getParam_achievement(eAward_arrowKillCreeper); #else return instance->getParam_noArgs(); @@ -903,7 +835,7 @@ byteArray GenericStats::param_archer() { } byteArray GenericStats::param_theHaggler() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->getParam_achievement(eAward_theHaggler); #else return instance->getParam_noArgs(); @@ -911,7 +843,7 @@ byteArray GenericStats::param_theHaggler() { } byteArray GenericStats::param_potPlanter() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->getParam_achievement(eAward_potPlanter); #else return instance->getParam_noArgs(); @@ -919,7 +851,7 @@ byteArray GenericStats::param_potPlanter() { } byteArray GenericStats::param_itsASign() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->getParam_achievement(eAward_itsASign); #else return instance->getParam_noArgs(); @@ -927,7 +859,7 @@ byteArray GenericStats::param_itsASign() { } byteArray GenericStats::param_ironBelly() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->getParam_achievement(eAward_ironBelly); #else return instance->getParam_noArgs(); @@ -935,7 +867,7 @@ byteArray GenericStats::param_ironBelly() { } byteArray GenericStats::param_haveAShearfulDay() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->getParam_achievement(eAward_haveAShearfulDay); #else return instance->getParam_noArgs(); @@ -943,7 +875,7 @@ byteArray GenericStats::param_haveAShearfulDay() { } byteArray GenericStats::param_rainbowCollection() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->getParam_achievement(eAward_rainbowCollection); #else return instance->getParam_noArgs(); @@ -951,7 +883,7 @@ byteArray GenericStats::param_rainbowCollection() { } byteArray GenericStats::param_stayinFrosty() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->getParam_achievement(eAward_stayinFrosty); #else return instance->getParam_noArgs(); @@ -963,7 +895,7 @@ byteArray GenericStats::param_chestfulOfCobblestone(int cobbleStone) { } byteArray GenericStats::param_renewableEnergy() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->getParam_achievement(eAward_renewableEnergy); #else return instance->getParam_noArgs(); @@ -975,7 +907,7 @@ byteArray GenericStats::param_musicToMyEars(int recordId) { } byteArray GenericStats::param_bodyGuard() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->getParam_achievement(eAward_bodyGuard); #else return instance->getParam_noArgs(); @@ -983,7 +915,7 @@ byteArray GenericStats::param_bodyGuard() { } byteArray GenericStats::param_ironMan() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->getParam_achievement(eAward_ironMan); #else return instance->getParam_noArgs(); @@ -991,7 +923,7 @@ byteArray GenericStats::param_ironMan() { } byteArray GenericStats::param_zombieDoctor() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->getParam_achievement(eAward_zombieDoctor); #else return instance->getParam_noArgs(); @@ -999,7 +931,7 @@ byteArray GenericStats::param_zombieDoctor() { } byteArray GenericStats::param_lionTamer() { -#ifdef _EXTENDED_ACHIEVEMENTS +#if defined(_EXTENDED_ACHIEVEMENTS) return instance->getParam_achievement(eAward_lionTamer); #else return instance->getParam_noArgs(); diff --git a/Minecraft.World/Stats/Stat.cpp b/Minecraft.World/Stats/Stat.cpp index 57e06ea9e..64aa04dff 100644 --- a/Minecraft.World/Stats/Stat.cpp +++ b/Minecraft.World/Stats/Stat.cpp @@ -39,12 +39,7 @@ Stat* Stat::postConstruct() { Stats::all->push_back(this); std::pair id1(id, this); -#if 0 - Stats::statsById->emplace(id1); // assert(0); // MGH - TODO - FIX - find - // out where this move function comes from -#else Stats::statsById->emplace(std::move(id1)); -#endif // 0 return this; } diff --git a/Minecraft.World/Stats/Stats.cpp b/Minecraft.World/Stats/Stats.cpp index ba409bd84..7459fca62 100644 --- a/Minecraft.World/Stats/Stats.cpp +++ b/Minecraft.World/Stats/Stats.cpp @@ -26,7 +26,7 @@ std::vector* Stats::blocksMinedStats = new std::vector; std::vector* Stats::itemsCollectedStats = new std::vector; std::vector* Stats::itemsCraftedStats = new std::vector; -#if (defined _EXTENDED_ACHIEVEMENTS) && (!0) +#if defined(_EXTENDED_ACHIEVEMENTS) std::vector* Stats::blocksPlacedStats = new std::vector; #endif @@ -59,7 +59,7 @@ StatArray Stats::blocksMined; StatArray Stats::itemsCollected; StatArray Stats::itemsCrafted; -#if (defined _EXTENDED_ACHIEVEMENTS) && (!0) +#if defined(_EXTENDED_ACHIEVEMENTS) StatArray Stats::blocksPlaced; StatArray Stats::rainbowCollection; StatArray Stats::biomesVisisted; @@ -327,23 +327,6 @@ void Stats::buildCraftableStats() { blocksMinedStats->push_back(newStat); blocksMined[Tile::reeds_Id] = newStat; newStat->postConstruct(); -#if 0 - newStat = new ItemStat(ITEMS_COLLECTED_OFFSET + 1, L"collectItem.wheat", Item::wheat->id); - itemsCollectedStats->push_back(newStat); - itemsCollected[Item::wheat->id] = newStat; - newStat->postConstruct(); - - newStat = new ItemStat(ITEMS_COLLECTED_OFFSET + 2, L"collectItem.mushroom", Tile::mushroom1->id); - itemsCollectedStats->push_back(newStat); - itemsCollected[Tile::mushroom1->id] = newStat; - itemsCollected[Tile::mushroom2->id] = newStat; - newStat->postConstruct(); - - newStat = new ItemStat(ITEMS_COLLECTED_OFFSET + 3, L"collectItem.sugarCane", Item::reeds->id); - itemsCollectedStats->push_back(newStat); - itemsCollected[Item::reeds->id] = newStat; - newStat->postConstruct(); -#endif newStat = new ItemStat(ITEMS_COLLECTED_OFFSET + 4, L"collectItem.pumpkin", Tile::pumpkin->id); @@ -577,7 +560,7 @@ void Stats::buildAdditionalStats() { Stats::completeTheEnd = (new GeneralStat(offset++, L"stat.completeTheEnd"))->postConstruct(); -#if (defined _EXTENDED_ACHIEVEMENTS) && (!0) +#if defined(_EXTENDED_ACHIEVEMENTS) { ItemStat* itemStat = new ItemStat(offset++, L"craftItem.flowerPot", Item::flowerPot_Id); diff --git a/Minecraft.World/Util/Definitions.h b/Minecraft.World/Util/Definitions.h index 3b8295142..ecc05e73f 100644 --- a/Minecraft.World/Util/Definitions.h +++ b/Minecraft.World/Util/Definitions.h @@ -16,11 +16,7 @@ enum ByteOrder { BIGENDIAN, LITTLEENDIAN, -#if 0 || 0 - LOCALSYTEM_ENDIAN = BIGENDIAN, -#else LOCALSYTEM_ENDIAN = LITTLEENDIAN, -#endif }; enum EDefaultSkins { eDefaultSkins_ServerSelected, diff --git a/Minecraft.World/Util/HashExtension.h b/Minecraft.World/Util/HashExtension.h index 86bd8025e..6f70f09be 100644 --- a/Minecraft.World/Util/HashExtension.h +++ b/Minecraft.World/Util/HashExtension.h @@ -1,16 +1 @@ #pragma once -#if 0 -// -namespace std { -namespace tr1 { - -template -class hash > { -public: - std::size_t operator()(const std::shared_ptr& key) const { - return (std::size_t)key.get(); - } -}; -} // namespace tr1 -} // namespace std -#endif \ No newline at end of file diff --git a/Minecraft.World/Util/I18n.cpp b/Minecraft.World/Util/I18n.cpp index e65ec6be1..19b76ac1e 100644 --- a/Minecraft.World/Util/I18n.cpp +++ b/Minecraft.World/Util/I18n.cpp @@ -5,15 +5,9 @@ Language* I18n::lang = Language::getInstance(); // 4jcraft const & into va_start is ub std::wstring I18n::get(std::wstring id, ...) { -#if 0 // 4J - vita doesn't like having a reference type as the last - // parameter passed to va_start - we shouldn't need this - // method anyway - return L""; -#else va_list va; va_start(va, id); return I18n::get(id, va); -#endif } std::wstring I18n::get(const std::wstring& id, va_list args) { diff --git a/Minecraft.World/Util/Icon.h b/Minecraft.World/Util/Icon.h index cce77735b..b75c68a2c 100644 --- a/Minecraft.World/Util/Icon.h +++ b/Minecraft.World/Util/Icon.h @@ -8,10 +8,6 @@ public: static const int IS_GRASS_SIDE = 1; static const int IS_GRASS_TOP = 2; -#if 0 - // AP - alpha cut out is expensive on vita so we mark which icons require it - static const int IS_ALPHA_CUT_OUT = 4; -#endif virtual ~Icon() {} // added by 4jcraft, needed for abstract class diff --git a/Minecraft.World/Util/Language.cpp b/Minecraft.World/Util/Language.cpp index 1f7ccb8a0..2ac4f068f 100644 --- a/Minecraft.World/Util/Language.cpp +++ b/Minecraft.World/Util/Language.cpp @@ -79,17 +79,11 @@ std::wstring Language::getElement(const std::wstring& elementId) // 4jcraft changed, again const reference into va_start, std forbids std::wstring Language::getElement(std::wstring elementId, ...) { -#if 0 // 4J - vita doesn't like having a reference type as the last - // parameter passed to va_start - we shouldn't need this - // method anyway - return L""; -#else va_list args; va_start(args, elementId); std::wstring result = getElement(elementId, args); va_end(args); return result; -#endif } std::wstring Language::getElement(const std::wstring& elementId, va_list args) { diff --git a/Minecraft.World/Util/SharedConstants.cpp b/Minecraft.World/Util/SharedConstants.cpp index cd2b1f128..77077c19e 100644 --- a/Minecraft.World/Util/SharedConstants.cpp +++ b/Minecraft.World/Util/SharedConstants.cpp @@ -14,25 +14,6 @@ std::wstring SharedConstants::readAcceptableChars() { L"0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_'" L"abcdefghijklmnopqrstuvwxyz{|}~" L" ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñѪº¿®¬½¼¡«»ã"; -#if 0 // 4J - do we actually really need to get this from a file? - // try { - // BufferedReader br = new BufferedReader(new - // InputStreamReader(SharedConstants.class.getResourceAsStream("/font.txt"), - // "UTF-8")); - BufferedReader *br = new BufferedReader(new InputStreamReader( new FileInputStream( new File( std::wstring(L"/font.txt") ) ) ) ); - std::wstring line; - while ( !(line = br->readLine()).empty()) - { - if (!( wcscmp( &line[0], L"#") == 0 ) ) - { - result.append( line ); - } - } - br->close(); - //} catch (Exception e) { - // TODO 4J Stu - Exception handling? - //} -#endif return result; } diff --git a/Minecraft.World/Util/SoundTypes.h b/Minecraft.World/Util/SoundTypes.h index e2d61f9ea..f62ca2de8 100644 --- a/Minecraft.World/Util/SoundTypes.h +++ b/Minecraft.World/Util/SoundTypes.h @@ -82,10 +82,6 @@ enum eSOUND_TYPE { eSoundType_AMBIENT_WEATHER_RAIN, eSoundType_AMBIENT_WEATHER_THUNDER, eSoundType_AMBIENT_CAVE_CAVE, -#if 0 - eSoundType_AMBIENT_CAVE_CAVE2, //- fixed version of eSoundType_CAVE_CAVE, - // without the two 192k sounds -#endif eSoundType_PORTAL_PORTAL, // 4J-PB - adding some that were still text in the code eSoundType_PORTAL_TRIGGER, diff --git a/Minecraft.World/Util/StringHelpers.cpp b/Minecraft.World/Util/StringHelpers.cpp index da49643a4..445ac21be 100644 --- a/Minecraft.World/Util/StringHelpers.cpp +++ b/Minecraft.World/Util/StringHelpers.cpp @@ -103,7 +103,7 @@ const char* wstringtofilename(const std::wstring& name) { assert(name.length() < 256); for (unsigned int i = 0; i < name.length(); i++) { wchar_t c = name[i]; -#if 0 || 0 || defined __linux__ +#if defined(__linux__) if (c == '\\') c = '/'; #else if (c == '/') c = '\\'; diff --git a/Minecraft.World/Util/ThreadName.cpp b/Minecraft.World/Util/ThreadName.cpp index 4f958acdc..a8aa8bd41 100644 --- a/Minecraft.World/Util/ThreadName.cpp +++ b/Minecraft.World/Util/ThreadName.cpp @@ -11,7 +11,6 @@ typedef struct tagTHREADNAME_INFO { } THREADNAME_INFO; void SetThreadName(std::uint32_t threadId, const char* threadName) { -#if 1 THREADNAME_INFO info; info.dwType = 0x1000; @@ -27,14 +26,4 @@ void SetThreadName(std::uint32_t threadId, const char* threadName) { : EXCEPTION_EXECUTE_HANDLER) { } #endif -#if 0 - __try { - RaiseException( - 0x406D1388, 0, sizeof(info) / sizeof(std::uint32_t), - reinterpret_cast(&info)); - } __except (GetExceptionCode() == 0x406D1388 ? EXCEPTION_CONTINUE_EXECUTION - : EXCEPTION_EXECUTE_HANDLER) { - } -#endif -#endif // 0 } diff --git a/Minecraft.World/WorldGen/Biomes/BiomeSource.cpp b/Minecraft.World/WorldGen/Biomes/BiomeSource.cpp index 1b42db936..2336c3eab 100644 --- a/Minecraft.World/WorldGen/Biomes/BiomeSource.cpp +++ b/Minecraft.World/WorldGen/Biomes/BiomeSource.cpp @@ -153,7 +153,7 @@ void BiomeSource::getRawBiomeBlock(BiomeArray& biomes, int x, int z, int w, intArray result = layer->getArea(x, z, w, h); for (int i = 0; i < w * h; i++) { biomes[i] = Biome::biomes[result[i]]; -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) if (biomes[i] == NULL) { app.DebugPrintf("Tried to assign null biome %d\n", result[i]); __debugbreak(); @@ -351,14 +351,7 @@ void BiomeSource::update() { cache->update(); } // #define DEBUG_SEEDS 50 // 4J added - find a seed for this biomesource that matches certain criteria -#if 0 -int64_t BiomeSource::findSeed( - LevelType* generator, - bool* pServerRunning) // MGH - added pRunning, so we can early out of this - // on Vita as it can take up to 60 secs -#else int64_t BiomeSource::findSeed(LevelType* generator) -#endif { int64_t bestSeed = 0; @@ -366,7 +359,7 @@ int64_t BiomeSource::findSeed(LevelType* generator) ProgressRenderer* mcprogress = Minecraft::GetInstance()->progressRenderer; mcprogress->progressStage(IDS_PROGRESS_NEW_WORLD_SEED); -#ifndef _CONTENT_PACKAGE +#if !defined(_CONTENT_PACKAGE) if (app.DebugSettingsOn() && app.GetGameSettingsDebugMask(ProfileManager.GetPrimaryPad()) & (1L << eDebugSetting_EnableBiomeOverride)) { @@ -374,7 +367,7 @@ int64_t BiomeSource::findSeed(LevelType* generator) } else #endif { -#ifdef DEBUG_SEEDS +#if defined(DEBUG_SEEDS) for (int k = 0; k < DEBUG_SEEDS; k++) #endif { @@ -418,17 +411,13 @@ int64_t BiomeSource::findSeed(LevelType* generator) tryCount++; mcprogress->progressStagePercentage(tryCount % 100); -#if 0 - } while (!matchFound && *pServerRunning); -#else } while (!matchFound); -#endif // Clean up delete pr; delete[] indices.data; -#ifdef DEBUG_SEEDS +#if defined(DEBUG_SEEDS) app.DebugPrintf("%d: %d tries taken, seed used is %lld\n", k, tryCount, bestSeed); diff --git a/Minecraft.World/WorldGen/Biomes/BiomeSource.h b/Minecraft.World/WorldGen/Biomes/BiomeSource.h index 1a1325023..7508c8f83 100644 --- a/Minecraft.World/WorldGen/Biomes/BiomeSource.h +++ b/Minecraft.World/WorldGen/Biomes/BiomeSource.h @@ -36,15 +36,7 @@ private: static bool getIsMatch(float* frac); // 4J added static void getFracs(intArray indices, float* fracs); // 4J added public: -#if 0 - static int64_t findSeed( - LevelType* generator, - bool* pServerRunning); // MGH - added pRunning, so we can early out of - // this on Vita as it can take up to 60 secs - // // 4J added -#else static int64_t findSeed(LevelType* generator); // 4J added -#endif virtual ~BiomeSource(); public: diff --git a/Minecraft.World/WorldGen/Flat/FlatGeneratorInfo.cpp b/Minecraft.World/WorldGen/Flat/FlatGeneratorInfo.cpp index c35669cf8..cfc889433 100644 --- a/Minecraft.World/WorldGen/Flat/FlatGeneratorInfo.cpp +++ b/Minecraft.World/WorldGen/Flat/FlatGeneratorInfo.cpp @@ -46,93 +46,11 @@ void FlatGeneratorInfo::updateLayers() { std::wstring FlatGeneratorInfo::toString() { return L""; -#if 0 - StringBuilder builder = new StringBuilder(); - - builder.append(SERIALIZATION_VERSION); - builder.append(";"); - - for (int i = 0; i < layers.size(); i++) - { - if (i > 0) builder.append(","); - builder.append(layers.get(i).toString()); - } - - builder.append(";"); - builder.append(biome); - - if (!structures.isEmpty()) - { - builder.append(";"); - int structCount = 0; - - for (Map.Entry> structure : structures.entrySet()) - { - if (structCount++ > 0) builder.append(","); - builder.append(structure.getKey().toLowerCase()); - - Map options = structure.getValue(); - if (!options.isEmpty()) - { - builder.append("("); - int optionCount = 0; - - for (Map.Entry option : options.entrySet()) - { - if (optionCount++ > 0) builder.append(" "); - builder.append(option.getKey()); - builder.append("="); - builder.append(option.getValue()); - } - - builder.append(")"); - } - } - } - else - { - builder.append(";"); - } - - return builder.toString(); -#endif } FlatLayerInfo* FlatGeneratorInfo::getLayerFromString(const std::wstring& input, int yOffset) { return NULL; -#if 0 - std::vector parts = stringSplit(input, L'x'); - - int height = 1; - int id; - int data = 0; - - if (parts.size() == 2) - { - height = _fromString(parts[0]); - if (yOffset + height >= Level::maxBuildHeight) height = Level::maxBuildHeight - yOffset; - if (height < 0) height = 0; - } - - std::wstring identity = parts[parts.size() - 1]; - parts = stringSplit(identity, L':'); - - id = _fromString(parts[0]); - if (parts.size() > 1) data = _from_String(parts[1]); - - if (Tile::tiles[id] == NULL) - { - id = 0; - data = 0; - } - - if (data < 0 || data > 15) data = 0; - - FlatLayerInfo *result = new FlatLayerInfo(height, id, data); - result->setStart(yOffset); - return result; -#endif } std::vector* FlatGeneratorInfo::getLayersFromString( @@ -157,65 +75,6 @@ std::vector* FlatGeneratorInfo::getLayersFromString( FlatGeneratorInfo* FlatGeneratorInfo::fromValue(const std::wstring& input) { return getDefault(); -#if 0 - if (input.empty()) return getDefault(); - std::vector parts = stringSplit(input, L';'); - - int version = parts.size() == 1 ? 0 : Mth::getInt(parts[0], 0); - if (version < 0 || version > SERIALIZATION_VERSION) return getDefault(); - - FlatGeneratorInfo *result = new FlatGeneratorInfo(); - int index = parts.size() == 1 ? 0 : 1; - std::vector *layers = getLayersFromString(parts[index++]); - - if (layers == NULL || layers->isEmpty()) - { - delete layers; - return getDefault(); - } - - result->getLayers()->addAll(layers); - delete layers; - result->updateLayers(); - - int biome = Biome::plains_Id; - if (version > 0 && parts.size() > index) biome = Mth::getInt(parts[index++], biome); - result->setBiome(biome); - - if (version > 0 && parts.size() > index) - { - std::vector structures = stringSplit(parts[index++], L','); - - for(AUTO_VAR(it, structures.begin()); it != structures.end(); ++it) - { - std::vector separated = stringSplit(parts[index++], L"\\("); - - std::unordered_map structureOptions; - - if (separated[0].length() > 0) - { - (*result->getStructures())[separated[0]] = structureOptions; - - if (separated.size() > 1 && separated[1].endsWith(L")") && separated[1].length() > 1) - { - String[] options = separated[1].substring(0, separated[1].length() - 1).split(" "); - - for (int option = 0; option < options.length; option++) - { - String[] split = options[option].split("=", 2); - if (split.length == 2) structureOptions[split[0]] = split[1]; - } - } - } - } - } - else - { - (* (result->getStructures()) )[STRUCTURE_VILLAGE] = std::unordered_map(); - } - - return result; -#endif } FlatGeneratorInfo* FlatGeneratorInfo::getDefault() { diff --git a/Minecraft.World/WorldGen/Layers/BiomeOverrideLayer.cpp b/Minecraft.World/WorldGen/Layers/BiomeOverrideLayer.cpp index e0ccf322a..cc56b9491 100644 --- a/Minecraft.World/WorldGen/Layers/BiomeOverrideLayer.cpp +++ b/Minecraft.World/WorldGen/Layers/BiomeOverrideLayer.cpp @@ -7,12 +7,12 @@ BiomeOverrideLayer::BiomeOverrideLayer(int seedMixup) : Layer(seedMixup) { m_biomeOverride = byteArray(width * height); -#ifdef _UNICODE +#if defined(_UNICODE) std::wstring path = L"GAME:\\GameRules\\biomemap.bin"; HANDLE file = CreateFile(path.c_str(), GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); #else -#ifdef _WINDOWS64 +#if defined(_WINDOWS64) std::string path = "GameRules\\biomemap.bin"; #else std::string path = "GAME:\\GameRules\\biomemap.bin"; @@ -27,12 +27,7 @@ BiomeOverrideLayer::BiomeOverrideLayer(int seedMixup) : Layer(seedMixup) { memset(m_biomeOverride.data, Biome::plains->id, m_biomeOverride.length); } else { -#if 0 - __debugbreak(); // TODO - DWORD bytesRead, dwFileSize = 0; -#else DWORD bytesRead, dwFileSize = GetFileSize(file, NULL); -#endif if (dwFileSize > m_biomeOverride.length) { app.DebugPrintf("Biomemap binary is too large!!\n"); __debugbreak(); diff --git a/Minecraft.World/WorldGen/Layers/Layer.cpp b/Minecraft.World/WorldGen/Layers/Layer.cpp index 7a7379ae7..b9438c094 100644 --- a/Minecraft.World/WorldGen/Layers/Layer.cpp +++ b/Minecraft.World/WorldGen/Layers/Layer.cpp @@ -3,18 +3,6 @@ #include "../../Headers/net.minecraft.world.level.h" #include "BiomeOverrideLayer.h" -#if 0 -// AP - this is used to perform fast 64bit divides of known values -#include "../../Util/libdivide.h" - -libdivide::divider fast_d2(2); -libdivide::divider fast_d3(3); -libdivide::divider fast_d4(4); -libdivide::divider fast_d5(5); -libdivide::divider fast_d6(6); -libdivide::divider fast_d7(7); -libdivide::divider fast_d10(10); -#endif LayerArray Layer::getDefaultLayers(int64_t seed, LevelType* levelType) { // 4J - Some changes moved here from 1.2.3. Temperature & downfall layers @@ -101,8 +89,8 @@ LayerArray Layer::getDefaultLayers(int64_t seed, LevelType* levelType) { biomeLayer = std::shared_ptr( new RiverMixerLayer(100, biomeLayer, riverLayer)); -#ifndef _CONTENT_PACKAGE -#ifdef _BIOME_OVERRIDE +#if !defined(_CONTENT_PACKAGE) +#if defined(_BIOME_OVERRIDE) if (app.DebugSettingsOn() && app.GetGameSettingsDebugMask(ProfileManager.GetPrimaryPad()) & (1L << eDebugSetting_EnableBiomeOverride)) { @@ -172,38 +160,8 @@ void Layer::initRandom(int64_t x, int64_t y) { } int Layer::nextRandom(int max) { -#if 0 - // AP - 64bit mods are very slow on Vita. Replaced with a divide/mult for - // general case and a fast divide library for specific numbers todo - this - // can sometimes yield a different number to the original. There's a strange - // bug sometimes with Vita where if the line "result = (int) ((rval >> 24) % - // max);" is done twice in a row 'result' will not be the same. Need to - // speak to Sony about that Also need to compare level against a different - // platform using the same seed - int result; - long long temp = rval; - temp >>= 24; - if (max == 2) { - result = temp - (temp / fast_d2) * 2; - } else if (max == 3) { - result = temp - (temp / fast_d3) * 3; - } else if (max == 4) { - result = temp - (temp / fast_d4) * 4; - } else if (max == 5) { - result = temp - (temp / fast_d5) * 5; - } else if (max == 6) { - result = temp - (temp / fast_d6) * 6; - } else if (max == 7) { - result = temp - (temp / fast_d7) * 7; - } else if (max == 10) { - result = temp - (temp / fast_d10) * 10; - } else { - result = temp - (temp / max) * max; - } -#else int result = (int)((rval >> 24) % max); -#endif if (result < 0) result += max; // 4jcraft added cast to unsigned