git.asbjorn.biz
/
swftools.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
9f49cc6
)
allow ids instead of names.
author
kramm
<kramm>
Thu, 29 Nov 2001 19:15:06 +0000
(19:15 +0000)
committer
kramm
<kramm>
Thu, 29 Nov 2001 19:15:06 +0000
(19:15 +0000)
src/combine.c
patch
|
blob
|
history
diff --git
a/src/combine.c
b/src/combine.c
index
9530bb7
..
7b7423c
100644
(file)
--- a/
src/combine.c
+++ b/
src/combine.c
@@
-20,6
+20,7
@@
// * readers should be object-oriented
static char* slavename;
// * readers should be object-oriented
static char* slavename;
+static int slaveid;
static char* tag_placeobject2_name (struct swf_tag* tag)
{
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);
startpos = (u8*)writer_getpos(w);
- if (spriteid<0)
- {
- logf("<warning> Didn't find anything named %s in file. No substitutions will occur.", slavename);
- spriteid = get_free_id();
- }
-
logf ("<notice> sprite id is %d", spriteid);
tmp = spriteid;
writer_write(w, &tmp, 2);
logf ("<notice> 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;
char master_flash = 0;
char slave_flash = 0;
slavename = _slavename;
+ if(slavename[0] == '#')
+ {
+ slaveid = atoi(&slavename[1]);
+ slavename = 0;
+ }
logf("<debug> move x (%d)", config.movex);
logf("<debug> move y (%d)", config.movey);
logf("<debug> move x (%d)", config.movex);
logf("<debug> move y (%d)", config.movey);
@@
-417,7
+417,8
@@
uchar * combine(uchar*masterdata, int masterlength, char*_slavename, uchar*slave
else
logf("<verbose> tagid %02x places object %d (no name)", tag, id);
else
logf("<verbose> 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("<notice> Slave file attached to object %d.", id);
if(id>=0) {
spriteid = id;
logf("<notice> 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);
}
while(master.tags[pos++].id != 0);
+ if (spriteid<0)
+ {
+ if(slavename)
+ logf("<warning> Didn't find anything named %s in file. No substitutions will occur.", slavename);
+ else
+ logf("<warning> 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);
swf_relocate (slavedata, slavelength, masterids);
read_swf(&slave, slavedata, slavelength);