def _parse_packet(self, packet): packet_io = io.BytesIO(packet) channel_name_bytes = read_cstring(packet_io) password_bytes = read_cstring(packet_io) self.channel_name = channel_name_bytes.decode("utf8") self.password = password_bytes.decode("utf8")
def _parse_packet(self, packet): packet_io = io.BytesIO(packet) channel_name_bytes = read_cstring(packet_io, 0) password_bytes = read_cstring(packet_io, packet_io.tell()) self.channel_name = channel_name_bytes.decode("utf8") self.password = password_bytes.decode("utf8")
def from_client(data): message = ClientChatMessage() data_io = io.BytesIO(data) header_data = read_struct(data_io, ClientChatMessage.HEADER_BIN) message.message_type = ChatMessageType(header_data[0]) message.language = Language(header_data[1]) if message.message_type == ChatMessageType.CHANNEL: channel_name = read_cstring(data_io, data_io.tell()) message.channel_name = channel_name.decode("utf8") content = read_cstring(data_io, data_io.tell()) message.content = content.decode("utf8") return message
def from_client(data): message = ClientChatMessage() data_io = io.BytesIO(data) header_data = read_struct(data_io, ClientChatMessage.HEADER_BIN) message.message_type = ChatMessageType(header_data[0]) message.language = Language(header_data[1]) if message.message_type == ChatMessageType.CHANNEL: channel_name = read_cstring(data_io) message.channel_name = channel_name.decode("utf8") content = read_cstring(data_io) message.content = content.decode("utf8") return message
def _load_name_and_data(self, tpf_file): current_position = tpf_file.tell() tpf_file.seek(self.name_position) self.name = read_cstring(tpf_file).decode("utf8") tpf_file.seek(self.position) self.data = tpf_file.read(self.size) tpf_file.seek(current_position)
def _parse_packet(self, packet): packet_io = io.BytesIO(packet) char_name_bytes = read_cstring(packet_io, 0) self.char_name = char_name_bytes.decode("utf8") char_data = read_struct(packet_io, self.PACKET_CHAR_BIN) self.char_race = CharacterRace(char_data[0]) self.char_class = CharacterClass(char_data[1]) self.char_gender = CharacterGender(char_data[2]) self.char_features = char_data[3:8] self.unk_value = char_data[8]
def _parse_packet(self, packet): packet_io = io.BytesIO(packet) char_name_bytes = read_cstring(packet_io) self.char_name = char_name_bytes.decode("utf8") char_data = read_struct(packet_io, self.PACKET_CHAR_BIN) self.char_race = CharacterRace(char_data[0]) self.char_class = CharacterClass(char_data[1]) self.char_gender = CharacterGender(char_data[2]) self.char_features = char_data[3:8] self.unk_value = char_data[8]
def _parse_packet(self, packet): packet_io = io.BytesIO(packet) part1_data = read_struct(packet_io, self.PACKET_PART1_BIN) self.build = part1_data[0] self.unk = part1_data[1] account_name_bytes = read_cstring(packet_io) self.account_name = account_name_bytes.decode("ascii") part2_data = read_struct(packet_io, self.PACKET_PART2_BIN) self.client_seed = part2_data[0] self.client_hash = part2_data[1]
def _parse_packet(self, packet): packet_io = io.BytesIO(packet) part1_data = read_struct(packet_io, self.PACKET_PART1_BIN) self.build = part1_data[0] self.unk = part1_data[1] account_name_bytes = read_cstring(packet_io, packet_io.tell()) self.account_name = account_name_bytes.decode("ascii") part2_data = read_struct(packet_io, self.PACKET_PART2_BIN) self.client_seed = part2_data[0] self.client_hash = part2_data[1]
def _load_name_and_data(self, bnd_file): current_position = bnd_file.tell() bnd_file.seek(self.path_position) encoded_path = read_cstring(bnd_file) self.decoded_path = encoded_path.decode("shift_jis") self.set_has_absolute_path() bnd_file.seek(self.data_position) self.data = bnd_file.read(self.data_size) bnd_file.seek(current_position)
def _parse_realm_info_packet(self, packet): """ Parse that realm packet and grab the realm name. """ packet_io = io.BytesIO(packet) self.realm_name = read_cstring(packet_io, 5).decode("ascii")
def _parse_realm_info_packet(self, packet): """ Parse that realm packet and grab the realm name. """ packet_io = io.BytesIO(packet) packet_io.seek(5) # skip some data, we only grab name for now self.realm_name = read_cstring(packet_io).decode("ascii")