Update to rrlicht 1.8 branch r4357.

git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@11853 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
hikerstk 2012-11-02 01:34:43 +00:00
parent d48cffe06e
commit 7a953dff7d
8 changed files with 33 additions and 24 deletions

View File

@ -1,5 +1,7 @@
Changes in 1.8 (??.11.2012) Changes in 1.8 (??.11.2012)
- Let sphere mesh use full opaque color, just as all the other ones do
- Gcc on Win32 (MinGW) now also works with the _w file access functions when compiled with _IRR_WCHAR_FILESYSTEM. (thx @ alexzk for reporting compile troubles) - Gcc on Win32 (MinGW) now also works with the _w file access functions when compiled with _IRR_WCHAR_FILESYSTEM. (thx @ alexzk for reporting compile troubles)
- Fix a bunch of off-by one errors in irr::core::string in functions equals_substring_ignore_case, findFirst, findFirstChar, findNext, findLast, findLastChar, replace, remove and removeChars. - Fix a bunch of off-by one errors in irr::core::string in functions equals_substring_ignore_case, findFirst, findFirstChar, findNext, findLast, findLastChar, replace, remove and removeChars.

View File

@ -1 +1 @@
4350 4357

View File

@ -11,8 +11,8 @@
#define IRRLICHT_VERSION_REVISION 0 #define IRRLICHT_VERSION_REVISION 0
// This flag will be defined only in SVN, the official release code will have // This flag will be defined only in SVN, the official release code will have
// it undefined // it undefined
#define IRRLICHT_VERSION_SVN -alpha //#define IRRLICHT_VERSION_SVN -alpha
#define IRRLICHT_SDK_VERSION "1.8.0-alpha" #define IRRLICHT_SDK_VERSION "1.8.0"
#include <stdio.h> // TODO: Although included elsewhere this is required at least for mingw #include <stdio.h> // TODO: Although included elsewhere this is required at least for mingw

View File

@ -187,7 +187,7 @@
#include "vector2d.h" #include "vector2d.h"
#include "vector3d.h" #include "vector3d.h"
/*! \mainpage Irrlicht Engine 1.7 API documentation /*! \mainpage Irrlicht Engine 1.8 API documentation
* *
* <div align="center"><img src="logobig.png" ></div> * <div align="center"><img src="logobig.png" ></div>
* *

View File

@ -363,7 +363,7 @@ IMesh* CGeometryCreator::createSphereMesh(f32 radius, u32 polyCountX, u32 polyCo
buffer->Indices.reallocate((polyCountX * polyCountY) * 6); buffer->Indices.reallocate((polyCountX * polyCountY) * 6);
const video::SColor clr(100, 255,255,255); const video::SColor clr(255, 255,255,255);
u32 level = 0; u32 level = 0;

View File

@ -854,23 +854,21 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
case WM_ACTIVATE: case WM_ACTIVATE:
// we need to take care for screen changes, e.g. Alt-Tab // we need to take care for screen changes, e.g. Alt-Tab
dev = getDeviceFromHWnd(hWnd); dev = getDeviceFromHWnd(hWnd);
if (dev) if (dev && dev->isFullscreen())
{ {
if ((wParam&0xFF)==WA_INACTIVE) if ((wParam&0xFF)==WA_INACTIVE)
{ {
if (dev->isFullscreen()) // If losing focus we minimize the app to show other one
ShowWindow(hWnd,SW_MINIMIZE); ShowWindow(hWnd,SW_MINIMIZE);
// and switch back to default resolution
dev->switchToFullScreen(true); dev->switchToFullScreen(true);
} }
else else
{ {
if (dev->isFullscreen()) // Otherwise we retore the fullscreen Irrlicht app
{
SetForegroundWindow(hWnd); SetForegroundWindow(hWnd);
ShowWindow(hWnd, SW_RESTORE); ShowWindow(hWnd, SW_RESTORE);
} // and set the fullscreen resolution again
dev->switchToFullScreen(); dev->switchToFullScreen();
} }
} }
@ -928,6 +926,13 @@ CIrrDeviceWin32::CIrrDeviceWin32(const SIrrlichtCreationParameters& params)
// get handle to exe file // get handle to exe file
HINSTANCE hInstance = GetModuleHandle(0); HINSTANCE hInstance = GetModuleHandle(0);
// Store original desktop mode.
memset(&DesktopMode, 0, sizeof(DesktopMode));
DesktopMode.dmSize = sizeof(DesktopMode);
EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &DesktopMode);
// create the window if we need to and we do not use the null device // create the window if we need to and we do not use the null device
if (!CreationParams.WindowId && CreationParams.DriverType != video::EDT_NULL) if (!CreationParams.WindowId && CreationParams.DriverType != video::EDT_NULL)
{ {
@ -1342,22 +1347,23 @@ bool CIrrDeviceWin32::switchToFullScreen(bool reset)
if (!CreationParams.Fullscreen) if (!CreationParams.Fullscreen)
return true; return true;
DEVMODE dm;
memset(&dm, 0, sizeof(dm));
dm.dmSize = sizeof(dm);
// use default values from current setting
EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &dm);
if (reset) if (reset)
{ {
if (ChangedToFullScreen) if (ChangedToFullScreen)
{ {
return (ChangeDisplaySettings(&dm,0)==DISP_CHANGE_SUCCESSFUL); return (ChangeDisplaySettings(&DesktopMode,0)==DISP_CHANGE_SUCCESSFUL);
} }
else else
return true; return true;
} }
// use default values from current setting
DEVMODE dm;
memset(&dm, 0, sizeof(dm));
dm.dmSize = sizeof(dm);
EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &dm);
dm.dmPelsWidth = CreationParams.WindowSize.Width; dm.dmPelsWidth = CreationParams.WindowSize.Width;
dm.dmPelsHeight = CreationParams.WindowSize.Height; dm.dmPelsHeight = CreationParams.WindowSize.Height;
dm.dmBitsPerPel = CreationParams.Bits; dm.dmBitsPerPel = CreationParams.Bits;

View File

@ -395,6 +395,7 @@ namespace irr
bool Resized; bool Resized;
bool ExternalWindow; bool ExternalWindow;
CCursorControl* Win32CursorControl; CCursorControl* Win32CursorControl;
DEVMODE DesktopMode;
SJoystickWin32Control* JoyControl; SJoystickWin32Control* JoyControl;
}; };

View File

@ -1,7 +1,7 @@
VERSION_MAJOR = 1 VERSION_MAJOR = 1
VERSION_MINOR = 8 VERSION_MINOR = 8
VERSION_RELEASE = 0-SVN VERSION_RELEASE = 0
# Irrlicht Engine 1.8.0-SVN # Irrlicht Engine 1.8.0
# Makefile for Linux # Makefile for Linux
# #
# To use, just run: # To use, just run: