.obj files are not DEFLATE

This commit is contained in:
2018-03-20 00:32:39 +00:00
parent 6eddefda38
commit f1261d1e2f

View File

@@ -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