X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=blobdiff_plain;f=src%2Fswfcombine.c;h=7daec9c8a1ad2ff20875e6712addde081ea7ef64;hp=7ada69b5ac6bcd75d80af2d59ce624bd6d207001;hb=2391d7ae5d8a145a250a8b80ab8c93ba74eba030;hpb=8978b24a969f73518ecde87b24d972c7030e91f6 diff --git a/src/swfcombine.c b/src/swfcombine.c index 7ada69b..7daec9c 100644 --- a/src/swfcombine.c +++ b/src/swfcombine.c @@ -42,6 +42,8 @@ struct config_t char isframe; char local_with_networking; char local_with_filesystem; + char accelerated_blit; + char hardware_gpu; int loglevel; int sizex; char hassizex; @@ -184,6 +186,16 @@ int args_callback_option(char*name,char*val) { config.local_with_filesystem = 1; return 0; } + else if (!strcmp(name, "B")) + { + config.accelerated_blit = 1; + return 0; + } + else if (!strcmp(name, "G")) + { + config.hardware_gpu = 1; + return 0; + } else if (!strcmp(name, "t") || !strcmp(name, "T")) { if(master_filename) { @@ -212,12 +224,12 @@ static struct options_t options[] = { {"o", "output"}, {"t", "stack"}, {"T", "stack1"}, -{"F", "version"}, {"m", "merge"}, {"a", "cat"}, {"l", "overlay"}, {"c", "clip"}, {"v", "verbose"}, +{"F", "flashversion"}, {"d", "dummy"}, {"f", "frame"}, {"x", "movex"}, @@ -227,6 +239,8 @@ static struct options_t options[] = { {"X", "width"}, {"Y", "height"}, {"N", "local-with-networking"}, +{"G", "hardware-gpu"}, +{"B", "accelerated-blit"}, {"L", "local-with-filesystem"}, {"z", "zlib"}, {0,0} @@ -297,15 +311,18 @@ void args_callback_usage(char *name) printf("-l , --overlay Don't remove any master objects, only overlay new objects\n"); printf("-c , --clip Clip the slave objects by the corresponding master objects\n"); printf("-v , --verbose Be verbose. Use more than one -v for greater effect \n"); + printf("-F , --flashversion Set the flash version of the output file.\n"); printf("-d , --dummy Don't require slave objects (for changing movie attributes)\n"); printf("-f , --frame The following identifier is a frame or framelabel, not an id or objectname\n"); printf("-x , --movex x Adjust position of slave by pixels\n"); printf("-y , --movey y Adjust position of slave by pixels\n"); - printf("-s , --scale Adjust size of slave by percent (e.g. 100% = original size)\n"); + printf("-s , --scale Adjust size of slave by percent (e.g. 100%% = original size)\n"); printf("-r , --rate Set movie framerate to (frames/sec)\n"); printf("-X , --width Force movie bbox width to (default: use master width (not with -t))\n"); printf("-Y , --height Force movie bbox height to (default: use master height (not with -t))\n"); printf("-N , --local-with-networking Make output file \"local-with-networking\"\n"); + printf("-G , --hardware-gpu Set the \"use hardware gpu\" bit in the output file\n"); + printf("-B , --accelerated-blit Set the \"use accelerated blit\" bit in the output file\n"); printf("-L , --local-with-filesystem Make output file \"local-with-filesystem\"\n"); printf("-z , --zlib Enable Flash 6 (MX) Zlib Compression\n"); printf("\n"); @@ -1003,6 +1020,18 @@ void normalcombine(SWF*master, char*slave_name, SWF*slave, SWF*newswf) msg(" Slave file attached to object %d.", defineid); } } + } else if(tag->id == ST_EXPORTASSETS) { + int t; + int num = swf_GetU16(tag); + for(t=0;t Slave file attached to object %d exported as %s.", id, name); + } + } } else if(tag->id == ST_SYMBOLCLASS) { /* a symbolclass tag is like a define tag: it defines id 0000 */ int num = swf_GetU16(tag); @@ -1339,6 +1368,10 @@ int main(int argn, char *argv[]) newswf.fileAttributes &= ~FILEATTRIBUTE_USENETWORK; if(config.local_with_networking) newswf.fileAttributes |= FILEATTRIBUTE_USENETWORK; + if(config.accelerated_blit) + newswf.fileAttributes |= FILEATTRIBUTE_USEACCELERATEDBLIT; + if(config.hardware_gpu) + newswf.fileAttributes |= FILEATTRIBUTE_USEHARDWAREGPU; fi = open(outputname, O_BINARY|O_RDWR|O_TRUNC|O_CREAT, 0777); @@ -1352,6 +1385,7 @@ int main(int argn, char *argv[]) swf_WriteSWF(fi, &newswf); } close(fi); - return 0; + + return 0; //ok }