From 6d9d7cfb9545f79edf4ac09e9c134f5afe5678c9 Mon Sep 17 00:00:00 2001 From: James Osborne Date: Sun, 31 May 2026 09:54:02 -0400 Subject: [PATCH] Fix BB EP4 solo access and ship-state marking --- src/ReceiveCommands.cc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/ReceiveCommands.cc b/src/ReceiveCommands.cc index 6e65c7c4..965bc09b 100644 --- a/src/ReceiveCommands.cc +++ b/src/ReceiveCommands.cc @@ -5312,6 +5312,20 @@ shared_ptr create_game_generic( } game->load_maps(); // Load free-play maps + if ((creator_c->version() == Version::BB_V4) && + (game->mode == GameMode::SOLO) && + (game->episode == Episode::EP4)) { + for (auto obj_st : game->map_state->iter_object_states(creator_c->version())) { + const auto& obj_v = obj_st->super_obj->version(creator_c->version()); + if (obj_v.set_entry && + (obj_st->super_obj->floor == 0x00) && + (obj_v.set_entry->base_type == 0x0048)) { + obj_st->game_flags |= 0x0001; + game->log.info_f("Unlocked BB Episode IV solo Pioneer 2 warp door K-{:03X}", obj_st->k_id); + } + } + } + // The game's quest flags are inherited from the creator, if known if (creator_c->version() == Version::BB_V4) { game->quest_flag_values = make_unique(p->quest_flags);