Commit Graph

71 Commits (c94314029ef72c69b5898616eb792e9d8771d587)

Author SHA1 Message Date
hybrid ffb7a5c334 Merged revisions 2485:2528 from 1.5 branch. Updated changes.txt. Fix for getAngle. Font handling fixed.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2529 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-07-30 09:29:18 +00:00
hybrid 3f924718de Fix eol-style for all code files to CRLF for simpler file handling.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2526 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-07-30 08:15:41 +00:00
cutealien 09cd4c3869 bugfix: CMountPointReader::openFile no longer returns file for empty filenames. Corresponding test added.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2421 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-06-15 15:49:16 +00:00
cutealien 2dc5c7d7d5 - Reversed change in vector3d::normalize. The check for 0 vector isn't there for optimization, but to prevent NAN values.
Works now again as documented and a corresponding test has been added.
  Does fix bug 2770709 (https://sourceforge.net/tracker/?func=detail&aid=2770709&group_id=74339&atid=540676)
- Animations can now be paused by setting the fps to 0.
- Avoid fp-precision problem in getPickedNodeBB (see also 
http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=33838&highlight=). 
  This change might also fix the problem with picking nodes found by aanderse 
(http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=32890&highlight=)



git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2419 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-06-11 22:56:51 +00:00
cutealien 2391338b57 - Fix bug in CSceneNodeAnimatorCollisionResponse::setWorld as found by Quillraven.
- Fix simliar bugs where object have been dropped accidentally in set functions in many places


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2417 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-06-10 20:13:37 +00:00
cutealien f598ea9265 New test for zipreader (works).
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2414 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-06-09 00:53:05 +00:00
hybrid 1a924aa159 Adapt test suite to recent changes.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2395 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-05-16 18:11:11 +00:00
hybrid c26cb45461 Merged from 1.5 branch, revisions 2137:2293. Minor bugfixes, some doc updates.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2295 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-03-17 17:42:34 +00:00
engineer_apple bebda484e1 Changes in 1.6 TA
- implemented isALoadableFileFormat ( File *file ) for the Archive Loader


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2209 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-11 14:04:12 +00:00
Rogerborg 7b5c07e9ce Add missing test files, update IGeometryCreator.h. Re-enable makeColorKeyTexture test - apologies if this is still borked on some platforms: please feel free to disable it again.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2208 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-10 22:21:04 +00:00
engineer_apple 2340f9b849 Changes in 1.6 TA
- PixelBlend16 and PixelBlend16_simd are working for the new rules.
	- bugfix. CLightSceneNode didn't correctly update it's attributes
	
		Lighting Linear Attenuation.	= 1.f / radius
		
		The Example loadirr files set the lightscene radius to 1000.f but
		stays on the previous default attentuation with the older radius 100 -> 1.f / 100
		so the examples looks golden-brown.
		
		Now the radius is correctly!! set to the attenuation of 1.f/1000.f because the
		file doesn't have special attenuation. and now it looks more yellow.
		can anybody show me a correct screenshot for this file;-)? Niko?
		
		Or is this behavior the default lighting?. then it would be
		a fixed constant linear attenuation of 0.01f;-). Please clearify
		For now i didn't fixed it
		
		
		I encountered this behavior because i ( burning video ) used the original radius
		for calculations and so i've found that radius != 1.f / linearAttenuation but
		in the LightSceneNode this formula was used.. confused;-)
		

	- vector template and equals tests
		as working with the test suits i cleaned the template behavior (mixed types are
		used in the templates) and added all missing special math function with their coressponding type
		I also set the equal test for s32 to behave like the f32 routine.

		The function equals always implements a weak test.		
		that means a tolerance MUST always be used if you use the equal function. default is 1.
		you can set it to zero a==b-> equals ( a, b, 0 ) but do it explicit like you have to
		for floating compare. This is important when irrlicht is going to use special hardware
		math acceleration on a per function base, like sse2, or the other way round fixpoint.
	
	- VideoDriver drawPixel
		The HW renderes are using the alpha components for blending.
		The Software Renderes and image loaders are using CImage::setPixel copy. 
		so setPixel is engaged to either blends or copy the pixel
		default: false
	- Burningvideo
		added RenderMaterial EMT_SPHERE_MAP
			pushed burningsvideo to 0.43
		added RenderMaterial EMT_REFLECTION_2_LAYER
			pushed burningsvideo to 0.44
		set	EMT_TRANSPARENT_ALPHA_CHANNEL_REF
			to use AlphaRef 0.5 like Direct3D
			
		One Note: in OpenGL there is know difference between sphere_map and reflection layer
		both using GL_TEXTURE_GEN_MODE GL_SPHERE_MAP, whereas in d3d one time using camera_normal
		on sphere and reflection on refletcion_layer.
		
		The visual difference is that on sphere map the "image is not moving" when you rotate the 
		viewer. For Buring i took the opengl visual. always moving
				

	- rename quake3 SEntity to IEntity to be confom with IShader
		even IShader and IEntity are none pure virtual interfaces
		like most irrlicht objects


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2207 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-10 15:08:23 +00:00
Rogerborg ca0c0850c9 http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=32277
Expose CGeometryCreator (as IGeometryCreator) through ISceneManager.  Test app added.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2205 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-09 20:05:53 +00:00
Rogerborg e97eba6d3a Unit tests update. Remove version number from Burning driver name. Rename reference images. Temporarily elide the vector2d<s32> / vector3d<s32> tests to allow for the re-introduced bug in vectorXd<T>::normalize().
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2204 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-09 19:25:36 +00:00
Rogerborg a1781cbb7e Ooops. In we go.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2203 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-02-09 17:12:37 +00:00
Rogerborg 17784dd0f8 https://sourceforge.net/tracker2/?func=detail&aid=2552603&group_id=74339&atid=540678
Add IVideoDriver methods to enumerate the available image loaders and writers.  Unit test added.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2174 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-31 17:01:45 +00:00
hybrid f86adb851c Add dependency files for automatic recompilation with Makefiles and gcc.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2166 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-29 09:29:11 +00:00
hybrid 276d00398b Now also passes under Linux. Also call a pager on the text file under non-windows systems.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2165 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-29 09:26:17 +00:00
hybrid 858c74c1c5 Finally a successful test run
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2163 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-28 23:33:17 +00:00
hybrid 390837dade Update test files to new burningsvideo version
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2162 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-28 23:28:26 +00:00
hybrid f74807659a Make work with vc9 again
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2159 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-28 23:06:04 +00:00
Rogerborg cf349f9953 More collision additions. ISceneCollisionManager::getCollisionResultPosition() now returns the node that was hit. ISceneNodeAnimatorCollisionResponse stores and exposes the node that was hit.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2127 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-22 18:24:33 +00:00
Rogerborg 81671c23b2 https://sourceforge.net/tracker2/index.php?func=detail&aid=2498791&group_id=74339&atid=540678
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
2009-01-22 15:50:06 +00:00
Rogerborg 74658ced68 https://sourceforge.net/tracker2/index.php?func=detail&aid=2498791&group_id=74339&atid=540678
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
2009-01-22 14:14:39 +00:00
Rogerborg 01fa608741 Do some core::dimension2di() conversions required when passing dimension2d<u32> sources as dimension2d<s32> parameters.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2122 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-22 13:00:52 +00:00
hybrid ca8f261819 Merged from 1.5 branch to trunk, all changes from 2088 to 2120. Mainly doc updates. Fix for non-skinned animated meshes with different current frames.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2121 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-22 12:40:06 +00:00
Rogerborg 2c203d8401 https://sourceforge.net/tracker2/index.php?func=detail&aid=2498791&group_id=74339&atid=540678
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
2009-01-22 10:12:46 +00:00
Rogerborg a417170595 Have the collision response animator callback return the collision point, not the new position for the instant node. Thanks again to garritg for spotting this. Test updated (to test the proper expected result!)
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2119 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-22 09:56:23 +00:00
Rogerborg 98766ca5ac https://sourceforge.net/tracker2/index.php?func=detail&aid=2526240&group_id=74339&atid=540676
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
2009-01-21 15:06:21 +00:00
Rogerborg 0e147df2e0 Change recently added ICollisionCallback / ISceneNodeAnimatorCollisionResponse methods to use const & parameters and return values. Regression tested.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2113 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-21 08:37:21 +00:00
Rogerborg d021013af2 https://sourceforge.net/tracker2/?func=detail&aid=2498791&group_id=74339&atid=540678
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
2009-01-20 19:10:46 +00:00
Rogerborg e464ba11f4 http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?t=31995
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
2009-01-20 12:54:49 +00:00
Rogerborg dcebfbbf0d http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?p=183704
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
2009-01-19 13:48:22 +00:00
Rogerborg 9067211624 http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?p=183435#183435
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
2009-01-16 15:35:22 +00:00
Rogerborg a603abe03a http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?p=183427
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
2009-01-16 14:19:38 +00:00
hybrid 7472bcd83c Merged from 1.5 branch to trunk, all changes from 2042 to 2071. cursor setVisible fix, OSX FPS cam fix, ALPHA_CHANNEL_REF fix, new method draw2dRectOutline, setOverrideFont fixes, getCollisisonPoint distance bug fix.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2072 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-14 12:37:51 +00:00
Rogerborg 94a1346a5c Adding an optional light manager that allows hardware lights to be turned on and off before each scene node is rendered. This can be used to produce "zoned" lighting.
If a light manager is not registered, the existing behaviour (activate the closest lights to the camera) will be retained unchanged.  New example project added to demonstrate the usage, and regression tests and existing samples run.  No regression test for the light manager yet, since I am more interested in not regressing the default behaviour.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2064 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-12 10:55:39 +00:00
Rogerborg 2563bf14d8 Small efficiency improvements in scene collision:
Have all public ISceneCollisionManager.h methods take 'const type &' rather than 'type' where appropriate.

