From 3e50d66e91fd67496a9d7ebaba2aba1d806b245d Mon Sep 17 00:00:00 2001
From: Quantum <quantum2048@gmail.com>
Date: Fri, 24 Aug 2018 04:07:44 -0400
Subject: [PATCH] Use a proper format for main module.

---
 punyverse/__main__.py  | 55 ++----------------------------------------
 punyverse/__main__.pyw |  2 +-
 punyverse/game.py      | 22 ++++++++---------
 punyverse/main.py      | 52 +++++++++++++++++++++++++++++++++++++++
 punyverse/world.py     |  5 ++--
 setup.py               |  7 +++---
 6 files changed, 71 insertions(+), 72 deletions(-)
 create mode 100644 punyverse/main.py

diff --git a/punyverse/__main__.py b/punyverse/__main__.py
index e420099..c713d46 100644
--- a/punyverse/__main__.py
+++ b/punyverse/__main__.py
@@ -1,55 +1,4 @@
-#!/usr/bin/python
-INITIAL_WIN_HEIGHT = 540
-INITIAL_WIN_WIDTH = 700
-WIN_TITLE = 'Punyverse'
-
-
-def main():
-    import argparse
-    parser = argparse.ArgumentParser(prog='punyverse', description='''
-            Python simulator of a puny universe.
-        ''')
-    parser.add_argument('-d', '--high-depth', help='Use a larger depth buffer',
-                        const=32, default=24, dest='depth', nargs='?', type=int)
-    parser.add_argument('-m', '--multisample', help='Use multisampled image, '
-                        'optional samples', const=2, default=0, nargs='?',
-                        type=int)
-    parser.add_argument('-v', '--no-vsync', help='Disables vsync',
-                        action='store_false', dest='vsync')
-    parser.add_argument('-n', '--normal', help='Enables the use of normal maps',
-                        action='store_true')
-    args = parser.parse_args()
-
-    import pyglet
-    pyglet.options['shadow_window'] = False
-
-    template = pyglet.gl.Config(depth_size=args.depth, double_buffer=True,
-                                sample_buffers=args.multisample > 1,
-                                samples=args.multisample)
-
-    platform = pyglet.window.get_platform()
-    display = platform.get_default_display()
-    screen = display.get_default_screen()
-    try:
-        config = screen.get_best_config(template)
-    except pyglet.window.NoSuchConfigException:
-        raise SystemExit('Graphics configuration not supported.')
-    else:
-        if hasattr(config, '_attribute_names'):
-            print('OpenGL configuration:')
-            for key in config._attribute_names:
-                print('  %-22s %s' % (key + ':', getattr(config, key)))
-
-    world_options = {
-        'normal': args.normal,
-    }
-
-    from punyverse import game
-    game.Applet(width=INITIAL_WIN_WIDTH, height=INITIAL_WIN_HEIGHT,
-                caption=WIN_TITLE, resizable=True, vsync=args.vsync,
-                config=config, world_options=world_options)
-    pyglet.app.run()
-
+from punyverse.main import main
 
 if __name__ == '__main__':
-    main()
\ No newline at end of file
+    main()
diff --git a/punyverse/__main__.pyw b/punyverse/__main__.pyw
index fe82b21..c713d46 100644
--- a/punyverse/__main__.pyw
+++ b/punyverse/__main__.pyw
@@ -1,4 +1,4 @@
-from punyverse.__main__ import main
+from punyverse.main import main
 
 if __name__ == '__main__':
     main()
diff --git a/punyverse/game.py b/punyverse/game.py
index cf3bf56..689d4b7 100644
--- a/punyverse/game.py
+++ b/punyverse/game.py
@@ -1,17 +1,17 @@
 #!/usr/bin/python
-from operator import attrgetter
-from math import hypot
-from time import clock
-import time
 import os
+import time
+from math import hypot
+from operator import attrgetter
+from time import clock
 
 import six
 
-from punyverse.camera import Camera
-from punyverse.world import World
-from punyverse.glgeom import *
-from punyverse.entity import Asteroid
 from punyverse import texture
+from punyverse.camera import Camera
+from punyverse.entity import Asteroid
+from punyverse.glgeom import *
+from punyverse.world import World
 
 try:
     from punyverse._model import model_list, load_model
@@ -47,8 +47,6 @@ class Applet(pyglet.window.Window):
     asteroids = ['asteroids/01.obj', 'asteroids/02.obj', 'asteroids/03.obj']
 
     def __init__(self, *args, **kwargs):
