annotate Engine/MapInfo.h @ 2542:bacf9809126a

.
author a.parshin
date Sun, 10 May 2015 02:04:52 +0200
parents 68cdef6879a0
children
rev   line source
2499
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
1 #pragma once
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
2
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
3
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
4 enum MAP_TYPE: unsigned __int32
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
5 {
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
6 MAP_INVALID = 0,
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
7 MAP_EMERALD_ISLE = 1,
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
8 MAP_HARMONDALE = 2,
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
9 MAP_STEADWICK = 3,
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
10 MAP_PIERPONT = 4,
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
11 MAP_DEYJA = 5,
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
12 MAP_BRAKADA_DESERT = 6,
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
13 MAP_CELESTIA = 7,
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
14 MAP_THE_PIT = 8,
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
15 MAP_EVENMORN_ISLE = 9,
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
16 MAP_MOUNT_NIGHON = 10,
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
17 MAP_BARROW_DOWNS = 11,
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
18 MAP_LAND_OF_GIANTS = 12,
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
19 MAP_TATALIA = 13,
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
20 MAP_AVLEE = 14,
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
21 MAP_SHOALS = 15,
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
22 //...
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
23 MAP_ARENA = 76,
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
24 //...
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
25 };
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
26
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
27 enum MapStartPoint: unsigned __int32
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
28 {
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
29 MapStartPoint_Party = 0,
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
30 MapStartPoint_North = 1,
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
31 MapStartPoint_South = 2,
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
32 MapStartPoint_East = 3,
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
33 MapStartPoint_West = 4
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
34 };
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
35
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
36
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
37 /* 192 */
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
38 #pragma pack(push, 1)
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
39 struct MapInfo
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
40 {
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
41 int SpawnRandomTreasure(struct SpawnPointMM7 *a2);
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
42
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
43 char *pName;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
44 char *pFilename;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
45 char *pEncounterMonster1Texture;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
46 char *pEncounterMonster2Texture;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
47 char *pEncounterMonster3Texture;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
48 unsigned int uNumResets;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
49 unsigned int uFirstVisitedAt;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
50 unsigned int uRespawnIntervalDays;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
51 int _alert_days;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
52 int _steal_perm;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
53 int _per;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
54 char field_2C;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
55 char LockX5;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
56 char Trap_D20;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
57 char Treasure_prob;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
58 char Encounter_percent;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
59 char EncM1percent;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
60 char EncM2percent;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
61 char EncM3percent;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
62 char Dif_M1;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
63 unsigned __int8 uEncounterMonster1AtLeast;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
64 unsigned __int8 uEncounterMonster1AtMost;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
65 char Dif_M2;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
66 unsigned __int8 uEncounterMonster2AtLeast;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
67 unsigned __int8 uEncounterMonster2AtMost;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
68 char Dif_M3;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
69 unsigned __int8 uEncounterMonster3AtLeast;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
70 unsigned __int8 uEncounterMonster3AtMost;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
71 char field_3D;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
72 char field_3E;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
73 char field_3F;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
74 unsigned __int8 uRedbookTrackID;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
75 unsigned __int8 uEAXEnv;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
76 char field_42;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
77 char field_43;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
78 };
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
79 #pragma pack(pop)
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
80
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
81
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
82
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
83 /* 193 */
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
84 #pragma pack(push, 1)
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
85 struct MapStats
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
86 {
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
87 void Initialize();
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
88 MAP_TYPE GetMapInfo(const char *Str2);
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
89 int sub_410D99_get_map_index(int a1);
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
90 MapInfo pInfos[77];
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
91 unsigned int uNumMaps;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
92
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
93
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
94 };
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
95 #pragma pack(pop)
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
96
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
97
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
98
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
99
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
100 extern struct MapStats *pMapStats;
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
101
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
102
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
103 extern MapStartPoint uLevel_StartingPointType; // weak
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
104
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
105
68cdef6879a0 engine folder
Ritor1
parents:
diff changeset
106 void TeleportToStartingPoint(MapStartPoint point); // idb