X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=src%2Fswfc.c;h=57f26f40437d1d73d9366e3909641976c5e62e84;hb=607c5dadd6089768b618cc99346de1b37a2c46f1;hp=cdb227a16d0e301c63a31cde8275afc9cbcc4d63;hpb=fbfa10ba2065713b5b0b6861278fa23e64c22bd3;p=swftools.git diff --git a/src/swfc.c b/src/swfc.c index cdb227a..57f26f4 100644 --- a/src/swfc.c +++ b/src/swfc.c @@ -618,6 +618,7 @@ static void s_endSprite() currentdepth = stack[stackpos].olddepth; instances = stack[stackpos].oldinstances; + tag = swf_InsertTag(tag, ST_SHOWFRAME); tag = swf_InsertTag(tag, ST_END); tag = stack[stackpos].tag; @@ -796,7 +797,7 @@ void s_box(char*name, int width, int height, RGBA color, int linewidth, char*tex tag = swf_InsertTag(tag, ST_DEFINESHAPE3); swf_ShapeNew(&s); if(linewidth) - ls1 = swf_ShapeAddLineStyle(s,linewidth,&color); + ls1 = swf_ShapeAddLineStyle(s,linewidth>=20?linewidth-20:0,&color); if(texture) fs1 = addFillStyle(s, &r2, texture); @@ -834,7 +835,7 @@ void s_filled(char*name, char*outlinename, RGBA color, int linewidth, char*textu tag = swf_InsertTag(tag, ST_DEFINESHAPE3); swf_ShapeNew(&s); if(linewidth) - ls1 = swf_ShapeAddLineStyle(s,linewidth,&color); + ls1 = swf_ShapeAddLineStyle(s,linewidth>=20?linewidth-20:0,&color); if(texture) fs1 = addFillStyle(s, &r2, texture); @@ -869,7 +870,7 @@ void s_circle(char*name, int r, RGBA color, int linewidth, char*texture) tag = swf_InsertTag(tag, ST_DEFINESHAPE3); swf_ShapeNew(&s); if(linewidth) - ls1 = swf_ShapeAddLineStyle(s,linewidth,&color); + ls1 = swf_ShapeAddLineStyle(s,linewidth>=20?linewidth-20:0,&color); if(texture) fs1 = addFillStyle(s, &r2, texture); swf_SetU16(tag,id); @@ -1110,6 +1111,12 @@ void s_sound(char*name, char*filename) samples = (U16*)wav2.data; numsamples = wav2.size/2; free(wav.data); +#ifdef WORDS_BIGENDIAN + /* swap bytes */ + for(t=0;t>8)&0xff | (samples[t]<<8)&0xff00; + } +#endif } tag = swf_InsertTag(tag, ST_DEFINESOUND); @@ -1637,8 +1644,8 @@ int parseTwip(char*str) if(*s<'0' || *s>'9') syntaxerror("Not a coordinate: \"%s\"", str); } - if(l>2 || (l==2 && (dot[1]!='0' || dot[1]!='5'))) { - warning("precision loss: %s converted to twip", str); + if(l>2 || (l==2 && (dot[1]!='0' && dot[1]!='5'))) { + warning("precision loss: %s converted to twip: %s", str, dot); dot[2] = 0; l=2; }