def save_to_rom(self): if self.rom is None: return prefix, postfix, complete = self.resolve_event_id() events_packed = self.rom.get_archive(f"data_lt2/event/ev_d{complete}.plz") file = events_packed.open(f"d{prefix}_{postfix}.dat", "wb+") self.write(binary.BinaryWriter(file)) file.close() self.save_gds()
def test_SADExport(self): sad_file = self.get_sadl() sad_data = sad_file.read() sad_file.close() sad_obj = sadl.SADL() sad_obj.read_stream(sad_data) exported_wav = sad_obj.to_wav() binary_writer = binary.BinaryWriter() exported_wav.write_stream(binary_writer) assert hashlib.sha256(binary_writer.readall()).digest( ) == b'\xa1\xb3B\xed\xf2\xeb\x19\xc5\xc5\xe3\xd1\xfc\xde\xc4\xd5U:\x13x\x06!\xbay\xf0\x96\xb2\x8dwP\xc6\xcc\x86' sad_obj.from_wav(exported_wav) exported_wav = sad_obj.to_wav() binary_writer = binary.BinaryWriter() exported_wav.write_stream(binary_writer) assert hashlib.sha256(binary_writer.readall()).digest( ) == b'\xf7\xcb\xf3\xe2\x1d\x19\xa0\x9f\x0cW\x87>\x176n\xf1\xa9\x9b\x11\xce\x1f\x10\x97\xa7\x11\xd7\xa1\x82\x97?\x11<'
def test_SMDReadAndSave(self): smd_file = self.get_smd() smd_data = smd_file.read() smd_file.close() smd_obj = smdl.SMDL(filename="data_lt2/sound/BG_004.SMD", rom=self.rom) exported_file = io.BytesIO() exported_file = binary.BinaryWriter(exported_file) smd_obj.write_stream(exported_file) exported_data = exported_file.readall() assert smd_data == exported_data
def test_SADReadAndSave(self): sad_file = self.get_sadl() sad_data = sad_file.read() sad_file.close() sad_obj = sadl.SADL() sad_obj.read_stream(sad_data) exported_file = io.BytesIO() exported_file = binary.BinaryWriter(exported_file) sad_obj.write_stream(exported_file) exported_data = exported_file.readall() assert sad_data == exported_data
def test_loadAndSave(self) -> None: wav_obj = WAV() wav_obj.read_stream(self.wav_data) expected_file = self.open_file("expected.wav", "rb") expected_data = expected_file.read() expected_file.close() wav_obj.change_sample_rate(32768) exported_file = io.BytesIO() exported_file = binary.BinaryWriter(exported_file) wav_obj.write_stream(exported_file) exported_data = exported_file.readall() assert exported_data == expected_data
def write(self, wtr): if not isinstance(wtr, binary.BinaryWriter): wtr = binary.BinaryWriter() wtr.write_uint16(self.map_bottom_id) wtr.write_uint16(self.map_top_id) wtr.c += 2 for char in self.characters: wtr.write_uint8(char) for char_pos in self.characters_pos: wtr.write_uint8(char_pos) for char_show in self.characters_shown: wtr.write_uint8(1 if char_show else 0) for char_anim in self.characters_anim_index: wtr.write_uint8(char_anim) wtr.write(self.original[-2:]) return wtr.data
def test_loading_saving(self): gds_f, gds_o = self.get_pzd() wtr = binary.BinaryWriter() gds_f.write_stream(wtr) assert wtr.data == gds_o