Fixed MCServer not compiling with C++03 compilers
This commit is contained in:
parent
145b3492e7
commit
9440b61c8c
@ -36,10 +36,10 @@ public:
|
|||||||
|
|
||||||
// The map center is fixed at the central point of the 8x8 block of chunks you are standing in when you right-click it.
|
// The map center is fixed at the central point of the 8x8 block of chunks you are standing in when you right-click it.
|
||||||
|
|
||||||
const int RegionWidth = cChunkDef::Width * 8 * pow(2, DEFAULT_SCALE);
|
const int RegionWidth = cChunkDef::Width * 8 * pow(2.0, (double) DEFAULT_SCALE);
|
||||||
|
|
||||||
int CenterX = round(a_Player->GetPosX() / (float) RegionWidth) * RegionWidth;
|
int CenterX = floor(a_Player->GetPosX() / (float) RegionWidth) * RegionWidth;
|
||||||
int CenterZ = round(a_Player->GetPosZ() / (float) RegionWidth) * RegionWidth;
|
int CenterZ = floor(a_Player->GetPosZ() / (float) RegionWidth) * RegionWidth;
|
||||||
|
|
||||||
cMap * NewMap = a_World->GetMapManager().CreateMap(CenterX, CenterZ, DEFAULT_SCALE);
|
cMap * NewMap = a_World->GetMapManager().CreateMap(CenterX, CenterZ, DEFAULT_SCALE);
|
||||||
|
|
||||||
|
14
src/Map.cpp
14
src/Map.cpp
@ -51,8 +51,8 @@ void cMapDecorator::Update(void)
|
|||||||
int InsideWidth = (m_Map->GetWidth() / 2) - 1;
|
int InsideWidth = (m_Map->GetWidth() / 2) - 1;
|
||||||
int InsideHeight = (m_Map->GetHeight() / 2) - 1;
|
int InsideHeight = (m_Map->GetHeight() / 2) - 1;
|
||||||
|
|
||||||
int PixelX = (m_Player->GetPosX() - m_Map->GetCenterX()) / PixelWidth;
|
int PixelX = (int) (m_Player->GetPosX() - m_Map->GetCenterX()) / PixelWidth;
|
||||||
int PixelZ = (m_Player->GetPosZ() - m_Map->GetCenterZ()) / PixelWidth;
|
int PixelZ = (int) (m_Player->GetPosZ() - m_Map->GetCenterZ()) / PixelWidth;
|
||||||
|
|
||||||
// Center of pixel
|
// Center of pixel
|
||||||
m_PixelX = (2 * PixelX) + 1;
|
m_PixelX = (2 * PixelX) + 1;
|
||||||
@ -69,11 +69,11 @@ void cMapDecorator::Update(void)
|
|||||||
Int64 WorldAge = m_Player->GetWorld()->GetWorldAge();
|
Int64 WorldAge = m_Player->GetWorld()->GetWorldAge();
|
||||||
|
|
||||||
// TODO 2014-02-19 xdot: Refine
|
// TODO 2014-02-19 xdot: Refine
|
||||||
m_Rot = Random.NextInt(16, WorldAge);
|
m_Rot = Random.NextInt(16, (int) WorldAge);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_Rot = (Yaw * 16) / 360;
|
m_Rot = (int) (Yaw * 16) / 360;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_Type = E_TYPE_PLAYER;
|
m_Type = E_TYPE_PLAYER;
|
||||||
@ -183,8 +183,8 @@ void cMap::UpdateRadius(cPlayer & a_Player, unsigned int a_Radius)
|
|||||||
{
|
{
|
||||||
unsigned int PixelWidth = GetPixelWidth();
|
unsigned int PixelWidth = GetPixelWidth();
|
||||||
|
|
||||||
int PixelX = (a_Player.GetPosX() - m_CenterX) / PixelWidth + (m_Width / 2);
|
int PixelX = (int) (a_Player.GetPosX() - m_CenterX) / PixelWidth + (m_Width / 2);
|
||||||
int PixelZ = (a_Player.GetPosZ() - m_CenterZ) / PixelWidth + (m_Height / 2);
|
int PixelZ = (int) (a_Player.GetPosZ() - m_CenterZ) / PixelWidth + (m_Height / 2);
|
||||||
|
|
||||||
UpdateRadius(PixelX, PixelZ, a_Radius);
|
UpdateRadius(PixelX, PixelZ, a_Radius);
|
||||||
}
|
}
|
||||||
@ -620,7 +620,7 @@ unsigned int cMap::GetNumDecorators(void) const
|
|||||||
|
|
||||||
unsigned int cMap::GetPixelWidth(void) const
|
unsigned int cMap::GetPixelWidth(void) const
|
||||||
{
|
{
|
||||||
return pow(2, m_Scale);
|
return (int) pow(2.0, (double) m_Scale);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -112,7 +112,7 @@ void cMapSerializer::SaveMapToNBT(cFastNBTWriter & a_Writer)
|
|||||||
a_Writer.AddInt("zCenter", m_Map->GetCenterZ());
|
a_Writer.AddInt("zCenter", m_Map->GetCenterZ());
|
||||||
|
|
||||||
const cMap::cColorList & Data = m_Map->GetData();
|
const cMap::cColorList & Data = m_Map->GetData();
|
||||||
a_Writer.AddByteArray("colors", (char *) Data.data(), Data.size());
|
a_Writer.AddByteArray("colors", (char *) &Data[0], Data.size());
|
||||||
|
|
||||||
a_Writer.EndCompound();
|
a_Writer.EndCompound();
|
||||||
}
|
}
|
||||||
@ -178,7 +178,7 @@ bool cMapSerializer::LoadMapFromNBT(const cParsedNBT & a_NBT)
|
|||||||
CurrLine = a_NBT.FindChildByName(Data, "colors");
|
CurrLine = a_NBT.FindChildByName(Data, "colors");
|
||||||
if ((CurrLine >= 0) && (a_NBT.GetType(CurrLine) == TAG_ByteArray))
|
if ((CurrLine >= 0) && (a_NBT.GetType(CurrLine) == TAG_ByteArray))
|
||||||
{
|
{
|
||||||
memcpy(m_Map->m_Data.data(), a_NBT.GetData(CurrLine), NumPixels);
|
memcpy(&m_Map->m_Data[0], a_NBT.GetData(CurrLine), NumPixels);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
Reference in New Issue
Block a user