Fix ambient light getting set from the cell data for non-interior cells

This commit is contained in:
scrawl 2013-08-22 10:47:15 +02:00
parent dc6e15f38e
commit 1adce8afb3

View file

@ -547,6 +547,7 @@ void RenderingManager::setAmbientMode()
void RenderingManager::configureAmbient(MWWorld::Ptr::CellStore &mCell) void RenderingManager::configureAmbient(MWWorld::Ptr::CellStore &mCell)
{ {
if (mCell.mCell->mData.mFlags & ESM::Cell::Interior)
mAmbientColor.setAsABGR (mCell.mCell->mAmbi.mAmbient); mAmbientColor.setAsABGR (mCell.mCell->mAmbi.mAmbient);
setAmbientMode(); setAmbientMode();
@ -555,12 +556,15 @@ void RenderingManager::configureAmbient(MWWorld::Ptr::CellStore &mCell)
if(!mSun) if(!mSun)
{ {
mSun = mRendering.getScene()->createLight(); mSun = mRendering.getScene()->createLight();
mSun->setType(Ogre::Light::LT_DIRECTIONAL);
} }
if (mCell.mCell->mData.mFlags & ESM::Cell::Interior)
{
Ogre::ColourValue colour; Ogre::ColourValue colour;
colour.setAsABGR (mCell.mCell->mAmbi.mSunlight); colour.setAsABGR (mCell.mCell->mAmbi.mSunlight);
mSun->setDiffuseColour (colour); mSun->setDiffuseColour (colour);
mSun->setType(Ogre::Light::LT_DIRECTIONAL);
mSun->setDirection(0,-1,0); mSun->setDirection(0,-1,0);
}
} }
// Switch through lighting modes. // Switch through lighting modes.