aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsfan5 <sfan5@live.de>2016-12-24 14:26:03 +0100
committersfan5 <sfan5@live.de>2016-12-26 22:36:22 +0100
commit084cdea6862cb65fe4bb807a211a9e1c17cffec8 (patch)
tree64c0bd1d43a34b8b7c026ececf31f681fb0d68c4
parentb16252dcae8c6b0e79c20fa4c3cbddc37ad377cb (diff)
downloadminetest-084cdea6862cb65fe4bb807a211a9e1c17cffec8.tar.gz
minetest-084cdea6862cb65fe4bb807a211a9e1c17cffec8.tar.bz2
minetest-084cdea6862cb65fe4bb807a211a9e1c17cffec8.zip
Irrlicht 1.9 support
-rw-r--r--src/cguittfont/CGUITTFont.h7
-rw-r--r--src/client/tile.cpp2
-rw-r--r--src/drawscene.cpp5
-rw-r--r--src/game.cpp2
-rw-r--r--src/guiChatConsole.cpp2
-rw-r--r--src/irrlicht_changes/static_text.cpp4
6 files changed, 20 insertions, 2 deletions
diff --git a/src/cguittfont/CGUITTFont.h b/src/cguittfont/CGUITTFont.h
index 0aa540c5c..77c9e34f8 100644
--- a/src/cguittfont/CGUITTFont.h
+++ b/src/cguittfont/CGUITTFont.h
@@ -125,6 +125,10 @@ namespace gui
bool flgmip = driver->getTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS);
driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, false);
+#if IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR > 8
+ bool flgcpy = driver->getTextureCreationFlag(video::ETCF_ALLOW_MEMORY_COPY);
+ driver->setTextureCreationFlag(video::ETCF_ALLOW_MEMORY_COPY, true);
+#endif
// Set the texture color format.
switch (pixel_mode)
@@ -140,6 +144,9 @@ namespace gui
// Restore our texture creation flags.
driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, flgmip);
+#if IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR > 8
+ driver->setTextureCreationFlag(video::ETCF_ALLOW_MEMORY_COPY, flgcpy);
+#endif
return texture ? true : false;
}
diff --git a/src/client/tile.cpp b/src/client/tile.cpp
index 8f0c39465..7f7535df6 100644
--- a/src/client/tile.cpp
+++ b/src/client/tile.cpp
@@ -938,7 +938,7 @@ video::ITexture* TextureSource::generateTextureFromMesh(
smgr->drop();
// Unset render target
- driver->setRenderTarget(0, false, true, 0);
+ driver->setRenderTarget(0, false, true, video::SColor(0,0,0,0));
if (params.delete_texture_on_shutdown)
m_texture_trash.push_back(rtt);
diff --git a/src/drawscene.cpp b/src/drawscene.cpp
index c6abda4ac..32a078b8e 100644
--- a/src/drawscene.cpp
+++ b/src/drawscene.cpp
@@ -383,6 +383,10 @@ void draw_pageflip_3d_mode(Camera& camera, bool show_hud,
bool draw_wield_tool, Client& client, gui::IGUIEnvironment* guienv,
video::SColor skycolor)
{
+#if IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR > 8
+ errorstream << "Pageflip 3D mode is not supported"
+ << " with your Irrlicht version!" << std::endl;
+#else
/* preserve old setup*/
irr::core::vector3df oldPosition = camera.getCameraNode()->getPosition();
irr::core::vector3df oldTarget = camera.getCameraNode()->getTarget();
@@ -451,6 +455,7 @@ void draw_pageflip_3d_mode(Camera& camera, bool show_hud,
camera.getCameraNode()->setPosition(oldPosition);
camera.getCameraNode()->setTarget(oldTarget);
+#endif
}
void draw_plain(Camera &camera, bool show_hud, Hud &hud,
diff --git a/src/game.cpp b/src/game.cpp
index 966c23073..5bdbea617 100644
--- a/src/game.cpp
+++ b/src/game.cpp
@@ -2071,9 +2071,11 @@ void Game::run()
void Game::shutdown()
{
+#if IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR <= 8
if (g_settings->get("3d_mode") == "pageflip") {
driver->setRenderTarget(irr::video::ERT_STEREO_BOTH_BUFFERS);
}
+#endif
showOverlayMessage(wgettext("Shutting down..."), 0, 0, false);
diff --git a/src/guiChatConsole.cpp b/src/guiChatConsole.cpp
index 8dd5ab032..867576175 100644
--- a/src/guiChatConsole.cpp
+++ b/src/guiChatConsole.cpp
@@ -630,7 +630,7 @@ bool GUIChatConsole::OnEvent(const SEvent& event)
}
else if(event.KeyInput.Char != 0 && !event.KeyInput.Control)
{
- #if (defined(__linux__))
+ #if defined(__linux__) && (IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR < 9)
wchar_t wc = L'_';
mbtowc( &wc, (char *) &event.KeyInput.Char, sizeof(event.KeyInput.Char) );
prompt.input(wc);
diff --git a/src/irrlicht_changes/static_text.cpp b/src/irrlicht_changes/static_text.cpp
index 703287eb3..50c6c6a68 100644
--- a/src/irrlicht_changes/static_text.cpp
+++ b/src/irrlicht_changes/static_text.cpp
@@ -20,6 +20,10 @@
#if USE_FREETYPE
#include "cguittfont/xCGUITTFont.h"
#endif
+#ifndef _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX
+ // newer Irrlicht versions no longer have this
+ #define _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX
+#endif
#include "util/string.h"