Mercurial > mm7
view TileFrameTable.h @ 1165:29a8defbad9e
temporary _CRT_SECURE_NO_WARNINGS to remove some warnings
removed double LOBYTE, LOWORD etd macro definitions
swprintf called with string size parameter
ErrD3D with too many params fix
1 or 2 other minor fixes
author | Grumpy7 |
---|---|
date | Tue, 04 Jun 2013 03:21:21 +0200 |
parents | 7f1487b74571 |
children | 7ef4b64f6329 |
line wrap: on
line source
#pragma once /* 327 */ enum TILE_DESC_FLAGS { TILE_DESC_BURNS = 0x1, TILE_DESC_WATER = 0x2, TILE_DESC_BLOCK = 0x4, TILE_DESC_REPULSE = 0x8, TILE_DESC_FLAT = 0x10, TILE_DESC_WAVY = 0x20, TILE_DESC_DONT_DRAW = 0x40, TILE_DESC_WATER_2 = 0x100, TILE_DESC_TRANSITION = 0x200, TILE_DESC_SCROLL_DOWN = 0x400, TILE_DESC_SCROLL_UP = 0x800, TILE_DESC_SCROLL_LEFT = 0x1000, TILE_DESC_SCROLL_RIGHT = 0x2000, }; enum Tileset: signed __int16 { Tileset_Grass = 0, Tileset_Snow = 1, Tileset_2 = 2, Tileset_3 = 3, Tileset_Dirt = 4, Tileset_Water = 5, Tileset_6 = 6, Tileset_Swamp = 7, Tileset_8 = 8, Tileset_9 = 9, Tileset_RoadGrassCobble = 10, Tileset_NULL =-1 }; /* 48 */ #pragma pack(push, 1) struct TileDesc //26 { char pTileName[16]; unsigned __int16 uTileID; unsigned __int16 uBitmapID; Tileset tileset; unsigned __int16 uSection; unsigned __int16 uAttributes; }; #pragma pack(pop) /* 49 */ #pragma pack(push, 1) struct TileTable { //----- (00487E13) -------------------------------------------------------- TileTable() { this->pTiles = nullptr; this->sNumTiles = 0; } ~TileTable(); TileDesc *GetTileById(unsigned int uTileID); void InitializeTileset(Tileset tileset); int GetTileForTerrainType(signed int a1, bool a2); unsigned int GetTileId(unsigned int uTerrainType, unsigned int uSection); void ToFile(); void FromFile(void *pSerialized); int FromFileTxt(const char *pFilename); signed int sNumTiles; struct TileDesc *pTiles; }; #pragma pack(pop)