Commit Graph

304 Commits (c2d2390e9eb21e88d3cb309ec3a596594912f45f)

Author SHA1 Message Date
cutealien c2d2390e9e IAttributes::getAttributeAs functions now can have a customizable default-parameter to return when attributeName is not found. This makes it easier to work correctly with old serialized data when adding new variables. Also it would probably be worth it passing generally in all serialization the old value as default-parameter, then it can handle missing serialization data as well.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4427 dfc29bdd-3216-0410-991c-e03cc46cb475
2013-01-04 12:52:47 +00:00
nadro ba95913a1a - Added next optimizations to OpenGL driver related to blending, alpha testing and cull facing.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4426 dfc29bdd-3216-0410-991c-e03cc46cb475
2013-01-03 19:28:50 +00:00
cutealien 433445cdc2 Add a LeakHunter class which can be enabled with compile-flag _IRR_COMPILE_WITH_LEAK_HUNTER_ to find leaking IReferenceCounted objects.
Will break OSX compiling for now as that project file is not yet updated. I hope other project files are all fixed correctly.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4425 dfc29bdd-3216-0410-991c-e03cc46cb475
2013-01-03 17:24:30 +00:00
cutealien 15bd95977a Add _IRR_COMPILE_WITH_XML_ define to allow compiling Irrlicht without xml (patch written by curaga)
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4423 dfc29bdd-3216-0410-991c-e03cc46cb475
2013-01-02 23:13:21 +00:00
cutealien ac75fdd5fd - Add functions to set/get cursor character and blinktime to IGUIEditBox
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4418 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-12-30 23:37:10 +00:00
cutealien 7afcfbd12c Calculating values for orthonormal camera on Collada export. Note that I have found no tool yet which can load them, so I have no test so far (CColladaFileLoader also ignores existence of orthographic cameras so far). But the old export was definitely wrong while the new solution should at least work in theory.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4409 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-12-19 12:11:52 +00:00
cutealien 06193571c1 Collada exporter now exports the camera matrix as "lookAt" values. The problem with rotations was that the camera disregards the up-vector in rotations (also using lookAT is probably nicer anyway for cameras). This should likely also be fixed in the camera code. But there's more trouble it seems as for example projection matrix changes also don't register in the near/far values. I've just added a todo there in the Collada export. Meaning that orthographic camera export is still broken (still experimenting how to fix that best).
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4407 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-12-18 19:10:28 +00:00
cutealien d8611d8279 Add IColladaMeshWriter::findGeometryNameForNode
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4402 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-12-14 18:26:49 +00:00
cutealien d5f166fd70 Merging 1.8 branch:
- r4389: Fix crashes in CCubeSceneNode::clone and CSphereSceneNode::clone (reported by  marsupial)
- r4387/r4390: fixed getDepthFunction in IQ3Shader which always returned ECFN_EQUAL due to missing break (found by the cppcheck tool)
- r4382: Fix the clipping in the listbox drawing which was only showing the right line of the sunken pane (reported by Mloren and Abraxas).


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4391 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-12-03 20:47:54 +00:00
cutealien 1965979541 Add getters IGUIButton::isDrawBorderEnabled and IGUIButton::isDrawBackgroundEnabled
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4384 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-11-26 16:23:58 +00:00
hybrid ae25bdf202 Merged from 1.8 branch, revisions 4345-4378. All release fixes since the branch to 1.8, and some fixes after that. Now commencing development on this branch, and only bug fixes on the others.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4379 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-11-20 18:31:33 +00:00
cutealien 5a265656cc Fix compiling with _IRR_WCHAR_FILESYSTEM on MinGW. Thx @ alexzk for reporting. Note that I tested this with gcc 4.7.0 and only compiling is tested.
Also added some documentation that UNICODE must be set as well for compiling with _IRR_WCHAR_FILESYSTEM ('cause I always forget to set that at first otherwise...).

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4322 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-10-03 10:51:20 +00:00
hybrid 0a2330890a Bump copyright to 2012
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4320 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-09-30 23:38:54 +00:00
cutealien a87bb3a063 - Fix a bunch of off-by one errors in irr::core::string in functions equals_substring_ignore_case, findFirst, findFirstChar, findNext, findLast, findLastChar, replace, remove and removeChars. This prevents some potential memory access errors, find functions no longer try to find the \0, replace no longer replaces the \0 and remove no longer tries to remove it (which did remove the last character instead).
- Fix a few new warnings in gcc.



git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4308 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-09-06 19:49:45 +00:00
cutealien a83a87594a Replacing matrix4::setRotationRadiansLH and setRotationRadiansRH by setRotationRadians. Old functions had left handed and right handed just the wrong way round and contained an additional bug that did lead to wrong rotations (mixing up y,z). A single function for this is enough (people can just flip the axis) and this way people who already used the old functions (which only got added in trunk) don't just get new behavior but some compile error. Thanks to Randajad for finding the error with the wrong results, giving a testcase and insisting that there's really a bug when I didn't see it on first try :-)
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4295 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-08-20 11:22:05 +00:00
cutealien 26f44f6f48 quaternion conversions to and from matrix4 no longer invert rotations. Define IRR_TEST_BROKEN_QUATERNION_USE in quaternion.h allows compile-tests to find affected code (see changes.txt for more info). Loaders for b3d, ms3d, ogre and .X just use transposed matrixes now for downward compatibility - meaning if it worked before it still works - if it was broken before it's still broken. Same for CSkinnedMesh. For collada (.dae) loader this fixed previously wrong rotations.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4276 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-08-14 19:12:49 +00:00
cutealien 41efacc9c1 - CGUIEnvironment::loadGui - loading a gui into a target-element no longer messes up when the gui-file contained guienvironment serialization.
- Improve IGUIEnvironment::loadGui documentation.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4272 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-08-11 18:23:23 +00:00
cutealien 7dc53232df - Colladawriter now exports materials per node when those are used in Irrlicht
- Colladawriter now writing matrices for node transformations as old solution did not work with CDummyTransformationSceneNode's.
- Colladawriter no longer create an extra node for the scenemanger as <visual_scene> has that job in Collada.
- Colladwriter no longer makes all Scenenodes children of ambient-light as that can be parallel on the same layer instead.
- Colladareader now creates the ambient-light correct instead of creating a point-light for it.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4267 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-08-03 16:13:41 +00:00
cutealien 2d13027a9c Add IAnimatedMeshSceneNode::getLoopMode (asked for by JLouisB)
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4259 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-07-28 10:32:08 +00:00
cutealien d7b9290902 CSceneNodeAnimatorCameraFPS now resets the key-input when it was disabled (thx @ gerdb for reporting and patch-proposal)
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4258 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-07-27 10:05:31 +00:00
cutealien b316f61dc9 Properly destroy OpenGL resources on linux (thx @curaga for the patch with id 3539332)
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4257 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-07-24 20:25:36 +00:00
cutealien 2de64d5e6c Fix diplay bux in the attribute-panel of the GUIEditor. Fixes bug 3517314 (thx @Darkcoder for reporting).
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4253 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-07-20 16:32:26 +00:00
cutealien d439c11f54 Unify spelling in documentation (color, behavior).
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4252 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-07-20 12:49:43 +00:00
cutealien b52a040fe6 Allow caching cursor position on X11 to work around slow XQueryPointer calls. Resolves patch 3476712. Thanks @ hendu for reporting and patch-proposal. For more info: http://irrlicht.sourceforge.net/forum/viewtopic.php?f=7&t=45525
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4251 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-07-20 12:25:32 +00:00
cutealien 614b6894f5 Update changes.txt.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4227 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-07-02 18:44:43 +00:00
cutealien 27879dd9a7 - User can now set characters used for decimal point in fast_atof for localisation.
- Update changes.txt

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4224 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-06-29 17:04:18 +00:00
cutealien d59ebca784 Add -fPic in c::b linux fast math shared build (found by teto).
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4215 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-06-26 20:11:23 +00:00
cutealien c739925fbe Merge revisions 4188-4208 from release branch 1.7 into trunk:
- Update changes.txt 
- Change include order to get example 21 compiling on MinGW.
- Fix linker path in example 16 for C::B project file (linker path was in include path section). 
- Link with opengl32 and gdi32 in Example 14 in C::B. 
- Remove --no-export-all-symbols which got recently added to the windows build as that flag is not known by gcc on Windows. 


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4209 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-06-26 10:52:27 +00:00
hybrid 823bc87bfe Merge from 1.7 branch, revisions 4090-4187. Device fixes, serialization bug fix, some compilation warnings. Bug in color conversion fixed, and some demo fixes.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4188 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-06-14 22:37:53 +00:00
cutealien 94968c4a8c Fix tests triangle3d:
- triangle3d::isPointInsideFast now using some epsilon to catch all points on the borders.
- triangle3d::getIntersectionOfPlaneWithLine calculates now with higher precision for more exact results.
- triangle3d::isOnSameSide (used by isPointInside) calculates now with higher precision and uses some epsilon to make it work with larger integers and less floating point troubles. Slightly slower now.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4183 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-06-11 15:24:38 +00:00
cutealien 833ad991dd - Add function equalsByUlp to test for spacing between floating point numbers.
- Allow difference of 1 ULP in fast_atof tests (as that is still correct). Note that this only fixes part of the fast_atof test, the whole tests still fails on 64-bit because test_strtol still fails (that looks more like a real bug).


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4179 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-06-05 11:46:37 +00:00
cutealien a6602ef67d Speedup collada writing.
Speedup xml writing once more and describe how to get rid of the remaining major bottleneck (another time).

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4177 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-06-04 18:21:01 +00:00
cutealien 176d607f7f cleaner solution for xml-writing speedup.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4176 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-06-04 16:22:35 +00:00
cutealien ef6296a57b CFileSystem::removeFileArchive now checking for normalized path + corresponding test now evaluated.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4136 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-04-16 16:44:13 +00:00
cutealien 128f5a14e9 Replace asserts in tests with new macro assert_log.
This is done to allow all tests running through even when one has a problem. Otherwise people just comment-out the asserts. The macro will log file, line and assert-test to the tests.log.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4126 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-04-03 21:27:22 +00:00
cutealien 1746799898 Documentation changes.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4120 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-03-26 20:53:56 +00:00
cutealien 4ae5949756 - line2d::getClosestPoint can now also get the closest point on the line additional to only checking for closest point on the line-segment.
- Avoid division by zero in line2d::getClosestPoint when start- and endpoint are identical.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4112 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-03-21 15:13:41 +00:00
cutealien b994e969ab - Fix font-loading which got broken by fixed xml-loading. Thanks @ pc0de for finding and providing a test and patch.
- Don't crash draw2DSpriteBatch when it get's no textures.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4109 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-03-19 10:40:55 +00:00
cutealien 86e5345306 - XML-reader now preserves all whitespace. So even newlines are now returned as EXN_TEXT nodes. Old behavior was dropping those, but it handled unix-style newlines badly and should rather have preserved all whitespace or none. Preserving no whitespace could be useful feature for the future.
- XML documentation updated where documentation and implementation had been different.
- c::b Linux now compiling engine with -fno-exceptions like the Makefile. Should probably use no-rtti as well, but haven't figured out how to do that without getting warnings for every c-file.
- tests now compiling with -fno-exceptions and defines _IRR_STATIC_LIB_ plus _DEBUG
- new function xmlCompareFiles in testUtils to replace binaryCompareFiles for tests with xml-files as binaries always broke with different wchar_t sizes.
- test ioScene now working on Linux-32


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4092 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-02-20 19:43:51 +00:00
hybrid e62884f781 Merged revisions 4072-4081 from 1.7 branch. Latest updates due to release of 1.7.3
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4085 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-02-20 01:14:57 +00:00
cutealien 9c8790136c More fixed to make line2d work with integers this time in intersectWith and getClosestPoint.
I've renamed test line2dIntersect to testLine2d and added new tests there (lazy).
Similar fixes for integers should be done in line3d, but can't do that now, so has to wait.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4076 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-02-13 15:16:46 +00:00
cutealien 9184ea4c47 Merged revisions 4057-4071 from 1.7 branch.
- GUIEditor attributes have now scrollbar to be editable
- Remove warning when compiling line2d::intersectWith with other types than f32.
- CodeBlocks tests project file now compiling also on Linux.
- Slightly more lenient comparison in test textureRenderStates


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4072 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-02-11 13:07:07 +00:00
cutealien d9a6ac315a - line2d::getMiddle and line3d::getMiddle work now also with integers. But can be slower in debug and for compilers which are not optimizing division by 2 to multiplication by 0.5 for floats also in release (if that still matters we need a template specialization here).
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4070 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-02-10 12:08:44 +00:00
hybrid 40480a7822 Merged revisions 4001-4056 from 1.7 branch. Keycode updates, fix compilation errors, vector normalize error case fixed, joystick safety fixes, editbox updates, meshviewer modal window fix, isPointInsideFast changes.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4057 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-02-01 23:29:32 +00:00
bitplane ade2a3938c Added IGUIEnvironment::getHovered, returns the last hovered element.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4038 dfc29bdd-3216-0410-991c-e03cc46cb475
2012-01-12 17:24:23 +00:00
cutealien bf5890e814 - Add support for bsp brush entities. Written by Hendu.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3991 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-11-09 19:28:12 +00:00
hybrid afa978f2a5 Merge from 1.7 branch, revisions 3877-3908. Fix for getSphericalCoordinateAngles, some warnign fixes, md2 normal fix, several GUI fixes, isPointInside fix, zip endianess fix.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3909 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-09-08 21:50:10 +00:00
hybrid 7b5f390920 Fix comment about makefile changes
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3900 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-08-05 12:32:10 +00:00
cutealien 0d5d30acaf Add IGUIComboBox::setMaxSelectionRows and IGUIComboBox::getMaxSelectionRows
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3883 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-07-20 09:16:34 +00:00
cutealien 1e90e2d9b3 Merge revision 3848-3875 from 1.7 branch:
- EMIE_MOUSE_WHEEL messages now handled correctly in several gui-element when wheel isn't just 1.0 or -1.0
- Fix serialization for CBillboardSceneNode, it had missed 2 color
- Fix 'k' in bigfont.png
- Recalculate FrameRect and ScrollPos in CGUIEditBox when AbsoluteRect gets changed


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@3876 dfc29bdd-3216-0410-991c-e03cc46cb475
2011-07-07 21:56:31 +00:00