summaryrefslogtreecommitdiff
path: root/tools/tmxcopy/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/tmxcopy/main.cpp')
-rw-r--r--tools/tmxcopy/main.cpp16
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)
{