1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-05-01 02:41:24 +00:00

Merge branch 'sundamageforquasiexterior' into 'master'

Sun Damage for QuasiExt

Closes #6949

See merge request OpenMW/openmw!2296
This commit is contained in:
psi29a 2022-08-19 14:51:52 +00:00
commit cc563b31d9
4 changed files with 9 additions and 1 deletions

View file

@ -7,6 +7,7 @@
Bug #5129: Stuttering animation on Centurion Archer Bug #5129: Stuttering animation on Centurion Archer
Bug #5977: Fatigueless NPCs' corpse underwater changes animation on game load Bug #5977: Fatigueless NPCs' corpse underwater changes animation on game load
Bug #6939: OpenMW-CS: ID columns are too short Bug #6939: OpenMW-CS: ID columns are too short
Bug #6949: Sun Damage effect doesn't work in quasi exteriors
Feature #6945: Support S3TC-compressed and BGR/BGRA NiPixelData Feature #6945: Support S3TC-compressed and BGR/BGRA NiPixelData
0.48.0 0.48.0

View file

@ -645,7 +645,7 @@ void applyMagicEffect(const MWWorld::Ptr& target, const MWWorld::Ptr& caster, co
case ESM::MagicEffect::SunDamage: case ESM::MagicEffect::SunDamage:
{ {
// isInCell shouldn't be needed, but updateActor called during game start // isInCell shouldn't be needed, but updateActor called during game start
if (!target.isInCell() || !target.getCell()->isExterior() || godmode) if (!target.isInCell() || !(target.getCell()->isExterior() || target.getCell()->isQuasiExterior()) || godmode)
break; break;
float time = world->getTimeStamp().getHour(); float time = world->getTimeStamp().getHour();
float timeDiff = std::clamp(std::abs(time - 13.f), 0.f, 7.f); float timeDiff = std::clamp(std::abs(time - 13.f), 0.f, 7.f);

View file

@ -671,6 +671,11 @@ namespace MWWorld
return mCell->isExterior(); return mCell->isExterior();
} }
bool CellStore::isQuasiExterior() const
{
return (mCell->mData.mFlags & ESM::Cell::QuasiEx) != 0;
}
Ptr CellStore::searchInContainer (const std::string& id) Ptr CellStore::searchInContainer (const std::string& id)
{ {
bool oldState = mHasState; bool oldState = mHasState;

View file

@ -370,6 +370,8 @@ namespace MWWorld
bool isExterior() const; bool isExterior() const;
bool isQuasiExterior() const;
Ptr searchInContainer (const std::string& id); Ptr searchInContainer (const std::string& id);
void loadState (const ESM::CellState& state); void loadState (const ESM::CellState& state);