X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=blobdiff_plain;f=src%2Fswfcombine.c;h=7ada69b5ac6bcd75d80af2d59ce624bd6d207001;hp=557e7bdbd9c31422a50555735e89f0de239e5382;hb=8978b24a969f73518ecde87b24d972c7030e91f6;hpb=a8a2650b187181ff507303ff9cf181427445255a diff --git a/src/swfcombine.c b/src/swfcombine.c index 557e7bd..7ada69b 100644 --- a/src/swfcombine.c +++ b/src/swfcombine.c @@ -47,6 +47,7 @@ struct config_t char hassizex; int sizey; char hassizey; + int flashversion; int framerate; int movex; int movey; @@ -211,6 +212,7 @@ static struct options_t options[] = { {"o", "output"}, {"t", "stack"}, {"T", "stack1"}, +{"F", "version"}, {"m", "merge"}, {"a", "cat"}, {"l", "overlay"}, @@ -875,6 +877,8 @@ void adjustheader(SWF*swf) swf->movieSize.ymax = swf->movieSize.ymin + config.sizey; } + if(config.flashversion) + swf->fileVersion = config.flashversion; } void catcombine(SWF*master, char*slave_name, SWF*slave, SWF*newswf) @@ -887,6 +891,8 @@ void catcombine(SWF*master, char*slave_name, SWF*slave, SWF*newswf) msg(" Can't combine --cat and --frame"); exit(1); } + if(config.flashversion) + master->fileVersion = config.flashversion; tag = master->firstTag; while(tag) @@ -997,6 +1003,17 @@ void normalcombine(SWF*master, char*slave_name, SWF*slave, SWF*newswf) msg(" Slave file attached to object %d.", defineid); } } + } else if(tag->id == ST_SYMBOLCLASS) { + /* a symbolclass tag is like a define tag: it defines id 0000 */ + int num = swf_GetU16(tag); + int t; + for(t=0;tid == ST_PLACEOBJECT2) { char * name = swf_GetName(tag); int id = swf_GetPlaceID(tag); @@ -1051,6 +1068,7 @@ void normalcombine(SWF*master, char*slave_name, SWF*slave, SWF*newswf) } swf_Relocate (slave, masterbitmap); + if(config.merge) swf_RelocateDepth (slave, depthbitmap); jpeg_assert(slave, master);