3 Dump / debug functions
\r
5 Extension module for the rfxswf library.
\r
6 Part of the swftools package.
\r
8 Copyright (c) 2001 Rainer Böhme <rfxswf@reflex-studio.de>
\r
10 This file is distributed under the GPL, see file COPYING for details
\r
14 void DumpHeader(FILE * f,LPSWF swf)
\r
15 { if (!f) f = stderr;
\r
16 fprintf(f,"File size\t%u\n",swf->FileSize);
\r
17 fprintf(f,"Movie width\t%u\n",(swf->MovieSize.xmax - swf->MovieSize.xmin)/20);
\r
18 fprintf(f,"Movie height\t%u\n",(swf->MovieSize.ymax - swf->MovieSize.ymin)/20);
\r
19 fprintf(f,"Frame rate\t%u.%u\n",swf->FrameRate>>8,swf->FrameRate&0xff);
\r
20 fprintf(f,"Frame count\t%u\n",swf->FrameCount);
\r
23 void DumpMatrix(FILE * f,LPMATRIX m)
\r
24 { if (!f) f = stderr;
\r
25 fprintf(f,"[%08x][%08x]\n",m->sx,m->r1);
\r
26 fprintf(f,"[%08x][%08x]\n",m->r0,m->sy);
\r
27 fprintf(f," %08x, %08x\n",m->tx,m->ty);
\r
30 void DumpTag(FILE * f,LPTAG t)
\r
33 for (i=0;i<t->len;i++)
\r
34 { if (!(i&15)) fprintf(f,"\n");
\r
35 fprintf(f,"%02x ",t->data[i]);
\r
40 char* getTagName(TAG*tag)
\r
48 case ST_DEFINESHAPE:
\r
49 return "DEFINESHAPE";
\r
50 case ST_FREECHARACTER:
\r
51 return "FREECHARACTER";
\r
52 case ST_PLACEOBJECT:
\r
53 return "PLACEOBJECT";
\r
54 case ST_REMOVEOBJECT:
\r
55 return "REMOVEOBJECT";
\r
57 return "DEFINEBITS";
\r
58 case ST_DEFINEBUTTON:
\r
59 return "DEFINEBUTTON";
\r
61 return "JPEGTABLES";
\r
62 case ST_SETBACKGROUNDCOLOR:
\r
63 return "SETBACKGROUNDCOLOR";
\r
65 return "DEFINEFONT";
\r
67 return "DEFINETEXT";
\r
70 case ST_DEFINEFONTINFO:
\r
71 return "DEFINEFONTINFO";
\r
72 case ST_DEFINESOUND:
\r
73 return "DEFINESOUND";
\r
75 return "STARTSOUND";
\r
76 case ST_DEFINEBUTTONSOUND:
\r
77 return "DEFINEBUTTONSOUND";
\r
78 case ST_SOUNDSTREAMHEAD:
\r
79 return "SOUNDSTREAMHEAD";
\r
80 case ST_SOUNDSTREAMBLOCK:
\r
81 return "SOUNDSTREAMBLOCK";
\r
82 case ST_DEFINEBITSLOSSLESS:
\r
83 return "DEFINEBITSLOSSLESS";
\r
84 case ST_DEFINEBITSJPEG2:
\r
85 return "DEFINEBITSJPEG2";
\r
86 case ST_DEFINESHAPE2:
\r
87 return "DEFINESHAPE2";
\r
88 case ST_DEFINEBUTTONCXFORM:
\r
89 return "DEFINEBUTTONCXFORM";
\r
92 case ST_PLACEOBJECT2:
\r
93 return "PLACEOBJECT2";
\r
94 case ST_REMOVEOBJECT2:
\r
95 return "REMOVEOBJECT2";
\r
96 case ST_DEFINESHAPE3:
\r
97 return "DEFINESHAPE3";
\r
98 case ST_DEFINETEXT2:
\r
99 return "DEFINETEXT2";
\r
100 case ST_DEFINEBUTTON2:
\r
101 return "DEFINEBUTTON2";
\r
102 case ST_DEFINEBITSJPEG3:
\r
103 return "DEFINEBITSJPEG3";
\r
104 case ST_DEFINEBITSLOSSLESS2:
\r
105 return "DEFINEBITSLOSSLESS2";
\r
106 case ST_DEFINESPRITE:
\r
107 return "DEFINESPRITE";
\r
108 case ST_NAMECHARACTER:
\r
109 return "NAMECHARACTER";
\r
110 case ST_SERIALNUMBER:
\r
111 return "SERIALNUMBER";
\r
112 case ST_GENERATORTEXT:
\r
113 return "GENERATORTEXT";
\r
114 case ST_FRAMELABEL:
\r
115 return "FRAMELABEL";
\r
116 case ST_SOUNDSTREAMHEAD2:
\r
117 return "SOUNDSTREAMHEAD2";
\r
118 case ST_DEFINEMORPHSHAPE:
\r
119 return "DEFINEMORPHSHAPE";
\r
120 case ST_DEFINEFONT2:
\r
121 return "DEFINEFONT2";
\r
122 case ST_TEMPLATECOMMAND:
\r
123 return "TEMPLATECOMMAND";
\r
124 case ST_GENERATOR3:
\r
125 return "GENERATOR3";
\r
126 case ST_EXTERNALFONT:
\r
127 return "EXTERNALFONT";
\r