feh-bin 0.1.4 → 0.2.0
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 +4 -4
- data/.gitignore +0 -0
- data/Gemfile +0 -0
- data/Gemfile.lock +8 -8
- data/LICENSE.txt +0 -0
- data/README.md +15 -0
- data/Rakefile +0 -0
- data/feh-bin.gemspec +3 -3
- data/fuzz/fuzz_feh_bin.rb +0 -0
- data/lib/feh/bin/array_istream.rb +0 -0
- data/lib/feh/bin/array_ostream.rb +0 -0
- data/lib/feh/bin/lz11.rb +0 -0
- data/lib/feh/bin/version.rb +1 -1
- data/lib/feh/bin.rb +6 -6
- metadata +12 -13
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 74bef714ca93f4872ed31bbcab86aebf0ce0cbb9a21737e5db97163a232b5a7c
|
|
4
|
+
data.tar.gz: 9e4da872f92c073dc081f2225f5c0e873a5845641f823e453925a4c9e8b0ff19
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ac92ed5505d6d191209effa0013de9337cd59a7467896fce74303bea59bff67328fcf8bae9ff520afd7e4d9ccdf070979c0b0c57ddc826bec2eab588beccc6e3
|
|
7
|
+
data.tar.gz: 52d400fc11d3f0f2f5e3e190ddec725cb3930e645fbb760e6e36b56061d111f22a3f151640632769ee1b73a6d3ee646ea51a667dd0f5eaf795688072ee0351ef
|
data/.gitignore
CHANGED
|
File without changes
|
data/Gemfile
CHANGED
|
File without changes
|
data/Gemfile.lock
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
feh-bin (0.
|
|
4
|
+
feh-bin (0.2.0)
|
|
5
5
|
|
|
6
6
|
GEM
|
|
7
7
|
remote: https://rubygems.org/
|
|
8
8
|
specs:
|
|
9
|
-
minitest (5.
|
|
10
|
-
rake (
|
|
9
|
+
minitest (5.18.0)
|
|
10
|
+
rake (13.0.6)
|
|
11
11
|
|
|
12
12
|
PLATFORMS
|
|
13
|
-
|
|
13
|
+
x86_64-linux
|
|
14
14
|
|
|
15
15
|
DEPENDENCIES
|
|
16
|
-
bundler
|
|
16
|
+
bundler
|
|
17
17
|
feh-bin!
|
|
18
|
-
minitest
|
|
19
|
-
rake
|
|
18
|
+
minitest
|
|
19
|
+
rake
|
|
20
20
|
|
|
21
21
|
BUNDLED WITH
|
|
22
|
-
|
|
22
|
+
2.4.6
|
data/LICENSE.txt
CHANGED
|
File without changes
|
data/README.md
CHANGED
|
@@ -16,6 +16,12 @@ To convert `a.bin` to `a.bin.lz`, and `b.bin.lz` to `b.bin`:
|
|
|
16
16
|
$ feh_bin_lz a.bin b.bin.lz
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
+
If it takes too long to compress a file, try adding `-s` anywhere:
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
$ feh_bin_lz -s very_large_file.bin
|
|
23
|
+
```
|
|
24
|
+
|
|
19
25
|
## Library example
|
|
20
26
|
|
|
21
27
|
```ruby
|
|
@@ -28,6 +34,15 @@ end
|
|
|
28
34
|
|
|
29
35
|
## Changelog
|
|
30
36
|
|
|
37
|
+
### V0.2.0
|
|
38
|
+
|
|
39
|
+
- Fix `<internal:pack>:8: warning: unknown pack directive '<' in '<l'` message
|
|
40
|
+
- Allow use of Bundler 2.x
|
|
41
|
+
|
|
42
|
+
### V0.1.4
|
|
43
|
+
|
|
44
|
+
- Added command line option `-s` to `feh_bin_lz` which skips LZ11 compression
|
|
45
|
+
|
|
31
46
|
### V0.1.3
|
|
32
47
|
|
|
33
48
|
- Added read support for non-LZ11-compressed .bin.lz files
|
data/Rakefile
CHANGED
|
File without changes
|
data/feh-bin.gemspec
CHANGED
|
@@ -22,7 +22,7 @@ Gem::Specification.new do |spec|
|
|
|
22
22
|
spec.require_paths = ["lib"]
|
|
23
23
|
spec.extra_rdoc_files = ['README.md']
|
|
24
24
|
|
|
25
|
-
spec.add_development_dependency "bundler", "~>
|
|
26
|
-
spec.add_development_dependency "rake", "~>
|
|
27
|
-
spec.add_development_dependency "minitest", "~> 5
|
|
25
|
+
spec.add_development_dependency "bundler", "~> 2"
|
|
26
|
+
spec.add_development_dependency "rake", "~> 13"
|
|
27
|
+
spec.add_development_dependency "minitest", "~> 5"
|
|
28
28
|
end
|
data/fuzz/fuzz_feh_bin.rb
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/lib/feh/bin/lz11.rb
CHANGED
|
File without changes
|
data/lib/feh/bin/version.rb
CHANGED
data/lib/feh/bin.rb
CHANGED
|
@@ -40,7 +40,7 @@ module Feh
|
|
|
40
40
|
header = buf.shift(4)
|
|
41
41
|
xorseed = header[1] | (header[2] << 8) | (header[3] << 16)
|
|
42
42
|
if (header.first & 0xFF) == 0x17 && (buf.first & 0xFF) == 0x11
|
|
43
|
-
xorkey = [0x8083 * xorseed].pack('<
|
|
43
|
+
xorkey = [0x8083 * xorseed].pack('l<').bytes
|
|
44
44
|
(4...buf.size).step(4).each do |i|
|
|
45
45
|
4.times {|j| buf[i + j] ^= xorkey[j]}
|
|
46
46
|
4.times {|j| xorkey[j] ^= buf[i + j]}
|
|
@@ -61,7 +61,7 @@ module Feh
|
|
|
61
61
|
header = buf.shift(4)
|
|
62
62
|
xorseed = header[1] | (header[2] << 8) | (header[3] << 16)
|
|
63
63
|
if header.first == 0x04 && xorseed == buf.size
|
|
64
|
-
xorkey = [0x8083 * xorseed].pack('<
|
|
64
|
+
xorkey = [0x8083 * xorseed].pack('l<').bytes
|
|
65
65
|
(0...buf.size).step(4).each do |i|
|
|
66
66
|
4.times {|j| buf[i + j] ^= xorkey[j]}
|
|
67
67
|
4.times {|j| xorkey[j] ^= buf[i + j]}
|
|
@@ -80,8 +80,8 @@ module Feh
|
|
|
80
80
|
bytes = bytes.bytes if bytes.is_a?(String)
|
|
81
81
|
bytes += [0] * ((-bytes.size) % 4)
|
|
82
82
|
xorseed = bytes.size if xorseed.nil?
|
|
83
|
-
header = [xorseed * 0x100 + 0x17].pack('<
|
|
84
|
-
xorkey = [0x8083 * xorseed].pack('<
|
|
83
|
+
header = [xorseed * 0x100 + 0x17].pack('l<').bytes
|
|
84
|
+
xorkey = [0x8083 * xorseed].pack('l<').bytes
|
|
85
85
|
4.times {|j| bytes[4 + j] ^= xorkey[j]}
|
|
86
86
|
(8...bytes.size).step(4).each do |i|
|
|
87
87
|
4.times {|j| bytes[i + j] ^= bytes[i - 4 + j]}
|
|
@@ -98,8 +98,8 @@ module Feh
|
|
|
98
98
|
bytes = bytes.bytes if bytes.is_a?(String)
|
|
99
99
|
bytes += [0] * ((-bytes.size) % 4)
|
|
100
100
|
xorseed = bytes.size if xorseed.nil?
|
|
101
|
-
header = [xorseed * 0x100 + 0x04].pack('<
|
|
102
|
-
xorkey = [0x8083 * xorseed].pack('<
|
|
101
|
+
header = [xorseed * 0x100 + 0x04].pack('l<').bytes
|
|
102
|
+
xorkey = [0x8083 * xorseed].pack('l<').bytes
|
|
103
103
|
4.times {|j| bytes[j] ^= xorkey[j]}
|
|
104
104
|
(4...bytes.size).step(4).each do |i|
|
|
105
105
|
4.times {|j| bytes[i + j] ^= bytes[i - 4 + j]}
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: feh-bin
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Quinton Miller
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2023-03-31 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -16,42 +16,42 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
19
|
+
version: '2'
|
|
20
20
|
type: :development
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '
|
|
26
|
+
version: '2'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: rake
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
33
|
+
version: '13'
|
|
34
34
|
type: :development
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
40
|
+
version: '13'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: minitest
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
45
|
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '5
|
|
47
|
+
version: '5'
|
|
48
48
|
type: :development
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
52
|
- - "~>"
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '5
|
|
54
|
+
version: '5'
|
|
55
55
|
description: Functions to compress and decompress binary asset files from Fire Emblem
|
|
56
56
|
Heroes
|
|
57
57
|
email:
|
|
@@ -80,7 +80,7 @@ homepage: https://github.com/HertzDevil/feh-bin
|
|
|
80
80
|
licenses:
|
|
81
81
|
- MIT
|
|
82
82
|
metadata: {}
|
|
83
|
-
post_install_message:
|
|
83
|
+
post_install_message:
|
|
84
84
|
rdoc_options: []
|
|
85
85
|
require_paths:
|
|
86
86
|
- lib
|
|
@@ -95,9 +95,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
95
95
|
- !ruby/object:Gem::Version
|
|
96
96
|
version: '0'
|
|
97
97
|
requirements: []
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
signing_key:
|
|
98
|
+
rubygems_version: 3.4.6
|
|
99
|
+
signing_key:
|
|
101
100
|
specification_version: 4
|
|
102
101
|
summary: Conversion routines for Fire Emblem Heroes asset files
|
|
103
102
|
test_files: []
|