case ST_SETBACKGROUNDCOLOR:
msg("<debug> deliberately ignoring BACKGROUNDCOLOR tag");
break;
+ case ST_SHOWFRAME:
+ msg("<debug> deliberately ignoring SHOWFRAME tag");
+ break;
+ case ST_REFLEX:
+ msg("<debug> deliberately ignoring REFLEX tag");
+ break;
case 40:
case 49:
case 51:
- msg("<notice> found tag %d. This is a Generator template, isn't it?", tag->id);
+ msg("<notice> found tag %d. This is a Generator template, isn't it?", rtag->id);
break;
default:
- msg("<notice> funny tag: %d is neither defining nor sprite", tag->id);
+ msg("<notice> funny tag: %d is neither defining nor sprite", rtag->id);
}
}
}
int frame = 0;
int sframe = 0;
int slavewritten = 0;
+ int deletedepth = -1;
TAG* rtag = master->firstTag;
TAG* stag = slave->firstTag;
swf_SetBlock(tag, rtag->data, rtag->len);
}
}
- if(frame == slaveframe)
+ if(frame == slaveframe) /* only happens with config.isframe: put slave at specific frame */
{
if(flags&FLAGS_WRITESLAVE) {
outputslave = 1;
if((flags&FLAGS_WRITESPRITE) && !slavewritten)
{
int id = get_free_id(masterbitmap);
- int depth = 0;
+ int depth = 65535;
+ deletedepth = 65536;
if(config.clip) {
msg("<fatal> Can't combine --clip and --frame");
}
rtag->id, rtag->len);
tag = swf_InsertTag(tag, rtag->id);
write_changepos(tag, rtag, config.mastermovex, config.mastermovey, config.masterscalex, config.masterscaley, 1);
+
+ if(rtag->id == ST_SHOWFRAME && deletedepth) {
+ tag = swf_InsertTag(tag, ST_REMOVEOBJECT2);
+ swf_SetU16(tag, deletedepth);
+ deletedepth = -1;
+ }
}
}
rtag = rtag->next;