X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=src%2Freloc.c;h=3ccc519acba587eb54328c76d43fd519f7f4cf09;hb=a95a710319a8cc07d0a9c0c4e1917c754ac70271;hp=56831aae81c6b76bd2bdddfef413ab0efd0ad954;hpb=84e6f542c48dba5797b5dbe3679ab0dd22f0c3b0;p=swftools.git diff --git a/src/reloc.c b/src/reloc.c index 56831aa..3ccc519 100644 --- a/src/reloc.c +++ b/src/reloc.c @@ -46,6 +46,37 @@ void map_ids_mem(u8*mem, int length) switch(newtag->id) { + case TAGID_DEFINEBUTTONCXFORM: { + int t; + maponeid(&newtag->data[0]); //button id + reader_init (newtag->data, newtag->length); + for(t=0;t<4;t++) { + int flags; + maponeid(&newtag->data[0]); + readu16(); //sound id + flags = readu8(); + if(flags&1) + readu32(); // in point + if(flags&2) + readu32(); // out points + if(flags&4) + readu16(); // loop count + if(flags&8) + { + int npoints = readu8(); + int s; + for(s=0;sdata[0]); //button id + break; case TAGID_PLACEOBJECT: maponeid(&newtag->data[0]); break; @@ -129,6 +160,7 @@ void map_ids_mem(u8*mem, int length) reader_init (newtag->data, newtag->length); id = readu16(); //id readRECT(); //bounding box + resetbits(); readMATRIX(); //matrix resetbits(); glyphbits = readu8(); //glyphbits @@ -211,6 +243,7 @@ void map_ids_mem(u8*mem, int length) } if(type == 0x10 || type == 0x12) { + resetbits(); readMATRIX(); resetbits(); readGRADIENT(num);