ya2 · news · projects · code · about

optimization: creation of images
[pmachines.git] / pmachines / app.py
index ce10dc6bbd17d0ee75663d012086abadc254a61c..73d43a172beea857fed336e0ff1dd2d94cf5f2cd 100755 (executable)
@@ -59,7 +59,7 @@ class PmachinesApp:
                                 'pmachines',
                                 'assets/locale/')
         self._fsm = MainFsm(self)
-        if args.screenshots:
+        if args.screenshot:
             scene_classes = []
             for _file in glob('pmachines/scenes/*.py'):
                 _fn = _file.replace('.py', '').replace('/', '.')
@@ -67,10 +67,10 @@ class PmachinesApp:
                     if isclass(member) and issubclass(member, Scene) and \
                             member != Scene:
                         scene_classes += [member]
-            for cls in scene_classes:
-                scene = cls(BulletWorld(), None, True, False, lambda: None)
-                scene.screenshot()
-                scene.destroy()
+            cls = [cls for cls in scene_classes if cls.__name__ == args.screenshot][0]
+            scene = cls(BulletWorld(), None, True, False, lambda: None)
+            scene.screenshot()
+            scene.destroy()
             exit()
         elif self._options['development']['auto_start']:
             mod_name = 'pmachines.scenes.scene_' + self._options['development']['auto_start']
@@ -116,7 +116,7 @@ class PmachinesApp:
         load_prc_file_data('', 'sync-video true')
         # load_prc_file_data('', 'threading-model Cull/Draw')
         # it freezes when you go to the next scene
-        if args.screenshots:
+        if args.screenshot:
             load_prc_file_data('', 'window-type offscreen')
             load_prc_file_data('', 'audio-library-name null')
 
@@ -125,7 +125,7 @@ class PmachinesApp:
         parser.add_argument('--update', action='store_true')
         parser.add_argument('--version', action='store_true')
         parser.add_argument('--optfile')
-        parser.add_argument('--screenshots', action='store_true')
+        parser.add_argument('--screenshot')
         cmd_line = [arg for arg in iter(argv[1:]) if not arg.startswith('-psn_')]
         args = parser.parse_args(cmd_line)
         return args
@@ -184,7 +184,7 @@ class PmachinesApp:
         props.set_size(res)
         props.set_fullscreen(self._options['settings']['fullscreen'])
         props.set_icon_filename('assets/icon/pmachines.ico')
-        if not args.screenshots:
+        if not args.screenshot:
             base.win.request_properties(props)
         gltf.patch_loader(base.loader)
         if self._options['development']['simplepbr']: