mirror of
https://github.com/BlackMATov/unity-flash-tools.git
synced 2025-12-16 22:19:31 +07:00
exporter optimizer twicks
This commit is contained in:
@@ -34,7 +34,7 @@ if (!Function.prototype.bind) {
|
|||||||
|
|
||||||
var ft = {
|
var ft = {
|
||||||
profile_mode : false,
|
profile_mode : false,
|
||||||
verbose_mode : true,
|
verbose_mode : false,
|
||||||
optimize_static_items : true,
|
optimize_static_items : true,
|
||||||
optimize_single_graphics : true
|
optimize_single_graphics : true
|
||||||
};
|
};
|
||||||
@@ -91,9 +91,10 @@ if (!Function.prototype.bind) {
|
|||||||
}
|
}
|
||||||
var stack_index = ft.profile_function_stack.length;
|
var stack_index = ft.profile_function_stack.length;
|
||||||
ft.profile_function_stack.push({
|
ft.profile_function_stack.push({
|
||||||
msg : msg,
|
msg: msg,
|
||||||
level : ft.profile_function_level,
|
level: ft.profile_function_level,
|
||||||
time : 0});
|
time: 0
|
||||||
|
});
|
||||||
++ft.profile_function_level;
|
++ft.profile_function_level;
|
||||||
var func_time = ft.get_call_function_time(func);
|
var func_time = ft.get_call_function_time(func);
|
||||||
--ft.profile_function_level;
|
--ft.profile_function_level;
|
||||||
@@ -120,7 +121,7 @@ if (!Function.prototype.bind) {
|
|||||||
func();
|
func();
|
||||||
} finally {
|
} finally {
|
||||||
var e_time = Date.now();
|
var e_time = Date.now();
|
||||||
return (e_time - b_time)/1000;
|
return (e_time - b_time) / 1000;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -132,11 +133,11 @@ if (!Function.prototype.bind) {
|
|||||||
ft.escape_string = function (str) {
|
ft.escape_string = function (str) {
|
||||||
ft.type_assert(str, 'string');
|
ft.type_assert(str, 'string');
|
||||||
return str
|
return str
|
||||||
.replace(/\&/g, '&' )
|
.replace(/\&/g, '&')
|
||||||
.replace(/\"/g, '"')
|
.replace(/\"/g, '"')
|
||||||
.replace(/\'/g, ''')
|
.replace(/\'/g, ''')
|
||||||
.replace(/</g, '<' )
|
.replace(/</g, '<')
|
||||||
.replace(/>/g, '>' );
|
.replace(/>/g, '>');
|
||||||
};
|
};
|
||||||
|
|
||||||
ft.combine_path = function (lhs, rhs) {
|
ft.combine_path = function (lhs, rhs) {
|
||||||
@@ -171,7 +172,7 @@ if (!Function.prototype.bind) {
|
|||||||
var new_arr = [];
|
var new_arr = [];
|
||||||
for (var index = 0; index < arr.length; ++index) {
|
for (var index = 0; index < arr.length; ++index) {
|
||||||
var value = arr[index];
|
var value = arr[index];
|
||||||
if ( filter(value, index) ) {
|
if (filter(value, index)) {
|
||||||
new_arr.push(value);
|
new_arr.push(value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -202,7 +203,7 @@ if (!Function.prototype.bind) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
ft.gen_unique_name = function() {
|
ft.gen_unique_name = function () {
|
||||||
if (!ft.gen_unique_name_index) {
|
if (!ft.gen_unique_name_index) {
|
||||||
ft.gen_unique_name_index = 0;
|
ft.gen_unique_name_index = 0;
|
||||||
}
|
}
|
||||||
@@ -244,6 +245,7 @@ if (!Function.prototype.bind) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
ftdoc.full_exit_edit_mode = function (doc) {
|
ftdoc.full_exit_edit_mode = function (doc) {
|
||||||
|
ft.type_assert(doc, Document);
|
||||||
for (var i = 0; i < 100; ++i) {
|
for (var i = 0; i < 100; ++i) {
|
||||||
doc.exitEditMode();
|
doc.exitEditMode();
|
||||||
}
|
}
|
||||||
@@ -258,12 +260,12 @@ if (!Function.prototype.bind) {
|
|||||||
ftdoc.optimize_all_timelines = function (doc) {
|
ftdoc.optimize_all_timelines = function (doc) {
|
||||||
ft.type_assert(doc, Document);
|
ft.type_assert(doc, Document);
|
||||||
if (ft.optimize_static_items) {
|
if (ft.optimize_static_items) {
|
||||||
ft.profile_function(function() {
|
ft.profile_function(function () {
|
||||||
ftlib.optimize_static_items(doc, doc.library);
|
ftlib.optimize_static_items(doc, doc.library);
|
||||||
}, "Optimize static items");
|
}, "Optimize static items");
|
||||||
}
|
}
|
||||||
if (ft.optimize_single_graphics) {
|
if (ft.optimize_single_graphics) {
|
||||||
ft.profile_function(function() {
|
ft.profile_function(function () {
|
||||||
ftlib.optimize_single_graphics(doc, doc.library);
|
ftlib.optimize_single_graphics(doc, doc.library);
|
||||||
}, "Optimize single graphics");
|
}, "Optimize single graphics");
|
||||||
}
|
}
|
||||||
@@ -314,6 +316,18 @@ if (!Function.prototype.bind) {
|
|||||||
return item.itemType == "graphic" || item.itemType == "movie clip";
|
return item.itemType == "graphic" || item.itemType == "movie clip";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ftlib.find_item_by_name = function (library, item_name) {
|
||||||
|
ft.type_assert(library, Library);
|
||||||
|
ft.type_assert(item_name, 'string');
|
||||||
|
for (var i = 0; i < library.items.length; ++i) {
|
||||||
|
var item = library.items[i];
|
||||||
|
if (item.name == item_name) {
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
};
|
||||||
|
|
||||||
ftlib.edit_all_items = function (doc, library, func, filter) {
|
ftlib.edit_all_items = function (doc, library, func, filter) {
|
||||||
ft.type_assert(doc, Document);
|
ft.type_assert(doc, Document);
|
||||||
ft.type_assert(library, Library);
|
ft.type_assert(library, Library);
|
||||||
@@ -332,12 +346,12 @@ if (!Function.prototype.bind) {
|
|||||||
ft.type_assert(library, Library);
|
ft.type_assert(library, Library);
|
||||||
ft.type_assert(func, Function);
|
ft.type_assert(func, Function);
|
||||||
ftlib.edit_all_items(doc, library, func, ftlib.is_symbol_item);
|
ftlib.edit_all_items(doc, library, func, ftlib.is_symbol_item);
|
||||||
}
|
};
|
||||||
|
|
||||||
ftlib.unlock_all_timelines = function (doc, library) {
|
ftlib.unlock_all_timelines = function (doc, library) {
|
||||||
ft.type_assert(doc, Document);
|
ft.type_assert(doc, Document);
|
||||||
ft.type_assert(library, Library);
|
ft.type_assert(library, Library);
|
||||||
ftlib.edit_all_symbol_items(doc, library, function(item) {
|
ftlib.edit_all_symbol_items(doc, library, function (item) {
|
||||||
fttim.unlock(item.timeline);
|
fttim.unlock(item.timeline);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@@ -349,16 +363,21 @@ if (!Function.prototype.bind) {
|
|||||||
var replaces = {};
|
var replaces = {};
|
||||||
ft.array_reverse_foreach(library.items, function (item) {
|
ft.array_reverse_foreach(library.items, function (item) {
|
||||||
var new_item_name = ft.gen_unique_name();
|
var new_item_name = ft.gen_unique_name();
|
||||||
ftlib.bake_symbol_item(doc, library, item.name, new_item_name, 0);
|
if (ftlib.bake_symbol_item(doc, library, item.name, new_item_name, 0)) {
|
||||||
replaces[item.name] = new_item_name;
|
replaces[item.name] = new_item_name;
|
||||||
if (ft.verbose_mode) {
|
if (ft.verbose_mode) {
|
||||||
ft.trace_fmt("Optimize static item: '{0}'", item.name);
|
ft.trace_fmt("Optimize static item: '{0}'", item.name);
|
||||||
}
|
}
|
||||||
}, function(item) {
|
} else {
|
||||||
|
if (ft.verbose_mode) {
|
||||||
|
ft.trace_fmt("NOT Optimize static item: '{0}'", item.name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, function (item) {
|
||||||
return ftlib.is_symbol_item(item) && fttim.is_static(item.timeline);
|
return ftlib.is_symbol_item(item) && fttim.is_static(item.timeline);
|
||||||
});
|
});
|
||||||
|
|
||||||
ftlib.edit_all_symbol_items(doc, library, function(item) {
|
ftlib.edit_all_symbol_items(doc, library, function (item) {
|
||||||
fttim.replace_baked_symbols(doc, item.timeline, replaces);
|
fttim.replace_baked_symbols(doc, item.timeline, replaces);
|
||||||
});
|
});
|
||||||
fttim.replace_baked_symbols(doc, doc.getTimeline(), replaces);
|
fttim.replace_baked_symbols(doc, doc.getTimeline(), replaces);
|
||||||
@@ -371,20 +390,50 @@ if (!Function.prototype.bind) {
|
|||||||
ft.type_assert(new_item_name, 'string');
|
ft.type_assert(new_item_name, 'string');
|
||||||
ft.type_assert(first_frame, 'number');
|
ft.type_assert(first_frame, 'number');
|
||||||
|
|
||||||
if (!library.itemExists(new_item_name)) {
|
if (library.itemExists(new_item_name)) {
|
||||||
library.addNewItem("graphic", new_item_name);
|
return true;
|
||||||
if (library.editItem(new_item_name)) {
|
}
|
||||||
if (library.addItemToDocument({x:0, y:0}, item_name)) {
|
|
||||||
|
var item = ftlib.find_item_by_name(library, item_name);
|
||||||
|
if (!item) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
var item_frame_area = fttim.calculate_frame_area(item.timeline, first_frame);
|
||||||
|
var item_elems_area = fttim.calculate_elems_area(item.timeline, first_frame);
|
||||||
|
|
||||||
|
if (ft.verbose_mode) {
|
||||||
|
ft.trace_fmt(
|
||||||
|
"Library item: '{0}'\n- frame area: {1}\n- elems area: {2}",
|
||||||
|
item_name, item_frame_area, item_elems_area);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item_frame_area >= item_elems_area) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!library.addNewItem("graphic", new_item_name)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!library.editItem(new_item_name)) {
|
||||||
|
library.deleteItem(new_item_name);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (library.addItemToDocument({x: 0, y: 0}, item_name)) {
|
||||||
var new_item_elem = doc.selection[0];
|
var new_item_elem = doc.selection[0];
|
||||||
new_item_elem.symbolType = "graphic";
|
new_item_elem.symbolType = "graphic";
|
||||||
new_item_elem.firstFrame = first_frame;
|
new_item_elem.firstFrame = first_frame;
|
||||||
new_item_elem.setTransformationPoint({x:0, y:0});
|
new_item_elem.setTransformationPoint({x: 0, y: 0});
|
||||||
new_item_elem.transformX = 0;
|
new_item_elem.transformX = 0;
|
||||||
new_item_elem.transformY = 0;
|
new_item_elem.transformY = 0;
|
||||||
doc.convertSelectionToBitmap();
|
doc.convertSelectionToBitmap();
|
||||||
}
|
return true;
|
||||||
|
} else {
|
||||||
doc.exitEditMode();
|
doc.exitEditMode();
|
||||||
}
|
library.deleteItem(new_item_name);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -401,7 +450,7 @@ if (!Function.prototype.bind) {
|
|||||||
ftlib.rasterize_all_shapes = function (doc, library) {
|
ftlib.rasterize_all_shapes = function (doc, library) {
|
||||||
ft.type_assert(doc, Document);
|
ft.type_assert(doc, Document);
|
||||||
ft.type_assert(library, Library);
|
ft.type_assert(library, Library);
|
||||||
ftlib.edit_all_symbol_items(doc, library, function(item) {
|
ftlib.edit_all_symbol_items(doc, library, function (item) {
|
||||||
fttim.rasterize_all_shapes(doc, item.timeline);
|
fttim.rasterize_all_shapes(doc, item.timeline);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@@ -446,26 +495,67 @@ if (!Function.prototype.bind) {
|
|||||||
|
|
||||||
fttim.is_keyframe = function (frame, frame_index) {
|
fttim.is_keyframe = function (frame, frame_index) {
|
||||||
ft.type_assert(frame, Frame);
|
ft.type_assert(frame, Frame);
|
||||||
|
ft.type_assert(frame_index, 'number');
|
||||||
return frame.startFrame == frame_index;
|
return frame.startFrame == frame_index;
|
||||||
};
|
};
|
||||||
|
|
||||||
fttim.unlock = function (timeline) {
|
fttim.unlock = function (timeline) {
|
||||||
ft.type_assert(timeline, Timeline);
|
ft.type_assert(timeline, Timeline);
|
||||||
ft.array_foreach(timeline.layers, function(layer) {
|
ft.array_foreach(timeline.layers, function (layer) {
|
||||||
layer.locked = false;
|
layer.locked = false;
|
||||||
layer.visible = true;
|
layer.visible = true;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
fttim.calculate_elems_area = function (timeline, frame_index) {
|
||||||
|
ft.type_assert(timeline, Timeline);
|
||||||
|
ft.type_assert(frame_index, 'number');
|
||||||
|
return ft.array_foldl(timeline.layers, function (layer, acc) {
|
||||||
|
if (frame_index >= 0 && frame_index < layer.frames.length) {
|
||||||
|
return ft.array_foldl(layer.frames[frame_index].elements, function (elem, acc2) {
|
||||||
|
return acc2 + Math.round(elem.width) * Math.round(elem.height);
|
||||||
|
}, acc);
|
||||||
|
} else {
|
||||||
|
return acc;
|
||||||
|
}
|
||||||
|
}, 0);
|
||||||
|
};
|
||||||
|
|
||||||
|
fttim.calculate_frame_area = function (timeline, frame_index) {
|
||||||
|
ft.type_assert(timeline, Timeline);
|
||||||
|
ft.type_assert(frame_index, 'number');
|
||||||
|
var bounds = ft.array_foldl(timeline.layers, function (layer, acc) {
|
||||||
|
if (frame_index >= 0 && frame_index < layer.frames.length) {
|
||||||
|
return ft.array_foldl(layer.frames[frame_index].elements, function (elem, acc2) {
|
||||||
|
acc2.left = Math.min(acc2.left, elem.left);
|
||||||
|
acc2.right = Math.max(acc2.right, elem.left + elem.width);
|
||||||
|
acc2.top = Math.min(acc2.top, elem.top);
|
||||||
|
acc2.bottom = Math.max(acc2.bottom, elem.top + elem.height);
|
||||||
|
return acc2;
|
||||||
|
}, acc);
|
||||||
|
} else {
|
||||||
|
return acc;
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
left: Number.POSITIVE_INFINITY,
|
||||||
|
right: Number.NEGATIVE_INFINITY,
|
||||||
|
top: Number.POSITIVE_INFINITY,
|
||||||
|
bottom: Number.NEGATIVE_INFINITY
|
||||||
|
});
|
||||||
|
var frame_width = Math.max(0, bounds.right - bounds.left);
|
||||||
|
var frame_height = Math.max(0, bounds.bottom - bounds.top);
|
||||||
|
return Math.round(frame_width) * Math.round(frame_height);
|
||||||
|
}
|
||||||
|
|
||||||
fttim.replace_baked_symbols = function (doc, timeline, replaces) {
|
fttim.replace_baked_symbols = function (doc, timeline, replaces) {
|
||||||
ft.type_assert(doc, Document);
|
ft.type_assert(doc, Document);
|
||||||
ft.type_assert(timeline, Timeline);
|
ft.type_assert(timeline, Timeline);
|
||||||
ft.array_foreach(timeline.layers, function(layer) {
|
ft.array_foreach(timeline.layers, function (layer) {
|
||||||
ft.array_foreach(layer.frames, function(frame, frame_index) {
|
ft.array_foreach(layer.frames, function (frame, frame_index) {
|
||||||
if ( timeline.currentFrame != frame_index ) {
|
if (timeline.currentFrame != frame_index) {
|
||||||
timeline.currentFrame = frame_index;
|
timeline.currentFrame = frame_index;
|
||||||
}
|
}
|
||||||
ft.array_foreach(frame.elements, function(elem) {
|
ft.array_foreach(frame.elements, function (elem) {
|
||||||
if (replaces.hasOwnProperty(elem.libraryItem.name)) {
|
if (replaces.hasOwnProperty(elem.libraryItem.name)) {
|
||||||
doc.selectNone();
|
doc.selectNone();
|
||||||
doc.selection = [elem];
|
doc.selection = [elem];
|
||||||
@@ -479,20 +569,18 @@ if (!Function.prototype.bind) {
|
|||||||
fttim.optimize_single_graphics = function (doc, timeline, opt_item) {
|
fttim.optimize_single_graphics = function (doc, timeline, opt_item) {
|
||||||
ft.type_assert(doc, Document);
|
ft.type_assert(doc, Document);
|
||||||
ft.type_assert(timeline, Timeline);
|
ft.type_assert(timeline, Timeline);
|
||||||
ft.array_foreach(timeline.layers, function(layer) {
|
ft.array_foreach(timeline.layers, function (layer) {
|
||||||
ft.array_foreach(layer.frames, function(frame, frame_index) {
|
ft.array_foreach(layer.frames, function (frame, frame_index) {
|
||||||
ft.array_foreach(frame.elements, function(elem) {
|
ft.array_foreach(frame.elements, function (elem) {
|
||||||
var lib_item_name = elem.libraryItem.name;
|
var lib_item_name = elem.libraryItem.name;
|
||||||
var lib_item_cache_name = "ft_cache_name_" + lib_item_name + "_" + elem.firstFrame;
|
var lib_item_cache_name = "ft_cache_name_" + lib_item_name + "_" + elem.firstFrame;
|
||||||
ftlib.bake_symbol_item(doc, doc.library, lib_item_name, lib_item_cache_name, elem.firstFrame);
|
if (ftlib.bake_symbol_item(doc, doc.library, lib_item_name, lib_item_cache_name, elem.firstFrame)) {
|
||||||
|
|
||||||
if (ft.verbose_mode) {
|
if (ft.verbose_mode) {
|
||||||
ft.trace_fmt("Optimize single graphic '{0}' for frame '{1}' in '{2}'",
|
ft.trace_fmt("Optimize single graphic '{0}' for frame '{1}' in '{2}'",
|
||||||
lib_item_name, elem.firstFrame, timeline.name);
|
lib_item_name, elem.firstFrame, timeline.name);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opt_item == null || doc.library.editItem(opt_item.name)) {
|
if (opt_item == null || doc.library.editItem(opt_item.name)) {
|
||||||
if ( timeline.currentFrame != frame_index ) {
|
if (timeline.currentFrame != frame_index) {
|
||||||
timeline.currentFrame = frame_index;
|
timeline.currentFrame = frame_index;
|
||||||
}
|
}
|
||||||
doc.selectNone();
|
doc.selectNone();
|
||||||
@@ -501,7 +589,13 @@ if (!Function.prototype.bind) {
|
|||||||
doc.selection[0].firstFrame = 0;
|
doc.selection[0].firstFrame = 0;
|
||||||
doc.exitEditMode();
|
doc.exitEditMode();
|
||||||
}
|
}
|
||||||
}, function(elem) {
|
} else {
|
||||||
|
if (ft.verbose_mode) {
|
||||||
|
ft.trace_fmt("NOT Optimize single graphic '{0}' for frame '{1}' in '{2}'",
|
||||||
|
lib_item_name, elem.firstFrame, timeline.name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, function (elem) {
|
||||||
return fttim.is_symbol_graphic_single_frame_instance(elem) && !fttim.is_static(elem.libraryItem.timeline);
|
return fttim.is_symbol_graphic_single_frame_instance(elem) && !fttim.is_static(elem.libraryItem.timeline);
|
||||||
});
|
});
|
||||||
}, fttim.is_keyframe);
|
}, fttim.is_keyframe);
|
||||||
@@ -513,12 +607,10 @@ if (!Function.prototype.bind) {
|
|||||||
if (timeline.frameCount > 1) {
|
if (timeline.frameCount > 1) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return ft.array_foldl(timeline.layers, function(layer, acc) {
|
return ft.array_foldl(timeline.layers, function (layer, acc) {
|
||||||
return ft.array_foldl(layer.frames, function(frame, acc2) {
|
return ft.array_foldl(layer.frames, function (frame, acc2) {
|
||||||
return ft.array_foldl(frame.elements, function(elem, acc3) {
|
return ft.array_foldl(frame.elements, function (elem, acc3) {
|
||||||
return acc3 && fttim.is_symbol_instance(elem)
|
return acc3 && fttim.is_symbol_instance(elem) ? elem.blendMode != "erase" && (fttim.is_symbol_graphic_single_frame_instance(elem) || fttim.is_static(elem.libraryItem.timeline)) : acc3;
|
||||||
? elem.blendMode != "erase" && (fttim.is_symbol_graphic_single_frame_instance(elem) || fttim.is_static(elem.libraryItem.timeline))
|
|
||||||
: acc3;
|
|
||||||
}, acc2);
|
}, acc2);
|
||||||
}, acc);
|
}, acc);
|
||||||
}, true);
|
}, true);
|
||||||
@@ -528,9 +620,9 @@ if (!Function.prototype.bind) {
|
|||||||
ft.type_assert(doc, Document);
|
ft.type_assert(doc, Document);
|
||||||
ft.type_assert(timeline, Timeline);
|
ft.type_assert(timeline, Timeline);
|
||||||
|
|
||||||
ft.array_reverse_foreach(timeline.layers, function(layer, layer_index) {
|
ft.array_reverse_foreach(timeline.layers, function (layer, layer_index) {
|
||||||
timeline.setSelectedLayers(layer_index);
|
timeline.setSelectedLayers(layer_index);
|
||||||
ft.array_foreach(layer.frames, function(frame, frame_index) {
|
ft.array_foreach(layer.frames, function (frame, frame_index) {
|
||||||
frame.convertToFrameByFrameAnimation();
|
frame.convertToFrameByFrameAnimation();
|
||||||
}, function (frame, frame_index) {
|
}, function (frame, frame_index) {
|
||||||
return fttim.is_keyframe(frame, frame_index) && fttim.is_shape_frame(frame);
|
return fttim.is_keyframe(frame, frame_index) && fttim.is_shape_frame(frame);
|
||||||
@@ -538,9 +630,9 @@ if (!Function.prototype.bind) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
var any_rasterize = false;
|
var any_rasterize = false;
|
||||||
ft.array_reverse_foreach(timeline.layers, function(layer, layer_index) {
|
ft.array_reverse_foreach(timeline.layers, function (layer, layer_index) {
|
||||||
timeline.setSelectedLayers(layer_index);
|
timeline.setSelectedLayers(layer_index);
|
||||||
ft.array_foreach(layer.frames, function(frame, frame_index) {
|
ft.array_foreach(layer.frames, function (frame, frame_index) {
|
||||||
timeline.currentFrame = frame_index;
|
timeline.currentFrame = frame_index;
|
||||||
timeline.setSelectedFrames(frame_index, frame_index + 1, true);
|
timeline.setSelectedFrames(frame_index, frame_index + 1, true);
|
||||||
doc.selectNone();
|
doc.selectNone();
|
||||||
@@ -573,9 +665,9 @@ if (!Function.prototype.bind) {
|
|||||||
ft.trace_fmt("!!!Document!!!: '{0}' conversion error: '{1}'", doc.name, e);
|
ft.trace_fmt("!!!Document!!!: '{0}' conversion error: '{1}'", doc.name, e);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
ft.profile_function(function() {
|
ft.profile_function(function () {
|
||||||
ft.array_foreach(fl.documents, function (doc) {
|
ft.array_foreach(fl.documents, function (doc) {
|
||||||
if ( doc.canRevert() ) {
|
if (doc.canRevert()) {
|
||||||
fl.revertDocument(doc);
|
fl.revertDocument(doc);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user