commit
702643d7e6
@ -2123,7 +2123,7 @@ void cBlockArea::MergeByStrategy(const cBlockArea & a_Src, int a_RelX, int a_Rel
|
|||||||
a_Src.GetSizeX(), a_Src.GetSizeY(), a_Src.GetSizeZ(),
|
a_Src.GetSizeX(), a_Src.GetSizeY(), a_Src.GetSizeZ(),
|
||||||
m_Size.x, m_Size.y, m_Size.z
|
m_Size.x, m_Size.y, m_Size.z
|
||||||
);
|
);
|
||||||
break;
|
return;
|
||||||
} // case msOverwrite
|
} // case msOverwrite
|
||||||
|
|
||||||
case cBlockArea::msFillAir:
|
case cBlockArea::msFillAir:
|
||||||
@ -2137,7 +2137,7 @@ void cBlockArea::MergeByStrategy(const cBlockArea & a_Src, int a_RelX, int a_Rel
|
|||||||
a_Src.GetSizeX(), a_Src.GetSizeY(), a_Src.GetSizeZ(),
|
a_Src.GetSizeX(), a_Src.GetSizeY(), a_Src.GetSizeZ(),
|
||||||
m_Size.x, m_Size.y, m_Size.z
|
m_Size.x, m_Size.y, m_Size.z
|
||||||
);
|
);
|
||||||
break;
|
return;
|
||||||
} // case msFillAir
|
} // case msFillAir
|
||||||
|
|
||||||
case cBlockArea::msImprint:
|
case cBlockArea::msImprint:
|
||||||
@ -2151,7 +2151,7 @@ void cBlockArea::MergeByStrategy(const cBlockArea & a_Src, int a_RelX, int a_Rel
|
|||||||
a_Src.GetSizeX(), a_Src.GetSizeY(), a_Src.GetSizeZ(),
|
a_Src.GetSizeX(), a_Src.GetSizeY(), a_Src.GetSizeZ(),
|
||||||
m_Size.x, m_Size.y, m_Size.z
|
m_Size.x, m_Size.y, m_Size.z
|
||||||
);
|
);
|
||||||
break;
|
return;
|
||||||
} // case msImprint
|
} // case msImprint
|
||||||
|
|
||||||
case cBlockArea::msLake:
|
case cBlockArea::msLake:
|
||||||
@ -2165,7 +2165,7 @@ void cBlockArea::MergeByStrategy(const cBlockArea & a_Src, int a_RelX, int a_Rel
|
|||||||
a_Src.GetSizeX(), a_Src.GetSizeY(), a_Src.GetSizeZ(),
|
a_Src.GetSizeX(), a_Src.GetSizeY(), a_Src.GetSizeZ(),
|
||||||
m_Size.x, m_Size.y, m_Size.z
|
m_Size.x, m_Size.y, m_Size.z
|
||||||
);
|
);
|
||||||
break;
|
return;
|
||||||
} // case msLake
|
} // case msLake
|
||||||
|
|
||||||
case cBlockArea::msSpongePrint:
|
case cBlockArea::msSpongePrint:
|
||||||
@ -2179,7 +2179,7 @@ void cBlockArea::MergeByStrategy(const cBlockArea & a_Src, int a_RelX, int a_Rel
|
|||||||
a_Src.GetSizeX(), a_Src.GetSizeY(), a_Src.GetSizeZ(),
|
a_Src.GetSizeX(), a_Src.GetSizeY(), a_Src.GetSizeZ(),
|
||||||
m_Size.x, m_Size.y, m_Size.z
|
m_Size.x, m_Size.y, m_Size.z
|
||||||
);
|
);
|
||||||
break;
|
return;
|
||||||
} // case msSpongePrint
|
} // case msSpongePrint
|
||||||
|
|
||||||
case cBlockArea::msDifference:
|
case cBlockArea::msDifference:
|
||||||
@ -2193,7 +2193,7 @@ void cBlockArea::MergeByStrategy(const cBlockArea & a_Src, int a_RelX, int a_Rel
|
|||||||
a_Src.GetSizeX(), a_Src.GetSizeY(), a_Src.GetSizeZ(),
|
a_Src.GetSizeX(), a_Src.GetSizeY(), a_Src.GetSizeZ(),
|
||||||
m_Size.x, m_Size.y, m_Size.z
|
m_Size.x, m_Size.y, m_Size.z
|
||||||
);
|
);
|
||||||
break;
|
return;
|
||||||
} // case msDifference
|
} // case msDifference
|
||||||
|
|
||||||
case cBlockArea::msMask:
|
case cBlockArea::msMask:
|
||||||
@ -2207,16 +2207,13 @@ void cBlockArea::MergeByStrategy(const cBlockArea & a_Src, int a_RelX, int a_Rel
|
|||||||
a_Src.GetSizeX(), a_Src.GetSizeY(), a_Src.GetSizeZ(),
|
a_Src.GetSizeX(), a_Src.GetSizeY(), a_Src.GetSizeZ(),
|
||||||
m_Size.x, m_Size.y, m_Size.z
|
m_Size.x, m_Size.y, m_Size.z
|
||||||
);
|
);
|
||||||
break;
|
return;
|
||||||
} // case msMask
|
} // case msMask
|
||||||
|
} // switch (a_Strategy)
|
||||||
|
|
||||||
default:
|
|
||||||
{
|
|
||||||
LOGWARNING("Unknown block area merge strategy: %d", a_Strategy);
|
LOGWARNING("Unknown block area merge strategy: %d", a_Strategy);
|
||||||
ASSERT(!"Unknown block area merge strategy");
|
ASSERT(!"Unknown block area merge strategy");
|
||||||
break;
|
return;
|
||||||
}
|
|
||||||
} // switch (a_Strategy)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -596,10 +596,9 @@ void cStructGenDirectOverhangs::GenFinish(cChunkDesc & a_ChunkDesc)
|
|||||||
// Interpolate between FloorLo and FloorHi:
|
// Interpolate between FloorLo and FloorHi:
|
||||||
for (int z = 0; z < 16; z++) for (int x = 0; x < 16; x++)
|
for (int z = 0; z < 16; z++) for (int x = 0; x < 16; x++)
|
||||||
{
|
{
|
||||||
switch (a_ChunkDesc.GetBiome(x, z))
|
EMCSBiome biome = a_ChunkDesc.GetBiome(x, z);
|
||||||
{
|
|
||||||
case biExtremeHills:
|
if ((biome == biExtremeHills) || (biome == biExtremeHillsEdge))
|
||||||
case biExtremeHillsEdge:
|
|
||||||
{
|
{
|
||||||
int Lo = FloorLo[x + 17 * z] / 256;
|
int Lo = FloorLo[x + 17 * z] / 256;
|
||||||
int Hi = FloorHi[x + 17 * z] / 256;
|
int Hi = FloorHi[x + 17 * z] / 256;
|
||||||
@ -612,8 +611,7 @@ void cStructGenDirectOverhangs::GenFinish(cChunkDesc & a_ChunkDesc)
|
|||||||
}
|
}
|
||||||
} // for y
|
} // for y
|
||||||
break;
|
break;
|
||||||
}
|
} // if (biome)
|
||||||
} // switch (biome)
|
|
||||||
} // for z, x
|
} // for z, x
|
||||||
|
|
||||||
// Swap the floors:
|
// Swap the floors:
|
||||||
|
@ -174,7 +174,7 @@ void GetTreeImageByBiome(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_No
|
|||||||
{
|
{
|
||||||
GetBirchTreeImage(a_BlockX, a_BlockY, a_BlockZ, a_Noise, a_Seq, a_LogBlocks, a_OtherBlocks);
|
GetBirchTreeImage(a_BlockX, a_BlockY, a_BlockZ, a_Noise, a_Seq, a_LogBlocks, a_OtherBlocks);
|
||||||
}
|
}
|
||||||
break;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
case biTaiga:
|
case biTaiga:
|
||||||
@ -184,14 +184,14 @@ void GetTreeImageByBiome(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_No
|
|||||||
{
|
{
|
||||||
// Conifers
|
// Conifers
|
||||||
GetConiferTreeImage(a_BlockX, a_BlockY, a_BlockZ, a_Noise, a_Seq, a_LogBlocks, a_OtherBlocks);
|
GetConiferTreeImage(a_BlockX, a_BlockY, a_BlockZ, a_Noise, a_Seq, a_LogBlocks, a_OtherBlocks);
|
||||||
break;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
case biSwampland:
|
case biSwampland:
|
||||||
{
|
{
|
||||||
// Swamp trees:
|
// Swamp trees:
|
||||||
GetSwampTreeImage(a_BlockX, a_BlockY, a_BlockZ, a_Noise, a_Seq, a_LogBlocks, a_OtherBlocks);
|
GetSwampTreeImage(a_BlockX, a_BlockY, a_BlockZ, a_Noise, a_Seq, a_LogBlocks, a_OtherBlocks);
|
||||||
break;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
case biJungle:
|
case biJungle:
|
||||||
@ -207,21 +207,21 @@ void GetTreeImageByBiome(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_No
|
|||||||
{
|
{
|
||||||
GetJungleTreeImage(a_BlockX, a_BlockY, a_BlockZ, a_Noise, a_Seq, a_LogBlocks, a_OtherBlocks);
|
GetJungleTreeImage(a_BlockX, a_BlockY, a_BlockZ, a_Noise, a_Seq, a_LogBlocks, a_OtherBlocks);
|
||||||
}
|
}
|
||||||
break;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
case biBirchForest:
|
case biBirchForest:
|
||||||
case biBirchForestHills:
|
case biBirchForestHills:
|
||||||
{
|
{
|
||||||
GetBirchTreeImage(a_BlockX, a_BlockY, a_BlockZ, a_Noise, a_Seq, a_LogBlocks, a_OtherBlocks);
|
GetBirchTreeImage(a_BlockX, a_BlockY, a_BlockZ, a_Noise, a_Seq, a_LogBlocks, a_OtherBlocks);
|
||||||
break;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
case biBirchForestM:
|
case biBirchForestM:
|
||||||
case biBirchForestHillsM:
|
case biBirchForestHillsM:
|
||||||
{
|
{
|
||||||
GetTallBirchTreeImage(a_BlockX, a_BlockY, a_BlockZ, a_Noise, a_Seq, a_LogBlocks, a_OtherBlocks);
|
GetTallBirchTreeImage(a_BlockX, a_BlockY, a_BlockZ, a_Noise, a_Seq, a_LogBlocks, a_OtherBlocks);
|
||||||
break;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
case biRoofedForest:
|
case biRoofedForest:
|
||||||
@ -257,9 +257,29 @@ void GetTreeImageByBiome(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_No
|
|||||||
{
|
{
|
||||||
// TODO: These need their special trees
|
// TODO: These need their special trees
|
||||||
GetBirchTreeImage(a_BlockX, a_BlockY, a_BlockZ, a_Noise, a_Seq, a_LogBlocks, a_OtherBlocks);
|
GetBirchTreeImage(a_BlockX, a_BlockY, a_BlockZ, a_Noise, a_Seq, a_LogBlocks, a_OtherBlocks);
|
||||||
break;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
case biDesert:
|
||||||
|
case biDesertHills:
|
||||||
|
case biRiver:
|
||||||
|
case biBeach:
|
||||||
|
case biHell:
|
||||||
|
case biSky:
|
||||||
|
case biOcean:
|
||||||
|
case biFrozenOcean:
|
||||||
|
case biFrozenRiver:
|
||||||
|
case biVariant:
|
||||||
|
case biNumBiomes:
|
||||||
|
case biNumVariantBiomes:
|
||||||
|
case biInvalidBiome:
|
||||||
|
{
|
||||||
|
// These biomes have no trees, or are non-biome members of the enum.
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ASSERT(!"Invalid biome type!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -355,6 +355,8 @@ void cMonster::Tick(float a_Dt, cChunk & a_Chunk)
|
|||||||
InStateEscaping(a_Dt);
|
InStateEscaping(a_Dt);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case ATTACKING: break;
|
||||||
} // switch (m_EMState)
|
} // switch (m_EMState)
|
||||||
|
|
||||||
BroadcastMovementUpdate();
|
BroadcastMovementUpdate();
|
||||||
|
@ -391,38 +391,41 @@ void cNBTChunkSerializer::AddFallingBlockEntity(cFallingBlock * a_FallingBlock)
|
|||||||
|
|
||||||
void cNBTChunkSerializer::AddMinecartEntity(cMinecart * a_Minecart)
|
void cNBTChunkSerializer::AddMinecartEntity(cMinecart * a_Minecart)
|
||||||
{
|
{
|
||||||
const char * EntityClass = NULL;
|
|
||||||
switch (a_Minecart->GetPayload())
|
|
||||||
{
|
|
||||||
case cMinecart::mpNone: EntityClass = "MinecartRideable"; break;
|
|
||||||
case cMinecart::mpChest: EntityClass = "MinecartChest"; break;
|
|
||||||
case cMinecart::mpFurnace: EntityClass = "MinecartFurnace"; break;
|
|
||||||
case cMinecart::mpTNT: EntityClass = "MinecartTNT"; break;
|
|
||||||
case cMinecart::mpHopper: EntityClass = "MinecartHopper"; break;
|
|
||||||
default:
|
|
||||||
{
|
|
||||||
ASSERT(!"Unhandled minecart payload type");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
} // switch (payload)
|
|
||||||
|
|
||||||
m_Writer.BeginCompound("");
|
m_Writer.BeginCompound("");
|
||||||
AddBasicEntity(a_Minecart, EntityClass);
|
|
||||||
switch (a_Minecart->GetPayload())
|
switch (a_Minecart->GetPayload())
|
||||||
{
|
{
|
||||||
case cMinecart::mpChest:
|
case cMinecart::mpChest:
|
||||||
{
|
{
|
||||||
|
AddBasicEntity(a_Minecart, "MinecartChest");
|
||||||
// Add chest contents into the Items tag:
|
// Add chest contents into the Items tag:
|
||||||
AddMinecartChestContents((cMinecartWithChest *)a_Minecart);
|
AddMinecartChestContents((cMinecartWithChest *)a_Minecart);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case cMinecart::mpFurnace:
|
case cMinecart::mpFurnace:
|
||||||
{
|
{
|
||||||
|
AddBasicEntity(a_Minecart, "MinecartFurnace");
|
||||||
// TODO: Add "Push" and "Fuel" tags
|
// TODO: Add "Push" and "Fuel" tags
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case cMinecart::mpHopper:
|
||||||
|
{
|
||||||
|
AddBasicEntity(a_Minecart, "MinecartHopper");
|
||||||
|
// TODO: Add hopper contents?
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case cMinecart::mpTNT:
|
||||||
|
{
|
||||||
|
AddBasicEntity(a_Minecart, "MinecartTNT");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case cMinecart::mpNone:
|
||||||
|
{
|
||||||
|
AddBasicEntity(a_Minecart, "MinecartRideable");
|
||||||
|
break;
|
||||||
|
}
|
||||||
} // switch (Payload)
|
} // switch (Payload)
|
||||||
|
|
||||||
m_Writer.EndCompound();
|
m_Writer.EndCompound();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -650,6 +653,13 @@ void cNBTChunkSerializer::AddHangingEntity(cHangingEntity * a_Hanging)
|
|||||||
case BLOCK_FACE_YP: m_Writer.AddByte("Dir", (unsigned char)1); break;
|
case BLOCK_FACE_YP: m_Writer.AddByte("Dir", (unsigned char)1); break;
|
||||||
case BLOCK_FACE_ZM: m_Writer.AddByte("Dir", (unsigned char)0); break;
|
case BLOCK_FACE_ZM: m_Writer.AddByte("Dir", (unsigned char)0); break;
|
||||||
case BLOCK_FACE_ZP: m_Writer.AddByte("Dir", (unsigned char)3); break;
|
case BLOCK_FACE_ZP: m_Writer.AddByte("Dir", (unsigned char)3); break;
|
||||||
|
|
||||||
|
case BLOCK_FACE_XM:
|
||||||
|
case BLOCK_FACE_XP:
|
||||||
|
case BLOCK_FACE_NONE:
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -243,7 +243,6 @@ void cWorldStorage::Execute(void)
|
|||||||
bool Success;
|
bool Success;
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
Success = false;
|
|
||||||
if (m_ShouldTerminate)
|
if (m_ShouldTerminate)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
Loading…
Reference in New Issue
Block a user