def load(self, filename): self.nonstop = NonstopParser() self.nonstop.load(filename) if len(self.nonstop.script_pack) == 0: return self.bg = get_trial(self.nonstop.script_pack[0].scene_info, show_box=False, show_sprite=False) qt_pixmap = QtGui.QPixmap.fromImage(self.bg) self.ui.lblPreview.setPixmap(qt_pixmap) self.lines = [] for i in range(len(self.nonstop.lines)): if self.nonstop.script_pack[i][ common.editor_config.lang_trans] != "": text = self.nonstop.script_pack[i][ common.editor_config.lang_trans] else: text = self.nonstop.script_pack[i][ common.editor_config.lang_orig] format = self.nonstop.script_pack[i].scene_info.format text_img = get_text(text, common.SCENE_MODES.debate, format) self.lines.append(QtGui.QPixmap.fromImage(text_img)) self.anims = [None] * len(self.nonstop.lines) self.labels = [None] * len(self.nonstop.lines) self.timers = [None] * len(self.nonstop.lines)
def script_to_text(dir, translated = True, strip_clt = False, only_voiced = False, line_numbers = True): script_pack = ScriptPack() if dir[:7] == "nonstop": parser = NonstopParser() parser.load(dir) script_pack = parser.script_pack elif dir[:8] == "hs_mtb_s": parser = MTBParser() parser.load(dir) script_pack = parser.script_pack elif dir[:7] == "anagram": return u"" else: script_pack.load_dir(dir, common.editor_config.umdimage_dir) # pack = ScriptPack(directory = dir, umdimage = "X:/Danganronpa/Demo_FINAL/umdimage/") output = [] if len(script_pack) > 0: output.append("==================================================\n=== %s" % dir) room = get_map_name(script_pack[0].scene_info.room) if not room == None: output.append("\n=== Room: %s" % room) output.append("\n==================================================\n\n") for script in script_pack: voice = get_voice_file(script.scene_info.voice) if voice == None and only_voiced: continue if script.scene_info.special in [common.SCENE_SPECIAL.checkobj, common.SCENE_SPECIAL.checkchar, common.SCENE_SPECIAL.option, common.SCENE_SPECIAL.showopt]: output.append("********************\n\n") if line_numbers: output.append("[%04d.txt]" % script.scene_info.file_id) output.append("\n") output.append("[%s]\n" % (common.CHAR_IDS[script.scene_info.speaker] if script.scene_info.speaker in common.CHAR_IDS else "N/A")) if not voice == None: # output.append(" [Voice: %04d.at3, %s]\n" % (voice, common.CHAR_IDS[script.scene_info.voice.char_id] if script.scene_info.voice.char_id in common.CHAR_IDS else "N/A")) output.append("[Voice: %04d.at3" % (voice)) if script.scene_info.voice.chapter == 0x63: output.append(" (Generic)") output.append("]\n") # output.append("\n") line = "" if translated and script.translated: if strip_clt: line = script.translated_notags else: line = script.translated else: if strip_clt: line = script.original_notags else: line = script.original output.append(" %s" % line.strip().replace("\n", "\n ")) output.append("\n\n") return u''.join(output)