1 #ifndef __SUMMARY_INFO_H
2 #define __SUMMARY_INFO_H
3 
4 #include "Types.h"
5 
6 #define GLOBAL_SUMMARY_VERSION	14
7 #define MINIMUMVERSION		7
8 
9 struct TEAMSUMMARY
10 {
11 	UINT8 ubTotal;
12 	UINT8 ubDetailed;
13 	UINT8 ubProfile;
14 	UINT8	ubExistance;
15 	UINT8 ubNumAnimals;
16 	UINT8 ubBadA, ubPoorA, ubAvgA, ubGoodA, ubGreatA; //attributes
17 	UINT8 ubBadE, ubPoorE, ubAvgE, ubGoodE, ubGreatE; //equipment
18 }; //15 bytes
19 
20 struct SUMMARYFILE
21 {
22 	//start version 1
23 	UINT8 ubSummaryVersion;
24 	UINT8 ubSpecial;
25 	UINT16 usNumItems;
26 	UINT16 usNumLights;
27 	MAPCREATE_STRUCT MapInfo;
28 	TEAMSUMMARY EnemyTeam;
29 	TEAMSUMMARY CreatureTeam;
30 	TEAMSUMMARY RebelTeam;
31 	TEAMSUMMARY CivTeam;
32 	UINT8 ubNumDoors;
33 	UINT8 ubNumDoorsLocked;
34 	UINT8 ubNumDoorsTrapped;
35 	UINT8 ubNumDoorsLockedAndTrapped;
36 	//start version 2
37 	UINT8 ubTilesetID;
38 	UINT8 ubNumRooms;
39 	//start version	3
40 	UINT8 ubNumElites;
41 	UINT8 ubNumAdmins;
42 	UINT8 ubNumTroops;
43 	//start version 4
44 	UINT8 ubEliteDetailed;
45 	UINT8 ubAdminDetailed;
46 	UINT8 ubTroopDetailed;
47 	//start version 5
48 	UINT8 ubEliteProfile;
49 	UINT8 ubAdminProfile;
50 	UINT8 ubTroopProfile;
51 	//start version 6
52 	UINT8 ubEliteExistance;
53 	UINT8 ubAdminExistance;
54 	UINT8 ubTroopExistance;
55 	//start version 7
56 	FLOAT dMajorMapVersion;
57 	//start version 8
58 	UINT8 ubCivSchedules;
59 	//start version 9
60 	UINT8 ubCivCows;
61 	UINT8 ubCivBloodcats;
62 	//					//-----
63 	//					// 190
64 	//start version 10
65 	EXITGRID ExitGrid[4];			//  20  (5*4)
66 	UINT16  usExitGridSize[4];		//   8   (2*4)
67 	BOOLEAN fInvalidDest[4];		//   4
68 	UINT8   ubNumExitGridDests;		//   1
69 	BOOLEAN fTooManyExitGridDests;		//   1
70 	//					//-----
71 	//					// 224
72 	//start version 11
73 	UINT8   ubEnemiesReqWaypoints;		//   1
74 	//					//-----
75 	//					// 225
76 	//start version 12
77 	UINT16 usWarningRoomNums;		//   2
78 	//					// 227
79 	//start version 13
80 	UINT8 ubEnemiesHaveWaypoints;		//   1
81 	UINT32 uiNumItemsPosition;		//   4
82 	//					//-----
83 	//					// 232
84 	//start version 14
85 	UINT32 uiEnemyPlacementPosition;	//   4
86 	//					//-----
87 	//					// 236
88 
89 
90 	UINT8 ubPadding[164];			// 164 // XXX HACK000B
91 	//					//-----
92 	//					// 400 total bytes
93 };
94 
95 
96 extern BOOLEAN gfAutoLoadA9;
97 
98 extern BOOLEAN EvaluateWorld(const char* pSector, UINT8 ubLevel);
99 void WriteSectorSummaryUpdate(const char* filename, UINT8 ubLevel, SUMMARYFILE*);
100 
101 extern BOOLEAN gfMustForceUpdateAllMaps;
102 extern BOOLEAN gfMajorUpdate;
103 void ApologizeOverrideAndForceUpdateEverything(void);
104 
105 #endif
106