From ce31472f7f20a77a43f796940ee1ad3732cfb7c2 Mon Sep 17 00:00:00 2001 From: Jan Date: Sun, 4 Feb 2024 21:14:50 +0100 Subject: [PATCH] fix: notetracksoundmap initialized with empty string instead of nullptr in t6 --- .../T6/AssetLoaders/AssetLoaderWeapon.cpp | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/ObjLoading/Game/T6/AssetLoaders/AssetLoaderWeapon.cpp b/src/ObjLoading/Game/T6/AssetLoaders/AssetLoaderWeapon.cpp index 9f58e6bc..88c950a1 100644 --- a/src/ObjLoading/Game/T6/AssetLoaders/AssetLoaderWeapon.cpp +++ b/src/ObjLoading/Game/T6/AssetLoaders/AssetLoaderWeapon.cpp @@ -83,14 +83,13 @@ namespace T6 std::vector> pairs; if (!ParseAsPairs(value, pairs)) { - std::cout << "Failed to parse notetracksoundmap as pairs" << std::endl; + std::cout << "Failed to parse notetracksoundmap as pairs\n"; return false; } if (pairs.size() > std::extent_v) { - std::cout << "Cannot have more than " << std::extent_v << " notetracksoundmap entries!" - << std::endl; + std::cout << "Cannot have more than " << std::extent_v << " notetracksoundmap entries!\n"; return false; } @@ -100,21 +99,27 @@ namespace T6 if (pairs.size() < std::extent_v) { - m_used_script_string_list.emplace(m_zone_script_strings.AddOrGetScriptString("")); + m_used_script_string_list.emplace(m_zone_script_strings.AddOrGetScriptString(nullptr)); } for (; currentEntryNum < pairs.size(); currentEntryNum++) { - keys[currentEntryNum] = m_zone_script_strings.AddOrGetScriptString(pairs[currentEntryNum].first); - m_used_script_string_list.emplace(keys[currentEntryNum]); + const auto& currentValue = pairs[currentEntryNum]; + const auto keyScriptString = !currentValue.first.empty() ? m_zone_script_strings.AddOrGetScriptString(currentValue.first) + : m_zone_script_strings.AddOrGetScriptString(nullptr); + const auto valueScriptString = !currentValue.second.empty() ? m_zone_script_strings.AddOrGetScriptString(currentValue.second) + : m_zone_script_strings.AddOrGetScriptString(nullptr); - values[currentEntryNum] = m_zone_script_strings.AddOrGetScriptString(pairs[currentEntryNum].second); - m_used_script_string_list.emplace(values[currentEntryNum]); + keys[currentEntryNum] = keyScriptString; + m_used_script_string_list.emplace(keyScriptString); + + values[currentEntryNum] = valueScriptString; + m_used_script_string_list.emplace(valueScriptString); } for (; currentEntryNum < std::extent_v; currentEntryNum++) { - const auto emptyScr = m_zone_script_strings.GetScriptString(""); + const auto emptyScr = m_zone_script_strings.GetScriptString(nullptr); keys[currentEntryNum] = emptyScr; values[currentEntryNum] = emptyScr; }