-        self.world_options = kwargs.pop('world_options', {})
-
         super(Applet, self).__init__(*args, **kwargs)
         texture.init()
 
@@ -94,7 +92,7 @@ class Applet(pyglet.window.Window):
     def load(self, *args, **kwargs):
         start = clock()
         self.fps = 0
-        self.world = World('world.json', self._load_callback, self.world_options)
+        self.world = World('world.json', self._load_callback)
         self._load_callback('Initializing game...', '', 0)
         self.speed = INITIAL_SPEED
         self.keys = set()
@@ -227,7 +225,7 @@ class Applet(pyglet.window.Window):
     def screenshot(self):
         image = pyglet.image.get_buffer_manager().get_color_buffer()
         if hasattr(self, '_hwnd') and not self.modifiers & key.MOD_CTRL:
-            from ctypes import windll, cdll
+            from ctypes import windll
             from PIL import Image
             import tempfile
             CF_BITMAP = 2
diff --git a/punyverse/main.py b/punyverse/main.py
new file mode 100644
index 0000000..ac4fafa
--- /dev/null
+++ b/punyverse/main.py
@@ -0,0 +1,52 @@
+import argparse
+
+import pyglet
+
+from punyverse import game
+
+INITIAL_WIN_HEIGHT = 540
+INITIAL_WIN_WIDTH = 700
+WIN_TITLE = 'Punyverse'
+
+
+def main():
+    parser = argparse.ArgumentParser(prog='punyverse', description='''
+            Python simulator of a puny universe.
+        ''')
+    parser.add_argument('-d', '--high-depth', help='Use a larger depth buffer',
+                        const=32, default=24, dest='depth', nargs='?', type=int)
+    parser.add_argument('-m', '--multisample', help='Use multisampled image, optional samples',
+                        const=2, default=0, nargs='?', type=int)
+    parser.add_argument('-v', '--no-vsync', help='Disables vsync',
+                        action='store_false', dest='vsync')
+    parser.add_argument('-n', '--normal', help='Enables the use of normal maps',
+                        action='store_true')
+    args = parser.parse_args()
+
+    pyglet.options['shadow_window'] = False
+
+    template = pyglet.gl.Config(depth_size=args.depth, double_buffer=True,
+                                sample_buffers=args.multisample > 1,
+                                samples=args.multisample)
+
+    platform = pyglet.window.get_platform()
+    display = platform.get_default_display()
+    screen = display.get_default_screen()
+    try:
+        config = screen.get_best_config(template)
+    except pyglet.window.NoSuchConfigException:
+        raise SystemExit('Graphics configuration not supported.')
+    else:
+        if hasattr(config, '_attribute_names'):
+            print('OpenGL configuration:')
+            for key in config._attribute_names:
+                print('  %-22s %s' % (key + ':', getattr(config, key)))
+
+    game.Applet(width=INITIAL_WIN_WIDTH, height=INITIAL_WIN_HEIGHT,
+                caption=WIN_TITLE, resizable=True, vsync=args.vsync,
+                config=config)
+    pyglet.app.run()
+
+
+if __name__ == '__main__':
+    main()
diff --git a/punyverse/world.py b/punyverse/world.py
index 89150c8..347d634 100644
--- a/punyverse/world.py
+++ b/punyverse/world.py
@@ -20,7 +20,7 @@ def load_world(file, callback=lambda message, completion: None):
 
 
 class World(object):
-    def __init__(self, file, callback, options=None):
+    def __init__(self, file, callback):
         self.tracker = []
         self.start = (0, 0, 0)
         self.direction = (0, 0, 0)
@@ -31,9 +31,8 @@ class World(object):
         self.tick = 0
 
         self.callback = callback
-        self.options = options or {}
         self._parse(file)
-        del self.callback # So it can't be used after loading finishes
+        del self.callback  # So it can't be used after loading finishes
 
     def evaluate(self, value):
         return eval(str(value), {'__builtins__': None}, self._context)
diff --git a/setup.py b/setup.py
index 056cebe..9841244 100644
--- a/setup.py
+++ b/setup.py
@@ -1,6 +1,7 @@
 from __future__ import print_function
-import sys
+
 import os
+import sys
 
 from setuptools import setup, Extension
 
@@ -55,11 +56,11 @@ setup(
 
     entry_points={
         'console_scripts': [
-            'punyverse = punyverse.__main__:main',
+            'punyverse = punyverse.main:main',
             'punyverse_small_images = punyverse.small_images:main',
         ],
         'gui_scripts': [
-            'punyversew = punyverse.__main__:main'
+            'punyversew = punyverse.main:main'
         ]
 
     },