// Matrix & Math tools for SWF files
+#include "../rfxswf.h"
+
#define S64 long long
SFIXED RFXSWF_SP(SFIXED a1,SFIXED a2,SFIXED b1,SFIXED b2)
{ S64 a = ((S64)a1*(S64)b1+(S64)a2*(S64)b2)>>16;
/* I never saw recursive sprites, but they are (theoretically)
possible, so better add base here again */
enumerateUsedIDs(tag2, tag->pos + base, callback, callback_data);
- swf_DeleteTag(tag2);
+ swf_DeleteTag(0, tag2);
swf_GetBlock(tag, NULL, len);
}
}
/* we found two identical tags- remap one
of them */
remap[id] = swf_GetDefineID(tag2);
- swf_DeleteTag(tag);
- if(tag == swf->firstTag)
- swf->firstTag = next;
+ swf_DeleteTag(swf, tag);
}
} else if(swf_isPseudoDefiningTag(tag)) {
int id = swf_GetDefineID(tag);
/* if this tag was remapped, we don't
need the helper tag anymore. Discard
it. */
- swf_DeleteTag(tag);
- if(tag == swf->firstTag)
- swf->firstTag = next;
+ swf_DeleteTag(swf, tag);
}
}