1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-07-22 17:18:39 +00:00

[CSM] Fix minimap problems (#5405)

This fixes issue #5404
This commit is contained in:
Loïc Blot 2017-03-17 07:54:49 +01:00 committed by GitHub
parent 0891975ad6
commit 7b74f04a61
5 changed files with 18 additions and 17 deletions

View file

@ -224,7 +224,6 @@ Client::Client(
m_device(device),
m_camera(NULL),
m_minimap_disabled_by_server(false),
m_minimap_shown_by_mod(false),
m_server_ser_ver(SER_FMT_VER_INVALID),
m_proto_ver(0),
m_playeritem(0),
@ -1933,11 +1932,7 @@ void Client::makeScreenshot(IrrlichtDevice *device)
bool Client::shouldShowMinimap() const
{
if (m_minimap_disabled_by_server) {
return false;
}
return m_minimap_shown_by_mod;
return !m_minimap_disabled_by_server;
}
// IGameDef interface

View file

@ -532,7 +532,6 @@ public:
{ return m_camera; }
bool shouldShowMinimap() const;
void setMinimapShownByMod(bool state) { m_minimap_shown_by_mod = state; }
// IGameDef interface
virtual IItemDefManager* getItemDefManager();
@ -634,7 +633,6 @@ private:
Camera *m_camera;
Minimap *m_minimap;
bool m_minimap_disabled_by_server;
bool m_minimap_shown_by_mod;
// Server serialization version
u8 m_server_ser_ver;

View file

@ -1769,7 +1769,7 @@ void Game::run()
updateProfilerGraphs(&graph);
// Update if minimap has been disabled by the server
flags.show_minimap = client->shouldShowMinimap();
flags.show_minimap &= client->shouldShowMinimap();
}
}

View file

@ -118,17 +118,21 @@ int LuaMinimap::l_toggle_shape(lua_State *L)
int LuaMinimap::l_show(lua_State *L)
{
Client *client = getClient(L);
assert(client);
client->setMinimapShownByMod(true);
LuaMinimap *ref = checkobject(L, 1);
Minimap *m = getobject(ref);
if (m->getMinimapMode() == MINIMAP_MODE_OFF)
m->setMinimapMode(MINIMAP_MODE_SURFACEx1);
return 1;
}
int LuaMinimap::l_hide(lua_State *L)
{
Client *client = getClient(L);
assert(client);
client->setMinimapShownByMod(false);
LuaMinimap *ref = checkobject(L, 1);
Minimap *m = getobject(ref);
if (m->getMinimapMode() != MINIMAP_MODE_OFF)
m->setMinimapMode(MINIMAP_MODE_OFF);
return 1;
}