def write(self, reader: ByteIO): java = self.settings.get('java', False) event_reader = ByteIO(mode='wb') if java: event_reader.write_int32(len(self.items)) for eventGroup in self.items: eventGroup.write(event_reader) reader.write_bytes(HEADER) reader.write_int16(self.max_objects) reader.write_int16(self.max_object_info) reader.write_int16(self.number_of_players) for item in self.number_of_conditions: reader.write_int16(item) reader.write_int16(len(self.qualifiers)) for item in self.qualifiers: item.write(reader) reader.write_bytes(EVENT_COUNT) reader.write_int32(len(event_reader)) if java: reader.write_int32(len(self.items)) if self.items: reader.write_bytes(EVENTGROUP_DATA) reader.write_int32(len(event_reader)) reader.write_bytes(event_reader.read_bytes()) reader.write_bytes(END)
def write(self, reader: ByteIO): reader.write_uint16(self.objectInfoParent) reader.write_uint16(self.flags.getFlags()) reader.write_int16(self.x) reader.write_int16(self.y) reader.write_int16(self.slope) reader.write_int16(self.angle) reader.write_int32(self.direction) reader.write_int16(self.typeParent) reader.write_int16(self.objectInfoList) reader.write_int16(self.layer)
def write(self, reader: ByteIO): new_reader = ByteIO() new_reader.write_int16(self.object_type) new_reader.write_int16(self.num) new_reader.write_uint16(self.object_info) new_reader.write_int16(self.object_info_list) new_reader.write_uint8(self.flags.getFlags()) new_reader.write_uint8(self.other_flags.getFlags()) new_reader.write_uint8(len(self.items)) new_reader.write_int8(self.def_type) new_reader.write_int16(self.identifier) for item in self.items: item.write(new_reader) reader.write_int16(len(new_reader) + 2) reader.write_bytes(new_reader.read_bytes())
def write(self, reader: ByteIO): new_reader = ByteIO() new_reader.write_uint8(len(self.conditions)) new_reader.write_uint8(len(self.actions)) new_reader.write_uint16(self.flags.getFlags()) new_reader.write_int16(self.is_restricted) new_reader.write_int16(self.restrictCpt) new_reader.write_int16(self.identifier) new_reader.write_int16(self.undo) for condition in self.conditions: condition.write(new_reader) for action in self.actions: action.write(new_reader) reader.write_int16((len(new_reader) + 2) * -1) reader.write_bytes(new_reader.read_bytes())
def write(self, reader: ByteIO): reader.write_int16(self.object_type) reader.write_int16(self.num) if self.object_type == 0 and self.num == 0: return dataReader = ByteIO(mode='wb') if self.object_type in system_loaders and self.num in system_loaders[self.object_type]: self.loader.write(dataReader) elif self.object_type >= 2 or self.object_type == -7: dataReader.write_uint16(self.object_info) dataReader.write_int16(self.object_info_list) if self.num in extensionLoaders: self.loader.write(dataReader) reader.write_uint16(len(dataReader) + 6) reader.write_bytes(dataReader.read_bytes())
def write(self, reader: ByteIO): new_reader = ByteIO(mode='wb') new_reader.write_int16(self.code) self.loader.write(new_reader.read_bytes()) reader.write_uint16(len(new_reader) + 2) reader.write_int16(new_reader)
def write(self, reader: ByteIO): reader.write_uint16(self.objectInfo) reader.write_int16(self.type)
def write(self, reader: ByteIO): reader.write_int16(self.value)
def write(self, reader: ByteIO): reader.write_bytes('\x00' * 4) reader.write_int16(self.value)
def write(self, reader: ByteIO): reader.write_int16(len(self.data) + 6) reader.write_int16(self.type) reader.write_int16(self.code) reader.write_bytes(self.data.read_bytes())
def write(self, reader: ByteIO): reader.write_int32(self.timer) reader.write_int32(self.loops) reader.write_int16(self.comparison)
def write(self, reader: ByteIO): reader.write_int32(self.savedPointer) reader.write_int16(self.id)
def write(self, reader: ByteIO): reader.write_int16(self.key.getValue())
def write(self, reader: ByteIO): reader.write_int16(self.handle) reader.write_int16(self.flags.getFlags()) reader.write_ascii_string(self.name, zero_terminated=True)
def write(self, reader: ByteIO): # self.font.write(reader) #TODO reader.write_fmt('BBBB', self.fontColor) reader.write_fmt('BBBB', self.backColor) reader.write_int16(0) reader.write_int32(self.id)