diff options
author | Paul Gilbert | 2015-01-18 20:11:31 -0500 |
---|---|---|
committer | Paul Gilbert | 2015-01-18 20:11:31 -0500 |
commit | e4c473630655bd9b68d925b338559706ea927497 (patch) | |
tree | d26291011ec9bdb5f8799f5192d4027b742bf57c /engines/xeen/interface_map.cpp | |
parent | ecdf6412a6d74853ff20cbb7ea5abbdeaa789b63 (diff) | |
download | scummvm-rg350-e4c473630655bd9b68d925b338559706ea927497.tar.gz scummvm-rg350-e4c473630655bd9b68d925b338559706ea927497.tar.bz2 scummvm-rg350-e4c473630655bd9b68d925b338559706ea927497.zip |
XEEN: Renaming of flags and surface display
Diffstat (limited to 'engines/xeen/interface_map.cpp')
-rw-r--r-- | engines/xeen/interface_map.cpp | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/engines/xeen/interface_map.cpp b/engines/xeen/interface_map.cpp index d34373ea3d..ddc311bae0 100644 --- a/engines/xeen/interface_map.cpp +++ b/engines/xeen/interface_map.cpp @@ -181,6 +181,7 @@ IndoorDrawList::IndoorDrawList() : _fwl_3F2R(_data[ 91]), _fwl_3F1R(_data[ 90]), _fwl_3F( _data[ 89]), _fwl_3F1L(_data[ 88]), _fwl_3F2L(_data[ 87]), _fwl_1F( _data[147]), _fwl_1F1R(_data[145]), _fwl_1F1L(_data[143]), + _groundTiles(&_data[3]), _objects0(_data[149]), _objects1(_data[125]), _objects2(_data[126]), _objects3(_data[127]), _objects4(_data[97]), _objects5(_data[98]), _objects6(_data[99]), _objects7(_data[55]), _objects8(_data[56]), @@ -364,10 +365,10 @@ InterfaceMap::InterfaceMap(XeenEngine *vm): _vm(vm) { Common::fill(&_wp[0], &_wp[20], 0); Common::fill(&_wo[0], &_wo[308], 0); _overallFrame = 0; - _flipWtr = false; - _flipWall = false; - _flipSky = false; + _flipWater = false; _flipGround = false; + _flipSky = false; + _flipDefaultGround = false; _isShooting = false; _charsShooting = false; _objNumber = 0; @@ -1106,20 +1107,22 @@ void InterfaceMap::drawIndoors() { Map &map = *_vm->_map; int surfaceId; + // Draw any surface tiles on top of the default ground for (int cellIndex = 0; cellIndex < 25; ++cellIndex) { map.getCell(DRAW_NUMBERS[cellIndex]); - DrawStruct &drawStruct = _indoorList[3 + cellIndex]; + DrawStruct &drawStruct = _indoorList._groundTiles[cellIndex]; if (!map._surfaceSprites[map._currentSurfaceId].empty()) drawStruct._sprites = &map._surfaceSprites[map._currentSurfaceId]; surfaceId = map.mazeData()._surfaceTypes[map._currentSurfaceId]; - if (surfaceId == 0 || surfaceId == 5 || surfaceId == 12) { - drawStruct._flags = _flipWtr ? 1 : 0; - drawStruct._frame = DRAW_FRAMES[cellIndex][_flipWtr ? 1 : 0]; + if (surfaceId == SURFTYPE_WATER || surfaceId == SURFTYPE_LAVA || + surfaceId == SURFTYPE_SEWER) { + drawStruct._flags = _flipWater ? 1 : 0; + drawStruct._frame = DRAW_FRAMES[cellIndex][_flipWater ? 1 : 0]; } else { - drawStruct._frame = DRAW_FRAMES[cellIndex][_flipWall ? 1 : 0]; - drawStruct._flags = _flipWall ? SPRFLAG_HORIZ_FLIPPED : 0; + drawStruct._frame = DRAW_FRAMES[cellIndex][_flipGround ? 1 : 0]; + drawStruct._flags = _flipGround ? SPRFLAG_HORIZ_FLIPPED : 0; } } @@ -1932,7 +1935,7 @@ void InterfaceMap::drawIndoors() { } _indoorList._sky._flags = _flipSky ? SPRFLAG_HORIZ_FLIPPED : 0; - _indoorList._ground._flags = _flipGround ? SPRFLAG_HORIZ_FLIPPED : 0; + _indoorList._ground._flags = _flipDefaultGround ? SPRFLAG_HORIZ_FLIPPED : 0; _indoorList._horizon._frame = 7; // Finally draw the darn indoor scene |