def __init__(self, dataDirectory): self.log = logging.getLogger('RoundtripTester') self.dataDirectory = dataDirectory self.skipExport = False self.skipCompare = False self.comparer = FtlDiff() self.arxFiles = ArxFiles(self.dataDirectory) self.arxFiles.updateAll()
cinematic = cinSerializer.read(cinematicFile) for keyframe in cinematic.keyframes: img = keyframe.image[1] if img not in arxFiles.cinematics.textures.keys(): log.warning('Texture {} not found !', img) if keyframe.sound: for lang, files in arxFiles.audioSpeech.speeches.items(): if keyframe.sound not in files: log.warning('Sound {} for Lang {} not found !'.format( keyframe.sound, lang)) #else: # log.info('Sound {} found'.format(keyframe.sound)) log.info('Done') if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument('-d', '--data-dir', help='Where to find the data files', required=True) args = parser.parse_args() print("Using data dir: " + args.data_dir) arxFiles = ArxFiles(args.data_dir) arxFiles.updateAll() checkCinematics()
cam.data.type = 'PERSP' cam.data.lens_unit = 'FOV' bpy.context.screen.scene.update() if args.data and args.out: print("Using data dir: " + args.data) print("Using out dir: " + args.out) dataPath = args.data outPath = args.out clearScene() arxFiles = ArxFiles(args.data) arxFiles.updateAll() toHtml(arxFiles, outPath) scene = bpy.context.scene scene.render.alpha_mode = 'TRANSPARENT' scene.render.resolution_x = 500 scene.render.resolution_y = 500 scene.render.resolution_percentage = 100 arxAddon = ArxAddon(args.data) # key = ("npc", "spider_base") # key = ('items', 'magic', 'waterlily') # key = ('items','weapons','giant_slayer')
def run(self): self.loadAddon('arx_addon', (0, 0, 1)) arxFiles = ArxFiles(args.data) arxFiles.updateAll() result_file = open("test_files.txt", "w") result_file.write( formatColumns(["Import", "Export", "Compare", "File"])) error_file = open("test_errors.txt", "w") current_error_id = 0 for key, val in sorted(arxFiles.models.data.items()): import_file = os.path.join(val.path, val.model) import_file_relative = os.path.relpath(import_file, self.dataDirectory) export_file = "test.ftl" bpy.ops.wm.read_homefile() try: self.doImport(import_file) import_status = "Ok" import_ok = True except RuntimeError as e: import_ok = False error_file.write( formatError(current_error_id, import_file_relative, e.args[0])) error_file.flush() import_status = formatFailedStatus(current_error_id) current_error_id += 1 if not self.skipExport and import_ok: try: self.doExport(export_file) export_ok = True export_status = "Ok" except RuntimeError as e: export_ok = False error_file.write( formatError(current_error_id, import_file_relative, e.args[0])) error_file.flush() export_status = formatFailedStatus(current_error_id) current_error_id += 1 else: export_ok = False export_status = "Skip" if not self.skipCompare and import_ok and export_ok: result = self.comparer.compareFiles(import_file, export_file) if result and not result.children: compare_status = "Ok" else: error_file.write( formatError(current_error_id, import_file_relative, str(result))) error_file.flush() compare_status = formatFailedStatus(current_error_id) current_error_id += 1 else: compare_status = "Skip" result_file.write( formatColumns([ import_status, export_status, compare_status, str(import_file_relative) ])) result_file.flush() result_file.close() error_file.close()