diff options
| author | Philip Dubé <159546+serprex@users.noreply.github.com> | 2026-11-01 20:58:28 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-11-01 20:58:28 +0000 |
| commit | d4bf6528a3bb242bc5d862e4f1ab2b6d385c157b (patch) | |
| tree | 04f56c50ca324c68df49916bcd665d30f6a9aaac | |
| parent | 2827fc2a0f56a9cdc18a87adf8c1bb7e91315f41 (diff) | |
| parent | a28c6969232eb087e2a1f8e89ac2c65cac3be937 (diff) | |
Dewey -> Develop, fixes build failure due to macos-14 runner being removed
| -rw-r--r-- | .github/workflows/generate-builds.yml | 2 | ||||
| -rw-r--r-- | soh/SHIPOFHARKINIAN.manifest | 2 | ||||
| -rw-r--r-- | soh/soh/Enhancements/randomizer/Traps.cpp | 4 | ||||
| -rw-r--r-- | soh/soh/Enhancements/randomizer/location_access/overworld/gerudo_valley.cpp | 3 | ||||
| -rw-r--r-- | soh/soh/SaveManager.cpp | 16 |
5 files changed, 19 insertions, 8 deletions
diff --git a/.github/workflows/generate-builds.yml b/.github/workflows/generate-builds.yml index d030e62b7..40c43a050 100644 --- a/.github/workflows/generate-builds.yml +++ b/.github/workflows/generate-builds.yml @@ -45,7 +45,7 @@ jobs: build-macos: needs: generate-soh-otr - runs-on: macos-14 + runs-on: macos-15 steps: - name: Git Checkout uses: actions/checkout@v7 diff --git a/soh/SHIPOFHARKINIAN.manifest b/soh/SHIPOFHARKINIAN.manifest index 6f47a937f..e35907d3b 100644 --- a/soh/SHIPOFHARKINIAN.manifest +++ b/soh/SHIPOFHARKINIAN.manifest @@ -32,6 +32,8 @@ <asmv3:windowsSettings> <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/pm</dpiAware> <!-- legacy --> <dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">permonitorv2,permonitor</dpiAwareness> <!-- falls back to pm if pmv2 is not available --> + <!-- narrow file APIs take utf-8 like our paths do, so accented folder names work (Windows 10 1903+) --> + <activeCodePage xmlns="http://schemas.microsoft.com/SMI/2019/WindowsSettings">UTF-8</activeCodePage> </asmv3:windowsSettings> </asmv3:application> </assembly> diff --git a/soh/soh/Enhancements/randomizer/Traps.cpp b/soh/soh/Enhancements/randomizer/Traps.cpp index d83deed21..431e58188 100644 --- a/soh/soh/Enhancements/randomizer/Traps.cpp +++ b/soh/soh/Enhancements/randomizer/Traps.cpp @@ -369,8 +369,8 @@ static void InitTrickNames() { trickNameTable[RG_PROGRESSIVE_STRENGTH] = { { Text{ "Power Glove", "Gant de Puissance (prog.)", "Krafthandschuh (prog.)" }, Text{ "a ", "un ", "einen " } }, // "Guanteletes progresivos" - { Text{ "Power Bracelet", "Bracelet de Force (prog.)", "Kraftarmband (prog.)" }, - Text{ "a ", "un ", "ein " } }, // "Brasaletes progresivos" + { Text{ "Darunia's Bracelet", "Bracelet de Darunia (prog.)", "Darunias Armband (prog.)" }, + Text{ "", "le ", "" } }, // "Brasaletes progresivos" { Text{ "Magic Bracelet", "Bracelet Magique (prog.)", "Magiearmband (prog.)" }, Text{ "a ", "un ", "ein " } }, // "Manoplas progresivas" }; diff --git a/soh/soh/Enhancements/randomizer/location_access/overworld/gerudo_valley.cpp b/soh/soh/Enhancements/randomizer/location_access/overworld/gerudo_valley.cpp index 703404310..f3c809993 100644 --- a/soh/soh/Enhancements/randomizer/location_access/overworld/gerudo_valley.cpp +++ b/soh/soh/Enhancements/randomizer/location_access/overworld/gerudo_valley.cpp @@ -63,7 +63,8 @@ void RegionTable_Init_GerudoValley() { }, { //Exits ENTRANCE(RR_GV_UPPER_STREAM_WATER, true), - ENTRANCE(RR_GV_WATERFALL_ALCOVE, (logic->CanUse(RG_LONGSHOT) && (logic->HasItem(RG_CLIMB) || ctx->GetTrickOption(RT_HOOKSHOT_LADDERS))) || logic->BeanPlanted(LOGIC_PLANT_GERUDO_VALLEY_BEAN)), + ENTRANCE(RR_GV_WATERFALL_ALCOVE, (logic->CanUse(RG_LONGSHOT) && (logic->HasItem(RG_CLIMB) || ctx->GetTrickOption(RT_HOOKSHOT_LADDERS))) || + (logic->IsAdult && logic->BeanPlanted(LOGIC_PLANT_GERUDO_VALLEY_BEAN))), }); areaTable[RR_GV_UPPER_STREAM_WATER] = Region("GV Upper Stream Water", SCENE_GERUDO_VALLEY, {}, {}, { diff --git a/soh/soh/SaveManager.cpp b/soh/soh/SaveManager.cpp index 26b395d4a..cd8ec85de 100644 --- a/soh/soh/SaveManager.cpp +++ b/soh/soh/SaveManager.cpp @@ -707,8 +707,10 @@ void SaveManager::StartupCheckAndInitMeta(int fileNum) { } fileMetaInfo[fileNum].equipment = baseBlock["inventory"]["equipment"]; fileMetaInfo[fileNum].upgrades = baseBlock["inventory"]["upgrades"]; - fileMetaInfo[fileNum].isMagicAcquired = baseBlock["isMagicAcquired"]; - fileMetaInfo[fileNum].isDoubleMagicAcquired = baseBlock["isDoubleMagicAcquired"]; + // saves before 5.1.0 called these magicAcquired and doubleMagic + fileMetaInfo[fileNum].isMagicAcquired = baseBlock.value("isMagicAcquired", baseBlock.value("magicAcquired", 0)); + fileMetaInfo[fileNum].isDoubleMagicAcquired = + baseBlock.value("isDoubleMagicAcquired", baseBlock.value("doubleMagic", 0)); fileMetaInfo[fileNum].rupees = baseBlock["rupees"]; fileMetaInfo[fileNum].gsTokens = baseBlock["inventory"]["gsTokens"]; // base version 1 and 2 called this doubleDefense @@ -725,7 +727,8 @@ void SaveManager::StartupCheckAndInitMeta(int fileNum) { fileMetaInfo[fileNum].health = baseBlock["health"]; // isMasterQuest arrived in base version 2 - bool isMasterQuest = baseBlock.value("isMasterQuest", false); + // older saves store this as a number rather than a bool + bool isMasterQuest = baseBlock.value("isMasterQuest", 0) != 0; fileMetaInfo[fileNum].requiresOriginal = !isMasterQuest; fileMetaInfo[fileNum].requiresMasterQuest = isMasterQuest; @@ -758,7 +761,12 @@ void SaveManager::StartupCheckAndInitMeta(int fileNum) { fileMetaInfo[fileNum].requiresOriginal = randoBlock["masterQuestDungeonCount"] < 12; } - nlohmann::json& statsBlock = sections["sohStats"]["data"]; + // sohStats didn't exist in older saves + nlohmann::json statsBlock = nlohmann::json::object(); + if (sections.contains("sohStats") && sections["sohStats"].contains("data") && + sections["sohStats"]["data"].is_object()) { + statsBlock = sections["sohStats"]["data"]; + } fileMetaInfo[fileNum].buildVersionMajor = statsBlock.value("buildVersionMajor", 0); fileMetaInfo[fileNum].buildVersionMinor = statsBlock.value("buildVersionMinor", 0); fileMetaInfo[fileNum].buildVersionPatch = statsBlock.value("buildVersionPatch", 0); |
