rvdata2読み込み時にTableが読めなかったので、

こんなのを用意してみた。

class Table
  def initialize(xsize=1, ysize=1, zsize=1)
    @level = 0
    @level += 1 if xsize > 1
    @level += 1 if ysize > 1
    @level += 1 if zsize > 1
    
    @xsize = xsize
    @ysize = ysize
    @zsize = zsize
    
    @size  = @xsize*@ysize*@zsize
    @body  = Array.new(@size, 0)
  end
  def self._load(data)
    table = Table.new
    
    header = data[0...20].unpack("V*")
    table.level = header[0]
    table.xsize = header[1]
    table.ysize = header[2]
    table.zsize = header[3]
    table.size  = header[4]
    
    table.body  = data[20...data.size].unpack("v*")
    
    return table
  end
  def self._dump
    header = [@level, @xsize, @ysize, @zsize, @size].pack("V*")
    body = @body.pack("v*")
    return header + body
  end
  attr_accessor :level, :xsize, :ysize, :zsize, :size, :body
end

機能を完全にはシミュレートしているわけではないけど、なんとなく、読み込めている???