more horizontal refactoring
[swftools.git] / lib / modules / swfdump.c
index 64441bb..92cce4f 100644 (file)
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
 
+#include <stdlib.h>
+#include <stdio.h>
+#include "../rfxswf.h"
+
 void swf_DumpHeader(FILE * f,SWF * swf)
 { if (!f) f = stderr;
   fprintf(f,"File size\t%u\n",swf->fileSize);
@@ -40,6 +44,16 @@ void swf_DumpMatrix(FILE * f,MATRIX * m)
   fprintf(f," %08x, %08x \n",m->tx,m->ty);
 }
 
+void swf_DumpGradient(FILE * f,GRADIENT * g)
+{ if (!f) f = stderr;
+    fprintf(f, "%d gradient steps\n", g->num);
+    int t;
+    for(t=0;t<g->num;t++) {
+       RGBA c = g->rgba[t];
+       fprintf(f, "%d) %02x%02x%02x%02x at %d\n", t, c.r,c.g,c.b,c.a, g->ratios[t]);
+    }
+}
+
 void swf_DumpTag(FILE * f,TAG * t)
 { int i;
   if (!f) f = stderr;
@@ -119,8 +133,8 @@ char* swf_TagGetName(TAG*tag)
             return "PLACEOBJECT";
         case ST_REMOVEOBJECT:
             return "REMOVEOBJECT";
-        case ST_DEFINEBITS:
-            return "DEFINEBITS";
+        case ST_DEFINEBITSJPEG:
+            return "DEFINEBITSJPEG";
         case ST_DEFINEBUTTON:
             return "DEFINEBUTTON";
         case ST_JPEGTABLES:
@@ -135,6 +149,10 @@ char* swf_TagGetName(TAG*tag)
             return "DEFINEEDITTEXT";
         case ST_DOACTION:
             return "DOACTION";
+        case ST_DOABC:
+            return "DOABC";
+        case ST_RAWABC:
+            return "RAWABC";
         case ST_DEFINEFONTINFO:
             return "DEFINEFONTINFO";
         case ST_DEFINESOUND:
@@ -185,6 +203,8 @@ char* swf_TagGetName(TAG*tag)
             return "SOUNDSTREAMHEAD2";
         case ST_DEFINEMORPHSHAPE:
             return "DEFINEMORPHSHAPE";
+        case ST_DEFINEMORPHSHAPE2:
+            return "DEFINEMORPHSHAPE2";
         case ST_DEFINEFONT2:
             return "DEFINEFONT2";
         case ST_TEMPLATECOMMAND:
@@ -195,6 +215,10 @@ char* swf_TagGetName(TAG*tag)
             return "EXTERNALFONT";
        case ST_EXPORTASSETS:
            return "EXPORTASSETS";
+       case ST_SYMBOLCLASS:
+           return "SYMBOLCLASS";
+       case ST_DEFINEBINARY:
+           return "DEFINEBINARY";
        case ST_IMPORTASSETS:
            return "IMPORTASSETS";
        case ST_ENABLEDEBUGGER:
@@ -209,6 +233,22 @@ char* swf_TagGetName(TAG*tag)
             return "VIDEOFRAME";
         case ST_DEFINEFONTINFO2:
             return "DEFINEFONTINFO2";
+        case ST_FILEATTRIBUTES:
+            return "FILEATTRIBUTES";
+        case ST_IMPORTASSETS2:
+            return "IMPORTASSETS2";
+        case ST_DEFINESCALINGGRID:
+            return "DEFINESCALINGGRID";
+        case ST_DEFINESHAPE4:
+            return "DEFINESHAPE4";
+        case ST_DEFINEFONT3:
+            return "DEFINEFONT3";
+        case ST_DEFINEFONTALIGNZONES:
+            return "DEFINEFONTALIGNZONES";
+        case ST_DEFINEFONTNAME:
+            return "DEFINEFONTNAME";
+        case ST_CSMTEXTSETTINGS:
+            return "CSMTEXTSETTINGS";
         case ST_FREEALL:
             return "FREEALL";
         case ST_MX4:
@@ -217,6 +257,14 @@ char* swf_TagGetName(TAG*tag)
             return "SCRIPTLIMITS";
         case ST_SETTABINDEX:
             return "SETTABINDEX";
+       case ST_ENABLEDEBUGGER2:
+           return "ENABLEDEBUGGER2";
+       case ST_PLACEOBJECT3:
+           return "PLACEOBJECT3";
+       case ST_METADATA:
+           return "METADATA";
+       case ST_SCENEDESCRIPTION:
+           return "SCENEDESCRIPTION";
         
        case ST_REFLEX:
             return "REFLEX";