a few more flash 9 additions
authorkramm <kramm>
Sun, 9 Dec 2007 10:48:49 +0000 (10:48 +0000)
committerkramm <kramm>
Sun, 9 Dec 2007 10:48:49 +0000 (10:48 +0000)
lib/modules/swfdump.c
lib/modules/swftools.c
lib/rfxswf.h
src/swfdump.c

index b2a6698..1287cc6 100644 (file)
@@ -237,6 +237,8 @@ char* swf_TagGetName(TAG*tag)
             return "DEFINEFONT3";
         case ST_DEFINEFONTALIGNZONES:
             return "DEFINEFONTALIGNZONES";
+        case ST_DEFINEFONTNAME:
+            return "DEFINEFONTNAME";
         case ST_CSMTEXTSETTINGS:
             return "CSMTEXTSETTINGS";
         case ST_FREEALL:
index f763897..313d082 100644 (file)
@@ -118,6 +118,7 @@ U16 swf_GetDefineID(TAG * t)
     case ST_DEFINEFONTINFO: //pseudodefine
     case ST_DEFINEFONTINFO2: //pseudodefine
     case ST_DEFINEFONTALIGNZONES: //pseudodefine
+    case ST_DEFINEFONTNAME: //pseudodefine
     case ST_DEFINETEXT:
     case ST_DEFINETEXT2:
     case ST_DEFINESOUND:
@@ -270,6 +271,7 @@ static int swf_pseudodefiningtagids[] =
  ST_DEFINEFONTINFO,
  ST_DEFINEFONTINFO2,
  ST_DEFINEFONTALIGNZONES,
+ ST_DEFINEFONTNAME,
  ST_DEFINEBUTTONCXFORM,
  ST_DEFINEBUTTONSOUND,
  ST_DEFINESCALINGGRID,
@@ -607,6 +609,7 @@ void enumerateUsedIDs(TAG * tag, int base, void (*callback)(TAG*, int, void*), v
        case ST_FREECHARACTER: /* unusual tags, which all start with an ID */
        case ST_NAMECHARACTER:
        case ST_DEFINEBINARY:
+       case ST_DEFINEFONTNAME:
        case ST_GENERATORTEXT:
            callback(tag, tag->pos + base, callback_data);
         break;
index 67046f2..d246cd2 100644 (file)
@@ -334,6 +334,7 @@ SRECT swf_TurnRect(SRECT r, MATRIX* m);
 #define ST_DEFINEMORPHSHAPE2    84 /* version 8 */
 #define ST_SCENEDESCRIPTION    86 /* version 9 */
 #define ST_DEFINEBINARY                87 /* version 9 */
+#define ST_DEFINEFONTNAME      88 /* version 9 */
 
 /* custom tags- only valid for swftools */
 #define ST_REFLEX              777 /* to identify generator software */
index 35dc77e..a16f873 100644 (file)
@@ -1246,7 +1246,7 @@ int main (int argc,char ** argv)
        }
        else if(tag->id == ST_PLACEOBJECT2 || tag->id == ST_PLACEOBJECT3) {
        }
-       else if(tag->id == ST_NAMECHARACTER) {
+       else if(tag->id == ST_NAMECHARACTER || tag->id==ST_DEFINEFONTNAME) {
            swf_GetU16(tag);
            printf(" \"%s\"\n", swf_GetString(tag));
        }
@@ -1310,6 +1310,13 @@ int main (int argc,char ** argv)
        else if(tag->id == ST_PLACEOBJECT2 || tag->id == ST_PLACEOBJECT3) {
            handlePlaceObject23(tag, myprefix);
        }
+       else if(tag->id == ST_DEFINEFONTNAME) {
+           swf_SetTagPos(tag, 0);
+           swf_GetU16(tag); //id
+           swf_GetString(tag); //name
+           char* copyright = swf_GetString(tag);
+           printf("%s%s\n", myprefix, copyright);
+       }
        else if(tag->id == ST_DEFINESHAPE ||
                tag->id == ST_DEFINESHAPE2 ||
                tag->id == ST_DEFINESHAPE3 ||