From feb489cab07bcd8624d41a9153834b7f04147be6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philip=20Dub=C3=A9?= <159546+serprex@users.noreply.github.com> Date: Tue, 14 Apr 2026 06:41:37 +0000 Subject: [PATCH 1/2] Fix shopsanity soft lock (#6502) GetForCurrentLanguage() defaults to MF_FORMATTED, appending MESSAGE_END (\x02) to output string Revert using hint name for items in shops. Other merchants return GetHintMessage directly --- .../randomizer/Messages/MerchantMessages.cpp | 12 ++++++++---- soh/soh/Enhancements/randomizer/location.cpp | 1 - 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/soh/soh/Enhancements/randomizer/Messages/MerchantMessages.cpp b/soh/soh/Enhancements/randomizer/Messages/MerchantMessages.cpp index 56fa5c7b1..9a004f4ab 100644 --- a/soh/soh/Enhancements/randomizer/Messages/MerchantMessages.cpp +++ b/soh/soh/Enhancements/randomizer/Messages/MerchantMessages.cpp @@ -24,8 +24,8 @@ extern PlayState* gPlayState; RAND_GET_OPTION(RSK_SHUFFLE_MERCHANTS).Is(RO_SHUFFLE_MERCHANTS_ALL)) void BuildMerchantMessage(CustomMessage& msg, RandomizerCheck rc, bool mysterious = true) { - RandomizerGet rgid = RAND_GET_ITEM(rc)->GetPlacedRandomizerGet(); - uint16_t price = RAND_GET_ITEM(rc)->GetPrice(); + auto location = RAND_GET_ITEM(rc); + RandomizerGet rgid = location->GetPlacedRandomizerGet(); CustomMessage itemName; std::string color = Rando::StaticData::RetrieveItem(static_cast(rgid)).GetColor(); if (mysterious) { @@ -37,10 +37,14 @@ void BuildMerchantMessage(CustomMessage& msg, RandomizerCheck rc, bool mysteriou color = "%g"; } else { const Rando::Item& item = Rando::StaticData::RetrieveItem(rgid); - itemName = item.GetHint().GetHintMessage().GetForCurrentLanguage(); + if (Rando::StaticData::GetLocation(rc)->IsShop()) { + itemName = CustomMessage(Rando::StaticData::RetrieveItem(rgid).GetName()); + } else { + itemName = item.GetHint().GetHintMessage(); + } } msg.Replace("[[color]]", color); - msg.InsertNames({ itemName, CustomMessage(std::to_string(price)) }); + msg.InsertNames({ itemName, CustomMessage(std::to_string(location->GetPrice())) }); } void BuildBeanGuyMessage(uint16_t* textId, bool* loadFromMessageTable) { diff --git a/soh/soh/Enhancements/randomizer/location.cpp b/soh/soh/Enhancements/randomizer/location.cpp index e129a6b26..6de708c01 100644 --- a/soh/soh/Enhancements/randomizer/location.cpp +++ b/soh/soh/Enhancements/randomizer/location.cpp @@ -1,6 +1,5 @@ #include "location.h" #include "static_data.h" -#include #include #include "option.h" From cb71e22a79bc5d1f688fa881795bbd93094895fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philip=20Dub=C3=A9?= <159546+serprex@users.noreply.github.com> Date: Tue, 14 Apr 2026 06:48:22 +0000 Subject: [PATCH 2/2] 9.2.3 Ackbar Delta (#6503) --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c81727820..4429cc599 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,7 @@ set(CMAKE_C_STANDARD 23 CACHE STRING "The C standard to use") set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version") -project(Ship VERSION 9.2.2 LANGUAGES C CXX) +project(Ship VERSION 9.2.3 LANGUAGES C CXX) include(CMake/soh-cvars.cmake) include(CMake/lus-cvars.cmake) set(SPDLOG_LEVEL_TRACE 0)