From 7d3791a404035ace6d0b66e308ef0783253e5076 Mon Sep 17 00:00:00 2001 From: njohnson Date: Sat, 2 May 2026 13:08:55 -0400 Subject: [PATCH] Change manual CString reader to std::getline builtin. Don't require cucoloris be present. --- .../Game/IW5/LightDef/LightDefLoaderIW5.cpp | 31 ++++++------------- 1 file changed, 9 insertions(+), 22 deletions(-) diff --git a/src/ObjLoading/Game/IW5/LightDef/LightDefLoaderIW5.cpp b/src/ObjLoading/Game/IW5/LightDef/LightDefLoaderIW5.cpp index 43908f7e..1d728e6c 100644 --- a/src/ObjLoading/Game/IW5/LightDef/LightDefLoaderIW5.cpp +++ b/src/ObjLoading/Game/IW5/LightDef/LightDefLoaderIW5.cpp @@ -37,16 +37,8 @@ namespace int8_t attenuationSamplerState; file.m_stream->read(reinterpret_cast(&attenuationSamplerState), sizeof(int8_t)); - std::string attenuationName = ""; - unsigned char letter; - file.m_stream->read(reinterpret_cast(&letter), sizeof(int8_t)); - while (letter != '\0') - { - attenuationName += letter; - - file.m_stream->read(reinterpret_cast(&letter), sizeof(int8_t)); - } - + std::string attenuationName; + std::getline(*file.m_stream, attenuationName, '\0'); auto* attenuationImageDependency = context.LoadDependency(attenuationName); if (!attenuationImageDependency) { @@ -58,22 +50,17 @@ namespace int8_t cucolorisSamplerState; file.m_stream->read(reinterpret_cast(&cucolorisSamplerState), sizeof(int8_t)); - std::string cucolorisName = ""; - file.m_stream->read(reinterpret_cast(&letter), sizeof(int8_t)); - while (letter != '\0') - { - cucolorisName += letter; - - file.m_stream->read(reinterpret_cast(&cucolorisName), sizeof(int8_t)); - } - + std::string cucolorisName; + std::getline(*file.m_stream, cucolorisName, '\0'); auto* cucolorisImageDependency = context.LoadDependency(cucolorisName); if (!cucolorisImageDependency) { - con::error("Could not load GfxLightDef \"{}\" due to missing cucoloris image \"{}\"", assetName, cucolorisName); - return AssetCreationResult::Failure(); + con::warn("Could not load GfxLightDef \"{}\" due to missing cucoloris image \"{}\"", assetName, cucolorisName); + } + else + { + registration.AddDependency(cucolorisImageDependency); } - registration.AddDependency(cucolorisImageDependency); int8_t lmapLookupStart; file.m_stream->read(reinterpret_cast(&lmapLookupStart), sizeof(int8_t));