From 61dd0478b9c5c5c083631c28caf8199bf66bf617 Mon Sep 17 00:00:00 2001 From: Philipp Sehmisch Date: Sat, 8 Mar 2008 08:21:42 +0000 Subject: Fixed some width/height mixups in TMXCopy. --- ChangeLog | 6 ++++++ tools/tmxcopy/main.cpp | 16 ++++++++++------ tools/tmxcopy/map.cpp | 17 ++++++++--------- tools/tmxcopy/zlibutils.cpp | 2 -- 4 files changed, 24 insertions(+), 17 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7b6657a0..b37c8247 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-03-08 Philipp Sehmisch + + * tools/tmxcopy/main.cpp, tools/tmxcopy/main.map.cpp, + tools/tmxcopy/plibutils.cpp + Fixed some width/height mixups in TMXCopy. + 2008-03-07 Bjørn Lindeijer * data/*: Moved dynamically released data to its own module (tmwdata). diff --git a/tools/tmxcopy/main.cpp b/tools/tmxcopy/main.cpp index 3d460961..92a69c54 100644 --- a/tools/tmxcopy/main.cpp +++ b/tools/tmxcopy/main.cpp @@ -28,15 +28,15 @@ int main(int argc, char * argv[] ) // parsing command line options if (argc < 9 || argc > 10) { - std::cerr<<"Usage: srcFile x y height width tgtFile x y [outfile]"; + std::cerr<<"Usage: srcFile x y width height tgtFile x y [outfile]"; return -1; } std::string srcFile = argv[1]; int srcX= atoi(argv[2]); int srcY= atoi(argv[3]); - int height= atoi(argv[4]); - int width=atoi(argv[5]); + int width= atoi(argv[4]); + int height=atoi(argv[5]); std::string tgtFile = argv[6]; int destX=atoi(argv[7]); int destY=atoi(argv[8]); @@ -44,7 +44,7 @@ int main(int argc, char * argv[] ) if (argc == 10) outFile = argv[9]; // plausibility check of command line options - if (height < 1 || width < 1 || srcX < 1 || srcY < 1 || destX < 1 || destY < 1) + if (height < 1 || width < 1 || srcX < 0 || srcY < 0 || destX < 0 || destY < 0) { std::cerr<<"Illegal coordinates!"<overwrite(srcMap, srcX, srcY, height, width, destX, destY); - tgtMap->save(outFile); + if (tgtMap->overwrite(srcMap, srcX, srcY, width, height, destX, destY)) + { + tgtMap->save(outFile); + } else { + return -1; + } } catch (int) { diff --git a/tools/tmxcopy/map.cpp b/tools/tmxcopy/map.cpp index 0674ae1a..e0212e37 100644 --- a/tools/tmxcopy/map.cpp +++ b/tools/tmxcopy/map.cpp @@ -188,19 +188,19 @@ bool Map::overwrite( Map* srcMap, //plausibility check of coordinates bool checkPassed = true; if (srcX + srcWidth > srcMap->getWidth()) { - std::cerr<<"Error: Area exceeds right map border of source map!"; + std::cerr<<"Error: Area exceeds right map border of source map!"< srcMap->getHeight()) { - std::cerr<<"Error: Area exceeds lower map border of source map!"; + std::cerr<<"Error: Area exceeds lower map border of source map!"< mWidth) { - std::cerr<<"Error: Area exceeds right map border of target map!"; + std::cerr<<"Error: Area exceeds right map border of target map!"< mHeight) { - std::cerr<<"Error: Area exceeds lower map border of target map!"; + std::cerr<<"Error: Area exceeds lower map border of target map!"<getLayer(i); Layer* destLayer = mLayers.at(i); - for (int y=0; ygetWidth() * (y + srcY) + (x + srcX); int tgtIndex = mWidth * (y + destY) + (x + destX); @@ -319,8 +319,7 @@ int Map::save(std::string filename) } - // GZIP layer information - // Doesn't work yet. + //GZIP layer information /* unsigned char* gzipData = (unsigned char*)malloc((mWidth * mHeight * 4) + 128); unsigned int gzipLen; @@ -365,7 +364,7 @@ int Map::save(std::string filename) } else { - std::cout<<"File saved successfully to"<