changeset 448:044b53eb22df

DEBUG: Command line starting area and point
author Stefano Rivera <stefano@rivera.za.net>
date Sat, 07 Sep 2013 15:04:39 +0200
parents f12eae3dc2e8
children a99e5e724545
files nagslang/constants.py nagslang/engine.py nagslang/options.py
diffstat 3 files changed, 15 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/nagslang/constants.py	Sat Sep 07 14:54:43 2013 +0200
+++ b/nagslang/constants.py	Sat Sep 07 15:04:39 2013 +0200
@@ -7,6 +7,9 @@
     debug=False,
     sound=True,
     music=True,
+    # Debug starting position:
+    area=None,
+    point=None,
 )
 
 # Sound constants
--- a/nagslang/engine.py	Sat Sep 07 14:54:43 2013 +0200
+++ b/nagslang/engine.py	Sat Sep 07 15:04:39 2013 +0200
@@ -4,6 +4,7 @@
 import pygame.locals as pgl
 
 from nagslang import constants
+from nagslang.options import options
 from nagslang.screens.area import AreaScreen
 from nagslang.events import ScreenChange
 from nagslang.world import World
@@ -25,7 +26,14 @@
         starting_area = Level.game_starting_point()[0]
 
         self._world.load()
-        self.change_screen(starting_area)
+        if options.point:
+            x, y = options.point.split(',')
+            point = (int(x), int(y))
+            self._world.protagonist.set_position(point)
+        if options.area:
+            self.change_screen(options.area)
+        else:
+            self.change_screen(starting_area)
         # Dummy resize event, to force us to realise our real size
         # http://stackoverflow.com/q/16442573/8629
         pygame.event.post(pygame.event.Event(pgl.VIDEORESIZE,
--- a/nagslang/options.py	Sat Sep 07 14:54:43 2013 +0200
+++ b/nagslang/options.py	Sat Sep 07 15:04:39 2013 +0200
@@ -36,6 +36,9 @@
     if options.debug:
         parser.add_option('--area', help='Initial area')
 
+    if options.debug:
+        parser.add_option('--point', help='Initial position x,y')
+
     opts, _ = parser.parse_args(args)
 
     for k in DEFAULTS: