diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index bc3fb2b..1862ee3 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -15,9 +15,9 @@ set_target_properties(tmx2gba PROPERTIES # Enable strong warnings target_compile_options(tmx2gba PRIVATE - $<$:/Wall> + $<$:/Wall> $<$:-Wall -Wextra -pedantic> - $<$:-Weverything>) + $<$:-Weverything -Wno-c++98-compat>) target_link_libraries(tmx2gba External::base64 diff --git a/src/argparse.cpp b/src/argparse.cpp index dcf53f8..faafa7c 100644 --- a/src/argparse.cpp +++ b/src/argparse.cpp @@ -151,8 +151,6 @@ bool ArgParse::ArgParser::CheckParse(ArgParse::ParseErr err) const case ParseErr::ARG_RANGE: DisplayError("Argument out of range.", false); return false; - default: - return false; } } diff --git a/src/argparse.hpp b/src/argparse.hpp index 16d078d..61dbaf4 100644 --- a/src/argparse.hpp +++ b/src/argparse.hpp @@ -16,18 +16,18 @@ namespace ArgParse { struct Option { - char flag; - bool required; const char* argumentName; const char* helpString; + char flag; + bool required; static constexpr Option Optional(char flag, const char* name, const char* help) { - return { flag, false, name, help }; + return { name, help, flag, false }; } static constexpr Option Required(char flag, const char* name, const char* help) { - return { flag, true, name, help }; + return { name, help, flag, false }; } }; @@ -66,10 +66,10 @@ namespace ArgParse class ParserState { - bool expectArg = false; - int flagChar; HandleOption handler; const Options& options; + int flagChar; + bool expectArg = false; public: ParserState(HandleOption handler, const Options& options) noexcept diff --git a/src/swriter.hpp b/src/swriter.hpp index f807cb2..186d169 100644 --- a/src/swriter.hpp +++ b/src/swriter.hpp @@ -37,7 +37,7 @@ class SWriter if (col == 0) aOut << "\t" << GccIsDumb::DatType() << " "; - aOut << std::hex << (int)element; + aOut << std::hex << static_cast(element); if (i < aDat.size() - 1) { diff --git a/src/tmx2gba.cpp b/src/tmx2gba.cpp index 64dbc18..e82ed4e 100644 --- a/src/tmx2gba.cpp +++ b/src/tmx2gba.cpp @@ -11,7 +11,7 @@ #include -const std::string versionStr = "tmx2gba version 0.3, (c) 2015-2022 a dinosaur"; +static const char* versionStr = "tmx2gba version 0.3, (c) 2015-2022 a dinosaur"; struct Arguments { @@ -195,7 +195,9 @@ int main(int argc, char** argv) // Get name from file //TODO: properly sanitise - int slashPos = std::max((int)p.outPath.find_last_of('/'), (int)p.outPath.find_last_of('\\')); + int slashPos = std::max( + static_cast(p.outPath.find_last_of('/')), + static_cast(p.outPath.find_last_of('\\'))); std::string name = p.outPath; if (slashPos != -1) name = name.substr(slashPos + 1); @@ -223,7 +225,7 @@ int main(int argc, char** argv) { uint32_t read = (*gfxTiles++); - uint16_t tile = (uint16_t)std::max(0, tmx.LidFromGid(read & ~TmxLayer::FLIP_MASK) + p.offset); + uint16_t tile = std::max(0, tmx.LidFromGid(read & ~TmxLayer::FLIP_MASK) + p.offset); uint8_t flags = 0x0; // Get flipped! @@ -255,7 +257,7 @@ int main(int argc, char** argv) gfxTiles = layerCls->GetData(); for (int i = 0; i < layerCls->GetWidth() * layerCls->GetHeight(); ++i) { - uint8_t ucTile = (uint8_t)tmx.LidFromGid((*gfxTiles++) & ~TmxLayer::FLIP_MASK); + uint8_t ucTile = static_cast(tmx.LidFromGid((*gfxTiles++) & ~TmxLayer::FLIP_MASK)); collisionDat.push_back(ucTile); } @@ -285,8 +287,8 @@ int main(int argc, char** argv) float x, y; obj->GetPos(x, y); objDat.push_back(it->second); - objDat.push_back((int)(x * 256.0f)); - objDat.push_back((int)(y * 256.0f)); + objDat.push_back(static_cast(x * 256.0f)); + objDat.push_back(static_cast(y * 256.0f)); } // Write objects diff --git a/src/tmxreader.cpp b/src/tmxreader.cpp index 59e6ca5..f860a62 100644 --- a/src/tmxreader.cpp +++ b/src/tmxreader.cpp @@ -43,7 +43,7 @@ bool TmxReader::DecodeMap(uint32_t* aOut, size_t aOutSize, const std::string& aB // Decompress compressed data auto dstSize = static_cast(aOutSize); int res = uncompress( - (unsigned char*)aOut, + reinterpret_cast(aOut), &dstSize, reinterpret_cast(decoded.data()), static_cast(decoded.size())); @@ -172,7 +172,7 @@ void TmxReader::Open(std::istream& aIn) // Parse document rapidxml::xml_document<> xDoc; - xDoc.parse<0>((char*)strXml.c_str()); + xDoc.parse<0>(const_cast(strXml.c_str())); // Get map node auto xMap = xDoc.first_node("map"); diff --git a/src/tmxtileset.hpp b/src/tmxtileset.hpp index 4dbeb6c..bfa9817 100644 --- a/src/tmxtileset.hpp +++ b/src/tmxtileset.hpp @@ -23,7 +23,6 @@ class TmxTileset std::string mName; std::string mSource; uint32_t mFirstGid; - }; #endif//TMXTILESET_HPP