#!/usr/bin/perl open LEVEL, "<00.lfl"; read LEVEL, $level, 1024*1024; $level =~ s/(.)/chr(ord($1)^0xff)/egs; $n = unpack "v", substr($level, 2,2); # skip objects $level = substr($level, 4+$n); $n = unpack "c", substr($level, 0, 1); $level = substr $level,1; print "1.Kind: $n\n"; for ($i = 0; $i < $n; $i++) { printf " %3d: %04x\n", ord(substr($level, $i,1))&0xff, unpack "v", substr($level, $n+2*$i, 2); } $level = substr $level, 3*$n; $n = unpack "c", substr($level, 0, 1); $level = substr $level,1; print "2.Kind: $n\n"; for ($i = 0; $i < $n; $i++) { printf " %3d: %04x\n", ord(substr($level, $i,1))&0xff, unpack "v", substr($level, $n+2*$i, 2); } $level = substr $level, 3*$n; $n = (unpack "c", substr($level, 0, 1)) & 0xff; $level = substr $level,1; print "3.Kind: $n\n"; for ($i = 0; $i < $n; $i++) { printf " %3d: %04x\n", ord(substr($level, $i,1))&0xff, unpack "v", substr($level, $n+2*$i, 2); } $level = substr $level, 3*$n; $n = (unpack "c", substr($level, 0, 1)) & 0xff; $level = substr $level,1; print "4.Kind: $n\n"; for ($i = 0; $i < $n; $i++) { printf " %3d: %04x\n", ord(substr($level, $i,1))&0xff, unpack "v", substr($level, $n+2*$i, 2); } $level = substr $level, 3*$n;