function extract_mogi($filename){ $fh = fopen($filename, 'r'); seek_to_chunk($fh, 'MOHD'); fseek($fh, 4, SEEK_CUR); $groups = read_int($fh); seek_to_chunk($fh, 'MOHD'); fseek($fh, 0x24, SEEK_CUR); $floats = fread($fh, 24); $box = unpack('f6', $floats); #echo "root\t\t: ".format_box($box)."\n"; $chunks = array(); seek_to_chunk($fh, 'MOGI'); for ($i=0; $i<$groups; $i++){ $flags = read_int($fh); $floats = fread($fh, 24); $box = unpack('f6', $floats); $name = read_int($fh); $chunks[$i] = array($box[1], 0-$box[2], $box[3], $box[4], 0-$box[5], $box[6]); #echo "group $i \t: ".format_box($box)."\n"; #print_r($box); } #echo "found $groups groups\n"; #exit; fclose($fh); return $chunks; }
function extract_mogi($filename){ $fh = fopen($filename, 'r'); seek_to_chunk($fh, 'MOHD'); fseek($fh, 4, SEEK_CUR); $groups = read_int($fh); seek_to_chunk($fh, 'MOHD'); fseek($fh, 0x24, SEEK_CUR); $floats = fread($fh, 24); $box = unpack('f6', $floats); echo "root\t\t: ".format_box($box)."\n"; seek_to_chunk($fh, 'MOGI'); for ($i=0; $i<$groups; $i++){ $flags = read_int($fh); $floats = fread($fh, 24); $box = unpack('f6', $floats); $name = read_int($fh); echo "group $i \t: ".format_box($box)."\n"; #print_r($box); } #echo "found $groups groups\n"; #exit; }