diff options
author | Mattes D <github@xoft.cz> | 2016-08-24 21:45:03 +0200 |
---|---|---|
committer | Mattes D <github@xoft.cz> | 2016-08-24 22:26:53 +0200 |
commit | d2e8643607424cd74616e2e863f5609e7b8458a5 (patch) | |
tree | d5afab6035ca6bb0b58fd03ad5cfe3b3f8e1da55 /src/WorldStorage | |
parent | Merge pull request #3342 from cuberite/FixEmptyHeader (diff) | |
download | cuberite-d2e8643607424cd74616e2e863f5609e7b8458a5.tar cuberite-d2e8643607424cd74616e2e863f5609e7b8458a5.tar.gz cuberite-d2e8643607424cd74616e2e863f5609e7b8458a5.tar.bz2 cuberite-d2e8643607424cd74616e2e863f5609e7b8458a5.tar.lz cuberite-d2e8643607424cd74616e2e863f5609e7b8458a5.tar.xz cuberite-d2e8643607424cd74616e2e863f5609e7b8458a5.tar.zst cuberite-d2e8643607424cd74616e2e863f5609e7b8458a5.zip |
Diffstat (limited to 'src/WorldStorage')
-rw-r--r-- | src/WorldStorage/CMakeLists.txt | 7 | ||||
-rw-r--r-- | src/WorldStorage/FastNBT.cpp | 12 | ||||
-rw-r--r-- | src/WorldStorage/NBTChunkSerializer.cpp | 4 | ||||
-rwxr-xr-x | src/WorldStorage/WSSAnvil.cpp | 16 |
4 files changed, 21 insertions, 18 deletions
diff --git a/src/WorldStorage/CMakeLists.txt b/src/WorldStorage/CMakeLists.txt index b16e03160..c351420f4 100644 --- a/src/WorldStorage/CMakeLists.txt +++ b/src/WorldStorage/CMakeLists.txt @@ -29,11 +29,10 @@ SET (HDRS ) if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") - set_source_files_properties(FastNBT.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=sign-conversion ") set_source_files_properties(FireworksSerializer.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=switch-enum ") - set_source_files_properties(NBTChunkSerializer.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=switch-enum -Wno-error=sign-conversion -Wno-error=conversion ") - set_source_files_properties(SchematicFileSerializer.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=shadow -Wno-error=conversion -Wno-error=global-constructors") - set_source_files_properties(WSSAnvil.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=sign-conversion -Wno-error=shorten-64-to-32 -Wno-error=switch -Wno-error=switch-enum -Wno-error=conversion ") + set_source_files_properties(NBTChunkSerializer.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=switch-enum ") + set_source_files_properties(SchematicFileSerializer.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=global-constructors") + set_source_files_properties(WSSAnvil.cpp PROPERTIES COMPILE_FLAGS "-Wno-error=switch -Wno-error=switch-enum ") endif() if(NOT MSVC) diff --git a/src/WorldStorage/FastNBT.cpp b/src/WorldStorage/FastNBT.cpp index 608269aad..7d99b927a 100644 --- a/src/WorldStorage/FastNBT.cpp +++ b/src/WorldStorage/FastNBT.cpp @@ -439,7 +439,7 @@ void cFastNBTWriter::AddByte(const AString & a_Name, unsigned char a_Value) void cFastNBTWriter::AddShort(const AString & a_Name, Int16 a_Value) { TagCommon(a_Name, TAG_Short); - UInt16 Value = htons(a_Value); + UInt16 Value = htons(static_cast<UInt16>(a_Value)); m_Result.append(reinterpret_cast<const char *>(&Value), 2); } @@ -450,7 +450,7 @@ void cFastNBTWriter::AddShort(const AString & a_Name, Int16 a_Value) void cFastNBTWriter::AddInt(const AString & a_Name, Int32 a_Value) { TagCommon(a_Name, TAG_Int); - UInt32 Value = htonl(a_Value); + UInt32 Value = htonl(static_cast<UInt32>(a_Value)); m_Result.append(reinterpret_cast<const char *>(&Value), 4); } @@ -494,7 +494,7 @@ void cFastNBTWriter::AddDouble(const AString & a_Name, double a_Value) void cFastNBTWriter::AddString(const AString & a_Name, const AString & a_Value) { TagCommon(a_Name, TAG_String); - UInt16 len = htons(static_cast<short>(a_Value.size())); + UInt16 len = htons(static_cast<UInt16>(a_Value.size())); m_Result.append(reinterpret_cast<const char *>(&len), 2); m_Result.append(a_Value.c_str(), a_Value.size()); } @@ -506,7 +506,7 @@ void cFastNBTWriter::AddString(const AString & a_Name, const AString & a_Value) void cFastNBTWriter::AddByteArray(const AString & a_Name, const char * a_Value, size_t a_NumElements) { TagCommon(a_Name, TAG_ByteArray); - u_int len = htonl(static_cast<u_int>(a_NumElements)); + UInt32 len = htonl(static_cast<UInt32>(a_NumElements)); m_Result.append(reinterpret_cast<const char *>(&len), 4); m_Result.append(a_Value, a_NumElements); } @@ -518,7 +518,7 @@ void cFastNBTWriter::AddByteArray(const AString & a_Name, const char * a_Value, void cFastNBTWriter::AddIntArray(const AString & a_Name, const int * a_Value, size_t a_NumElements) { TagCommon(a_Name, TAG_IntArray); - u_int len = htonl(static_cast<u_int>(a_NumElements)); + UInt32 len = htonl(static_cast<UInt32>(a_NumElements)); size_t cap = m_Result.capacity(); size_t size = m_Result.length(); if ((cap - size) < (4 + a_NumElements * 4)) @@ -528,7 +528,7 @@ void cFastNBTWriter::AddIntArray(const AString & a_Name, const int * a_Value, si m_Result.append(reinterpret_cast<const char *>(&len), 4); for (size_t i = 0; i < a_NumElements; i++) { - UInt32 Element = htonl(a_Value[i]); + UInt32 Element = htonl(static_cast<UInt32>(a_Value[i])); m_Result.append(reinterpret_cast<const char *>(&Element), 4); } } diff --git a/src/WorldStorage/NBTChunkSerializer.cpp b/src/WorldStorage/NBTChunkSerializer.cpp index 86ad10af2..a825e4785 100644 --- a/src/WorldStorage/NBTChunkSerializer.cpp +++ b/src/WorldStorage/NBTChunkSerializer.cpp @@ -665,8 +665,8 @@ void cNBTChunkSerializer::AddMonsterEntity(cMonster * a_Monster) } case mtRabbit: { - const cRabbit *Rabbit = reinterpret_cast<const cRabbit *>(a_Monster); - m_Writer.AddInt("RabbitType", Rabbit->GetRabbitTypeAsNumber()); + const cRabbit * Rabbit = reinterpret_cast<const cRabbit *>(a_Monster); + m_Writer.AddInt("RabbitType", static_cast<Int32>(Rabbit->GetRabbitType())); m_Writer.AddInt("MoreCarrotTicks", Rabbit->GetMoreCarrotTicks()); m_Writer.AddInt("Age", Rabbit->GetAge()); break; diff --git a/src/WorldStorage/WSSAnvil.cpp b/src/WorldStorage/WSSAnvil.cpp index 4fc855589..3fd104004 100755 --- a/src/WorldStorage/WSSAnvil.cpp +++ b/src/WorldStorage/WSSAnvil.cpp @@ -2882,8 +2882,7 @@ void cWSSAnvil::LoadWolfFromNBT(cEntityList & a_Entities, const cParsedNBT & a_N case TAG_Byte: { // Vanilla uses this - unsigned char CollarColor = a_NBT.GetByte(CollarColorIdx); - Monster->SetCollarColor(CollarColor); + Monster->SetCollarColor(a_NBT.GetByte(CollarColorIdx)); break; } case TAG_Int: @@ -2892,6 +2891,11 @@ void cWSSAnvil::LoadWolfFromNBT(cEntityList & a_Entities, const cParsedNBT & a_N Monster->SetCollarColor(a_NBT.GetInt(CollarColorIdx)); break; } + default: + { + // No other values are interpreted + break; + } } } @@ -3381,7 +3385,7 @@ bool cWSSAnvil::cMCAFile::SetChunkData(const cChunkCoords & a_Chunk, const AStri // Store the chunk data: m_File.Seek(static_cast<int>(ChunkSector * 4096)); - u_long ChunkSize = htonl(static_cast<u_long>(a_Data.size()) + 1); + UInt32 ChunkSize = htonl(static_cast<UInt32>(a_Data.size() + 1)); if (m_File.Write(&ChunkSize, 4) != 4) { LOGWARNING("Cannot save chunk [%d, %d], writing(1) data to file \"%s\" failed", a_Chunk.m_ChunkX, a_Chunk.m_ChunkZ, GetFileName().c_str()); @@ -3408,7 +3412,7 @@ bool cWSSAnvil::cMCAFile::SetChunkData(const cChunkCoords & a_Chunk, const AStri } // Store the header: - ChunkSize = (static_cast<u_long>(a_Data.size()) + MCA_CHUNK_HEADER_LENGTH + 4095) / 4096; // Round data size up to nearest 4KB sector, make it a sector number + ChunkSize = (static_cast<UInt32>(a_Data.size()) + MCA_CHUNK_HEADER_LENGTH + 4095) / 4096; // Round data size up to nearest 4KB sector, make it a sector number if (ChunkSize > 255) { LOGWARNING("Cannot save chunk [%d, %d], the data is too large (%u KiB, maximum is 1024 KiB). Remove some entities and retry.", @@ -3418,10 +3422,10 @@ bool cWSSAnvil::cMCAFile::SetChunkData(const cChunkCoords & a_Chunk, const AStri } // Store the header info in the table - m_Header[LocalX + 32 * LocalZ] = htonl((ChunkSector << 8) | ChunkSize); + m_Header[LocalX + 32 * LocalZ] = htonl(static_cast<UInt32>((ChunkSector << 8) | ChunkSize)); // Set the modification time - m_TimeStamps[LocalX + 32 * LocalZ] = htonl(static_cast<u_long>(time(nullptr))); + m_TimeStamps[LocalX + 32 * LocalZ] = htonl(static_cast<UInt32>(time(nullptr))); if (m_File.Seek(0) < 0) { |