Class: Tassadar::MPQ::FileDataArray

Inherits:
BinData::BasePrimitive
  • Object
show all
Defined in:
lib/tassadar/mpq/file_data.rb

Instance Method Summary collapse

Instance Method Details

#read_and_return_value(io) ⇒ Object



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/tassadar/mpq/file_data.rb', line 60

def read_and_return_value(io)
  result = []
  sector_size = 512 * (2 ** eval_parameter(:sector_size_shift))

  eval_parameter(:blocks).each do |block|
    num_sectors = block.flags & 0x01000000 ? 1 : (block["block_size"] / sector_size)
    file = FileData.new(:adjust_offset => block.block_offset + eval_parameter(:archive_header_offset),
                        :block => block).read(io)
    file.block_offset = block.block_offset

    result << file
  end

  result
end

#sensible_defaultObject



80
81
82
# File 'lib/tassadar/mpq/file_data.rb', line 80

def sensible_default
  ''
end

#value_to_binary_string(value) ⇒ Object



76
77
78
# File 'lib/tassadar/mpq/file_data.rb', line 76

def value_to_binary_string(value)
  value.pack("V*")
end