From: kramm Date: Sat, 27 Oct 2001 18:27:49 +0000 (+0000) Subject: fixed DEFINETEXT relocating X-Git-Tag: release-0-1-0~122 X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=commitdiff_plain;h=bc686910f5bbc06ee9f2c891172fd2ffb48ac445 fixed DEFINETEXT relocating --- diff --git a/src/reloc.c b/src/reloc.c index f3243a3..1582521 100644 --- a/src/reloc.c +++ b/src/reloc.c @@ -124,22 +124,25 @@ void map_ids_mem(u8*mem, int length) num ++; case TAGID_DEFINETEXT: { int glyphbits, advancebits; + int id; reader_init (newtag->data, newtag->length); - readu16(); //id + id = readu16(); //id readRECT(); //bounding box readMATRIX(); //matrix resetbits(); glyphbits = readu8(); //glyphbits advancebits = readu8(); //advancebits while(1) { - u16 flags = getbits(8); + u16 flags; + resetbits(); + flags = getbits(8); if(!flags) break; if(flags & 128) // text style record { + resetbits(); if(flags & 8) { // hasfont maponeid(getinputpos()); - resetbits(); - readu16(); + id = readu16(); } if(flags & 4) { // hascolor if(num==1) readRGB(); @@ -158,9 +161,12 @@ void map_ids_mem(u8*mem, int length) readu16(); } } else { // glyph record - getbits(glyphbits); - getbits(advancebits); - break; + int t; + resetbits(); + for(t=0;t