209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
|
# File 'lib/RGSS/serialize.rb', line 209
def self.scripts_to_binary(dirs, src, dest, options)
formatador = Formatador.new
src_file = File.join(dirs[:yaml], src)
dest_file = File.join(dirs[:data], dest)
raise "Missing #{src}" unless File.exist?(src_file)
check_time = !options[:force] && File.exist?(dest_file)
newest_time = File.mtime(src_file) if check_time
index = load(:load_yaml_file, src_file)
script_entries = []
index.each do |entry|
magic_number, script_name, filename = entry
code = ''
if filename
full_filename = File.join(dirs[:script], filename)
raise "Missing script file #{filename}" unless File.exist?(full_filename)
newest_time = [File.mtime(full_filename), newest_time].max if check_time
code = load(:load_raw_file, full_filename)
end
script_entries.push([magic_number, script_name, deflate(code)])
end
if check_time && (newest_time - 1) < File.mtime(dest_file)
formatador.display_line("[yellow]Skipping scripts to binary[/]") if $VERBOSE
else
formatador.display_line("[green]Converting scripts to binary[/]") if $VERBOSE
dump(:dump_data_file, dest_file, script_entries, newest_time, options)
end
end
|