Fix market death crash & no logic parse, limit archi console lines

This commit is contained in:
aMannus
2025-07-06 23:25:07 +02:00
parent 80b0d036d7
commit b700e0cc5f
3 changed files with 8 additions and 2 deletions

View File

@@ -467,6 +467,7 @@ void Context::ParseArchipelagoOptions(const std::map<std::string, int>& 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);

View File

@@ -27,10 +27,16 @@ void ArchipelagoConsole_SendMessage(const char* fmt, ...) {
std::vector<ArchipelagoClient::ColoredTextNode> line;
line.push_back(node);
Items.push_back(line);
if (Items.size() > 50) {
Items.erase(Items.begin());
}
}
void ArchipelagoConsole_PrintJson(const std::vector<ArchipelagoClient::ColoredTextNode> nodes) {
Items.push_back(nodes);
if (Items.size() > 50) {
Items.erase(Items.begin());
}
}
void ArchipelagoConsoleWindow::DrawElement() {

View File

@@ -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.