7 changes: 6 additions & 1 deletion src/drawscene.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ video::ITexture* draw_hud(video::IVideoDriver* driver, const v2u32& screensize,
hud.drawCrosshair();
hud.drawHotbar(client.getPlayerItem());
hud.drawLuaElements(camera.getOffset());

camera.drawNametags();
guienv->drawAll();
}

Expand Down Expand Up @@ -416,6 +416,7 @@ void draw_pageflip_3d_mode(Camera& camera, bool show_hud,
camera.drawWieldedTool(&leftMove);
hud.drawHotbar(client.getPlayerItem());
hud.drawLuaElements(camera.getOffset());
camera.drawNametags();
}

guienv->drawAll();
Expand Down Expand Up @@ -443,6 +444,7 @@ void draw_pageflip_3d_mode(Camera& camera, bool show_hud,
camera.drawWieldedTool(&rightMove);
hud.drawHotbar(client.getPlayerItem());
hud.drawLuaElements(camera.getOffset());
camera.drawNametags();
}

guienv->drawAll();
Expand Down Expand Up @@ -538,8 +540,11 @@ void draw_scene(video::IVideoDriver *driver, scene::ISceneManager *smgr,
{
if (draw_crosshair)
hud.drawCrosshair();

hud.drawHotbar(client.getPlayerItem());
hud.drawLuaElements(camera.getOffset());
camera.drawNametags();

if (show_minimap)
mapper.drawMinimap();
}
Expand Down
1 change: 1 addition & 0 deletions src/game.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2087,6 +2087,7 @@ bool Game::createClient(const std::string &playername,
camera = new Camera(smgr, *draw_control, gamedef);
if (!camera || !camera->successfullyCreated(*error_message))
return false;
client->setCamera(camera);

/* Clouds
*/
Expand Down
6 changes: 6 additions & 0 deletions src/gamedef.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ class IShaderSource;
class MtEventManager;
class IRollbackManager;
class EmergeManager;
class Camera;

namespace irr { namespace scene {
class IAnimatedMesh;
class ISceneManager;
Expand Down Expand Up @@ -67,6 +69,10 @@ class IGameDef
{ return NULL; }
virtual scene::ISceneManager* getSceneManager()=0;

virtual Camera* getCamera()
{ return NULL; }
virtual void setCamera(Camera *camera) {}

// Only usable on the server, and NOT thread-safe. It is usable from the
// environment thread.
virtual IRollbackManager* getRollbackManager(){return NULL;}
Expand Down