Example #1
0
File: file.py Project: msg/g2ools
  def format_area(self, area, bitstream):
    modules = []
    for module in area.modules:
      try:
        if not len(module.params):
          continue
        modules.append(module)
      except:
        pass
    modules.sort(lambda a, b: cmp(a.index, b.index))

    write_bits = bitstream.write_bits

    mlen = len(modules)
    bitstream.write_bitsa([2, 8], [area.index, mlen])
    if mlen == 0:
      write_bits(8, 0)
      return bitstream.tell_bit()

    write_bits(8, NVARIATIONS)
    for module in modules:
      write_bits(8, module.index)

      params = module.params
      write_bits(7, len(params))
      for variation in xrange(NVARIATIONS):
        write_bits(8, variation)
        for param in params:
          write_bits(7, param.variations[variation])
Example #2
0
    def format_area(self, area, bitstream):
        modules = []
        for module in area.modules:
            try:
                if not len(module.params):
                    continue
                modules.append(module)
            except:
                pass
        modules.sort(lambda a, b: cmp(a.index, b.index))

        write_bits = bitstream.write_bits

        mlen = len(modules)
        bitstream.write_bitsa([2, 8], [area.index, mlen])
        if mlen == 0:
            write_bits(8, 0)
            return bitstream.tell_bit()

        write_bits(8, NVARIATIONS)
        for module in modules:
            write_bits(8, module.index)

            params = module.params
            write_bits(7, len(params))
            for variation in xrange(NVARIATIONS):
                write_bits(8, variation)
                for param in params:
                    write_bits(7, param.variations[variation])
Example #3
0
File: file.py Project: msg/g2ools
  def format_area(self, area, bitstream):
    # collect all modules with parameters that have labels
    modules = []
    for module in area.modules:
      if hasattr(module, 'params'):
        for param in module.params:
          if hasattr(param, 'labels'):
            modules.append(module)
            break
      elif hasattr(module, 'editmodes'):
        modules.append(module)

    bitstream.write_bitsa([2, 8], [area.index, len(modules)])
    for module in modules:
      self.format_module(module, bitstream)

    return bitstream.tell_bit()
Example #4
0
    def format_area(self, area, bitstream):
        # collect all modules with parameters that have labels
        modules = []
        for module in area.modules:
            if hasattr(module, 'params'):
                for param in module.params:
                    if hasattr(param, 'labels'):
                        modules.append(module)
                        break
            elif hasattr(module, 'editmodes'):
                modules.append(module)

        bitstream.write_bitsa([2, 8], [area.index, len(modules)])
        for module in modules:
            self.format_module(module, bitstream)

        return bitstream.tell_bit()