[Swfed-svn] swfed-svn [397] - EndタグをSprite内に埋める処理をついか

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2011年 3月 8日 (火) 09:43:59 JST


Revision: 397
          http://sourceforge.jp/projects/swfed/svn/view?view=rev&revision=397
Author:   yoya
Date:     2011-03-08 09:43:59 +0900 (Tue, 08 Mar 2011)

Log Message:
-----------
- EndタグをSprite内に埋める処理をついか
- PlaceObject2 の refcid を上書きする処理を追加

Modified Paths:
--------------
    trunk/src/swf_object.c


-------------- next part --------------
Modified: trunk/src/swf_object.c
===================================================================
--- trunk/src/swf_object.c	2011-03-08 00:42:55 UTC (rev 396)
+++ trunk/src/swf_object.c	2011-03-08 00:43:59 UTC (rev 397)
@@ -934,7 +934,6 @@
         switch (tag_no) {
             // tag skip
           default: // misc
-          case 0: // End
           case 3: // FreeCharacter
           case 9: // SetBackgroundColor
             // 16 missing
@@ -985,7 +984,9 @@
                       trans_table_set(cid_trans_table, cid, cid);
                       to_cid = cid;
                   }
-                  swf_tag_replace_cid(tag, to_cid);
+                  if (cid != to_cid) {
+                      swf_tag_replace_cid(tag, to_cid);
+                  }
               }
               if (isShapeTag(tag_no)) {
                   int  bitmap_id = swf_tag_shape_bitmap_get_refcid(tag);
@@ -1002,6 +1003,7 @@
               prev_sprite_tag->next = sprite_tag;
             break;
             // Control Tag
+          case 0: // End
           case 1: // ShowFrame
           case 4: // PlaceObject
           case 5: // RemoveObject
@@ -1014,8 +1016,14 @@
             // Sprite の中に挿入
             // TODO: Character ID の変更に追随
               switch (tag_no) {
+                int refcid, to_refcid;
                 case 26: // PlaceObject2
-                    
+                  refcid = swf_tag_get_refcid(tag);
+                  to_refcid = trans_table_get(cid_trans_table, refcid);
+                  if (refcid != to_refcid) {
+                      swf_tag_replace_refcid(tag, to_refcid);
+                  }
+                  break;
               }
             // TODO: 変数スコープ
               if (sprite_tag_tail == NULL) {



Swfed-svn メーリングリストの案内
Back to archive index