+void dumpButton(TAG*tag, char*prefix)
+{
+ swf_SetTagPos(tag, 0);
+ swf_GetU16(tag); // id
+ while (1) {
+ U8 flags = swf_GetU8(tag);
+ if(!flags)
+ break;
+ U16 id = swf_GetU16(tag);
+ U16 depth = swf_GetU16(tag);
+ char event[80];
+ sprintf(event, "%s%s%s%s",
+ (flags&BS_HIT)?"[hit]":"",
+ (flags&BS_DOWN)?"[down]":"",
+ (flags&BS_OVER)?"[over]":"",
+ (flags&BS_UP)?"[up]":"");
+ if(flags&0xf0) {
+ printf("%s | Show %d at depth %d for %s flags=%02x\n", prefix, id, depth, event, flags);
+ } else {
+ printf("%s | Show %d at depth %d for %s\n", prefix, id, depth, event);
+ }
+ swf_GetMatrix(tag,NULL); // matrix
+ }
+}
+