You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
1.6 KiB
88 lines
1.6 KiB
/** |
|
* @file automap.h |
|
* |
|
* Interface of the in-game map overlay. |
|
*/ |
|
#pragma once |
|
|
|
#include <cstdint> |
|
|
|
#include "engine.h" |
|
#include "gendung.h" |
|
|
|
namespace devilution { |
|
|
|
/** Specifies whether the automap is enabled. */ |
|
extern bool AutomapActive; |
|
/** Tracks the explored areas of the map. */ |
|
extern bool AutomapView[DMAXX][DMAXY]; |
|
/** Specifies the scale of the automap. */ |
|
extern int AutoMapScale; |
|
extern Point AutomapOffset; |
|
extern int AmLine64; |
|
extern int AmLine32; |
|
extern int AmLine16; |
|
extern int AmLine8; |
|
extern int AmLine4; |
|
|
|
/** |
|
* @brief Initializes the automap. |
|
*/ |
|
void InitAutomapOnce(); |
|
|
|
/** |
|
* @brief Loads the mapping between tile IDs and automap shapes. |
|
*/ |
|
void InitAutomap(); |
|
|
|
/** |
|
* @brief Displays the automap. |
|
*/ |
|
void StartAutomap(); |
|
|
|
/** |
|
* @brief Scrolls the automap upwards. |
|
*/ |
|
void AutomapUp(); |
|
|
|
/** |
|
* @brief Scrolls the automap downwards. |
|
*/ |
|
void AutomapDown(); |
|
|
|
/** |
|
* @brief Scrolls the automap leftwards. |
|
*/ |
|
void AutomapLeft(); |
|
|
|
/** |
|
* @brief Scrolls the automap rightwards. |
|
*/ |
|
void AutomapRight(); |
|
|
|
/** |
|
* @brief Increases the zoom level of the automap. |
|
*/ |
|
void AutomapZoomIn(); |
|
|
|
/** |
|
* @brief Decreases the zoom level of the automap. |
|
*/ |
|
void AutomapZoomOut(); |
|
|
|
/** |
|
* @brief Renders the automap to the given buffer. |
|
*/ |
|
void DrawAutomap(const CelOutputBuffer &out); |
|
|
|
/** |
|
* @brief Marks the given coordinate as within view on the automap. |
|
*/ |
|
void SetAutomapView(Point tile); |
|
|
|
/** |
|
* @brief Resets the zoom level of the automap. |
|
*/ |
|
void AutomapZoomReset(); |
|
|
|
} // namespace devilution
|
|
|