Conversely, have CSceneManager::getPickedNodeBB() take a non-const 'core::line3df& ray', so that child nodes can truncate the master ray when they get a collision.

This is an API change, so goes to the trunk only.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2050 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-06 16:02:03 +00:00
Rogerborg d232810cf8 Last fix to https://sourceforge.net/tracker2/?func=detail&aid=2473520&group_id=74339&atid=540676
Last fix to CSceneCollisionManager::getPickedNodeBB(). ;)  Efficiency improvements to reduce the number of checks, since we can only hit one face of each box, and we needn't consider boxes that are further away than the closest hit.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2049 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-06 15:48:00 +00:00
Rogerborg 2b18db4c67 https://sourceforge.net/tracker2/?func=detail&aid=2473520&group_id=74339&atid=540676
Another fix to CSceneCollisionManager::getPickedNodeBB(). Ensure that the collision point with the plane of a box is actually on the box surface rather than outside it.  Retested with regression test and example 07.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2048 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-06 15:40:00 +00:00
Rogerborg bac02b5bb0 https://sourceforge.net/tracker2/?func=detail&aid=2473520&group_id=74339&atid=540676
Change ray/bounding box selection so that the nearest node is determined by the actual collision point with the bounding box (or the distance to the box centre if the ray starts inside the box).  Since this is a functional change from the old behaviour, I'm only committing to the trunk.  This will be slightly slower than the old method, but should return the correct node; I consider accuracy to take priority over efficiency for collision.

