ogre_16_logoIt’s maintenance release time again, a new release containing more bugfixes for those using the stable v1.6 (Shoggoth) branch. It’s available now in both source and SDK form at the usual place.

Full details of the changes in this release are available after the jump.

Changes in this release:

  • DirectX:
    • Fix texture samplers over #8 becoming blank after a device restore
    • Compatibility with August 09 DirectX SDK: dxerr9->dxerr in all cases (works for older versions too)
  • OpenGL:
    • Fix ‘invalid enumerant’ problem (this time for good) on some cards in GL
    • When locking a sub-area of a pixel buffer, we must remember the original lock area and not just the PixelBox that is returned (which is rebased). Upload should only upload the area which was locked.
    • Fix a ‘new’ call that should have been OGRE_NEW in GLSLProgram.
    • Fix a problem in GL when using HardwarePixelBuffer::blit – it wasn’t disabling higher texture units which could cause some incorrect results in the FBO rendered version
  • Root::removeFrameListener would queue up removal even if the listener wasn’t in the list yet, which could mean if you added it again it would get removed. Now it doesn’t queue the removal if the entry isn’t in the listener list already.
  • Use PixelUtil::packColour instead of memset to initialise the contents of a null shadow texture. This bug could result in different results on nvidia / ati cards if this texture was floating-point
  • Fix BillboardParticleRenderer calling detachobject() incorrectly.
  • Fix OgreOSXCocoaView causing application crash if you save the window attributes to the preferences
  • Fix leftover texture sampler settings above fixed-function units when switching between shaders using 9+ samplers and fixed-function techniques
  • Fixed some edge-case issues with Resource loading and preparing in multiple threads.
  • Make it unnecessary for the parent directory to be in the search path for platform-specific subfolder includes
  • Correctly trap errors in FreeImage_AllocateT
  • Rearrange CEGUI files to be friendly to layout editor
  • Fix a crash in CompositorChain when incorrectly given a null camera
  • Fix a small memory leak in Pass when shaders were used
  • Thread safety for StringInterface
  • Fix scene_depth_range and shadow_scene_depth_range when using LiSPSM or other ShadowCameraSetup classes that use custom matrices and don’t use a ‘real’ camera position
  • Revert revision 8591, “Early-out optimisations to setMaterialName methods, to reduce their cost if the same material name is used” This actually causes problems with applications that delete & recreate materials with the same name, such as Hikari. Of course, it would be better for those apps to regenerate the material in-place instead of creating a new one but since this was breaking behaviour it needs to be undone in the stable release.
  • Fix edge list memory leak in Mesh if more than one SubMesh had non-triangle geometry
  • FileHandleDataStream: Don’t pass 0 to fclose.
  • ZipDataStream: Don’t double-close zip files.
  • Fix a bug in RibbonTrail; you couldn’t extend the number of chains from the amount that were initially created without problems, the ordering of the elements in mFreeChains was not consistent.