X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2FguiEngine.cpp;h=0a1d722069ebd6c573bf5381b9839e14a0693057;hb=37b7f094e3ea502339794f64e8bad22444c6fb54;hp=f71c6a515b8d1d7cf0e3df7c20c15e3d6d90598b;hpb=7b3602bab3a697a2729b057c5e8a354337482389;p=oweals%2Fminetest.git diff --git a/src/guiEngine.cpp b/src/guiEngine.cpp index f71c6a515..0a1d72206 100644 --- a/src/guiEngine.cpp +++ b/src/guiEngine.cpp @@ -32,14 +32,14 @@ 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 -#if USE_CURL -#include -#endif - /******************************************************************************/ /** TextDestGuiEngine */ /******************************************************************************/ @@ -87,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()); } @@ -209,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; } /******************************************************************************/ @@ -269,6 +280,10 @@ void GUIEngine::run() sleep_ms(25); m_script->step(); + +#ifdef __ANDROID__ + m_menu->getAndroidUIInput(); +#endif } } @@ -283,8 +298,6 @@ GUIEngine::~GUIEngine() m_sound_manager = NULL; } - //TODO: clean up m_menu here - infostream<<"GUIEngine: Deinitializing scripting"<drop(); } @@ -528,6 +541,7 @@ bool GUIEngine::downloadFile(std::string url,std::string target) HTTPFetchResult fetchresult; fetchrequest.url = url; fetchrequest.caller = HTTPFETCH_SYNC; + fetchrequest.timeout = g_settings->getS32("curl_file_download_timeout"); httpfetch_sync(fetchrequest, fetchresult); if (fetchresult.succeeded) {