# Import the game code import __init__ import argparse import tomllib import pathlib import pygame import os # Store the current working directory # This is used to revert the cd change originalCWD = os.getcwd() # Get the path of the game basePath = pathlib.Path(__file__).parent.resolve() # Set the current working directory # to the base path of the game os.chdir(basePath) # Load the game.toml data with open('game.toml', 'r') as f: gameData = tomllib.loads(f.read()) # Parse command line arguments parser = argparse.ArgumentParser(prog=gameData['name']) parser.add_argument('-sw', '--width', type=int, default=1280) parser.add_argument('-sh', '--height', type=int, default=720) parser.add_argument('-f', '--fullscreen', action='store_true') args = parser.parse_args() # Initialise screen flags = 0 if args.fullscreen: flags |= pygame.FULLSCREEN screen = pygame.display.set_mode((args.width, args.height), flags) pygame.display.set_caption(gameData['name']) # Initialise game game = __init__.Game(screen, screen.size) # Set to False when the game should exit run = True while run: # Event loop for event in pygame.event.get(): if event.type == pygame.QUIT: run = False game.onEvent(event) # Draw loop game.draw() # Clean up os.chdir(originalCWD) game.close() pygame.quit()