From c41b8e00ff799afe44c003988cf6916f381aed95 Mon Sep 17 00:00:00 2001 From: AzaezelX Date: Thu, 22 Jul 2021 11:57:41 -0500 Subject: [PATCH] clean up the light.cookie entries --- .../lighting/shadowMap/lightShadowMap.cpp | 17 +++++++++-------- .../source/lighting/shadowMap/lightShadowMap.h | 4 ++-- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/Engine/source/lighting/shadowMap/lightShadowMap.cpp b/Engine/source/lighting/shadowMap/lightShadowMap.cpp index 798d03f2e..3fde1ccbf 100644 --- a/Engine/source/lighting/shadowMap/lightShadowMap.cpp +++ b/Engine/source/lighting/shadowMap/lightShadowMap.cpp @@ -542,6 +542,7 @@ ShadowMapParams::ShadowMapParams( LightInfo *light ) fadeStartDist = 75.0f; lastSplitTerrainOnly = false; mQuery = GFX->createOcclusionQuery(); + cookie = StringTable->EmptyString();; _validate(); } @@ -647,15 +648,15 @@ LightShadowMap* ShadowMapParams::getOrCreateShadowMap() GFXTextureObject* ShadowMapParams::getCookieTex() { - if ( cookie.isNotEmpty() && + if ( hasCookieTex() && ( mCookieTex.isNull() || - cookie != mCookieTex->getPath() ) ) + cookie != StringTable->insert(mCookieTex->getPath().c_str()) ) ) { mCookieTex.set( cookie, &GFXStaticTextureSRGBProfile, "ShadowMapParams::getCookieTex()" ); } - else if ( cookie.isEmpty() ) + else if (!hasCookieTex()) mCookieTex = NULL; return mCookieTex.getPointer(); @@ -663,13 +664,13 @@ GFXTextureObject* ShadowMapParams::getCookieTex() GFXCubemap* ShadowMapParams::getCookieCubeTex() { - if ( cookie.isNotEmpty() && + if ( hasCookieTex() && ( mCookieCubeTex.isNull() || - cookie != mCookieCubeTex->getPath() ) ) + cookie != StringTable->insert(mCookieTex->getPath().c_str())) ) { mCookieCubeTex.set( cookie ); } - else if ( cookie.isEmpty() ) + else if (!hasCookieTex()) mCookieCubeTex = NULL; return mCookieCubeTex.getPointer(); @@ -693,7 +694,7 @@ void ShadowMapParams::packUpdate( BitStream *stream ) const stream->write( texSize ); - stream->write( cookie ); + stream->writeString( cookie ); stream->write( numSplits ); stream->write( logWeight ); @@ -723,7 +724,7 @@ void ShadowMapParams::unpackUpdate( BitStream *stream ) stream->read( &texSize ); - stream->read( &cookie ); + cookie = stream->readSTString(); stream->read( &numSplits ); stream->read( &logWeight ); diff --git a/Engine/source/lighting/shadowMap/lightShadowMap.h b/Engine/source/lighting/shadowMap/lightShadowMap.h index 1e2d3e267..57870ac62 100644 --- a/Engine/source/lighting/shadowMap/lightShadowMap.h +++ b/Engine/source/lighting/shadowMap/lightShadowMap.h @@ -288,7 +288,7 @@ public: LightShadowMap* getOrCreateShadowMap(); - bool hasCookieTex() const { return cookie.isNotEmpty(); } + bool hasCookieTex() const { return cookie != StringTable->EmptyString(); } GFXOcclusionQuery* getOcclusionQuery() const { return mQuery; } @@ -325,7 +325,7 @@ public: U32 texSize; /// - FileName cookie; + StringTableEntry cookie; /// @}