aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorPaul Gilbert2018-04-13 22:46:45 -0400
committerPaul Gilbert2018-04-13 22:56:57 -0400
commit8b717abe3801eb85faf3983b032565dad1d2e46f (patch)
treed4e50b549a6901b01299e2794a1d3b24ae0afeab /engines
parent63181701e5bc46b91e1cfaff9df3b9b12eb8b8fb (diff)
downloadscummvm-rg350-8b717abe3801eb85faf3983b032565dad1d2e46f.tar.gz
scummvm-rg350-8b717abe3801eb85faf3983b032565dad1d2e46f.tar.bz2
scummvm-rg350-8b717abe3801eb85faf3983b032565dad1d2e46f.zip
XEEN: Cleanup scene area clipping flags setting
Diffstat (limited to 'engines')
-rw-r--r--engines/xeen/interface_scene.cpp15
1 files changed, 6 insertions, 9 deletions
diff --git a/engines/xeen/interface_scene.cpp b/engines/xeen/interface_scene.cpp
index 81a597ac86..db14c0d988 100644
--- a/engines/xeen/interface_scene.cpp
+++ b/engines/xeen/interface_scene.cpp
@@ -167,6 +167,9 @@ OutdoorDrawList::OutdoorDrawList() : _sky1(_data[0]), _sky2(_data[1]),
_data[129] = DrawStruct(0, 47, 36, 0, SPRFLAG_HORIZ_FLIPPED);
_data[130] = DrawStruct(0, 118, 42);
_data[131] = DrawStruct(0, 26, 42, 0, SPRFLAG_HORIZ_FLIPPED);
+
+ for (int idx = 0; idx < 132; ++idx)
+ _data[idx]._flags |= SPRFLAG_SCENE_CLIPPED;
}
/*------------------------------------------------------------------------*/
@@ -366,6 +369,9 @@ IndoorDrawList::IndoorDrawList() :
_data[167] = DrawStruct(0, 47, 36, 0, SPRFLAG_HORIZ_FLIPPED);
_data[168] = DrawStruct(0, 118, 42);
_data[169] = DrawStruct(0, 26, 42, 0, SPRFLAG_HORIZ_FLIPPED);
+
+ for (int idx = 0; idx < 170; ++idx)
+ _data[idx]._flags |= SPRFLAG_SCENE_CLIPPED;
}
/*------------------------------------------------------------------------*/
@@ -4378,10 +4384,6 @@ 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());
@@ -4463,11 +4465,6 @@ 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());