ya2 · news · projects · code · about

offscreen screenshots
authorFlavio Calva <f.calva@gmail.com>
Wed, 2 Feb 2022 18:06:21 +0000 (19:06 +0100)
committerFlavio Calva <f.calva@gmail.com>
Wed, 2 Feb 2022 18:06:21 +0000 (19:06 +0100)
pmachines/app.py
prj.org

index 95c004e88c6a87a04791bb782e154dbd2c03e1bf..f87bee384159904d193e4a82d8551250886db4e4 100755 (executable)
@@ -44,11 +44,11 @@ class MainFsm(FSM):
 class PmachinesApp:
 
     def __init__(self):
-        self._configure()
-        self.base = ShowBase()
         info('platform: %s' % platform)
         info('exists main.py: %s' % exists('main.py'))
         args = self._parse_args()
+        self._configure(args)
+        self.base = ShowBase()
         self._prepare_window(args)
         self.updating = args.update
         self.version = args.version
@@ -106,11 +106,14 @@ class PmachinesApp:
         self._unset_physics()
         self._scene.destroy()
 
-    def _configure(self):
+    def _configure(self, args):
         load_prc_file_data('', 'window-title pmachines')
         load_prc_file_data('', 'framebuffer-srgb true')
         load_prc_file_data('', 'sync-video true')
         load_prc_file_data('', 'threading-model Cull/Draw')
+        if args.screenshots:
+            load_prc_file_data('', 'window-type offscreen')
+            load_prc_file_data('', 'audio-library-name null')
 
     def _parse_args(self):
         parser = argparse.ArgumentParser()
@@ -176,7 +179,8 @@ class PmachinesApp:
         props.set_size(res)
         props.set_fullscreen(self._options['settings']['fullscreen'])
         props.set_icon_filename('assets/icon/pmachines.ico')
-        base.win.request_properties(props)
+        if not args.screenshots:
+            base.win.request_properties(props)
         gltf.patch_loader(base.loader)
         if self._options['development']['simplepbr']:
             self._pipeline = simplepbr.init(
diff --git a/prj.org b/prj.org
index 70ebb524306b540803ca853dbc49d3a6c07c0811..b4ac90e9e5fcc844bae90f45cfa88ec6cb43d997 100644 (file)
--- a/prj.org
+++ b/prj.org
@@ -1,5 +1,7 @@
 * issues
 * todo
+** bug: multiple cursors
+** automatic creation of scene buttons
 ** frame for the end of the level (back, replay, next level)
 ** create one level per item, then levels with more items
 *** e.g. item1, item2, item1+2, item3, item1+2+3, ...