It's time for another maintenance release for those of you using the
stable 1.0.x branch of OGRE. Full details of bugfixes and non-interface
breaking changes included in this release are available in the full
text of this post; other highlights include support for Visual C++ 2005
and Softimage|XSI v5.0.

You can find the releases as usual in the downloads section – please
note that if you're using the Windows source release then you will also
need to update your dependencies; we provide 4 dependencies downloads
with this release, one for each of VC6, VC7.0, VC7.1 and VC8.0. You'll
also find 2 new prebuilt tools for Windows in this release from the
Addons projects, namely the Particle Editor and the CEGui Mesh Viewer.


Changes since v1.0.5:

  • Visual C++
    2005
    now supported, use Ogre_vc8.sln
  • XSI Exporter
    • XSI v5 now supported (in addition to v4.0 and 4.2)
    • Material exporter now picks up custom texture
      transforms correctly
    • Fix for using multiple clusters with envelopes (bone
      assignment groups) spanning them.
    • Don't export empty submeshes (caused by starting with
      polys which are  later all reallocated to clusters)
  • D3D9 fixes:
    • Render window writeContentsToFile method speeded up +
      some bugfixes
    • Avoid a memory leak when GPU programs fail to load
    • Fix potential surface leak when destroying a secondary
      window but not the device
  • GL fixes:
    • Don't change GL context while creating a new render
      window if current context is available
    • Share lists between render window GL contexts
    • Fixed incorrect loaded state when creating a manual
      texture in GL
    • Fixed many gcc warnings on GL atifs compiler
    • Type correction for external / parent handles in GLX
      platform & doc corrections
  • D3D7 fixes:
    • Fixed Dx7 device lost problems, switching from
      fullscreen to windowed and back now works in Dx7 too.
    • Fix oblique projection on D3D7 (fix bad clipping on
      render to texture demo)
  • Mesh / Entity
    fixes
    :

    • XML format DTD
      • Range of texture_coords attribute should be 0 to 8
        not 0 to 7
      • 3D texture coordinates should be considered valid in
        DTD
    • Mesh::getSubMesh now safely checks for an index out of
      bounds condition.
    • Unload mesh should clear bone assignments and removes
      reference to skeleton
    • Added method to access manual levels of detail for the
      entity. Allow user more control to the lod level (e.g. change material,
      attach objects).
  • Hardware
    vertex buffer pool fixes
    :

    • TempBlendedBufferInfo destructor needs to make sure
      allocated buffer copies have been released – this bug showed up when
      entities using software skinned skeletal animation were removed from
      the scenemanager during rendering prior to frame ended finishing
    • Buffer manager must make sure that no buffer copies or
      free temp vertex buffers exist that are associated with a vertex buffer
      that is being deleted
  • Logging
    changes
    :

    • Silently tolerate not having any log files to write to,
      so people can run logless if they really want.
    • Allow suppression of file output on Log to allow a
      LogListener-only setup
  • Shader fixes:
    • Correct number of constants supported by ps_1_x
    • Fix ps_2_x detection; report as ps_2_a/b but assembler
      syntax is still called ps_2_x
    • Fixed
      memory/resource leak of high-level GPU program in the case qhere the
      high-level portion is loaded, but the low-level GPU program itself
      never loaded
  • Shadow fixes:
    • Fix missing shadow volume extrude program parameters
      when shadow volume materials initialised somewhere else
    • Resolve an issue when find shadow casters for light,
      and the light is attached to scene node. Should use derived light
      position/direction to query for shadow casters
  • Material fixes:
    • Ensure that custom texture transforms are serialised /
      deserialised into .material scripts
    • When
      material recompile required, need to unload whole content of material,
      avoid leak because some TUS animation/effect controllers maybe created.
    • Fix cloning problems when using the ACT_TIME auto
      parameter
  • Texture fixes:
    • TextureManager loadImage/loadRawData
      should be create texture as manual texture without loader, in fact the
      texture can't auto reload again.
    • Enable/disable 32-bit textures now work properly even
      if no texture exists, and only reloads the loaded and reloadable
      textures.
    • You
      can now access the original dimensions of the texture image even if the
      final texture dimensions (due to hardware requirements) are different
  • Dependencies
    updated
    • Freetype is now v2.1.1.0
    • DevIL is now 1.6.7
    • zlib is now 1.2.3
    • zzliplib is now 0.13.44 (this fixes a memory leak when
      reloading resources from a zip file)
    • CEGui remains at 0.3.x since 0.4.x requires potential
      changes to custom looks, users are free to upgrade themselves (but will
      need the source release, not the SDK)
  • Particle
    systems
    :
    • Delay loading of image on ColourImage particle affector
      to avoid startup overhead, and deal with more formats instead of
      assuming pixel format
    • Should check for duplicates before creating/adding new
      particle system templates, otherwise leakage
  • Disable gcc version script which causes problems in gcc
    v4.x
  • Add the ability to raise and listen in on
    RenderSystem-specific
    events (allows people to listen in on device lost / restore if they
    choose to)
  • Fix comparison bug in HardwarePixelBuffer::blit which would
    cause it to scale unnecessarily
  • Solve crash when ray scene query is done without landscape
    loaded in TerrainSceneManager
  • Open data streams one at a time while parsing scripts to
    avoid opening a lot of disk files simultaneously that may exceed file
    handle limits
  • Allow archives to be unloaded
  • Fixed destroying track which maybe absent, just ignore it
    when this situation happens
  • Fix merging of CEGui flags in Linux build
  • Don't allow double-load of plugins
  • Gracefully deal with invalid requests to use the same
    SceneNode name more than once
  • RenderTarget::writeContentsToTimestampedFile now writes out
    the date/time in correct human readable format
  • Fix for "unknown property."scale" in $Biped_Object" error
    in 3DSMax exporter
  • OverlayElement parent overlay initialisation fixed
  • Several documentation corrections