25 Commits

Author SHA1 Message Date
Ishotihadus c32481cc13 Bump version to v3.9.13 2026-01-11 01:41:47 +09:00
Ishotihadus a462047004 Fix format 2026-01-11 01:41:41 +09:00
Ishotihadus 13711a710a Add several typetrees 2026-01-11 01:40:31 +09:00
Ishotihadus 01701b4d86 Bump version to 3.9.12 2023-06-28 14:13:12 +09:00
Ishotihadus be0d1fc84d Add TypeTrees 2023-06-28 14:13:00 +09:00
Ishotihadus 2b07a718f7 Bump version to 3.9.11 2023-05-16 11:37:00 +09:00
Ishotihadus 59345b5d83 Fix Unity 2021 2023-05-16 11:09:15 +09:00
Ishotihadus 4db2517018 Bump version to 3.9.10 2022-11-23 21:43:48 +09:00
Ishotihadus 95573408d5 Add default TypeTrees 2022-11-23 21:43:22 +09:00
Ishotihadus d46e96b844 Fix extconf 2022-11-23 21:37:10 +09:00
Ishotihadus 4d204a9c45 Add comment to README by the suggestion #4 2022-11-23 21:20:10 +09:00
Ishotihadus 5c5ec70784 Fix Rakefile 2022-11-23 21:12:42 +09:00
Ishotihadus 5564af7ba9 Improve code format 2022-11-23 21:07:33 +09:00
Ishotihadus b0991a8bf6 Add Ruby 3.2 support 2022-11-23 21:03:21 +09:00
Ishotihadus de47d41874 bump version to 3.9.9 2021-08-10 17:40:37 +09:00
Ishotihadus 3f7a4b3c38 add default typetrees 2021-08-10 17:40:01 +09:00
Ishotihadus d0312af3d9 fix unity 2020 2021-08-10 17:39:55 +09:00
Ishotihadus 6972cefb1f improve robustness of mikunyan-image 2021-06-22 13:38:04 +09:00
Ishotihadus 0485c187ec add default typetrees 2021-06-15 14:16:41 +09:00
Ishotihadus a1c268e469 refactoring 2020-06-20 18:50:22 +09:00
Ishotihadus 387a683ff0 imporove mikunyan-image 2020-06-20 18:50:02 +09:00
Ishotihadus 9a520637e9 add Asset#path_id 2020-06-20 17:56:42 +09:00
Ishotihadus d37c72de80 improve Asset::ObjectEntry#type 2020-03-05 01:39:53 +09:00
Ishotihadus 0ab1fd27a6 bump version to 3.9.8 2020-03-01 02:32:26 +09:00
Ishotihadus 652a437d14 add support for version 21 & 22 2020-03-01 02:29:33 +09:00
96 changed files with 483 additions and 139 deletions
+42
View File
@@ -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 -1
View File
@@ -1,2 +1,2 @@
source "https://rubygems.org" source 'https://rubygems.org'
gemspec gemspec
+2 -1
View File
@@ -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)
+2 -2
View File
@@ -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
View File
@@ -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 << {
+3
View File
@@ -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')
+3
View File
@@ -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
View File
@@ -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
+13 -6
View File
@@ -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
+2
View File
@@ -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
View File
@@ -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
+17 -7
View File
@@ -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
+3 -3
View File
@@ -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
+4 -1
View File
@@ -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
+1 -1
View File
@@ -2,5 +2,5 @@
module Mikunyan module Mikunyan
# version string # version string
VERSION = '3.9.7' VERSION = '3.9.13'
end end
+4 -4
View File
@@ -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'
+89
View File
@@ -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
+60
View File
@@ -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