18
18
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
24
* @defgroup Minimap Minimap (radar) subsystem.
21
28
#ifndef __INCLUDED_SRC_RADAR_H__
22
29
#define __INCLUDED_SRC_RADAR_H__
24
void radarColour(UDWORD tileNumber, uint8_t r, uint8_t g, uint8_t b);
26
#define MAX_RADARZOOM 1
31
void radarColour(UDWORD tileNumber, uint8_t r, uint8_t g, uint8_t b); ///< Set radar colour for given terrain type.
33
#define MAX_RADARZOOM 2.50f
34
#define MIN_RADARZOOM 0.75f
35
#define RADARZOOM_STEP 0.25f
29
37
extern void resetRadarRedraw(void);
30
extern BOOL InitRadar(void);
31
extern BOOL ShutdownRadar(void);
32
extern void drawRadar(void);
33
extern void CalcRadarPosition(UDWORD mX,UDWORD mY,UDWORD *PosX,UDWORD *PosY);
34
extern void SetRadarZoom(UWORD ZoomLevel);
35
extern UDWORD GetRadarZoom(void);
36
extern BOOL CoordInRadar(int x,int y);
38
extern BOOL InitRadar(void); ///< Initialize minimap subsystem.
39
extern BOOL ShutdownRadar(void); ///< Shutdown minimap subsystem.
40
extern BOOL resizeRadar(void); ///< Recalculate minimap size. For initialization code only.
41
extern void drawRadar(void); ///< Draw the minimap on the screen.
42
extern void CalcRadarPosition(int mX, int mY, int *PosX, int *PosY); ///< Given a position within the radar, returns a world coordinate.
43
extern void SetRadarZoom(float ZoomLevel); ///< Set current zoom level. 1.0 is 1:1 resolution.
44
extern float GetRadarZoom(void); ///< Get current zoom level.
45
extern BOOL CoordInRadar(int x, int y); ///< Is screen coordinate inside minimap?
38
//different mini-map draw modes
47
/** Different mini-map draw modes. */
39
48
typedef enum _radar_draw_mode
41
RADAR_MODE_TERRAIN, //draw texture map
42
RADAR_MODE_DEFAULT = RADAR_MODE_TERRAIN,
43
RADAR_MODE_HEIGHT_MAP, //draw height map
50
RADAR_MODE_TERRAIN, ///< Draw terrain map
51
RADAR_MODE_DEFAULT = RADAR_MODE_TERRAIN, ///< Default is terrain map
52
RADAR_MODE_HEIGHT_MAP, ///< Draw height map
44
53
RADAR_MODE_COMBINED,
45
RADAR_MODE_NO_TERRAIN,
54
RADAR_MODE_NO_TERRAIN, ///< Only display objects
49
extern BOOL bEnemyAllyRadarColor; //enemy/ally radar color
50
extern RADAR_DRAW_MODE radarDrawMode; //current mini-map mode
58
extern BOOL bEnemyAllyRadarColor; ///< Enemy/ally minimap color
59
extern RADAR_DRAW_MODE radarDrawMode; ///< Current minimap mode
60
extern BOOL rotateRadar;
52
extern void radarInitVars(void);
62
extern void radarInitVars(void); ///< Recalculate minimap variables. For initialization code only.
53
63
extern PIELIGHT clanColours[MAX_PLAYERS];
55
67
#endif // __INCLUDED_SRC_RADAR_H__