From ea36957b1ee9c46fc4cb00fc3d6dbeb0231c6483 Mon Sep 17 00:00:00 2001 From: arthurdead Date: Mon, 21 Nov 2022 11:17:30 -0300 Subject: [PATCH] only call IndexToReference inside SendTable_CalcDelta once --- extension.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/extension.cpp b/extension.cpp index 84664ae..705ee2a 100644 --- a/extension.cpp +++ b/extension.cpp @@ -1364,6 +1364,8 @@ DETOUR_DECL_STATIC8(SendTable_CalcDelta, int, const SendTable *, pTable, const v int new_nChanges{total_nChanges}; + int ref = gamehelpers->IndexToReference(objectID); + const std::size_t slots_size{packentity_params->slots.size()}; for(int i{0}; i < slots_size; ++i) { using entity_data_t = std::vector; @@ -1371,8 +1373,8 @@ DETOUR_DECL_STATIC8(SendTable_CalcDelta, int, const SendTable *, pTable, const v packed_entity_data_t *packedData{nullptr}; for(entity_data_t::reverse_iterator it{entity_data.rbegin()}; it != entity_data.rend(); ++it) { - if(it->ref == gamehelpers->IndexToReference(objectID)) { - packedData = &*it; + if(it->ref == ref) { + packedData = &(*it); break; } }