@ -83,17 +83,6 @@ void ActorAnimation::itemRemoved(const MWWorld::ConstPtr& item, int /*count*/)
}
}
}
}
void ActorAnimation : : objectRootReset ( )
{
if ( SceneUtil : : LightListCallback * callback = findLightListCallback ( ) )
{
for ( ItemLightMap : : iterator iter = mItemLights . begin ( ) ; iter ! = mItemLights . end ( ) ; + + iter )
{
callback - > getIgnoredLightSources ( ) . insert ( iter - > second ) ;
}
}
}
void ActorAnimation : : addHiddenItemLight ( const MWWorld : : ConstPtr & item , const ESM : : Light * esmLight )
void ActorAnimation : : addHiddenItemLight ( const MWWorld : : ConstPtr & item , const ESM : : Light * esmLight )
{
{
if ( mItemLights . find ( item ) ! = mItemLights . end ( ) )
if ( mItemLights . find ( item ) ! = mItemLights . end ( ) )
@ -115,7 +104,7 @@ void ActorAnimation::addHiddenItemLight(const MWWorld::ConstPtr& item, const ESM
mInsert - > addChild ( lightSource ) ;
mInsert - > addChild ( lightSource ) ;
if ( SceneUtil : : LightListCallback * callback = findLightListCallback( ) )
if ( SceneUtil : : LightListCallback * callback = mLightListCallback )
callback - > getIgnoredLightSources ( ) . insert ( lightSource . get ( ) ) ;
callback - > getIgnoredLightSources ( ) . insert ( lightSource . get ( ) ) ;
mItemLights . insert ( std : : make_pair ( item , lightSource ) ) ;
mItemLights . insert ( std : : make_pair ( item , lightSource ) ) ;
@ -127,7 +116,7 @@ void ActorAnimation::removeHiddenItemLight(const MWWorld::ConstPtr& item)
if ( iter = = mItemLights . end ( ) )
if ( iter = = mItemLights . end ( ) )
return ;
return ;
if ( SceneUtil : : LightListCallback * callback = findLightListCallback( ) )
if ( SceneUtil : : LightListCallback * callback = mLightListCallback )
{
{
std : : set < SceneUtil : : LightSource * > : : iterator ignoredIter = callback - > getIgnoredLightSources ( ) . find ( iter - > second . get ( ) ) ;
std : : set < SceneUtil : : LightSource * > : : iterator ignoredIter = callback - > getIgnoredLightSources ( ) . find ( iter - > second . get ( ) ) ;
if ( ignoredIter ! = callback - > getIgnoredLightSources ( ) . end ( ) )
if ( ignoredIter ! = callback - > getIgnoredLightSources ( ) . end ( ) )
@ -138,18 +127,4 @@ void ActorAnimation::removeHiddenItemLight(const MWWorld::ConstPtr& item)
mItemLights . erase ( iter ) ;
mItemLights . erase ( iter ) ;
}
}
SceneUtil : : LightListCallback * ActorAnimation : : findLightListCallback ( )
{
if ( osg : : Callback * callback = mObjectRoot - > getCullCallback ( ) )
{
do
{
if ( SceneUtil : : LightListCallback * lightListCallback = dynamic_cast < SceneUtil : : LightListCallback * > ( callback ) )
return lightListCallback ;
}
while ( ( callback = callback - > getNestedCallback ( ) ) ) ;
}
return NULL ;
}
}
}