X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2FguiEngine.cpp;h=0a1d722069ebd6c573bf5381b9839e14a0693057;hb=37b7f094e3ea502339794f64e8bad22444c6fb54;hp=671f0c574dbd91fd7ac31e65744a1bc1329f272d;hpb=8af44f81637938db7e4651d2ef8a294cf43b1072;p=oweals%2Fminetest.git diff --git a/src/guiEngine.cpp b/src/guiEngine.cpp index 671f0c574..0a1d72206 100644 --- a/src/guiEngine.cpp +++ b/src/guiEngine.cpp @@ -32,6 +32,10 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "clouds.h" #include "httpfetch.h" #include "util/numeric.h" +#ifdef __ANDROID__ +#include "tile.h" +#include +#endif #include #include @@ -83,6 +87,16 @@ video::ITexture* MenuTextureSource::getTexture(const std::string &name, u32 *id) if(name.empty()) return NULL; m_to_delete.insert(name); + +#ifdef __ANDROID__ + video::IImage *image = m_driver->createImageFromFile(name.c_str()); + if (image) { + image = Align2Npot2(image, m_driver); + video::ITexture* retval = m_driver->addTexture(name.c_str(), image); + image->drop(); + return retval; + } +#endif return m_driver->getTexture(name.c_str()); } @@ -205,8 +219,9 @@ GUIEngine::GUIEngine( irr::IrrlichtDevice* dev, } m_menu->quitMenu(); - m_menu->drop(); - m_menu = 0; + m_menu->remove(); + delete m_menu; + m_menu = NULL; } /******************************************************************************/ @@ -265,6 +280,10 @@ void GUIEngine::run() sleep_ms(25); m_script->step(); + +#ifdef __ANDROID__ + m_menu->getAndroidUIInput(); +#endif } } @@ -279,8 +298,6 @@ GUIEngine::~GUIEngine() m_sound_manager = NULL; } - //TODO: clean up m_menu here - infostream<<"GUIEngine: Deinitializing scripting"<getS32("curl_file_download_timeout"); httpfetch_sync(fetchrequest, fetchresult); if (fetchresult.succeeded) {