From cd66ad1eac39aa039d47af3b2b7a53f11d9fc7dc Mon Sep 17 00:00:00 2001 From: Eddoursul Date: Mon, 4 Jul 2022 02:30:51 +0200 Subject: [PATCH] Rewritten OnContainerChanged to cover non-player events as well --- SKSE/Plugins/ArtifactTracker.dll | Bin 419840 -> 420864 bytes .../src/ArtifactTracker.cpp | 229 +++++++++++------- .../ArtifactTrackerDLL/src/ArtifactTracker.h | 2 +- .../ArtifactTrackerDLL/src/EventListener.cpp | 8 +- 4 files changed, 150 insertions(+), 89 deletions(-) diff --git a/SKSE/Plugins/ArtifactTracker.dll b/SKSE/Plugins/ArtifactTracker.dll index 8b28012fc36ffe322169bea92b20208237243c4d..ae8e4907674e572a77b65094c8a8c4bc3a6bad79 100644 GIT binary patch delta 71463 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

ZwpzUK8PnH7%zi<{|{lfo@UzlT@;vqg7;2( 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 delta 70620 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 for (const auto& a_ref : cell->references) { + if (a_ignoreRef == a_ref->formID) { + continue; + } + const auto baseObj = a_ref->GetBaseObject(); if (IsValidContainer(a_ref.get())) { @@ -382,6 +386,7 @@ namespace ArtifactTracker if (count > 0 && !cellItems.contains(item->formID)) { g_cellStorage->RemoveItem(item, count, RE::ITEM_REMOVE_REASON::kRemove, nullptr, nullptr); if (!RefListHasItem(g_persistentStorage, item->formID)) { + ListRemoveItem(g_listNew, item); ListRemoveItem(g_listStored, item); g_listFound->AddForm(item); } @@ -393,124 +398,182 @@ namespace ArtifactTracker void OnContainerChanged(const RE::TESContainerChangedEvent* a_event, RE::TESForm* form) { - if (a_event->newContainer == 0x14) { - - if (a_event->oldContainer) { + if (a_event->newContainer) { // added to a container or actor - if (g_persistentMap.contains(a_event->oldContainer)) { + if (a_event->newContainer == 0x14) { // acquired by player - // Items in persistent containers are marked as stored by definition, no need to check the list - if (!RefListHasItem(g_persistentStorage, a_event->baseObj)) { - ListRemoveItem(g_listStored, form); - g_listFound->AddForm(form); - } + if (a_event->oldContainer) { - return; + if (const auto it = g_persistentMap.find(a_event->oldContainer); it != g_persistentMap.end()) { // moved from a persistent container - } else if (g_cellStorage) { // non-persistent container at home - - // g_bContainerMode is expected to be true, enabling processing after closing container. - // Reachable by Loot Menu or a mod, retrieving items via a spell of after scanning containers in cell. - // In extreme cases of mass retrieval, this can result in a few frames lag. + const auto ref = it->second; - #ifdef _DEBUG - SKSE::log::info("Synchronous processing of a non-persistent container (moved to player)"); - #endif + if (ref && GetItemCount(ref, form) - a_event->itemCount <= 0) { // no items left in the container + for (const auto& persref : g_persistentMap) { + if (persref.second != ref) { + if (GetItemCount(persref.second, form) > 0) { + // if other containers have it, do nothing + return; + } + } + } + ListRemoveItem(g_listStored, form); + g_listFound->AddForm(form); + } + + } else if (g_cellStorage && !g_bHomeContainer) { // taken from a container at home - SyncCellStorage(); + const auto container = RE::TESForm::LookupByID(a_event->oldContainer); + if (container && GetItemCount(container, form) - a_event->itemCount <= 0) { + SyncCellStorage(container->formID); + } + } return; } - } else if (g_cellStorage && !g_listNew->HasForm(form)) { - // Items picked up at home are handled in the perk - return; - } + if (!g_listStored->HasForm(form) && !g_listFound->HasForm(form)) { // it's a new item, move it to found + ListRemoveItem(g_listNew, form); + g_listFound->AddForm(form); + } - // Instead of looking up in huge g_listNew, we check smaller g_listStored and g_listFound. - // Mass retrieval of found items is rare, so we check the stored list first. - if (g_listStored->HasForm(form) || g_listFound->HasForm(form)) { - return; - } + } else if (g_cellStorage && g_cellStorage->formID == a_event->newContainer) { + return; // ignore cell storage - // It's a new item, move it to found - ListRemoveItem(g_listNew, form); - g_listFound->AddForm(form); + } else if (g_persistentMap.contains(a_event->newContainer)) { // stored in a registered persistent container - return; + if (!g_listStored->HasForm(form)) { + ListRemoveItem(g_listFound, form); + g_listStored->AddForm(form); + } - } else if (a_event->oldContainer == 0x14) { - - // Items moved from player's inventory + } else { + const auto ref = RE::TESForm::LookupByID(a_event->newContainer); + if (ref->Is(RE::FormType::ActorCharacter)) { + if (ref->As()->IsPlayerTeammate()) { // acquired by companion + if (!g_listFound->HasForm(form) && !g_listStored->HasForm(form)) { + ListRemoveItem(g_listNew, form); + g_listFound->AddForm(form); + } + } - if (!a_event->newContainer) { // no destination container + } else { + const auto container = ref->As(); + if (container) { + if (g_cellStorage && container->GetParentCell() == RE::PlayerCharacter::GetSingleton()->GetParentCell()) { // stored at home - if (g_cellStorage && a_event->reference) { // dropped or placed on rack at home - if (GetItemCount(g_cellStorage, form) <= 0) { - #ifdef _DEBUG - SKSE::log::info("Added dropped {} to cell storage", form->GetName()); - RE::DebugNotification("Adding to cell storage"); - #endif - g_cellStorage->AddObjectToContainer(form->As(), nullptr, 1, nullptr); + if (!g_bHomeContainer && !g_listStored->HasForm(form)) { + ListRemoveItem(g_listFound, form); + ListRemoveItem(g_listNew, form); + g_listStored->AddForm(form); + } + + // During OnContainerChanged, InventoryChanges do not have the current change included yet + } else if (a_event->oldContainer == 0x14 && !g_listStored->HasForm(form) && (GetItemCount(RE::PlayerCharacter::GetSingleton(), form) - a_event->itemCount <= 0) && !FollowersHaveItem(form)) { + // disposed by player + ListRemoveItem(g_listFound, form); + g_listNew->AddForm(form); + } } - ListRemoveItem(g_listFound, form); - ListRemoveItem(g_listNew, form); - g_listStored->AddForm(form); - return; } + } - if (g_listStored->HasForm(form)) { - return; + } else if (a_event->oldContainer) { // removed from container + + if (g_cellStorage && a_event->reference) { // dropped or placed on rack at home by any actor + + if (GetItemCount(g_cellStorage, form) <= 0) { + #ifdef _DEBUG + SKSE::log::info("Added dropped {} to cell storage", form->GetName()); + RE::DebugNotification("Adding to cell storage"); + #endif + g_cellStorage->AddObjectToContainer(form->As(), nullptr, 1, nullptr); } - // NB: During OnContainerChanged, InventoryChanges do not have the current change included yet - if ((GetItemCount(RE::PlayerCharacter::GetSingleton(), form) - a_event->itemCount <= 0) && !FollowersHaveItem(form)) { + if (!g_listStored->HasForm(form)) { ListRemoveItem(g_listFound, form); ListRemoveItem(g_listNew, form); - g_listNew->AddForm(form); + g_listStored->AddForm(form); } - return; - } - - if (g_persistentMap.contains(a_event->newContainer)) { // moved to a persistent container + } else if (a_event->oldContainer == 0x14) { // dropped, dismantled, consumed, removed by a script if (!g_listStored->HasForm(form)) { - ListRemoveItem(g_listFound, form); - g_listStored->AddForm(form); + if ((GetItemCount(RE::PlayerCharacter::GetSingleton(), form) - a_event->itemCount <= 0) && !FollowersHaveItem(form)) { + if (g_listFound->HasForm(form)) { + ListRemoveItem(g_listFound, form); + g_listNew->AddForm(form); + } + + } else if (!g_listFound->HasForm(form)) { + ListRemoveItem(g_listNew, form); + g_listFound->AddForm(form); + } } - } else if (g_cellStorage) { // stored at home in a non-persistent/non-registered container - - // g_bContainerMode is expected to be true, enabling processing after closing container. - // Can be hit by autosorting mods. Most of them work with persistent containers, which should be added to the list of persistent containers. + } else if (g_cellStorage && g_cellStorage->formID == a_event->oldContainer) { + return; // ignore cell storage - #ifdef _DEBUG - SKSE::log::info("Synchronous processing of a non-persistent container (moved from player)"); - #endif + } else if (const auto it = g_persistentMap.find(a_event->oldContainer); it != g_persistentMap.end()) { // deleted from a persistent container - const auto targetContainer = RE::TESForm::LookupByID(a_event->newContainer); + const auto ref = it->second; - if (IsValidContainer(targetContainer)) { - if (GetItemCount(g_cellStorage, form) <= 0) { - g_cellStorage->AddObjectToContainer(form->As(), nullptr, 1, nullptr); + if (ref && GetItemCount(ref, form) - a_event->itemCount <= 0) { // no items left in the container + for (const auto& persref : g_persistentMap) { + if (persref.second != ref) { + if (GetItemCount(persref.second, form) > 0) { + // if other containers have it, do nothing + return; + } + } + } + ListRemoveItem(g_listStored, form); + if (GetItemCount(RE::PlayerCharacter::GetSingleton(), form) || FollowersHaveItem(form)) { + g_listFound->AddForm(form); + } else { + g_listNew->AddForm(form); + } + } + + } else { + const auto ref = RE::TESForm::LookupByID(a_event->oldContainer); + + if (ref->Is(RE::FormType::ActorCharacter)) { + if (ref->As()->IsPlayerTeammate() && GetItemCount(ref->As(), form) - a_event->itemCount <= 0) { // removed from companion (probably, disarmed) + if (!g_listStored->HasForm(form) && g_listFound->HasForm(form)) { + + if (GetItemCount(RE::PlayerCharacter::GetSingleton(), form) <= 0) { + // player does not have it, check companions + if (const auto processLists = RE::ProcessLists::GetSingleton(); processLists) { + for (auto& actorHandle : processLists->highActorHandles) { + if (auto actor = actorHandle.get(); actor && actor->IsPlayerTeammate() && actor->formID != ref->formID) { + if (GetItemCount(actor.get(), form) > 0) { + // other companion has it, do nothing + return; + } + } + } + } + ListRemoveItem(g_listFound, form); + g_listNew->AddForm(form); + } + + } } - - if (!g_listStored->HasForm(form)) { - ListRemoveItem(g_listFound, form); - g_listStored->AddForm(form); + + } else { + const auto container = ref->As(); + if (container) { + if (g_cellStorage && container->GetParentCell() == RE::PlayerCharacter::GetSingleton()->GetParentCell()) { // deleted from container at home + + if (GetItemCount(container, form) - a_event->itemCount <= 0) { + SyncCellStorage(container->formID); + } + + } } } - - // NB: During OnContainerChanged, InventoryChanges do not have the current change included yet - } else if (g_listFound->HasForm(form) && (GetItemCount(RE::PlayerCharacter::GetSingleton(), form) - a_event->itemCount <= 0) && !FollowersHaveItem(form)) { - ListRemoveItem(g_listFound, form); - g_listNew->AddForm(form); } - } else if (g_cellStorage && a_event->reference) { - // Items dropped by someone else at home. - // Mainly for compatibility with Immersive Display Overhaul - SyncCellStorage(); } } diff --git a/Source/ArtifactTrackerDLL/src/ArtifactTracker.h b/Source/ArtifactTrackerDLL/src/ArtifactTracker.h index 2a88d68..8fdcba3 100644 --- a/Source/ArtifactTrackerDLL/src/ArtifactTracker.h +++ b/Source/ArtifactTrackerDLL/src/ArtifactTracker.h @@ -33,7 +33,7 @@ namespace ArtifactTracker void OnCellEnter(RE::BGSLocation* location, RE::TESObjectCELL* cell); - void SyncCellStorage(); + void SyncCellStorage(RE::FormID a_ignoreRef = NULL); void OnContainerChanged(const RE::TESContainerChangedEvent* a_event, RE::TESForm* form); diff --git a/Source/ArtifactTrackerDLL/src/EventListener.cpp b/Source/ArtifactTrackerDLL/src/EventListener.cpp index 2ddf0f9..ba97498 100644 --- a/Source/ArtifactTrackerDLL/src/EventListener.cpp +++ b/Source/ArtifactTrackerDLL/src/EventListener.cpp @@ -31,11 +31,9 @@ auto EventListener::ProcessEvent( RE::BSTEventSource* a_eventSource) -> RE::BSEventNotifyControl { - if (!ArtifactTracker::g_bHomeContainer && (a_event->newContainer == 0x14 || a_event->oldContainer == 0x14 || (ArtifactTracker::IsHome() && a_event->reference))) { - const auto form = ArtifactTracker::GetArtifactByID(a_event->baseObj); - if (form) { - ArtifactTracker::OnContainerChanged(a_event, form); - } + const auto form = ArtifactTracker::GetArtifactByID(a_event->baseObj); + if (form) { + ArtifactTracker::OnContainerChanged(a_event, form); } return RE::BSEventNotifyControl::kContinue;