summaryrefslogtreecommitdiffhomepage
path: root/wall-tileset-tool
diff options
context:
space:
mode:
Diffstat (limited to 'wall-tileset-tool')
-rw-r--r--wall-tileset-tool/CMakeLists.txt2
-rw-r--r--wall-tileset-tool/main.cpp54
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;
}