diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 1571123dd..c65d9f828 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -6,7 +6,6 @@ - diff --git a/CMakeLists.txt b/CMakeLists.txt index ba528998e..5dbaf06dd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,7 +12,7 @@ if(APPLE) function(add_library TARGET) _add_library(${TARGET} ${ARGN}) list(GET ARGV 1 ARG1) - if(NOT ${ARG1} STREQUAL INTERFACE) + if(NOT ${ARG1} STREQUAL INTERFACE AND NOT ${ARG1} STREQUAL ALIAS) set_target_properties(${TARGET} PROPERTIES XCODE_ATTRIBUTE_WARNING_CFLAGS "") endif() endfunction() @@ -135,10 +135,11 @@ else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") add_compile_options(-fsanitize=memory -fsanitize-memory-track-origins -fsanitize-recover=all) endif() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti") - add_compile_options(-Wall -Wno-multichar -Werror=implicit-fallthrough -Wno-unknown-warning-option - -Wno-lto-type-mismatch -Wno-unused-variable -Wno-unused-private-field - -Wno-unused-function -Wno-sign-compare -Wno-unknown-pragmas -fno-exceptions -Werror) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti -fno-exceptions") + add_compile_options(-Wall -Wno-multichar -Werror=implicit-fallthrough -Wno-unknown-warning-option + -Wno-lto-type-mismatch -Wno-unused-variable -Wno-unused-private-field + -Wno-unused-function -Wno-sign-compare -Wno-unknown-pragmas -Werror) + add_compile_definitions(FMT_EXCEPTIONS=0) if(APPLE) add_compile_options(-Wno-error=deprecated-declarations) diff --git a/DataSpec/SpecMP1.cpp b/DataSpec/SpecMP1.cpp index 4a1142a03..5553b1491 100644 --- a/DataSpec/SpecMP1.cpp +++ b/DataSpec/SpecMP1.cpp @@ -357,16 +357,19 @@ struct SpecMP1 : SpecBase { progress.startNewLine(); for (std::pair& pair : m_orderedPaks) { #if 0 - const DNAMP1::PAK::Entry* ent = pair.second->getPAK().lookupEntry(UniqueID32("A4DFCAD6")); - if (ent) - { - DNAMP1::ANIM anim; - PAKEntryReadStream rs = ent->beginReadStream(pair.second->getNode()); - anim.read(rs); - exit(0); - } - else - continue; + const DNAMP1::PAK::Entry* ent = pair.second->getPAK().lookupEntry(UniqueID32(0xE39FC9A1)); + if (ent) { + PAKEntryReadStream rs = ent->beginReadStream(pair.second->getNode()); + DNAMP1::CMDL::Extract(*this, rs, hecl::ProjectPath(m_project.getProjectWorkingPath(), "MP1/Metroid1/!1IntroLevel1027/CMDL_E39FC9A1.blend"), m_pakRouter, *ent, true, hecl::blender::SharedBlenderToken, {}); + + ent = pair.second->getPAK().lookupEntry(UniqueID32(0xC1AE2B4A)); + rs = ent->beginReadStream(pair.second->getNode()); + DNAMP1::CMDL::Extract(*this, rs, hecl::ProjectPath(m_project.getProjectWorkingPath(), "MP1/Metroid1/!1IntroLevel1027/CMDL_C1AE2B4A.blend"), m_pakRouter, *ent, true, hecl::blender::SharedBlenderToken, {}); + + exit(0); + } + else + continue; #endif DNAMP1::PAKBridge& pak = *pair.second; diff --git a/hecl b/hecl index 920fcb3c3..625d22cba 160000 --- a/hecl +++ b/hecl @@ -1 +1 @@ -Subproject commit 920fcb3c3d90f3db95f097c235597aff211227bc +Subproject commit 625d22cbab3277ef9f55f85a022ffb69c4a1cb4c diff --git a/visigen/MainMac.mm b/visigen/MainMac.mm index 0e2b9045f..ddd0cb276 100644 --- a/visigen/MainMac.mm +++ b/visigen/MainMac.mm @@ -104,13 +104,9 @@ static void UpdatePercent(float percent) @end static logvisor::Module AthenaLog("Athena"); -static void AthenaExc(athena::error::Level level, const char* file, - const char*, int line, const char* fmt, ...) -{ - va_list ap; - va_start(ap, fmt); - AthenaLog.report(logvisor::Level(level), fmt, ap); - va_end(ap); +static void AthenaExc(athena::error::Level level, const char* /*file*/, const char*, int /*line*/, + fmt::string_view fmt, fmt::format_args args) { + AthenaLog.vreport(logvisor::Level(level), fmt, args); } int main(int argc, const char** argv)