summaryrefslogtreecommitdiff
path: root/src/client
diff options
context:
space:
mode:
Diffstat (limited to 'src/client')
-rw-r--r--src/client/renderingengine.cpp20
-rw-r--r--src/client/renderingengine.h9
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);