From 4208bab758c8df3fc68429e1beed174946ede9e5 Mon Sep 17 00:00:00 2001 From: njohnson Date: Mon, 11 May 2026 14:54:10 -0400 Subject: [PATCH] Remove un-needed constants and switch to parsing name by null character. --- .../Game/IW3/LightDef/LightDefLoaderIW3.cpp | 13 +++---------- .../IW4/LightDef/LightDefAssetCreationStateIW4.cpp | 5 +++++ .../IW4/LightDef/LightDefAssetCreationStateIW4.h | 2 -- .../Game/IW4/LightDef/LightDefLoaderIW4.cpp | 12 ++---------- .../IW5/LightDef/LightDefAssetCreationStateIW5.cpp | 5 +++++ .../IW5/LightDef/LightDefAssetCreationStateIW5.h | 2 -- .../Game/T5/LightDef/LightDefLoaderT5.cpp | 12 ++---------- .../Game/T6/LightDef/LightDefLoaderT6.cpp | 12 ++---------- 8 files changed, 19 insertions(+), 44 deletions(-) diff --git a/src/ObjLoading/Game/IW3/LightDef/LightDefLoaderIW3.cpp b/src/ObjLoading/Game/IW3/LightDef/LightDefLoaderIW3.cpp index 57d55e72..17bd0d19 100644 --- a/src/ObjLoading/Game/IW3/LightDef/LightDefLoaderIW3.cpp +++ b/src/ObjLoading/Game/IW3/LightDef/LightDefLoaderIW3.cpp @@ -13,8 +13,6 @@ using namespace IW3; namespace { - constexpr auto MAX_IMAGE_NAME_SIZE = 0x800; - class LoaderLightDef final : public AssetCreator { public: @@ -31,23 +29,18 @@ namespace if (!file.IsOpen()) return AssetCreationResult::NoAction(); - const auto imageNameSize = file.m_length - sizeof(char) - sizeof(char); - if (imageNameSize < 0 || imageNameSize > MAX_IMAGE_NAME_SIZE) - return AssetCreationResult::Failure(); - auto* lightDef = m_memory.Alloc(); lightDef->name = m_memory.Dup(assetName.c_str()); context.GetZoneAssetCreationState().SetLightDefLookupStart(lightDef, context); AssetRegistration registration(assetName, lightDef); - - std::string imageName(static_cast(imageNameSize), '\0'); - + + std::string imageName; int8_t samplerState; int8_t lmapLookupStart; file.m_stream->read(reinterpret_cast(&samplerState), sizeof(int8_t)); - file.m_stream->read(&imageName[0], static_cast(imageNameSize)); + std::getline(*file.m_stream, imageName, '\0'); auto* imageDependency = context.LoadDependency(imageName); if (!imageDependency) diff --git a/src/ObjLoading/Game/IW4/LightDef/LightDefAssetCreationStateIW4.cpp b/src/ObjLoading/Game/IW4/LightDef/LightDefAssetCreationStateIW4.cpp index c811e6a1..87afdce7 100644 --- a/src/ObjLoading/Game/IW4/LightDef/LightDefAssetCreationStateIW4.cpp +++ b/src/ObjLoading/Game/IW4/LightDef/LightDefAssetCreationStateIW4.cpp @@ -4,6 +4,11 @@ using namespace IW4; +namespace +{ + constexpr auto MAX_LMAP_USAGE = 512; +}; + LightDefAssetCreationState::LightDefAssetCreationState() : m_lmap_pixels_used_for_falloff(0) { diff --git a/src/ObjLoading/Game/IW4/LightDef/LightDefAssetCreationStateIW4.h b/src/ObjLoading/Game/IW4/LightDef/LightDefAssetCreationStateIW4.h index 5f7dfee2..da7c3607 100644 --- a/src/ObjLoading/Game/IW4/LightDef/LightDefAssetCreationStateIW4.h +++ b/src/ObjLoading/Game/IW4/LightDef/LightDefAssetCreationStateIW4.h @@ -6,8 +6,6 @@ namespace IW4 { - constexpr auto MAX_LMAP_USAGE = 512; - class LightDefAssetCreationState : public IZoneAssetCreationState { public: diff --git a/src/ObjLoading/Game/IW4/LightDef/LightDefLoaderIW4.cpp b/src/ObjLoading/Game/IW4/LightDef/LightDefLoaderIW4.cpp index c3a7e09f..e46f6e52 100644 --- a/src/ObjLoading/Game/IW4/LightDef/LightDefLoaderIW4.cpp +++ b/src/ObjLoading/Game/IW4/LightDef/LightDefLoaderIW4.cpp @@ -13,8 +13,6 @@ using namespace IW4; namespace { - constexpr auto MAX_IMAGE_NAME_SIZE = 0x800; - class LoaderLightDef final : public AssetCreator { public: @@ -31,10 +29,6 @@ namespace if (!file.IsOpen()) return AssetCreationResult::NoAction(); - const auto imageNameSize = file.m_length - sizeof(char) - sizeof(char); - if (imageNameSize < 0 || imageNameSize > MAX_IMAGE_NAME_SIZE) - return AssetCreationResult::Failure(); - auto* lightDef = m_memory.Alloc(); lightDef->name = m_memory.Dup(assetName.c_str()); @@ -42,13 +36,11 @@ namespace AssetRegistration registration(assetName, lightDef); - std::string imageName(static_cast(imageNameSize), '\0'); - + std::string imageName; int8_t samplerState; int8_t lmapLookupStart; file.m_stream->read(reinterpret_cast(&samplerState), sizeof(int8_t)); - file.m_stream->read(&imageName[0], static_cast(imageNameSize)); - file.m_stream->read(reinterpret_cast(&lmapLookupStart), sizeof(int8_t)); + std::getline(*file.m_stream, imageName, '\0'); auto* imageDependency = context.LoadDependency(imageName); if (!imageDependency) diff --git a/src/ObjLoading/Game/IW5/LightDef/LightDefAssetCreationStateIW5.cpp b/src/ObjLoading/Game/IW5/LightDef/LightDefAssetCreationStateIW5.cpp index 1bd15ed8..5000ddf0 100644 --- a/src/ObjLoading/Game/IW5/LightDef/LightDefAssetCreationStateIW5.cpp +++ b/src/ObjLoading/Game/IW5/LightDef/LightDefAssetCreationStateIW5.cpp @@ -4,6 +4,11 @@ using namespace IW5; +namespace +{ + constexpr auto MAX_LMAP_USAGE = 512; +}; + LightDefAssetCreationState::LightDefAssetCreationState() : m_lmap_pixels_used_for_falloff(0) { diff --git a/src/ObjLoading/Game/IW5/LightDef/LightDefAssetCreationStateIW5.h b/src/ObjLoading/Game/IW5/LightDef/LightDefAssetCreationStateIW5.h index 45a23f34..d38fd985 100644 --- a/src/ObjLoading/Game/IW5/LightDef/LightDefAssetCreationStateIW5.h +++ b/src/ObjLoading/Game/IW5/LightDef/LightDefAssetCreationStateIW5.h @@ -6,8 +6,6 @@ namespace IW5 { - constexpr auto MAX_LMAP_USAGE = 512; - class LightDefAssetCreationState : public IZoneAssetCreationState { public: diff --git a/src/ObjLoading/Game/T5/LightDef/LightDefLoaderT5.cpp b/src/ObjLoading/Game/T5/LightDef/LightDefLoaderT5.cpp index 37ee1392..ea4e4a64 100644 --- a/src/ObjLoading/Game/T5/LightDef/LightDefLoaderT5.cpp +++ b/src/ObjLoading/Game/T5/LightDef/LightDefLoaderT5.cpp @@ -12,8 +12,6 @@ using namespace T5; namespace { - constexpr auto MAX_IMAGE_NAME_SIZE = 0x800; - class LoaderLightDef final : public AssetCreator { public: @@ -30,22 +28,16 @@ namespace if (!file.IsOpen()) return AssetCreationResult::NoAction(); - const auto imageNameSize = file.m_length - sizeof(char) - sizeof(char); - if (imageNameSize < 0 || imageNameSize > MAX_IMAGE_NAME_SIZE) - return AssetCreationResult::Failure(); - auto* lightDef = m_memory.Alloc(); lightDef->name = m_memory.Dup(assetName.c_str()); AssetRegistration registration(assetName, lightDef); - std::string imageName(static_cast(imageNameSize), '\0'); - + std::string attenuationName; int8_t samplerState; int8_t lmapLookupStart; file.m_stream->read(reinterpret_cast(&samplerState), sizeof(int8_t)); - file.m_stream->read(&imageName[0], static_cast(imageNameSize)); - file.m_stream->read(reinterpret_cast(&lmapLookupStart), sizeof(int8_t)); + std::getline(*file.m_stream, attenuationName, '\0'); auto* imageDependency = context.LoadDependency(imageName); if (!imageDependency) diff --git a/src/ObjLoading/Game/T6/LightDef/LightDefLoaderT6.cpp b/src/ObjLoading/Game/T6/LightDef/LightDefLoaderT6.cpp index b57b404f..3b26ce98 100644 --- a/src/ObjLoading/Game/T6/LightDef/LightDefLoaderT6.cpp +++ b/src/ObjLoading/Game/T6/LightDef/LightDefLoaderT6.cpp @@ -12,8 +12,6 @@ using namespace T6; namespace { - constexpr auto MAX_IMAGE_NAME_SIZE = 0x800; - class LoaderLightDef final : public AssetCreator { public: @@ -30,22 +28,16 @@ namespace if (!file.IsOpen()) return AssetCreationResult::NoAction(); - const auto imageNameSize = file.m_length - sizeof(char) - sizeof(char); - if (imageNameSize < 0 || imageNameSize > MAX_IMAGE_NAME_SIZE) - return AssetCreationResult::Failure(); - auto* lightDef = m_memory.Alloc(); lightDef->name = m_memory.Dup(assetName.c_str()); AssetRegistration registration(assetName, lightDef); - std::string imageName(static_cast(imageNameSize), '\0'); - + std::string attenuationName; int8_t samplerState; int8_t lmapLookupStart; file.m_stream->read(reinterpret_cast(&samplerState), sizeof(int8_t)); - file.m_stream->read(&imageName[0], static_cast(imageNameSize)); - file.m_stream->read(reinterpret_cast(&lmapLookupStart), sizeof(int8_t)); + std::getline(*file.m_stream, attenuationName, '\0'); auto* imageDependency = context.LoadDependency(imageName); if (!imageDependency)