TAG*save = from->prev;
while(from!=to) {
TAG*next = from->next;
- swf_DeleteTag(from);
+ if(swf_isAllowedSpriteTag(from))
+ swf_DeleteTag(from);
from = next;
}
save->next = 0;
{
SRECT r = currentrect;
- if(stack[stackpos].cut)
- tag = removeFromTo(stack[stackpos].cut, tag);
-
stackpos--;
instance_t *i;
stringarray_t* index =dictionary_index(&instances);
writeInstance(i);
}
}
+
+ if(stack[stackpos].cut)
+ tag = removeFromTo(stack[stackpos].cut, tag);
+
+ // the writeInstance loop above may have inserted tags after what used yo be the current tag,
+ // so let's make sure 'tag' point to the current tag again.
while (tag->next)
tag = tag->next;
swf = stack[stackpos].swf;
filename = stack[stackpos].filename;
+ // the writeInstance loop above may have inserted tags after what used yo be the current tag,
+ // so let's make sure 'tag' point to the current tag again.
+ while (tag->next)
+ tag = tag->next;
+
//if(tag->prev && tag->prev->id != ST_SHOWFRAME)
// tag = swf_InsertTag(tag, ST_SHOWFRAME);
tag = swf_InsertTag(tag, ST_SHOWFRAME);
char*p = str;
int val = 0;
char ex = 0;
- char*lastpos = str;
+ char*lastpos = 0;
while(*p) {
if(*p == '+' || *p == '-' || *p == '/' || *p == '*')
ex = *p;
v = parseRawTwip(lastpos);
}
*p = save;
+ printf("%f %c= %f\n", val/20.0, ex, v/20.0);
if(ex == '+')
val += v;
else if(ex == '-')
lastpos = 0;
}
}
+ printf("%s -> %.2f\n", str, val/20.0);
return val;
}