aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/dm/gfx.cpp340
-rw-r--r--engines/dm/gfx.h4
2 files changed, 183 insertions, 161 deletions
diff --git a/engines/dm/gfx.cpp b/engines/dm/gfx.cpp
index c2de25c63b..51e354af71 100644
--- a/engines/dm/gfx.cpp
+++ b/engines/dm/gfx.cpp
@@ -40,156 +40,6 @@
namespace DM {
-Frame g712_FrameWall_D3R2 = Frame(208, 223, 25, 73, 8, 49, 0, 0); // @ G0712_s_Graphic558_Frame_Wall_D3R2
-Frame g163_FrameWalls[12] = { // @ G0163_as_Graphic558_Frame_Walls
- /* { X1, X2, Y1, Y2, pixelWidth, Height, X, Y } */
- Frame(74, 149, 25, 75, 64, 51, 18, 0), /* D3C */
- Frame(0, 83, 25, 75, 64, 51, 32, 0), /* D3L */
- Frame(139, 223, 25, 75, 64, 51, 0, 0), /* D3R */
- Frame(60, 163, 20, 90, 72, 71, 16, 0), /* D2C */
- Frame(0, 74, 20, 90, 72, 71, 61, 0), /* D2L */
- Frame(149, 223, 20, 90, 72, 71, 0, 0), /* D2R */
- Frame(32, 191, 9, 119, 128, 111, 48, 0), /* D1C */
- Frame(0, 63, 9, 119, 128, 111, 192, 0), /* D1L */
- Frame(160, 223, 9, 119, 128, 111, 0, 0), /* D1R */
- Frame(0, 223, 0, 135, 0, 0, 0, 0), /* D0C */
- Frame(0, 31, 0, 135, 16, 136, 0, 0), /* D0L */
- Frame(192, 223, 0, 135, 16, 136, 0, 0)
-}; /* D0R */
-
-
-byte g196_DoorOrnCoordIndices[12] = { // @ G0196_auc_Graphic558_DoorOrnamentCoordinateSetIndices
- 0, /* Door Ornament #00 Square Grid */
- 1, /* Door Ornament #01 Iron Bars */
- 1, /* Door Ornament #02 Jewels */
- 1, /* Door Ornament #03 Wooden Bars */
- 0, /* Door Ornament #04 Arched Grid */
- 2, /* Door Ornament #05 Block Lock */
- 3, /* Door Ornament #06 Corner Lock */
- 1, /* Door Ornament #07 Black door */
- 2, /* Door Ornament #08 Red Triangle Lock */
- 2, /* Door Ornament #09 Triangle Lock */
- 1, /* Door Ornament #10 Ra Door */
- 1}; /* Door Ornament #11 Iron Door Damages */
-
-byte g195_FloorOrnCoordSetIndices[9] = { // @ G0195_auc_Graphic558_FloorOrnamentCoordinateSetIndices
- 0, /* Floor Ornament 00 Square Grate */
- 0, /* Floor Ornament 01 Square Pressure Pad */
- 0, /* Floor Ornament 02 Moss */
- 0, /* Floor Ornament 03 Round Grate */
- 2, /* Floor Ornament 04 Round Pressure Plate */
- 0, /* Floor Ornament 05 Black Flame Pit */
- 0, /* Floor Ornament 06 Crack */
- 2, /* Floor Ornament 07 Tiny Pressure Pad */
- 0}; /* Floor Ornament 08 Puddle */
-
-byte g205_WallOrnCoordSets[8][13][6] = { // @ G0205_aaauc_Graphic558_WallOrnamentCoordinateSets
- /* { X1, X2, Y1, Y2, ByteWidth, Height } */
- {{80, 83, 41, 45, 8, 5}, /* D3L */
- {140, 143, 41, 45, 8, 5}, /* D3R */
- {16, 29, 39, 50, 8, 12}, /* D3L */
- {107, 120, 39, 50, 8, 12}, /* D3C */
- {187, 200, 39, 50, 8, 12}, /* D3R */
- {67, 77, 40, 49, 8, 10}, /* D2L */
- {146, 156, 40, 49, 8, 10}, /* D2R */
- {0, 17, 38, 55, 16, 18}, /* D2L */
- {102, 123, 38, 55, 16, 18}, /* D2C */
- {206, 223, 38, 55, 16, 18}, /* D2R */
- {48, 63, 38, 56, 8, 19}, /* D1L */
- {160, 175, 38, 56, 8, 19}, /* D1R */
- {96, 127, 36, 63, 16, 28}}, /* D1C */
- {{74, 82, 41, 60, 8, 20}, /* D3L */
- {141, 149, 41, 60, 8, 20}, /* D3R */
- {1, 47, 37, 63, 24, 27}, /* D3L */
- {88, 134, 37, 63, 24, 27}, /* D3C */
- {171, 217, 37, 63, 24, 27}, /* D3R */
- {61, 76, 38, 67, 8, 30}, /* D2L */
- {147, 162, 38, 67, 8, 30}, /* D2R */
- {0, 43, 37, 73, 32, 37}, /* D2L */
- {80, 143, 37, 73, 32, 37}, /* D2C */
- {180, 223, 37, 73, 32, 37}, /* D2R */
- {32, 63, 36, 83, 16, 48}, /* D1L */
- {160, 191, 36, 83, 16, 48}, /* D1R */
- {64, 159, 36, 91, 48, 56}}, /* D1C */
- {{80, 83, 66, 70, 8, 5}, /* D3L */
- {140, 143, 66, 70, 8, 5}, /* D3R */
- {16, 29, 64, 75, 8, 12}, /* D3L */
- {106, 119, 64, 75, 8, 12}, /* D3C */
- {187, 200, 64, 75, 8, 12}, /* D3R */
- {67, 77, 74, 83, 8, 10}, /* D2L */
- {146, 156, 74, 83, 8, 10}, /* D2R */
- {0, 17, 73, 90, 16, 18}, /* D2L */
- {100, 121, 73, 90, 16, 18}, /* D2C */
- {206, 223, 73, 90, 16, 18}, /* D2R */
- {48, 63, 84, 102, 8, 19}, /* D1L */
- {160, 175, 84, 102, 8, 19}, /* D1R */
- {96, 127, 92, 119, 16, 28}}, /* D1C */
- {{80, 83, 49, 53, 8, 5}, /* D3L */
- {140, 143, 49, 53, 8, 5}, /* D3R */
- {16, 29, 50, 61, 8, 12}, /* D3L */
- {106, 119, 50, 61, 8, 12}, /* D3C */
- {187, 200, 50, 61, 8, 12}, /* D3R */
- {67, 77, 53, 62, 8, 10}, /* D2L */
- {146, 156, 53, 62, 8, 10}, /* D2R */
- {0, 17, 55, 72, 16, 18}, /* D2L */
- {100, 121, 55, 72, 16, 18}, /* D2C */
- {206, 223, 55, 72, 16, 18}, /* D2R */
- {48, 63, 57, 75, 8, 19}, /* D1L */
- {160, 175, 57, 75, 8, 19}, /* D1R */
- {96, 127, 64, 91, 16, 28}}, /* D1C */
- {{75, 90, 40, 44, 8, 5}, /* D3L */
- {133, 148, 40, 44, 8, 5}, /* D3R */
- {1, 48, 44, 49, 24, 6}, /* D3L */
- {88, 135, 44, 49, 24, 6}, /* D3C */
- {171, 218, 44, 49, 24, 6}, /* D3R */
- {60, 77, 40, 46, 16, 7}, /* D2L */
- {146, 163, 40, 46, 16, 7}, /* D2R */
- {0, 35, 43, 50, 32, 8}, /* D2L */
- {80, 143, 43, 50, 32, 8}, /* D2C */
- {184, 223, 43, 50, 32, 8}, /* D2R */
- {32, 63, 41, 52, 16, 12}, /* D1L */
- {160, 191, 41, 52, 16, 12}, /* D1R */
- {64, 159, 41, 52, 48, 12}}, /* D1C */
- {{78, 85, 36, 51, 8, 16}, /* D3L */
- {138, 145, 36, 51, 8, 16}, /* D3R */
- {10, 41, 34, 53, 16, 20}, /* D3L */
- {98, 129, 34, 53, 16, 20}, /* D3C */
- {179, 210, 34, 53, 16, 20}, /* D3R */
- {66, 75, 34, 56, 8, 23}, /* D2L */
- {148, 157, 34, 56, 8, 23}, /* D2R */
- {0, 26, 33, 61, 24, 29}, /* D2L */
- {91, 133, 33, 61, 24, 29}, /* D2C */
- {194, 223, 33, 61, 24, 29}, /* D2R */
- {41, 56, 31, 65, 8, 35}, /* D1L */
- {167, 182, 31, 65, 8, 35}, /* D1R */
- {80, 143, 29, 71, 32, 43}}, /* D1C */
- {{75, 82, 25, 75, 8, 51}, /* D3L */
- {142, 149, 25, 75, 8, 51}, /* D3R */
- {12, 60, 25, 75, 32, 51}, /* D3L */
- {88, 136, 25, 75, 32, 51}, /* D3C */
- {163, 211, 25, 75, 32, 51}, /* D3R */
- {64, 73, 20, 90, 8, 71}, /* D2L */
- {150, 159, 20, 90, 8, 71}, /* D2R */
- {0, 38, 20, 90, 32, 71}, /* D2L */
- {82, 142, 20, 90, 32, 71}, /* D2C */
- {184, 223, 20, 90, 32, 71}, /* D2R */
- {41, 56, 9, 119, 8, 111}, /* D1L */
- {169, 184, 9, 119, 8, 111}, /* D1R */
- {64, 159, 9, 119, 48, 111}}, /* D1C */
- {{74, 85, 25, 75, 8, 51}, /* D3L */
- {137, 149, 25, 75, 8, 51}, /* D3R */
- {0, 75, 25, 75, 40, 51}, /* D3L Atari ST: { 0, 83, 25, 75, 48, 51 } */
- {74, 149, 25, 75, 40, 51}, /* D3C Atari ST: { 74, 149, 25, 75, 48, 51 } */
- {148, 223, 25, 75, 40, 51}, /* D3R Atari ST: { 139, 223, 25, 75, 48, 51 } */
- {60, 77, 20, 90, 16, 71}, /* D2L */
- {146, 163, 20, 90, 16, 71}, /* D2R */
- {0, 74, 20, 90, 56, 71}, /* D2L */
- {60, 163, 20, 90, 56, 71}, /* D2C */
- {149, 223, 20, 90, 56, 71}, /* D2R */
- {32, 63, 9, 119, 16, 111}, /* D1L */
- {160, 191, 9, 119, 16, 111}, /* D1R */
- {32, 191, 9, 119, 80, 111}}}; /* D1C */
-
byte g194_WallOrnCoordSetIndices[60] = { // @ G0194_auc_Graphic558_WallOrnamentCoordinateSetIndices
1, /* Wall Ornament 00 Unreadable Inscription */
1, /* Wall Ornament 01 Square Alcove */
@@ -586,6 +436,24 @@ void DisplayMan::initConstants() {
32 /* D1 Back */
};
+ const Frame frameWalls163[12] = { // @ G0163_as_Graphic558_Frame_Walls
+ /* { X1, X2, Y1, Y2, pixelWidth, Height, X, Y } */
+ Frame(74, 149, 25, 75, 64, 51, 18, 0), /* D3C */
+ Frame(0, 83, 25, 75, 64, 51, 32, 0), /* D3L */
+ Frame(139, 223, 25, 75, 64, 51, 0, 0), /* D3R */
+ Frame(60, 163, 20, 90, 72, 71, 16, 0), /* D2C */
+ Frame(0, 74, 20, 90, 72, 71, 61, 0), /* D2L */
+ Frame(149, 223, 20, 90, 72, 71, 0, 0), /* D2R */
+ Frame(32, 191, 9, 119, 128, 111, 48, 0), /* D1C */
+ Frame(0, 63, 9, 119, 128, 111, 192, 0), /* D1L */
+ Frame(160, 223, 9, 119, 128, 111, 0, 0), /* D1R */
+ Frame(0, 223, 0, 135, 0, 0, 0, 0), /* D0C */
+ Frame(0, 31, 0, 135, 16, 136, 0, 0), /* D0L */
+ Frame(192, 223, 0, 135, 16, 136, 0, 0)
+ }; /* D0R */
+
+ _frameWallD3R2 = Frame(208, 223, 25, 73, 8, 49, 0, 0); // @ G0712_s_Graphic558_Frame_Wall_D3R2
+
_doorFrameLeftD1C = Frame(43, 74, 14, 107, 16, 94, 0, 0); // @ G0170_s_Graphic558_Frame_DoorFrameLeft_D1C
_doorFrameRightD1C = Frame(149, 180, 14, 107, 16, 94, 0, 0); // @ G0171_s_Graphic558_Frame_DoorFrameRight_D1C
@@ -595,14 +463,16 @@ void DisplayMan::initConstants() {
_palChangeSmoke[i] = palChangeSmoke[i];
}
- for (int i = 0; i < 12; i++)
+ for (int i = 0; i < 12; i++) {
_fieldAspects188[i] = fieldAspects188[i];
+ g163_FrameWalls[i] = frameWalls163[i];
+ }
for (int i = 0; i < 7; i++)
_projectileScales[i] = projectileScales[i];
for (int i = 0; i < k4_ExplosionAspectCount; i++)
- g211_ExplosionAspects[i] = explosionAspects[i];
+ _explosionAspects[i] = explosionAspects[i];
_doorFrameD1C = new DoorFrames( // @ G0186_s_Graphic558_Frames_Door_D1C
Frame(64, 159, 17, 102, 48, 88, 0, 0), /* Closed Or Destroyed */
@@ -789,7 +659,7 @@ void DisplayMan::f460_initializeGraphicData() {
_g75_palChangesProjectile[2] = _g75_palChangesProjectile[3] = g17_PalChangesNoChanges;
derivedBitmapIndex = k438_DerivedBitmapFirstExplosion;
- ExplosionAspect *expAsp = g211_ExplosionAspects;
+ ExplosionAspect *expAsp = _explosionAspects;
for (uint16 expAspIndex = 0; expAspIndex < k4_ExplosionAspectCount; ++expAspIndex, expAsp++) {
for (int16 scale = 4; scale < 32; scale += 2)
_g639_derivedBitmapByteCount[derivedBitmapIndex++] = f459_getScaledBitmapByteCount(expAsp->_byteWidth, expAsp->_height, scale);
@@ -1078,7 +948,7 @@ void DisplayMan::f131_flipVertical(byte *bitmap, uint16 byteWidth, uint16 height
}
byte* DisplayMan::f114_getExplosionBitmap(uint16 explosionAspIndex, uint16 scale, int16& returnByteWidth, int16& returnHeight) {
- ExplosionAspect *explAsp = &g211_ExplosionAspects[explosionAspIndex];
+ ExplosionAspect *explAsp = &_explosionAspects[explosionAspIndex];
if (scale > 32)
scale = 32;
int16 pixelWidth = M78_getScaledDimension(explAsp->_byteWidth, scale);
@@ -2181,7 +2051,7 @@ void DisplayMan::f128_drawDungeon(Direction dir, int16 posX, int16 posY) {
f100_drawWallSetBitmap(_g697_bitmapWallSet_Wall_D3L2, frameWallD3L2);
if (_vm->_dungeonMan->f153_getRelSquareType(dir, 3, 2, posX, posY) == k0_ElementTypeWall)
- f100_drawWallSetBitmap(_g696_bitmapWallSet_Wall_D3R2, g712_FrameWall_D3R2);
+ f100_drawWallSetBitmap(_g696_bitmapWallSet_Wall_D3R2, _frameWallD3R2);
int16 tmpPosX = posX;
int16 tmpPosY = posY;
@@ -2299,13 +2169,39 @@ void DisplayMan::f95_loadWallSet(WallSet set) {
f99_copyBitmapAndFlipHorizontal(_g708_bitmapWallSet_DoorFrameLeft_D1C, _g710_bitmapWallSet_DoorFrameRight_D1C,
_doorFrameRightD1C._srcByteWidth, _doorFrameRightD1C._srcHeight);
f99_copyBitmapAndFlipHorizontal(_g697_bitmapWallSet_Wall_D3L2, _g696_bitmapWallSet_Wall_D3R2,
- g712_FrameWall_D3R2._srcByteWidth, g712_FrameWall_D3R2._srcHeight);
+ _frameWallD3R2._srcByteWidth, _frameWallD3R2._srcHeight);
}
}
void DisplayMan::f96_loadCurrentMapGraphics() {
- Box BoxWallD3LCR = Box(0, 115, 0, 50); // @ G0161_s_Graphic558_Box_WallBitmap_D3LCR
- Box BoxWallD2LCR = Box(0, 135, 0, 70); // @ G0162_s_Graphic558_Box_WallBitmap_D2LCR
+ static Box BoxWallD3LCR = Box(0, 115, 0, 50); // @ G0161_s_Graphic558_Box_WallBitmap_D3LCR
+ static Box BoxWallD2LCR = Box(0, 135, 0, 70); // @ G0162_s_Graphic558_Box_WallBitmap_D2LCR
+ static byte doorOrnCoordIndices[12] = { // @ G0196_auc_Graphic558_DoorOrnamentCoordinateSetIndices
+ 0, /* Door Ornament #00 Square Grid */
+ 1, /* Door Ornament #01 Iron Bars */
+ 1, /* Door Ornament #02 Jewels */
+ 1, /* Door Ornament #03 Wooden Bars */
+ 0, /* Door Ornament #04 Arched Grid */
+ 2, /* Door Ornament #05 Block Lock */
+ 3, /* Door Ornament #06 Corner Lock */
+ 1, /* Door Ornament #07 Black door */
+ 2, /* Door Ornament #08 Red Triangle Lock */
+ 2, /* Door Ornament #09 Triangle Lock */
+ 1, /* Door Ornament #10 Ra Door */
+ 1 /* Door Ornament #11 Iron Door Damages */
+ };
+ static byte floorOrnCoordSetIndices[9] = { // @ G0195_auc_Graphic558_FloorOrnamentCoordinateSetIndices
+ 0, /* Floor Ornament 00 Square Grate */
+ 0, /* Floor Ornament 01 Square Pressure Pad */
+ 0, /* Floor Ornament 02 Moss */
+ 0, /* Floor Ornament 03 Round Grate */
+ 2, /* Floor Ornament 04 Round Pressure Plate */
+ 0, /* Floor Ornament 05 Black Flame Pit */
+ 0, /* Floor Ornament 06 Crack */
+ 2, /* Floor Ornament 07 Tiny Pressure Pad */
+ 0 /* Floor Ornament 08 Puddle */
+ };
+
f94_loadFloorSet(_vm->_dungeonMan->_g269_currMap->_floorSet);
f95_loadWallSet(_vm->_dungeonMan->_g269_currMap->_wallSet);
@@ -2397,14 +2293,14 @@ void DisplayMan::f96_loadCurrentMapGraphics() {
uint16 ornIndice = _g262_currMapFloorOrnIndices[i];
uint16 nativeIndice = k247_FirstFloorOrn + ornIndice * 6;
_g102_currMapFloorOrnInfo[i][k0_NativeBitmapIndex] = nativeIndice;
- _g102_currMapFloorOrnInfo[i][k1_CoordinateSet] = g195_FloorOrnCoordSetIndices[ornIndice];
+ _g102_currMapFloorOrnInfo[i][k1_CoordinateSet] = floorOrnCoordSetIndices[ornIndice];
}
for (uint16 i = 0; i < currMap._doorOrnCount; ++i) {
uint16 ornIndice = _g263_currMapDoorOrnIndices[i];
uint16 nativeIndice = k303_FirstDoorOrn + ornIndice;
_g103_currMapDoorOrnInfo[i][k0_NativeBitmapIndex] = nativeIndice;
- _g103_currMapDoorOrnInfo[i][k1_CoordinateSet] = g196_DoorOrnCoordIndices[ornIndice];
+ _g103_currMapDoorOrnInfo[i][k1_CoordinateSet] = doorOrnCoordIndices[ornIndice];
}
f93_applyCreatureReplColors(9, 8);
@@ -2479,6 +2375,130 @@ bool DisplayMan::f107_isDrawnWallOrnAnAlcove(int16 wallOrnOrd, ViewWall viewWall
46, 57, 68 /* D1L Right, D1R Left */
};
+ static byte g205_WallOrnCoordSets[8][13][6] = { // @ G0205_aaauc_Graphic558_WallOrnamentCoordinateSets
+ /* { X1, X2, Y1, Y2, ByteWidth, Height } */
+ {
+ {80, 83, 41, 45, 8, 5}, /* D3L */
+ {140, 143, 41, 45, 8, 5}, /* D3R */
+ {16, 29, 39, 50, 8, 12}, /* D3L */
+ {107, 120, 39, 50, 8, 12}, /* D3C */
+ {187, 200, 39, 50, 8, 12}, /* D3R */
+ {67, 77, 40, 49, 8, 10}, /* D2L */
+ {146, 156, 40, 49, 8, 10}, /* D2R */
+ {0, 17, 38, 55, 16, 18}, /* D2L */
+ {102, 123, 38, 55, 16, 18}, /* D2C */
+ {206, 223, 38, 55, 16, 18}, /* D2R */
+ {48, 63, 38, 56, 8, 19}, /* D1L */
+ {160, 175, 38, 56, 8, 19}, /* D1R */
+ {96, 127, 36, 63, 16, 28} /* D1C */
+ },
+ {
+ {74, 82, 41, 60, 8, 20}, /* D3L */
+ {141, 149, 41, 60, 8, 20}, /* D3R */
+ {1, 47, 37, 63, 24, 27}, /* D3L */
+ {88, 134, 37, 63, 24, 27}, /* D3C */
+ {171, 217, 37, 63, 24, 27}, /* D3R */
+ {61, 76, 38, 67, 8, 30}, /* D2L */
+ {147, 162, 38, 67, 8, 30}, /* D2R */
+ {0, 43, 37, 73, 32, 37}, /* D2L */
+ {80, 143, 37, 73, 32, 37}, /* D2C */
+ {180, 223, 37, 73, 32, 37}, /* D2R */
+ {32, 63, 36, 83, 16, 48}, /* D1L */
+ {160, 191, 36, 83, 16, 48}, /* D1R */
+ {64, 159, 36, 91, 48, 56} /* D1C */
+ },
+ {
+ {80, 83, 66, 70, 8, 5}, /* D3L */
+ {140, 143, 66, 70, 8, 5}, /* D3R */
+ {16, 29, 64, 75, 8, 12}, /* D3L */
+ {106, 119, 64, 75, 8, 12}, /* D3C */
+ {187, 200, 64, 75, 8, 12}, /* D3R */
+ {67, 77, 74, 83, 8, 10}, /* D2L */
+ {146, 156, 74, 83, 8, 10}, /* D2R */
+ {0, 17, 73, 90, 16, 18}, /* D2L */
+ {100, 121, 73, 90, 16, 18}, /* D2C */
+ {206, 223, 73, 90, 16, 18}, /* D2R */
+ {48, 63, 84, 102, 8, 19}, /* D1L */
+ {160, 175, 84, 102, 8, 19}, /* D1R */
+ {96, 127, 92, 119, 16, 28} /* D1C */
+ },
+ {
+ {80, 83, 49, 53, 8, 5}, /* D3L */
+ {140, 143, 49, 53, 8, 5}, /* D3R */
+ {16, 29, 50, 61, 8, 12}, /* D3L */
+ {106, 119, 50, 61, 8, 12}, /* D3C */
+ {187, 200, 50, 61, 8, 12}, /* D3R */
+ {67, 77, 53, 62, 8, 10}, /* D2L */
+ {146, 156, 53, 62, 8, 10}, /* D2R */
+ {0, 17, 55, 72, 16, 18}, /* D2L */
+ {100, 121, 55, 72, 16, 18}, /* D2C */
+ {206, 223, 55, 72, 16, 18}, /* D2R */
+ {48, 63, 57, 75, 8, 19}, /* D1L */
+ {160, 175, 57, 75, 8, 19}, /* D1R */
+ {96, 127, 64, 91, 16, 28} /* D1C */
+ },
+ {
+ {75, 90, 40, 44, 8, 5}, /* D3L */
+ {133, 148, 40, 44, 8, 5}, /* D3R */
+ {1, 48, 44, 49, 24, 6}, /* D3L */
+ {88, 135, 44, 49, 24, 6}, /* D3C */
+ {171, 218, 44, 49, 24, 6}, /* D3R */
+ {60, 77, 40, 46, 16, 7}, /* D2L */
+ {146, 163, 40, 46, 16, 7}, /* D2R */
+ {0, 35, 43, 50, 32, 8}, /* D2L */
+ {80, 143, 43, 50, 32, 8}, /* D2C */
+ {184, 223, 43, 50, 32, 8}, /* D2R */
+ {32, 63, 41, 52, 16, 12}, /* D1L */
+ {160, 191, 41, 52, 16, 12}, /* D1R */
+ {64, 159, 41, 52, 48, 12} /* D1C */
+ },
+ {
+ {78, 85, 36, 51, 8, 16}, /* D3L */
+ {138, 145, 36, 51, 8, 16}, /* D3R */
+ {10, 41, 34, 53, 16, 20}, /* D3L */
+ {98, 129, 34, 53, 16, 20}, /* D3C */
+ {179, 210, 34, 53, 16, 20}, /* D3R */
+ {66, 75, 34, 56, 8, 23}, /* D2L */
+ {148, 157, 34, 56, 8, 23}, /* D2R */
+ {0, 26, 33, 61, 24, 29}, /* D2L */
+ {91, 133, 33, 61, 24, 29}, /* D2C */
+ {194, 223, 33, 61, 24, 29}, /* D2R */
+ {41, 56, 31, 65, 8, 35}, /* D1L */
+ {167, 182, 31, 65, 8, 35}, /* D1R */
+ {80, 143, 29, 71, 32, 43} /* D1C */
+ },
+ {
+ {75, 82, 25, 75, 8, 51}, /* D3L */
+ {142, 149, 25, 75, 8, 51}, /* D3R */
+ {12, 60, 25, 75, 32, 51}, /* D3L */
+ {88, 136, 25, 75, 32, 51}, /* D3C */
+ {163, 211, 25, 75, 32, 51}, /* D3R */
+ {64, 73, 20, 90, 8, 71}, /* D2L */
+ {150, 159, 20, 90, 8, 71}, /* D2R */
+ {0, 38, 20, 90, 32, 71}, /* D2L */
+ {82, 142, 20, 90, 32, 71}, /* D2C */
+ {184, 223, 20, 90, 32, 71}, /* D2R */
+ {41, 56, 9, 119, 8, 111}, /* D1L */
+ {169, 184, 9, 119, 8, 111}, /* D1R */
+ {64, 159, 9, 119, 48, 111} /* D1C */
+ },
+ {
+ {74, 85, 25, 75, 8, 51}, /* D3L */
+ {137, 149, 25, 75, 8, 51}, /* D3R */
+ {0, 75, 25, 75, 40, 51}, /* D3L Atari ST: { 0, 83, 25, 75, 48, 51 } */
+ {74, 149, 25, 75, 40, 51}, /* D3C Atari ST: { 74, 149, 25, 75, 48, 51 } */
+ {148, 223, 25, 75, 40, 51}, /* D3R Atari ST: { 139, 223, 25, 75, 48, 51 } */
+ {60, 77, 20, 90, 16, 71}, /* D2L */
+ {146, 163, 20, 90, 16, 71}, /* D2R */
+ {0, 74, 20, 90, 56, 71}, /* D2L */
+ {60, 163, 20, 90, 56, 71}, /* D2C */
+ {149, 223, 20, 90, 56, 71}, /* D2R */
+ {32, 63, 9, 119, 16, 111}, /* D1L */
+ {160, 191, 9, 119, 16, 111}, /* D1R */
+ {32, 191, 9, 119, 80, 111} /* D1C */
+ }
+ };
+
static Box boxChampionPortraitOnWall = Box(96, 127, 35, 63); // G0109_s_Graphic558_Box_ChampionPortraitOnWall
#define AP0116_i_CharacterCount wallOrnOrd
#define AP0116_i_WallOrnamentIndex wallOrnOrd
diff --git a/engines/dm/gfx.h b/engines/dm/gfx.h
index 5e3a113833..9c1e2d9334 100644
--- a/engines/dm/gfx.h
+++ b/engines/dm/gfx.h
@@ -785,7 +785,9 @@ public:
Box _boxMovementArrows;
byte _palChangeSmoke[16];
byte _projectileScales[7];
- ExplosionAspect g211_ExplosionAspects[k4_ExplosionAspectCount];
+ ExplosionAspect _explosionAspects[k4_ExplosionAspectCount];
+ Frame _frameWallD3R2;
+ Frame g163_FrameWalls[12];
bool f491_isDerivedBitmapInCache(int16 derivedBitmapIndex); // @ F0491_CACHE_IsDerivedBitmapInCache
byte *f492_getDerivedBitmap(int16 derivedBitmapIndex); // @ F0492_CACHE_GetDerivedBitmap