[Swfdec] Branch 'as' - 4 commits - libswfdec/swfdec_codec_video.c libswfdec/swfdec_movie.c test/trace

Benjamin Otte company at kemper.freedesktop.org
Tue Jun 19 04:30:11 PDT 2007


 libswfdec/swfdec_codec_video.c                              |    2 
 libswfdec/swfdec_movie.c                                    |    3 
 test/trace/Makefile.am                                      |  193 ++++++++++++
 test/trace/place-object-5.swf                               |binary
 test/trace/place-object-5.swf.trace                         |    4 
 test/trace/place-object-6.swf                               |binary
 test/trace/place-object-6.swf.trace                         |    2 
 test/trace/place-object-7.swf                               |binary
 test/trace/place-object-7.swf.trace                         |    2 
 test/trace/place-object-button-5.swf                        |binary
 test/trace/place-object-button-5.swf.trace                  |    2 
 test/trace/place-object-button-6.swf                        |binary
 test/trace/place-object-button-6.swf.trace                  |    2 
 test/trace/place-object-button-7.swf                        |binary
 test/trace/place-object-button-7.swf.trace                  |    2 
 test/trace/place-object-button-move-5.swf                   |binary
 test/trace/place-object-button-move-5.swf.trace             |    2 
 test/trace/place-object-button-move-6.swf                   |binary
 test/trace/place-object-button-move-6.swf.trace             |    2 
 test/trace/place-object-button-move-7.swf                   |binary
 test/trace/place-object-button-move-7.swf.trace             |    2 
 test/trace/place-object-button-move-name-5.swf              |binary
 test/trace/place-object-button-move-name-5.swf.trace        |    2 
 test/trace/place-object-button-move-name-6.swf              |binary
 test/trace/place-object-button-move-name-6.swf.trace        |    2 
 test/trace/place-object-button-move-name-7.swf              |binary
 test/trace/place-object-button-move-name-7.swf.trace        |    2 
 test/trace/place-object-button-name-5.swf                   |binary
 test/trace/place-object-button-name-5.swf.trace             |    2 
 test/trace/place-object-button-name-6.swf                   |binary
 test/trace/place-object-button-name-6.swf.trace             |    2 
 test/trace/place-object-button-name-7.swf                   |binary
 test/trace/place-object-button-name-7.swf.trace             |    2 
 test/trace/place-object-char-5.swf                          |binary
 test/trace/place-object-char-5.swf.trace                    |    2 
 test/trace/place-object-char-6.swf                          |binary
 test/trace/place-object-char-6.swf.trace                    |    2 
 test/trace/place-object-char-7.swf                          |binary
 test/trace/place-object-char-7.swf.trace                    |    2 
 test/trace/place-object-char-move-5.swf                     |binary
 test/trace/place-object-char-move-5.swf.trace               |    2 
 test/trace/place-object-char-move-6.swf                     |binary
 test/trace/place-object-char-move-6.swf.trace               |    2 
 test/trace/place-object-char-move-7.swf                     |binary
 test/trace/place-object-char-move-7.swf.trace               |    2 
 test/trace/place-object-char-move-name-5.swf                |binary
 test/trace/place-object-char-move-name-5.swf.trace          |    2 
 test/trace/place-object-char-move-name-6.swf                |binary
 test/trace/place-object-char-move-name-6.swf.trace          |    2 
 test/trace/place-object-char-move-name-7.swf                |binary
 test/trace/place-object-char-move-name-7.swf.trace          |    2 
 test/trace/place-object-char-name-5.swf                     |binary
 test/trace/place-object-char-name-5.swf.trace               |    2 
 test/trace/place-object-char-name-6.swf                     |binary
 test/trace/place-object-char-name-6.swf.trace               |    2 
 test/trace/place-object-char-name-7.swf                     |binary
 test/trace/place-object-char-name-7.swf.trace               |    2 
 test/trace/place-object-move-5.swf                          |binary
 test/trace/place-object-move-5.swf.trace                    |    2 
 test/trace/place-object-move-6.swf                          |binary
 test/trace/place-object-move-6.swf.trace                    |    2 
 test/trace/place-object-move-7.swf                          |binary
 test/trace/place-object-move-7.swf.trace                    |    2 
 test/trace/place-object-move-name-5.swf                     |binary
 test/trace/place-object-move-name-5.swf.trace               |    2 
 test/trace/place-object-move-name-6.swf                     |binary
 test/trace/place-object-move-name-6.swf.trace               |    2 
 test/trace/place-object-move-name-7.swf                     |binary
 test/trace/place-object-move-name-7.swf.trace               |    2 
 test/trace/place-object-movie-5.swf                         |binary
 test/trace/place-object-movie-5.swf.trace                   |    4 
 test/trace/place-object-movie-6.swf                         |binary
 test/trace/place-object-movie-6.swf.trace                   |    2 
 test/trace/place-object-movie-7.swf                         |binary
 test/trace/place-object-movie-7.swf.trace                   |    2 
 test/trace/place-object-movie-move-5.swf                    |binary
 test/trace/place-object-movie-move-5.swf.trace              |    2 
 test/trace/place-object-movie-move-6.swf                    |binary
 test/trace/place-object-movie-move-6.swf.trace              |    2 
 test/trace/place-object-movie-move-7.swf                    |binary
 test/trace/place-object-movie-move-7.swf.trace              |    2 
 test/trace/place-object-movie-move-name-5.swf               |binary
 test/trace/place-object-movie-move-name-5.swf.trace         |    2 
 test/trace/place-object-movie-move-name-6.swf               |binary
 test/trace/place-object-movie-move-name-6.swf.trace         |    2 
 test/trace/place-object-movie-move-name-7.swf               |binary
 test/trace/place-object-movie-move-name-7.swf.trace         |    2 
 test/trace/place-object-movie-name-5.swf                    |binary
 test/trace/place-object-movie-name-5.swf.trace              |    4 
 test/trace/place-object-movie-name-6.swf                    |binary
 test/trace/place-object-movie-name-6.swf.trace              |    2 
 test/trace/place-object-movie-name-7.swf                    |binary
 test/trace/place-object-movie-name-7.swf.trace              |    2 
 test/trace/place-object-name-5.swf                          |binary
 test/trace/place-object-name-5.swf.trace                    |    4 
 test/trace/place-object-name-6.swf                          |binary
 test/trace/place-object-name-6.swf.trace                    |    2 
 test/trace/place-object-name-7.swf                          |binary
 test/trace/place-object-name-7.swf.trace                    |    2 
 test/trace/place-object-remove-5.swf                        |binary
 test/trace/place-object-remove-5.swf.trace                  |    5 
 test/trace/place-object-remove-6.swf                        |binary
 test/trace/place-object-remove-6.swf.trace                  |    5 
 test/trace/place-object-remove-7.swf                        |binary
 test/trace/place-object-remove-7.swf.trace                  |    5 
 test/trace/place-object-remove-button-5.swf                 |binary
 test/trace/place-object-remove-button-5.swf.trace           |    3 
 test/trace/place-object-remove-button-6.swf                 |binary
 test/trace/place-object-remove-button-6.swf.trace           |    3 
 test/trace/place-object-remove-button-7.swf                 |binary
 test/trace/place-object-remove-button-7.swf.trace           |    3 
 test/trace/place-object-remove-button-move-5.swf            |binary
 test/trace/place-object-remove-button-move-5.swf.trace      |    3 
 test/trace/place-object-remove-button-move-6.swf            |binary
 test/trace/place-object-remove-button-move-6.swf.trace      |    3 
 test/trace/place-object-remove-button-move-7.swf            |binary
 test/trace/place-object-remove-button-move-7.swf.trace      |    3 
 test/trace/place-object-remove-button-move-name-5.swf       |binary
 test/trace/place-object-remove-button-move-name-5.swf.trace |    3 
 test/trace/place-object-remove-button-move-name-6.swf       |binary
 test/trace/place-object-remove-button-move-name-6.swf.trace |    3 
 test/trace/place-object-remove-button-move-name-7.swf       |binary
 test/trace/place-object-remove-button-move-name-7.swf.trace |    3 
 test/trace/place-object-remove-button-name-5.swf            |binary
 test/trace/place-object-remove-button-name-5.swf.trace      |    3 
 test/trace/place-object-remove-button-name-6.swf            |binary
 test/trace/place-object-remove-button-name-6.swf.trace      |    3 
 test/trace/place-object-remove-button-name-7.swf            |binary
 test/trace/place-object-remove-button-name-7.swf.trace      |    3 
 test/trace/place-object-remove-char-5.swf                   |binary
 test/trace/place-object-remove-char-5.swf.trace             |    3 
 test/trace/place-object-remove-char-6.swf                   |binary
 test/trace/place-object-remove-char-6.swf.trace             |    3 
 test/trace/place-object-remove-char-7.swf                   |binary
 test/trace/place-object-remove-char-7.swf.trace             |    3 
 test/trace/place-object-remove-char-move-5.swf              |binary
 test/trace/place-object-remove-char-move-5.swf.trace        |    3 
 test/trace/place-object-remove-char-move-6.swf              |binary
 test/trace/place-object-remove-char-move-6.swf.trace        |    3 
 test/trace/place-object-remove-char-move-7.swf              |binary
 test/trace/place-object-remove-char-move-7.swf.trace        |    3 
 test/trace/place-object-remove-char-move-name-5.swf         |binary
 test/trace/place-object-remove-char-move-name-5.swf.trace   |    3 
 test/trace/place-object-remove-char-move-name-6.swf         |binary
 test/trace/place-object-remove-char-move-name-6.swf.trace   |    3 
 test/trace/place-object-remove-char-move-name-7.swf         |binary
 test/trace/place-object-remove-char-move-name-7.swf.trace   |    3 
 test/trace/place-object-remove-char-name-5.swf              |binary
 test/trace/place-object-remove-char-name-5.swf.trace        |    3 
 test/trace/place-object-remove-char-name-6.swf              |binary
 test/trace/place-object-remove-char-name-6.swf.trace        |    3 
 test/trace/place-object-remove-char-name-7.swf              |binary
 test/trace/place-object-remove-char-name-7.swf.trace        |    3 
 test/trace/place-object-remove-move-5.swf                   |binary
 test/trace/place-object-remove-move-5.swf.trace             |    3 
 test/trace/place-object-remove-move-6.swf                   |binary
 test/trace/place-object-remove-move-6.swf.trace             |    3 
 test/trace/place-object-remove-move-7.swf                   |binary
 test/trace/place-object-remove-move-7.swf.trace             |    3 
 test/trace/place-object-remove-move-name-5.swf              |binary
 test/trace/place-object-remove-move-name-5.swf.trace        |    3 
 test/trace/place-object-remove-move-name-6.swf              |binary
 test/trace/place-object-remove-move-name-6.swf.trace        |    3 
 test/trace/place-object-remove-move-name-7.swf              |binary
 test/trace/place-object-remove-move-name-7.swf.trace        |    3 
 test/trace/place-object-remove-movie-5.swf                  |binary
 test/trace/place-object-remove-movie-5.swf.trace            |    5 
 test/trace/place-object-remove-movie-6.swf                  |binary
 test/trace/place-object-remove-movie-6.swf.trace            |    5 
 test/trace/place-object-remove-movie-7.swf                  |binary
 test/trace/place-object-remove-movie-7.swf.trace            |    5 
 test/trace/place-object-remove-movie-move-5.swf             |binary
 test/trace/place-object-remove-movie-move-5.swf.trace       |    3 
 test/trace/place-object-remove-movie-move-6.swf             |binary
 test/trace/place-object-remove-movie-move-6.swf.trace       |    3 
 test/trace/place-object-remove-movie-move-7.swf             |binary
 test/trace/place-object-remove-movie-move-7.swf.trace       |    3 
 test/trace/place-object-remove-movie-move-name-5.swf        |binary
 test/trace/place-object-remove-movie-move-name-5.swf.trace  |    3 
 test/trace/place-object-remove-movie-move-name-6.swf        |binary
 test/trace/place-object-remove-movie-move-name-6.swf.trace  |    3 
 test/trace/place-object-remove-movie-move-name-7.swf        |binary
 test/trace/place-object-remove-movie-move-name-7.swf.trace  |    3 
 test/trace/place-object-remove-movie-name-5.swf             |binary
 test/trace/place-object-remove-movie-name-5.swf.trace       |    5 
 test/trace/place-object-remove-movie-name-6.swf             |binary
 test/trace/place-object-remove-movie-name-6.swf.trace       |    5 
 test/trace/place-object-remove-movie-name-7.swf             |binary
 test/trace/place-object-remove-movie-name-7.swf.trace       |    5 
 test/trace/place-object-remove-name-5.swf                   |binary
 test/trace/place-object-remove-name-5.swf.trace             |    5 
 test/trace/place-object-remove-name-6.swf                   |binary
 test/trace/place-object-remove-name-6.swf.trace             |    5 
 test/trace/place-object-remove-name-7.swf                   |binary
 test/trace/place-object-remove-name-7.swf.trace             |    5 
 test/trace/place-object.c                                   |  171 ++++++++++
 196 files changed, 639 insertions(+), 2 deletions(-)

