Zou, I'm having an hard time with that gnash matrix...
This is the test:
1) Matrix is read from SWF:
(a=1, b=0, c=0, d=-2, tx=200, ty=200)
_xscale==100;
_yscale==200; // expected to be positive on extraction
_rotation==0;
2) _yscale is set to 100:
(a=1, b=0, c=0, d=-1, tx=200, ty=200) // 'd' expected to retain sign
_xscale==100;
_yscale==100; // expected to be positive
_rotation==0;
3) _yscale is set to -100
(a=1, b=0, c=0, d=1, tx=200, ty=200) // 'd' expected to change sign
_xscale==100;
_yscale==-100; // as set by AS
_rotation==0;
4) _yscale is set to 100 [ HERE GNASH FAILS ]
(a=1, b=0, c=0, d=-1, tx=200, ty=200) // gnash gives 'd=1'
_xscale==100;
_yscale==100;
_rotation==0;
The test is in misc-ming.all/matrix_test.c starting at line 898 as
of revno 9876.
A similar test is in actionscript.all/MovieClip.as, that one succeeding
due to a dirty hack I implemented in character::set_y_scale, that was:
if the character is the _root character, use set_scale_rotation..
--strk;
_______________________________________________
Gnash-dev mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gnash-dev