Revert my previous ITriangleSelector patch and implement garritg's great idea about retrieving an ISceneNode by index. Add an out parameter to ISceneCollisionManager::getCollisionPoint() to return the hit scene node. This is an API breaking change; the test and example apps have been updated.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2125 dfc29bdd-3216-0410-991c-e03cc46cb475
Extend ITriangleSelector::getTriangles() to allow for returning multiple groups of triangles from individual scene nodes. By default, the 1.5 behaviour will be preserved, and all triangles from all nodes will be returned, even for IMetaTriangleSelectors. Regression tests confirm this.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2124 dfc29bdd-3216-0410-991c-e03cc46cb475
Expose the collision result position in ISceneNodeAnimatorCollisionResponse, to give more information to the user app. Thanks again to garritg.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2120 dfc29bdd-3216-0410-991c-e03cc46cb475
Initial support for Alpha To Coverage. Doesn't properly work on my laptop, so needs some more fixing and tuning before it actually works.
Fixed AntiAliasing on Win32/OpenGL.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2118 dfc29bdd-3216-0410-991c-e03cc46cb475
Grey out combo boxes when they're disabled. Not tested, as I feel like living dangerously.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2115 dfc29bdd-3216-0410-991c-e03cc46cb475
Improve matrix::getScale() to return the absolute scale values when the matrix contains a rotation. This still isn't perfect, but it's an improvement. New unit test added.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2114 dfc29bdd-3216-0410-991c-e03cc46cb475
Add an ICollisionCallback to ISceneNodeAnimatorCollisionResponse to inform the application when collisions occur (and allow it to ignore them). Thanks to garrit for this patch! The existing collisionResponseAnimator unit test has been updated to exercise the new functionality.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2111 dfc29bdd-3216-0410-991c-e03cc46cb475
Add an optional startPosition parameter to createFlyCircleAnimator() to allow specifying a start position on the circle. New unit test added.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2105 dfc29bdd-3216-0410-991c-e03cc46cb475
Added a creation parameter for doublebuffering.
Cleaned up the framebuffer clean methods in OpenGL.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2102 dfc29bdd-3216-0410-991c-e03cc46cb475
Change from dimension2d<s32> to dimension2d<u32> where practical. IImage and ITexture now have unsigned dimensions, as does screen size. This has had a significant knock-on through the code base, but it is more technically correct - the BEST KIND of correct.
GUI elements and draw2DImage methods still have and take signed dimensions, but we can look into this in future. Regression tested with the test suite and the example apps. Note that createDevice() now takes dimension2d<u32>!
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2092 dfc29bdd-3216-0410-991c-e03cc46cb475
Change IVideoDriver::writeImageToFile() to always use the IWriteFile filename rather than taking a separate extension.
Test updated.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2082 dfc29bdd-3216-0410-991c-e03cc46cb475
Add IFileSystem::createMemoryWriteFile() to allow writing to memory.
Replace CMemoryReadFile with CMemoryFile that also implement IWriteFile.
Add an IVideoDriver::writeImageToFile() overload that takes an IWriteFile.
This allows writing (e.g.) screenshots to memory, rather than directly to file.
New unit test added to test the new functionality. Tested on Windows with VS2005 and C::B. I'll do Linux ASAP.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2081 dfc29bdd-3216-0410-991c-e03cc46cb475