def cmd_demo(ctx: ProjectContext, _args: argparse.Namespace) -> int: """Prints all currently build demos which can be run.""" print('Demos:') demo_glob: str = os.path.join(ctx.demo_dir(), mp.shared_lib_glob()) for demo_shared_lib in glob.glob(demo_glob): demo_name = mp.shared_lib_to_root(os.path.basename(demo_shared_lib)) print(demo_name) return 0
def cmd_run(ctx: ProjectContext, args: argparse.Namespace) -> int: ovr_ctx = ctx.copy_with_overrides(vars(args)) # Ensure an up-to-date build. build_status = cmd_build(ovr_ctx, args) if build_status != 0: return build_status ovr_ctx.set_game(os.path.join(ctx.demo_dir(), mp.root_to_shared_lib(args.demo))) return ovr_ctx.run_driver()