X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=blobdiff_plain;f=src%2Fflash.c;fp=src%2Fflash.c;h=f24b83450710cc31f3cbe28fc15f3d6b883d0d6b;hp=71c14104e0e1377d361d10747d764cb2b018a3db;hb=e39bfdb2351f876f09c34dbf96b673faf54e0094;hpb=bae7e68ac03535a3cfeb4ad88f97b9be71f37565 diff --git a/src/flash.c b/src/flash.c index 71c1410..f24b834 100644 --- a/src/flash.c +++ b/src/flash.c @@ -84,7 +84,7 @@ struct GRADIENT readGRADIENT(int shape) for(t=0;t=3) + if(shape<3) gradient.rgb[t] = readRGB(); else gradient.rgba[t] = readRGBA(); @@ -123,14 +123,14 @@ void writeRECT(u8**pos, struct RECT*r) *pos = writer_getpos(&w); } -struct CXFORM readCXFORM() +struct CXFORM readCXFORM(char alpha) { struct CXFORM c; int bits; c.hasadd=readbit(); c.hasmult=readbit(); bits=getbits(4); - c.alpha = 0; + c.alpha = alpha; if (c.hasmult) { @@ -316,7 +316,7 @@ void placeobject_init (struct PlaceObject*obj, struct swf_tag*tag) obj -> matrix = readMATRIX(); obj -> hascxform = (getinputpos() < &tag->data[tag->length]); if(obj -> hascxform) - obj -> cxform = readCXFORM(); + obj -> cxform = readCXFORM(0); } void placeobject_write (struct PlaceObject*obj, struct writer_t*w) @@ -369,7 +369,7 @@ void placeobject2_init (struct PlaceObject2*obj,struct swf_tag*tag) obj->matrix = readMATRIX(); } if(obj->hascolortransform) { - obj->cxform = readCXFORM(); + obj->cxform = readCXFORM(0); } if(obj->hasratio) { obj->ratio=readu16();