Пример #1
0
    def to_string(me):
        rawchunks = []

        if me.name is not None:
            rawchunks.append(('rNAM', me.name))
        if me.isbase:
            rawchunks.append(('rBSE', ''))
        if me.noanti:
            rawchunks.append(('rNAW', ''))
        if me.noweapons:
            rawchunks.append(('rNWP', ''))
        if me.noflags:
            rawchunks.append(('rNFL', ''))
        if me.autowarp:
            x, y, arena = me.autowarp
            if arena:
                data = struct.pack('<hh16s', x, y, arena)
            else:
                data = struct.pack('<hh', x, y)
            rawchunks.append(('rAWP', data))

        rawchunks.append(('rTIL', me.get_tile_data()))

        rawchunks.extend(me.chunks)

        f = cStringIO.StringIO()
        chunks.write_chunks(f, rawchunks)
        return f.getvalue()
Пример #2
0
    def to_string(me):
        rawchunks = []

        if me.name is not None:
            rawchunks.append(("rNAM", me.name))
        if me.isbase:
            rawchunks.append(("rBSE", ""))
        if me.noanti:
            rawchunks.append(("rNAW", ""))
        if me.noweapons:
            rawchunks.append(("rNWP", ""))
        if me.noflags:
            rawchunks.append(("rNFL", ""))
        if me.autowarp:
            x, y, arena = me.autowarp
            if arena:
                data = struct.pack("<hh16s", x, y, arena)
            else:
                data = struct.pack("<hh", x, y)
            rawchunks.append(("rAWP", data))

        rawchunks.append(("rTIL", me.get_tile_data()))

        rawchunks.extend(me.chunks)

        f = cStringIO.StringIO()
        chunks.write_chunks(f, rawchunks)
        return f.getvalue()
Пример #3
0
	def metadata_to_string(me):
		hasmeta = me.chunks or me.regions or me.attrs
		if not hasmeta:
			return ''

		rawchunks = []
		for k, v in me.attrs.items():
			rawchunks.append(('ATTR', '%s=%s' % (k, v)))

		for rgn in me.regions:
			rawchunks.append(('REGN', rgn.to_string()))

		rawchunks.extend(me.chunks)

		f = cStringIO.StringIO()
		totalsize = chunks.write_chunks(f, rawchunks)

		header = struct.pack('<III', METADATA_MAGIC, totalsize + 12, 0)
		return header + f.getvalue()