Browse Source

clean up the light.cookie entries

AzaezelX 4 years ago
parent
commit
c41b8e00ff

+ 9 - 8
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 );

+ 2 - 2
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;
 
    /// @}