Files
source/Tactical/Map Information.h
Marco Antonio J. Costaandmajcosta 86ad401186 add newline at end of file where it's lacking
.editorconfig already enforces it but it's getting changed piecemeal in
every commit. just get it done with.

the script:
```

find . -type f -not -path "./.git/*" -not -path "./.vs/*" | while read -r file; do
	isFile=$(file -0 "$file" | cut -d $'\0' -f2)
	case "$isFile" in
		(*text*)
			echo "$file is text"
			if [[ $(tail -c 1 "$file" | wc -l) -ne 1 ]]; then
				echo "" >> "$file"
			fi
			;;
		(*)
			echo "file isn't text"
			;;
	esac
done
```
2024-12-14 19:05:48 -03:00

70 lines
2.1 KiB
C++

#ifndef __MAP_INFORMATION_H
#define __MAP_INFORMATION_H
#include "types.h"
extern FLOAT gdMajorMapVersion;
extern UINT8 gubMinorMapVersion;
enum //for use with MAPCREATE_STRUCT.ubEditorSmoothingType
{
SMOOTHING_NORMAL,
SMOOTHING_BASEMENT,
SMOOTHING_CAVES
};
//dnl ch42 250909
// WANNE - BMP: DONE!
typedef struct
{
//These are the mandatory entry points for a map. If any of the values are -1, then that means that
//the point has been specifically not used and that the map is not traversable to or from an adjacent
//sector in that direction. The >0 value points must be validated before saving the map. This is
//done by simply checking if those points are sittable by mercs, and that you can plot a path from
//these points to each other. These values can only be set by the editor : mapinfo tab
INT16 sNorthGridNo;
INT16 sEastGridNo;
INT16 sSouthGridNo;
INT16 sWestGridNo;
//This contains the number of individuals in the map.
//Individuals include NPCs, enemy placements, creatures, civilians, rebels, and animals.
UINT8 ubNumIndividuals;
UINT8 ubMapVersion;
UINT8 ubRestrictedScrollID;
UINT8 ubEditorSmoothingType; //normal, basement, or caves
INT16 sCenterGridNo;
INT16 sIsolatedGridNo;
INT8 bPadding[83]; //I'm sure lots of map info will be added
}_OLD_MAPCREATE_STRUCT; //99 bytes
class MAPCREATE_STRUCT
{
public:
INT32 sNorthGridNo;
INT32 sEastGridNo;
INT32 sSouthGridNo;
INT32 sWestGridNo;
INT32 sCenterGridNo;
INT32 sIsolatedGridNo;
UINT16 ubNumIndividuals;
UINT8 ubMapVersion;
UINT8 ubRestrictedScrollID;
UINT8 ubEditorSmoothingType;
public:
MAPCREATE_STRUCT& operator=(const _OLD_MAPCREATE_STRUCT& src);
BOOLEAN Load(INT8** hBuffer, FLOAT dMajorMapVersion);
BOOLEAN Save(HWFILE hFile, FLOAT dMajorMapVersion, UINT8 ubMinorMapVersion);
};
extern MAPCREATE_STRUCT gMapInformation;
void LoadMapInformation(INT8** hBuffer, FLOAT dMajorMapVersion);
void SaveMapInformation(HWFILE hFile, FLOAT dMajorMapVersion, UINT8 ubMinorMapVersion);
void ValidateAndUpdateMapVersionIfNecessary();
BOOLEAN ValidateEntryPointGridNo( INT32 *sGridNo );
extern BOOLEAN gfWorldLoaded;
#endif