diff options
Diffstat (limited to 'src/client')
-rw-r--r-- | src/client/renderingengine.cpp | 20 | ||||
-rw-r--r-- | src/client/renderingengine.h | 9 |
2 files changed, 29 insertions, 0 deletions
diff --git a/src/client/renderingengine.cpp b/src/client/renderingengine.cpp index f9da178b9..3c48c28a8 100644 --- a/src/client/renderingengine.cpp +++ b/src/client/renderingengine.cpp @@ -410,6 +410,26 @@ void RenderingEngine::_draw_load_screen(const std::wstring &text, guitext->remove(); } +/* + Draws the menu scene including (optional) cloud background. +*/ +void RenderingEngine::_draw_menu_scene(gui::IGUIEnvironment *guienv, + float dtime, bool clouds) +{ + bool cloud_menu_background = clouds && g_settings->getBool("menu_clouds"); + if (cloud_menu_background) { + g_menuclouds->step(dtime * 3); + g_menuclouds->render(); + get_video_driver()->beginScene( + true, true, video::SColor(255, 140, 186, 250)); + g_menucloudsmgr->drawAll(); + } else + get_video_driver()->beginScene(true, true, video::SColor(255, 0, 0, 0)); + + guienv->drawAll(); + get_video_driver()->endScene(); +} + std::vector<core::vector3d<u32>> RenderingEngine::getSupportedVideoModes() { IrrlichtDevice *nulldevice = createDevice(video::EDT_NULL); diff --git a/src/client/renderingengine.h b/src/client/renderingengine.h index ac6b6926c..8728363d2 100644 --- a/src/client/renderingengine.h +++ b/src/client/renderingengine.h @@ -110,6 +110,12 @@ public: text, guienv, tsrc, dtime, percent, clouds); } + inline static void draw_menu_scene( + gui::IGUIEnvironment *guienv, float dtime, bool clouds) + { + s_singleton->_draw_menu_scene(guienv, dtime, clouds); + } + inline static void draw_scene(video::SColor skycolor, bool show_hud, bool show_minimap, bool draw_wield_tool, bool draw_crosshair) { @@ -138,6 +144,9 @@ private: ITextureSource *tsrc, float dtime = 0, int percent = 0, bool clouds = true); + void _draw_menu_scene(gui::IGUIEnvironment *guienv, float dtime = 0, + bool clouds = true); + void _draw_scene(video::SColor skycolor, bool show_hud, bool show_minimap, bool draw_wield_tool, bool draw_crosshair); |