#include "util/string.h"
#include "mapblock.h"
#include <math.h>
+#include "client/renderingengine.h"
////
//// Mapper
////
-Minimap::Minimap(IrrlichtDevice *device, Client *client)
+Minimap::Minimap(Client *client)
{
this->client = client;
- this->driver = device->getVideoDriver();
+ this->driver = RenderingEngine::get_video_driver();
this->m_tsrc = client->getTextureSource();
this->m_shdrsrc = client->getShaderSource();
this->m_ndef = client->getNodeDefManager();
data->mode = MINIMAP_MODE_OFF;
data->is_radar = false;
data->map_invalidated = true;
- data->heightmap_image = NULL;
- data->minimap_image = NULL;
data->texture = NULL;
data->heightmap_texture = NULL;
data->minimap_shape_round = g_settings->getBool("minimap_shape_round");
m_minimap_update_thread->deferUpdate();
}
+void Minimap::setMinimapShape(MinimapShape shape)
+{
+ MutexAutoLock lock(m_mutex);
+
+ if (shape == MINIMAP_SHAPE_SQUARE)
+ data->minimap_shape_round = false;
+ else if (shape == MINIMAP_SHAPE_ROUND)
+ data->minimap_shape_round = true;
+
+ g_settings->setBool("minimap_shape_round", data->minimap_shape_round);
+ m_minimap_update_thread->deferUpdate();
+}
+
+MinimapShape Minimap::getMinimapShape()
+{
+ if (data->minimap_shape_round) {
+ return MINIMAP_SHAPE_ROUND;
+ } else {
+ return MINIMAP_SHAPE_SQUARE;
+ }
+}
+
void Minimap::setMinimapMode(MinimapMode mode)
{
static const MinimapModeDef modedefs[MINIMAP_MODE_COUNT] = {
return;
updateActiveMarkers();
- v2u32 screensize = porting::getWindowSize();
+ v2u32 screensize = RenderingEngine::get_instance()->getWindowSize();
const u32 size = 0.25 * screensize.Y;
core::rect<s32> oldViewPort = driver->getViewPort();