added videoreader_vfw.
[swftools.git] / src / swfdump.c
index 0d4babc..75ac80f 100644 (file)
@@ -561,8 +561,10 @@ void handlePlaceObject(TAG*tag, char*prefix)
 
     U16 id = swf_GetU16(tag);
     U16 depth = swf_GetU16(tag);
-    MATRIX matrix; swf_GetMatrix(tag, &matrix);
-    CXFORM cxform; swf_GetCXForm(tag, &cxform, 0);
+    MATRIX matrix; 
+    CXFORM cxform;
+    swf_GetMatrix(tag, &matrix);
+    swf_GetCXForm(tag, &cxform, 0);
 
     swf_SetU8(tag2, 14);
     swf_SetU16(tag2, depth);
@@ -599,13 +601,14 @@ char* linestyle2str(LINESTYLE*style)
 void handleShape(TAG*tag, char*prefix)
 {
     SHAPE2 shape;
+    SHAPELINE*line;
+    int t,max;
+
     tag->pos = 0;
     tag->readBit = 0;
     swf_ParseDefineShape(tag, &shape);
-    SHAPELINE*line;
 
-    int t;
-    int max = shape.numlinestyles > shape.numfillstyles?shape.numlinestyles:shape.numfillstyles;
+    max = shape.numlinestyles > shape.numfillstyles?shape.numlinestyles:shape.numfillstyles;
 
     if(max) printf("%s | fillstyles(%02d)        linestyles(%02d)\n", 
            prefix,
@@ -676,9 +679,9 @@ void hexdumpTag(TAG*tag, char* prefix)
        ascii[t&15] = printable(tag->data[t]);
        if((t && ((t&15)==15)) || (t==tag->len-1))
        {
-           int s,p=((t-1)&15)+1;
+           int s,p=((t)&15)+1;
            ascii[p] = 0;
-           for(s=p;s<16;s++) {
+           for(s=p-1;s<16;s++) {
                printf("   ");
            }
            if(t==tag->len-1)
@@ -1073,6 +1076,12 @@ int main (int argc,char ** argv)
             actions = swf_ActionGet(tag);
             swf_DumpActions(actions, myprefix);
         }
+        else if(tag->id == ST_DOINITACTION && action) {
+            ActionTAG*actions;
+            swf_GetU16(tag); // id
+            actions = swf_ActionGet(tag);
+            swf_DumpActions(actions, myprefix);
+        }
        else if(tag->id == ST_DEFINEBUTTON && action) {
            dumpButtonActions(tag, myprefix);
        }