From 3d6323f13a20ae5cba65814d859137ec8dd94005 Mon Sep 17 00:00:00 2001 From: scrawl Date: Wed, 2 Mar 2016 17:02:30 +0100 Subject: [PATCH] Force-enable hasWater() for exterior cells (Fixes #3222) --- apps/openmw/mwworld/worldimp.cpp | 2 +- components/esm/loadcell.hpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/openmw/mwworld/worldimp.cpp b/apps/openmw/mwworld/worldimp.cpp index 2ab027cd6..0dbadca17 100644 --- a/apps/openmw/mwworld/worldimp.cpp +++ b/apps/openmw/mwworld/worldimp.cpp @@ -2039,7 +2039,7 @@ namespace MWWorld bool World::isUnderwater(const MWWorld::CellStore* cell, const osg::Vec3f &pos) const { - if (!(cell->getCell()->mData.mFlags & ESM::Cell::HasWater)) { + if (!(cell->getCell()->hasWater())) { return false; } return pos.z() < cell->getWaterLevel(); diff --git a/components/esm/loadcell.hpp b/components/esm/loadcell.hpp index f92e0b5b7..cab8cf65e 100644 --- a/components/esm/loadcell.hpp +++ b/components/esm/loadcell.hpp @@ -141,7 +141,7 @@ struct Cell bool hasWater() const { - return (mData.mFlags&HasWater) != 0; + return ((mData.mFlags&HasWater) != 0) || isExterior(); } // Restore the given reader to the stored position. Will try to open