diff options
Diffstat (limited to 'tools/tmxcopy/main.cpp')
-rw-r--r-- | tools/tmxcopy/main.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
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!"<<std::endl; std::cerr<<"Usage: sourceFile x y height width targetFile x y [outputFile]"<<std::endl; @@ -55,8 +55,12 @@ int main(int argc, char * argv[] ) { Map* srcMap = new Map(srcFile); Map* tgtMap = new Map(tgtFile); - tgtMap->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) { |