The latest SVN bugs thread

You discovered a bug in the engine, and you are sure that it is not a problem of your code? Just post it in here. Please read the bug posting guidelines first.
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Re: The latest SVN bugs thread

Post by hybrid »

Well, we shouldn't change it now at least, as it might have major implications. Moreover, it should be possible to include boost before irrlicht and work just fine, if not boost did a similar change as we did. On the long run we could implemnt our own replacement functions and thus reduce even more the relations to other not properly implemented stuff.
Randajad
Posts: 59
Joined: Thu May 03, 2012 10:08 am

Re: The latest SVN bugs thread

Post by Randajad »

I think, that it's irrlicht not properly implemented. ._.
Sorry for my English, i'm from Russia.
If i makes mistakes in phrases you can correct me btw. ^_^
hendu
Posts: 2600
Joined: Sat Dec 18, 2010 12:53 pm

Re: The latest SVN bugs thread

Post by hendu »

If you read what the define does, it's *Microsoft* that doesn't properly implement a standard.
Randajad
Posts: 59
Joined: Thu May 03, 2012 10:08 am

Re: The latest SVN bugs thread

Post by Randajad »

Why microsoft? I'm using gcc. It's defacto on windows platrotm.
Sorry for my English, i'm from Russia.
If i makes mistakes in phrases you can correct me btw. ^_^
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Re: The latest SVN bugs thread

Post by hybrid »

Even if you don't believe it, once you're on the Windows platform, you have to live with Microsoft APIs and libraries. Since you obviously don't want to contribute a few megabytes of support libraries with each of your mingw compiled tools, the mingw folks use the c runtime and other base libraries from Microsoft. This *is* a good decision. However, this also means that mingw compiled apps have to adhere to the Microsoft APIs, which, among other things, decided to define some things different to what one might expect. We all have to live with this and make the situation as convenient as possible. For Irrlicht, we decided to remedy these things by defining our own idea of the API, and lived quite good with this situation for about 10 years now. If you have a better version, which won't conflict with the way all the other thousands of Irrlicht users do their code, we will be very happy to include that code into the engine. If not, you have to find your own way with dealing with this locally in your app or in your local version of Irrlicht. But always keep in mind the root of this evil, among others as well, is again Microsoft.
greenya
Posts: 1012
Joined: Sun Jan 21, 2007 1:46 pm
Location: Ukraine
Contact:

Re: The latest SVN bugs thread

Post by greenya »

Hello!

I found that something is broken with key handling in latest svn trunk changes.
The PrintScreen key never comes with PressedDown == true.

test case:
open 04.Movement/main.cpp, add next lines as first lines to body of "virtual bool OnEvent(const SEvent& event)":

Code: Select all

        if (event.EventType == irr::EET_KEY_INPUT_EVENT)
        {
            printf("\nEET_KEY_INPUT_EVENT: %s", event.KeyInput.PressedDown ? "down" : "up" );
 
            if (event.KeyInput.Key == KEY_SNAPSHOT)
            {
                printf("\n\tKEY_SNAPSHOT");
            }
        }
This code will show "down" and "up" for all keys (Scroll Lock, Pause/Break, Num Lock, Caps Lock, Win and others) except PrintScreen/SysRq, for this key you will see only "up" and "event.KeyInput.PressedDown" will never be "true". I'm testing this in latest svn trunk rev., which is 4295, but i can say for sure, in 4288 it was working just fine :!:

Thank you.
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Re: The latest SVN bugs thread

Post by hybrid »

Could be that this is due to the system event handling. SysRq/PrtScr is a very special key, which often does not go through to the apps, but have to investigate this. Maybe CuteAlien knows more.
zerochen
Posts: 273
Joined: Wed Jan 07, 2009 1:17 am
Location: Germany

Re: The latest SVN bugs thread

Post by zerochen »

hi,

are you sure that worked before?
a few time back i had the same issue and i read an article that says that the printscreen presseddown event will absorbed by the os. (only sure for windows)

regards
zerochen

edit: i something wrong with the forum i need minutes to post and i get often timeouts?
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Re: The latest SVN bugs thread

Post by hybrid »

@zerochen: I think the SF servers are somewhat broken currently
greenya
Posts: 1012
Joined: Sun Jan 21, 2007 1:46 pm
Location: Ukraine
Contact:

Re: The latest SVN bugs thread

Post by greenya »

I just checked my last changes in the code of Lime example, well, i added checking of PressedDown for all keys (including PrintScreen), that is why it is not working now. So yes, maybe it never worked with PressedDown. Sorry for false alert :roll:
CuteAlien
Admin
Posts: 9734
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: The latest SVN bugs thread

Post by CuteAlien »

Yeah, never worked, Irrlicht does not receive that message, see: http://irrlicht.sourceforge.net/forum/v ... hp?t=36420
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
kaos
Posts: 155
Joined: Tue Aug 12, 2008 8:25 pm
Location: Spain

Re: The latest SVN bugs thread

Post by kaos »

Index: .
===================================================================
--- . (revision 4306)
+++ . (working copy)
@@ -170,6 +170,12 @@
//! Make a rotation matrix from Euler angles. The 4th row and column are unmodified.
inline CMatrix4<T>& setRotationRadians( const vector3d<T>& rotation );

