X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fswfc.c;h=9e4d69b6a8da03ae009c2cf7263fcafb5db6edbe;hb=9b7ed00673462ed1846ff03f0e77a5405ad1a50d;hp=db12bd7cd474bf56c78c1b6cc3a4f031eb1491e4;hpb=32db40cde1afee595bf3f8fb500d515da77e22d7;p=swftools.git diff --git a/src/swfc.c b/src/swfc.c index db12bd7..9e4d69b 100644 --- a/src/swfc.c +++ b/src/swfc.c @@ -13,14 +13,12 @@ #include #include #include -#define logf logarithmf // logf is also used by ../lib/log.h #include -#undef logf #include "../config.h" #include "../lib/rfxswf.h" #include "../lib/log.h" #include "../lib/args.h" -#include "q.h" +#include "../lib/q.h" #include "parser.h" #include "wav.h" @@ -1051,11 +1049,18 @@ int parseInt(char*str) } int parseTwip(char*str) { - char*dot = strchr(str, '.'); + char*dot; + int sign=1; + if(str[0]=='+' || str[0]=='-') { + if(str[0]=='-') + sign = -1; + str++; + } + dot = strchr(str, '.'); if(!dot) { int l=strlen(str); int t; - return parseInt(str)*20; + return sign*parseInt(str)*20; } else { int l=strlen(++dot); char*s; @@ -1072,11 +1077,11 @@ int parseTwip(char*str) l=2; } if(l==0) - return atoi(str)*20; + return sign*atoi(str)*20; if(l==1) - return atoi(str)*20+atoi(dot)*2; + return sign*atoi(str)*20+atoi(dot)*2; if(l==2) - return atoi(str)*20+atoi(dot)/5; + return sign*atoi(str)*20+atoi(dot)/5; } return 0; } @@ -1308,6 +1313,10 @@ SPOINT getPoint(SRECT r, char*name) l--; return *(SPOINT*)&mpoints.buffer[l]; } +static int c_gradient(map_t*args) +{ + return 0; +} static int c_point(map_t*args) { char*name = lu(args, "name"); @@ -1724,6 +1733,11 @@ static struct { {"font", c_font, "name filename"}, {"soundtrack", c_soundtrack, "filename"}, + // generators of primitives + + {"point", c_point, "name x=0 y=0"}, + {"gradient", c_gradient, "name"}, + // character generators {"box", c_primitive, "name width height color=white line=1 @fill=none"}, {"circle", c_primitive, "name r color=white line=1 @fill=none"}, @@ -1750,7 +1764,6 @@ static struct { // virtual object placement {"buttonput", c_buttonput, " x=0 y=0 red=+0 green=+0 blue=+0 alpha=+0 luminance= scale= scalex=100% scaley=100% shear=0 rotate=0 above= below="}, {"texture", c_texture, " x=0 y=0 scale= scalex=100% scaley=100% shear=0 rotate=0"}, - {"point", c_point, "name x=0 y=0"}, // commands which start a block //startclip (see above)