mikunyan 3.9.10 → 3.9.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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