From: kramm Date: Mon, 10 Feb 2003 01:22:17 +0000 (+0000) Subject: implemented relative frames. X-Git-Tag: release-0-4-4~103 X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=commitdiff_plain;h=b3635a1f4b060ad0ad167301d90596a29821b0fd implemented relative frames. --- diff --git a/src/swfc.c b/src/swfc.c index 23f632f..064261e 100644 --- a/src/swfc.c +++ b/src/swfc.c @@ -856,7 +856,7 @@ void s_change(char*instance, parameters_t p2) p1 = i->parameters; allframes = currentframe - i->lastFrame - 1; - if(!allframes) { + if(allframes < 0) { warning(".change ignored. can only .put/.change an object once per frame."); return; } @@ -1479,9 +1479,11 @@ static int c_frame(map_t*args) { char*framestr = lu(args, "n"); int frame; - if(framestr[0]=='+') { + if(isRelative(framestr)) { frame = s_getframe(); - frame += parseInt(framestr+1); + if(getSign(framestr)<0) + syntaxerror("relative frame expressions must be positive"); + frame += parseInt(getOffset(framestr)); } else { frame = parseInt(framestr); @@ -1601,7 +1603,7 @@ static struct { char*arguments; } arguments[] = {{"swf", c_swf, "bbox=autocrop version=5 fps=50 name=!default! @compress=default"}, - {"frame", c_frame, "n=+1"}, + {"frame", c_frame, "n=1"}, // "import" type stuff {"shape", c_shape, "name filename"},