#!/usr/bin/env python3 # Scrapeboard is an arcade game in development by Frank DeMarco (@diskmem) and Blake Andrews (@snakesandrews). # It requires custom hardware to play, but it can be tested in keyboard mode with just the code in this # repository. For more information on setting up and running the game, see README.md. For more information # on the game in general, visit . # # This is the launcher script that creates a main game object and runs it. If you're running Python 3 with # the pygame module installed, you should be able to run this script with the --no-serial flag to get it # running even without the custom hardware: # # ./OPEN-GAME --no-serial import sys, os def ignore_sighup(): """ Ignore hangup signal (that is thrown when launching from systemd?). Taken from https://stackoverflow.com/questions/57205271/how-to-display-pygame-framebuffer-using-systemd-service """ import signal def handler(signum, frame): pass signal.signal(signal.SIGHUP, handler) # Change directory to the directory of the program launching the script (usually this script "OPEN-GAME"). if "--go-to-dir" in sys.argv: os.chdir(os.path.dirname(sys.argv[0])) # Use the framebuffer display (for Raspberry Pi). This only works with Pygame 1.9.6 (and SDL 1.2). if "--fb" in sys.argv: os.putenv("SDL_VIDEODRIVER", "fbcon") os.putenv("SDL_FBDEV", "/dev/fb0") ignore_sighup() # Use the KMS video driver. This works for newer versions of Raspberry Pi with the KMS overlay # enabled, SDL 2, and Pygame 2. if "--kms" in sys.argv: os.putenv("SDL_VIDEODRIVER", "kmsdrm") ignore_sighup() from NS import NS NS().run()