1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-08-11 17:51:04 +00:00

[CSM] Add minimap API modifiers (#5399)

* Rename Mapper (too generic) to Minimap
* Add lua functions to get/set position, angle, mode for minimap
* Client: rename m_mapper to m_minimap
* Add minimap to core.ui namespace (core.ui.minimap)
* Add various functions to manage minimap (show, hide, toggle_shape)
* Cleanup trivial declaration in client
This commit is contained in:
Loïc Blot 2017-03-16 10:34:54 +01:00 committed by GitHub
parent eb88e5dd4b
commit 40ce538aad
14 changed files with 349 additions and 53 deletions

View file

@ -184,7 +184,7 @@ void MinimapUpdateThread::getMap(v3s16 pos, s16 size, s16 height)
//// Mapper
////
Mapper::Mapper(IrrlichtDevice *device, Client *client)
Minimap::Minimap(IrrlichtDevice *device, Client *client)
{
this->client = client;
this->driver = device->getVideoDriver();
@ -238,7 +238,7 @@ Mapper::Mapper(IrrlichtDevice *device, Client *client)
m_minimap_update_thread->start();
}
Mapper::~Mapper()
Minimap::~Minimap()
{
m_minimap_update_thread->stop();
m_minimap_update_thread->wait();
@ -258,17 +258,12 @@ Mapper::~Mapper()
delete m_minimap_update_thread;
}
void Mapper::addBlock(v3s16 pos, MinimapMapblock *data)
void Minimap::addBlock(v3s16 pos, MinimapMapblock *data)
{
m_minimap_update_thread->enqueueBlock(pos, data);
}
MinimapMode Mapper::getMinimapMode()
{
return data->mode;
}
void Mapper::toggleMinimapShape()
void Minimap::toggleMinimapShape()
{
MutexAutoLock lock(m_mutex);
@ -277,7 +272,7 @@ void Mapper::toggleMinimapShape()
m_minimap_update_thread->deferUpdate();
}
void Mapper::setMinimapMode(MinimapMode mode)
void Minimap::setMinimapMode(MinimapMode mode)
{
static const MinimapModeDef modedefs[MINIMAP_MODE_COUNT] = {
{false, 0, 0},
@ -302,7 +297,7 @@ void Mapper::setMinimapMode(MinimapMode mode)
m_minimap_update_thread->deferUpdate();
}
void Mapper::setPos(v3s16 pos)
void Minimap::setPos(v3s16 pos)
{
bool do_update = false;
@ -320,12 +315,12 @@ void Mapper::setPos(v3s16 pos)
m_minimap_update_thread->deferUpdate();
}
void Mapper::setAngle(f32 angle)
void Minimap::setAngle(f32 angle)
{
m_angle = angle;
}
void Mapper::blitMinimapPixelsToImageRadar(video::IImage *map_image)
void Minimap::blitMinimapPixelsToImageRadar(video::IImage *map_image)
{
for (s16 x = 0; x < data->map_size; x++)
for (s16 z = 0; z < data->map_size; z++) {
@ -339,7 +334,7 @@ void Mapper::blitMinimapPixelsToImageRadar(video::IImage *map_image)
}
}
void Mapper::blitMinimapPixelsToImageSurface(
void Minimap::blitMinimapPixelsToImageSurface(
video::IImage *map_image, video::IImage *heightmap_image)
{
for (s16 x = 0; x < data->map_size; x++)
@ -368,7 +363,7 @@ void Mapper::blitMinimapPixelsToImageSurface(
}
}
video::ITexture *Mapper::getMinimapTexture()
video::ITexture *Minimap::getMinimapTexture()
{
// update minimap textures when new scan is ready
if (data->map_invalidated)
@ -418,7 +413,7 @@ video::ITexture *Mapper::getMinimapTexture()
return data->texture;
}
v3f Mapper::getYawVec()
v3f Minimap::getYawVec()
{
if (data->minimap_shape_round) {
return v3f(
@ -430,7 +425,7 @@ v3f Mapper::getYawVec()
}
}
scene::SMeshBuffer *Mapper::getMinimapMeshBuffer()
scene::SMeshBuffer *Minimap::getMinimapMeshBuffer()
{
scene::SMeshBuffer *buf = new scene::SMeshBuffer();
buf->Vertices.set_used(4);
@ -452,7 +447,7 @@ scene::SMeshBuffer *Mapper::getMinimapMeshBuffer()
return buf;
}
void Mapper::drawMinimap()
void Minimap::drawMinimap()
{
video::ITexture *minimap_texture = getMinimapTexture();
if (!minimap_texture)
@ -550,7 +545,7 @@ void Mapper::drawMinimap()
}
}
void Mapper::updateActiveMarkers ()
void Minimap::updateActiveMarkers()
{
video::IImage *minimap_mask = data->minimap_shape_round ?
data->minimap_mask_round : data->minimap_mask_square;