tests/sceneCollisionManager.cpp has been updated, as has examples/07.Collision/main.cpp.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2047 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-06 15:12:15 +00:00
hybrid 6fe8e2d89d Merged from 1.5 branch to trunk, all changes from 2018 to 2041. OSX keyboard fix, OpenGL version fix, some tests fixed. Example 9 text position fixed.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2042 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-05 15:34:22 +00:00
Rogerborg 64f9c03528 Update trunk tests: add textureRenderStates.cpp to tests_vc8.proj and tests.cbp; fix reversed logic in irrCoreEqual.cpp (the test wasn't being run); re-base the trunk tests/main.cpp on 1.5 tests/main.cpp, with the addition of those tests only available on the trunk.
Tested on Windows with MSVC 2005 and Code::Blocks, with a local trunk re-application of the terrainSceneNode.cpp change in SVN 2039 (which will get merged down separately).  I'll re-test on Linux as soon as I've committed this.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2040 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-05 14:53:30 +00:00
hybrid e7ced16d04 Made the Anisotropic Filter degree configurable via the SMaterialLayer member which had been a bool formerly. Using the setFlag in SMaterial should still give MaxAnisotropy level as before.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2034 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-05 00:30:11 +00:00
hybrid a669b865f1 Added better support for AntiAliasing levels, based on the patch by Sylence.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2032 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-04 17:13:54 +00:00
hybrid e3b373953b Hmm, didn't save the last files before committing. So this is the actual test cases which runs through.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2030 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-04 15:12:11 +00:00
hybrid 6f1532e2cd Added orthogonality check in matrix class, based on a patch by Halifax. Also added some (rather trivial) testcases, corner cases have to be identified...
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2029 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-04 14:58:23 +00:00
hybrid 47148c640f Looks like another merge problem fixed...
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2027 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-03 23:30:51 +00:00
hybrid c3cfdcfa5e Merged revisions 2006:2016 from 1.5 branch, makeColorKeyTexture changes.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2017 dfc29bdd-3216-0410-991c-e03cc46cb475
2009-01-02 13:02:05 +00:00
hybrid 77216f12c3 Wrong empty line removed.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2006 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-30 11:26:29 +00:00
hybrid 7809c48144 Merged revisions 1972:2004 from 1.5 branch, except for some revisions which seemed to be merged already. MD2 loader updated, terrain node fixed, opengl texture handling fixed.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2005 dfc29bdd-3216-0410-991c-e03cc46cb475
2008-12-30 11:13:22 +00:00