mikunyan 3.9.10 → 3.9.11

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 307573d81cdf56b190cc886ee41d6f529a163dedd5821d8d0b752f13757f6bc1
4
- data.tar.gz: 37e833380ead2464767773f06b31a72e4f53ea956d69d0b300a13e06f2b93b47
3
+ metadata.gz: 1e5e3d5c120c92755e001d96c7c477523fd7b4886427dabef9ac1bb7dbc32f6a
4
+ data.tar.gz: 61635b8b6b182d8fade2a57baaa1a9a3d9b1cfa611606e7864dc03b6731fa769
5
5
  SHA512:
6
- metadata.gz: 87d9749eebdedb468b7ef6d370775b7769a12b7930b4d3feddea462ef3a2a6611ad9417f5d11cb70e7fc5c2ef8174a967a6a3d480d6171685a4f33fc652ff63f
7
- data.tar.gz: 9044ea58c2270b85c067ea3b80f9f737ae5d156c71284d7049125f511b389c52e0c10b67917add739fc6fce721a56cc790a5791988e64e1bf70da3e313ac684f
6
+ metadata.gz: cdfc9f0678ce426a5ea4ec8fd11f65812d2fcb80a4640c8b119edffaa5a207fba6d133febd9866a94f410c6fd09271254ea9f6af1118a40f3110779c1b594572
7
+ data.tar.gz: 8bcf56993a56111e53407bc2d29c3a0ff8c87701f599f7378553a3a08c23934ec9e2462044db895f2d859963aef352544bea9236d3db14db106c7a2cdf836fce
@@ -59,7 +59,7 @@ module Mikunyan
59
59
  @unity_version = br.cstr
60
60
  @generator_version = br.cstr
61
61
 
62
- @format < 6 ? load_unity_raw(br) : load_unity_fs(br)
62
+ @format == 6 || @signature == 'UnityFS' ? load_unity_fs(br, @signature) : load_unity_raw(br)
63
63
  end
64
64
 
65
65
  # @param [Mikunyan::BinaryReader] br
@@ -86,18 +86,22 @@ module Mikunyan
86
86
  end
87
87
 
88
88
  # @param [Mikunyan::BinaryReader] br
89
- def load_unity_fs(br)
89
+ def load_unity_fs(br, signature)
90
90
  file_size = br.i64u
91
91
  ci_block_size = br.i32u
92
92
  ui_block_size = br.i32u
93
93
  flags = br.i32u
94
94
 
95
+ br.adv(1) unless signature == 'UnityFS'
96
+
95
97
  br.align(16) if @format >= 7
96
98
 
97
99
  head_bin = flags & 0x80 == 0 ? br.read(ci_block_size) : br.read_abs(ci_block_size, file_size - ci_block_size)
98
100
  head = BinaryReader.new(uncompress(head_bin, ui_block_size, flags))
99
101
  @guid = head.read(16)
100
102
 
103
+ br.align(16) unless flags & 0x200 == 0
104
+
101
105
  block_count = head.i32u
102
106
  raw_data = Array.new(block_count) do
103
107
  u_size = head.i32u
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Mikunyan
4
4
  # version string
5
- VERSION = '3.9.10'
5
+ VERSION = '3.9.11'
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mikunyan
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.9.10
4
+ version: 3.9.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ishotihadus
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-11-23 00:00:00.000000000 Z
11
+ date: 2023-05-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bin_utils
@@ -365,7 +365,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
365
365
  - !ruby/object:Gem::Version
366
366
  version: '0'
367
367
  requirements: []
368
- rubygems_version: 3.4.0.dev
368
+ rubygems_version: 3.4.10
369
369
  signing_key:
370
370
  specification_version: 4
371
371
  summary: Unity asset deserializer for Ruby