diff --git a/hecl/CMakeLists.txt b/hecl/CMakeLists.txt index dc4ef102b..cf63a0716 100644 --- a/hecl/CMakeLists.txt +++ b/hecl/CMakeLists.txt @@ -5,5 +5,6 @@ add_subdirectory(extern) include_directories(include ${LOG_VISOR_INCLUDE_DIR} ${ATHENA_INCLUDE_DIR}) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") add_subdirectory(lib) +add_subdirectory(blender) add_subdirectory(driver) install(DIRECTORY include/HECL DESTINATION include/HECL) diff --git a/hecl/blender/CBlenderConnection.cpp b/hecl/blender/BlenderConnection.cpp similarity index 99% rename from hecl/blender/CBlenderConnection.cpp rename to hecl/blender/BlenderConnection.cpp index c5de5fd92..348c46e8a 100644 --- a/hecl/blender/CBlenderConnection.cpp +++ b/hecl/blender/BlenderConnection.cpp @@ -5,7 +5,7 @@ #include #include -#include "CBlenderConnection.hpp" +#include "BlenderConnection.hpp" #ifdef __APPLE__ #define DEFAULT_BLENDER_BIN "/Applications/Blender.app/Contents/MacOS/blender" diff --git a/hecl/blender/CBlenderConnection.hpp b/hecl/blender/BlenderConnection.hpp similarity index 100% rename from hecl/blender/CBlenderConnection.hpp rename to hecl/blender/BlenderConnection.hpp diff --git a/hecl/blender/CMakeLists.txt b/hecl/blender/CMakeLists.txt new file mode 100644 index 000000000..07fad3d35 --- /dev/null +++ b/hecl/blender/CMakeLists.txt @@ -0,0 +1,3 @@ +add_library(HECLBlender + BlenderConnection.cpp + BlenderConnection.hpp) diff --git a/hecl/driver/ToolExtract.hpp b/hecl/driver/ToolExtract.hpp index 687b42283..f539f3a26 100644 --- a/hecl/driver/ToolExtract.hpp +++ b/hecl/driver/ToolExtract.hpp @@ -10,6 +10,12 @@ public: ToolExtract(const ToolPassInfo& info) : ToolBase(info) { + if (!info.project) + LogModule.report(LogVisor::FatalError, "hecl extract must be ran within a project directory"); + for (const HECL::Database::DataSpecEntry* entry : HECL::Database::DATA_SPEC_REGISTRY) + { + + } } static void Help(HelpOutput& help) @@ -21,13 +27,13 @@ public: help.secHead(_S("SYNOPSIS")); help.beginWrap(); - help.wrap(_S("hecl extract [/...]\n")); + help.wrap(_S("hecl extract [...]\n")); help.endWrap(); help.secHead(_S("DESCRIPTION")); help.beginWrap(); help.wrap(_S("This command recursively extracts all or part of a dataspec-supported " - "package format.\n\n")); + "package format. Each object is decoded to a working format and added to the project.\n\n")); help.endWrap(); help.secHead(_S("OPTIONS")); diff --git a/hecl/driver/ToolGroup.hpp b/hecl/driver/ToolGroup.hpp index a1e71d247..142f0ed47 100644 --- a/hecl/driver/ToolGroup.hpp +++ b/hecl/driver/ToolGroup.hpp @@ -10,6 +10,8 @@ public: ToolGroup(const ToolPassInfo& info) : ToolBase(info) { + if (!info.project) + LogModule.report(LogVisor::FatalError, "hecl group must be ran within a project directory"); } ~ToolGroup() diff --git a/hecl/driver/ToolPackage.hpp b/hecl/driver/ToolPackage.hpp index a793be930..31d1b7dd2 100644 --- a/hecl/driver/ToolPackage.hpp +++ b/hecl/driver/ToolPackage.hpp @@ -12,6 +12,8 @@ public: ToolPackage(const ToolPassInfo& info) : ToolBase(info) { + if (!info.project) + LogModule.report(LogVisor::FatalError, "hecl package must be ran within a project directory"); } ~ToolPackage() diff --git a/hecl/driver/main.cpp b/hecl/driver/main.cpp index 65be8941b..cf4ad0622 100644 --- a/hecl/driver/main.cpp +++ b/hecl/driver/main.cpp @@ -53,7 +53,7 @@ static const HECL::SystemRegex regOPEN(_S("-o([^\"]*|\\S*)"), std::regex::ECMASc static const HECL::SystemRegex regVERBOSE(_S("-v(v*)"), std::regex::ECMAScript|std::regex::optimize); static const HECL::SystemRegex regFORCE(_S("-f"), std::regex::ECMAScript|std::regex::optimize); -#include "../blender/CBlenderConnection.hpp" +#include "../blender/BlenderConnection.hpp" #if HECL_UCS2 int wmain(int argc, const wchar_t** argv) diff --git a/hecl/extern/Athena b/hecl/extern/Athena index ce917d4ac..8a397a162 160000 --- a/hecl/extern/Athena +++ b/hecl/extern/Athena @@ -1 +1 @@ -Subproject commit ce917d4aca98551aff497f012a1dfab6975f36c3 +Subproject commit 8a397a16229e6642088ad1790f18015fca506744 diff --git a/hecl/extern/LogVisor b/hecl/extern/LogVisor index 4416d51c4..9e31e9e2b 160000 --- a/hecl/extern/LogVisor +++ b/hecl/extern/LogVisor @@ -1 +1 @@ -Subproject commit 4416d51c461c6d6c21ecf6c91c7a1c31210517d2 +Subproject commit 9e31e9e2b971290d6a9725a81e35c423dd4fd719 diff --git a/hecl/extern/RetroCommon b/hecl/extern/RetroCommon index 4f79743da..74b970c34 160000 --- a/hecl/extern/RetroCommon +++ b/hecl/extern/RetroCommon @@ -1 +1 @@ -Subproject commit 4f79743da0821645001a37046b98357c1c3acde9 +Subproject commit 74b970c347d02d12b104166bd37827f7868fe642