Esempio n. 1
0
 def write(self, writer: BinArchiveWriter, spawn_address):
     writer.write_string(self.name)
     writer.write_pointer(spawn_address)
     writer.write_u32(len(self.spawns))
     end_address = writer.tell()
     writer.seek(spawn_address)
     for spawn in self.spawns:
         for prop in spawn.values():
             prop.write(writer)
     writer.seek(end_address)
Esempio n. 2
0
 def to_bin(self):
     archive = fefeditor2.create_bin_archive()
     archive.allocate_at_end(self._calculate_binary_size())
     writer = BinArchiveWriter(archive)
     writer.write_pointer(_HEADER_SIZE)
     writer.write_u32(len(self.tiles))
     self.map_model.write(writer)
     writer.write_pointer(self._grid_address())
     for tile in self.tiles:
         for prop in tile.values():
             prop.write(writer)
     self.map_size_x.write(writer)
     self.map_size_y.write(writer)
     self.border_size_x.write(writer)
     self.border_size_y.write(writer)
     self.trimmed_size_x.write(writer)
     self.trimmed_size_y.write(writer)
     for row in self.grid:
         writer.write_bytes(row)
     return archive