static void freeDictionaries()
{
- dict_free_all(&instances, free_instance);
- dict_free_all(&characters, free);
- dict_free_all(&images, free);
- dict_free_all(&textures, free);
- dict_free_all(&outlines, free_outline);
- dict_free_all(&gradients, free_gradient);
- dict_free_all(&filters, free);
- dict_free_all(&fonts, free_font);
- dict_free_all(&sounds, free);
- dict_free_all(&interpolations, free);
+ dict_free_all(&instances, 1, free_instance);
+ dict_free_all(&characters, 1, free);
+ dict_free_all(&images, 1, free);
+ dict_free_all(&textures, 1, free);
+ dict_free_all(&outlines, 1, free_outline);
+ dict_free_all(&gradients, 1, free_gradient);
+ dict_free_all(&filters, 1, free);
+ dict_free_all(&fonts, 1, free_font);
+ dict_free_all(&sounds, 1, free);
+ dict_free_all(&interpolations, 1, free);
cleanUp = 0;
}
static void freeFontDictionary()
{
- dict_free_all(&fonts, free_font);
+ dict_free_all(&fonts, 1, free_font);
}
static void incrementid()
swf->compressed = compress;
swf_SetRGB(tag,&background);
- dict_init(&characters);
- dict_init(&images);
- dict_init(&textures);
- dict_init(&outlines);
- dict_init(&gradients);
- dict_init(&filters);
- dict_init(&instances);
- dict_init(&sounds);
- dict_init(&interpolations);
+ dict_init(&characters, 16);
+ dict_init(&images, 16);
+ dict_init(&textures, 16);
+ dict_init(&outlines, 16);
+ dict_init(&gradients, 16);
+ dict_init(&filters, 16);
+ dict_init(&instances, 16);
+ dict_init(&sounds, 16);
+ dict_init(&interpolations, 16);
initBuiltIns();
cleanUp = &freeDictionaries;
}
/* FIXME: those four fields should be bundled together */
- dict_init(&instances);
+ dict_init(&instances, 16);
currentframe = 0;
currentdepth = 1;
memset(¤trect, 0, sizeof(currentrect));
syntaxerror("internal error(7)");
/* TODO: before clearing, prepend "<spritename>." to names and
copy into old instances dict */
- dict_free_all(&instances, free_instance);
+ dict_free_all(&instances, 1, free_instance);
currentframe = stack[stackpos].oldframe;
currentrect = stack[stackpos].oldrect;
const char*value = lu(args, "value");
if(!defines_initialized) {
- dict_init(&defines);
+ dict_init(&defines, 16);
mem_init(&define_values);
defines_initialized = 1;
}
int pos;
SPOINT p;
if(!points_initialized) {
- dict_init(&points);
+ dict_init(&points, 16);
mem_init(&mpoints);
points_initialized = 1;
}
else
{
SWFFONT* font = dict_lookup(&fonts, lu(&args, "font"));
- if (!font)
- syntaxerror("font %s is not known in line %d", lu(&args, "font"), line);
- else
+ if (!font) {
+ //that's ok... it might be an edittext with a system font
+ //syntaxerror("font %s is not known in line %d", lu(&args, "font"), line);
+ } else
if (font->use && !font->use->glyphs_specified)
{
if (!strcmp(command, "edittext"))
{
pos = 0;
id = 0;
- dict_init(&fonts);
+ dict_init(&fonts, 16);
cleanUp = &freeFontDictionary;
findFontUsage();
}