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
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()
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(
* 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, ...