Was this patch superceeded by your second patch ? If not, are there tests (existing or added by yourself) showing this patch implements the correct (or closer to the correct) behavior ?
--strk; On Wed, Jan 16, 2013 at 10:37:23PM +0100, Jürgen Rühle wrote: > Currently the tower defense game GemCraft Chapter One from > gameinabottle.com/games/gemcraft1.swf doesn't draw the play map correctly, > making the game unplayable. > > This patch (if activated) demonstrates that the problem lies within > Bitmapdata.draw(mc) by drawing little rectangles at the position where the > actual MovieClip contents should appear (but don't). > --- > libcore/asobj/flash/display/BitmapData_as.cpp | 8 ++++++++ > 1 files changed, 8 insertions(+), 0 deletions(-) > > diff --git a/libcore/asobj/flash/display/BitmapData_as.cpp > b/libcore/asobj/flash/display/BitmapData_as.cpp > index cca2139..4d36794 100644 > --- a/libcore/asobj/flash/display/BitmapData_as.cpp > +++ b/libcore/asobj/flash/display/BitmapData_as.cpp > @@ -1099,6 +1099,14 @@ bitmapdata_draw(const fn_call& fn) > } > } > > +#if 0 > + long color = ((((long) mc) >> 10) & 0xf) + 1; > + > + log_debug("BitmapData.draw %s %s %d %d %d %d %d %s", ptr, mc, > t.matrix.tx(), t.matrix.ty(), t.matrix.a(), t.matrix.d(), color, > mc->getBounds()); > + > + fillRect(*ptr, t.matrix.tx() / 20, t.matrix.ty() / 20, (int) > (t.matrix.get_x_scale() * 25), (int) (t.matrix.get_y_scale() * 25), > 0x80000000 | (color << 19) | (color << 12) | (color << 3)); > +#endif > + > ptr->draw(*mc, t); > return as_value(); > } > -- > 1.7.4.1 _______________________________________________ Gnash-dev mailing list Gnash-dev@gnu.org https://lists.gnu.org/mailman/listinfo/gnash-dev