diff --git a/changes.txt b/changes.txt index 8c905e91..5858384e 100644 --- a/changes.txt +++ b/changes.txt @@ -329,6 +329,10 @@ The following names can be queried for the given types: ----------------------------- Changes in 1.7.3 (20.02.2012) + - SceneNodeAnimatorFlyCircle fixes serialization of RadiusEllipsoid (was writing Radius). Thx @ wing64 for reporting. + + - Yield on Linux now uses nanosleep with 1ns as 0 isn't guaranteed to yield (thx @ hendu for finding + fix) + - GUIEditor attributes have now scrollbar to be editable - Remove warning when compiling line2d::intersectWith with other types than f32. diff --git a/examples/23.SMeshHandling/main.cpp b/examples/23.SMeshHandling/main.cpp index 110ba25a..11774bb8 100644 --- a/examples/23.SMeshHandling/main.cpp +++ b/examples/23.SMeshHandling/main.cpp @@ -272,9 +272,9 @@ public: { const u16 n = (y-y0) * Width + x; buf->Indices[i]=n; - buf->Indices[++i]=n + Height; - buf->Indices[++i]=n + Height + 1; - buf->Indices[++i]=n + Height + 1; + buf->Indices[++i]=n + Width; + buf->Indices[++i]=n + Width + 1; + buf->Indices[++i]=n + Width + 1; buf->Indices[++i]=n + 1; buf->Indices[++i]=n; ++i; diff --git a/examples/Demo/CDemo.cpp b/examples/Demo/CDemo.cpp index cb559fd3..1afe0738 100644 --- a/examples/Demo/CDemo.cpp +++ b/examples/Demo/CDemo.cpp @@ -431,7 +431,7 @@ void CDemo::loadSceneData() model2->setMD2Animation(scene::EMAT_RUN); model2->setMaterialTexture(0, device->getVideoDriver()->getTexture("../../media/sydney.bmp")); model2->setMaterialFlag(video::EMF_LIGHTING, true); - model1->setMaterialFlag(video::EMF_NORMALIZE_NORMALS, true); + model2->setMaterialFlag(video::EMF_NORMALIZE_NORMALS, true); model2->addShadowVolumeSceneNode(); } } diff --git a/source/Irrlicht/CColorConverter.cpp b/source/Irrlicht/CColorConverter.cpp index bf33aaad..2ebb0b7d 100644 --- a/source/Irrlicht/CColorConverter.cpp +++ b/source/Irrlicht/CColorConverter.cpp @@ -564,11 +564,11 @@ void CColorConverter::convert_R5G6B5toR8G8B8(const void* sP, s32 sN, void* dP) for (s32 x = 0; x < sN; ++x) { - dB[0] = (*sB & 0xf800) << 8; - dB[1] = (*sB & 0x07e0) << 2; + dB[0] = (*sB & 0xf800) >> 8; + dB[1] = (*sB & 0x07e0) >> 3; dB[2] = (*sB & 0x001f) << 3; - sB += 4; + sB += 1; dB += 3; } } @@ -580,11 +580,11 @@ void CColorConverter::convert_R5G6B5toB8G8R8(const void* sP, s32 sN, void* dP) for (s32 x = 0; x < sN; ++x) { - dB[2] = (*sB & 0xf800) << 8; - dB[1] = (*sB & 0x07e0) << 2; + dB[2] = (*sB & 0xf800) >> 8; + dB[1] = (*sB & 0x07e0) >> 3; dB[0] = (*sB & 0x001f) << 3; - sB += 4; + sB += 1; dB += 3; } } diff --git a/source/Irrlicht/CIrrDeviceLinux.cpp b/source/Irrlicht/CIrrDeviceLinux.cpp index 0bf4c694..9b2f7c0c 100644 --- a/source/Irrlicht/CIrrDeviceLinux.cpp +++ b/source/Irrlicht/CIrrDeviceLinux.cpp @@ -1144,7 +1144,7 @@ bool CIrrDeviceLinux::run() //! Pause the current process for the minimum time allowed only to allow other processes to execute void CIrrDeviceLinux::yield() { - struct timespec ts = {0,0}; + struct timespec ts = {0,1}; nanosleep(&ts, NULL); } diff --git a/source/Irrlicht/CIrrDeviceWin32.cpp b/source/Irrlicht/CIrrDeviceWin32.cpp index 0abd82ae..64a91efe 100644 --- a/source/Irrlicht/CIrrDeviceWin32.cpp +++ b/source/Irrlicht/CIrrDeviceWin32.cpp @@ -1025,7 +1025,7 @@ CIrrDeviceWin32::CIrrDeviceWin32(const SIrrlichtCreationParameters& params) EnvMap.push_back(em); // set this as active window - if ( HWnd ) + if (!ExternalWindow) { SetActiveWindow(HWnd); SetForegroundWindow(HWnd); diff --git a/source/Irrlicht/COpenGLDriver.cpp b/source/Irrlicht/COpenGLDriver.cpp index 02d691a7..a8182c87 100644 --- a/source/Irrlicht/COpenGLDriver.cpp +++ b/source/Irrlicht/COpenGLDriver.cpp @@ -149,9 +149,9 @@ bool COpenGLDriver::initDriver(CIrrDeviceWin32* device) 0, // No Alpha Buffer 0, // Shift Bit Ignored 0, // No Accumulation Buffer - 0, 0, 0, 0, // Accumulation Bits Ignored - Params.ZBufferBits, // Z-Buffer (Depth Buffer) - Params.Stencilbuffer ? 1 : 0, // Stencil Buffer Depth + 0, 0, 0, 0, // Accumulation Bits Ignored + params.ZBufferBits, // Z-Buffer (Depth Buffer) + BYTE(params.Stencilbuffer ? 1 : 0), // Stencil Buffer Depth 0, // No Auxiliary Buffer PFD_MAIN_PLANE, // Main Drawing Layer 0, // Reserved diff --git a/source/Irrlicht/CSceneNodeAnimatorFlyCircle.cpp b/source/Irrlicht/CSceneNodeAnimatorFlyCircle.cpp index 994b8d80..a4e513ac 100644 --- a/source/Irrlicht/CSceneNodeAnimatorFlyCircle.cpp +++ b/source/Irrlicht/CSceneNodeAnimatorFlyCircle.cpp @@ -63,7 +63,7 @@ void CSceneNodeAnimatorFlyCircle::serializeAttributes(io::IAttributes* out, io:: out->addFloat("Radius", Radius); out->addFloat("Speed", Speed); out->addVector3d("Direction", Direction); - out->addFloat("RadiusEllipsoid", Radius); + out->addFloat("RadiusEllipsoid", RadiusEllipsoid); }