diff -a -u -w -r1.1 -r1.8 --- Irrlicht.old/CXAnimationPlayer.cpp 26 Sep 2004 13:43:54 -0000 1.1 +++ Irrlicht/CXAnimationPlayer.cpp 12 Mar 2005 14:06:26 -0000 1.8 @@ -687,7 +687,22 @@ av[vt].Pos += vtmp; } + // yin nadie: let's modify the normals + + orig = ov[ vt ].Normal + ov[ vt ].Pos; + av[ vt ].Normal = core::vector3df( 0, 0, 0 ); + + for( int w = 0; w < weight.weightCount; ++w ) + { + vtmp = orig; + Joints[ weight.joint[ w ] ].CombinedAnimationMatrix.transformVect( vtmp ); + + vtmp *= weight.weight[ w ]; + av[ vt ].Normal += vtmp; + } + av[ vt ].Normal = ( av[ vt ].Normal - av[ vt ].Pos ).normalize(); + // yin nadie: normals modified } }