From b700e0cc5f7d99f7ddda9ff494202d340393191b Mon Sep 17 00:00:00 2001 From: aMannus Date: Sun, 6 Jul 2025 23:25:07 +0200 Subject: [PATCH] Fix market death crash & no logic parse, limit archi console lines --- soh/soh/Enhancements/randomizer/context.cpp | 1 + soh/soh/Network/Archipelago/ArchipelagoConsoleWindow.cpp | 6 ++++++ soh/src/code/z_room.c | 3 +-- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/soh/soh/Enhancements/randomizer/context.cpp b/soh/soh/Enhancements/randomizer/context.cpp index 24ab88537..8614a35bc 100644 --- a/soh/soh/Enhancements/randomizer/context.cpp +++ b/soh/soh/Enhancements/randomizer/context.cpp @@ -467,6 +467,7 @@ void Context::ParseArchipelagoOptions(const std::map& slot_dat // load those in instead. nlohmann::json slotData = ArchipelagoClient::GetInstance().GetSlotData(); + mOptions[RSK_LOGIC_RULES].Set(RO_LOGIC_NO_LOGIC); mOptions[RSK_FOREST].Set(RO_CLOSED_FOREST_OFF); mOptions[RSK_KAK_GATE].Set(RO_KAK_GATE_OPEN); mOptions[RSK_DOOR_OF_TIME].Set(RO_DOOROFTIME_OPEN); diff --git a/soh/soh/Network/Archipelago/ArchipelagoConsoleWindow.cpp b/soh/soh/Network/Archipelago/ArchipelagoConsoleWindow.cpp index c65ad92c3..4ee7b1e06 100644 --- a/soh/soh/Network/Archipelago/ArchipelagoConsoleWindow.cpp +++ b/soh/soh/Network/Archipelago/ArchipelagoConsoleWindow.cpp @@ -27,10 +27,16 @@ void ArchipelagoConsole_SendMessage(const char* fmt, ...) { std::vector line; line.push_back(node); Items.push_back(line); + if (Items.size() > 50) { + Items.erase(Items.begin()); + } } void ArchipelagoConsole_PrintJson(const std::vector nodes) { Items.push_back(nodes); + if (Items.size() > 50) { + Items.erase(Items.begin()); + } } void ArchipelagoConsoleWindow::DrawElement() { diff --git a/soh/src/code/z_room.c b/soh/src/code/z_room.c index 60fa3f0ff..0aba1ae8e 100644 --- a/soh/src/code/z_room.c +++ b/soh/src/code/z_room.c @@ -410,8 +410,7 @@ BgImage* func_80096A74(PolygonType1* polygon1, PlayState* play) { camera = GET_ACTIVE_CAM(play); camId = camera->camDataIdx; - if (camId == -1 && (CVarGetInteger(CVAR_CHEAT("NoRestrictItems"), 0) || - (CVarGetInteger(CVAR_REMOTE_CROWD_CONTROL("Enabled"), 0)))) { + if (camId == -1) { // This prevents a crash when using items that change the // camera (such as din's fire), voiding out or dying on // scenes with prerendered backgrounds.