git.asbjorn.biz
/
swftools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed bug in edittext
[swftools.git]
/
lib
/
modules
/
swftools.c
diff --git
a/lib/modules/swftools.c
b/lib/modules/swftools.c
index
2a6e542
..
a1befc2
100644
(file)
--- a/
lib/modules/swftools.c
+++ b/
lib/modules/swftools.c
@@
-86,15
+86,16
@@
U16 swf_GetDefineID(TAG * t)
case ST_DEFINEBITSLOSSLESS2:
case ST_DEFINEBUTTON:
case ST_DEFINEBUTTON2:
case ST_DEFINEBITSLOSSLESS2:
case ST_DEFINEBUTTON:
case ST_DEFINEBUTTON2:
- case ST_DEFINEBUTTONCXFORM:
- case ST_DEFINEBUTTONSOUND:
+ case ST_DEFINEBUTTONCXFORM: //pseudodefine
+ case ST_DEFINEBUTTONSOUND: //pseudodefine
case ST_DEFINEFONT:
case ST_DEFINEFONT2:
case ST_DEFINEFONT:
case ST_DEFINEFONT2:
- case ST_DEFINEFONTINFO:
+ case ST_DEFINEFONTINFO: //pseudodefine
case ST_DEFINETEXT:
case ST_DEFINETEXT2:
case ST_DEFINESOUND:
case ST_DEFINESPRITE:
case ST_DEFINETEXT:
case ST_DEFINETEXT2:
case ST_DEFINESOUND:
case ST_DEFINESPRITE:
+ case ST_NAMECHARACTER: //pseudodefine
id = swf_GetU16(t);
break;
}
id = swf_GetU16(t);
break;
}
@@
-172,6
+173,15
@@
static int swf_spritetagids[] =
-1
};
-1
};
+static int swf_pseudodefiningtagids[] =
+{
+ ST_DEFINEFONTINFO,
+ ST_DEFINEBUTTONCXFORM,
+ ST_DEFINEBUTTONSOUND,
+ ST_NAMECHARACTER,
+ -1
+};
+
U8 swf_isAllowedSpriteTag(TAG * tag)
{
int id = tag->id;
U8 swf_isAllowedSpriteTag(TAG * tag)
{
int id = tag->id;
@@
-198,6
+208,19
@@
U8 swf_isDefiningTag(TAG * tag)
return 0;
}
return 0;
}
+U8 swf_isPseudoDefiningTag(TAG * tag)
+{
+ int id = tag->id;
+ int t=0;
+ while(swf_pseudodefiningtagids[t]>=0)
+ {
+ if(swf_pseudodefiningtagids[t] == id)
+ return 1;
+ t++;
+ }
+ return 0;
+}
+
U16 swf_GetDepth(TAG * t)
// up to SWF 4.0
{
U16 swf_GetDepth(TAG * t)
// up to SWF 4.0
{