Compare commits
25 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c32481cc13 | |||
| a462047004 | |||
| 13711a710a | |||
| 01701b4d86 | |||
| be0d1fc84d | |||
| 2b07a718f7 | |||
| 59345b5d83 | |||
| 4db2517018 | |||
| 95573408d5 | |||
| d46e96b844 | |||
| 4d204a9c45 | |||
| 5c5ec70784 | |||
| 5564af7ba9 | |||
| b0991a8bf6 | |||
| de47d41874 | |||
| 3f7a4b3c38 | |||
| d0312af3d9 | |||
| 6972cefb1f | |||
| 0485c187ec | |||
| a1c268e469 | |||
| 387a683ff0 | |||
| 9a520637e9 | |||
| d37c72de80 | |||
| 0ab1fd27a6 | |||
| 652a437d14 |
@@ -0,0 +1,42 @@
|
|||||||
|
AllCops:
|
||||||
|
TargetRubyVersion: 2.6
|
||||||
|
|
||||||
|
Metrics/AbcSize:
|
||||||
|
Max: 170
|
||||||
|
|
||||||
|
Metrics/BlockLength:
|
||||||
|
Max: 250
|
||||||
|
|
||||||
|
Metrics/ClassLength:
|
||||||
|
Max: 1000
|
||||||
|
|
||||||
|
Metrics/CyclomaticComplexity:
|
||||||
|
Max: 70
|
||||||
|
|
||||||
|
Metrics/MethodLength:
|
||||||
|
Max: 100
|
||||||
|
|
||||||
|
Metrics/ModuleLength:
|
||||||
|
Max: 1000
|
||||||
|
|
||||||
|
Metrics/ParameterLists:
|
||||||
|
Max: 50
|
||||||
|
|
||||||
|
Metrics/PerceivedComplexity:
|
||||||
|
Max: 80
|
||||||
|
|
||||||
|
Layout/SpaceInsideBlockBraces:
|
||||||
|
EnforcedStyle: no_space
|
||||||
|
SpaceBeforeBlockParameters: false
|
||||||
|
|
||||||
|
Style/Documentation:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
Style/NumericPredicate:
|
||||||
|
EnforcedStyle: comparison
|
||||||
|
|
||||||
|
Style/MultilineBlockChain:
|
||||||
|
Enabled: false
|
||||||
|
|
||||||
|
Style/SpecialGlobalVars:
|
||||||
|
EnforcedStyle: use_perl_names
|
||||||
@@ -1,2 +1,2 @@
|
|||||||
source "https://rubygems.org"
|
source 'https://rubygems.org'
|
||||||
gemspec
|
gemspec
|
||||||
|
|||||||
@@ -244,7 +244,8 @@ Available options:
|
|||||||
|
|
||||||
- [json](https://rubygems.org/gems/json)
|
- [json](https://rubygems.org/gems/json)
|
||||||
- [extlz4](https://rubygems.org/gems/extlz4)
|
- [extlz4](https://rubygems.org/gems/extlz4)
|
||||||
- [extlzma](https://rubygems.org/gems/extlzma)
|
- [extlzma2](https://rubygems.org/gems/extlzma2)
|
||||||
|
- extlzma2 requires liblzma. You may need a `--with-liblzma-dir=` argument to install extlzma2.
|
||||||
- [bin_utils](https://rubygems.org/gems/bin_utils)
|
- [bin_utils](https://rubygems.org/gems/bin_utils)
|
||||||
- [chunky_png](https://rubygems.org/gems/chunky_png)
|
- [chunky_png](https://rubygems.org/gems/chunky_png)
|
||||||
|
|
||||||
|
|||||||
@@ -13,10 +13,10 @@ ext_dirs = %w[decoders/native decoders/crunch]
|
|||||||
|
|
||||||
ext_dirs.each do |dir|
|
ext_dirs.each do |dir|
|
||||||
Rake::ExtensionTask.new(dir) do |ext|
|
Rake::ExtensionTask.new(dir) do |ext|
|
||||||
ext.lib_dir = 'lib/mikunyan'
|
ext.lib_dir = "lib/mikunyan/#{File.dirname(dir)}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
task compile: ext_dirs.map{|e| "compile:#{e}".to_sym}
|
task compile: ext_dirs.map {|e| "compile:#{e}".to_sym}
|
||||||
|
|
||||||
task default: %i[clobber compile spec]
|
task default: %i[clobber compile spec]
|
||||||
|
|||||||
+38
-18
@@ -44,51 +44,71 @@ unless File.file?(arg)
|
|||||||
exit(1)
|
exit(1)
|
||||||
end
|
end
|
||||||
|
|
||||||
assets = opts[:as_asset] ? [Mikunyan::Asset.file(arg)] : Mikunyan::AssetBundle.file(arg).assets
|
if opts[:as_asset]
|
||||||
|
assets = [Mikunyan::Asset.file(arg)]
|
||||||
|
else
|
||||||
|
bundle = Mikunyan::AssetBundle.file(arg)
|
||||||
|
assets = bundle.assets
|
||||||
|
end
|
||||||
|
|
||||||
outdir = opts[:outputdir] || File.basename(arg, '.*')
|
outdir = opts[:outputdir] || File.basename(arg, '.*')
|
||||||
FileUtils.mkpath(outdir)
|
FileUtils.mkpath(outdir)
|
||||||
|
|
||||||
assets.each do |asset|
|
if opts[:sprite]
|
||||||
if opts[:sprite]
|
textures = {}
|
||||||
|
textures_meta = {}
|
||||||
|
assets.each do |asset|
|
||||||
json = {}
|
json = {}
|
||||||
textures = {}
|
|
||||||
|
|
||||||
asset.each_object do |obj|
|
asset.each_object do |obj|
|
||||||
next unless obj.type == 'Sprite'
|
next unless obj.type == 'Sprite'
|
||||||
|
next unless obj.klass
|
||||||
obj = obj.parse
|
obj = obj.parse
|
||||||
next unless obj
|
next unless obj&.m_RD&.texture
|
||||||
texture_id = obj.m_RD&.texture&.m_PathID&.value
|
file_id = obj.m_RD.texture.m_FileID.value
|
||||||
next unless texture_id
|
texture_asset = file_id == 0 ? asset : bundle && bundle[asset.references[file_id - 1].file_path]
|
||||||
|
texture_id = obj.m_RD.texture.m_PathID.value
|
||||||
|
next unless texture_asset && texture_id
|
||||||
|
|
||||||
unless textures.key?(texture_id)
|
unless textures.dig(texture_asset, texture_id)
|
||||||
texture_obj = asset.parse_object(texture_id)
|
texture_obj = texture_asset.parse_object(texture_id)
|
||||||
if texture_obj.is_a?(Mikunyan::CustomTypes::Texture2D)
|
if texture_obj.is_a?(Mikunyan::CustomTypes::Texture2D)
|
||||||
textures[texture_id] = texture_obj.generate_png
|
textures[texture_asset] ||= {}
|
||||||
json[texture_id] = {
|
textures[texture_asset][texture_id] = texture_obj.generate_png
|
||||||
|
textures_meta[texture_asset] ||= {}
|
||||||
|
textures_meta[texture_asset][texture_id] = {
|
||||||
name: texture_obj.m_Name&.value, width: texture_obj.m_Width&.value, height: texture_obj.m_Height&.value,
|
name: texture_obj.m_Name&.value, width: texture_obj.m_Width&.value, height: texture_obj.m_Height&.value,
|
||||||
format: texture_obj.m_TextureFormat&.value, path_id: texture_id, sprites: []
|
format: texture_obj.m_TextureFormat&.value, asset: texture_asset.name, path_id: texture_id
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
next unless textures_meta[texture_asset][texture_id]
|
||||||
|
|
||||||
|
unless json.key?([file_id, texture_id])
|
||||||
|
json[[file_id, texture_id]] = textures_meta[texture_asset][texture_id].dup
|
||||||
|
json[[file_id, texture_id]][:sprites] = []
|
||||||
|
end
|
||||||
|
|
||||||
x = obj.m_Rect&.x&.value
|
x = obj.m_Rect&.x&.value
|
||||||
y = obj.m_Rect&.y&.value
|
y = obj.m_Rect&.y&.value
|
||||||
width = obj.m_Rect&.width&.value
|
width = obj.m_Rect&.width&.value
|
||||||
height = obj.m_Rect&.height&.value
|
height = obj.m_Rect&.height&.value
|
||||||
|
|
||||||
json[texture_id][:sprites] << { name: obj.object_name, x: x, y: y, width: width, height: height, path_id: obj.path_id }
|
json[[file_id, texture_id]][:sprites] << { name: obj.object_name, x: x, y: y, width: width, height: height, path_id: obj.path_id }
|
||||||
|
|
||||||
next unless textures[texture_id] && x && y && width && height
|
texture = textures[texture_asset][texture_id]
|
||||||
textures[texture_id].crop(
|
next unless texture && x && y && width && height
|
||||||
x.round, (textures[texture_id].height - height - y).round, width.round, height.round
|
texture.crop(x.round, (texture.height - height - y).round, width.round, height.round).save("#{outdir}/#{obj.object_name}.png")
|
||||||
).save("#{outdir}/#{obj.object_name}.png")
|
|
||||||
end
|
end
|
||||||
puts opts[:pretty] ? JSON.pretty_generate(json.values) : JSON.generate(json.values)
|
puts opts[:pretty] ? JSON.pretty_generate(json.values) : JSON.generate(json.values)
|
||||||
else
|
end
|
||||||
|
else
|
||||||
|
assets.each do |asset|
|
||||||
json = []
|
json = []
|
||||||
asset.each_object do |obj|
|
asset.each_object do |obj|
|
||||||
next unless obj.type == 'Texture2D'
|
next unless obj.type == 'Texture2D'
|
||||||
|
next unless obj.klass
|
||||||
obj = obj.parse
|
obj = obj.parse
|
||||||
next unless obj.is_a?(Mikunyan::CustomTypes::Texture2D)
|
next unless obj.is_a?(Mikunyan::CustomTypes::Texture2D)
|
||||||
json << {
|
json << {
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require 'mkmf'
|
require 'mkmf'
|
||||||
|
|
||||||
have_library('stdc++')
|
have_library('stdc++')
|
||||||
@@ -6,4 +8,5 @@ append_cppflags('-O2')
|
|||||||
append_cppflags('-Wall')
|
append_cppflags('-Wall')
|
||||||
append_cppflags('-Wextra')
|
append_cppflags('-Wextra')
|
||||||
append_cppflags('-Wvla')
|
append_cppflags('-Wvla')
|
||||||
|
|
||||||
create_makefile('mikunyan/decoders/crunch')
|
create_makefile('mikunyan/decoders/crunch')
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require 'mkmf'
|
require 'mkmf'
|
||||||
|
|
||||||
append_cppflags('-std=c11')
|
append_cppflags('-std=c11')
|
||||||
@@ -5,4 +7,5 @@ append_cppflags('-O2')
|
|||||||
append_cppflags('-Wall')
|
append_cppflags('-Wall')
|
||||||
append_cppflags('-Wextra')
|
append_cppflags('-Wextra')
|
||||||
append_cppflags('-Wvla')
|
append_cppflags('-Wvla')
|
||||||
|
|
||||||
create_makefile('mikunyan/decoders/native')
|
create_makefile('mikunyan/decoders/native')
|
||||||
|
|||||||
+36
-10
@@ -56,7 +56,7 @@ module Mikunyan
|
|||||||
# Returns object type name string
|
# Returns object type name string
|
||||||
# @return [String,nil] type name
|
# @return [String,nil] type name
|
||||||
def type
|
def type
|
||||||
klass&.type_tree&.tree&.type || Mikunyan::Constants::CLASS_ID2NAME[class_id]
|
klass&.type_tree&.tree&.type || Mikunyan::Constants::CLASS_ID2NAME[class_id || klass&.class_id]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -103,6 +103,12 @@ module Mikunyan
|
|||||||
@objects.each(&block)
|
@objects.each(&block)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Returns object with specified path ID
|
||||||
|
# @return [ObjectEntry,nil]
|
||||||
|
def path_id(id)
|
||||||
|
@path_id_table[id]
|
||||||
|
end
|
||||||
|
|
||||||
# Returns list of all path IDs
|
# Returns list of all path IDs
|
||||||
# @return [Array<Integer>] list of all path IDs
|
# @return [Array<Integer>] list of all path IDs
|
||||||
def path_ids
|
def path_ids
|
||||||
@@ -114,8 +120,10 @@ module Mikunyan
|
|||||||
def containers
|
def containers
|
||||||
obj = @path_id_table[1]
|
obj = @path_id_table[1]
|
||||||
return nil unless obj.klass&.type_tree&.tree&.type == 'AssetBundle'
|
return nil unless obj.klass&.type_tree&.tree&.type == 'AssetBundle'
|
||||||
|
|
||||||
parse_object(obj).m_Container.value.map do |e|
|
parse_object(obj).m_Container.value.map do |e|
|
||||||
ContainerInfo.new(e.first.value, e.second.preloadIndex.value, e.second.preloadSize.value, e.second.asset.m_FileID.value, e.second.asset.m_PathID.value)
|
ContainerInfo.new(e.first.value, e.second.preloadIndex.value, e.second.preloadSize.value,
|
||||||
|
e.second.asset.m_FileID.value, e.second.asset.m_PathID.value)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -123,8 +131,9 @@ module Mikunyan
|
|||||||
# @param [Integer,ObjectEntry] obj path ID or object
|
# @param [Integer,ObjectEntry] obj path ID or object
|
||||||
# @return [Mikunyan::BaseObject,nil] parsed object
|
# @return [Mikunyan::BaseObject,nil] parsed object
|
||||||
def parse_object(obj)
|
def parse_object(obj)
|
||||||
obj = @path_id_table[obj] if obj.class == Integer
|
obj = @path_id_table[obj] if obj.instance_of?(Integer)
|
||||||
return nil unless obj.klass&.type_tree
|
return nil unless obj.klass&.type_tree
|
||||||
|
|
||||||
value_klass = Mikunyan::CustomTypes.get_custom_type(obj.klass.type_tree.tree.type, obj.class_id)
|
value_klass = Mikunyan::CustomTypes.get_custom_type(obj.klass.type_tree.tree.type, obj.class_id)
|
||||||
ret = parse_object_private(BinaryReader.new(obj.data, @endian), obj.klass.type_tree.tree, value_klass)
|
ret = parse_object_private(BinaryReader.new(obj.data, @endian), obj.klass.type_tree.tree, value_klass)
|
||||||
ret.object_entry = obj
|
ret.object_entry = obj
|
||||||
@@ -142,7 +151,7 @@ module Mikunyan
|
|||||||
# @param [Integer,ObjectEntry] obj path ID or object
|
# @param [Integer,ObjectEntry] obj path ID or object
|
||||||
# @return [String,nil] type name
|
# @return [String,nil] type name
|
||||||
def object_type(obj)
|
def object_type(obj)
|
||||||
obj = @path_id_table[obj] if obj.class == Integer
|
obj = @path_id_table[obj] if obj.instance_of?(Integer)
|
||||||
obj&.type
|
obj&.type
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -175,6 +184,14 @@ module Mikunyan
|
|||||||
br.pos = file_size - meta_size
|
br.pos = file_size - meta_size
|
||||||
@endian = br.bool ? :big : :little
|
@endian = br.bool ? :big : :little
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if @format >= 22
|
||||||
|
_meta_size = br.i32u
|
||||||
|
_file_size = br.i64u
|
||||||
|
data_offset = br.i64u
|
||||||
|
br.adv(8)
|
||||||
|
end
|
||||||
|
|
||||||
br.endian = @endian
|
br.endian = @endian
|
||||||
|
|
||||||
@generator_version = br.cstr if @format >= 7
|
@generator_version = br.cstr if @format >= 7
|
||||||
@@ -198,7 +215,8 @@ module Mikunyan
|
|||||||
br.align(4) if @format >= 14
|
br.align(4) if @format >= 14
|
||||||
if @format >= 16
|
if @format >= 16
|
||||||
ObjectEntry.new(
|
ObjectEntry.new(
|
||||||
path_id: wide_path_id ? br.i64s : br.i32s, offset: br.i32u, size: br.i32u,
|
path_id: wide_path_id ? br.i64s : br.i32s,
|
||||||
|
offset: @format >= 22 ? br.i64u : br.i32u, size: br.i32u,
|
||||||
class_idx: br.i32u, stripped?: @format == 16 ? br.bool : nil,
|
class_idx: br.i32u, stripped?: @format == 16 ? br.bool : nil,
|
||||||
parent_asset: self
|
parent_asset: self
|
||||||
)
|
)
|
||||||
@@ -211,7 +229,7 @@ module Mikunyan
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@path_id_table = @objects.map{|e| [e.path_id, e]}.to_h
|
@path_id_table = @objects.map {|e| [e.path_id, e]}.to_h
|
||||||
|
|
||||||
if @format >= 11
|
if @format >= 11
|
||||||
add_id_count = br.i32u
|
add_id_count = br.i32u
|
||||||
@@ -223,15 +241,21 @@ module Mikunyan
|
|||||||
|
|
||||||
reference_count = br.i32u
|
reference_count = br.i32u
|
||||||
@references = Array.new(reference_count) do
|
@references = Array.new(reference_count) do
|
||||||
Reference.new(@format >= 6 ? br.cstr : nil, @format >= 5 ? br.read(16) : nil, @format >= 5 ? br.i32s : nil, br.cstr)
|
Reference.new(@format >= 6 ? br.cstr : nil, @format >= 5 ? br.read(16) : nil, @format >= 5 ? br.i32s : nil,
|
||||||
|
br.cstr)
|
||||||
end
|
end
|
||||||
|
|
||||||
@comment = br.cstr if @format >= 5
|
@comment = br.cstr if @format >= 5
|
||||||
|
# _ = br.i32 if @format >= 21
|
||||||
|
|
||||||
@objects.each do |e|
|
@objects.each do |e|
|
||||||
br.jmp(data_offset + e.offset)
|
br.jmp(data_offset + e.offset)
|
||||||
e.data = br.read(e.size)
|
e.data = br.read(e.size)
|
||||||
e.klass = e.class_idx ? @klasses[e.class_idx] : @klasses.find{|e2| e2.class_id == e.class_id} || @klasses.find{|e2| e2.class_id == e.type_id}
|
e.klass = if e.class_idx
|
||||||
|
@klasses[e.class_idx]
|
||||||
|
else
|
||||||
|
@klasses.find {|e2| e2.class_id == e.class_id} || @klasses.find {|e2| e2.class_id == e.type_id}
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -274,6 +298,7 @@ module Mikunyan
|
|||||||
elsif node.array?
|
elsif node.array?
|
||||||
children.each do |child|
|
children.each do |child|
|
||||||
next ret[child.name] = parse_object_private(br, child) unless child.name == 'data'
|
next ret[child.name] = parse_object_private(br, child) unless child.name == 'data'
|
||||||
|
|
||||||
size = ret['size']&.value || raise('`size` node must appear before `data` node in array node')
|
size = ret['size']&.value || raise('`size` node must appear before `data` node in array node')
|
||||||
ret.value =
|
ret.value =
|
||||||
if child.children.empty? && (!child.need_align? || br.pos % 4 == 0 && child.size % 4 == 0)
|
if child.children.empty? && (!child.need_align? || br.pos % 4 == 0 && child.size % 4 == 0)
|
||||||
@@ -284,7 +309,7 @@ module Mikunyan
|
|||||||
br.read(size * child.size).force_encoding('utf-8')
|
br.read(size * child.size).force_encoding('utf-8')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
ret.value ||= Array.new(size){parse_object_private(br, child)}
|
ret.value ||= Array.new(size) {parse_object_private(br, child)}
|
||||||
ret['data'] = ret.value
|
ret['data'] = ret.value
|
||||||
end
|
end
|
||||||
elsif children.size == 1 && children[0].array? && children[0].type == 'Array' && children[0].name == 'Array'
|
elsif children.size == 1 && children[0].array? && children[0].type == 'Array' && children[0].name == 'Array'
|
||||||
@@ -292,7 +317,7 @@ module Mikunyan
|
|||||||
ret.name = node.name
|
ret.name = node.name
|
||||||
ret.type = node.type
|
ret.type = node.type
|
||||||
else
|
else
|
||||||
ret.attr = children.map{|c| [c.name, parse_object_private(br, c)]}.to_h
|
ret.attr = children.map {|c| [c.name, parse_object_private(br, c)]}.to_h
|
||||||
if node.type == 'StreamingInfo'
|
if node.type == 'StreamingInfo'
|
||||||
ret.value = get_stream_blob(ret['path'].value, ret['offset'].value, ret['size'].value)
|
ret.value = get_stream_blob(ret['path'].value, ret['offset'].value, ret['size'].value)
|
||||||
else
|
else
|
||||||
@@ -306,6 +331,7 @@ module Mikunyan
|
|||||||
def get_stream_blob(path, offset, size)
|
def get_stream_blob(path, offset, size)
|
||||||
return nil unless path && @bundle
|
return nil unless path && @bundle
|
||||||
return nil if path.empty?
|
return nil if path.empty?
|
||||||
|
|
||||||
path["archive:/#{@name}/"] = '' if path.start_with?("archive:/#{@name}/")
|
path["archive:/#{@name}/"] = '' if path.start_with?("archive:/#{@name}/")
|
||||||
@bundle.blobs[path]&.byteslice(offset, size)
|
@bundle.blobs[path]&.byteslice(offset, size)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require 'extlz4'
|
require 'extlz4'
|
||||||
require 'extlzma'
|
require 'extlzma2'
|
||||||
require 'mikunyan/asset'
|
require 'mikunyan/asset'
|
||||||
require 'mikunyan/binary_reader'
|
require 'mikunyan/binary_reader'
|
||||||
|
|
||||||
@@ -21,7 +21,7 @@ module Mikunyan
|
|||||||
# @param [String,Integer] index
|
# @param [String,Integer] index
|
||||||
# @return [Mikunyan::Asset,nil]
|
# @return [Mikunyan::Asset,nil]
|
||||||
def [](index)
|
def [](index)
|
||||||
index.is_a?(String) ? @assets.find{|e| e.name == index} : @assets[index]
|
index.is_a?(String) ? @assets.find {|e| e.name == index} : @assets[index]
|
||||||
end
|
end
|
||||||
|
|
||||||
# Same as assets.each
|
# Same as assets.each
|
||||||
@@ -59,7 +59,7 @@ module Mikunyan
|
|||||||
@unity_version = br.cstr
|
@unity_version = br.cstr
|
||||||
@generator_version = br.cstr
|
@generator_version = br.cstr
|
||||||
|
|
||||||
@format < 6 ? load_unity_raw(br) : load_unity_fs(br)
|
@format == 6 || @signature == 'UnityFS' ? load_unity_fs(br, @signature) : load_unity_raw(br)
|
||||||
end
|
end
|
||||||
|
|
||||||
# @param [Mikunyan::BinaryReader] br
|
# @param [Mikunyan::BinaryReader] br
|
||||||
@@ -86,15 +86,22 @@ module Mikunyan
|
|||||||
end
|
end
|
||||||
|
|
||||||
# @param [Mikunyan::BinaryReader] br
|
# @param [Mikunyan::BinaryReader] br
|
||||||
def load_unity_fs(br)
|
def load_unity_fs(br, signature)
|
||||||
file_size = br.i64u
|
file_size = br.i64u
|
||||||
ci_block_size = br.i32u
|
ci_block_size = br.i32u
|
||||||
ui_block_size = br.i32u
|
ui_block_size = br.i32u
|
||||||
flags = br.i32u
|
flags = br.i32u
|
||||||
|
|
||||||
head = BinaryReader.new(uncompress(flags & 0x80 == 0 ? br.read(ci_block_size) : br.read_abs(ci_block_size, file_size - ci_block_size), ui_block_size, flags))
|
br.adv(1) unless signature == 'UnityFS'
|
||||||
|
|
||||||
|
br.align(16) if @format >= 7
|
||||||
|
|
||||||
|
head_bin = flags & 0x80 == 0 ? br.read(ci_block_size) : br.read_abs(ci_block_size, file_size - ci_block_size)
|
||||||
|
head = BinaryReader.new(uncompress(head_bin, ui_block_size, flags))
|
||||||
@guid = head.read(16)
|
@guid = head.read(16)
|
||||||
|
|
||||||
|
br.align(16) unless flags & 0x200 == 0
|
||||||
|
|
||||||
block_count = head.i32u
|
block_count = head.i32u
|
||||||
raw_data = Array.new(block_count) do
|
raw_data = Array.new(block_count) do
|
||||||
u_size = head.i32u
|
u_size = head.i32u
|
||||||
@@ -114,7 +121,7 @@ module Mikunyan
|
|||||||
end
|
end
|
||||||
|
|
||||||
def process_asset_entries(asset_entries)
|
def process_asset_entries(asset_entries)
|
||||||
@blobs = asset_entries.select(&:blob?).map{|e| [e.name, e.data]}.to_h
|
@blobs = asset_entries.select(&:blob?).map {|e| [e.name, e.data]}.to_h
|
||||||
@assets = asset_entries.reject(&:blob?).map do |e|
|
@assets = asset_entries.reject(&:blob?).map do |e|
|
||||||
Asset.load(e.data, e.name, self)
|
Asset.load(e.data, e.name, self)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ module Mikunyan
|
|||||||
def read(size)
|
def read(size)
|
||||||
ret = @io.read(size)
|
ret = @io.read(size)
|
||||||
raise EOFError if ret.nil? || size && ret.bytesize < size
|
raise EOFError if ret.nil? || size && ret.bytesize < size
|
||||||
|
|
||||||
ret
|
ret
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -75,6 +76,7 @@ module Mikunyan
|
|||||||
# @return [String] string
|
# @return [String] string
|
||||||
def cstr
|
def cstr
|
||||||
raise EOFError if @io.eof?
|
raise EOFError if @io.eof?
|
||||||
|
|
||||||
@io.each_byte.take_while(&:nonzero?).pack('C*')
|
@io.each_byte.take_while(&:nonzero?).pack('C*')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
+85
-85
@@ -416,91 +416,91 @@ module Mikunyan
|
|||||||
[1126, 'PackedAssets'],
|
[1126, 'PackedAssets'],
|
||||||
[1127, 'VideoClipImporter'],
|
[1127, 'VideoClipImporter'],
|
||||||
[2000, 'ActivationLogComponent'],
|
[2000, 'ActivationLogComponent'],
|
||||||
[100000, 'int'],
|
[100_000, 'int'],
|
||||||
[100001, 'bool'],
|
[100_001, 'bool'],
|
||||||
[100002, 'float'],
|
[100_002, 'float'],
|
||||||
[100003, 'MonoObject'],
|
[100_003, 'MonoObject'],
|
||||||
[100004, 'Collision'],
|
[100_004, 'Collision'],
|
||||||
[100005, 'Vector3f'],
|
[100_005, 'Vector3f'],
|
||||||
[100006, 'RootMotionData'],
|
[100_006, 'RootMotionData'],
|
||||||
[100007, 'Collision2D'],
|
[100_007, 'Collision2D'],
|
||||||
[100008, 'AudioMixerLiveUpdateFloat'],
|
[100_008, 'AudioMixerLiveUpdateFloat'],
|
||||||
[100009, 'AudioMixerLiveUpdateBool'],
|
[100_009, 'AudioMixerLiveUpdateBool'],
|
||||||
[100010, 'Polygon2D'],
|
[100_010, 'Polygon2D'],
|
||||||
[100011, 'void'],
|
[100_011, 'void'],
|
||||||
[19719996, 'TilemapCollider2D'],
|
[19_719_996, 'TilemapCollider2D'],
|
||||||
[41386430, 'AssetImporterLog'],
|
[41_386_430, 'AssetImporterLog'],
|
||||||
[73398921, 'VFXRenderer'],
|
[73_398_921, 'VFXRenderer'],
|
||||||
[76251197, 'SerializableManagedRefTestClass'],
|
[76_251_197, 'SerializableManagedRefTestClass'],
|
||||||
[156049354, 'Grid'],
|
[156_049_354, 'Grid'],
|
||||||
[181963792, 'Preset'],
|
[181_963_792, 'Preset'],
|
||||||
[277625683, 'EmptyObject'],
|
[277_625_683, 'EmptyObject'],
|
||||||
[285090594, 'IConstraint'],
|
[285_090_594, 'IConstraint'],
|
||||||
[293259124, 'TestObjectWithSpecialLayoutOne'],
|
[293_259_124, 'TestObjectWithSpecialLayoutOne'],
|
||||||
[294290339, 'AssemblyDefinitionReferenceImporter'],
|
[294_290_339, 'AssemblyDefinitionReferenceImporter'],
|
||||||
[334799969, 'SiblingDerived'],
|
[334_799_969, 'SiblingDerived'],
|
||||||
[342846651, 'TestObjectWithSerializedMapStringNonAlignedStruct'],
|
[342_846_651, 'TestObjectWithSerializedMapStringNonAlignedStruct'],
|
||||||
[367388927, 'SubDerived'],
|
[367_388_927, 'SubDerived'],
|
||||||
[369655926, 'AssetImportInProgressProxy'],
|
[369_655_926, 'AssetImportInProgressProxy'],
|
||||||
[382020655, 'PluginBuildInfo'],
|
[382_020_655, 'PluginBuildInfo'],
|
||||||
[426301858, 'EditorProjectAccess'],
|
[426_301_858, 'EditorProjectAccess'],
|
||||||
[468431735, 'PrefabImporter'],
|
[468_431_735, 'PrefabImporter'],
|
||||||
[478637458, 'TestObjectWithSerializedArray'],
|
[478_637_458, 'TestObjectWithSerializedArray'],
|
||||||
[478637459, 'TestObjectWithSerializedAnimationCurve'],
|
[478_637_459, 'TestObjectWithSerializedAnimationCurve'],
|
||||||
[483693784, 'TilemapRenderer'],
|
[483_693_784, 'TilemapRenderer'],
|
||||||
[638013454, 'SpriteAtlasDatabase'],
|
[638_013_454, 'SpriteAtlasDatabase'],
|
||||||
[641289076, 'AudioBuildInfo'],
|
[641_289_076, 'AudioBuildInfo'],
|
||||||
[644342135, 'CachedSpriteAtlasRuntimeData'],
|
[644_342_135, 'CachedSpriteAtlasRuntimeData'],
|
||||||
[646504946, 'RendererFake'],
|
[646_504_946, 'RendererFake'],
|
||||||
[662584278, 'AssemblyDefinitionReferenceAsset'],
|
[662_584_278, 'AssemblyDefinitionReferenceAsset'],
|
||||||
[668709126, 'BuiltAssetBundleInfoSet'],
|
[668_709_126, 'BuiltAssetBundleInfoSet'],
|
||||||
[687078895, 'SpriteAtlas'],
|
[687_078_895, 'SpriteAtlas'],
|
||||||
[877146078, 'PlatformModuleSetup'],
|
[877_146_078, 'PlatformModuleSetup'],
|
||||||
[895512359, 'AimConstraint'],
|
[895_512_359, 'AimConstraint'],
|
||||||
[937362698, 'VFXManager'],
|
[937_362_698, 'VFXManager'],
|
||||||
[994735392, 'VisualEffectSubgraph'],
|
[994_735_392, 'VisualEffectSubgraph'],
|
||||||
[994735403, 'VisualEffectSubgraphOperator'],
|
[994_735_403, 'VisualEffectSubgraphOperator'],
|
||||||
[994735404, 'VisualEffectSubgraphBlock'],
|
[994_735_404, 'VisualEffectSubgraphBlock'],
|
||||||
[1001480554, 'Prefab'],
|
[1_001_480_554, 'Prefab'],
|
||||||
[1027052791, 'LocalizationImporter'],
|
[1_027_052_791, 'LocalizationImporter'],
|
||||||
[1091556383, 'Derived'],
|
[1_091_556_383, 'Derived'],
|
||||||
[1111377672, 'PropertyModificationsTargetTestObject'],
|
[1_111_377_672, 'PropertyModificationsTargetTestObject'],
|
||||||
[1114811875, 'ReferencesArtifactGenerator'],
|
[1_114_811_875, 'ReferencesArtifactGenerator'],
|
||||||
[1152215463, 'AssemblyDefinitionAsset'],
|
[1_152_215_463, 'AssemblyDefinitionAsset'],
|
||||||
[1154873562, 'SceneVisibilityState'],
|
[1_154_873_562, 'SceneVisibilityState'],
|
||||||
[1183024399, 'LookAtConstraint'],
|
[1_183_024_399, 'LookAtConstraint'],
|
||||||
[1223240404, 'MultiArtifactTestImporter'],
|
[1_223_240_404, 'MultiArtifactTestImporter'],
|
||||||
[1268269756, 'GameObjectRecorder'],
|
[1_268_269_756, 'GameObjectRecorder'],
|
||||||
[1325145578, 'LightingDataAssetParent'],
|
[1_325_145_578, 'LightingDataAssetParent'],
|
||||||
[1386491679, 'PresetManager'],
|
[1_386_491_679, 'PresetManager'],
|
||||||
[1392443030, 'TestObjectWithSpecialLayoutTwo'],
|
[1_392_443_030, 'TestObjectWithSpecialLayoutTwo'],
|
||||||
[1403656975, 'StreamingManager'],
|
[1_403_656_975, 'StreamingManager'],
|
||||||
[1480428607, 'LowerResBlitTexture'],
|
[1_480_428_607, 'LowerResBlitTexture'],
|
||||||
[1542919678, 'StreamingController'],
|
[1_542_919_678, 'StreamingController'],
|
||||||
[1571458007, 'RenderPassAttachment'],
|
[1_571_458_007, 'RenderPassAttachment'],
|
||||||
[1628831178, 'TestObjectVectorPairStringBool'],
|
[1_628_831_178, 'TestObjectVectorPairStringBool'],
|
||||||
[1742807556, 'GridLayout'],
|
[1_742_807_556, 'GridLayout'],
|
||||||
[1766753193, 'AssemblyDefinitionImporter'],
|
[1_766_753_193, 'AssemblyDefinitionImporter'],
|
||||||
[1773428102, 'ParentConstraint'],
|
[1_773_428_102, 'ParentConstraint'],
|
||||||
[1803986026, 'FakeComponent'],
|
[1_803_986_026, 'FakeComponent'],
|
||||||
[1818360608, 'PositionConstraint'],
|
[1_818_360_608, 'PositionConstraint'],
|
||||||
[1818360609, 'RotationConstraint'],
|
[1_818_360_609, 'RotationConstraint'],
|
||||||
[1818360610, 'ScaleConstraint'],
|
[1_818_360_610, 'ScaleConstraint'],
|
||||||
[1839735485, 'Tilemap'],
|
[1_839_735_485, 'Tilemap'],
|
||||||
[1896753125, 'PackageManifest'],
|
[1_896_753_125, 'PackageManifest'],
|
||||||
[1896753126, 'PackageManifestImporter'],
|
[1_896_753_126, 'PackageManifestImporter'],
|
||||||
[1953259897, 'TerrainLayer'],
|
[1_953_259_897, 'TerrainLayer'],
|
||||||
[1971053207, 'SpriteShapeRenderer'],
|
[1_971_053_207, 'SpriteShapeRenderer'],
|
||||||
[1977754360, 'NativeObjectType'],
|
[1_977_754_360, 'NativeObjectType'],
|
||||||
[1981279845, 'TestObjectWithSerializedMapStringBool'],
|
[1_981_279_845, 'TestObjectWithSerializedMapStringBool'],
|
||||||
[1995898324, 'SerializableManagedHost'],
|
[1_995_898_324, 'SerializableManagedHost'],
|
||||||
[2058629509, 'VisualEffectAsset'],
|
[2_058_629_509, 'VisualEffectAsset'],
|
||||||
[2058629510, 'VisualEffectImporter'],
|
[2_058_629_510, 'VisualEffectImporter'],
|
||||||
[2058629511, 'VisualEffectResource'],
|
[2_058_629_511, 'VisualEffectResource'],
|
||||||
[2059678085, 'VisualEffectObject'],
|
[2_059_678_085, 'VisualEffectObject'],
|
||||||
[2083052967, 'VisualEffect'],
|
[2_083_052_967, 'VisualEffect'],
|
||||||
[2083778819, 'LocalizationAsset'],
|
[2_083_778_819, 'LocalizationAsset'],
|
||||||
[2089858483, 'ScriptedImporter']
|
[2_089_858_483, 'ScriptedImporter']
|
||||||
]
|
]
|
||||||
|
|
||||||
CLASS_ID2NAME = CLASS_ID_TABLE.to_h.freeze
|
CLASS_ID2NAME = CLASS_ID_TABLE.to_h.freeze
|
||||||
|
|||||||
@@ -187,7 +187,8 @@ module Mikunyan
|
|||||||
# @param [Symbol] endian endianness of binary
|
# @param [Symbol] endian endianness of binary
|
||||||
# @return [ChunkyPNG::Image] decoded image
|
# @return [ChunkyPNG::Image] decoded image
|
||||||
def self.decode_rgb565(width, height, bin, endian = :big)
|
def self.decode_rgb565(width, height, bin, endian = :big)
|
||||||
ChunkyPNG::Image.from_rgb_stream(width, height, DecodeHelper.decode_rgb565(bin, width * height, endian == :big)).flip
|
ChunkyPNG::Image.from_rgb_stream(width, height,
|
||||||
|
DecodeHelper.decode_rgb565(bin, width * height, endian == :big)).flip
|
||||||
end
|
end
|
||||||
|
|
||||||
# Decode image from R16 binary
|
# Decode image from R16 binary
|
||||||
@@ -197,7 +198,8 @@ module Mikunyan
|
|||||||
# @param [Symbol] endian endianness of binary
|
# @param [Symbol] endian endianness of binary
|
||||||
# @return [ChunkyPNG::Image] decoded image
|
# @return [ChunkyPNG::Image] decoded image
|
||||||
def self.decode_r16(width, height, bin, endian = :big)
|
def self.decode_r16(width, height, bin, endian = :big)
|
||||||
ChunkyPNG::Image.from_rgb_stream(width, height, DecodeHelper.decode_r16(bin, width * height, endian == :big)).flip
|
ChunkyPNG::Image.from_rgb_stream(width, height,
|
||||||
|
DecodeHelper.decode_r16(bin, width * height, endian == :big)).flip
|
||||||
end
|
end
|
||||||
|
|
||||||
# Decode image from RGBA4444 binary
|
# Decode image from RGBA4444 binary
|
||||||
@@ -270,7 +272,8 @@ module Mikunyan
|
|||||||
# @param [Symbol] endian endianness of binary
|
# @param [Symbol] endian endianness of binary
|
||||||
# @return [ChunkyPNG::Image] decoded image
|
# @return [ChunkyPNG::Image] decoded image
|
||||||
def self.decode_rhalf(width, height, bin, endian = :big)
|
def self.decode_rhalf(width, height, bin, endian = :big)
|
||||||
ChunkyPNG::Image.from_rgb_stream(width, height, DecodeHelper.decode_rhalf(bin, width * height, endian == :big)).flip
|
ChunkyPNG::Image.from_rgb_stream(width, height,
|
||||||
|
DecodeHelper.decode_rhalf(bin, width * height, endian == :big)).flip
|
||||||
end
|
end
|
||||||
|
|
||||||
# Decode image from RG Half-float binary
|
# Decode image from RG Half-float binary
|
||||||
@@ -280,7 +283,8 @@ module Mikunyan
|
|||||||
# @param [Symbol] endian endianness of binary
|
# @param [Symbol] endian endianness of binary
|
||||||
# @return [ChunkyPNG::Image] decoded image
|
# @return [ChunkyPNG::Image] decoded image
|
||||||
def self.decode_rghalf(width, height, bin, endian = :big)
|
def self.decode_rghalf(width, height, bin, endian = :big)
|
||||||
ChunkyPNG::Image.from_rgb_stream(width, height, DecodeHelper.decode_rghalf(bin, width * height, endian == :big)).flip
|
ChunkyPNG::Image.from_rgb_stream(width, height,
|
||||||
|
DecodeHelper.decode_rghalf(bin, width * height, endian == :big)).flip
|
||||||
end
|
end
|
||||||
|
|
||||||
# Decode image from RGBA Half-float binary
|
# Decode image from RGBA Half-float binary
|
||||||
@@ -290,7 +294,8 @@ module Mikunyan
|
|||||||
# @param [Symbol] endian endianness of binary
|
# @param [Symbol] endian endianness of binary
|
||||||
# @return [ChunkyPNG::Image] decoded image
|
# @return [ChunkyPNG::Image] decoded image
|
||||||
def self.decode_rgbahalf(width, height, bin, endian = :big)
|
def self.decode_rgbahalf(width, height, bin, endian = :big)
|
||||||
ChunkyPNG::Image.from_rgba_stream(width, height, DecodeHelper.decode_rgbahalf(bin, width * height, endian == :big)).flip
|
ChunkyPNG::Image.from_rgba_stream(width, height,
|
||||||
|
DecodeHelper.decode_rgbahalf(bin, width * height, endian == :big)).flip
|
||||||
end
|
end
|
||||||
|
|
||||||
# Decode image from R float binary
|
# Decode image from R float binary
|
||||||
@@ -366,7 +371,8 @@ module Mikunyan
|
|||||||
# @param [Integer] bpp bit per pixel (2 or 4)
|
# @param [Integer] bpp bit per pixel (2 or 4)
|
||||||
# @return [ChunkyPNG::Image] decoded image
|
# @return [ChunkyPNG::Image] decoded image
|
||||||
def self.decode_pvrtc1(width, height, bin, bpp)
|
def self.decode_pvrtc1(width, height, bin, bpp)
|
||||||
raise 'bpp of PVRTC1 must be 2 or 4' unless bpp == 2 || bpp == 4
|
raise 'bpp of PVRTC1 must be 2 or 4' unless [2, 4].include?(bpp)
|
||||||
|
|
||||||
ChunkyPNG::Image.from_rgba_stream(width, height, DecodeHelper.decode_pvrtc1(bin, width, height, bpp == 2))
|
ChunkyPNG::Image.from_rgba_stream(width, height, DecodeHelper.decode_pvrtc1(bin, width, height, bpp == 2))
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -449,7 +455,8 @@ module Mikunyan
|
|||||||
# @param [String] bin binary to decode
|
# @param [String] bin binary to decode
|
||||||
# @return [ChunkyPNG::Image] decoded image
|
# @return [ChunkyPNG::Image] decoded image
|
||||||
def self.decode_astc(width, height, blocksize, bin)
|
def self.decode_astc(width, height, blocksize, bin)
|
||||||
ChunkyPNG::Image.from_rgba_stream(width, height, DecodeHelper.decode_astc(bin, width, height, blocksize, blocksize))
|
ChunkyPNG::Image.from_rgba_stream(width, height,
|
||||||
|
DecodeHelper.decode_astc(bin, width, height, blocksize, blocksize))
|
||||||
end
|
end
|
||||||
|
|
||||||
# Decode image from crunched texture binary
|
# Decode image from crunched texture binary
|
||||||
@@ -488,8 +495,10 @@ module Mikunyan
|
|||||||
fmt = object['m_TextureFormat']&.value
|
fmt = object['m_TextureFormat']&.value
|
||||||
bin = object['image data']&.value
|
bin = object['image data']&.value
|
||||||
return unless width && height && fmt && bin && astc_list[fmt]
|
return unless width && height && fmt && bin && astc_list[fmt]
|
||||||
|
|
||||||
bin = object['m_StreamData']&.value if bin.empty?
|
bin = object['m_StreamData']&.value if bin.empty?
|
||||||
return unless bin
|
return unless bin
|
||||||
|
|
||||||
header = [0x13, 0xab, 0xa1, 0x5c, astc_list[fmt], astc_list[fmt], 1].pack('C*')
|
header = [0x13, 0xab, 0xa1, 0x5c, astc_list[fmt], astc_list[fmt], 1].pack('C*')
|
||||||
header << [width].pack('V').byteslice(0, 3)
|
header << [width].pack('V').byteslice(0, 3)
|
||||||
header << [height].pack('V').byteslice(0, 3)
|
header << [height].pack('V').byteslice(0, 3)
|
||||||
@@ -500,6 +509,7 @@ module Mikunyan
|
|||||||
# [0.0,1.0] -> [0,255]
|
# [0.0,1.0] -> [0,255]
|
||||||
def self.f2i(val)
|
def self.f2i(val)
|
||||||
return 0 unless val.finite?
|
return 0 unless val.finite?
|
||||||
|
|
||||||
(val * 255).round.clamp(0, 255)
|
(val * 255).round.clamp(0, 255)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -95,11 +95,11 @@ module Mikunyan
|
|||||||
if @type == 'pair'
|
if @type == 'pair'
|
||||||
[@attr['first'].simplify, @attr['second'].simplify]
|
[@attr['first'].simplify, @attr['second'].simplify]
|
||||||
elsif @type == 'map' && @value.is_a?(Array)
|
elsif @type == 'map' && @value.is_a?(Array)
|
||||||
@value.map{|e| [e['first'].simplify, e['second'].simplify]}.to_h
|
@value.map {|e| [e['first'].simplify, e['second'].simplify]}.to_h
|
||||||
elsif is_struct
|
elsif is_struct
|
||||||
@attr.map{|key, val| [key, val.simplify]}.to_h
|
@attr.transform_values(&:simplify)
|
||||||
elsif @value.is_a?(Array)
|
elsif @value.is_a?(Array)
|
||||||
@value.map{|e| e.is_a?(ObjectValue) ? e.simplify : e}
|
@value.map {|e| e.is_a?(ObjectValue) ? e.simplify : e}
|
||||||
elsif @value.is_a?(ObjectValue)
|
elsif @value.is_a?(ObjectValue)
|
||||||
@value.simplify
|
@value.simplify
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -20,7 +20,8 @@ module Mikunyan
|
|||||||
# @attr [Integer,nil] v18meta
|
# @attr [Integer,nil] v18meta
|
||||||
# @attr [Mikunyan::TypeTree::Node,nil] parent ̑
|
# @attr [Mikunyan::TypeTree::Node,nil] parent ̑
|
||||||
# @attr [Array<Mikunyan::TypeTree::Node>] children
|
# @attr [Array<Mikunyan::TypeTree::Node>] children
|
||||||
Node = Struct.new(:version, :level, :array?, :type, :name, :size, :index, :flags, :v18meta, :parent, :children, keyword_init: true) do
|
Node = Struct.new(:version, :level, :array?, :type, :name, :size, :index, :flags, :v18meta, :parent, :children,
|
||||||
|
keyword_init: true) do
|
||||||
def need_align?
|
def need_align?
|
||||||
flags & 0x4000 != 0
|
flags & 0x4000 != 0
|
||||||
end
|
end
|
||||||
@@ -84,6 +85,7 @@ module Mikunyan
|
|||||||
end
|
end
|
||||||
stack[n.level] = n
|
stack[n.level] = n
|
||||||
end
|
end
|
||||||
|
br.adv(4) if version >= 21
|
||||||
else
|
else
|
||||||
nodes = []
|
nodes = []
|
||||||
stack = []
|
stack = []
|
||||||
@@ -118,6 +120,7 @@ module Mikunyan
|
|||||||
def self.load_default(class_id, hash)
|
def self.load_default(class_id, hash)
|
||||||
file = File.expand_path("../typetrees/#{class_id}/#{hash.unpack1('H*')}.json", __FILE__)
|
file = File.expand_path("../typetrees/#{class_id}/#{hash.unpack1('H*')}.json", __FILE__)
|
||||||
return nil unless File.file?(file)
|
return nil unless File.file?(file)
|
||||||
|
|
||||||
TypeTree.deserialize(JSON.parse(File.read(file)))
|
TypeTree.deserialize(JSON.parse(File.read(file)))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"nodes":[{"version":7,"level":0,"is_array":false,"type":"MonoScript","name":"Base","size":-1,"flags":32768,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"string","name":"m_Name","size":-1,"flags":557057,"v18meta":0},{"version":1,"level":2,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":540673,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"int","name":"size","size":4,"flags":524289,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"char","name":"data","size":1,"flags":524289,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_ExecutionOrder","size":4,"flags":16,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":null,"name":"m_PropertiesHash","size":16,"flags":16,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"UInt8","name":"bytes[0]","size":1,"flags":16,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"UInt8","name":"bytes[1]","size":1,"flags":16,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"UInt8","name":"bytes[2]","size":1,"flags":16,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"UInt8","name":"bytes[3]","size":1,"flags":16,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"UInt8","name":"bytes[4]","size":1,"flags":16,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"UInt8","name":"bytes[5]","size":1,"flags":16,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"UInt8","name":"bytes[6]","size":1,"flags":16,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"UInt8","name":"bytes[7]","size":1,"flags":16,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"UInt8","name":"bytes[8]","size":1,"flags":16,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"UInt8","name":"bytes[9]","size":1,"flags":16,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"UInt8","name":"bytes[10]","size":1,"flags":16,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"UInt8","name":"bytes[11]","size":1,"flags":16,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"UInt8","name":"bytes[12]","size":1,"flags":16,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"UInt8","name":"bytes[13]","size":1,"flags":16,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"UInt8","name":"bytes[14]","size":1,"flags":16,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"UInt8","name":"bytes[15]","size":1,"flags":16,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"string","name":"m_ClassName","size":-1,"flags":32784,"v18meta":0},{"version":1,"level":2,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":16401,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"int","name":"size","size":4,"flags":17,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"char","name":"data","size":1,"flags":17,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"string","name":"m_Namespace","size":-1,"flags":32784,"v18meta":0},{"version":1,"level":2,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":16401,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"int","name":"size","size":4,"flags":17,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"char","name":"data","size":1,"flags":17,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"string","name":"m_AssemblyName","size":-1,"flags":32784,"v18meta":0},{"version":1,"level":2,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":16401,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"int","name":"size","size":4,"flags":17,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"char","name":"data","size":1,"flags":17,"v18meta":0}]}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"nodes":[{"version":2,"level":0,"is_array":false,"type":"NavMeshSettings","name":"Base","size":12,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"PPtr<NavMeshData>","name":"m_NavMeshData","size":12,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":8388609,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":8388609,"v18meta":0}]}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"nodes":[{"version":3,"level":0,"is_array":false,"type":"Canvas","name":"Base","size":53,"flags":32768,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"PPtr<GameObject>","name":"m_GameObject","size":12,"flags":65,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":65,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":65,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"UInt8","name":"m_Enabled","size":1,"flags":16641,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_RenderMode","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"PPtr<Camera>","name":"m_Camera","size":12,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":8388609,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":8388609,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"float","name":"m_PlaneDistance","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_PixelPerfect","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_ReceivesEvents","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_OverrideSorting","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_OverridePixelPerfect","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"float","name":"m_SortingBucketNormalizedSize","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_VertexColorAlwaysGammaSpace","size":1,"flags":16384,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_AdditionalShaderChannelsFlag","size":4,"flags":16384,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_SortingLayerID","size":4,"flags":8388609,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"SInt16","name":"m_SortingOrder","size":2,"flags":1,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"SInt8","name":"m_TargetDisplay","size":1,"flags":1,"v18meta":0}]}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"nodes":[{"version":3,"level":0,"is_array":false,"type":"Canvas","name":"Base","size":57,"flags":32768,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"PPtr<GameObject>","name":"m_GameObject","size":12,"flags":65,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":65,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":65,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"UInt8","name":"m_Enabled","size":1,"flags":16641,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_RenderMode","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"PPtr<Camera>","name":"m_Camera","size":12,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":8388609,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":8388609,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"float","name":"m_PlaneDistance","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_PixelPerfect","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_ReceivesEvents","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_OverrideSorting","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_OverridePixelPerfect","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"float","name":"m_SortingBucketNormalizedSize","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_VertexColorAlwaysGammaSpace","size":1,"flags":16384,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_AdditionalShaderChannelsFlag","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_UpdateRectTransformForStandalone","size":4,"flags":16384,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_SortingLayerID","size":4,"flags":8388609,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"SInt16","name":"m_SortingOrder","size":2,"flags":1,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"SInt8","name":"m_TargetDisplay","size":1,"flags":1,"v18meta":0}]}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"nodes":[{"version":1,"level":0,"is_array":false,"type":"RectTransform","name":"Base","size":-1,"flags":32768,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"PPtr<GameObject>","name":"m_GameObject","size":12,"flags":65,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":65,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":65,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"Quaternionf","name":"m_LocalRotation","size":16,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"x","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"y","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"z","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"w","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"Vector3f","name":"m_LocalPosition","size":12,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"x","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"y","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"z","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"Vector3f","name":"m_LocalScale","size":12,"flags":2113536,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"x","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"y","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"z","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"vector","name":"m_Children","size":-1,"flags":32833,"v18meta":0},{"version":1,"level":2,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":16449,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"int","name":"size","size":4,"flags":65,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"PPtr<Transform>","name":"data","size":12,"flags":65,"v18meta":0},{"version":1,"level":4,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":65,"v18meta":0},{"version":1,"level":4,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":65,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"PPtr<Transform>","name":"m_Father","size":12,"flags":1,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":1,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":1,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"Vector2f","name":"m_AnchorMin","size":8,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"x","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"y","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"Vector2f","name":"m_AnchorMax","size":8,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"x","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"y","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"Vector2f","name":"m_AnchoredPosition","size":8,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"x","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"y","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"Vector2f","name":"m_SizeDelta","size":8,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"x","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"y","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"Vector2f","name":"m_Pivot","size":8,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"x","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"y","size":4,"flags":2097152,"v18meta":0}]}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"nodes":[{"version":2,"level":0,"is_array":false,"type":"RectTransform","name":"Base","size":-1,"flags":32768,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"PPtr<GameObject>","name":"m_GameObject","size":12,"flags":65,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":65,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":65,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"Quaternionf","name":"m_LocalRotation","size":16,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"x","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"y","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"z","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"w","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"Vector3f","name":"m_LocalPosition","size":12,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"x","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"y","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"z","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"Vector3f","name":"m_LocalScale","size":12,"flags":2113536,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"x","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"y","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"z","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"vector","name":"m_Children","size":-1,"flags":32833,"v18meta":0},{"version":1,"level":2,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":16449,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"int","name":"size","size":4,"flags":65,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"PPtr<Transform>","name":"data","size":12,"flags":65,"v18meta":0},{"version":1,"level":4,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":65,"v18meta":0},{"version":1,"level":4,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":65,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"PPtr<Transform>","name":"m_Father","size":12,"flags":1,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":1,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":1,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"Vector2f","name":"m_AnchorMin","size":8,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"x","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"y","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"Vector2f","name":"m_AnchorMax","size":8,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"x","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"y","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"Vector2f","name":"m_AnchoredPosition","size":8,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"x","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"y","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"Vector2f","name":"m_SizeDelta","size":8,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"x","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"y","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"Vector2f","name":"m_Pivot","size":8,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"x","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"y","size":4,"flags":2097152,"v18meta":0}]}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"nodes":[{"version":2,"level":0,"is_array":false,"type":"Texture2D","name":"Base","size":-1,"flags":32768,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"string","name":"m_Name","size":-1,"flags":557057,"v18meta":0},{"version":1,"level":2,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":540673,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"int","name":"size","size":4,"flags":524289,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"char","name":"data","size":1,"flags":524289,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_ForcedFallbackFormat","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_DownscaleFallback","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_IsAlphaChannelOptional","size":1,"flags":16384,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_Width","size":4,"flags":16,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_Height","size":4,"flags":16,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"unsigned int","name":"m_CompleteImageSize","size":4,"flags":16,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_MipsStripped","size":4,"flags":16,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_TextureFormat","size":4,"flags":1,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_MipCount","size":4,"flags":16,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_IsReadable","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_IsPreProcessed","size":1,"flags":1,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_IgnoreMasterTextureLimit","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_StreamingMipmaps","size":1,"flags":16384,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_StreamingMipmapsPriority","size":4,"flags":16384,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_ImageCount","size":4,"flags":16,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_TextureDimension","size":4,"flags":1,"v18meta":0},{"version":2,"level":1,"is_array":false,"type":"GLTextureSettings","name":"m_TextureSettings","size":24,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FilterMode","size":4,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_Aniso","size":4,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"m_MipBias","size":4,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_WrapU","size":4,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_WrapV","size":4,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_WrapW","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_LightmapFormat","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_ColorSpace","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"vector","name":"m_PlatformBlob","size":-1,"flags":32768,"v18meta":0},{"version":1,"level":2,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":16384,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"int","name":"size","size":4,"flags":0,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"UInt8","name":"data","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":true,"type":"TypelessData","name":"image data","size":-1,"flags":16385,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"size","size":4,"flags":1,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"UInt8","name":"data","size":1,"flags":1,"v18meta":0},{"version":2,"level":1,"is_array":false,"type":"StreamingInfo","name":"m_StreamData","size":-1,"flags":32768,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"UInt64","name":"offset","size":8,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"unsigned int","name":"size","size":4,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"string","name":"path","size":-1,"flags":32768,"v18meta":0},{"version":1,"level":3,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":16385,"v18meta":0},{"version":1,"level":4,"is_array":false,"type":"int","name":"size","size":4,"flags":1,"v18meta":0},{"version":1,"level":4,"is_array":false,"type":"char","name":"data","size":1,"flags":1,"v18meta":0}]}
|
||||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"nodes":[{"version":3,"level":0,"is_array":false,"type":"PlayableDirector","name":"Base","size":-1,"flags":32768,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"PPtr<GameObject>","name":"m_GameObject","size":12,"flags":65,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":65,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":65,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"UInt8","name":"m_Enabled","size":1,"flags":16641,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"PPtr<Object>","name":"m_PlayableAsset","size":12,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":8388609,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":8388609,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_InitialState","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_WrapMode","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_DirectorUpdateMode","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"double","name":"m_InitialTime","size":8,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"vector","name":"m_SceneBindings","size":-1,"flags":32768,"v18meta":0},{"version":1,"level":2,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":16384,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"int","name":"size","size":4,"flags":0,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"DirectorGenericBinding","name":"data","size":24,"flags":0,"v18meta":0},{"version":1,"level":4,"is_array":false,"type":"PPtr<Object>","name":"key","size":12,"flags":0,"v18meta":0},{"version":1,"level":5,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":8388609,"v18meta":0},{"version":1,"level":5,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":8388609,"v18meta":0},{"version":1,"level":4,"is_array":false,"type":"PPtr<Object>","name":"value","size":12,"flags":0,"v18meta":0},{"version":1,"level":5,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":8388609,"v18meta":0},{"version":1,"level":5,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":8388609,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"ExposedReferenceTable","name":"m_ExposedReferences","size":-1,"flags":32768,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"map","name":"m_References","size":-1,"flags":49152,"v18meta":0},{"version":1,"level":3,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":32768,"v18meta":0},{"version":1,"level":4,"is_array":false,"type":"int","name":"size","size":4,"flags":0,"v18meta":0},{"version":1,"level":4,"is_array":false,"type":"pair","name":"data","size":-1,"flags":32768,"v18meta":0},{"version":1,"level":5,"is_array":false,"type":"string","name":"first","size":-1,"flags":32768,"v18meta":0},{"version":1,"level":6,"is_array":false,"type":"string","name":"id","size":-1,"flags":49152,"v18meta":0},{"version":1,"level":7,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":16385,"v18meta":0},{"version":1,"level":8,"is_array":false,"type":"int","name":"size","size":4,"flags":1,"v18meta":0},{"version":1,"level":8,"is_array":false,"type":"char","name":"data","size":1,"flags":1,"v18meta":0},{"version":1,"level":5,"is_array":false,"type":"PPtr<Object>","name":"second","size":12,"flags":0,"v18meta":0},{"version":1,"level":6,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":8388609,"v18meta":0},{"version":1,"level":6,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":8388609,"v18meta":0}]}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"nodes":[{"version":1,"level":0,"is_array":false,"type":"VideoClip","name":"Base","size":-1,"flags":32768,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"string","name":"m_Name","size":-1,"flags":557057,"v18meta":null},{"version":1,"level":2,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":540673,"v18meta":null},{"version":1,"level":3,"is_array":false,"type":"int","name":"size","size":4,"flags":524289,"v18meta":null},{"version":1,"level":3,"is_array":false,"type":"char","name":"data","size":1,"flags":524289,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"string","name":"m_OriginalPath","size":-1,"flags":49153,"v18meta":null},{"version":1,"level":2,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":16385,"v18meta":null},{"version":1,"level":3,"is_array":false,"type":"int","name":"size","size":4,"flags":1,"v18meta":null},{"version":1,"level":3,"is_array":false,"type":"char","name":"data","size":1,"flags":1,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"unsigned int","name":"m_ProxyWidth","size":4,"flags":1,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"unsigned int","name":"m_ProxyHeight","size":4,"flags":1,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"unsigned int","name":"Width","size":4,"flags":1,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"unsigned int","name":"Height","size":4,"flags":1,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"unsigned int","name":"m_PixelAspecRatioNum","size":4,"flags":1,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"unsigned int","name":"m_PixelAspecRatioDen","size":4,"flags":1,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"double","name":"m_FrameRate","size":8,"flags":1,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"UInt64","name":"m_FrameCount","size":8,"flags":1,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_Format","size":4,"flags":1,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"vector","name":"m_AudioChannelCount","size":-1,"flags":49153,"v18meta":null},{"version":1,"level":2,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":16385,"v18meta":null},{"version":1,"level":3,"is_array":false,"type":"int","name":"size","size":4,"flags":1,"v18meta":null},{"version":1,"level":3,"is_array":false,"type":"UInt16","name":"data","size":2,"flags":1,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"vector","name":"m_AudioSampleRate","size":-1,"flags":49153,"v18meta":null},{"version":1,"level":2,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":16385,"v18meta":null},{"version":1,"level":3,"is_array":false,"type":"int","name":"size","size":4,"flags":1,"v18meta":null},{"version":1,"level":3,"is_array":false,"type":"unsigned int","name":"data","size":4,"flags":1,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"vector","name":"m_AudioLanguage","size":-1,"flags":49153,"v18meta":null},{"version":1,"level":2,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":49153,"v18meta":null},{"version":1,"level":3,"is_array":false,"type":"int","name":"size","size":4,"flags":1,"v18meta":null},{"version":1,"level":3,"is_array":false,"type":"string","name":"data","size":-1,"flags":32769,"v18meta":null},{"version":1,"level":4,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":16385,"v18meta":null},{"version":1,"level":5,"is_array":false,"type":"int","name":"size","size":4,"flags":1,"v18meta":null},{"version":1,"level":5,"is_array":false,"type":"char","name":"data","size":1,"flags":1,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"StreamedResource","name":"m_ExternalResources","size":-1,"flags":32768,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"string","name":"m_Source","size":-1,"flags":32769,"v18meta":null},{"version":1,"level":3,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":16385,"v18meta":null},{"version":1,"level":4,"is_array":false,"type":"int","name":"size","size":4,"flags":1,"v18meta":null},{"version":1,"level":4,"is_array":false,"type":"char","name":"data","size":1,"flags":1,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"UInt64","name":"m_Offset","size":8,"flags":1,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"UInt64","name":"m_Size","size":8,"flags":1,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_HasSplitAlpha","size":1,"flags":0,"v18meta":null}]}
|
||||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"nodes":[{"version":1,"level":0,"is_array":false,"type":"Transform","name":"Base","size":-1,"flags":32768,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"PPtr<GameObject>","name":"m_GameObject","size":12,"flags":65,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":65,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":65,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"Quaternionf","name":"m_LocalRotation","size":16,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"x","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"y","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"z","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"w","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"Vector3f","name":"m_LocalPosition","size":12,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"x","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"y","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"z","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"Vector3f","name":"m_LocalScale","size":12,"flags":2113536,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"x","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"y","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"z","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"vector","name":"m_Children","size":-1,"flags":32833,"v18meta":0},{"version":1,"level":2,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":16449,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"int","name":"size","size":4,"flags":65,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"PPtr<Transform>","name":"data","size":12,"flags":65,"v18meta":0},{"version":1,"level":4,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":65,"v18meta":0},{"version":1,"level":4,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":65,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"PPtr<Transform>","name":"m_Father","size":12,"flags":1,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":1,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":1,"v18meta":0}]}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"nodes":[{"version":2,"level":0,"is_array":false,"type":"Transform","name":"Base","size":-1,"flags":32768,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"PPtr<GameObject>","name":"m_GameObject","size":12,"flags":65,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":65,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":65,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"Quaternionf","name":"m_LocalRotation","size":16,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"x","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"y","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"z","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"w","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"Vector3f","name":"m_LocalPosition","size":12,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"x","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"y","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"z","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"Vector3f","name":"m_LocalScale","size":12,"flags":2113536,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"x","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"y","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"z","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"vector","name":"m_Children","size":-1,"flags":32833,"v18meta":0},{"version":1,"level":2,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":16449,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"int","name":"size","size":4,"flags":65,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"PPtr<Transform>","name":"data","size":12,"flags":65,"v18meta":0},{"version":1,"level":4,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":65,"v18meta":0},{"version":1,"level":4,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":65,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"PPtr<Transform>","name":"m_Father","size":12,"flags":1,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":1,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":1,"v18meta":0}]}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"nodes":[{"version":4,"level":0,"is_array":false,"type":"Rigidbody2D","name":"Base","size":63,"flags":32768,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"PPtr<GameObject>","name":"m_GameObject","size":12,"flags":65,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":65,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":65,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_BodyType","size":4,"flags":8388608,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_Simulated","size":1,"flags":0,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_UseFullKinematicContacts","size":1,"flags":0,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_UseAutoMass","size":1,"flags":16384,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"float","name":"m_Mass","size":4,"flags":0,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"float","name":"m_LinearDrag","size":4,"flags":0,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"float","name":"m_AngularDrag","size":4,"flags":0,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"float","name":"m_GravityScale","size":4,"flags":0,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"PPtr<PhysicsMaterial2D>","name":"m_Material","size":12,"flags":0,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":8388609,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":8388609,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_Interpolate","size":4,"flags":0,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_SleepingMode","size":4,"flags":0,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_CollisionDetection","size":4,"flags":0,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_Constraints","size":4,"flags":12582912,"v18meta":null}]}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"nodes":[{"version":2,"level":0,"is_array":false,"type":"CircleCollider2D","name":"Base","size":44,"flags":32768,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"PPtr<GameObject>","name":"m_GameObject","size":12,"flags":65,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":65,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":65,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"UInt8","name":"m_Enabled","size":1,"flags":16641,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"float","name":"m_Density","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"PPtr<PhysicsMaterial2D>","name":"m_Material","size":12,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":8388609,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":8388609,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_IsTrigger","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_UsedByEffector","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_UsedByComposite","size":1,"flags":8404992,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"Vector2f","name":"m_Offset","size":8,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"x","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"y","size":4,"flags":2097152,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"float","name":"m_Radius","size":4,"flags":0,"v18meta":0}]}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"nodes":[{"version":2,"level":0,"is_array":false,"type":"BoxCollider2D","name":"Base","size":102,"flags":32768,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"PPtr<GameObject>","name":"m_GameObject","size":12,"flags":65,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":65,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":65,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"UInt8","name":"m_Enabled","size":1,"flags":16641,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"float","name":"m_Density","size":4,"flags":0,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"PPtr<PhysicsMaterial2D>","name":"m_Material","size":12,"flags":0,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":8388609,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":8388609,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_IsTrigger","size":1,"flags":0,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_UsedByEffector","size":1,"flags":0,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_UsedByComposite","size":1,"flags":8404992,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"Vector2f","name":"m_Offset","size":8,"flags":2097152,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"float","name":"x","size":4,"flags":2097152,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"float","name":"y","size":4,"flags":2097152,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"SpriteTilingProperty","name":"m_SpriteTilingProperty","size":49,"flags":8421393,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"Vector4f","name":"border","size":16,"flags":10485777,"v18meta":null},{"version":1,"level":3,"is_array":false,"type":"float","name":"x","size":4,"flags":10485777,"v18meta":null},{"version":1,"level":3,"is_array":false,"type":"float","name":"y","size":4,"flags":10485777,"v18meta":null},{"version":1,"level":3,"is_array":false,"type":"float","name":"z","size":4,"flags":10485777,"v18meta":null},{"version":1,"level":3,"is_array":false,"type":"float","name":"w","size":4,"flags":10485777,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"Vector2f","name":"pivot","size":8,"flags":10485777,"v18meta":null},{"version":1,"level":3,"is_array":false,"type":"float","name":"x","size":4,"flags":10485777,"v18meta":null},{"version":1,"level":3,"is_array":false,"type":"float","name":"y","size":4,"flags":10485777,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"Vector2f","name":"oldSize","size":8,"flags":10485777,"v18meta":null},{"version":1,"level":3,"is_array":false,"type":"float","name":"x","size":4,"flags":10485777,"v18meta":null},{"version":1,"level":3,"is_array":false,"type":"float","name":"y","size":4,"flags":10485777,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"Vector2f","name":"newSize","size":8,"flags":10485777,"v18meta":null},{"version":1,"level":3,"is_array":false,"type":"float","name":"x","size":4,"flags":10485777,"v18meta":null},{"version":1,"level":3,"is_array":false,"type":"float","name":"y","size":4,"flags":10485777,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"float","name":"adaptiveTilingThreshold","size":4,"flags":8388625,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"int","name":"drawMode","size":4,"flags":8388625,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"bool","name":"adaptiveTiling","size":1,"flags":8405009,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_AutoTiling","size":1,"flags":8404992,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"Vector2f","name":"m_Size","size":8,"flags":2097152,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"float","name":"x","size":4,"flags":2097152,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"float","name":"y","size":4,"flags":2097152,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"float","name":"m_EdgeRadius","size":4,"flags":0,"v18meta":null}]}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"nodes":[{"version":4,"level":0,"is_array":false,"type":"MeshCollider","name":"Base","size":43,"flags":32768,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"PPtr<GameObject>","name":"m_GameObject","size":12,"flags":65,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":65,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":65,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"PPtr<PhysicMaterial>","name":"m_Material","size":12,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":8388609,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":8388609,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_IsTrigger","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_Enabled","size":1,"flags":16641,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_Convex","size":1,"flags":16384,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_CookingOptions","size":4,"flags":8404992,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"PPtr<Mesh>","name":"m_Mesh","size":12,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":8388609,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":8388609,"v18meta":0}]}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"nodes":[{"version":1,"level":0,"is_array":false,"type":"AudioClip","name":"Base","size":-1,"flags":32768,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"string","name":"m_Name","size":-1,"flags":557057,"v18meta":0},{"version":1,"level":2,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":540673,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"int","name":"size","size":4,"flags":524289,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"char","name":"data","size":1,"flags":524289,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_LoadType","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_Channels","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_Frequency","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_BitsPerSample","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"float","name":"m_Length","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_IsTrackerFormat","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_Ambisonic","size":1,"flags":16384,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_SubsoundIndex","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_PreloadAudioData","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_LoadInBackground","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_Legacy3D","size":1,"flags":16384,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"StreamedResource","name":"m_Resource","size":-1,"flags":32768,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"string","name":"m_Source","size":-1,"flags":32769,"v18meta":0},{"version":1,"level":3,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":16385,"v18meta":0},{"version":1,"level":4,"is_array":false,"type":"int","name":"size","size":4,"flags":1,"v18meta":0},{"version":1,"level":4,"is_array":false,"type":"char","name":"data","size":1,"flags":1,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":null,"name":"m_Offset","size":8,"flags":1,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"UInt64","name":"m_Size","size":8,"flags":1,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_CompressionFormat","size":4,"flags":16384,"v18meta":0}]}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"nodes":[{"version":3,"level":0,"is_array":false,"type":"RenderTexture","name":"Base","size":-1,"flags":32768,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"string","name":"m_Name","size":-1,"flags":557057,"v18meta":0},{"version":1,"level":2,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":540673,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"int","name":"size","size":4,"flags":524289,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"char","name":"data","size":1,"flags":524289,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_ForcedFallbackFormat","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_DownscaleFallback","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_IsAlphaChannelOptional","size":1,"flags":16384,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_Width","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_Height","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_AntiAliasing","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_MipCount","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_DepthFormat","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_ColorFormat","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_MipMap","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_GenerateMips","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_SRGB","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_UseDynamicScale","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_BindMS","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_EnableCompatibleFormat","size":1,"flags":16384,"v18meta":0},{"version":2,"level":1,"is_array":false,"type":"GLTextureSettings","name":"m_TextureSettings","size":24,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FilterMode","size":4,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_Aniso","size":4,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"m_MipBias","size":4,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_WrapU","size":4,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_WrapV","size":4,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_WrapW","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_Dimension","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_VolumeDepth","size":4,"flags":0,"v18meta":0}]}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"nodes":[{"version":6,"level":0,"is_array":false,"type":"RenderTexture","name":"Base","size":-1,"flags":32768,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"string","name":"m_Name","size":-1,"flags":557057,"v18meta":0},{"version":1,"level":2,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":540673,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"int","name":"size","size":4,"flags":524289,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"char","name":"data","size":1,"flags":524289,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_IsAlphaChannelOptional","size":1,"flags":16384,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_Width","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_Height","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_AntiAliasing","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_MipCount","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_DepthStencilFormat","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_ColorFormat","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_MipMap","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_GenerateMips","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_SRGB","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_UseDynamicScale","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_UseDynamicScaleExplicit","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_BindMS","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_EnableCompatibleFormat","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_EnableRandomWrite","size":1,"flags":16384,"v18meta":0},{"version":2,"level":1,"is_array":false,"type":"GLTextureSettings","name":"m_TextureSettings","size":24,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FilterMode","size":4,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_Aniso","size":4,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"m_MipBias","size":4,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_WrapU","size":4,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_WrapV","size":4,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_WrapW","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_Dimension","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_VolumeDepth","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_ShadowSamplingMode","size":4,"flags":0,"v18meta":0}]}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"nodes":[{"version":1,"level":0,"is_array":false,"type":"RenderTexture","name":"Base","size":-1,"flags":32768,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"string","name":"m_Name","size":-1,"flags":557057,"v18meta":null},{"version":1,"level":2,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":540673,"v18meta":null},{"version":1,"level":3,"is_array":false,"type":"int","name":"size","size":4,"flags":524289,"v18meta":null},{"version":1,"level":3,"is_array":false,"type":"char","name":"data","size":1,"flags":524289,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_ForcedFallbackFormat","size":4,"flags":0,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_DownscaleFallback","size":1,"flags":16384,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_Width","size":4,"flags":0,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_Height","size":4,"flags":0,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_AntiAliasing","size":4,"flags":0,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_DepthFormat","size":4,"flags":0,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_ColorFormat","size":4,"flags":0,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_MipMap","size":1,"flags":0,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_GenerateMips","size":1,"flags":0,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_SRGB","size":1,"flags":0,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_UseDynamicScale","size":1,"flags":0,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_BindMS","size":1,"flags":16384,"v18meta":null},{"version":2,"level":1,"is_array":false,"type":"GLTextureSettings","name":"m_TextureSettings","size":24,"flags":0,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FilterMode","size":4,"flags":0,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_Aniso","size":4,"flags":0,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"float","name":"m_MipBias","size":4,"flags":0,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_WrapU","size":4,"flags":0,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_WrapV","size":4,"flags":0,"v18meta":null},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_WrapW","size":4,"flags":0,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_Dimension","size":4,"flags":0,"v18meta":null},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_VolumeDepth","size":4,"flags":0,"v18meta":null}]}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"nodes":[{"version":5,"level":0,"is_array":false,"type":"RenderTexture","name":"Base","size":-1,"flags":32768,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"string","name":"m_Name","size":-1,"flags":557057,"v18meta":0},{"version":1,"level":2,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":540673,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"int","name":"size","size":4,"flags":524289,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"char","name":"data","size":1,"flags":524289,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_ForcedFallbackFormat","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_DownscaleFallback","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_IsAlphaChannelOptional","size":1,"flags":16384,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_Width","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_Height","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_AntiAliasing","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_MipCount","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_DepthStencilFormat","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_ColorFormat","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_MipMap","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_GenerateMips","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_SRGB","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_UseDynamicScale","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_BindMS","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_EnableCompatibleFormat","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_EnableRandomWrite","size":1,"flags":16384,"v18meta":0},{"version":2,"level":1,"is_array":false,"type":"GLTextureSettings","name":"m_TextureSettings","size":24,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FilterMode","size":4,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_Aniso","size":4,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"float","name":"m_MipBias","size":4,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_WrapU","size":4,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_WrapV","size":4,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_WrapW","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_Dimension","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_VolumeDepth","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_ShadowSamplingMode","size":4,"flags":0,"v18meta":0}]}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"nodes":[{"version":4,"level":0,"is_array":false,"type":"LightingSettings","name":"Base","size":-1,"flags":32768,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"string","name":"m_Name","size":-1,"flags":557057,"v18meta":0},{"version":1,"level":2,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":540673,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"int","name":"size","size":4,"flags":524289,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"char","name":"data","size":1,"flags":524289,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_GIWorkflowMode","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_EnableBakedLightmaps","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_EnableRealtimeLightmaps","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_RealtimeEnvironmentLighting","size":1,"flags":16384,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"float","name":"m_BounceScale","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"float","name":"m_AlbedoBoost","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"float","name":"m_IndirectOutputScale","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_UsingShadowmask","size":1,"flags":16384,"v18meta":0}]}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"nodes":[{"version":3,"level":0,"is_array":false,"type":"LightingSettings","name":"Base","size":-1,"flags":32768,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"string","name":"m_Name","size":-1,"flags":557057,"v18meta":0},{"version":1,"level":2,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":540673,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"int","name":"size","size":4,"flags":524289,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"char","name":"data","size":1,"flags":524289,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_GIWorkflowMode","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_EnableBakedLightmaps","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_EnableRealtimeLightmaps","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_RealtimeEnvironmentLighting","size":1,"flags":16384,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"float","name":"m_BounceScale","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"float","name":"m_AlbedoBoost","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"float","name":"m_IndirectOutputScale","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_UsingShadowmask","size":1,"flags":16384,"v18meta":0}]}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"nodes":[{"version":9,"level":0,"is_array":false,"type":"LightingSettings","name":"Base","size":-1,"flags":32768,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"string","name":"m_Name","size":-1,"flags":557057,"v18meta":0},{"version":1,"level":2,"is_array":true,"type":"Array","name":"Array","size":-1,"flags":540673,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"int","name":"size","size":4,"flags":524289,"v18meta":0},{"version":1,"level":3,"is_array":false,"type":"char","name":"data","size":1,"flags":524289,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_EnableBakedLightmaps","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_EnableRealtimeLightmaps","size":1,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_RealtimeEnvironmentLighting","size":1,"flags":16384,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"float","name":"m_BounceScale","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"float","name":"m_AlbedoBoost","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"float","name":"m_IndirectOutputScale","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_UsingShadowmask","size":1,"flags":16384,"v18meta":0}]}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"nodes":[{"version":5,"level":0,"is_array":false,"type":"Animator","name":"Base","size":52,"flags":32768,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"PPtr<GameObject>","name":"m_GameObject","size":12,"flags":65,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":65,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":65,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"UInt8","name":"m_Enabled","size":1,"flags":16641,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"PPtr<Avatar>","name":"m_Avatar","size":12,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":8388609,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":8388609,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"PPtr<RuntimeAnimatorController>","name":"m_Controller","size":12,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":8388609,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":8388609,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_CullingMode","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_UpdateMode","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_ApplyRootMotion","size":1,"flags":8388608,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_LinearVelocityBlending","size":1,"flags":8388608,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_StabilizeFeet","size":1,"flags":8404992,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_HasTransformHierarchy","size":1,"flags":8388608,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_AllowConstantClipSamplingOptimization","size":1,"flags":8388608,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_KeepAnimatorStateOnDisable","size":1,"flags":8388608,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_WriteDefaultValuesOnDisable","size":1,"flags":8404992,"v18meta":0}]}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"nodes":[{"version":7,"level":0,"is_array":false,"type":"Animator","name":"Base","size":53,"flags":32768,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"PPtr<GameObject>","name":"m_GameObject","size":12,"flags":65,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":65,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":65,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"UInt8","name":"m_Enabled","size":1,"flags":16641,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"PPtr<Avatar>","name":"m_Avatar","size":12,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":8388609,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":8388609,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"PPtr<RuntimeAnimatorController>","name":"m_Controller","size":12,"flags":0,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"int","name":"m_FileID","size":4,"flags":8388609,"v18meta":0},{"version":1,"level":2,"is_array":false,"type":"SInt64","name":"m_PathID","size":8,"flags":8388609,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_CullingMode","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"int","name":"m_UpdateMode","size":4,"flags":0,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_ApplyRootMotion","size":1,"flags":8388608,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_LinearVelocityBlending","size":1,"flags":8388608,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_StabilizeFeet","size":1,"flags":8388608,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_AnimatePhysics","size":1,"flags":8404992,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_HasTransformHierarchy","size":1,"flags":8388608,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_AllowConstantClipSamplingOptimization","size":1,"flags":8388608,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_KeepAnimatorStateOnDisable","size":1,"flags":8388608,"v18meta":0},{"version":1,"level":1,"is_array":false,"type":"bool","name":"m_WriteDefaultValuesOnDisable","size":1,"flags":8404992,"v18meta":0}]}
|
||||||
File diff suppressed because one or more lines are too long
@@ -2,5 +2,5 @@
|
|||||||
|
|
||||||
module Mikunyan
|
module Mikunyan
|
||||||
# version string
|
# version string
|
||||||
VERSION = '3.9.7'
|
VERSION = '3.9.13'
|
||||||
end
|
end
|
||||||
|
|||||||
+4
-4
@@ -14,20 +14,20 @@ Gem::Specification.new do |spec|
|
|||||||
spec.description = 'Library to deserialize Unity assetbundles and assets.'
|
spec.description = 'Library to deserialize Unity assetbundles and assets.'
|
||||||
spec.homepage = 'https://github.com/Ishotihadus/mikunyan'
|
spec.homepage = 'https://github.com/Ishotihadus/mikunyan'
|
||||||
spec.license = 'MIT'
|
spec.license = 'MIT'
|
||||||
|
spec.required_ruby_version = '>= 2.6.0'
|
||||||
|
|
||||||
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
||||||
f.match(%r{^(test|spec|features)/})
|
f.match(%r{^(test|spec|features)/})
|
||||||
end
|
end
|
||||||
spec.bindir = 'exe'
|
spec.bindir = 'exe'
|
||||||
spec.executables = spec.files.grep(%r{^exe/}){|f| File.basename(f)}
|
spec.executables = spec.files.grep(%r{^exe/}) {|f| File.basename(f)}
|
||||||
spec.require_paths = ['lib']
|
spec.require_paths = ['lib']
|
||||||
spec.extensions = ['ext/decoders/native/extconf.rb', 'ext/decoders/crunch/extconf.rb']
|
spec.extensions = ['ext/decoders/native/extconf.rb', 'ext/decoders/crunch/extconf.rb']
|
||||||
|
|
||||||
spec.add_dependency 'bin_utils', '~> 0'
|
spec.add_dependency 'bin_utils', '~> 0'
|
||||||
spec.add_dependency 'chunky_png', '~> 1'
|
spec.add_dependency 'chunky_png', '~> 1'
|
||||||
spec.add_dependency 'extlz4', '~> 0'
|
spec.add_dependency 'extlz4', '~> 0'
|
||||||
spec.add_dependency 'extlzma', '~> 0'
|
spec.add_dependency 'extlzma2', '~> 2'
|
||||||
spec.add_dependency 'json', '~> 2'
|
|
||||||
|
|
||||||
spec.add_development_dependency 'bundler', '~> 2'
|
spec.add_development_dependency 'bundler', '~> 2'
|
||||||
spec.add_development_dependency 'oily_png', '~> 1'
|
spec.add_development_dependency 'oily_png', '~> 1'
|
||||||
|
|||||||
@@ -0,0 +1,89 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'extlz4'
|
||||||
|
require 'mikunyan'
|
||||||
|
|
||||||
|
def unlz4(bin)
|
||||||
|
header = bin.unpack('V4')
|
||||||
|
LZ4.raw_decode(bin.byteslice(16, header[2]))
|
||||||
|
end
|
||||||
|
|
||||||
|
exit(1) if ARGV.empty?
|
||||||
|
|
||||||
|
files = []
|
||||||
|
opts = { recursive: false }
|
||||||
|
ARGV.each do |arg|
|
||||||
|
if ['--recursive', '-r'].include?(arg)
|
||||||
|
opts[:recursive] = true
|
||||||
|
else
|
||||||
|
files << arg
|
||||||
|
end
|
||||||
|
end
|
||||||
|
files = files.flat_map do |f|
|
||||||
|
if File.directory?(f)
|
||||||
|
Dir.glob(opts[:recursive] ? "#{f}/**/*" : "#{f}/*")
|
||||||
|
else
|
||||||
|
f
|
||||||
|
end
|
||||||
|
end
|
||||||
|
files.select! {|e| File.file?(e)}
|
||||||
|
|
||||||
|
count = files.size
|
||||||
|
files.shuffle.each_with_index do |file, idx|
|
||||||
|
type =
|
||||||
|
File.open(file, 'rb') do |io|
|
||||||
|
sig = io.read(5)
|
||||||
|
next :raw if sig == 'Unity'
|
||||||
|
|
||||||
|
sig = (sig + io.read(11)).unpack('V4')
|
||||||
|
:cgss_lz4 if sig[0] == 100 && sig[3] == 1
|
||||||
|
end
|
||||||
|
next unless type
|
||||||
|
|
||||||
|
file_output = false
|
||||||
|
print "\r\e[0K[#{idx + 1}/#{count}] #{file}"
|
||||||
|
bundle =
|
||||||
|
case type
|
||||||
|
when :raw
|
||||||
|
Mikunyan::AssetBundle.file(file)
|
||||||
|
when :cgss_lz4
|
||||||
|
Mikunyan::AssetBundle.load(unlz4(File.binread(file)))
|
||||||
|
end
|
||||||
|
bundle.each_asset do |asset|
|
||||||
|
print "\r\e[0K[#{idx + 1}/#{count}] #{file}: #{asset.name}"
|
||||||
|
asset_output = false
|
||||||
|
asset.each_object do |obj|
|
||||||
|
result = obj.parse
|
||||||
|
unless result
|
||||||
|
print "\r\e[0K"
|
||||||
|
unless asset_output
|
||||||
|
unless file_output
|
||||||
|
puts file
|
||||||
|
file_output = true
|
||||||
|
end
|
||||||
|
puts " asset `#{asset.name}`"
|
||||||
|
asset_output = true
|
||||||
|
end
|
||||||
|
puts " \e[34m#{format('% 17x', obj.path_id)}: Skipped (#{obj.type})\e[0m"
|
||||||
|
end
|
||||||
|
# if obj.parse
|
||||||
|
# puts " \e[32m#{format('% 17x', obj.path_id)}: Success\e[0m"
|
||||||
|
# else
|
||||||
|
# puts " \e[34m#{format('% 17x', obj.path_id)}: Skip (#{obj.type})\e[0m"
|
||||||
|
# end
|
||||||
|
rescue StandardError
|
||||||
|
print "\r\e[0K"
|
||||||
|
unless asset_output
|
||||||
|
unless file_output
|
||||||
|
puts file
|
||||||
|
file_output = true
|
||||||
|
end
|
||||||
|
puts " asset `#{asset.name}`"
|
||||||
|
asset_output = true
|
||||||
|
end
|
||||||
|
puts " \e[1m\e[31m#{format('% 17x', obj.path_id)}: Failed (#{$!})\e[0m"
|
||||||
|
puts $!
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
puts
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'extlz4'
|
||||||
|
require 'mikunyan'
|
||||||
|
|
||||||
|
def unlz4(bin)
|
||||||
|
header = bin.unpack('V4')
|
||||||
|
LZ4.raw_decode(bin.byteslice(16, header[2]))
|
||||||
|
end
|
||||||
|
|
||||||
|
exit(1) if ARGV.empty?
|
||||||
|
|
||||||
|
files = []
|
||||||
|
ARGV.each do |arg|
|
||||||
|
if File.directory?(arg)
|
||||||
|
files += Dir.glob("#{arg}/**/*")
|
||||||
|
else
|
||||||
|
files << arg
|
||||||
|
end
|
||||||
|
end
|
||||||
|
files.select! {|e| File.file?(e)}
|
||||||
|
|
||||||
|
count = files.size
|
||||||
|
files.shuffle.each_with_index do |file, idx|
|
||||||
|
type =
|
||||||
|
File.open(file, 'rb') do |io|
|
||||||
|
sig = io.read(5)
|
||||||
|
next :raw if sig == 'Unity'
|
||||||
|
|
||||||
|
sig = (sig + io.read(11)).unpack('V4')
|
||||||
|
:cgss_lz4 if sig[0] == 100 && sig[3] == 1
|
||||||
|
end
|
||||||
|
next unless type
|
||||||
|
|
||||||
|
print "\r\e[0K[#{idx + 1}/#{count}] #{file}"
|
||||||
|
bundle =
|
||||||
|
case type
|
||||||
|
when :raw
|
||||||
|
Mikunyan::AssetBundle.file(file)
|
||||||
|
when :cgss_lz4
|
||||||
|
Mikunyan::AssetBundle.load(unlz4(File.binread(file)))
|
||||||
|
end
|
||||||
|
bundle.each_asset do |asset|
|
||||||
|
print "\r\e[0K[#{idx + 1}/#{count}] #{file}: #{asset.name}"
|
||||||
|
asset.klasses.each do |klass|
|
||||||
|
hash = klass.hash.unpack1('H*')
|
||||||
|
next unless hash.size == 32 && klass.type_tree
|
||||||
|
|
||||||
|
dir = "lib/mikunyan/typetrees/#{klass.class_id}"
|
||||||
|
json_file = "#{dir}/#{hash}.json"
|
||||||
|
next if File.exist?(json_file)
|
||||||
|
|
||||||
|
puts "\r\e[0K[#{idx + 1}/#{count}] #{file}: #{asset.name}"
|
||||||
|
puts " #{klass.type_tree.tree.type} (#{klass.class_id}) -> #{hash}"
|
||||||
|
Dir.mkdir(dir) unless File.directory?(dir)
|
||||||
|
File.binwrite(json_file, JSON.generate(klass.type_tree.serialize))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
puts
|
||||||
Reference in New Issue
Block a user