From 141f315a7b3fd738fd3c5ec2a4dc1fd2086b8e9d Mon Sep 17 00:00:00 2001 From: louis Date: Sat, 25 Mar 2023 15:20:09 -0400 Subject: [PATCH 01/51] update --- CMakeLists.txt | 2 +- OTRExporter/OTRExporter/Main.cpp | 38 ++++++++++++++++---------------- copy-existing-otrs.cmake | 4 ++++ soh/soh/OTRGlobals.cpp | 4 ++++ 4 files changed, 28 insertions(+), 20 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8aaa2d63bac..b14e32bdf5a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -113,7 +113,7 @@ add_custom_target( WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/OTRExporter COMMENT "Running asset extraction..." DEPENDS ZAPD - BYPRODUCTS oot.otr ${CMAKE_SOURCE_DIR}/oot.otr oot-mq.otr ${CMAKE_SOURCE_DIR}/oot-mq.otr + BYPRODUCTS oot.otr ${CMAKE_SOURCE_DIR}/oot.otr oot-mq.otr ${CMAKE_SOURCE_DIR}/oot-mq.otr ${CMAKE_SOURCE_DIR}/soh.otr ) if(CMAKE_SYSTEM_NAME MATCHES "Linux") diff --git a/OTRExporter/OTRExporter/Main.cpp b/OTRExporter/OTRExporter/Main.cpp index 3bc9da046b4..878947b47c8 100644 --- a/OTRExporter/OTRExporter/Main.cpp +++ b/OTRExporter/OTRExporter/Main.cpp @@ -73,25 +73,22 @@ static void ExporterProgramEnd() std::vector romData = File::ReadAllBytes(romPath); uint32_t crc = BitConverter::ToUInt32BE(romData, 0x10); uint8_t endianness = (uint8_t)Endianness::Big; + - // Write crc to version file - fs::path versionPath("Extract/version"); - MemoryStream* versionStream = new MemoryStream(); - BinaryWriter writer(versionStream); - writer.SetEndianness(Endianness::Big); - writer.Write(endianness); - writer.Write(crc); - std::ofstream versionFile(versionPath.c_str(), std::ios::out | std::ios::binary); - versionFile.write(versionStream->ToVector().data(), versionStream->GetLength()); - versionFile.flush(); - versionFile.close(); - writer.Close(); + MemoryStream* versionStream = new MemoryStream(); + BinaryWriter writer(versionStream); + writer.SetEndianness(Endianness::Big); + writer.Write(endianness); + writer.Write(crc); + writer.Close(); printf("Created version file.\n"); printf("Generating OTR Archive...\n"); otrArchive = Ship::Archive::CreateArchive(otrFileName, 40000); + otrArchive->AddFile("version", (uintptr_t)versionStream->ToVector().data(), versionStream->GetLength()); + for (auto item : files) { std::string fName = item.first; if (fName.find("gTitleZeldaShieldLogoMQTex") != std::string::npos && !ZRom(romPath).IsMQ()) @@ -109,6 +106,8 @@ static void ExporterProgramEnd() // Add any additional files that need to be manually copied... auto lst = Directory::ListFiles("Extract"); + std::shared_ptr sohOtr = Ship::Archive::CreateArchive("soh.otr", 4096); + sohOtr->AddFile("version", (uintptr_t)versionStream->ToVector().data(), versionStream->GetLength()); for (auto item : lst) { @@ -124,19 +123,20 @@ static void ExporterProgramEnd() ZTexture tex(nullptr); Globals::Instance->buildRawTexture = true; tex.FromPNG(item, ZTexture::GetTextureTypeFromString(format)); - printf("otrArchive->AddFile(%s)\n", StringHelper::Split(afterPath, "Extract/")[1].c_str()); + printf("sohOtr->AddFile(%s)\n", StringHelper::Split(afterPath, "Extract/")[1].c_str()); + + OTRExporter_Texture exporter; - auto exporter = new OTRExporter_Texture(); MemoryStream* stream = new MemoryStream(); BinaryWriter writer(stream); - exporter->Save(&tex, "", &writer); + exporter.Save(&tex, "", &writer); std::string src = tex.GetBodySourceCode(); writer.Write((char*) src.c_str(), src.size()); std::vector fileData = stream->ToVector(); - otrArchive->AddFile(StringHelper::Split(afterPath, "Extract/assets/")[1], (uintptr_t)fileData.data(), fileData.size()); + sohOtr->AddFile(StringHelper::Split(afterPath, "Extract/assets/")[1], (uintptr_t)fileData.data(), fileData.size()); continue; } } @@ -147,14 +147,14 @@ static void ExporterProgramEnd() if(extension == "json"){ auto fileData = File::ReadAllBytes(item); printf("Adding accessibility texts %s\n", StringHelper::Split(item, "texts/")[1].c_str()); - otrArchive->AddFile(StringHelper::Split(item, "Extract/assets/")[1], (uintptr_t)fileData.data(), fileData.size()); + sohOtr->AddFile(StringHelper::Split(item, "Extract/assets/")[1], (uintptr_t)fileData.data(), fileData.size()); } continue; } auto fileData = File::ReadAllBytes(item); - printf("otrArchive->AddFile(%s)\n", StringHelper::Split(item, "Extract/")[1].c_str()); - otrArchive->AddFile(StringHelper::Split(item, item.find("Extract/assets/") != std::string::npos ? "Extract/assets/" : "Extract/")[1], (uintptr_t)fileData.data(), fileData.size()); + printf("sohOtr->AddFile(%s)\n", StringHelper::Split(item, "Extract/")[1].c_str()); + sohOtr->AddFile(StringHelper::Split(item, item.find("Extract/assets/") != std::string::npos ? "Extract/assets/" : "Extract/")[1], (uintptr_t)fileData.data(), fileData.size()); } } } diff --git a/copy-existing-otrs.cmake b/copy-existing-otrs.cmake index b3510830d09..007376d7b62 100644 --- a/copy-existing-otrs.cmake +++ b/copy-existing-otrs.cmake @@ -6,6 +6,10 @@ if(EXISTS ${SOURCE_DIR}/OTRExporter/oot-mq.otr) execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.otr ${SOURCE_DIR}) execute_process(COMMAND ${CMAKE_COMMAND} -E copy oot-mq.otr ${BINARY_DIR}/soh/) endif() +if(EXISTS ${SOURCE_DIR}/OTRExporter/soh.otr) + execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.otr ${SOURCE_DIR}) + execute_process(COMMAND ${CMAKE_COMMAND} -E copy soh.otr ${BINARY_DIR}/soh/) +endif() if(NOT EXISTS ${SOURCE_DIR}/oot.otr AND NOT EXISTS ${SOURCE_DIR}/oot-mq.otr) message(FATAL_ERROR, "No OTR files found.") endif() \ No newline at end of file diff --git a/soh/soh/OTRGlobals.cpp b/soh/soh/OTRGlobals.cpp index a3a969f6709..876ea2d743c 100644 --- a/soh/soh/OTRGlobals.cpp +++ b/soh/soh/OTRGlobals.cpp @@ -205,6 +205,10 @@ OTRGlobals::OTRGlobals() { if (std::filesystem::exists(ootPath)) { OTRFiles.push_back(ootPath); } + std::string sohOtrPath = Ship::Window::GetPathRelativeToAppDirectory("soh.otr"); + if (std::filesystem::exists(sohOtrPath)) { + OTRFiles.push_back(sohOtrPath); + } std::string patchesPath = Ship::Window::GetPathRelativeToAppDirectory("mods"); if (patchesPath.length() > 0 && std::filesystem::exists(patchesPath)) { if (std::filesystem::is_directory(patchesPath)) { From ae6efc512ca49578f33661dcf1ad0fd1498e8d8a Mon Sep 17 00:00:00 2001 From: louist103 <35883445+louist103@users.noreply.github.com> Date: Sat, 25 Mar 2023 15:51:29 -0400 Subject: [PATCH 02/51] Update generate-builds.yml --- .github/workflows/generate-builds.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 01a2f9ec10d..d18dffbbe57 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -149,6 +149,7 @@ jobs: cmake --build build-switch --target soh_nro -j3 mv build-switch/soh/*.nro soh.nro + mv build-switch/soh/soh.otr mv README.md readme.txt - name: Upload build uses: actions/upload-artifact@v3 @@ -180,6 +181,7 @@ jobs: mv build-wiiu/soh/*.rpx soh.rpx mv build-wiiu/soh/*.wuhb soh.wuhb + mv build-wiiu/soh/soh.otr mv README.md readme.txt env: DEVKITPRO: /opt/devkitpro From a9b480c9041cceb754ea9cbfb85406c753d5f256 Mon Sep 17 00:00:00 2001 From: louist103 <35883445+louist103@users.noreply.github.com> Date: Sat, 25 Mar 2023 15:55:22 -0400 Subject: [PATCH 03/51] Update generate-builds.yml --- .github/workflows/generate-builds.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index d18dffbbe57..40e817c1188 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -149,7 +149,7 @@ jobs: cmake --build build-switch --target soh_nro -j3 mv build-switch/soh/*.nro soh.nro - mv build-switch/soh/soh.otr + mv build-switch/soh/soh.otr soh.otr mv README.md readme.txt - name: Upload build uses: actions/upload-artifact@v3 @@ -181,7 +181,7 @@ jobs: mv build-wiiu/soh/*.rpx soh.rpx mv build-wiiu/soh/*.wuhb soh.wuhb - mv build-wiiu/soh/soh.otr + mv build-wiiu/soh/soh.otr soh.otr mv README.md readme.txt env: DEVKITPRO: /opt/devkitpro From 3266bdd8397b07e6a4ca0741d9b2d98f0ee4f1d4 Mon Sep 17 00:00:00 2001 From: louis Date: Mon, 10 Apr 2023 21:59:30 -0400 Subject: [PATCH 04/51] sohotr in CI? --- .github/workflows/generate-builds.yml | 10 ++ OTRExporter/OTRExporter/Main.cpp | 135 ++++++++++++++------------ ZAPDTR/ZAPD/Globals.h | 3 +- ZAPDTR/ZAPD/Main.cpp | 16 +++ 4 files changed, 99 insertions(+), 65 deletions(-) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 40e817c1188..4b1c1911c20 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -51,6 +51,8 @@ jobs: run: | export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" + cmake --build build-cmake --config Release --target ZAPD + COMMAND ../build-cmake/ZAPD/ZAPD.out botr -se OTR --norom cmake --build build-cmake --config Release --parallel 10 (cd build-cmake && cpack) @@ -112,6 +114,8 @@ jobs: export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release cmake --build build-cmake --target OTRGui -j3 + cmake --build build-cmake --config Release --target ZAPD + COMMAND ../build-cmake/ZAPD/ZAPD.out botr -se OTR --norom cmake --build build-cmake --config Release -j3 (cd build-cmake && cpack -G External) @@ -146,6 +150,8 @@ jobs: - name: Build SoH run: | cmake -H. -Bbuild-switch -GNinja -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Switch.cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache + cmake --build build-switch --config Release --target ZAPD + COMMAND ../build-switch/ZAPD/ZAPD.out botr -se OTR --norom cmake --build build-switch --target soh_nro -j3 mv build-switch/soh/*.nro soh.nro @@ -177,6 +183,8 @@ jobs: - name: Build SoH run: | cmake -H. -Bbuild-wiiu -GNinja -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/WiiU.cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache + cmake --build build-wiiu --config Release --target ZAPD + COMMAND ../build-wiiu/ZAPD/ZAPD.out botr -se OTR --norom cmake --build build-wiiu --target soh_wuhb --config Release -j3 mv build-wiiu/soh/*.rpx soh.rpx @@ -218,6 +226,8 @@ jobs: set $env:PATH="$env:USERPROFILE/.cargo/bin;$env:PATH" cmake -S . -B build-windows -G Ninja -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache cmake --build build-windows --target OTRGui --config Release --parallel 10 + cmake --build build-windows --config Release --target ZAPD + COMMAND ../build-windows/ZAPD/ZAPD.exe botr -se OTR --norom cmake --build build-windows --config Release --parallel 10 cd build-windows cpack -G ZIP diff --git a/OTRExporter/OTRExporter/Main.cpp b/OTRExporter/OTRExporter/Main.cpp index 878947b47c8..b967b584c13 100644 --- a/OTRExporter/OTRExporter/Main.cpp +++ b/OTRExporter/OTRExporter/Main.cpp @@ -27,7 +27,7 @@ std::string otrFileName = "oot.otr"; std::shared_ptr otrArchive; -BinaryWriter* fileWriter; +BinaryWriter *fileWriter; std::chrono::steady_clock::time_point fileStart, resStart; std::map> files; std::mutex fileMutex; @@ -39,7 +39,7 @@ enum class ExporterFileMode BuildOTR = (int)ZFileMode::Custom + 1, }; -static void ExporterParseFileMode(const std::string& buildMode, ZFileMode& fileMode) +static void ExporterParseFileMode(const std::string &buildMode, ZFileMode &fileMode) { if (buildMode == "botr") { @@ -64,18 +64,21 @@ static void ExporterParseFileMode(const std::string& buildMode, ZFileMode& fileM static void ExporterProgramEnd() { + + + uint32_t crc = 0xFFFFFFFF; + const uint8_t endianness = (uint8_t)Endianness::Big; + if (Globals::Instance->fileMode == ZFileMode::ExtractDirectory) { + std::string romPath = Globals::Instance->baseRomPath.string(); + const std::vector& romData = File::ReadAllBytes(romPath); + crc = BitConverter::ToUInt32BE(romData, 0x10); printf("Creating version file...\n"); // Get crc from rom - std::string romPath = Globals::Instance->baseRomPath.string(); - std::vector romData = File::ReadAllBytes(romPath); - uint32_t crc = BitConverter::ToUInt32BE(romData, 0x10); - uint8_t endianness = (uint8_t)Endianness::Big; - - MemoryStream* versionStream = new MemoryStream(); + MemoryStream *versionStream = new MemoryStream(); BinaryWriter writer(versionStream); writer.SetEndianness(Endianness::Big); writer.Write(endianness); @@ -89,7 +92,8 @@ static void ExporterProgramEnd() otrArchive->AddFile("version", (uintptr_t)versionStream->ToVector().data(), versionStream->GetLength()); - for (auto item : files) { + for (const auto &item : files) + { std::string fName = item.first; if (fName.find("gTitleZeldaShieldLogoMQTex") != std::string::npos && !ZRom(romPath).IsMQ()) { @@ -99,68 +103,71 @@ static void ExporterProgramEnd() fName.replace(pos, 27, "gTitleZeldaShieldLogoTex"); } } - auto fileData = item.second; + const auto &fileData = item.second; otrArchive->AddFile(fName, (uintptr_t)fileData.data(), - fileData.size()); + fileData.size()); } + } - // Add any additional files that need to be manually copied... - auto lst = Directory::ListFiles("Extract"); - std::shared_ptr sohOtr = Ship::Archive::CreateArchive("soh.otr", 4096); - sohOtr->AddFile("version", (uintptr_t)versionStream->ToVector().data(), versionStream->GetLength()); - - for (auto item : lst) - { - std::vector splitPath = StringHelper::Split(item, "."); + // Add any additional files that need to be manually copied... + const auto &lst = Directory::ListFiles("Extract"); + std::shared_ptr sohOtr = Ship::Archive::CreateArchive("soh.otr", 4096); + //sohOtr->AddFile("version", (uintptr_t)versionStream->ToVector().data(), versionStream->GetLength()); - if (splitPath.size() >= 3) { - std::string extension = splitPath.at(splitPath.size() - 1); - std::string format = splitPath.at(splitPath.size() - 2); - splitPath.pop_back(); - splitPath.pop_back(); - std::string afterPath = std::accumulate(splitPath.begin(), splitPath.end(), std::string("")); - if (extension == "png" && (format == "rgba32" || format == "rgb5a1" || format == "i4" || format == "i8" || format == "ia4" || format == "ia8" || format == "ia16" || format == "ci4" || format == "ci8")) { - ZTexture tex(nullptr); - Globals::Instance->buildRawTexture = true; - tex.FromPNG(item, ZTexture::GetTextureTypeFromString(format)); - printf("sohOtr->AddFile(%s)\n", StringHelper::Split(afterPath, "Extract/")[1].c_str()); + for (const auto &item : lst) + { + std::vector splitPath = StringHelper::Split(item, "."); - OTRExporter_Texture exporter; + if (splitPath.size() >= 3) + { + const std::string &extension = splitPath.at(splitPath.size() - 1); + const std::string &format = splitPath.at(splitPath.size() - 2); + splitPath.pop_back(); + splitPath.pop_back(); + std::string afterPath = std::accumulate(splitPath.begin(), splitPath.end(), std::string("")); + if (extension == "png" && (format == "rgba32" || format == "rgb5a1" || format == "i4" || format == "i8" || format == "ia4" || format == "ia8" || format == "ia16" || format == "ci4" || format == "ci8")) + { + ZTexture tex(nullptr); + Globals::Instance->buildRawTexture = true; + tex.FromPNG(item, ZTexture::GetTextureTypeFromString(format)); + printf("sohOtr->AddFile(%s)\n", StringHelper::Split(afterPath, "Extract/")[1].c_str()); - MemoryStream* stream = new MemoryStream(); - BinaryWriter writer(stream); + OTRExporter_Texture exporter; - exporter.Save(&tex, "", &writer); + MemoryStream *stream = new MemoryStream(); + BinaryWriter writer(stream); - std::string src = tex.GetBodySourceCode(); - writer.Write((char*) src.c_str(), src.size()); + exporter.Save(&tex, "", &writer); - std::vector fileData = stream->ToVector(); - sohOtr->AddFile(StringHelper::Split(afterPath, "Extract/assets/")[1], (uintptr_t)fileData.data(), fileData.size()); - continue; - } - } + std::string src = tex.GetBodySourceCode(); + writer.Write((char *)src.c_str(), src.size()); - if(item.find("accessibility") != std::string::npos) { - std::string extension = splitPath.at(splitPath.size() - 1); - splitPath.pop_back(); - if(extension == "json"){ - auto fileData = File::ReadAllBytes(item); - printf("Adding accessibility texts %s\n", StringHelper::Split(item, "texts/")[1].c_str()); - sohOtr->AddFile(StringHelper::Split(item, "Extract/assets/")[1], (uintptr_t)fileData.data(), fileData.size()); - } + std::vector fileData = stream->ToVector(); + sohOtr->AddFile(StringHelper::Split(afterPath, "Extract/assets/")[1], (uintptr_t)fileData.data(), fileData.size()); continue; } + } - auto fileData = File::ReadAllBytes(item); - printf("sohOtr->AddFile(%s)\n", StringHelper::Split(item, "Extract/")[1].c_str()); - sohOtr->AddFile(StringHelper::Split(item, item.find("Extract/assets/") != std::string::npos ? "Extract/assets/" : "Extract/")[1], (uintptr_t)fileData.data(), fileData.size()); + if (item.find("accessibility") != std::string::npos) + { + std::string extension = splitPath.at(splitPath.size() - 1); + splitPath.pop_back(); + if (extension == "json") + { + const auto &fileData = File::ReadAllBytes(item); + printf("Adding accessibility texts %s\n", StringHelper::Split(item, "texts/")[1].c_str()); + sohOtr->AddFile(StringHelper::Split(item, "Extract/assets/")[1], (uintptr_t)fileData.data(), fileData.size()); + } + continue; } + + const auto &fileData = File::ReadAllBytes(item); + printf("sohOtr->AddFile(%s)\n", StringHelper::Split(item, "Extract/")[1].c_str()); + sohOtr->AddFile(StringHelper::Split(item, item.find("Extract/assets/") != std::string::npos ? "Extract/assets/" : "Extract/")[1], (uintptr_t)fileData.data(), fileData.size()); } } - -static void ExporterParseArgs(int argc, char* argv[], int& i) +static void ExporterParseArgs(int argc, char *argv[], int &i) { std::string arg = argv[i]; @@ -181,23 +188,23 @@ static bool ExporterProcessFileMode(ZFileMode fileMode) return false; } -static void ExporterFileBegin(ZFile* file) +static void ExporterFileBegin(ZFile *file) { fileStart = std::chrono::steady_clock::now(); - MemoryStream* stream = new MemoryStream(); + MemoryStream *stream = new MemoryStream(); fileWriter = new BinaryWriter(stream); } -static void ExporterFileEnd(ZFile* file) +static void ExporterFileEnd(ZFile *file) { // delete fileWriter; } -static void ExporterResourceEnd(ZResource* res, BinaryWriter& writer) +static void ExporterResourceEnd(ZResource *res, BinaryWriter &writer) { auto streamShared = writer.GetStream(); - MemoryStream* strem = (MemoryStream*)streamShared.get(); + MemoryStream *strem = (MemoryStream *)streamShared.get(); auto start = std::chrono::steady_clock::now(); @@ -207,8 +214,8 @@ static void ExporterResourceEnd(ZResource* res, BinaryWriter& writer) std::string rName = res->GetName(); std::string prefix = OTRExporter_DisplayList::GetPrefix(res); - //auto xmlFilePath = res->parent->GetXmlFilePath(); - //prefix = StringHelper::Split(StringHelper::Split(xmlFilePath.string(), "xml\\")[1], ".xml")[0]; + // auto xmlFilePath = res->parent->GetXmlFilePath(); + // prefix = StringHelper::Split(StringHelper::Split(xmlFilePath.string(), "xml\\")[1], ".xml")[0]; if (StringHelper::Contains(oName, "_scene")) { @@ -243,8 +250,8 @@ static void ExporterResourceEnd(ZResource* res, BinaryWriter& writer) auto end = std::chrono::steady_clock::now(); size_t diff = std::chrono::duration_cast(end - start).count(); - //if (diff > 10) - //printf("Exported Resource End %s in %zums\n", res->GetName().c_str(), diff); + // if (diff > 10) + // printf("Exported Resource End %s in %zums\n", res->GetName().c_str(), diff); } static void ExporterXMLBegin() @@ -270,7 +277,7 @@ static void ImportExporters() { // In this example we set up a new exporter called "EXAMPLE". // By running ZAPD with the argument -se EXAMPLE, we tell it that we want to use this exporter for our resources. - ExporterSet* exporterSet = new ExporterSet(); + ExporterSet *exporterSet = new ExporterSet(); exporterSet->processFileModeFunc = ExporterProcessFileMode; exporterSet->parseFileModeFunc = ExporterParseFileMode; exporterSet->parseArgsFunc = ExporterParseArgs; diff --git a/ZAPDTR/ZAPD/Globals.h b/ZAPDTR/ZAPD/Globals.h index e0cf1d1bce4..629a5d35365 100644 --- a/ZAPDTR/ZAPD/Globals.h +++ b/ZAPDTR/ZAPD/Globals.h @@ -54,7 +54,7 @@ class Globals bool useLegacyZDList; bool singleThreaded; VerbosityLevel verbosity; // ZAPD outputs additional information - ZFileMode fileMode; + ZFileMode fileMode = ZFileMode::Invalid; fs::path baseRomPath, inputPath, outputPath, sourceOutputPath, cfgPath, fileListPath; TextureType texType; ZGame game; @@ -65,6 +65,7 @@ class Globals bool forceUnaccountedStatic = false; bool otrMode = true; bool buildRawTexture = false; + bool onlyGenSohOtr = false; ZRom* rom; std::vector files; diff --git a/ZAPDTR/ZAPD/Main.cpp b/ZAPDTR/ZAPD/Main.cpp index d596d054595..1423f9c0b97 100644 --- a/ZAPDTR/ZAPD/Main.cpp +++ b/ZAPDTR/ZAPD/Main.cpp @@ -260,10 +260,24 @@ int main(int argc, char* argv[]) { Globals::Instance->buildRawTexture = true; } + else if (arg == "--norom") + { + Globals::Instance->onlyGenSohOtr = true; + } } + // Parse File Mode ExporterSet* exporterSet = Globals::Instance->GetExporterSet(); + + if(Globals::Instance->onlyGenSohOtr) { + puts("True"); + exporterSet->endProgramFunc(); + + delete g; + return 0; + } + std::string buildMode = argv[1]; ZFileMode fileMode = ZFileMode::Invalid; @@ -420,6 +434,8 @@ int main(int argc, char* argv[]) if (exporterSet != nullptr && exporterSet->endProgramFunc != nullptr) exporterSet->endProgramFunc(); +end: + delete g; return 0; } From 184cc203cfee7cc1421e8baba1671cba7e36d8c4 Mon Sep 17 00:00:00 2001 From: louis Date: Mon, 10 Apr 2023 22:05:39 -0400 Subject: [PATCH 05/51] paths --- .github/workflows/generate-builds.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 4b1c1911c20..1145dea34b9 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -52,7 +52,7 @@ jobs: export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" cmake --build build-cmake --config Release --target ZAPD - COMMAND ../build-cmake/ZAPD/ZAPD.out botr -se OTR --norom + COMMAND ./build-cmake/ZAPD/ZAPD.out botr -se OTR --norom cmake --build build-cmake --config Release --parallel 10 (cd build-cmake && cpack) @@ -115,7 +115,7 @@ jobs: cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release cmake --build build-cmake --target OTRGui -j3 cmake --build build-cmake --config Release --target ZAPD - COMMAND ../build-cmake/ZAPD/ZAPD.out botr -se OTR --norom + COMMAND ./build-cmake/ZAPD/ZAPD.out botr -se OTR --norom cmake --build build-cmake --config Release -j3 (cd build-cmake && cpack -G External) @@ -151,7 +151,7 @@ jobs: run: | cmake -H. -Bbuild-switch -GNinja -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Switch.cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache cmake --build build-switch --config Release --target ZAPD - COMMAND ../build-switch/ZAPD/ZAPD.out botr -se OTR --norom + COMMAND ./build-switch/ZAPD/ZAPD.out botr -se OTR --norom cmake --build build-switch --target soh_nro -j3 mv build-switch/soh/*.nro soh.nro @@ -184,7 +184,7 @@ jobs: run: | cmake -H. -Bbuild-wiiu -GNinja -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/WiiU.cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache cmake --build build-wiiu --config Release --target ZAPD - COMMAND ../build-wiiu/ZAPD/ZAPD.out botr -se OTR --norom + COMMAND ./build-wiiu/ZAPD/ZAPD.out botr -se OTR --norom cmake --build build-wiiu --target soh_wuhb --config Release -j3 mv build-wiiu/soh/*.rpx soh.rpx @@ -227,7 +227,7 @@ jobs: cmake -S . -B build-windows -G Ninja -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache cmake --build build-windows --target OTRGui --config Release --parallel 10 cmake --build build-windows --config Release --target ZAPD - COMMAND ../build-windows/ZAPD/ZAPD.exe botr -se OTR --norom + COMMAND ./build-windows/ZAPD/ZAPD.exe botr -se OTR --norom cmake --build build-windows --config Release --parallel 10 cd build-windows cpack -G ZIP From 6642f78d3d95e3b381d31a754d649a9afa602d0e Mon Sep 17 00:00:00 2001 From: briaguya Date: Tue, 11 Apr 2023 08:48:51 -0400 Subject: [PATCH 06/51] gitignore soh.otr --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index ff0a8688e26..2cce8c044f0 100644 --- a/.gitignore +++ b/.gitignore @@ -411,6 +411,7 @@ ReleaseObj/* tags oot.otr oot-mq.otr +soh.otr *.sav shipofharkinian.ini shipofharkinian.json From e193691a00a83350260fc82e4ed7f3e0b079bea7 Mon Sep 17 00:00:00 2001 From: louis Date: Tue, 11 Apr 2023 20:54:14 -0400 Subject: [PATCH 07/51] Fix --- .gitignore | 3 +-- OTRExporter/OTRExporter/Main.cpp | 2 ++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index ff0a8688e26..58d6bb57801 100644 --- a/.gitignore +++ b/.gitignore @@ -409,8 +409,7 @@ DebugObj/* ReleaseObj/* .tags tags -oot.otr -oot-mq.otr +*.otr *.sav shipofharkinian.ini shipofharkinian.json diff --git a/OTRExporter/OTRExporter/Main.cpp b/OTRExporter/OTRExporter/Main.cpp index b967b584c13..6100d20e5f7 100644 --- a/OTRExporter/OTRExporter/Main.cpp +++ b/OTRExporter/OTRExporter/Main.cpp @@ -108,6 +108,7 @@ static void ExporterProgramEnd() fileData.size()); } } + otrArchive = nullptr; // Add any additional files that need to be manually copied... const auto &lst = Directory::ListFiles("Extract"); @@ -165,6 +166,7 @@ static void ExporterProgramEnd() printf("sohOtr->AddFile(%s)\n", StringHelper::Split(item, "Extract/")[1].c_str()); sohOtr->AddFile(StringHelper::Split(item, item.find("Extract/assets/") != std::string::npos ? "Extract/assets/" : "Extract/")[1], (uintptr_t)fileData.data(), fileData.size()); } + sohOtr = nullptr; } static void ExporterParseArgs(int argc, char *argv[], int &i) From f24df549d873a43391d1bfe93a1681a838c5175b Mon Sep 17 00:00:00 2001 From: briaguya Date: Tue, 11 Apr 2023 21:29:44 -0400 Subject: [PATCH 08/51] no COMMAND maybe? --- .github/workflows/generate-builds.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 1145dea34b9..52a55bb4f54 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -52,7 +52,7 @@ jobs: export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" cmake --build build-cmake --config Release --target ZAPD - COMMAND ./build-cmake/ZAPD/ZAPD.out botr -se OTR --norom + ./build-cmake/ZAPD/ZAPD.out botr -se OTR --norom cmake --build build-cmake --config Release --parallel 10 (cd build-cmake && cpack) @@ -115,7 +115,7 @@ jobs: cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release cmake --build build-cmake --target OTRGui -j3 cmake --build build-cmake --config Release --target ZAPD - COMMAND ./build-cmake/ZAPD/ZAPD.out botr -se OTR --norom + ./build-cmake/ZAPD/ZAPD.out botr -se OTR --norom cmake --build build-cmake --config Release -j3 (cd build-cmake && cpack -G External) From 5780b476614bd45c7c8fcb98dc6f0ec4dac08dee Mon Sep 17 00:00:00 2001 From: briaguya Date: Tue, 11 Apr 2023 21:56:00 -0400 Subject: [PATCH 09/51] try generating otr as it's own step --- .github/workflows/generate-builds.yml | 455 +++++++++++++------------- 1 file changed, 236 insertions(+), 219 deletions(-) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 52a55bb4f54..1c4df527022 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -6,233 +6,250 @@ concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: - build-macos: - runs-on: ${{ (vars.MAC_RUNNER && fromJSON(vars.MAC_RUNNER)) || 'macos-12' }} + generate-soh-otr: + runs-on: ${{ (vars.LINUX_RUNNER && fromJSON(vars.LINUX_RUNNER)) || 'ubuntu-latest' }} steps: - uses: actions/checkout@v3 with: submodules: true - - name: ccache - uses: hendrikmuhs/ccache-action@v1.2 - with: - key: ${{ runner.os }}-ccache - - name: Install gtar wrapper - if: ${{ !vars.MAC_RUNNER }} - run: | - sudo mv /usr/local/bin/gtar /usr/local/bin/gtar.orig - sudo cp .github/workflows//gtar /usr/local/bin/gtar - sudo chmod +x /usr/local/bin/gtar - - name: Cache MacPorts - id: cache-macports - if: ${{ !vars.MAC_RUNNER }} - uses: actions/cache@v2 - with: - path: /opt/local/ - key: ${{ runner.os }}-macports-${{ hashFiles('.github/workflows/macports-deps.txt') }} - restore-keys: | - ${{ runner.os }}-macports- - - name: Install MacPorts (if necessary) - if: ${{ !vars.MAC_RUNNER }} - run: | - if [ -d /opt/local/ ]; then - echo "MacPorts already installed" - else - wget https://github.com/macports/macports-base/releases/download/v2.7.2/MacPorts-2.7.2-12-Monterey.pkg - sudo installer -pkg ./MacPorts-2.7.2-12-Monterey.pkg -target / - fi - echo "/opt/local/bin:/opt/local/sbin" >> $GITHUB_PATH - - name: Install dependencies - if: ${{ !vars.MAC_RUNNER }} - run: | - brew uninstall --ignore-dependencies libpng - sudo port install $(cat .github/workflows/macports-deps.txt) - brew install ninja - - name: Build SoH + - name: Generate soh.otr run: | - export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" - cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" cmake --build build-cmake --config Release --target ZAPD ./build-cmake/ZAPD/ZAPD.out botr -se OTR --norom - cmake --build build-cmake --config Release --parallel 10 - (cd build-cmake && cpack) + ls + # zip -r assets.zip soh/assets + # - uses: actions/upload-artifact@v3 + # with: + # name: assets + # path: assets.zip + # retention-days: 1 + # build-macos: + # runs-on: ${{ (vars.MAC_RUNNER && fromJSON(vars.MAC_RUNNER)) || 'macos-12' }} + # steps: + # - uses: actions/checkout@v3 + # with: + # submodules: true + # - name: ccache + # uses: hendrikmuhs/ccache-action@v1.2 + # with: + # key: ${{ runner.os }}-ccache + # - name: Install gtar wrapper + # if: ${{ !vars.MAC_RUNNER }} + # run: | + # sudo mv /usr/local/bin/gtar /usr/local/bin/gtar.orig + # sudo cp .github/workflows//gtar /usr/local/bin/gtar + # sudo chmod +x /usr/local/bin/gtar + # - name: Cache MacPorts + # id: cache-macports + # if: ${{ !vars.MAC_RUNNER }} + # uses: actions/cache@v2 + # with: + # path: /opt/local/ + # key: ${{ runner.os }}-macports-${{ hashFiles('.github/workflows/macports-deps.txt') }} + # restore-keys: | + # ${{ runner.os }}-macports- + # - name: Install MacPorts (if necessary) + # if: ${{ !vars.MAC_RUNNER }} + # run: | + # if [ -d /opt/local/ ]; then + # echo "MacPorts already installed" + # else + # wget https://github.com/macports/macports-base/releases/download/v2.7.2/MacPorts-2.7.2-12-Monterey.pkg + # sudo installer -pkg ./MacPorts-2.7.2-12-Monterey.pkg -target / + # fi + # echo "/opt/local/bin:/opt/local/sbin" >> $GITHUB_PATH + # - name: Install dependencies + # if: ${{ !vars.MAC_RUNNER }} + # run: | + # brew uninstall --ignore-dependencies libpng + # sudo port install $(cat .github/workflows/macports-deps.txt) + # brew install ninja + # - name: Build SoH + # run: | + # export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" + # cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" + # cmake --build build-cmake --config Release --target ZAPD + # ./build-cmake/ZAPD/ZAPD.out botr -se OTR --norom + # cmake --build build-cmake --config Release --parallel 10 + # (cd build-cmake && cpack) - mv _packages/*.dmg SoH.dmg - mv README.md readme.txt - - name: Upload build - uses: actions/upload-artifact@v3 - with: - name: soh-mac - path: | - SoH.dmg - readme.txt - build-linux: - strategy: - fail-fast: true - matrix: - include: - - os: ubuntu-20.04 - gcc: 10 - archive-suffix: compatibility - - os: ubuntu-22.04 - gcc: 12 - archive-suffix: performance - runs-on: ${{ (matrix.os == 'ubuntu-20.04' && ((vars.LINUX_COMPATIBILITY_RUNNER && fromJSON(vars.LINUX_COMPATIBILITY_RUNNER)) || matrix.os)) || (matrix.os == 'ubuntu-22.04' && ((vars.LINUX_PERFORMANCE_RUNNER && fromJSON(vars.LINUX_PERFORMANCE_RUNNER)) || matrix.os)) }} - steps: - - uses: actions/checkout@v3 - with: - submodules: true - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y $(cat .github/workflows/apt-deps.txt) - - name: ccache - uses: hendrikmuhs/ccache-action@v1.2 - with: - key: ${{ matrix.os }}-ccache - - name: Install latest SDL - run: | - export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" - wget https://www.libsdl.org/release/SDL2-2.26.1.tar.gz - tar -xzf SDL2-2.26.1.tar.gz - cd SDL2-2.26.1 - ./configure - make -j 10 - sudo make install - sudo cp -av /usr/local/lib/libSDL* /lib/x86_64-linux-gnu/ - - name: Install latest SDL_net - run: | - export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" - wget https://www.libsdl.org/projects/SDL_net/release/SDL2_net-2.2.0.tar.gz - tar -xzf SDL2_net-2.2.0.tar.gz - cd SDL2_net-2.2.0 - ./configure - make -j 10 - sudo make install - sudo cp -av /usr/local/lib/libSDL* /lib/x86_64-linux-gnu/ - - name: Build SoH - run: | - export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" - cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release - cmake --build build-cmake --target OTRGui -j3 - cmake --build build-cmake --config Release --target ZAPD - ./build-cmake/ZAPD/ZAPD.out botr -se OTR --norom - cmake --build build-cmake --config Release -j3 - (cd build-cmake && cpack -G External) + # mv _packages/*.dmg SoH.dmg + # mv README.md readme.txt + # - name: Upload build + # uses: actions/upload-artifact@v3 + # with: + # name: soh-mac + # path: | + # SoH.dmg + # readme.txt + # build-linux: + # strategy: + # fail-fast: true + # matrix: + # include: + # - os: ubuntu-20.04 + # gcc: 10 + # archive-suffix: compatibility + # - os: ubuntu-22.04 + # gcc: 12 + # archive-suffix: performance + # runs-on: ${{ (matrix.os == 'ubuntu-20.04' && ((vars.LINUX_COMPATIBILITY_RUNNER && fromJSON(vars.LINUX_COMPATIBILITY_RUNNER)) || matrix.os)) || (matrix.os == 'ubuntu-22.04' && ((vars.LINUX_PERFORMANCE_RUNNER && fromJSON(vars.LINUX_PERFORMANCE_RUNNER)) || matrix.os)) }} + # steps: + # - uses: actions/checkout@v3 + # with: + # submodules: true + # - name: Install dependencies + # run: | + # sudo apt-get update + # sudo apt-get install -y $(cat .github/workflows/apt-deps.txt) + # - name: ccache + # uses: hendrikmuhs/ccache-action@v1.2 + # with: + # key: ${{ matrix.os }}-ccache + # - name: Install latest SDL + # run: | + # export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" + # wget https://www.libsdl.org/release/SDL2-2.26.1.tar.gz + # tar -xzf SDL2-2.26.1.tar.gz + # cd SDL2-2.26.1 + # ./configure + # make -j 10 + # sudo make install + # sudo cp -av /usr/local/lib/libSDL* /lib/x86_64-linux-gnu/ + # - name: Install latest SDL_net + # run: | + # export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" + # wget https://www.libsdl.org/projects/SDL_net/release/SDL2_net-2.2.0.tar.gz + # tar -xzf SDL2_net-2.2.0.tar.gz + # cd SDL2_net-2.2.0 + # ./configure + # make -j 10 + # sudo make install + # sudo cp -av /usr/local/lib/libSDL* /lib/x86_64-linux-gnu/ + # - name: Build SoH + # run: | + # export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" + # cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release + # cmake --build build-cmake --target OTRGui -j3 + # cmake --build build-cmake --config Release --target ZAPD + # ./build-cmake/ZAPD/ZAPD.out botr -se OTR --norom + # cmake --build build-cmake --config Release -j3 + # (cd build-cmake && cpack -G External) - mv README.md readme.txt - mv build-cmake/*.appimage soh.appimage - env: - CC: gcc-${{ matrix.gcc }} - CXX: g++-${{ matrix.gcc }} - - name: Upload build - uses: actions/upload-artifact@v3 - with: - name: soh-linux-${{ matrix.archive-suffix }} - path: | - soh.appimage - readme.txt - build-switch: - runs-on: ${{ (vars.LINUX_RUNNER && fromJSON(vars.LINUX_RUNNER)) || 'ubuntu-latest' }} - container: - image: devkitpro/devkita64:latest - steps: - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y ninja-build - - uses: actions/checkout@v3 - with: - submodules: true - - name: ccache - uses: hendrikmuhs/ccache-action@v1.2 - with: - key: ${{ runner.os }}-switch-ccache - - name: Build SoH - run: | - cmake -H. -Bbuild-switch -GNinja -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Switch.cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache - cmake --build build-switch --config Release --target ZAPD - COMMAND ./build-switch/ZAPD/ZAPD.out botr -se OTR --norom - cmake --build build-switch --target soh_nro -j3 + # mv README.md readme.txt + # mv build-cmake/*.appimage soh.appimage + # env: + # CC: gcc-${{ matrix.gcc }} + # CXX: g++-${{ matrix.gcc }} + # - name: Upload build + # uses: actions/upload-artifact@v3 + # with: + # name: soh-linux-${{ matrix.archive-suffix }} + # path: | + # soh.appimage + # readme.txt + # build-switch: + # runs-on: ${{ (vars.LINUX_RUNNER && fromJSON(vars.LINUX_RUNNER)) || 'ubuntu-latest' }} + # container: + # image: devkitpro/devkita64:latest + # steps: + # - name: Install dependencies + # run: | + # sudo apt-get update + # sudo apt-get install -y ninja-build + # - uses: actions/checkout@v3 + # with: + # submodules: true + # - name: ccache + # uses: hendrikmuhs/ccache-action@v1.2 + # with: + # key: ${{ runner.os }}-switch-ccache + # - name: Build SoH + # run: | + # cmake -H. -Bbuild-switch -GNinja -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Switch.cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache + # cmake --build build-switch --config Release --target ZAPD + # COMMAND ./build-switch/ZAPD/ZAPD.out botr -se OTR --norom + # cmake --build build-switch --target soh_nro -j3 - mv build-switch/soh/*.nro soh.nro - mv build-switch/soh/soh.otr soh.otr - mv README.md readme.txt - - name: Upload build - uses: actions/upload-artifact@v3 - with: - name: soh-switch - path: | - soh.nro - readme.txt - build-wiiu: - runs-on: ${{ (vars.LINUX_RUNNER && fromJSON(vars.LINUX_RUNNER)) || 'ubuntu-latest' }} - container: - image: devkitpro/devkitppc:latest - steps: - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y ninja-build - - uses: actions/checkout@v3 - with: - submodules: true - - name: ccache - uses: hendrikmuhs/ccache-action@v1.2 - with: - key: ${{ runner.os }}-wiiu-ccache - - name: Build SoH - run: | - cmake -H. -Bbuild-wiiu -GNinja -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/WiiU.cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache - cmake --build build-wiiu --config Release --target ZAPD - COMMAND ./build-wiiu/ZAPD/ZAPD.out botr -se OTR --norom - cmake --build build-wiiu --target soh_wuhb --config Release -j3 + # mv build-switch/soh/*.nro soh.nro + # mv build-switch/soh/soh.otr soh.otr + # mv README.md readme.txt + # - name: Upload build + # uses: actions/upload-artifact@v3 + # with: + # name: soh-switch + # path: | + # soh.nro + # readme.txt + # build-wiiu: + # runs-on: ${{ (vars.LINUX_RUNNER && fromJSON(vars.LINUX_RUNNER)) || 'ubuntu-latest' }} + # container: + # image: devkitpro/devkitppc:latest + # steps: + # - name: Install dependencies + # run: | + # sudo apt-get update + # sudo apt-get install -y ninja-build + # - uses: actions/checkout@v3 + # with: + # submodules: true + # - name: ccache + # uses: hendrikmuhs/ccache-action@v1.2 + # with: + # key: ${{ runner.os }}-wiiu-ccache + # - name: Build SoH + # run: | + # cmake -H. -Bbuild-wiiu -GNinja -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/WiiU.cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache + # cmake --build build-wiiu --config Release --target ZAPD + # COMMAND ./build-wiiu/ZAPD/ZAPD.out botr -se OTR --norom + # cmake --build build-wiiu --target soh_wuhb --config Release -j3 - mv build-wiiu/soh/*.rpx soh.rpx - mv build-wiiu/soh/*.wuhb soh.wuhb - mv build-wiiu/soh/soh.otr soh.otr - mv README.md readme.txt - env: - DEVKITPRO: /opt/devkitpro - DEVKITPPC: /opt/devkitpro/devkitPPC - - name: Upload build - uses: actions/upload-artifact@v3 - with: - name: soh-wiiu - path: | - soh.rpx - soh.wuhb - readme.txt - build-windows: - runs-on: ${{ (vars.WINDOWS_RUNNER && fromJSON(vars.WINDOWS_RUNNER)) || 'windows-latest' }} - steps: - - name: Install dependencies - if: ${{ !vars.WINDOWS_RUNNER }} - run: | - choco install ninja - Remove-Item -Path "C:\ProgramData\Chocolatey\bin\ccache.exe" -Force - - uses: actions/checkout@v3 - with: - submodules: true - - name: ccache - uses: dcvz/ccache-action@27b9f33213c0079872f064f6b6ba0233dfa16ba2 - with: - key: ${{ runner.os }}-ccache - - uses: ilammy/msvc-dev-cmd@v1 - - name: Setup 7-Zip - run: | - "C:\Program Files\7-Zip" >> $env:GITHUB_PATH - - name: Build SoH - run: | - set $env:PATH="$env:USERPROFILE/.cargo/bin;$env:PATH" - cmake -S . -B build-windows -G Ninja -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache - cmake --build build-windows --target OTRGui --config Release --parallel 10 - cmake --build build-windows --config Release --target ZAPD - COMMAND ./build-windows/ZAPD/ZAPD.exe botr -se OTR --norom - cmake --build build-windows --config Release --parallel 10 - cd build-windows - cpack -G ZIP - - name: Upload build - uses: actions/upload-artifact@v3 - with: - name: soh-windows - path: _packages/*.zip + # mv build-wiiu/soh/*.rpx soh.rpx + # mv build-wiiu/soh/*.wuhb soh.wuhb + # mv build-wiiu/soh/soh.otr soh.otr + # mv README.md readme.txt + # env: + # DEVKITPRO: /opt/devkitpro + # DEVKITPPC: /opt/devkitpro/devkitPPC + # - name: Upload build + # uses: actions/upload-artifact@v3 + # with: + # name: soh-wiiu + # path: | + # soh.rpx + # soh.wuhb + # readme.txt + # build-windows: + # runs-on: ${{ (vars.WINDOWS_RUNNER && fromJSON(vars.WINDOWS_RUNNER)) || 'windows-latest' }} + # steps: + # - name: Install dependencies + # if: ${{ !vars.WINDOWS_RUNNER }} + # run: | + # choco install ninja + # Remove-Item -Path "C:\ProgramData\Chocolatey\bin\ccache.exe" -Force + # - uses: actions/checkout@v3 + # with: + # submodules: true + # - name: ccache + # uses: dcvz/ccache-action@27b9f33213c0079872f064f6b6ba0233dfa16ba2 + # with: + # key: ${{ runner.os }}-ccache + # - uses: ilammy/msvc-dev-cmd@v1 + # - name: Setup 7-Zip + # run: | + # "C:\Program Files\7-Zip" >> $env:GITHUB_PATH + # - name: Build SoH + # run: | + # set $env:PATH="$env:USERPROFILE/.cargo/bin;$env:PATH" + # cmake -S . -B build-windows -G Ninja -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache + # cmake --build build-windows --target OTRGui --config Release --parallel 10 + # cmake --build build-windows --config Release --target ZAPD + # COMMAND ./build-windows/ZAPD/ZAPD.exe botr -se OTR --norom + # cmake --build build-windows --config Release --parallel 10 + # cd build-windows + # cpack -G ZIP + # - name: Upload build + # uses: actions/upload-artifact@v3 + # with: + # name: soh-windows + # path: _packages/*.zip From 0790e6e07a863d7d50a5713d9355dd2fd199f6e7 Mon Sep 17 00:00:00 2001 From: briaguya Date: Tue, 11 Apr 2023 22:00:48 -0400 Subject: [PATCH 10/51] deps --- .github/workflows/generate-builds.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 1c4df527022..d53ff3e6eae 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -12,6 +12,10 @@ jobs: - uses: actions/checkout@v3 with: submodules: true + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y $(cat .github/workflows/apt-deps.txt) - name: Generate soh.otr run: | cmake --build build-cmake --config Release --target ZAPD From 0e89ac84fab3dc595a954b594daf0f5ad5f3c4b6 Mon Sep 17 00:00:00 2001 From: briaguya Date: Tue, 11 Apr 2023 22:03:25 -0400 Subject: [PATCH 11/51] f --- .github/workflows/generate-builds.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index d53ff3e6eae..3561b63043b 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -19,8 +19,9 @@ jobs: - name: Generate soh.otr run: | cmake --build build-cmake --config Release --target ZAPD - ./build-cmake/ZAPD/ZAPD.out botr -se OTR --norom ls + # ./build-cmake/ZAPD/ZAPD.out botr -se OTR --norom + # ls # zip -r assets.zip soh/assets # - uses: actions/upload-artifact@v3 # with: From 31fabaec17a6a790a75b35a4b2f75fb1de3e9882 Mon Sep 17 00:00:00 2001 From: briaguya Date: Tue, 11 Apr 2023 22:07:42 -0400 Subject: [PATCH 12/51] g --- .github/workflows/generate-builds.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 3561b63043b..d5096356219 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -18,6 +18,7 @@ jobs: sudo apt-get install -y $(cat .github/workflows/apt-deps.txt) - name: Generate soh.otr run: | + cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release cmake --build build-cmake --config Release --target ZAPD ls # ./build-cmake/ZAPD/ZAPD.out botr -se OTR --norom From b261446260449bb649daa52e085b81a3f01f4f6f Mon Sep 17 00:00:00 2001 From: briaguya Date: Tue, 11 Apr 2023 22:12:01 -0400 Subject: [PATCH 13/51] h --- .github/workflows/generate-builds.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index d5096356219..5255cd2bc55 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -16,6 +16,26 @@ jobs: run: | sudo apt-get update sudo apt-get install -y $(cat .github/workflows/apt-deps.txt) + - name: Install latest SDL + run: | + export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" + wget https://www.libsdl.org/release/SDL2-2.26.1.tar.gz + tar -xzf SDL2-2.26.1.tar.gz + cd SDL2-2.26.1 + ./configure + make -j 10 + sudo make install + sudo cp -av /usr/local/lib/libSDL* /lib/x86_64-linux-gnu/ + - name: Install latest SDL_net + run: | + export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" + wget https://www.libsdl.org/projects/SDL_net/release/SDL2_net-2.2.0.tar.gz + tar -xzf SDL2_net-2.2.0.tar.gz + cd SDL2_net-2.2.0 + ./configure + make -j 10 + sudo make install + sudo cp -av /usr/local/lib/libSDL* /lib/x86_64-linux-gnu/ - name: Generate soh.otr run: | cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release From 6ec4d664114467f095bb9ad74b09f25e8f4b62ef Mon Sep 17 00:00:00 2001 From: briaguya Date: Tue, 11 Apr 2023 22:21:44 -0400 Subject: [PATCH 14/51] a --- .github/workflows/generate-builds.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 5255cd2bc55..2e55fbf9602 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -40,9 +40,9 @@ jobs: run: | cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release cmake --build build-cmake --config Release --target ZAPD + ./build-cmake/ZAPD/ZAPD.out botr -se OTR --norom + cd build-cmake ls - # ./build-cmake/ZAPD/ZAPD.out botr -se OTR --norom - # ls # zip -r assets.zip soh/assets # - uses: actions/upload-artifact@v3 # with: From 41c8887e87ac1dd84e0bea32a870f7149beec6e8 Mon Sep 17 00:00:00 2001 From: briaguya Date: Tue, 11 Apr 2023 22:28:08 -0400 Subject: [PATCH 15/51] cc --- .github/workflows/generate-builds.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 2e55fbf9602..bdd146fecfb 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -12,6 +12,10 @@ jobs: - uses: actions/checkout@v3 with: submodules: true + - name: ccache + uses: hendrikmuhs/ccache-action@v1.2 + with: + key: ${{ runner.os }}-soh-otr-ccache - name: Install dependencies run: | sudo apt-get update From 3036d9441d0c22e56c730444ab67d719227fccf4 Mon Sep 17 00:00:00 2001 From: briaguya Date: Tue, 11 Apr 2023 22:31:10 -0400 Subject: [PATCH 16/51] ccc --- .github/workflows/generate-builds.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index bdd146fecfb..32f252996fc 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -42,6 +42,7 @@ jobs: sudo cp -av /usr/local/lib/libSDL* /lib/x86_64-linux-gnu/ - name: Generate soh.otr run: | + export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release cmake --build build-cmake --config Release --target ZAPD ./build-cmake/ZAPD/ZAPD.out botr -se OTR --norom From 9273b52a438513d08723f492e16af7edcdb415ff Mon Sep 17 00:00:00 2001 From: briaguya Date: Tue, 11 Apr 2023 22:41:25 -0400 Subject: [PATCH 17/51] m --- .github/workflows/generate-builds.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 32f252996fc..81af688c25a 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -46,6 +46,7 @@ jobs: cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release cmake --build build-cmake --config Release --target ZAPD ./build-cmake/ZAPD/ZAPD.out botr -se OTR --norom + ls cd build-cmake ls # zip -r assets.zip soh/assets From 9ebf438e650808c0ecdbe1492252d80a847e7456 Mon Sep 17 00:00:00 2001 From: briaguya Date: Tue, 11 Apr 2023 22:44:07 -0400 Subject: [PATCH 18/51] blarg --- .github/workflows/generate-builds.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 81af688c25a..cc109531175 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -47,6 +47,7 @@ jobs: cmake --build build-cmake --config Release --target ZAPD ./build-cmake/ZAPD/ZAPD.out botr -se OTR --norom ls + echo blarg cd build-cmake ls # zip -r assets.zip soh/assets From 2ff9e692225a0493bb438689fabcfb127459b444 Mon Sep 17 00:00:00 2001 From: briaguya Date: Tue, 11 Apr 2023 22:47:43 -0400 Subject: [PATCH 19/51] try uploading --- .github/workflows/generate-builds.yml | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index cc109531175..af3ece32c8a 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -46,16 +46,11 @@ jobs: cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release cmake --build build-cmake --config Release --target ZAPD ./build-cmake/ZAPD/ZAPD.out botr -se OTR --norom - ls - echo blarg - cd build-cmake - ls - # zip -r assets.zip soh/assets - # - uses: actions/upload-artifact@v3 - # with: - # name: assets - # path: assets.zip - # retention-days: 1 + - uses: actions/upload-artifact@v3 + with: + name: soh.otr + path: soh.otr + retention-days: 1 # build-macos: # runs-on: ${{ (vars.MAC_RUNNER && fromJSON(vars.MAC_RUNNER)) || 'macos-12' }} # steps: From 3e9ee9ff263d25a05d66ed4f6580710afaf412c6 Mon Sep 17 00:00:00 2001 From: briaguya Date: Tue, 11 Apr 2023 23:44:33 -0400 Subject: [PATCH 20/51] try --- .github/workflows/generate-builds.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index af3ece32c8a..296cd5074ed 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -45,11 +45,12 @@ jobs: export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release cmake --build build-cmake --config Release --target ZAPD - ./build-cmake/ZAPD/ZAPD.out botr -se OTR --norom + cd OTRExporter + ../build-cmake/ZAPD/ZAPD.out botr -se OTR --norom - uses: actions/upload-artifact@v3 with: name: soh.otr - path: soh.otr + path: OTRExporter/soh.otr retention-days: 1 # build-macos: # runs-on: ${{ (vars.MAC_RUNNER && fromJSON(vars.MAC_RUNNER)) || 'macos-12' }} From 75ca4417158b3ccdb4abf89626a33fbb1e73bdc2 Mon Sep 17 00:00:00 2001 From: briaguya Date: Tue, 11 Apr 2023 23:49:41 -0400 Subject: [PATCH 21/51] s --- .github/workflows/generate-builds.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 296cd5074ed..29c5a595e21 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -46,7 +46,10 @@ jobs: cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release cmake --build build-cmake --config Release --target ZAPD cd OTRExporter + ls + echo doing the build thing ../build-cmake/ZAPD/ZAPD.out botr -se OTR --norom + ls - uses: actions/upload-artifact@v3 with: name: soh.otr From 428b86c54978bc5558d9f66ea02bcf5af7aaef79 Mon Sep 17 00:00:00 2001 From: briaguya Date: Tue, 11 Apr 2023 23:58:15 -0400 Subject: [PATCH 22/51] copy things --- .github/workflows/generate-builds.yml | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 29c5a595e21..08a754a03f2 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -45,15 +45,13 @@ jobs: export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release cmake --build build-cmake --config Release --target ZAPD - cd OTRExporter - ls - echo doing the build thing - ../build-cmake/ZAPD/ZAPD.out botr -se OTR --norom - ls + mkdir Extract + cp -r OTRExporter/assets/ ./Extract/assets + ./build-cmake/ZAPD/ZAPD.out botr -se OTR --norom - uses: actions/upload-artifact@v3 with: name: soh.otr - path: OTRExporter/soh.otr + path: soh.otr retention-days: 1 # build-macos: # runs-on: ${{ (vars.MAC_RUNNER && fromJSON(vars.MAC_RUNNER)) || 'macos-12' }} From 898fb17e7a2242e3d2fabb7c6aa4b0ce73627d7e Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 00:09:56 -0400 Subject: [PATCH 23/51] wii u? --- .github/workflows/generate-builds.yml | 462 +++++++++++++------------- 1 file changed, 236 insertions(+), 226 deletions(-) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 08a754a03f2..c35c94d9d5b 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -53,233 +53,243 @@ jobs: name: soh.otr path: soh.otr retention-days: 1 - # build-macos: - # runs-on: ${{ (vars.MAC_RUNNER && fromJSON(vars.MAC_RUNNER)) || 'macos-12' }} - # steps: - # - uses: actions/checkout@v3 - # with: - # submodules: true - # - name: ccache - # uses: hendrikmuhs/ccache-action@v1.2 - # with: - # key: ${{ runner.os }}-ccache - # - name: Install gtar wrapper - # if: ${{ !vars.MAC_RUNNER }} - # run: | - # sudo mv /usr/local/bin/gtar /usr/local/bin/gtar.orig - # sudo cp .github/workflows//gtar /usr/local/bin/gtar - # sudo chmod +x /usr/local/bin/gtar - # - name: Cache MacPorts - # id: cache-macports - # if: ${{ !vars.MAC_RUNNER }} - # uses: actions/cache@v2 - # with: - # path: /opt/local/ - # key: ${{ runner.os }}-macports-${{ hashFiles('.github/workflows/macports-deps.txt') }} - # restore-keys: | - # ${{ runner.os }}-macports- - # - name: Install MacPorts (if necessary) - # if: ${{ !vars.MAC_RUNNER }} - # run: | - # if [ -d /opt/local/ ]; then - # echo "MacPorts already installed" - # else - # wget https://github.com/macports/macports-base/releases/download/v2.7.2/MacPorts-2.7.2-12-Monterey.pkg - # sudo installer -pkg ./MacPorts-2.7.2-12-Monterey.pkg -target / - # fi - # echo "/opt/local/bin:/opt/local/sbin" >> $GITHUB_PATH - # - name: Install dependencies - # if: ${{ !vars.MAC_RUNNER }} - # run: | - # brew uninstall --ignore-dependencies libpng - # sudo port install $(cat .github/workflows/macports-deps.txt) - # brew install ninja - # - name: Build SoH - # run: | - # export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" - # cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" - # cmake --build build-cmake --config Release --target ZAPD - # ./build-cmake/ZAPD/ZAPD.out botr -se OTR --norom - # cmake --build build-cmake --config Release --parallel 10 - # (cd build-cmake && cpack) + build-macos: + needs: generate-soh-otr + runs-on: ${{ (vars.MAC_RUNNER && fromJSON(vars.MAC_RUNNER)) || 'macos-12' }} + steps: + - uses: actions/checkout@v3 + with: + submodules: true + - name: ccache + uses: hendrikmuhs/ccache-action@v1.2 + with: + key: ${{ runner.os }}-ccache + - name: Install gtar wrapper + if: ${{ !vars.MAC_RUNNER }} + run: | + sudo mv /usr/local/bin/gtar /usr/local/bin/gtar.orig + sudo cp .github/workflows//gtar /usr/local/bin/gtar + sudo chmod +x /usr/local/bin/gtar + - name: Cache MacPorts + id: cache-macports + if: ${{ !vars.MAC_RUNNER }} + uses: actions/cache@v2 + with: + path: /opt/local/ + key: ${{ runner.os }}-macports-${{ hashFiles('.github/workflows/macports-deps.txt') }} + restore-keys: | + ${{ runner.os }}-macports- + - name: Install MacPorts (if necessary) + if: ${{ !vars.MAC_RUNNER }} + run: | + if [ -d /opt/local/ ]; then + echo "MacPorts already installed" + else + wget https://github.com/macports/macports-base/releases/download/v2.7.2/MacPorts-2.7.2-12-Monterey.pkg + sudo installer -pkg ./MacPorts-2.7.2-12-Monterey.pkg -target / + fi + echo "/opt/local/bin:/opt/local/sbin" >> $GITHUB_PATH + - name: Install dependencies + if: ${{ !vars.MAC_RUNNER }} + run: | + brew uninstall --ignore-dependencies libpng + sudo port install $(cat .github/workflows/macports-deps.txt) + brew install ninja + - name: Build SoH + run: | + export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" + cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" + cmake --build build-cmake --config Release --target ZAPD + ./build-cmake/ZAPD/ZAPD.out botr -se OTR --norom + cmake --build build-cmake --config Release --parallel 10 + (cd build-cmake && cpack) - # mv _packages/*.dmg SoH.dmg - # mv README.md readme.txt - # - name: Upload build - # uses: actions/upload-artifact@v3 - # with: - # name: soh-mac - # path: | - # SoH.dmg - # readme.txt - # build-linux: - # strategy: - # fail-fast: true - # matrix: - # include: - # - os: ubuntu-20.04 - # gcc: 10 - # archive-suffix: compatibility - # - os: ubuntu-22.04 - # gcc: 12 - # archive-suffix: performance - # runs-on: ${{ (matrix.os == 'ubuntu-20.04' && ((vars.LINUX_COMPATIBILITY_RUNNER && fromJSON(vars.LINUX_COMPATIBILITY_RUNNER)) || matrix.os)) || (matrix.os == 'ubuntu-22.04' && ((vars.LINUX_PERFORMANCE_RUNNER && fromJSON(vars.LINUX_PERFORMANCE_RUNNER)) || matrix.os)) }} - # steps: - # - uses: actions/checkout@v3 - # with: - # submodules: true - # - name: Install dependencies - # run: | - # sudo apt-get update - # sudo apt-get install -y $(cat .github/workflows/apt-deps.txt) - # - name: ccache - # uses: hendrikmuhs/ccache-action@v1.2 - # with: - # key: ${{ matrix.os }}-ccache - # - name: Install latest SDL - # run: | - # export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" - # wget https://www.libsdl.org/release/SDL2-2.26.1.tar.gz - # tar -xzf SDL2-2.26.1.tar.gz - # cd SDL2-2.26.1 - # ./configure - # make -j 10 - # sudo make install - # sudo cp -av /usr/local/lib/libSDL* /lib/x86_64-linux-gnu/ - # - name: Install latest SDL_net - # run: | - # export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" - # wget https://www.libsdl.org/projects/SDL_net/release/SDL2_net-2.2.0.tar.gz - # tar -xzf SDL2_net-2.2.0.tar.gz - # cd SDL2_net-2.2.0 - # ./configure - # make -j 10 - # sudo make install - # sudo cp -av /usr/local/lib/libSDL* /lib/x86_64-linux-gnu/ - # - name: Build SoH - # run: | - # export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" - # cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release - # cmake --build build-cmake --target OTRGui -j3 - # cmake --build build-cmake --config Release --target ZAPD - # ./build-cmake/ZAPD/ZAPD.out botr -se OTR --norom - # cmake --build build-cmake --config Release -j3 - # (cd build-cmake && cpack -G External) + mv _packages/*.dmg SoH.dmg + mv README.md readme.txt + - name: Upload build + uses: actions/upload-artifact@v3 + with: + name: soh-mac + path: | + SoH.dmg + readme.txt + build-linux: + needs: generate-soh-otr + strategy: + fail-fast: true + matrix: + include: + - os: ubuntu-20.04 + gcc: 10 + archive-suffix: compatibility + - os: ubuntu-22.04 + gcc: 12 + archive-suffix: performance + runs-on: ${{ (matrix.os == 'ubuntu-20.04' && ((vars.LINUX_COMPATIBILITY_RUNNER && fromJSON(vars.LINUX_COMPATIBILITY_RUNNER)) || matrix.os)) || (matrix.os == 'ubuntu-22.04' && ((vars.LINUX_PERFORMANCE_RUNNER && fromJSON(vars.LINUX_PERFORMANCE_RUNNER)) || matrix.os)) }} + steps: + - uses: actions/checkout@v3 + with: + submodules: true + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y $(cat .github/workflows/apt-deps.txt) + - name: ccache + uses: hendrikmuhs/ccache-action@v1.2 + with: + key: ${{ matrix.os }}-ccache + - name: Install latest SDL + run: | + export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" + wget https://www.libsdl.org/release/SDL2-2.26.1.tar.gz + tar -xzf SDL2-2.26.1.tar.gz + cd SDL2-2.26.1 + ./configure + make -j 10 + sudo make install + sudo cp -av /usr/local/lib/libSDL* /lib/x86_64-linux-gnu/ + - name: Install latest SDL_net + run: | + export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" + wget https://www.libsdl.org/projects/SDL_net/release/SDL2_net-2.2.0.tar.gz + tar -xzf SDL2_net-2.2.0.tar.gz + cd SDL2_net-2.2.0 + ./configure + make -j 10 + sudo make install + sudo cp -av /usr/local/lib/libSDL* /lib/x86_64-linux-gnu/ + - name: Build SoH + run: | + export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" + cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release + cmake --build build-cmake --target OTRGui -j3 + cmake --build build-cmake --config Release --target ZAPD + ./build-cmake/ZAPD/ZAPD.out botr -se OTR --norom + cmake --build build-cmake --config Release -j3 + (cd build-cmake && cpack -G External) - # mv README.md readme.txt - # mv build-cmake/*.appimage soh.appimage - # env: - # CC: gcc-${{ matrix.gcc }} - # CXX: g++-${{ matrix.gcc }} - # - name: Upload build - # uses: actions/upload-artifact@v3 - # with: - # name: soh-linux-${{ matrix.archive-suffix }} - # path: | - # soh.appimage - # readme.txt - # build-switch: - # runs-on: ${{ (vars.LINUX_RUNNER && fromJSON(vars.LINUX_RUNNER)) || 'ubuntu-latest' }} - # container: - # image: devkitpro/devkita64:latest - # steps: - # - name: Install dependencies - # run: | - # sudo apt-get update - # sudo apt-get install -y ninja-build - # - uses: actions/checkout@v3 - # with: - # submodules: true - # - name: ccache - # uses: hendrikmuhs/ccache-action@v1.2 - # with: - # key: ${{ runner.os }}-switch-ccache - # - name: Build SoH - # run: | - # cmake -H. -Bbuild-switch -GNinja -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Switch.cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache - # cmake --build build-switch --config Release --target ZAPD - # COMMAND ./build-switch/ZAPD/ZAPD.out botr -se OTR --norom - # cmake --build build-switch --target soh_nro -j3 + mv README.md readme.txt + mv build-cmake/*.appimage soh.appimage + env: + CC: gcc-${{ matrix.gcc }} + CXX: g++-${{ matrix.gcc }} + - name: Upload build + uses: actions/upload-artifact@v3 + with: + name: soh-linux-${{ matrix.archive-suffix }} + path: | + soh.appimage + readme.txt + build-switch: + needs: generate-soh-otr + runs-on: ${{ (vars.LINUX_RUNNER && fromJSON(vars.LINUX_RUNNER)) || 'ubuntu-latest' }} + container: + image: devkitpro/devkita64:latest + steps: + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y ninja-build + - uses: actions/checkout@v3 + with: + submodules: true + - name: ccache + uses: hendrikmuhs/ccache-action@v1.2 + with: + key: ${{ runner.os }}-switch-ccache + - name: Build SoH + run: | + cmake -H. -Bbuild-switch -GNinja -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Switch.cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache + cmake --build build-switch --config Release --target ZAPD + COMMAND ./build-switch/ZAPD/ZAPD.out botr -se OTR --norom + cmake --build build-switch --target soh_nro -j3 - # mv build-switch/soh/*.nro soh.nro - # mv build-switch/soh/soh.otr soh.otr - # mv README.md readme.txt - # - name: Upload build - # uses: actions/upload-artifact@v3 - # with: - # name: soh-switch - # path: | - # soh.nro - # readme.txt - # build-wiiu: - # runs-on: ${{ (vars.LINUX_RUNNER && fromJSON(vars.LINUX_RUNNER)) || 'ubuntu-latest' }} - # container: - # image: devkitpro/devkitppc:latest - # steps: - # - name: Install dependencies - # run: | - # sudo apt-get update - # sudo apt-get install -y ninja-build - # - uses: actions/checkout@v3 - # with: - # submodules: true - # - name: ccache - # uses: hendrikmuhs/ccache-action@v1.2 - # with: - # key: ${{ runner.os }}-wiiu-ccache - # - name: Build SoH - # run: | - # cmake -H. -Bbuild-wiiu -GNinja -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/WiiU.cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache - # cmake --build build-wiiu --config Release --target ZAPD - # COMMAND ./build-wiiu/ZAPD/ZAPD.out botr -se OTR --norom - # cmake --build build-wiiu --target soh_wuhb --config Release -j3 + mv build-switch/soh/*.nro soh.nro + mv build-switch/soh/soh.otr soh.otr + mv README.md readme.txt + - name: Upload build + uses: actions/upload-artifact@v3 + with: + name: soh-switch + path: | + soh.nro + readme.txt + build-wiiu: + needs: generate-soh-otr + runs-on: ${{ (vars.LINUX_RUNNER && fromJSON(vars.LINUX_RUNNER)) || 'ubuntu-latest' }} + container: + image: devkitpro/devkitppc:latest + steps: + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y ninja-build + - uses: actions/checkout@v3 + with: + submodules: true + - name: ccache + uses: hendrikmuhs/ccache-action@v1.2 + with: + key: ${{ runner.os }}-wiiu-ccache + - name: Build SoH + run: | + cmake -H. -Bbuild-wiiu -GNinja -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/WiiU.cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache + cmake --build build-wiiu --config Release --target ZAPD + COMMAND ./build-wiiu/ZAPD/ZAPD.out botr -se OTR --norom + cmake --build build-wiiu --target soh_wuhb --config Release -j3 - # mv build-wiiu/soh/*.rpx soh.rpx - # mv build-wiiu/soh/*.wuhb soh.wuhb - # mv build-wiiu/soh/soh.otr soh.otr - # mv README.md readme.txt - # env: - # DEVKITPRO: /opt/devkitpro - # DEVKITPPC: /opt/devkitpro/devkitPPC - # - name: Upload build - # uses: actions/upload-artifact@v3 - # with: - # name: soh-wiiu - # path: | - # soh.rpx - # soh.wuhb - # readme.txt - # build-windows: - # runs-on: ${{ (vars.WINDOWS_RUNNER && fromJSON(vars.WINDOWS_RUNNER)) || 'windows-latest' }} - # steps: - # - name: Install dependencies - # if: ${{ !vars.WINDOWS_RUNNER }} - # run: | - # choco install ninja - # Remove-Item -Path "C:\ProgramData\Chocolatey\bin\ccache.exe" -Force - # - uses: actions/checkout@v3 - # with: - # submodules: true - # - name: ccache - # uses: dcvz/ccache-action@27b9f33213c0079872f064f6b6ba0233dfa16ba2 - # with: - # key: ${{ runner.os }}-ccache - # - uses: ilammy/msvc-dev-cmd@v1 - # - name: Setup 7-Zip - # run: | - # "C:\Program Files\7-Zip" >> $env:GITHUB_PATH - # - name: Build SoH - # run: | - # set $env:PATH="$env:USERPROFILE/.cargo/bin;$env:PATH" - # cmake -S . -B build-windows -G Ninja -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache - # cmake --build build-windows --target OTRGui --config Release --parallel 10 - # cmake --build build-windows --config Release --target ZAPD - # COMMAND ./build-windows/ZAPD/ZAPD.exe botr -se OTR --norom - # cmake --build build-windows --config Release --parallel 10 - # cd build-windows - # cpack -G ZIP - # - name: Upload build - # uses: actions/upload-artifact@v3 - # with: - # name: soh-windows - # path: _packages/*.zip + mv build-wiiu/soh/*.rpx soh.rpx + mv build-wiiu/soh/*.wuhb soh.wuhb + mv build-wiiu/soh/soh.otr soh.otr + mv README.md readme.txt + env: + DEVKITPRO: /opt/devkitpro + DEVKITPPC: /opt/devkitpro/devkitPPC + - name: Download soh.otr + uses: actions/download-artifact@v3 + with: + name: soh.otr + - name: Upload build + uses: actions/upload-artifact@v3 + with: + name: soh-wiiu + path: | + soh.rpx + soh.wuhb + soh.otr + readme.txt + build-windows: + needs: generate-soh-otr + runs-on: ${{ (vars.WINDOWS_RUNNER && fromJSON(vars.WINDOWS_RUNNER)) || 'windows-latest' }} + steps: + - name: Install dependencies + if: ${{ !vars.WINDOWS_RUNNER }} + run: | + choco install ninja + Remove-Item -Path "C:\ProgramData\Chocolatey\bin\ccache.exe" -Force + - uses: actions/checkout@v3 + with: + submodules: true + - name: ccache + uses: dcvz/ccache-action@27b9f33213c0079872f064f6b6ba0233dfa16ba2 + with: + key: ${{ runner.os }}-ccache + - uses: ilammy/msvc-dev-cmd@v1 + - name: Setup 7-Zip + run: | + "C:\Program Files\7-Zip" >> $env:GITHUB_PATH + - name: Build SoH + run: | + set $env:PATH="$env:USERPROFILE/.cargo/bin;$env:PATH" + cmake -S . -B build-windows -G Ninja -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache + cmake --build build-windows --target OTRGui --config Release --parallel 10 + cmake --build build-windows --config Release --target ZAPD + COMMAND ./build-windows/ZAPD/ZAPD.exe botr -se OTR --norom + cmake --build build-windows --config Release --parallel 10 + cd build-windows + cpack -G ZIP + - name: Upload build + uses: actions/upload-artifact@v3 + with: + name: soh-windows + path: _packages/*.zip From ebe76ec10e7c6cb3867ed0601ac7b3c88227d3f9 Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 00:14:19 -0400 Subject: [PATCH 24/51] wiiu --- .github/workflows/generate-builds.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index c35c94d9d5b..83832203610 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -234,8 +234,6 @@ jobs: - name: Build SoH run: | cmake -H. -Bbuild-wiiu -GNinja -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/WiiU.cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache - cmake --build build-wiiu --config Release --target ZAPD - COMMAND ./build-wiiu/ZAPD/ZAPD.out botr -se OTR --norom cmake --build build-wiiu --target soh_wuhb --config Release -j3 mv build-wiiu/soh/*.rpx soh.rpx From 515e11ed83412dd19655457d276eb79dd209b4ad Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 00:36:05 -0400 Subject: [PATCH 25/51] don't fail --- .github/workflows/generate-builds.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 83832203610..2c0472677ee 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -238,7 +238,6 @@ jobs: mv build-wiiu/soh/*.rpx soh.rpx mv build-wiiu/soh/*.wuhb soh.wuhb - mv build-wiiu/soh/soh.otr soh.otr mv README.md readme.txt env: DEVKITPRO: /opt/devkitpro From d2359c07453af92b09bad98898539d7c5b0673b6 Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 01:12:01 -0400 Subject: [PATCH 26/51] windows without cpack? --- .github/workflows/generate-builds.yml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 2c0472677ee..0f2a62f8f94 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -272,21 +272,14 @@ jobs: with: key: ${{ runner.os }}-ccache - uses: ilammy/msvc-dev-cmd@v1 - - name: Setup 7-Zip - run: | - "C:\Program Files\7-Zip" >> $env:GITHUB_PATH - name: Build SoH run: | set $env:PATH="$env:USERPROFILE/.cargo/bin;$env:PATH" cmake -S . -B build-windows -G Ninja -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache cmake --build build-windows --target OTRGui --config Release --parallel 10 - cmake --build build-windows --config Release --target ZAPD - COMMAND ./build-windows/ZAPD/ZAPD.exe botr -se OTR --norom cmake --build build-windows --config Release --parallel 10 - cd build-windows - cpack -G ZIP - name: Upload build uses: actions/upload-artifact@v3 with: name: soh-windows - path: _packages/*.zip + path: build-windows From cdf45783541d74c6d64325efdec285e3f20d533f Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 01:34:40 -0400 Subject: [PATCH 27/51] wut --- .github/workflows/generate-builds.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 0f2a62f8f94..e3274d075ee 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -278,8 +278,9 @@ jobs: cmake -S . -B build-windows -G Ninja -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache cmake --build build-windows --target OTRGui --config Release --parallel 10 cmake --build build-windows --config Release --parallel 10 - - name: Upload build - uses: actions/upload-artifact@v3 - with: - name: soh-windows - path: build-windows + ls + # - name: Upload build + # uses: actions/upload-artifact@v3 + # with: + # name: soh-windows + # path: build-windows From 3292a455617d4719f253b3388561159922f69d0e Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 01:53:37 -0400 Subject: [PATCH 28/51] whoops --- .github/workflows/generate-builds.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index e3274d075ee..bce957a43b8 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -278,6 +278,7 @@ jobs: cmake -S . -B build-windows -G Ninja -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache cmake --build build-windows --target OTRGui --config Release --parallel 10 cmake --build build-windows --config Release --parallel 10 + cd build-windows ls # - name: Upload build # uses: actions/upload-artifact@v3 From 53df45a74590c5612e5748c294d85548282f4235 Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 02:16:29 -0400 Subject: [PATCH 29/51] see all the things plz --- .github/workflows/generate-builds.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index bce957a43b8..e74f5d218fa 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -278,8 +278,16 @@ jobs: cmake -S . -B build-windows -G Ninja -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache cmake --build build-windows --target OTRGui --config Release --parallel 10 cmake --build build-windows --config Release --parallel 10 + # mv build-windows/soh/*.rpx soh.rpx + # mv build-wiiu/soh/*.wuhb soh.wuhb + # mv README.md readme.txt cd build-windows ls + cd soh + ls + cd .. + cd OTRGui + ls # - name: Upload build # uses: actions/upload-artifact@v3 # with: From 6dd7912f5b0f660071f791f4a5af4fb7f854aa77 Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 02:19:55 -0400 Subject: [PATCH 30/51] b --- .github/workflows/generate-builds.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index e74f5d218fa..09430293936 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -278,9 +278,7 @@ jobs: cmake -S . -B build-windows -G Ninja -DCMAKE_MAKE_PROGRAM=ninja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache cmake --build build-windows --target OTRGui --config Release --parallel 10 cmake --build build-windows --config Release --parallel 10 - # mv build-windows/soh/*.rpx soh.rpx - # mv build-wiiu/soh/*.wuhb soh.wuhb - # mv README.md readme.txt + cd build-windows ls cd soh From 3364f43c01ae4c57477105bd205dc22d9d3755f3 Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 02:42:26 -0400 Subject: [PATCH 31/51] v --- .github/workflows/generate-builds.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 09430293936..cae63cb1ae4 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -279,12 +279,8 @@ jobs: cmake --build build-windows --target OTRGui --config Release --parallel 10 cmake --build build-windows --config Release --parallel 10 - cd build-windows - ls - cd soh - ls - cd .. - cd OTRGui + cd x64 + cd Release ls # - name: Upload build # uses: actions/upload-artifact@v3 From 9f65dd718dc271abb7df9908732617f827b834a6 Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 03:07:55 -0400 Subject: [PATCH 32/51] zip working maybe --- .github/workflows/generate-builds.yml | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index cae63cb1ae4..02f5729cfee 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -279,11 +279,20 @@ jobs: cmake --build build-windows --target OTRGui --config Release --parallel 10 cmake --build build-windows --config Release --parallel 10 - cd x64 - cd Release - ls - # - name: Upload build - # uses: actions/upload-artifact@v3 - # with: - # name: soh-windows - # path: build-windows + mkdir soh-windows + mv ./x64/Release/soh.exe ./soh-windows/soh.exe + mkdir debug + mv ./x64/Release/soh.pdb ./soh-windows/debug/soh.exe + mv ./x64/Release/OTRGui.exe ./soh-windows/OTRGui.exe + mv ./README.md ./soh-windows/readme.txt + mv ./build-windows/gamecontrollerdb.txt ./soh-windows/gamecontrollerdb.txt + - name: Download soh.otr + uses: actions/download-artifact@v3 + with: + name: soh.otr + path: soh-windows + - name: Upload build + uses: actions/upload-artifact@v3 + with: + name: soh-windows + path: soh-windows From 45979039947071dd7c193516bd67b28798066397 Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 03:08:20 -0400 Subject: [PATCH 33/51] ok but this tho --- .github/workflows/generate-builds.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 02f5729cfee..aff6bcb1c74 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -281,7 +281,7 @@ jobs: mkdir soh-windows mv ./x64/Release/soh.exe ./soh-windows/soh.exe - mkdir debug + mkdir soh-windows/debug mv ./x64/Release/soh.pdb ./soh-windows/debug/soh.exe mv ./x64/Release/OTRGui.exe ./soh-windows/OTRGui.exe mv ./README.md ./soh-windows/readme.txt From 484fa40d309e5aeaba9ee310ced1d17e4b3a690e Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 03:34:12 -0400 Subject: [PATCH 34/51] pdb and switch --- .github/workflows/generate-builds.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index aff6bcb1c74..2b048341f9d 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -163,8 +163,6 @@ jobs: export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release cmake --build build-cmake --target OTRGui -j3 - cmake --build build-cmake --config Release --target ZAPD - ./build-cmake/ZAPD/ZAPD.out botr -se OTR --norom cmake --build build-cmake --config Release -j3 (cd build-cmake && cpack -G External) @@ -200,19 +198,21 @@ jobs: - name: Build SoH run: | cmake -H. -Bbuild-switch -GNinja -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/cmake/Switch.cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache - cmake --build build-switch --config Release --target ZAPD - COMMAND ./build-switch/ZAPD/ZAPD.out botr -se OTR --norom cmake --build build-switch --target soh_nro -j3 mv build-switch/soh/*.nro soh.nro - mv build-switch/soh/soh.otr soh.otr mv README.md readme.txt + - name: Download soh.otr + uses: actions/download-artifact@v3 + with: + name: soh.otr - name: Upload build uses: actions/upload-artifact@v3 with: name: soh-switch path: | soh.nro + soh.otr readme.txt build-wiiu: needs: generate-soh-otr @@ -282,7 +282,7 @@ jobs: mkdir soh-windows mv ./x64/Release/soh.exe ./soh-windows/soh.exe mkdir soh-windows/debug - mv ./x64/Release/soh.pdb ./soh-windows/debug/soh.exe + mv ./x64/Release/soh.pdb ./soh-windows/debug/soh.pdb mv ./x64/Release/OTRGui.exe ./soh-windows/OTRGui.exe mv ./README.md ./soh-windows/readme.txt mv ./build-windows/gamecontrollerdb.txt ./soh-windows/gamecontrollerdb.txt From 1b2e5a02d12f954b1410c5c09f9ccbe3af1fa260 Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 03:37:03 -0400 Subject: [PATCH 35/51] mac lus --- libultraship | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libultraship b/libultraship index 7add985aa75..b95e70dec50 160000 --- a/libultraship +++ b/libultraship @@ -1 +1 @@ -Subproject commit 7add985aa750ba438cae17f63123c86b81753b04 +Subproject commit b95e70dec50c22765bedf719f1b8c203aed44924 From fc60d618e9b45dc14908d2a79b36e011b2dcf471 Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 04:31:44 -0400 Subject: [PATCH 36/51] soh.otr in appimage --- .github/workflows/generate-builds.yml | 1 - CMakeLists.txt | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 2b048341f9d..a4823f142dd 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -162,7 +162,6 @@ jobs: run: | export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release - cmake --build build-cmake --target OTRGui -j3 cmake --build build-cmake --config Release -j3 (cd build-cmake && cpack -G External) diff --git a/CMakeLists.txt b/CMakeLists.txt index 656a0fbcd70..7f3c3257252 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -100,6 +100,7 @@ set_property(TARGET soh PROPERTY APPIMAGE_ICON_FILE "${CMAKE_BINARY_DIR}/sohIcon if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") install(PROGRAMS "${CMAKE_SOURCE_DIR}/scripts/linux/appimage/soh.sh" DESTINATION . COMPONENT appimage) +install(FILES "${CMAKE_SOURCE_DIR}/soh.otr" DESTINATION . COMPONENT appimage) endif() find_package(Python3 COMPONENTS Interpreter) From f9f5d0682e7a5cbfa9c48a3bee60490ce456bd6b Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 04:51:09 -0400 Subject: [PATCH 37/51] down first --- .github/workflows/generate-builds.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index a4823f142dd..55b9914698b 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -158,6 +158,10 @@ jobs: make -j 10 sudo make install sudo cp -av /usr/local/lib/libSDL* /lib/x86_64-linux-gnu/ + - name: Download soh.otr + uses: actions/download-artifact@v3 + with: + name: soh.otr - name: Build SoH run: | export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" From 97a842ec59969616e2e997b520a352f42a8f9ffe Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 04:58:17 -0400 Subject: [PATCH 38/51] mac --- .github/workflows/generate-builds.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 55b9914698b..dfed441dcd5 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -99,8 +99,6 @@ jobs: run: | export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" - cmake --build build-cmake --config Release --target ZAPD - ./build-cmake/ZAPD/ZAPD.out botr -se OTR --norom cmake --build build-cmake --config Release --parallel 10 (cd build-cmake && cpack) From 667ae9528c3c2e58ed50388994755f9fc095e386 Mon Sep 17 00:00:00 2001 From: Adam Bird Date: Wed, 12 Apr 2023 01:24:07 -0400 Subject: [PATCH 39/51] bundle soh otr into mac app and read it from the bundle --- soh/CMakeLists.txt | 1 + soh/soh/OTRGlobals.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/soh/CMakeLists.txt b/soh/CMakeLists.txt index 577c0c33c72..1a873fbf856 100644 --- a/soh/CMakeLists.txt +++ b/soh/CMakeLists.txt @@ -687,6 +687,7 @@ execute_process(COMMAND ${CURL} -sSfL https://raw.githubusercontent.com/gabomdq/ if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/macosx/Info.plist.in ${CMAKE_BINARY_DIR}/macosx/Info.plist @ONLY) INSTALL(FILES ${CMAKE_BINARY_DIR}/gamecontrollerdb.txt DESTINATION ../MacOS COMPONENT ship) +INSTALL(FILES ${CMAKE_BINARY_DIR}/soh/soh.otr DESTINATION ../Resources COMPONENT ship) elseif(NOT "${CMAKE_SYSTEM_NAME}" MATCHES "NintendoSwitch|CafeOS") INSTALL(FILES ${CMAKE_BINARY_DIR}/gamecontrollerdb.txt DESTINATION . COMPONENT ship) endif() diff --git a/soh/soh/OTRGlobals.cpp b/soh/soh/OTRGlobals.cpp index a5313d98a1a..638cf162bdc 100644 --- a/soh/soh/OTRGlobals.cpp +++ b/soh/soh/OTRGlobals.cpp @@ -205,7 +205,7 @@ OTRGlobals::OTRGlobals() { if (std::filesystem::exists(ootPath)) { OTRFiles.push_back(ootPath); } - std::string sohOtrPath = Ship::Window::GetPathRelativeToAppDirectory("soh.otr"); + std::string sohOtrPath = Ship::Window::GetPathRelativeToAppBundle("soh.otr"); if (std::filesystem::exists(sohOtrPath)) { OTRFiles.push_back(sohOtrPath); } From 4444ea40233174a65169faabdbca3cbc232b3344 Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 10:44:40 -0400 Subject: [PATCH 40/51] appimage fix --- libultraship | 2 +- scripts/linux/appimage/soh.sh | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/libultraship b/libultraship index b95e70dec50..79be338d264 160000 --- a/libultraship +++ b/libultraship @@ -1 +1 @@ -Subproject commit b95e70dec50c22765bedf719f1b8c203aed44924 +Subproject commit 79be338d2645b129972ab82918658115bee20ca0 diff --git a/scripts/linux/appimage/soh.sh b/scripts/linux/appimage/soh.sh index 384311d4cf3..b8de7364161 100644 --- a/scripts/linux/appimage/soh.sh +++ b/scripts/linux/appimage/soh.sh @@ -9,6 +9,10 @@ if [ -z ${SHIP_HOME+x} ]; then export SHIP_HOME=$PWD fi +if [ -z ${SHIP_BIN_DIR+x} ]; then +export SHIP_BIN_DIR="$HERE/usr/bin" +fi + while [[ (! -e "$SHIP_HOME"/oot.otr) || (! -e "$SHIP_HOME"/oot-mq.otr) ]]; do for romfile in "$SHIP_HOME"/*.*64 do @@ -95,10 +99,10 @@ while [[ (! -e "$SHIP_HOME"/oot.otr) || (! -e "$SHIP_HOME"/oot-mq.otr) ]]; do rm -r "$ASSETDIR" exit else - (cd "$HERE/usr/bin"; ./soh.elf) + (cd "$SHIP_BIN_DIR"; ./soh.elf) exit fi rm -r "$ASSETDIR" done - (cd "$HERE/usr/bin"; ./soh.elf) + (cd "$SHIP_BIN_DIR"; ./soh.elf) exit From 8a34ced4edb407c77afde8d778d6d0584d7f31df Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 10:53:12 -0400 Subject: [PATCH 41/51] try just downloading for mac? --- .github/workflows/generate-builds.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index dfed441dcd5..97ce125d420 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -95,6 +95,10 @@ jobs: brew uninstall --ignore-dependencies libpng sudo port install $(cat .github/workflows/macports-deps.txt) brew install ninja + - name: Download soh.otr + uses: actions/download-artifact@v3 + with: + name: soh.otr - name: Build SoH run: | export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" From cd25c1683451673be4a021b0afbb75be48328f6d Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 11:00:17 -0400 Subject: [PATCH 42/51] i like to mv it mv it --- .github/workflows/generate-builds.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 97ce125d420..5a72d90d9f0 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -104,6 +104,7 @@ jobs: export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" cmake --build build-cmake --config Release --parallel 10 + mv soh.otr build-cmake (cd build-cmake && cpack) mv _packages/*.dmg SoH.dmg From 3c3e643495ed5d477d7c23921c602359ffb19dbb Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 11:46:16 -0400 Subject: [PATCH 43/51] mv to the right place --- .github/workflows/generate-builds.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 5a72d90d9f0..01cc9e22450 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -104,7 +104,7 @@ jobs: export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" cmake --no-warn-unused-cli -H. -Bbuild-cmake -GNinja -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" cmake --build build-cmake --config Release --parallel 10 - mv soh.otr build-cmake + mv soh.otr build-cmake/soh (cd build-cmake && cpack) mv _packages/*.dmg SoH.dmg From 1d3295061400d1ab3180d8bd11cd7c97a401cfa3 Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 12:30:46 -0400 Subject: [PATCH 44/51] no more otrgui --- .github/workflows/generate-builds.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 01cc9e22450..22c88078ae6 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -289,7 +289,6 @@ jobs: mv ./x64/Release/soh.exe ./soh-windows/soh.exe mkdir soh-windows/debug mv ./x64/Release/soh.pdb ./soh-windows/debug/soh.pdb - mv ./x64/Release/OTRGui.exe ./soh-windows/OTRGui.exe mv ./README.md ./soh-windows/readme.txt mv ./build-windows/gamecontrollerdb.txt ./soh-windows/gamecontrollerdb.txt - name: Download soh.otr From e92cdae6a8126c90c200fb45334f17216d54477c Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 13:10:41 -0400 Subject: [PATCH 45/51] bring back otrgui and assets --- .github/workflows/generate-builds.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 22c88078ae6..7b2fdfba068 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -289,8 +289,10 @@ jobs: mv ./x64/Release/soh.exe ./soh-windows/soh.exe mkdir soh-windows/debug mv ./x64/Release/soh.pdb ./soh-windows/debug/soh.pdb + mv ./x64/Release/OTRGui.exe ./soh-windows/OTRGui.exe mv ./README.md ./soh-windows/readme.txt mv ./build-windows/gamecontrollerdb.txt ./soh-windows/gamecontrollerdb.txt + mv ./build-windows/OTRGui/assets ./soh-windows - name: Download soh.otr uses: actions/download-artifact@v3 with: From 1a6f1a1792b8f56781d51e878dc306a15fe73c33 Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 14:19:03 -0400 Subject: [PATCH 46/51] echo blarg --- .github/workflows/generate-builds.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 7b2fdfba068..95d49f3af7c 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -293,6 +293,14 @@ jobs: mv ./README.md ./soh-windows/readme.txt mv ./build-windows/gamecontrollerdb.txt ./soh-windows/gamecontrollerdb.txt mv ./build-windows/OTRGui/assets ./soh-windows + echo blarg + ls + echo blarg + cd x64 + ls + echo blarg + cd Release + ls - name: Download soh.otr uses: actions/download-artifact@v3 with: From 43c7c28b58ac170b182485226da82ca5f5278dcd Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 14:42:19 -0400 Subject: [PATCH 47/51] echo --- .github/workflows/generate-builds.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 95d49f3af7c..40e7f68cc49 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -296,10 +296,10 @@ jobs: echo blarg ls echo blarg - cd x64 + cd build-windows ls echo blarg - cd Release + cd ZAPD ls - name: Download soh.otr uses: actions/download-artifact@v3 From 2b8b6761df753b3db5b3fa45c5e1ef500cc1002d Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 15:01:03 -0400 Subject: [PATCH 48/51] zapd.exe --- .github/workflows/generate-builds.yml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index 40e7f68cc49..a406fb6f8eb 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -293,14 +293,7 @@ jobs: mv ./README.md ./soh-windows/readme.txt mv ./build-windows/gamecontrollerdb.txt ./soh-windows/gamecontrollerdb.txt mv ./build-windows/OTRGui/assets ./soh-windows - echo blarg - ls - echo blarg - cd build-windows - ls - echo blarg - cd ZAPD - ls + mv ./build-windows/ZAPD/ZAPD.exe ./soh-windows/assets/extractor/ZAPD.exe - name: Download soh.otr uses: actions/download-artifact@v3 with: From c8cd9c3acd373faf4ad18fded411bb6fe6c31f2f Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 20:01:51 -0400 Subject: [PATCH 49/51] clean and remove --- OTRExporter/OTRExporter/Main.cpp | 44 +++++++++++++++----------------- ZAPDTR/ZAPD/Main.cpp | 1 - 2 files changed, 21 insertions(+), 24 deletions(-) diff --git a/OTRExporter/OTRExporter/Main.cpp b/OTRExporter/OTRExporter/Main.cpp index 6100d20e5f7..65500012702 100644 --- a/OTRExporter/OTRExporter/Main.cpp +++ b/OTRExporter/OTRExporter/Main.cpp @@ -27,7 +27,7 @@ std::string otrFileName = "oot.otr"; std::shared_ptr otrArchive; -BinaryWriter *fileWriter; +BinaryWriter* fileWriter; std::chrono::steady_clock::time_point fileStart, resStart; std::map> files; std::mutex fileMutex; @@ -39,7 +39,7 @@ enum class ExporterFileMode BuildOTR = (int)ZFileMode::Custom + 1, }; -static void ExporterParseFileMode(const std::string &buildMode, ZFileMode &fileMode) +static void ExporterParseFileMode(const std::string& buildMode, ZFileMode& fileMode) { if (buildMode == "botr") { @@ -64,8 +64,6 @@ static void ExporterParseFileMode(const std::string &buildMode, ZFileMode &fileM static void ExporterProgramEnd() { - - uint32_t crc = 0xFFFFFFFF; const uint8_t endianness = (uint8_t)Endianness::Big; @@ -92,7 +90,7 @@ static void ExporterProgramEnd() otrArchive->AddFile("version", (uintptr_t)versionStream->ToVector().data(), versionStream->GetLength()); - for (const auto &item : files) + for (const auto& item : files) { std::string fName = item.first; if (fName.find("gTitleZeldaShieldLogoMQTex") != std::string::npos && !ZRom(romPath).IsMQ()) @@ -111,18 +109,18 @@ static void ExporterProgramEnd() otrArchive = nullptr; // Add any additional files that need to be manually copied... - const auto &lst = Directory::ListFiles("Extract"); + const auto& lst = Directory::ListFiles("Extract"); std::shared_ptr sohOtr = Ship::Archive::CreateArchive("soh.otr", 4096); //sohOtr->AddFile("version", (uintptr_t)versionStream->ToVector().data(), versionStream->GetLength()); - for (const auto &item : lst) + for (const auto& item : lst) { std::vector splitPath = StringHelper::Split(item, "."); if (splitPath.size() >= 3) { - const std::string &extension = splitPath.at(splitPath.size() - 1); - const std::string &format = splitPath.at(splitPath.size() - 2); + const std::string& extension = splitPath.at(splitPath.size() - 1); + const std::string& format = splitPath.at(splitPath.size() - 2); splitPath.pop_back(); splitPath.pop_back(); std::string afterPath = std::accumulate(splitPath.begin(), splitPath.end(), std::string("")); @@ -135,7 +133,7 @@ static void ExporterProgramEnd() OTRExporter_Texture exporter; - MemoryStream *stream = new MemoryStream(); + MemoryStream* stream = new MemoryStream(); BinaryWriter writer(stream); exporter.Save(&tex, "", &writer); @@ -162,14 +160,14 @@ static void ExporterProgramEnd() continue; } - const auto &fileData = File::ReadAllBytes(item); + const auto& fileData = File::ReadAllBytes(item); printf("sohOtr->AddFile(%s)\n", StringHelper::Split(item, "Extract/")[1].c_str()); sohOtr->AddFile(StringHelper::Split(item, item.find("Extract/assets/") != std::string::npos ? "Extract/assets/" : "Extract/")[1], (uintptr_t)fileData.data(), fileData.size()); } sohOtr = nullptr; } -static void ExporterParseArgs(int argc, char *argv[], int &i) +static void ExporterParseArgs(int argc, char* argv[], int &i) { std::string arg = argv[i]; @@ -190,23 +188,23 @@ static bool ExporterProcessFileMode(ZFileMode fileMode) return false; } -static void ExporterFileBegin(ZFile *file) +static void ExporterFileBegin(ZFile* file) { fileStart = std::chrono::steady_clock::now(); - MemoryStream *stream = new MemoryStream(); + MemoryStream* stream = new MemoryStream(); fileWriter = new BinaryWriter(stream); } -static void ExporterFileEnd(ZFile *file) +static void ExporterFileEnd(ZFile* file) { // delete fileWriter; } -static void ExporterResourceEnd(ZResource *res, BinaryWriter &writer) +static void ExporterResourceEnd(ZResource* res, BinaryWriter& writer) { auto streamShared = writer.GetStream(); - MemoryStream *strem = (MemoryStream *)streamShared.get(); + MemoryStream* strem = (MemoryStream*)streamShared.get(); auto start = std::chrono::steady_clock::now(); @@ -216,8 +214,8 @@ static void ExporterResourceEnd(ZResource *res, BinaryWriter &writer) std::string rName = res->GetName(); std::string prefix = OTRExporter_DisplayList::GetPrefix(res); - // auto xmlFilePath = res->parent->GetXmlFilePath(); - // prefix = StringHelper::Split(StringHelper::Split(xmlFilePath.string(), "xml\\")[1], ".xml")[0]; + //auto xmlFilePath = res->parent->GetXmlFilePath(); + //prefix = StringHelper::Split(StringHelper::Split(xmlFilePath.string(), "xml\\")[1], ".xml")[0]; if (StringHelper::Contains(oName, "_scene")) { @@ -251,9 +249,9 @@ static void ExporterResourceEnd(ZResource *res, BinaryWriter &writer) auto end = std::chrono::steady_clock::now(); size_t diff = std::chrono::duration_cast(end - start).count(); - - // if (diff > 10) - // printf("Exported Resource End %s in %zums\n", res->GetName().c_str(), diff); + + //if (diff > 10) + //printf("Exported Resource End %s in %zums\n", res->GetName().c_str(), diff); } static void ExporterXMLBegin() @@ -279,7 +277,7 @@ static void ImportExporters() { // In this example we set up a new exporter called "EXAMPLE". // By running ZAPD with the argument -se EXAMPLE, we tell it that we want to use this exporter for our resources. - ExporterSet *exporterSet = new ExporterSet(); + ExporterSet* exporterSet = new ExporterSet(); exporterSet->processFileModeFunc = ExporterProcessFileMode; exporterSet->parseFileModeFunc = ExporterParseFileMode; exporterSet->parseArgsFunc = ExporterParseArgs; diff --git a/ZAPDTR/ZAPD/Main.cpp b/ZAPDTR/ZAPD/Main.cpp index 1423f9c0b97..38b0f1597db 100644 --- a/ZAPDTR/ZAPD/Main.cpp +++ b/ZAPDTR/ZAPD/Main.cpp @@ -271,7 +271,6 @@ int main(int argc, char* argv[]) ExporterSet* exporterSet = Globals::Instance->GetExporterSet(); if(Globals::Instance->onlyGenSohOtr) { - puts("True"); exporterSet->endProgramFunc(); delete g; From 71cfd37e6edddbfcaa99ce0728e08d5fe0d2e707 Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 20:03:27 -0400 Subject: [PATCH 50/51] a --- OTRExporter/OTRExporter/Main.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/OTRExporter/OTRExporter/Main.cpp b/OTRExporter/OTRExporter/Main.cpp index 65500012702..5b37c24dfd8 100644 --- a/OTRExporter/OTRExporter/Main.cpp +++ b/OTRExporter/OTRExporter/Main.cpp @@ -101,7 +101,7 @@ static void ExporterProgramEnd() fName.replace(pos, 27, "gTitleZeldaShieldLogoTex"); } } - const auto &fileData = item.second; + const auto& fileData = item.second; otrArchive->AddFile(fName, (uintptr_t)fileData.data(), fileData.size()); } @@ -167,7 +167,7 @@ static void ExporterProgramEnd() sohOtr = nullptr; } -static void ExporterParseArgs(int argc, char* argv[], int &i) +static void ExporterParseArgs(int argc, char* argv[], int& i) { std::string arg = argv[i]; From 34340f367bad971d9475e7bd596b9cc091eb4d79 Mon Sep 17 00:00:00 2001 From: briaguya Date: Wed, 12 Apr 2023 20:04:02 -0400 Subject: [PATCH 51/51] space --- OTRExporter/OTRExporter/Main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OTRExporter/OTRExporter/Main.cpp b/OTRExporter/OTRExporter/Main.cpp index 5b37c24dfd8..fb49210b99f 100644 --- a/OTRExporter/OTRExporter/Main.cpp +++ b/OTRExporter/OTRExporter/Main.cpp @@ -249,7 +249,7 @@ static void ExporterResourceEnd(ZResource* res, BinaryWriter& writer) auto end = std::chrono::steady_clock::now(); size_t diff = std::chrono::duration_cast(end - start).count(); - + //if (diff > 10) //printf("Exported Resource End %s in %zums\n", res->GetName().c_str(), diff); }