diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2023-11-05 01:04:35 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2023-11-05 01:04:43 +0100 |
commit | f03f8fd0afa7bb97c64f8bec9de60617e16f7243 (patch) | |
tree | c3c99e8b460a1fe23fe4bb4aa53f84de0a2c9501 /wall-tileset-tool | |
parent | 921e0f47a826e88183ba7c328893826e41d36c6c (diff) |
a
Diffstat (limited to 'wall-tileset-tool')
-rw-r--r-- | wall-tileset-tool/CMakeLists.txt | 2 | ||||
-rw-r--r-- | wall-tileset-tool/main.cpp | 54 |
2 files changed, 55 insertions, 1 deletions
diff --git a/wall-tileset-tool/CMakeLists.txt b/wall-tileset-tool/CMakeLists.txt index 525696fd..28f62254 100644 --- a/wall-tileset-tool/CMakeLists.txt +++ b/wall-tileset-tool/CMakeLists.txt @@ -3,7 +3,7 @@ if(OpenCV_FOUND) set(self "floormat-wall-tileset-tool") include_directories(SYSTEM "${OpenCV_INCLUDE_DIRS}") - link_libraries(Corrade::Utility Magnum::Magnum) + link_libraries(Corrade::Containers Corrade::Utility Magnum::Magnum Magnum::GL fmt::fmt) link_libraries(opencv_imgproc opencv_imgcodecs opencv_core) link_libraries(nlohmann_json::nlohmann_json) diff --git a/wall-tileset-tool/main.cpp b/wall-tileset-tool/main.cpp index eac6a6a7..727b16c2 100644 --- a/wall-tileset-tool/main.cpp +++ b/wall-tileset-tool/main.cpp @@ -1,6 +1,60 @@ +#include "compat/assert.hpp" +#include "compat/sysexits.hpp" +#include "compat/fix-argv0.hpp" +#include "src/wall-atlas.hpp" +#include "loader/loader.hpp" +#include <utility> +#include <tuple> +#include <Corrade/Utility/DebugStl.h> +#include <Corrade/Containers/StringView.h> +#include <Corrade/Containers/String.h> +#include <Corrade/Containers/TripleStl.h> +#include <Corrade/Utility/Path.h> #include <Corrade/Utility/Arguments.h> +#include <opencv2/core/mat.hpp> +#include <opencv2/imgproc/imgproc.hpp> +#include <opencv2/imgcodecs/imgcodecs.hpp> + +namespace floormat { + +using Corrade::Utility::Arguments; +using namespace std::string_literals; + +namespace { + +struct options +{ + String input_dir, input_file, output_dir; +}; + +Triple<options, Arguments, bool> parse_cmdline(int argc, const char* const* argv) noexcept +{ + Corrade::Utility::Arguments args{}; + args.addOption('o', "output"s).setHelp("output"s, ""s, "DIR"s); + args.addArgument("input"s); + args.parse(argc, argv); + options opts; + //Path::exists(args.value<StringView>()); + + return { std::move(opts), std::move(args), false }; +} + +[[nodiscard]] static int usage(const Arguments& args) noexcept +{ + Error{Error::Flag::NoNewlineAtTheEnd} << args.usage(); + return EX_USAGE; +} + +} // namespace + +} // namespace floormat + +using namespace floormat; int main(int argc, char** argv) { + argv[0] = fix_argv0(argv[0]); + auto [opts, args, opts_ok] = parse_cmdline(argc, argv); + return 0; } |