diff options
Diffstat (limited to 'tools/tmxcopy/tmx_random_fill.cpp')
-rw-r--r-- | tools/tmxcopy/tmx_random_fill.cpp | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/tools/tmxcopy/tmx_random_fill.cpp b/tools/tmxcopy/tmx_random_fill.cpp deleted file mode 100644 index 0039ff8b2..000000000 --- a/tools/tmxcopy/tmx_random_fill.cpp +++ /dev/null @@ -1,115 +0,0 @@ -/* - * TMXRandomFill - * Copyright (C) 2007 Philipp Sehmisch - * Copyright (C) 2009 Steve Cotton - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#include <iostream> -#include <string> -#include <unistd.h> - -#include "map.hpp" - -void printUsage() -{ - std::cerr<<"Usage: tmx_random_fill [-c] mapFile destLayer x y width height templateFile [-o outfile]"<<std::endl - <<" -c create layers, if they don't already exist in the target"<<std::endl - <<" -o save results to outfile, instead of overwriting the original"<<std::endl - <<std::endl - <<"Fill a rectangular area of mapFile's layer 'destLayer' with a random selection from the templateFile"<<std::endl - <<"See readme.txt for full documentation"<<std::endl; -} - -int main(int argc, char * argv[] ) -{ - ConfigurationOptions config = {0}; - std::string outFile; - - int opt; - while ((opt = getopt(argc, argv, "co:")) != -1) - { - switch (opt) - { - case 'c': - config.createMissingLayers = true; - break; - case 'o': - if (optarg) - { - outFile = optarg; - } else { - printUsage(); - return -1; - } - break; - case '?': - std::cerr<<"Unrecognized option"<<std::endl; - printUsage(); - return -1; - } - } - - if ((argc-optind) < 7) - { - std::cerr<<"Too few args"<<std::endl; - printUsage(); - return -1; - } - if ((argc-optind) > 7) - { - std::cerr<<"Too many args"<<std::endl; - printUsage(); - return -1; - } - - std::string mapFile = argv[optind+0]; - std::string destLayer = argv[optind+1]; - int destX= atoi(argv[optind+2]); - int destY= atoi(argv[optind+3]); - int width= atoi(argv[optind+4]); - int height=atoi(argv[optind+5]); - std::string templateFile = argv[optind+6]; - if (outFile.empty()) - { - outFile = mapFile; - } - - // plausibility check of command line options - if (height < 1 || width < 1 || destX < 0 || destY < 0) - { - std::cerr<<"Illegal coordinates!"<<std::endl; - printUsage(); - return -1; - } - - try - { - Map* mainMap = new Map(mapFile); - Map* templateMap = new Map(templateFile); - if (mainMap->randomFill(templateMap, destLayer, destX, destY, width, height, config)) - { - mainMap->save(outFile); - } else { - return -1; - } - delete mainMap; - delete templateMap; - } - catch (int) - { - return -1; - } -} |