From 1288ec5cea93c201dfe0252d3c1a3db117d8b8a1 Mon Sep 17 00:00:00 2001 From: Evil Eye Date: Sat, 27 Jan 2024 16:49:20 +0100 Subject: [PATCH] Use deserializeText for find and countOf --- apps/openmw/mwlua/objectbindings.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/openmw/mwlua/objectbindings.cpp b/apps/openmw/mwlua/objectbindings.cpp index 47c55e86f0..2a30e31948 100644 --- a/apps/openmw/mwlua/objectbindings.cpp +++ b/apps/openmw/mwlua/objectbindings.cpp @@ -215,7 +215,7 @@ namespace MWLua objectT["recordId"] = sol::readonly_property( [](const ObjectT& o) -> std::string { return o.ptr().getCellRef().getRefId().serializeText(); }); objectT["globalVariable"] = sol::readonly_property([](const ObjectT& o) -> sol::optional { - std::string globalVariable = o.ptr().getCellRef().getGlobalVariable(); + std::string_view globalVariable = o.ptr().getCellRef().getGlobalVariable(); if (globalVariable.empty()) return sol::nullopt; else @@ -619,7 +619,7 @@ namespace MWLua inventoryT["countOf"] = [](const InventoryT& inventory, std::string_view recordId) { const MWWorld::Ptr& ptr = inventory.mObj.ptr(); MWWorld::ContainerStore& store = ptr.getClass().getContainerStore(ptr); - return store.count(ESM::RefId::stringRefId(recordId)); + return store.count(ESM::RefId::deserializeText(recordId)); }; if constexpr (std::is_same_v) { @@ -637,7 +637,7 @@ namespace MWLua inventoryT["find"] = [](const InventoryT& inventory, std::string_view recordId) -> sol::optional { const MWWorld::Ptr& ptr = inventory.mObj.ptr(); MWWorld::ContainerStore& store = ptr.getClass().getContainerStore(ptr); - auto itemId = ESM::RefId::stringRefId(recordId); + auto itemId = ESM::RefId::deserializeText(recordId); for (const MWWorld::Ptr& item : store) { if (item.getCellRef().getRefId() == itemId) @@ -651,7 +651,7 @@ namespace MWLua inventoryT["findAll"] = [](const InventoryT& inventory, std::string_view recordId) { const MWWorld::Ptr& ptr = inventory.mObj.ptr(); MWWorld::ContainerStore& store = ptr.getClass().getContainerStore(ptr); - auto itemId = ESM::RefId::stringRefId(recordId); + auto itemId = ESM::RefId::deserializeText(recordId); ObjectIdList list = std::make_shared>(); for (const MWWorld::Ptr& item : store) {