+ //! Make a rotation matrix from free axis
+ inline CMatrix4<T>& CMatrix4<T>::setRotationAxisLH( const T& angle, const vector3d<T>& axis );
+
+ //! Make a rotation matrix from free axis
+ inline CMatrix4<T>& CMatrix4<T>::setRotationAxisRH( const T& angle, const vector3d<T>& axis );
+
//! Make a rotation matrix from Euler angles. The 4th row and column are unmodified.
CMatrix4<T>& setRotationDegrees( const vector3d<T>& rotation );

@@ -852,6 +858,83 @@
}


+ template <class T>
+ inline CMatrix4<T>& CMatrix4<T>::setRotationAxisLH( const T& angle, const vector3d<T>& axis )
+ {
+
+ const f64 c = cos( angle );
+ const f64 s = sin( angle );
+ const f64 t = 1.0 - c;
+
+ const f64 tx = t * axis.X;
+ const f64 ty = t * axis.Y;
+ const f64 tz = t * axis.Z;
+
+ M[0] = tx * axis.X + c;
+ M[1] = tx * axis.Y - s * axis.Z;
+ M[2] = tx * axis.Z + s * axis.Y;
+ M[3] = 0.0;
+
+ M[4] = ty * axis.X + s * axis.Z;
+ M[5] = ty * axis.Y + c;
+ M[6] = ty * axis.Z - s * axis.X;
+ M[7] = 0.0;
+
+ M[8] = tz * axis.X - s * axis.Y;
+ M[9] = tz * axis.Y + s * axis.X;
+ M[10] = tz * axis.Z + c;
+ M[11] = 0.0;
+
+ M[3] = 0.0;
+ M[7] = 0.0;
+ M[11] = 0.0;
+ M[15] = 1.0;
+
+#if defined ( USE_MATRIX_TEST )
+ definitelyIdentityMatrix=false;
+#endif
+ return *this;
+ }
+
+ template <class T>
+ inline CMatrix4<T>& CMatrix4<T>::setRotationAxisRH( const T& angle, const vector3d<T>& axis )
+ {
+
+ const f64 c = cos( angle );
+ const f64 s = sin( angle );
+ const f64 t = 1.0 - c;
+
+ const f64 tx = t * axis.X;
+ const f64 ty = t * axis.Y;
+ const f64 tz = t * axis.Z;
+
+ M[0] = tx * axis.X + c;
+ M[1] = tx * axis.Y + s * axis.Z;
+ M[2] = tx * axis.Z - s * axis.Y;
+ M[3] = 0.0;
+
+ M[4] = ty * axis.X - s * axis.Z;
+ M[5] = ty * axis.Y + c;
+ M[6] = ty * axis.Z + s * axis.X;
+ M[7] = 0.0;
+
+ M[8] = tz * axis.X + s * axis.Y;
+ M[9] = tz * axis.Y - s * axis.X;
+ M[10] = tz * axis.Z + c;
+ M[11] = 0.0;
+
+ M[3] = 0.0;
+ M[7] = 0.0;
+ M[11] = 0.0;
+ M[15] = 1.0;
+
+#if defined ( USE_MATRIX_TEST )
+ definitelyIdentityMatrix=false;
+#endif
+ return *this;
+ }
+
+
//! Returns a rotation that is equivalent to that set by setRotationDegrees().
/** This code was sent in by Chev. Note that it does not necessarily return
the *same* Euler angles as those set by setRotationDegrees(), but the rotation will

Now we only have LH method

setRotationAxisRadians
CuteAlien
Admin
Posts: 9734
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: The latest SVN bugs thread

Post by CuteAlien »

kaos wrote:Now we only have LH method
setRotationAxisRadians
Yes, I think there isn't really a point in having the same function twice. Just use a negative angle to rotate the other way round or invert the axis (same thing). The reason the old functions had been removed is that they did work exactly the wrong way (and additionally had a further bug which returned complete wrong results for certain values). So everyone using them mixed up left-hand and right-hand rotation. I used a new functionname so people who already started using those functions have at least a chance noticing now that something was wrong.
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
lucifervrn
Posts: 3
Joined: Tue Mar 13, 2012 2:20 pm

Re: The latest SVN bugs thread

Post by lucifervrn »

Hello!
Suddenly, I found that between svn revisions 4168 and last 4307 there was a problem with loading collada files.
There are the files https://docs.google.com/open?id=0Bxwf_M ... klGWXVDWXM
two models.
First is small model that still loading.
Another model is loading well in svn revesion 4168 and don't loading in 4307.
CuteAlien
Admin
Posts: 9734
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Re: The latest SVN bugs thread

Post by CuteAlien »

@lucifervrn: Thanks for reporting. Seems the bug got added by a new feature in fast_atof which is using irr::string::findFirst ... which does give back a result when you look for 0. I think it shouldn't, that looks wrong, so there's a a bug in the string class. But I have to check other functions as well like findFirstChar which also look wrong to me. I'll try to get to it in the evening (just did run a quick test now in my coffee pause).
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Post Reply