.obj files are not DEFLATE
This commit is contained in:
@@ -177,28 +177,36 @@ display(parsed.sprites[0], 8, 0)
|
||||
# Step through every byte of each sprite so we manage if some header is present
|
||||
#
|
||||
# Tried so far, with no success:
|
||||
# * DEFLATE / ZLIB
|
||||
# * LZO
|
||||
# * LZOP
|
||||
|
||||
|
||||
puts "\nAttempting decompression..."
|
||||
|
||||
require 'lzo'
|
||||
require 'zlib'
|
||||
|
||||
parsed.sprites.each_with_index do |sprite, i|
|
||||
print "Sprite %02d..."%i
|
||||
|
||||
(0...sprite.size).each do |offset|
|
||||
(0...64).each do |offset|
|
||||
block = sprite.byteslice(offset, sprite.size-offset)
|
||||
|
||||
begin
|
||||
decompressed = LZO.decompress(block)
|
||||
inflater = Zlib::Inflate.new(-32)
|
||||
decompressed = ""
|
||||
decompressed << inflater.inflate(block)
|
||||
raise "0 bytes" if decompressed.size == 0
|
||||
|
||||
puts "succeeded! sprite=#{i} offset=#{offset} decompressed_size=#{decompressed.size}"
|
||||
puts "data:"
|
||||
puts decompressed.inspect
|
||||
exit 0
|
||||
rescue => err
|
||||
puts "failed: #{err}"
|
||||
end
|
||||
end
|
||||
|
||||
puts "failed"
|
||||
#puts "failed"
|
||||
end
|
||||
|
||||
|
Reference in New Issue
Block a user