XEEN: Load correct surface sprites for the maze

This commit is contained in:
Paul Gilbert 2015-01-18 20:54:58 -05:00
parent e4c4736306
commit 130bd58e2c
2 changed files with 5 additions and 4 deletions

View file

@ -1118,8 +1118,8 @@ void InterfaceMap::drawIndoors() {
surfaceId = map.mazeData()._surfaceTypes[map._currentSurfaceId];
if (surfaceId == SURFTYPE_WATER || surfaceId == SURFTYPE_LAVA ||
surfaceId == SURFTYPE_SEWER) {
drawStruct._flags = _flipWater ? 1 : 0;
drawStruct._frame = DRAW_FRAMES[cellIndex][_flipWater ? 1 : 0];
drawStruct._flags = _flipWater ? SPRFLAG_HORIZ_FLIPPED : 0;
} else {
drawStruct._frame = DRAW_FRAMES[cellIndex][_flipGround ? 1 : 0];
drawStruct._flags = _flipGround ? SPRFLAG_HORIZ_FLIPPED : 0;

View file

@ -1089,13 +1089,14 @@ void Map::load(int mapId) {
for (int i = 0; i < TOTAL_SURFACES; ++i) {
_wallSprites._surfaces[i].clear();
if (_mazeData[0]._wallTypes[i] != 0) {
_wallSprites._surfaces[i].load(Common::String::format("%s.wal",
SURFACE_TYPE_NAMES[i]));
SURFACE_TYPE_NAMES[_mazeData[0]._wallTypes[i]]));
}
_surfaceSprites[i].clear();
if (i != 0 && _mazeData[0]._wallTypes[i] != 0)
if (i != 0 && _mazeData[0]._surfaceTypes[i] != 0)
_surfaceSprites[i].load(SURFACE_NAMES[_mazeData[0]._surfaceTypes[i]]);
}
} else {
@ -1113,7 +1114,7 @@ void Map::load(int mapId) {
_surfaceSprites[i].clear();
if (_mazeData[0]._surfaceTypes[i] != 0 || i == 4)
_surfaceSprites[i].load(SURFACE_NAMES[i]);
_surfaceSprites[i].load(SURFACE_NAMES[_mazeData[0]._surfaceTypes[i]]);
}
for (int i = 0; i < TOTAL_SURFACES; ++i)