Merge pull request #193 from Laupetin/feature/improve-info-string-logging

feat: improve info string logging
This commit is contained in:
Jan 2024-05-12 22:52:10 +02:00 committed by GitHub
commit f2628fcda4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
12 changed files with 31 additions and 11 deletions

View File

@ -1,6 +1,7 @@
#include "InfoString.h" #include "InfoString.h"
#include <cstring> #include <cstring>
#include <iostream>
#include <sstream> #include <sstream>
#include <stack> #include <stack>
@ -170,17 +171,36 @@ bool InfoString::FromStream(const std::string& prefix, std::istream& stream)
std::string readPrefix; std::string readPrefix;
if (!infoStream.NextField(readPrefix)) if (!infoStream.NextField(readPrefix))
{
std::cerr << "Invalid info string: Empty\n";
return false; return false;
}
if (prefix != readPrefix) if (prefix != readPrefix)
{
std::cerr << "Invalid info string: Prefix \"" << readPrefix << "\" did not match expected prefix \"" << prefix << "\"\n";
return false; return false;
}
std::string key; std::string key;
while (infoStream.NextField(key)) while (infoStream.NextField(key))
{ {
if (key.empty())
{
if (m_keys_by_insertion.empty())
std::cerr << "Invalid info string: Got empty key at the start of the info string\n";
else
std::cerr << "Invalid info string: Got empty key after key \"" << m_keys_by_insertion[m_keys_by_insertion.size() - 1] << "\"\n";
return false;
}
std::string value; std::string value;
if (!infoStream.NextField(value)) if (!infoStream.NextField(value))
{
std::cerr << "Invalid info string: Unexpected eof, no value for key \"" << key << "\"\n";
return false; return false;
}
const auto existingEntry = m_values.find(key); const auto existingEntry = m_values.find(key);
if (existingEntry == m_values.end()) if (existingEntry == m_values.end())

View File

@ -126,7 +126,7 @@ bool AssetLoaderPhysPreset::LoadFromRaw(
InfoString infoString; InfoString infoString;
if (!infoString.FromStream(ObjConstants::INFO_STRING_PREFIX_PHYS_PRESET, *file.m_stream)) if (!infoString.FromStream(ObjConstants::INFO_STRING_PREFIX_PHYS_PRESET, *file.m_stream))
{ {
std::cout << "Failed to read phys preset raw file: \"" << fileName << "\"\n"; std::cerr << "Could not parse as info string file: \"" << fileName << "\"\n";
return true; return true;
} }

View File

@ -440,7 +440,7 @@ bool AssetLoaderWeapon::LoadFromRaw(
InfoString infoString; InfoString infoString;
if (!infoString.FromStream(ObjConstants::INFO_STRING_PREFIX_WEAPON, *file.m_stream)) if (!infoString.FromStream(ObjConstants::INFO_STRING_PREFIX_WEAPON, *file.m_stream))
{ {
std::cerr << "Failed to read weapon raw file: \"" << fileName << "\"\n"; std::cerr << "Could not parse as info string file: \"" << fileName << "\"\n";
return true; return true;
} }

View File

@ -870,7 +870,7 @@ bool AssetLoaderWeapon::LoadFromRaw(
InfoString infoString; InfoString infoString;
if (!infoString.FromStream(ObjConstants::INFO_STRING_PREFIX_WEAPON, *file.m_stream)) if (!infoString.FromStream(ObjConstants::INFO_STRING_PREFIX_WEAPON, *file.m_stream))
{ {
std::cerr << "Failed to read weapon raw file: \"" << fileName << "\"\n"; std::cerr << "Could not parse as info string file: \"" << fileName << "\"\n";
return true; return true;
} }

View File

@ -146,7 +146,7 @@ bool AssetLoaderPhysConstraints::LoadFromRaw(
InfoString infoString; InfoString infoString;
if (!infoString.FromStream(ObjConstants::INFO_STRING_PREFIX_PHYS_CONSTRAINTS, *file.m_stream)) if (!infoString.FromStream(ObjConstants::INFO_STRING_PREFIX_PHYS_CONSTRAINTS, *file.m_stream))
{ {
std::cout << "Failed to read phys constraints raw file: \"" << fileName << "\"\n"; std::cerr << "Could not parse as info string file: \"" << fileName << "\"\n";
return true; return true;
} }

View File

@ -129,7 +129,7 @@ bool AssetLoaderPhysPreset::LoadFromRaw(
InfoString infoString; InfoString infoString;
if (!infoString.FromStream(ObjConstants::INFO_STRING_PREFIX_PHYS_PRESET, *file.m_stream)) if (!infoString.FromStream(ObjConstants::INFO_STRING_PREFIX_PHYS_PRESET, *file.m_stream))
{ {
std::cout << "Failed to read phys preset raw file: \"" << fileName << "\"\n"; std::cerr << "Could not parse as info string file: \"" << fileName << "\"\n";
return true; return true;
} }

View File

@ -112,7 +112,7 @@ bool AssetLoaderTracer::LoadFromRaw(
InfoString infoString; InfoString infoString;
if (!infoString.FromStream(ObjConstants::INFO_STRING_PREFIX_TRACER, *file.m_stream)) if (!infoString.FromStream(ObjConstants::INFO_STRING_PREFIX_TRACER, *file.m_stream))
{ {
std::cout << "Failed to read tracer raw file: \"" << fileName << "\"\n"; std::cerr << "Could not parse as info string file: \"" << fileName << "\"\n";
return true; return true;
} }

View File

@ -175,7 +175,7 @@ bool AssetLoaderVehicle::LoadFromRaw(
InfoString infoString; InfoString infoString;
if (!infoString.FromStream(ObjConstants::INFO_STRING_PREFIX_VEHICLE, *file.m_stream)) if (!infoString.FromStream(ObjConstants::INFO_STRING_PREFIX_VEHICLE, *file.m_stream))
{ {
std::cout << "Failed to read vehicle raw file: \"" << fileName << "\"\n"; std::cerr << "Could not parse as info string file: \"" << fileName << "\"\n";
return true; return true;
} }

View File

@ -621,7 +621,7 @@ bool AssetLoaderWeapon::LoadFromRaw(
InfoString infoString; InfoString infoString;
if (!infoString.FromStream(ObjConstants::INFO_STRING_PREFIX_WEAPON, *file.m_stream)) if (!infoString.FromStream(ObjConstants::INFO_STRING_PREFIX_WEAPON, *file.m_stream))
{ {
std::cerr << "Failed to read weapon raw file: \"" << fileName << "\"\n"; std::cerr << "Could not parse as info string file: \"" << fileName << "\"\n";
return true; return true;
} }

View File

@ -165,7 +165,7 @@ bool AssetLoaderWeaponAttachment::LoadFromRaw(
InfoString infoString; InfoString infoString;
if (!infoString.FromStream(ObjConstants::INFO_STRING_PREFIX_WEAPON_ATTACHMENT, *file.m_stream)) if (!infoString.FromStream(ObjConstants::INFO_STRING_PREFIX_WEAPON_ATTACHMENT, *file.m_stream))
{ {
std::cerr << "Failed to read attachment raw file: \"" << fileName << "\"\n"; std::cerr << "Could not parse as info string file: \"" << fileName << "\"\n";
return true; return true;
} }

View File

@ -285,7 +285,7 @@ bool AssetLoaderWeaponAttachmentUnique::LoadFromRaw(
InfoString infoString; InfoString infoString;
if (!infoString.FromStream(ObjConstants::INFO_STRING_PREFIX_WEAPON_ATTACHMENT_UNIQUE, *file.m_stream)) if (!infoString.FromStream(ObjConstants::INFO_STRING_PREFIX_WEAPON_ATTACHMENT_UNIQUE, *file.m_stream))
{ {
std::cerr << "Failed to read attachment unique raw file: \"" << fileName << "\"\n"; std::cerr << "Could not parse as info string file: \"" << fileName << "\"\n";
return true; return true;
} }

View File

@ -126,7 +126,7 @@ bool AssetLoaderZBarrier::LoadFromRaw(
InfoString infoString; InfoString infoString;
if (!infoString.FromStream(ObjConstants::INFO_STRING_PREFIX_ZBARRIER, *file.m_stream)) if (!infoString.FromStream(ObjConstants::INFO_STRING_PREFIX_ZBARRIER, *file.m_stream))
{ {
std::cout << "Failed to read zbarrier raw file: \"" << fileName << "\"\n"; std::cerr << "Could not parse as info string file: \"" << fileName << "\"\n";
return true; return true;
} }