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

Reply via email to