From: kramm Date: Thu, 29 Nov 2001 19:15:06 +0000 (+0000) Subject: allow ids instead of names. X-Git-Tag: release-0-2-1~87 X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=commitdiff_plain;h=784278e65a5860c5069019bd4eece0c67c491153 allow ids instead of names. --- diff --git a/src/combine.c b/src/combine.c index 9530bb7..7b7423c 100644 --- a/src/combine.c +++ b/src/combine.c @@ -20,6 +20,7 @@ // * readers should be object-oriented static char* slavename; +static int slaveid; static char* tag_placeobject2_name (struct swf_tag* tag) { @@ -205,12 +206,6 @@ void write_sprite(struct writer_t*w, int spriteid, int replaceddefine) startpos = (u8*)writer_getpos(w); - if (spriteid<0) - { - logf(" Didn't find anything named %s in file. No substitutions will occur.", slavename); - spriteid = get_free_id(); - } - logf (" sprite id is %d", spriteid); tmp = spriteid; writer_write(w, &tmp, 2); @@ -340,6 +335,11 @@ uchar * combine(uchar*masterdata, int masterlength, char*_slavename, uchar*slave char master_flash = 0; char slave_flash = 0; slavename = _slavename; + if(slavename[0] == '#') + { + slaveid = atoi(&slavename[1]); + slavename = 0; + } logf(" move x (%d)", config.movex); logf(" move y (%d)", config.movey); @@ -417,7 +417,8 @@ uchar * combine(uchar*masterdata, int masterlength, char*_slavename, uchar*slave else logf(" tagid %02x places object %d (no name)", tag, id); - if (name && !strcmp(name,slavename)) { + if ((name && slavename && !strcmp(name,slavename)) || + (!slavename && id==slaveid)) { if(id>=0) { spriteid = id; logf(" Slave file attached to object %d.", id); @@ -427,6 +428,15 @@ uchar * combine(uchar*masterdata, int masterlength, char*_slavename, uchar*slave } while(master.tags[pos++].id != 0); + if (spriteid<0) + { + if(slavename) + logf(" Didn't find anything named %s in file. No substitutions will occur.", slavename); + else + logf(" Didn't find id %d in file. No substitutions will occur.", slaveid); + spriteid = get_free_id(); + } + swf_relocate (slavedata, slavelength, masterids); read_swf(&slave, slavedata, slavelength);