forked from Mirrorlandia_minetest/minetest
Irrlicht 1.9 support
This commit is contained in:
parent
b16252dcae
commit
084cdea686
@ -125,6 +125,10 @@ namespace gui
|
|||||||
|
|
||||||
bool flgmip = driver->getTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS);
|
bool flgmip = driver->getTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS);
|
||||||
driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, false);
|
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.
|
// Set the texture color format.
|
||||||
switch (pixel_mode)
|
switch (pixel_mode)
|
||||||
@ -140,6 +144,9 @@ namespace gui
|
|||||||
|
|
||||||
// Restore our texture creation flags.
|
// Restore our texture creation flags.
|
||||||
driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, flgmip);
|
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;
|
return texture ? true : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -938,7 +938,7 @@ video::ITexture* TextureSource::generateTextureFromMesh(
|
|||||||
smgr->drop();
|
smgr->drop();
|
||||||
|
|
||||||
// Unset render target
|
// 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)
|
if (params.delete_texture_on_shutdown)
|
||||||
m_texture_trash.push_back(rtt);
|
m_texture_trash.push_back(rtt);
|
||||||
|
@ -383,6 +383,10 @@ void draw_pageflip_3d_mode(Camera& camera, bool show_hud,
|
|||||||
bool draw_wield_tool, Client& client, gui::IGUIEnvironment* guienv,
|
bool draw_wield_tool, Client& client, gui::IGUIEnvironment* guienv,
|
||||||
video::SColor skycolor)
|
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*/
|
/* preserve old setup*/
|
||||||
irr::core::vector3df oldPosition = camera.getCameraNode()->getPosition();
|
irr::core::vector3df oldPosition = camera.getCameraNode()->getPosition();
|
||||||
irr::core::vector3df oldTarget = camera.getCameraNode()->getTarget();
|
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()->setPosition(oldPosition);
|
||||||
camera.getCameraNode()->setTarget(oldTarget);
|
camera.getCameraNode()->setTarget(oldTarget);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void draw_plain(Camera &camera, bool show_hud, Hud &hud,
|
void draw_plain(Camera &camera, bool show_hud, Hud &hud,
|
||||||
|
@ -2071,9 +2071,11 @@ void Game::run()
|
|||||||
|
|
||||||
void Game::shutdown()
|
void Game::shutdown()
|
||||||
{
|
{
|
||||||
|
#if IRRLICHT_VERSION_MAJOR == 1 && IRRLICHT_VERSION_MINOR <= 8
|
||||||
if (g_settings->get("3d_mode") == "pageflip") {
|
if (g_settings->get("3d_mode") == "pageflip") {
|
||||||
driver->setRenderTarget(irr::video::ERT_STEREO_BOTH_BUFFERS);
|
driver->setRenderTarget(irr::video::ERT_STEREO_BOTH_BUFFERS);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
showOverlayMessage(wgettext("Shutting down..."), 0, 0, false);
|
showOverlayMessage(wgettext("Shutting down..."), 0, 0, false);
|
||||||
|
|
||||||
|
@ -630,7 +630,7 @@ bool GUIChatConsole::OnEvent(const SEvent& event)
|
|||||||
}
|
}
|
||||||
else if(event.KeyInput.Char != 0 && !event.KeyInput.Control)
|
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'_';
|
wchar_t wc = L'_';
|
||||||
mbtowc( &wc, (char *) &event.KeyInput.Char, sizeof(event.KeyInput.Char) );
|
mbtowc( &wc, (char *) &event.KeyInput.Char, sizeof(event.KeyInput.Char) );
|
||||||
prompt.input(wc);
|
prompt.input(wc);
|
||||||
|
@ -20,6 +20,10 @@
|
|||||||
#if USE_FREETYPE
|
#if USE_FREETYPE
|
||||||
#include "cguittfont/xCGUITTFont.h"
|
#include "cguittfont/xCGUITTFont.h"
|
||||||
#endif
|
#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"
|
#include "util/string.h"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user