aboutsummaryrefslogtreecommitdiff
path: root/engines/dm/gfx.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/dm/gfx.cpp')
-rw-r--r--engines/dm/gfx.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/engines/dm/gfx.cpp b/engines/dm/gfx.cpp
index 5efb3f05ac..dae340085f 100644
--- a/engines/dm/gfx.cpp
+++ b/engines/dm/gfx.cpp
@@ -772,6 +772,8 @@ void DisplayMan::setUpScreens(uint16 width, uint16 height) {
delete[] _g348_bitmapScreen;
_g348_bitmapScreen = new byte[_screenWidth * _screenHeight];
fillScreen(k0_ColorBlack);
+
+ _g74_tmpBitmap = new byte[_screenWidth * _screenHeight];
}
void DisplayMan::f479_loadGraphics() {
@@ -2248,11 +2250,13 @@ void DisplayMan::f128_drawDungeon(direction dir, int16 posX, int16 posY) {
f126_drawSquareD0R(dir, tmpPosX, tmpPosY);
f127_drawSquareD0C(dir, posX, posY);
- _g698_bitmapWallSet_Wall_D3LCR = _g95_bitmapWall_D3LCR_Native;
- _g699_bitmapWallSet_Wall_D2LCR = _g96_bitmapWall_D2LCR_Native;
- _g700_bitmapWallSet_Wall_D1LCR = _g97_bitmapWall_D1LCR_Native;
- _g701_bitmapWallSet_Wall_D0L = _g98_bitmapWall_D0L_Native;
- _g702_bitmapWallSet_Wall_D0R = _g99_bitmapWall_D0R_Native;
+ if (_g76_useFlippedWallAndFootprintsBitmap) {
+ _g698_bitmapWallSet_Wall_D3LCR = _g95_bitmapWall_D3LCR_Native;
+ _g699_bitmapWallSet_Wall_D2LCR = _g96_bitmapWall_D2LCR_Native;
+ _g700_bitmapWallSet_Wall_D1LCR = _g97_bitmapWall_D1LCR_Native;
+ _g701_bitmapWallSet_Wall_D0L = _g98_bitmapWall_D0L_Native;
+ _g702_bitmapWallSet_Wall_D0R = _g99_bitmapWall_D0R_Native;
+ }
f97_drawViewport((_vm->_dungeonMan->_g309_partyMapIndex != k255_mapIndexEntrance) ? 1 : 0);
if (_vm->_dungeonMan->_g309_partyMapIndex != k255_mapIndexEntrance)
@@ -2320,7 +2324,6 @@ void DisplayMan::f96_loadCurrentMapGraphics() {
f95_loadWallSet(_vm->_dungeonMan->_g269_currMap->_wallSet);
{
- _g74_tmpBitmap = new byte[_screenWidth * _screenHeight];
_g578_useByteBoxCoordinates = true;
f99_copyBitmapAndFlipHorizontal(_g95_bitmapWall_D3LCR_Native = _g698_bitmapWallSet_Wall_D3LCR, _g74_tmpBitmap,