New commits:
diff-tree e3ec3e22461f214518eb34f429d7ca7bd8b81630 (from 28447808e16488d22eb3667436d888dd2c02615e)
Author: Benjamin Otte <otte at gnome.org>
Date:   Tue Jun 19 13:17:52 2007 +0200

    apparently buttons get a name, too
    
    I think TextFields probably get a name, too, just like everything scriptable.
    There should probably be a SwfdecScriptable base class for all of these.

diff --git a/libswfdec/swfdec_movie.c b/libswfdec/swfdec_movie.c
index 5f57f9b..1b09906 100644
--- a/libswfdec/swfdec_movie.c
+++ b/libswfdec/swfdec_movie.c
@@ -29,6 +29,7 @@
 
 #include "swfdec_movie.h"
 #include "swfdec_as_context.h"
+#include "swfdec_button_movie.h"
 #include "swfdec_debug.h"
 #include "swfdec_debugger.h"
 #include "swfdec_event.h"
@@ -919,7 +920,7 @@ swfdec_movie_new (SwfdecPlayer *player, 
     movie->name = name;
   } else {
     movie->original_name = SWFDEC_AS_STR_EMPTY;
-    if (SWFDEC_IS_SPRITE_MOVIE (movie)) {
+    if (SWFDEC_IS_SPRITE_MOVIE (movie) || SWFDEC_IS_BUTTON_MOVIE (movie)) {
       movie->name = swfdec_as_context_give_string (SWFDEC_AS_CONTEXT (player), 
 	  g_strdup_printf ("instance%u", ++player->unnamed_count));
     } else {
diff-tree 28447808e16488d22eb3667436d888dd2c02615e (from 2727e882d4faf821f08ffd34a8e2d79a32320604)
Author: Benjamin Otte <otte at gnome.org>
Date:   Tue Jun 19 10:35:09 2007 +0200

    remove \n from debug line

diff --git a/libswfdec/swfdec_codec_video.c b/libswfdec/swfdec_codec_video.c
index c4984d5..7417758 100644
--- a/libswfdec/swfdec_codec_video.c
+++ b/libswfdec/swfdec_codec_video.c
@@ -61,7 +61,7 @@ swfdec_video_decoder_new (SwfdecVideoFor
     g_return_val_if_fail (ret->decode, ret);
     g_return_val_if_fail (ret->free, ret);
   } else {
-    SWFDEC_WARNING ("no decoder found for codec %u\n", (guint) format);
+    SWFDEC_WARNING ("no decoder found for codec %u", (guint) format);
   }
   return ret;
 }
diff-tree 2727e882d4faf821f08ffd34a8e2d79a32320604 (from 916ebe262b4a5547375306da01ab803b38854df1)
Author: Benjamin Otte <otte at gnome.org>
Date:   Tue Jun 19 10:33:26 2007 +0200

    too much scripted stuff - remove stray \

diff --git a/test/trace/Makefile.am b/test/trace/Makefile.am
index 93aaac7..7e76a6f 100644
--- a/test/trace/Makefile.am
+++ b/test/trace/Makefile.am
@@ -1,4 +1,4 @@
-check_PROGRAMS = trace \
+check_PROGRAMS = trace
 
 TESTS = $(check_PROGRAMS)
 
diff-tree 916ebe262b4a5547375306da01ab803b38854df1 (from 56c57b5b317120e3699c0c673942815691c9fa2e)
Author: Benjamin Otte <otte at gnome.org>
Date:   Tue Jun 19 10:28:28 2007 +0200

    add main test for PlaceObject rewrite and the most interesting outputs of that test
    
    Note: Even though that is 96 tests and looks a lot, it isn't.
    ./trace ran all 1536 tests in ~10 seconds on my machine, so this should take <1 second.

diff --git a/test/trace/Makefile.am b/test/trace/Makefile.am
index f3e4729..93aaac7 100644
--- a/test/trace/Makefile.am
+++ b/test/trace/Makefile.am
@@ -1,4 +1,4 @@
-check_PROGRAMS = trace
+check_PROGRAMS = trace \
 
 TESTS = $(check_PROGRAMS)
 
@@ -322,6 +322,199 @@ EXTRA_DIST = \
 	order.swf.trace \
 	parent-root.swf \
 	parent-root.swf.trace \
+	place-object.c \
+	place-object-5.swf \
+	place-object-5.swf.trace \
+	place-object-6.swf \
+	place-object-6.swf.trace \
+	place-object-7.swf \
+	place-object-7.swf.trace \
+	place-object-button-5.swf \
+	place-object-button-5.swf.trace \
+	place-object-button-6.swf \
+	place-object-button-6.swf.trace \
+	place-object-button-7.swf \
+	place-object-button-7.swf.trace \
+	place-object-button-move-5.swf \
+	place-object-button-move-5.swf.trace \
+	place-object-button-move-6.swf \
+	place-object-button-move-6.swf.trace \
+	place-object-button-move-7.swf \
+	place-object-button-move-7.swf.trace \
+	place-object-button-move-name-5.swf \
+	place-object-button-move-name-5.swf.trace \
+	place-object-button-move-name-6.swf \
+	place-object-button-move-name-6.swf.trace \
+	place-object-button-move-name-7.swf \
+	place-object-button-move-name-7.swf.trace \
+	place-object-button-name-5.swf \
+	place-object-button-name-5.swf.trace \
+	place-object-button-name-6.swf \
+	place-object-button-name-6.swf.trace \
+	place-object-button-name-7.swf \
+	place-object-button-name-7.swf.trace \
+	place-object-char-5.swf \
+	place-object-char-5.swf.trace \
+	place-object-char-6.swf \
+	place-object-char-6.swf.trace \
+	place-object-char-7.swf \
+	place-object-char-7.swf.trace \
+	place-object-char-move-5.swf \
+	place-object-char-move-5.swf.trace \
+	place-object-char-move-6.swf \
+	place-object-char-move-6.swf.trace \
+	place-object-char-move-7.swf \
+	place-object-char-move-7.swf.trace \
+	place-object-char-move-name-5.swf \
+	place-object-char-move-name-5.swf.trace \
+	place-object-char-move-name-6.swf \
+	place-object-char-move-name-6.swf.trace \
+	place-object-char-move-name-7.swf \
+	place-object-char-move-name-7.swf.trace \
+	place-object-char-name-5.swf \
+	place-object-char-name-5.swf.trace \
+	place-object-char-name-6.swf \
+	place-object-char-name-6.swf.trace \
+	place-object-char-name-7.swf \
+	place-object-char-name-7.swf.trace \
+	place-object-move-5.swf \
+	place-object-move-5.swf.trace \
+	place-object-move-6.swf \
+	place-object-move-6.swf.trace \
+	place-object-move-7.swf \
+	place-object-move-7.swf.trace \
+	place-object-move-name-5.swf \
+	place-object-move-name-5.swf.trace \
+	place-object-move-name-6.swf \
+	place-object-move-name-6.swf.trace \
+	place-object-move-name-7.swf \
+	place-object-move-name-7.swf.trace \
+	place-object-movie-5.swf \
+	place-object-movie-5.swf.trace \
+	place-object-movie-6.swf \
+	place-object-movie-6.swf.trace \
+	place-object-movie-7.swf \
+	place-object-movie-7.swf.trace \
+	place-object-movie-move-5.swf \
+	place-object-movie-move-5.swf.trace \
+	place-object-movie-move-6.swf \
+	place-object-movie-move-6.swf.trace \
+	place-object-movie-move-7.swf \
+	place-object-movie-move-7.swf.trace \
+	place-object-movie-move-name-5.swf \
+	place-object-movie-move-name-5.swf.trace \
+	place-object-movie-move-name-6.swf \
+	place-object-movie-move-name-6.swf.trace \
+	place-object-movie-move-name-7.swf \
+	place-object-movie-move-name-7.swf.trace \
+	place-object-movie-name-5.swf \
+	place-object-movie-name-5.swf.trace \
+	place-object-movie-name-6.swf \
+	place-object-movie-name-6.swf.trace \
+	place-object-movie-name-7.swf \
+	place-object-movie-name-7.swf.trace \
+	place-object-name-5.swf \
+	place-object-name-5.swf.trace \
+	place-object-name-6.swf \
+	place-object-name-6.swf.trace \
+	place-object-name-7.swf \
+	place-object-name-7.swf.trace \
+	place-object-remove-5.swf \
+	place-object-remove-5.swf.trace \
+	place-object-remove-6.swf \
+	place-object-remove-6.swf.trace \
+	place-object-remove-7.swf \
+	place-object-remove-7.swf.trace \
+	place-object-remove-button-5.swf \
+	place-object-remove-button-5.swf.trace \
+	place-object-remove-button-6.swf \
+	place-object-remove-button-6.swf.trace \
+	place-object-remove-button-7.swf \
+	place-object-remove-button-7.swf.trace \
+	place-object-remove-button-move-5.swf \
+	place-object-remove-button-move-5.swf.trace \
+	place-object-remove-button-move-6.swf \
+	place-object-remove-button-move-6.swf.trace \
+	place-object-remove-button-move-7.swf \
+	place-object-remove-button-move-7.swf.trace \
+	place-object-remove-button-move-name-5.swf \
+	place-object-remove-button-move-name-5.swf.trace \
+	place-object-remove-button-move-name-6.swf \
+	place-object-remove-button-move-name-6.swf.trace \
+	place-object-remove-button-move-name-7.swf \
+	place-object-remove-button-move-name-7.swf.trace \
+	place-object-remove-button-name-5.swf \
+	place-object-remove-button-name-5.swf.trace \
+	place-object-remove-button-name-6.swf \
+	place-object-remove-button-name-6.swf.trace \
+	place-object-remove-button-name-7.swf \
+	place-object-remove-button-name-7.swf.trace \
+	place-object-remove-char-5.swf \
+	place-object-remove-char-5.swf.trace \
+	place-object-remove-char-6.swf \
+	place-object-remove-char-6.swf.trace \
+	place-object-remove-char-7.swf \
+	place-object-remove-char-7.swf.trace \
+	place-object-remove-char-move-5.swf \
+	place-object-remove-char-move-5.swf.trace \
+	place-object-remove-char-move-6.swf \
+	place-object-remove-char-move-6.swf.trace \
+	place-object-remove-char-move-7.swf \
+	place-object-remove-char-move-7.swf.trace \
+	place-object-remove-char-move-name-5.swf \
+	place-object-remove-char-move-name-5.swf.trace \
+	place-object-remove-char-move-name-6.swf \
+	place-object-remove-char-move-name-6.swf.trace \
+	place-object-remove-char-move-name-7.swf \
+	place-object-remove-char-move-name-7.swf.trace \
+	place-object-remove-char-name-5.swf \
+	place-object-remove-char-name-5.swf.trace \
+	place-object-remove-char-name-6.swf \
+	place-object-remove-char-name-6.swf.trace \
+	place-object-remove-char-name-7.swf \
+	place-object-remove-char-name-7.swf.trace \
+	place-object-remove-move-5.swf \
+	place-object-remove-move-5.swf.trace \
+	place-object-remove-move-6.swf \
+	place-object-remove-move-6.swf.trace \
+	place-object-remove-move-7.swf \
+	place-object-remove-move-7.swf.trace \
+	place-object-remove-move-name-5.swf \
+	place-object-remove-move-name-5.swf.trace \
+	place-object-remove-move-name-6.swf \
+	place-object-remove-move-name-6.swf.trace \
+	place-object-remove-move-name-7.swf \
+	place-object-remove-move-name-7.swf.trace \
+	place-object-remove-movie-5.swf \
+	place-object-remove-movie-5.swf.trace \
+	place-object-remove-movie-6.swf \
+	place-object-remove-movie-6.swf.trace \
+	place-object-remove-movie-7.swf \
+	place-object-remove-movie-7.swf.trace \
+	place-object-remove-movie-move-5.swf \
+	place-object-remove-movie-move-5.swf.trace \
+	place-object-remove-movie-move-6.swf \
+	place-object-remove-movie-move-6.swf.trace \
+	place-object-remove-movie-move-7.swf \
+	place-object-remove-movie-move-7.swf.trace \
+	place-object-remove-movie-move-name-5.swf \
+	place-object-remove-movie-move-name-5.swf.trace \
+	place-object-remove-movie-move-name-6.swf \
+	place-object-remove-movie-move-name-6.swf.trace \
+	place-object-remove-movie-move-name-7.swf \
+	place-object-remove-movie-move-name-7.swf.trace \
+	place-object-remove-movie-name-5.swf \
+	place-object-remove-movie-name-5.swf.trace \
+	place-object-remove-movie-name-6.swf \
+	place-object-remove-movie-name-6.swf.trace \
+	place-object-remove-movie-name-7.swf \
+	place-object-remove-movie-name-7.swf.trace \
+	place-object-remove-name-5.swf \
+	place-object-remove-name-5.swf.trace \
+	place-object-remove-name-6.swf \
+	place-object-remove-name-6.swf.trace \
+	place-object-remove-name-7.swf \
+	place-object-remove-name-7.swf.trace \
 	preload.swf \
 	preload.swf.trace \
 	prototypes.swf \
diff --git a/test/trace/place-object-5.swf b/test/trace/place-object-5.swf
new file mode 100644
index 0000000..f411431
Binary files /dev/null and b/test/trace/place-object-5.swf differ
diff --git a/test/trace/place-object-5.swf.trace b/test/trace/place-object-5.swf.trace
new file mode 100644
index 0000000..efd5677
--- /dev/null
+++ b/test/trace/place-object-5.swf.trace
@@ -0,0 +1,4 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: init _level0.instance2
+2: load _level0.instance2
diff --git a/test/trace/place-object-6.swf b/test/trace/place-object-6.swf
new file mode 100644
index 0000000..c410254
Binary files /dev/null and b/test/trace/place-object-6.swf differ
diff --git a/test/trace/place-object-6.swf.trace b/test/trace/place-object-6.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-6.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-7.swf b/test/trace/place-object-7.swf
new file mode 100644
index 0000000..05f8998
Binary files /dev/null and b/test/trace/place-object-7.swf differ
diff --git a/test/trace/place-object-7.swf.trace b/test/trace/place-object-7.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-7.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-button-5.swf b/test/trace/place-object-button-5.swf
new file mode 100644
index 0000000..214933d
Binary files /dev/null and b/test/trace/place-object-button-5.swf differ
diff --git a/test/trace/place-object-button-5.swf.trace b/test/trace/place-object-button-5.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-button-5.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-button-6.swf b/test/trace/place-object-button-6.swf
new file mode 100644
index 0000000..b451158
Binary files /dev/null and b/test/trace/place-object-button-6.swf differ
diff --git a/test/trace/place-object-button-6.swf.trace b/test/trace/place-object-button-6.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-button-6.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-button-7.swf b/test/trace/place-object-button-7.swf
new file mode 100644
index 0000000..7321e78
Binary files /dev/null and b/test/trace/place-object-button-7.swf differ
diff --git a/test/trace/place-object-button-7.swf.trace b/test/trace/place-object-button-7.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-button-7.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-button-move-5.swf b/test/trace/place-object-button-move-5.swf
new file mode 100644
index 0000000..b93c52f
Binary files /dev/null and b/test/trace/place-object-button-move-5.swf differ
diff --git a/test/trace/place-object-button-move-5.swf.trace b/test/trace/place-object-button-move-5.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-button-move-5.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-button-move-6.swf b/test/trace/place-object-button-move-6.swf
new file mode 100644
index 0000000..f2723ae
Binary files /dev/null and b/test/trace/place-object-button-move-6.swf differ
diff --git a/test/trace/place-object-button-move-6.swf.trace b/test/trace/place-object-button-move-6.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-button-move-6.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-button-move-7.swf b/test/trace/place-object-button-move-7.swf
new file mode 100644
index 0000000..22d1d64
Binary files /dev/null and b/test/trace/place-object-button-move-7.swf differ
diff --git a/test/trace/place-object-button-move-7.swf.trace b/test/trace/place-object-button-move-7.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-button-move-7.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-button-move-name-5.swf b/test/trace/place-object-button-move-name-5.swf
new file mode 100644
index 0000000..16a841e
Binary files /dev/null and b/test/trace/place-object-button-move-name-5.swf differ
diff --git a/test/trace/place-object-button-move-name-5.swf.trace b/test/trace/place-object-button-move-name-5.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-button-move-name-5.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-button-move-name-6.swf b/test/trace/place-object-button-move-name-6.swf
new file mode 100644
index 0000000..9323589
Binary files /dev/null and b/test/trace/place-object-button-move-name-6.swf differ
diff --git a/test/trace/place-object-button-move-name-6.swf.trace b/test/trace/place-object-button-move-name-6.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-button-move-name-6.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-button-move-name-7.swf b/test/trace/place-object-button-move-name-7.swf
new file mode 100644
index 0000000..1ab25ff
Binary files /dev/null and b/test/trace/place-object-button-move-name-7.swf differ
diff --git a/test/trace/place-object-button-move-name-7.swf.trace b/test/trace/place-object-button-move-name-7.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-button-move-name-7.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-button-name-5.swf b/test/trace/place-object-button-name-5.swf
new file mode 100644
index 0000000..07714f4
Binary files /dev/null and b/test/trace/place-object-button-name-5.swf differ
diff --git a/test/trace/place-object-button-name-5.swf.trace b/test/trace/place-object-button-name-5.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-button-name-5.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-button-name-6.swf b/test/trace/place-object-button-name-6.swf
new file mode 100644
index 0000000..61507e0
Binary files /dev/null and b/test/trace/place-object-button-name-6.swf differ
diff --git a/test/trace/place-object-button-name-6.swf.trace b/test/trace/place-object-button-name-6.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-button-name-6.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-button-name-7.swf b/test/trace/place-object-button-name-7.swf
new file mode 100644
index 0000000..e3439bd
Binary files /dev/null and b/test/trace/place-object-button-name-7.swf differ
diff --git a/test/trace/place-object-button-name-7.swf.trace b/test/trace/place-object-button-name-7.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-button-name-7.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-char-5.swf b/test/trace/place-object-char-5.swf
new file mode 100644
index 0000000..a0593c4
Binary files /dev/null and b/test/trace/place-object-char-5.swf differ
diff --git a/test/trace/place-object-char-5.swf.trace b/test/trace/place-object-char-5.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-char-5.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-char-6.swf b/test/trace/place-object-char-6.swf
new file mode 100644
index 0000000..2557b64
Binary files /dev/null and b/test/trace/place-object-char-6.swf differ
diff --git a/test/trace/place-object-char-6.swf.trace b/test/trace/place-object-char-6.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-char-6.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-char-7.swf b/test/trace/place-object-char-7.swf
new file mode 100644
index 0000000..5b6208b
Binary files /dev/null and b/test/trace/place-object-char-7.swf differ
diff --git a/test/trace/place-object-char-7.swf.trace b/test/trace/place-object-char-7.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-char-7.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-char-move-5.swf b/test/trace/place-object-char-move-5.swf
new file mode 100644
index 0000000..effb89a
Binary files /dev/null and b/test/trace/place-object-char-move-5.swf differ
diff --git a/test/trace/place-object-char-move-5.swf.trace b/test/trace/place-object-char-move-5.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-char-move-5.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-char-move-6.swf b/test/trace/place-object-char-move-6.swf
new file mode 100644
index 0000000..1971324
Binary files /dev/null and b/test/trace/place-object-char-move-6.swf differ
diff --git a/test/trace/place-object-char-move-6.swf.trace b/test/trace/place-object-char-move-6.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-char-move-6.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-char-move-7.swf b/test/trace/place-object-char-move-7.swf
new file mode 100644
index 0000000..6944817
Binary files /dev/null and b/test/trace/place-object-char-move-7.swf differ
diff --git a/test/trace/place-object-char-move-7.swf.trace b/test/trace/place-object-char-move-7.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-char-move-7.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-char-move-name-5.swf b/test/trace/place-object-char-move-name-5.swf
new file mode 100644
index 0000000..a40d6ac
Binary files /dev/null and b/test/trace/place-object-char-move-name-5.swf differ
diff --git a/test/trace/place-object-char-move-name-5.swf.trace b/test/trace/place-object-char-move-name-5.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-char-move-name-5.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-char-move-name-6.swf b/test/trace/place-object-char-move-name-6.swf
new file mode 100644
index 0000000..2b95f32
Binary files /dev/null and b/test/trace/place-object-char-move-name-6.swf differ
diff --git a/test/trace/place-object-char-move-name-6.swf.trace b/test/trace/place-object-char-move-name-6.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-char-move-name-6.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-char-move-name-7.swf b/test/trace/place-object-char-move-name-7.swf
new file mode 100644
index 0000000..dbc98ef
Binary files /dev/null and b/test/trace/place-object-char-move-name-7.swf differ
diff --git a/test/trace/place-object-char-move-name-7.swf.trace b/test/trace/place-object-char-move-name-7.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-char-move-name-7.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-char-name-5.swf b/test/trace/place-object-char-name-5.swf
new file mode 100644
index 0000000..baa585b
Binary files /dev/null and b/test/trace/place-object-char-name-5.swf differ
diff --git a/test/trace/place-object-char-name-5.swf.trace b/test/trace/place-object-char-name-5.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-char-name-5.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-char-name-6.swf b/test/trace/place-object-char-name-6.swf
new file mode 100644
index 0000000..78c04d2
Binary files /dev/null and b/test/trace/place-object-char-name-6.swf differ
diff --git a/test/trace/place-object-char-name-6.swf.trace b/test/trace/place-object-char-name-6.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-char-name-6.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-char-name-7.swf b/test/trace/place-object-char-name-7.swf
new file mode 100644
index 0000000..a5ee8d3
Binary files /dev/null and b/test/trace/place-object-char-name-7.swf differ
diff --git a/test/trace/place-object-char-name-7.swf.trace b/test/trace/place-object-char-name-7.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-char-name-7.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-move-5.swf b/test/trace/place-object-move-5.swf
new file mode 100644
index 0000000..2515a17
Binary files /dev/null and b/test/trace/place-object-move-5.swf differ
diff --git a/test/trace/place-object-move-5.swf.trace b/test/trace/place-object-move-5.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-move-5.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-move-6.swf b/test/trace/place-object-move-6.swf
new file mode 100644
index 0000000..e90c9e3
Binary files /dev/null and b/test/trace/place-object-move-6.swf differ
diff --git a/test/trace/place-object-move-6.swf.trace b/test/trace/place-object-move-6.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-move-6.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-move-7.swf b/test/trace/place-object-move-7.swf
new file mode 100644
index 0000000..3d043dd
Binary files /dev/null and b/test/trace/place-object-move-7.swf differ
diff --git a/test/trace/place-object-move-7.swf.trace b/test/trace/place-object-move-7.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-move-7.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-move-name-5.swf b/test/trace/place-object-move-name-5.swf
new file mode 100644
index 0000000..21b1c13
Binary files /dev/null and b/test/trace/place-object-move-name-5.swf differ
diff --git a/test/trace/place-object-move-name-5.swf.trace b/test/trace/place-object-move-name-5.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-move-name-5.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-move-name-6.swf b/test/trace/place-object-move-name-6.swf
new file mode 100644
index 0000000..f0da785
Binary files /dev/null and b/test/trace/place-object-move-name-6.swf differ
diff --git a/test/trace/place-object-move-name-6.swf.trace b/test/trace/place-object-move-name-6.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-move-name-6.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-move-name-7.swf b/test/trace/place-object-move-name-7.swf
new file mode 100644
index 0000000..1cdd613
Binary files /dev/null and b/test/trace/place-object-move-name-7.swf differ
diff --git a/test/trace/place-object-move-name-7.swf.trace b/test/trace/place-object-move-name-7.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-move-name-7.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-movie-5.swf b/test/trace/place-object-movie-5.swf
new file mode 100644
index 0000000..27cc919
Binary files /dev/null and b/test/trace/place-object-movie-5.swf differ
diff --git a/test/trace/place-object-movie-5.swf.trace b/test/trace/place-object-movie-5.swf.trace
new file mode 100644
index 0000000..efd5677
--- /dev/null
+++ b/test/trace/place-object-movie-5.swf.trace
@@ -0,0 +1,4 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: init _level0.instance2
+2: load _level0.instance2
diff --git a/test/trace/place-object-movie-6.swf b/test/trace/place-object-movie-6.swf
new file mode 100644
index 0000000..e07472b
Binary files /dev/null and b/test/trace/place-object-movie-6.swf differ
diff --git a/test/trace/place-object-movie-6.swf.trace b/test/trace/place-object-movie-6.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-movie-6.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-movie-7.swf b/test/trace/place-object-movie-7.swf
new file mode 100644
index 0000000..eee9f87
Binary files /dev/null and b/test/trace/place-object-movie-7.swf differ
diff --git a/test/trace/place-object-movie-7.swf.trace b/test/trace/place-object-movie-7.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-movie-7.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-movie-move-5.swf b/test/trace/place-object-movie-move-5.swf
new file mode 100644
index 0000000..9d68104
Binary files /dev/null and b/test/trace/place-object-movie-move-5.swf differ
diff --git a/test/trace/place-object-movie-move-5.swf.trace b/test/trace/place-object-movie-move-5.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-movie-move-5.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-movie-move-6.swf b/test/trace/place-object-movie-move-6.swf
new file mode 100644
index 0000000..bcf8871
Binary files /dev/null and b/test/trace/place-object-movie-move-6.swf differ
diff --git a/test/trace/place-object-movie-move-6.swf.trace b/test/trace/place-object-movie-move-6.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-movie-move-6.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-movie-move-7.swf b/test/trace/place-object-movie-move-7.swf
new file mode 100644
index 0000000..5ffce19
Binary files /dev/null and b/test/trace/place-object-movie-move-7.swf differ
diff --git a/test/trace/place-object-movie-move-7.swf.trace b/test/trace/place-object-movie-move-7.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-movie-move-7.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-movie-move-name-5.swf b/test/trace/place-object-movie-move-name-5.swf
new file mode 100644
index 0000000..dce25b7
Binary files /dev/null and b/test/trace/place-object-movie-move-name-5.swf differ
diff --git a/test/trace/place-object-movie-move-name-5.swf.trace b/test/trace/place-object-movie-move-name-5.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-movie-move-name-5.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-movie-move-name-6.swf b/test/trace/place-object-movie-move-name-6.swf
new file mode 100644
index 0000000..caafb80
Binary files /dev/null and b/test/trace/place-object-movie-move-name-6.swf differ
diff --git a/test/trace/place-object-movie-move-name-6.swf.trace b/test/trace/place-object-movie-move-name-6.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-movie-move-name-6.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-movie-move-name-7.swf b/test/trace/place-object-movie-move-name-7.swf
new file mode 100644
index 0000000..f0488ad
Binary files /dev/null and b/test/trace/place-object-movie-move-name-7.swf differ
diff --git a/test/trace/place-object-movie-move-name-7.swf.trace b/test/trace/place-object-movie-move-name-7.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-movie-move-name-7.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-movie-name-5.swf b/test/trace/place-object-movie-name-5.swf
new file mode 100644
index 0000000..5895375
Binary files /dev/null and b/test/trace/place-object-movie-name-5.swf differ
diff --git a/test/trace/place-object-movie-name-5.swf.trace b/test/trace/place-object-movie-name-5.swf.trace
new file mode 100644
index 0000000..7c75dad
--- /dev/null
+++ b/test/trace/place-object-movie-name-5.swf.trace
@@ -0,0 +1,4 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: init _level0.instanceX
+2: load _level0.instanceX
diff --git a/test/trace/place-object-movie-name-6.swf b/test/trace/place-object-movie-name-6.swf
new file mode 100644
index 0000000..5d62095
Binary files /dev/null and b/test/trace/place-object-movie-name-6.swf differ
diff --git a/test/trace/place-object-movie-name-6.swf.trace b/test/trace/place-object-movie-name-6.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-movie-name-6.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-movie-name-7.swf b/test/trace/place-object-movie-name-7.swf
new file mode 100644
index 0000000..e47d336
Binary files /dev/null and b/test/trace/place-object-movie-name-7.swf differ
diff --git a/test/trace/place-object-movie-name-7.swf.trace b/test/trace/place-object-movie-name-7.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-movie-name-7.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-name-5.swf b/test/trace/place-object-name-5.swf
new file mode 100644
index 0000000..0ed9029
Binary files /dev/null and b/test/trace/place-object-name-5.swf differ
diff --git a/test/trace/place-object-name-5.swf.trace b/test/trace/place-object-name-5.swf.trace
new file mode 100644
index 0000000..7c75dad
--- /dev/null
+++ b/test/trace/place-object-name-5.swf.trace
@@ -0,0 +1,4 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: init _level0.instanceX
+2: load _level0.instanceX
diff --git a/test/trace/place-object-name-6.swf b/test/trace/place-object-name-6.swf
new file mode 100644
index 0000000..294ae18
Binary files /dev/null and b/test/trace/place-object-name-6.swf differ
diff --git a/test/trace/place-object-name-6.swf.trace b/test/trace/place-object-name-6.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-name-6.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-name-7.swf b/test/trace/place-object-name-7.swf
new file mode 100644
index 0000000..75def7c
Binary files /dev/null and b/test/trace/place-object-name-7.swf differ
diff --git a/test/trace/place-object-name-7.swf.trace b/test/trace/place-object-name-7.swf.trace
new file mode 100644
index 0000000..921d763
--- /dev/null
+++ b/test/trace/place-object-name-7.swf.trace
@@ -0,0 +1,2 @@
+1: init _level0.instance1
+1: load _level0.instance1
diff --git a/test/trace/place-object-remove-5.swf b/test/trace/place-object-remove-5.swf
new file mode 100644
index 0000000..1cc2bc2
Binary files /dev/null and b/test/trace/place-object-remove-5.swf differ
diff --git a/test/trace/place-object-remove-5.swf.trace b/test/trace/place-object-remove-5.swf.trace
new file mode 100644
index 0000000..6e3b309
--- /dev/null
+++ b/test/trace/place-object-remove-5.swf.trace
@@ -0,0 +1,5 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: init _level0.instance2
+2: unload _level0.instance1
+2: load _level0.instance2
diff --git a/test/trace/place-object-remove-6.swf b/test/trace/place-object-remove-6.swf
new file mode 100644
index 0000000..0152164
Binary files /dev/null and b/test/trace/place-object-remove-6.swf differ
diff --git a/test/trace/place-object-remove-6.swf.trace b/test/trace/place-object-remove-6.swf.trace
new file mode 100644
index 0000000..6e3b309
--- /dev/null
+++ b/test/trace/place-object-remove-6.swf.trace
@@ -0,0 +1,5 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: init _level0.instance2
+2: unload _level0.instance1
+2: load _level0.instance2
diff --git a/test/trace/place-object-remove-7.swf b/test/trace/place-object-remove-7.swf
new file mode 100644
index 0000000..a514cdb
Binary files /dev/null and b/test/trace/place-object-remove-7.swf differ
diff --git a/test/trace/place-object-remove-7.swf.trace b/test/trace/place-object-remove-7.swf.trace
new file mode 100644
index 0000000..6e3b309
--- /dev/null
+++ b/test/trace/place-object-remove-7.swf.trace
@@ -0,0 +1,5 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: init _level0.instance2
+2: unload _level0.instance1
+2: load _level0.instance2
diff --git a/test/trace/place-object-remove-button-5.swf b/test/trace/place-object-remove-button-5.swf
new file mode 100644
index 0000000..dbf925a
Binary files /dev/null and b/test/trace/place-object-remove-button-5.swf differ
diff --git a/test/trace/place-object-remove-button-5.swf.trace b/test/trace/place-object-remove-button-5.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-button-5.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-button-6.swf b/test/trace/place-object-remove-button-6.swf
new file mode 100644
index 0000000..c346f85
Binary files /dev/null and b/test/trace/place-object-remove-button-6.swf differ
diff --git a/test/trace/place-object-remove-button-6.swf.trace b/test/trace/place-object-remove-button-6.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-button-6.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-button-7.swf b/test/trace/place-object-remove-button-7.swf
new file mode 100644
index 0000000..d0c6e24
Binary files /dev/null and b/test/trace/place-object-remove-button-7.swf differ
diff --git a/test/trace/place-object-remove-button-7.swf.trace b/test/trace/place-object-remove-button-7.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-button-7.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-button-move-5.swf b/test/trace/place-object-remove-button-move-5.swf
new file mode 100644
index 0000000..761fefa
Binary files /dev/null and b/test/trace/place-object-remove-button-move-5.swf differ
diff --git a/test/trace/place-object-remove-button-move-5.swf.trace b/test/trace/place-object-remove-button-move-5.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-button-move-5.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-button-move-6.swf b/test/trace/place-object-remove-button-move-6.swf
new file mode 100644
index 0000000..2e1b287
Binary files /dev/null and b/test/trace/place-object-remove-button-move-6.swf differ
diff --git a/test/trace/place-object-remove-button-move-6.swf.trace b/test/trace/place-object-remove-button-move-6.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-button-move-6.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-button-move-7.swf b/test/trace/place-object-remove-button-move-7.swf
new file mode 100644
index 0000000..4d7d7e2
Binary files /dev/null and b/test/trace/place-object-remove-button-move-7.swf differ
diff --git a/test/trace/place-object-remove-button-move-7.swf.trace b/test/trace/place-object-remove-button-move-7.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-button-move-7.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-button-move-name-5.swf b/test/trace/place-object-remove-button-move-name-5.swf
new file mode 100644
index 0000000..7d77d25
Binary files /dev/null and b/test/trace/place-object-remove-button-move-name-5.swf differ
diff --git a/test/trace/place-object-remove-button-move-name-5.swf.trace b/test/trace/place-object-remove-button-move-name-5.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-button-move-name-5.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-button-move-name-6.swf b/test/trace/place-object-remove-button-move-name-6.swf
new file mode 100644
index 0000000..4105e90
Binary files /dev/null and b/test/trace/place-object-remove-button-move-name-6.swf differ
diff --git a/test/trace/place-object-remove-button-move-name-6.swf.trace b/test/trace/place-object-remove-button-move-name-6.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-button-move-name-6.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-button-move-name-7.swf b/test/trace/place-object-remove-button-move-name-7.swf
new file mode 100644
index 0000000..40c5825
Binary files /dev/null and b/test/trace/place-object-remove-button-move-name-7.swf differ
diff --git a/test/trace/place-object-remove-button-move-name-7.swf.trace b/test/trace/place-object-remove-button-move-name-7.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-button-move-name-7.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-button-name-5.swf b/test/trace/place-object-remove-button-name-5.swf
new file mode 100644
index 0000000..7d47b4e
Binary files /dev/null and b/test/trace/place-object-remove-button-name-5.swf differ
diff --git a/test/trace/place-object-remove-button-name-5.swf.trace b/test/trace/place-object-remove-button-name-5.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-button-name-5.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-button-name-6.swf b/test/trace/place-object-remove-button-name-6.swf
new file mode 100644
index 0000000..b8d453c
Binary files /dev/null and b/test/trace/place-object-remove-button-name-6.swf differ
diff --git a/test/trace/place-object-remove-button-name-6.swf.trace b/test/trace/place-object-remove-button-name-6.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-button-name-6.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-button-name-7.swf b/test/trace/place-object-remove-button-name-7.swf
new file mode 100644
index 0000000..54abd2d
Binary files /dev/null and b/test/trace/place-object-remove-button-name-7.swf differ
diff --git a/test/trace/place-object-remove-button-name-7.swf.trace b/test/trace/place-object-remove-button-name-7.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-button-name-7.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-char-5.swf b/test/trace/place-object-remove-char-5.swf
new file mode 100644
index 0000000..8eb65d8
Binary files /dev/null and b/test/trace/place-object-remove-char-5.swf differ
diff --git a/test/trace/place-object-remove-char-5.swf.trace b/test/trace/place-object-remove-char-5.swf.trace
new file mode 100644
index 0000000..5e951a6
--- /dev/null
+++ b/test/trace/place-object-remove-char-5.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+1: unload _level0.instance1
diff --git a/test/trace/place-object-remove-char-6.swf b/test/trace/place-object-remove-char-6.swf
new file mode 100644
index 0000000..0f34afa
Binary files /dev/null and b/test/trace/place-object-remove-char-6.swf differ
diff --git a/test/trace/place-object-remove-char-6.swf.trace b/test/trace/place-object-remove-char-6.swf.trace
new file mode 100644
index 0000000..5e951a6
--- /dev/null
+++ b/test/trace/place-object-remove-char-6.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+1: unload _level0.instance1
diff --git a/test/trace/place-object-remove-char-7.swf b/test/trace/place-object-remove-char-7.swf
new file mode 100644
index 0000000..2d07f31
Binary files /dev/null and b/test/trace/place-object-remove-char-7.swf differ
diff --git a/test/trace/place-object-remove-char-7.swf.trace b/test/trace/place-object-remove-char-7.swf.trace
new file mode 100644
index 0000000..5e951a6
--- /dev/null
+++ b/test/trace/place-object-remove-char-7.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+1: unload _level0.instance1
diff --git a/test/trace/place-object-remove-char-move-5.swf b/test/trace/place-object-remove-char-move-5.swf
new file mode 100644
index 0000000..e2a089d
Binary files /dev/null and b/test/trace/place-object-remove-char-move-5.swf differ
diff --git a/test/trace/place-object-remove-char-move-5.swf.trace b/test/trace/place-object-remove-char-move-5.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-char-move-5.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-char-move-6.swf b/test/trace/place-object-remove-char-move-6.swf
new file mode 100644
index 0000000..b4e1864
Binary files /dev/null and b/test/trace/place-object-remove-char-move-6.swf differ
diff --git a/test/trace/place-object-remove-char-move-6.swf.trace b/test/trace/place-object-remove-char-move-6.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-char-move-6.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-char-move-7.swf b/test/trace/place-object-remove-char-move-7.swf
new file mode 100644
index 0000000..0aaa5d5
Binary files /dev/null and b/test/trace/place-object-remove-char-move-7.swf differ
diff --git a/test/trace/place-object-remove-char-move-7.swf.trace b/test/trace/place-object-remove-char-move-7.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-char-move-7.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-char-move-name-5.swf b/test/trace/place-object-remove-char-move-name-5.swf
new file mode 100644
index 0000000..b95a8f6
Binary files /dev/null and b/test/trace/place-object-remove-char-move-name-5.swf differ
diff --git a/test/trace/place-object-remove-char-move-name-5.swf.trace b/test/trace/place-object-remove-char-move-name-5.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-char-move-name-5.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-char-move-name-6.swf b/test/trace/place-object-remove-char-move-name-6.swf
new file mode 100644
index 0000000..bb2898c
Binary files /dev/null and b/test/trace/place-object-remove-char-move-name-6.swf differ
diff --git a/test/trace/place-object-remove-char-move-name-6.swf.trace b/test/trace/place-object-remove-char-move-name-6.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-char-move-name-6.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-char-move-name-7.swf b/test/trace/place-object-remove-char-move-name-7.swf
new file mode 100644
index 0000000..6f634d3
Binary files /dev/null and b/test/trace/place-object-remove-char-move-name-7.swf differ
diff --git a/test/trace/place-object-remove-char-move-name-7.swf.trace b/test/trace/place-object-remove-char-move-name-7.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-char-move-name-7.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-char-name-5.swf b/test/trace/place-object-remove-char-name-5.swf
new file mode 100644
index 0000000..9e56293
Binary files /dev/null and b/test/trace/place-object-remove-char-name-5.swf differ
diff --git a/test/trace/place-object-remove-char-name-5.swf.trace b/test/trace/place-object-remove-char-name-5.swf.trace
new file mode 100644
index 0000000..5e951a6
--- /dev/null
+++ b/test/trace/place-object-remove-char-name-5.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+1: unload _level0.instance1
diff --git a/test/trace/place-object-remove-char-name-6.swf b/test/trace/place-object-remove-char-name-6.swf
new file mode 100644
index 0000000..f44a6fa
Binary files /dev/null and b/test/trace/place-object-remove-char-name-6.swf differ
diff --git a/test/trace/place-object-remove-char-name-6.swf.trace b/test/trace/place-object-remove-char-name-6.swf.trace
new file mode 100644
index 0000000..5e951a6
--- /dev/null
+++ b/test/trace/place-object-remove-char-name-6.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+1: unload _level0.instance1
diff --git a/test/trace/place-object-remove-char-name-7.swf b/test/trace/place-object-remove-char-name-7.swf
new file mode 100644
index 0000000..10a0758
Binary files /dev/null and b/test/trace/place-object-remove-char-name-7.swf differ
diff --git a/test/trace/place-object-remove-char-name-7.swf.trace b/test/trace/place-object-remove-char-name-7.swf.trace
new file mode 100644
index 0000000..5e951a6
--- /dev/null
+++ b/test/trace/place-object-remove-char-name-7.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+1: unload _level0.instance1
diff --git a/test/trace/place-object-remove-move-5.swf b/test/trace/place-object-remove-move-5.swf
new file mode 100644
index 0000000..19d1c1c
Binary files /dev/null and b/test/trace/place-object-remove-move-5.swf differ
diff --git a/test/trace/place-object-remove-move-5.swf.trace b/test/trace/place-object-remove-move-5.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-move-5.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-move-6.swf b/test/trace/place-object-remove-move-6.swf
new file mode 100644
index 0000000..a60d5ed
Binary files /dev/null and b/test/trace/place-object-remove-move-6.swf differ
diff --git a/test/trace/place-object-remove-move-6.swf.trace b/test/trace/place-object-remove-move-6.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-move-6.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-move-7.swf b/test/trace/place-object-remove-move-7.swf
new file mode 100644
index 0000000..25350d6
Binary files /dev/null and b/test/trace/place-object-remove-move-7.swf differ
diff --git a/test/trace/place-object-remove-move-7.swf.trace b/test/trace/place-object-remove-move-7.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-move-7.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-move-name-5.swf b/test/trace/place-object-remove-move-name-5.swf
new file mode 100644
index 0000000..6bf7bb8
Binary files /dev/null and b/test/trace/place-object-remove-move-name-5.swf differ
diff --git a/test/trace/place-object-remove-move-name-5.swf.trace b/test/trace/place-object-remove-move-name-5.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-move-name-5.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-move-name-6.swf b/test/trace/place-object-remove-move-name-6.swf
new file mode 100644
index 0000000..58d2780
Binary files /dev/null and b/test/trace/place-object-remove-move-name-6.swf differ
diff --git a/test/trace/place-object-remove-move-name-6.swf.trace b/test/trace/place-object-remove-move-name-6.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-move-name-6.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-move-name-7.swf b/test/trace/place-object-remove-move-name-7.swf
new file mode 100644
index 0000000..e16c09c
Binary files /dev/null and b/test/trace/place-object-remove-move-name-7.swf differ
diff --git a/test/trace/place-object-remove-move-name-7.swf.trace b/test/trace/place-object-remove-move-name-7.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-move-name-7.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-movie-5.swf b/test/trace/place-object-remove-movie-5.swf
new file mode 100644
index 0000000..d030aa3
Binary files /dev/null and b/test/trace/place-object-remove-movie-5.swf differ
diff --git a/test/trace/place-object-remove-movie-5.swf.trace b/test/trace/place-object-remove-movie-5.swf.trace
new file mode 100644
index 0000000..6e3b309
--- /dev/null
+++ b/test/trace/place-object-remove-movie-5.swf.trace
@@ -0,0 +1,5 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: init _level0.instance2
+2: unload _level0.instance1
+2: load _level0.instance2
diff --git a/test/trace/place-object-remove-movie-6.swf b/test/trace/place-object-remove-movie-6.swf
new file mode 100644
index 0000000..eafc435
Binary files /dev/null and b/test/trace/place-object-remove-movie-6.swf differ
diff --git a/test/trace/place-object-remove-movie-6.swf.trace b/test/trace/place-object-remove-movie-6.swf.trace
new file mode 100644
index 0000000..6e3b309
--- /dev/null
+++ b/test/trace/place-object-remove-movie-6.swf.trace
@@ -0,0 +1,5 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: init _level0.instance2
+2: unload _level0.instance1
+2: load _level0.instance2
diff --git a/test/trace/place-object-remove-movie-7.swf b/test/trace/place-object-remove-movie-7.swf
new file mode 100644
index 0000000..6832933
Binary files /dev/null and b/test/trace/place-object-remove-movie-7.swf differ
diff --git a/test/trace/place-object-remove-movie-7.swf.trace b/test/trace/place-object-remove-movie-7.swf.trace
new file mode 100644
index 0000000..6e3b309
--- /dev/null
+++ b/test/trace/place-object-remove-movie-7.swf.trace
@@ -0,0 +1,5 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: init _level0.instance2
+2: unload _level0.instance1
+2: load _level0.instance2
diff --git a/test/trace/place-object-remove-movie-move-5.swf b/test/trace/place-object-remove-movie-move-5.swf
new file mode 100644
index 0000000..22778ed
Binary files /dev/null and b/test/trace/place-object-remove-movie-move-5.swf differ
diff --git a/test/trace/place-object-remove-movie-move-5.swf.trace b/test/trace/place-object-remove-movie-move-5.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-movie-move-5.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-movie-move-6.swf b/test/trace/place-object-remove-movie-move-6.swf
new file mode 100644
index 0000000..dcde6ba
Binary files /dev/null and b/test/trace/place-object-remove-movie-move-6.swf differ
diff --git a/test/trace/place-object-remove-movie-move-6.swf.trace b/test/trace/place-object-remove-movie-move-6.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-movie-move-6.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-movie-move-7.swf b/test/trace/place-object-remove-movie-move-7.swf
new file mode 100644
index 0000000..ea4ee9c
Binary files /dev/null and b/test/trace/place-object-remove-movie-move-7.swf differ
diff --git a/test/trace/place-object-remove-movie-move-7.swf.trace b/test/trace/place-object-remove-movie-move-7.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-movie-move-7.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-movie-move-name-5.swf b/test/trace/place-object-remove-movie-move-name-5.swf
new file mode 100644
index 0000000..612f9f8
Binary files /dev/null and b/test/trace/place-object-remove-movie-move-name-5.swf differ
diff --git a/test/trace/place-object-remove-movie-move-name-5.swf.trace b/test/trace/place-object-remove-movie-move-name-5.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-movie-move-name-5.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-movie-move-name-6.swf b/test/trace/place-object-remove-movie-move-name-6.swf
new file mode 100644
index 0000000..81c327f
Binary files /dev/null and b/test/trace/place-object-remove-movie-move-name-6.swf differ
diff --git a/test/trace/place-object-remove-movie-move-name-6.swf.trace b/test/trace/place-object-remove-movie-move-name-6.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-movie-move-name-6.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-movie-move-name-7.swf b/test/trace/place-object-remove-movie-move-name-7.swf
new file mode 100644
index 0000000..6b196f9
Binary files /dev/null and b/test/trace/place-object-remove-movie-move-name-7.swf differ
diff --git a/test/trace/place-object-remove-movie-move-name-7.swf.trace b/test/trace/place-object-remove-movie-move-name-7.swf.trace
new file mode 100644
index 0000000..8872c3b
--- /dev/null
+++ b/test/trace/place-object-remove-movie-move-name-7.swf.trace
@@ -0,0 +1,3 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: unload _level0.instance1
diff --git a/test/trace/place-object-remove-movie-name-5.swf b/test/trace/place-object-remove-movie-name-5.swf
new file mode 100644
index 0000000..b747d38
Binary files /dev/null and b/test/trace/place-object-remove-movie-name-5.swf differ
diff --git a/test/trace/place-object-remove-movie-name-5.swf.trace b/test/trace/place-object-remove-movie-name-5.swf.trace
new file mode 100644
index 0000000..0ef9e80
--- /dev/null
+++ b/test/trace/place-object-remove-movie-name-5.swf.trace
@@ -0,0 +1,5 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: init _level0.instanceX
+2: unload _level0.instance1
+2: load _level0.instanceX
diff --git a/test/trace/place-object-remove-movie-name-6.swf b/test/trace/place-object-remove-movie-name-6.swf
new file mode 100644
index 0000000..f78a639
Binary files /dev/null and b/test/trace/place-object-remove-movie-name-6.swf differ
diff --git a/test/trace/place-object-remove-movie-name-6.swf.trace b/test/trace/place-object-remove-movie-name-6.swf.trace
new file mode 100644
index 0000000..0ef9e80
--- /dev/null
+++ b/test/trace/place-object-remove-movie-name-6.swf.trace
@@ -0,0 +1,5 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: init _level0.instanceX
+2: unload _level0.instance1
+2: load _level0.instanceX
diff --git a/test/trace/place-object-remove-movie-name-7.swf b/test/trace/place-object-remove-movie-name-7.swf
new file mode 100644
index 0000000..1ec305c
Binary files /dev/null and b/test/trace/place-object-remove-movie-name-7.swf differ
diff --git a/test/trace/place-object-remove-movie-name-7.swf.trace b/test/trace/place-object-remove-movie-name-7.swf.trace
new file mode 100644
index 0000000..0ef9e80
--- /dev/null
+++ b/test/trace/place-object-remove-movie-name-7.swf.trace
@@ -0,0 +1,5 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: init _level0.instanceX
+2: unload _level0.instance1
+2: load _level0.instanceX
diff --git a/test/trace/place-object-remove-name-5.swf b/test/trace/place-object-remove-name-5.swf
new file mode 100644
index 0000000..9ba25c4
Binary files /dev/null and b/test/trace/place-object-remove-name-5.swf differ
diff --git a/test/trace/place-object-remove-name-5.swf.trace b/test/trace/place-object-remove-name-5.swf.trace
new file mode 100644
index 0000000..0ef9e80
--- /dev/null
+++ b/test/trace/place-object-remove-name-5.swf.trace
@@ -0,0 +1,5 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: init _level0.instanceX
+2: unload _level0.instance1
+2: load _level0.instanceX
diff --git a/test/trace/place-object-remove-name-6.swf b/test/trace/place-object-remove-name-6.swf
new file mode 100644
index 0000000..9e9466e
Binary files /dev/null and b/test/trace/place-object-remove-name-6.swf differ
diff --git a/test/trace/place-object-remove-name-6.swf.trace b/test/trace/place-object-remove-name-6.swf.trace
new file mode 100644
index 0000000..0ef9e80
--- /dev/null
+++ b/test/trace/place-object-remove-name-6.swf.trace
@@ -0,0 +1,5 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: init _level0.instanceX
+2: unload _level0.instance1
+2: load _level0.instanceX
diff --git a/test/trace/place-object-remove-name-7.swf b/test/trace/place-object-remove-name-7.swf
new file mode 100644
index 0000000..beef86c
Binary files /dev/null and b/test/trace/place-object-remove-name-7.swf differ
diff --git a/test/trace/place-object-remove-name-7.swf.trace b/test/trace/place-object-remove-name-7.swf.trace
new file mode 100644
index 0000000..0ef9e80
--- /dev/null
+++ b/test/trace/place-object-remove-name-7.swf.trace
@@ -0,0 +1,5 @@
+1: init _level0.instance1
+1: load _level0.instance1
+2: init _level0.instanceX
+2: unload _level0.instance1
+2: load _level0.instanceX
diff --git a/test/trace/place-object.c b/test/trace/place-object.c
new file mode 100644
index 0000000..2ee1be6
--- /dev/null
+++ b/test/trace/place-object.c
@@ -0,0 +1,171 @@
+/* gcc `pkg-config --libs --cflags libming glib-2.0` place-object.c -o place-object && ./place-object
+ */
+
+#include <ming.h>
+#include <glib.h>
+
+/* This is a rather complex test that outputs heaps of simple files.
+ * What it does is create this movie:
+ * Frame 1: PlaceObject
+ * (Frame 2: RemoveObject)
+ * Frame 2: PlaceObject
+ * Frame 3: quit
+ * The enum below changes properties of the second PlaceObject call.
+ *
+ * Note running this test requires a patched version of libmong 0.4, that adds
+ * SWFDisplayItem_setMove() and allows calling SWFMovie_add() with a NULL 
+ * character.
+ */
+enum {
+  /* mark the PlaceObject as a move */
+  MODIFY_MOVE =			(1 << 0),
+  /* The next two control what character is set in the second PlaceObject:
+   * HAS_CHAR & DIFFERENT_CHAR: a Button
+   * DIFFERENT_CHAR: another MovieClip
+   * HAS_CHAR: the same MovieClip as in the first PlaceObject
+   * none: no character
+   */
+  MODIFY_HAS_CHAR =		(1 << 1),
+  MODIFY_DIFFERENT_CHAR =	(1 << 2),
+  /* the transform is different */
+  MODIFY_TRANSFORM =	  	(1 << 3),
+  /* the color transform is different */
+  MODIFY_CTRANS =		(1 << 4),
+  /* the ratio has changed */
+  MODIFY_RATIO =		(1 << 5),
+  /* the second PlaceObject has a name */
+  MODIFY_NAME =			(1 << 6),
+  /* the clip depth has changed */
+  MODIFY_CLIP_DEPTH =		(1 << 7),
+  /* a Remove tag is added directly before the second PlaceObject */
+  MODIFY_REMOVE =		(1 << 8),
+  /* add here */
+  MODIFY_MAX =			(1 << 9)
+};
+
+static void
+modify_item (SWFDisplayItem item, GString *name, guint mod)
+{
+  SWFDisplayItem_setDepth (item, 1);
+
+  if (mod & MODIFY_MOVE) {
+    if (name)
+      g_string_append (name, "-move");
+    else
+      SWFDisplayItem_setMove (item);
+  }
+  if (mod & MODIFY_TRANSFORM) {
+    if (name)
+      g_string_append (name, "-transform");
+    else
+      SWFDisplayItem_moveTo (item, 10, 0);
+  }
+  if (mod & MODIFY_CTRANS) {
+    if (name)
+      g_string_append (name, "-ctrans");
+    else
+      SWFDisplayItem_setColorAdd (item, 10, 10, 10, 10);
+  }
+  if (mod & MODIFY_RATIO) {
+    if (name)
+      g_string_append (name, "-ratio");
+    else
+      SWFDisplayItem_setRatio (item, 0.5);
+  }
+  if (mod & MODIFY_NAME) {
+    if (name)
+      g_string_append (name, "-name");
+    else
+      SWFDisplayItem_setName (item, "instanceX");
+  }
+  if (mod & MODIFY_CLIP_DEPTH) {
+    if (name)
+      g_string_append (name, "-clip");
+    else
+      SWFDisplayItem_setMaskLevel (item, 5);
+  }
+  SWFDisplayItem_addAction (item, newSWFAction ("trace (_root._currentframe + \": init \" + this);"), SWFACTION_INIT);
+  SWFDisplayItem_addAction (item, newSWFAction ("trace (_root._currentframe + \": load \" + this);"), SWFACTION_ONLOAD);
+  SWFDisplayItem_addAction (item, newSWFAction ("trace (_root._currentframe + \": unload \" + this);"), SWFACTION_UNLOAD);
+}
+
+static char *
+modify_placement (SWFMovie movie, guint mod)
+{
+  GString *name;
+  SWFDisplayItem item;
+  SWFBlock clip1, clip2;
+
+  name = g_string_new ("place-object");
+  if (mod & MODIFY_REMOVE)
+    g_string_append (name, "-remove");
+  clip1 = (SWFBlock) newSWFMovieClip ();
+  if (mod & MODIFY_DIFFERENT_CHAR) {
+    if (mod & MODIFY_HAS_CHAR) {
+      clip2 = (SWFBlock) newSWFButton ();
+      g_string_append (name, "-button");
+    } else {
+    clip2 = (SWFBlock) newSWFMovieClip ();
+    g_string_append (name, "-movie");
+    }
+  } else if (mod & MODIFY_HAS_CHAR) {
+    clip2 = NULL;
+    g_string_append (name, "-char");
+  } else {
+    clip2 = (SWFBlock) clip1;
+  }
+  
+  /* FIXME: I want the option to set a replace flag here */
+  item = SWFMovie_add (movie, clip1);
+  modify_item (item, name, mod);
+  SWFMovie_nextFrame (movie);
+
+  if (mod & MODIFY_REMOVE) {
+    SWFDisplayItem_remove (item);
+  }
+  item = SWFMovie_add (movie, clip2);
+  modify_item (item, NULL, mod);
+  return g_string_free (name, FALSE);
+}
+
+static void
+do_movie (int version)
+{
+  SWFMovie movie;
+  char *name, *real_name;
+  guint i;
+
+  for (i = 0; i < MODIFY_MAX; i++) {
+    movie = newSWFMovieWithVersion (version);
+    movie = newSWFMovie();
+    SWFMovie_setRate (movie, 256);
+    SWFMovie_setDimension (movie, 200, 150);
+
+    name = modify_placement (movie, i);
+    SWFMovie_nextFrame (movie);
+    
+    SWFMovie_add (movie, (SWFBlock) newSWFAction (""
+	  "loadMovie (\"FSCommand:quit\", \"\");"
+	  ));
+    SWFMovie_nextFrame (movie);
+
+    real_name = g_strdup_printf ("%s-%d.swf", name, version);
+    g_free (name);
+    SWFMovie_save (movie, real_name);
+    g_free (real_name);
+  }
+}
+
+int
+main (int argc, char **argv)
+{
+  int i;
+
+  if (Ming_init ())
+    return 1;
+
+  for (i = 5; i < 8; i++)
+    do_movie (i);
+
+  return 0;
+}


More information about the Swfdec mailing list