X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fswfcombine.c;h=b1b0d693d90fcc20c227f1c9c9e839847e84e598;hb=7aa5bab2ae7418257e93530948bee3a04f1c15c3;hp=aae3e51ad35f630a6fe5d00d1a9b625028967ce4;hpb=49d4c54ec9563c28b0cf97add1e8e86a954d3bbc;p=swftools.git diff --git a/src/swfcombine.c b/src/swfcombine.c index aae3e51..b1b0d69 100644 --- a/src/swfcombine.c +++ b/src/swfcombine.c @@ -1034,6 +1034,9 @@ void combine(SWF*master, char*slave_name, SWF*slave, SWF*newswf) slaveid = -1; slaveframe = -1; + if(!master->fileVersion && slave) + master->fileVersion = slave->fileVersion; + swf_FoldAll(master); swf_FoldAll(slave); @@ -1045,16 +1048,19 @@ void combine(SWF*master, char*slave_name, SWF*slave, SWF*newswf) if(config.isframe) { - int tmp; - if(slavename && slavename[0]!='#' && (sscanf(slavename, "%d", &tmp) == - strlen(slavename))) { - /* if the name the slave should replace - consists only of digits and the -f - option is given, it probably is not - a frame name but a frame number. - */ - slaveid = tmp; - slavename = 0; + if(slavename && slavename[0]!='#') { + int tmp; + int len; + sscanf(slavename, "%d%n", &tmp, &len); + if(len == strlen(slavename)) { + /* if the name the slave should replace + consists only of digits and the -f + option is given, it probably is not + a frame name but a frame number. + */ + slaveid = tmp; + slavename = 0; + } } if(slaveid>=0) { @@ -1125,6 +1131,11 @@ int main(int argn, char *argv[]) msg(" Can't combine --cat and --merge"); exit(1); } + + if(config.stack && config.cat) { + msg(" Can't combine --cat and --stack"); + exit(1); + } if(config.stack) { if(config.overlay) { @@ -1227,15 +1238,24 @@ int main(int argn, char *argv[]) memset(&slave, 0, sizeof(slave)); slave.firstTag = swf_InsertTag(0, ST_END); slave.frameRate = 0; - slave.fileVersion = 4; + slave.fileVersion = 0; slave.frameCount = 0; } combine(&master, slave_name[t], &slave, &newswf); master = newswf; } + if(config.dummy && !config.hassizex && !config.hassizey && !config.mastermovex && !config.mastermovey) { + newswf.movieSize.xmin = newswf.movieSize.xmin*config.masterscalex; + newswf.movieSize.ymin = newswf.movieSize.ymin*config.masterscaley; + newswf.movieSize.xmax = newswf.movieSize.xmax*config.masterscalex; + newswf.movieSize.ymax = newswf.movieSize.ymax*config.masterscaley; + } } + if(!newswf.fileVersion) + newswf.fileVersion = 4; + fi = open(outputname, O_BINARY|O_RDWR|O_TRUNC|O_CREAT, 0777); if(config.zlib) {