diff options
author | Paul Gilbert | 2018-04-13 22:46:45 -0400 |
---|---|---|
committer | Paul Gilbert | 2018-04-13 22:56:57 -0400 |
commit | 8b717abe3801eb85faf3983b032565dad1d2e46f (patch) | |
tree | d4e50b549a6901b01299e2794a1d3b24ae0afeab /engines | |
parent | 63181701e5bc46b91e1cfaff9df3b9b12eb8b8fb (diff) | |
download | scummvm-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.cpp | 15 |
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()); |