mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-02-20 19:39:41 +00:00
Merge upstream/master
This commit is contained in:
commit
1a30a917af
6 changed files with 24 additions and 5 deletions
|
@ -96,6 +96,12 @@ namespace MWGui
|
|||
return (!mTimeAdvancer.isRunning()); //Only exit if not currently waiting
|
||||
}
|
||||
|
||||
void WaitDialog::clear()
|
||||
{
|
||||
mSleeping = false;
|
||||
mTimeAdvancer.stop();
|
||||
}
|
||||
|
||||
void WaitDialog::onOpen()
|
||||
{
|
||||
if (mTimeAdvancer.isRunning())
|
||||
|
|
|
@ -33,6 +33,8 @@ namespace MWGui
|
|||
|
||||
virtual bool exit();
|
||||
|
||||
virtual void clear();
|
||||
|
||||
void onFrame(float dt);
|
||||
|
||||
bool getSleeping() { return mTimeAdvancer.isRunning() && mSleeping; }
|
||||
|
|
|
@ -388,9 +388,6 @@ void NpcAnimation::rebuild()
|
|||
{
|
||||
updateNpcBase();
|
||||
|
||||
if (mAlpha != 1.f)
|
||||
mResourceSystem->getSceneManager()->recreateShaders(mObjectRoot);
|
||||
|
||||
MWBase::Environment::get().getMechanicsManager()->forceStateUpdate(mPtr);
|
||||
}
|
||||
|
||||
|
@ -651,6 +648,9 @@ void NpcAnimation::updateParts()
|
|||
|
||||
if (wasArrowAttached)
|
||||
attachArrow();
|
||||
|
||||
if (mAlpha != 1.f)
|
||||
mResourceSystem->getSceneManager()->recreateShaders(mObjectRoot);
|
||||
}
|
||||
|
||||
|
||||
|
@ -917,6 +917,8 @@ void NpcAnimation::showWeapons(bool showWeapon)
|
|||
attachArrow();
|
||||
}
|
||||
}
|
||||
if (mAlpha != 1.f)
|
||||
mResourceSystem->getSceneManager()->recreateShaders(mObjectRoot);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -942,6 +944,8 @@ void NpcAnimation::showCarriedLeft(bool show)
|
|||
if (iter->getTypeName() == typeid(ESM::Light).name() && mObjectParts[ESM::PRT_Shield])
|
||||
addExtraLight(mObjectParts[ESM::PRT_Shield]->getNode()->asGroup(), iter->get<ESM::Light>()->mBase);
|
||||
}
|
||||
if (mAlpha != 1.f)
|
||||
mResourceSystem->getSceneManager()->recreateShaders(mObjectRoot);
|
||||
}
|
||||
else
|
||||
removeIndividualPart(ESM::PRT_Shield);
|
||||
|
|
|
@ -806,7 +806,7 @@ void MWWorld::ContainerStore::readState (const ESM::InventoryState& inventory)
|
|||
case ESM::REC_WEAP: readEquipmentState (getState (weapons, state), thisIndex, inventory); break;
|
||||
case ESM::REC_LIGH: readEquipmentState (getState (lights, state), thisIndex, inventory); break;
|
||||
case 0:
|
||||
std::cerr << "Warning: Dropping reference to '" << state.mRef.mRefID << "' (object no longer exists)" << std::endl;
|
||||
std::cerr << "Dropping inventory reference to '" << state.mRef.mRefID << "' (object no longer exists)" << std::endl;
|
||||
break;
|
||||
default:
|
||||
std::cerr << "Warning: Invalid item type in inventory state, refid " << state.mRef.mRefID << std::endl;
|
||||
|
|
|
@ -162,7 +162,11 @@ namespace Shader
|
|||
{
|
||||
std::string shaderSource = templateIt->second;
|
||||
if (!parseDefines(shaderSource, definesWithShadows))
|
||||
{
|
||||
// Add to the cache anyway to avoid logging the same error over and over.
|
||||
mShaders.insert(std::make_pair(std::make_pair(shaderTemplate, defines), nullptr));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
osg::ref_ptr<osg::Shader> shader (new osg::Shader(shaderType));
|
||||
shader->setShaderSource(shaderSource);
|
||||
|
|
|
@ -116,7 +116,10 @@ namespace Terrain
|
|||
osg::ref_ptr<osg::Shader> vertexShader = shaderManager->getShader("terrain_vertex.glsl", defineMap, osg::Shader::VERTEX);
|
||||
osg::ref_ptr<osg::Shader> fragmentShader = shaderManager->getShader("terrain_fragment.glsl", defineMap, osg::Shader::FRAGMENT);
|
||||
if (!vertexShader || !fragmentShader)
|
||||
throw std::runtime_error("Unable to create shader");
|
||||
{
|
||||
// Try again without shader. Error already logged by above
|
||||
return createPasses(false, forcePerPixelLighting, clampLighting, shaderManager, layers, blendmaps, blendmapScale, layerTileSize);
|
||||
}
|
||||
|
||||
stateset->setAttributeAndModes(shaderManager->getProgram(vertexShader, fragmentShader));
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue