-void drawMenuBackground(video::IVideoDriver* driver)
-{
- core::dimension2d<u32> screensize = driver->getScreenSize();
-
- video::ITexture *bgtexture =
- driver->getTexture(getTexturePath("mud.png").c_str());
- if(bgtexture)
- {
- s32 texturesize = 128;
- s32 tiled_y = screensize.Height / texturesize + 1;
- s32 tiled_x = screensize.Width / texturesize + 1;
-
- for(s32 y=0; y<tiled_y; y++)
- for(s32 x=0; x<tiled_x; x++)
- {
- core::rect<s32> rect(0,0,texturesize,texturesize);
- rect += v2s32(x*texturesize, y*texturesize);
- driver->draw2DImage(bgtexture, rect,
- core::rect<s32>(core::position2d<s32>(0,0),
- core::dimension2di(bgtexture->getSize())),
- NULL, NULL, true);
- }
- }
-
- video::ITexture *logotexture =
- driver->getTexture(getTexturePath("menulogo.png").c_str());
- if(logotexture)
- {
- v2s32 logosize(logotexture->getOriginalSize().Width,
- logotexture->getOriginalSize().Height);
- logosize *= 4;
-
- video::SColor bgcolor(255,50,50,50);
- core::rect<s32> bgrect(0, screensize.Height-logosize.Y-20,
- screensize.Width, screensize.Height);
- driver->draw2DRectangle(bgcolor, bgrect, NULL);
-
- core::rect<s32> rect(0,0,logosize.X,logosize.Y);
- rect += v2s32(screensize.Width/2,screensize.Height-10-logosize.Y);
- rect -= v2s32(logosize.X/2, 0);
- driver->draw2DImage(logotexture, rect,
- core::rect<s32>(core::position2d<s32>(0,0),
- core::dimension2di(logotexture->getSize())),
- NULL, NULL, true);
- }
-}
-
-class DstreamLogOutput: public ILogOutput
-{
-public:
- /* line: Full line with timestamp, level and thread */
- void printLog(const std::string &line)
- {
- dstream<<line<<std::endl;
- }
-} main_dstream_log_out;
-
-class DstreamNoStderrLogOutput: public ILogOutput
-{
-public:
- /* line: Full line with timestamp, level and thread */
- void printLog(const std::string &line)
- {
- dstream_no_stderr<<line<<std::endl;
- }
-} main_dstream_no_stderr_log_out;
-