aboutsummaryrefslogtreecommitdiff
path: root/engines/dm/gfx.h
diff options
context:
space:
mode:
authorWinterGrascph2016-05-12 20:46:37 +0200
committerBendegúz Nagy2016-08-26 23:02:22 +0200
commit16199b4091e4fae39a6569d985e2b460c7d2516b (patch)
tree24edca3e0b241a2e2c1a7301cb75c2d5d00826ed /engines/dm/gfx.h
parentbf78e63d2e900b73c592c8087156ea261cd35354 (diff)
downloadscummvm-rg350-16199b4091e4fae39a6569d985e2b460c7d2516b.tar.gz
scummvm-rg350-16199b4091e4fae39a6569d985e2b460c7d2516b.tar.bz2
scummvm-rg350-16199b4091e4fae39a6569d985e2b460c7d2516b.zip
DM: Add loadWallSet(..) and loadFloorSet(..)
Diffstat (limited to 'engines/dm/gfx.h')
-rw-r--r--engines/dm/gfx.h26
1 files changed, 24 insertions, 2 deletions
diff --git a/engines/dm/gfx.h b/engines/dm/gfx.h
index 3199fb8b99..45b1bb78b3 100644
--- a/engines/dm/gfx.h
+++ b/engines/dm/gfx.h
@@ -7,6 +7,13 @@
namespace DM {
struct Frame;
+enum WallSet {
+ kWallSetStone = 0 // @ C0_WALL_SET_STONE
+};
+
+enum FloorSet {
+ kFloorSetStone = 0 // @ C0_FLOOR_SET_STONE
+};
enum Color {
kColorNoTransparency = 255,
@@ -57,13 +64,24 @@ class DisplayMan {
uint16 _screenWidth;
uint16 _screenHeight;
byte *_vgaBuffer;
- uint16 _itemCount;
+
+ uint16 _packedItemCount;
uint32 *_packedItemPos;
byte *_packedBitmaps; // TODO: this doesn't not contaion graphics exclusively, will have to be moved
+
+ byte **_bitmaps;
+
+
+ // the last two pointers are owned by this array
+ byte *_wallSetBitMaps[15] = {NULL}; // @G[0696..0710]_puc_Bitmap_WallSet_...
+
+ // pointers are not owned by these fields
+ byte *_floorBitmap;
+ byte *_ceilingBitmap;
+
DisplayMan(const DisplayMan &other); // no implementation on purpose
void operator=(const DisplayMan &rhs); // no implementation on purpose
- byte **_bitmaps;
byte *getCurrentVgaBuffer();
// the original functions has two position parameters, but they are always set to zero
void loadIntoBitmap(uint16 index, byte *destBitmap); // @ F0466_EXPAND_GraphicToBitmap
@@ -73,7 +91,11 @@ public:
DisplayMan(DMEngine *dmEngine);
~DisplayMan();
void setUpScreens(uint16 width, uint16 height);
+
void loadGraphics();
+ void loadWallSet(WallSet set); // @ F0095_DUNGEONVIEW_LoadWallSet
+ void loadFloorSet(FloorSet set); // @ F0094_DUNGEONVIEW_LoadFloorSet
+
void loadPalette(dmPaletteEnum palette);
/// Gives the width of an IMG0 type item