diff options
Diffstat (limited to 'engines/hdb/map-loader.h')
-rw-r--r-- | engines/hdb/map-loader.h | 46 |
1 files changed, 34 insertions, 12 deletions
diff --git a/engines/hdb/map-loader.h b/engines/hdb/map-loader.h index 5f06817ac2..43edefd7fb 100644 --- a/engines/hdb/map-loader.h +++ b/engines/hdb/map-loader.h @@ -24,21 +24,10 @@ #define HDB_MAP_LOADER_H #include "common/system.h" +#include "common/array.h" namespace HDB { -struct MSMHeader { - char name[32]; - uint16 width; - uint16 height; - uint32 background; - uint32 foreground; - uint16 iconNum; - uint32 iconList; - uint16 infoNum; - uint32 infoList; -}; - struct MSMIcon { uint16 icon; // index into icon list uint16 x; @@ -52,6 +41,39 @@ struct MSMIcon { uint16 value1, value2; }; +struct SeeThroughTile { + uint16 x; + uint16 y; + uint16 tile; +}; + +class Map { +public: + Map(); + + bool load(Common::SeekableReadStream *stream); +private: + char _name[32]; + uint16 _width; + uint16 _height; + uint32 _backgroundOffset; + uint32 _foregroundOffset; + uint16 _iconNum; + uint32 _iconListOffset; + uint16 _infoNum; + uint32 _infoListOffset; + + uint16 *_background; + uint16 *_foreground; + MSMIcon *_iconList; + + char *_mapExplosions; + char *_mapExpBarrels; + char *_mapLaserBeams; + + bool _mapLoaded; +}; + class MapLoader { public: MapLoader(); |