XEEN: Fix clipping all scene drawn elements to scene area

This commit is contained in:
Paul Gilbert 2018-04-13 07:29:54 -04:00
parent f102f9961b
commit 5926936a07

View File

@ -4378,6 +4378,10 @@ void InterfaceScene::drawIndoors() {
_indoorList._ground._flags = _flipDefaultGround ? SPRFLAG_HORIZ_FLIPPED : 0;
_indoorList._horizon._frame = 7;
// FIXME: I seem to be missing the scene area clipping flag on some list entries
for (int idx = 0; idx < _indoorList.size(); ++idx)
_indoorList[idx]._flags |= SPRFLAG_SCENE_CLIPPED;
// Finally draw the darn indoor scene
windows[3].drawList(&_indoorList[0], _indoorList.size());
@ -4459,6 +4463,11 @@ void InterfaceScene::drawOutdoors() {
_outdoorList._sky1._flags = _outdoorList._sky2._flags = _flipSky ? SPRFLAG_HORIZ_FLIPPED : 0;
_outdoorList._groundSprite._flags = _flipWater ? SPRFLAG_HORIZ_FLIPPED : 0;
// FIXME: I seem to be missing the scene area clipping flag on some list entries.
// Just re-flagging them all in a loop is simpler than hunting down the missing entries
for (int idx = 0; idx < _outdoorList.size(); ++idx)
_outdoorList[idx]._flags |= SPRFLAG_SCENE_CLIPPED;
// Finally render the outdoor scene
windows[3].drawList(&_outdoorList[0], _outdoorList.size());