annotate TileFrameTable.h @ 2382:8c00bd4573a8

sub_407A1C - fixing wrongly identified structure variable
author zipi
date Sun, 22 Jun 2014 13:58:46 +0100
parents 00bd098f6435
children
rev   line source
0
Ritor1
parents:
diff changeset
1 #pragma once
Ritor1
parents:
diff changeset
2
Ritor1
parents:
diff changeset
3
Ritor1
parents:
diff changeset
4
Ritor1
parents:
diff changeset
5 /* 327 */
Ritor1
parents:
diff changeset
6 enum TILE_DESC_FLAGS
Ritor1
parents:
diff changeset
7 {
Ritor1
parents:
diff changeset
8 TILE_DESC_BURNS = 0x1,
Ritor1
parents:
diff changeset
9 TILE_DESC_WATER = 0x2,
Ritor1
parents:
diff changeset
10 TILE_DESC_BLOCK = 0x4,
Ritor1
parents:
diff changeset
11 TILE_DESC_REPULSE = 0x8,
Ritor1
parents:
diff changeset
12 TILE_DESC_FLAT = 0x10,
Ritor1
parents:
diff changeset
13 TILE_DESC_WAVY = 0x20,
Ritor1
parents:
diff changeset
14 TILE_DESC_DONT_DRAW = 0x40,
Ritor1
parents:
diff changeset
15 TILE_DESC_WATER_2 = 0x100,
Ritor1
parents:
diff changeset
16 TILE_DESC_TRANSITION = 0x200,
Ritor1
parents:
diff changeset
17 TILE_DESC_SCROLL_DOWN = 0x400,
Ritor1
parents:
diff changeset
18 TILE_DESC_SCROLL_UP = 0x800,
Ritor1
parents:
diff changeset
19 TILE_DESC_SCROLL_LEFT = 0x1000,
Ritor1
parents:
diff changeset
20 TILE_DESC_SCROLL_RIGHT = 0x2000,
Ritor1
parents:
diff changeset
21 };
Ritor1
parents:
diff changeset
22
1888
cbeb25a148ad getting rid of "signed value is out of range for enum constant" errors for Tileset_NULL and PLAYER_SKILL_INVALID
Grumpy7
parents: 1477
diff changeset
23 #pragma warning( push )
cbeb25a148ad getting rid of "signed value is out of range for enum constant" errors for Tileset_NULL and PLAYER_SKILL_INVALID
Grumpy7
parents: 1477
diff changeset
24 #pragma warning( disable: 4341 )
760
7f1487b74571 some outdoor cleaning
Gloval
parents: 630
diff changeset
25 enum Tileset: signed __int16
630
1b813023fcbd Tilesets change according to current season
Nomad
parents: 0
diff changeset
26 {
1b813023fcbd Tilesets change according to current season
Nomad
parents: 0
diff changeset
27 Tileset_Grass = 0,
1b813023fcbd Tilesets change according to current season
Nomad
parents: 0
diff changeset
28 Tileset_Snow = 1,
2166
00bd098f6435 fixpoint_mul in different functions and others
Ritor1
parents: 1888
diff changeset
29 Tilset_Desert = 2,
630
1b813023fcbd Tilesets change according to current season
Nomad
parents: 0
diff changeset
30 Tileset_3 = 3,
1b813023fcbd Tilesets change according to current season
Nomad
parents: 0
diff changeset
31 Tileset_Dirt = 4,
1b813023fcbd Tilesets change according to current season
Nomad
parents: 0
diff changeset
32 Tileset_Water = 5,
1b813023fcbd Tilesets change according to current season
Nomad
parents: 0
diff changeset
33 Tileset_6 = 6,
1b813023fcbd Tilesets change according to current season
Nomad
parents: 0
diff changeset
34 Tileset_Swamp = 7,
1b813023fcbd Tilesets change according to current season
Nomad
parents: 0
diff changeset
35 Tileset_8 = 8,
1b813023fcbd Tilesets change according to current season
Nomad
parents: 0
diff changeset
36 Tileset_9 = 9,
760
7f1487b74571 some outdoor cleaning
Gloval
parents: 630
diff changeset
37 Tileset_RoadGrassCobble = 10,
7f1487b74571 some outdoor cleaning
Gloval
parents: 630
diff changeset
38 Tileset_NULL =-1
630
1b813023fcbd Tilesets change according to current season
Nomad
parents: 0
diff changeset
39 };
1888
cbeb25a148ad getting rid of "signed value is out of range for enum constant" errors for Tileset_NULL and PLAYER_SKILL_INVALID
Grumpy7
parents: 1477
diff changeset
40 #pragma warning( pop )
0
Ritor1
parents:
diff changeset
41
Ritor1
parents:
diff changeset
42 /* 48 */
Ritor1
parents:
diff changeset
43 #pragma pack(push, 1)
760
7f1487b74571 some outdoor cleaning
Gloval
parents: 630
diff changeset
44 struct TileDesc //26
0
Ritor1
parents:
diff changeset
45 {
Ritor1
parents:
diff changeset
46 char pTileName[16];
Ritor1
parents:
diff changeset
47 unsigned __int16 uTileID;
Ritor1
parents:
diff changeset
48 unsigned __int16 uBitmapID;
630
1b813023fcbd Tilesets change according to current season
Nomad
parents: 0
diff changeset
49 Tileset tileset;
0
Ritor1
parents:
diff changeset
50 unsigned __int16 uSection;
Ritor1
parents:
diff changeset
51 unsigned __int16 uAttributes;
Ritor1
parents:
diff changeset
52 };
Ritor1
parents:
diff changeset
53 #pragma pack(pop)
Ritor1
parents:
diff changeset
54
Ritor1
parents:
diff changeset
55 /* 49 */
Ritor1
parents:
diff changeset
56 #pragma pack(push, 1)
Ritor1
parents:
diff changeset
57 struct TileTable
Ritor1
parents:
diff changeset
58 {
Ritor1
parents:
diff changeset
59 //----- (00487E13) --------------------------------------------------------
Ritor1
parents:
diff changeset
60 TileTable()
Ritor1
parents:
diff changeset
61 {
Ritor1
parents:
diff changeset
62 this->pTiles = nullptr;
760
7f1487b74571 some outdoor cleaning
Gloval
parents: 630
diff changeset
63 this->sNumTiles = 0;
0
Ritor1
parents:
diff changeset
64 }
Ritor1
parents:
diff changeset
65 ~TileTable();
Ritor1
parents:
diff changeset
66
Ritor1
parents:
diff changeset
67 TileDesc *GetTileById(unsigned int uTileID);
630
1b813023fcbd Tilesets change according to current season
Nomad
parents: 0
diff changeset
68 void InitializeTileset(Tileset tileset);
760
7f1487b74571 some outdoor cleaning
Gloval
parents: 630
diff changeset
69 int GetTileForTerrainType(signed int a1, bool a2);
0
Ritor1
parents:
diff changeset
70 unsigned int GetTileId(unsigned int uTerrainType, unsigned int uSection);
Ritor1
parents:
diff changeset
71 void ToFile();
1477
7ef4b64f6329 * LODFile::LoadBitmaps & LODFile::LoadIconsOrEvents are merged into LODFile::Load
Nomad
parents: 760
diff changeset
72 void FromFile(void *data_mm6, void *data_mm7, void *data_mm8);
0
Ritor1
parents:
diff changeset
73 int FromFileTxt(const char *pFilename);
Ritor1
parents:
diff changeset
74
760
7f1487b74571 some outdoor cleaning
Gloval
parents: 630
diff changeset
75 signed int sNumTiles;
0
Ritor1
parents:
diff changeset
76 struct TileDesc *pTiles;
Ritor1
parents:
diff changeset
77 };
Ritor1
parents:
diff changeset
78 #pragma pack(pop)