From 3ba12dca7f0b3dbd9be7b0cacbb073fae91b393e Mon Sep 17 00:00:00 2001 From: Yimura Date: Sat, 8 Jan 2022 19:54:10 +0100 Subject: [PATCH] fix(PersonalVehicle): Remove old vehicles from list --- BigBaseV2/src/services/mobile_service.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/BigBaseV2/src/services/mobile_service.cpp b/BigBaseV2/src/services/mobile_service.cpp index e7a6f837..d7fdf1db 100644 --- a/BigBaseV2/src/services/mobile_service.cpp +++ b/BigBaseV2/src/services/mobile_service.cpp @@ -51,14 +51,18 @@ namespace big { for (int i = 0; i < *mobile::vehicle_global.as(); i++) { + script::get_current()->yield(); + auto veh_idx_global = mobile::vehicle_global.at(i, 142); Hash hash = *veh_idx_global.at(66).as(); + auto& it = m_pv_lookup.find(i); + if (STREAMING::IS_MODEL_A_VEHICLE(hash)) { auto veh = std::make_unique(i, veh_idx_global); - if (auto& it = m_pv_lookup.find(i); it != m_pv_lookup.end()) + if (it != m_pv_lookup.end()) { m_personal_vehicles.erase(it->second); @@ -70,9 +74,15 @@ namespace big m_pv_lookup.emplace(i, veh->get_display_name()); m_personal_vehicles.emplace(veh->get_display_name(), std::move(veh)); + + continue; } - script::get_current()->yield(); + if (it != m_pv_lookup.end()) + { + m_personal_vehicles.erase(it->second); + m_pv_lookup.erase(i); + } } } } \ No newline at end of file