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.

Re: The latest SVN bugs thread

Postby hybrid » Fri Aug 17, 2012 3:37 pm

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.
hybrid
Admin
 
Posts: 13942
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany

Re: The latest SVN bugs thread

Postby Randajad » Sat Aug 18, 2012 9:49 am

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. ^_^
Randajad
 
Posts: 59
Joined: Thu May 03, 2012 10:08 am

Re: The latest SVN bugs thread

Postby hendu » Sat Aug 18, 2012 10:08 am

If you read what the define does, it's *Microsoft* that doesn't properly implement a standard.
hendu
 
Posts: 1551
Joined: Sat Dec 18, 2010 12:53 pm

Re: The latest SVN bugs thread

Postby Randajad » Tue Aug 21, 2012 11:08 am

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. ^_^
Randajad
 
Posts: 59
Joined: Thu May 03, 2012 10:08 am

Re: The latest SVN bugs thread

Postby hybrid » Tue Aug 21, 2012 11:53 am

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.
hybrid
Admin
 
Posts: 13942
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany

Re: The latest SVN bugs thread

Postby greenya » Tue Aug 21, 2012 2:06 pm

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)":
cpp 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.
User avatar
greenya
 
Posts: 942
Joined: Sun Jan 21, 2007 1:46 pm
Location: Ukraine

Re: The latest SVN bugs thread

Postby hybrid » Tue Aug 21, 2012 3:18 pm

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.
hybrid
Admin
 
Posts: 13942
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany

Re: The latest SVN bugs thread

Postby zerochen » Tue Aug 21, 2012 3:23 pm

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?
zerochen
 
Posts: 194
Joined: Wed Jan 07, 2009 1:17 am
Location: Germany

Re: The latest SVN bugs thread

Postby hybrid » Tue Aug 21, 2012 3:30 pm

@zerochen: I think the SF servers are somewhat broken currently
hybrid
Admin
 
Posts: 13942
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany

Re: The latest SVN bugs thread

Postby greenya » Tue Aug 21, 2012 3:33 pm

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:
User avatar
greenya
 
Posts: 942
Joined: Sun Jan 21, 2007 1:46 pm
Location: Ukraine

Re: The latest SVN bugs thread

Postby CuteAlien » Tue Aug 21, 2012 5:01 pm

Yeah, never worked, Irrlicht does not receive that message, see: viewtopic.php?t=36420
IRC: #irrlicht on irc.freenode.net
My patches&stuff: http://www.michaelzeilfelder.de/irrlicht.htm
Games with Irrlicht: http://www.irrgheist.com/
News: http://www.reddit.com/r/irrlicht/
User avatar
CuteAlien
Admin
 
Posts: 5349
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany

Re: The latest SVN bugs thread

Postby kaos » Wed Sep 05, 2012 8:44 am

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
kaos
 
Posts: 155
Joined: Tue Aug 12, 2008 8:25 pm
Location: Spain

Re: The latest SVN bugs thread

Postby CuteAlien » Wed Sep 05, 2012 10:13 am

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.freenode.net
My patches&stuff: http://www.michaelzeilfelder.de/irrlicht.htm
Games with Irrlicht: http://www.irrgheist.com/
News: http://www.reddit.com/r/irrlicht/
User avatar
CuteAlien
Admin
 
Posts: 5349
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany

Re: The latest SVN bugs thread

Postby lucifervrn » Thu Sep 06, 2012 12:48 pm

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.
lucifervrn
 
Posts: 3
Joined: Tue Mar 13, 2012 2:20 pm

Re: The latest SVN bugs thread

Postby CuteAlien » Thu Sep 06, 2012 1:43 pm

@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.freenode.net
My patches&stuff: http://www.michaelzeilfelder.de/irrlicht.htm
Games with Irrlicht: http://www.irrgheist.com/
News: http://www.reddit.com/r/irrlicht/
User avatar
CuteAlien
Admin
 
Posts: 5349
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany

PreviousNext

Return to Bug reports

Who is online

Users browsing this forum: No registered users and 1 guest