adonthell-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[adonthell-wastesedge-commits] Release_0-3-1 48053be 090/237: Updated th


From: Kai Sterker
Subject: [adonthell-wastesedge-commits] Release_0-3-1 48053be 090/237: Updated the init script, so you can skip the title sequence
Date: Mon, 25 Jul 2016 18:14:59 +0000 (UTC)

tag: Release_0-3-1
commit 48053be56989eb421f9da8f8ea23aa6735410ee5
Author: adondev <adondev>
Commit: adondev <adondev>

    Updated the init script, so you can skip the title sequence
---
 scripts/events/.cvsignore    |    1 +
 scripts/init.py              | 1518 ++++++++++++++++++++++--------------------
 scripts/modules/main_menu.py |   78 +--
 scripts/schedules/.cvsignore |    1 +
 4 files changed, 819 insertions(+), 779 deletions(-)

diff --git a/scripts/events/.cvsignore b/scripts/events/.cvsignore
index 3dda729..c53e206 100755
--- a/scripts/events/.cvsignore
+++ b/scripts/events/.cvsignore
@@ -1,2 +1,3 @@
+*.pyc
 Makefile.in
 Makefile
diff --git a/scripts/init.py b/scripts/init.py
index 66a1be9..3e72821 100755
--- a/scripts/init.py
+++ b/scripts/init.py
@@ -1,4 +1,4 @@
-### The themes and fonts we'll use
+# -- The themes and fonts we'll use
 win_manager_add_theme ("original")
 win_manager_add_theme ("silverleaf")
 
@@ -14,756 +14,806 @@ win_manager_add_font ("silverleaf")
 from main_menu import *
 import time
 
-bag_o = image ()
-bag_c = image ()
-bag_t = image ()
-bag_o.load_pnm ("gfx/cutscene/jewelbag_open.pnm")
-bag_c.load_pnm ("gfx/cutscene/jewelbag_closed.pnm")
-bag_t.load_pnm ("gfx/cutscene/adonthell_03.pnm")
-
-bag_o.set_alpha (0)
-bag_c.set_alpha (0)
-bag_t.set_alpha (255)
-
-
-# Fade in/out multiple pictures
-# Returns current alpha of last picture
-# Usage fade (pic1, ..., picN, step1, ..., stepN)
-def fade (*args):
-    pics = args[:len (args)/2]
-    vals = args[len (args)/2:]
-    alpha = 0
-    for i in range (len (pics)):
-        alpha = pics[i].alpha () + vals[i]
-        if alpha < 0: alpha = 0
-        if alpha > 255: alpha = 255
-        pics[i].set_alpha (alpha)
-        pics[i].draw (0,0)
-    return alpha
- 
-alpha = 0
-
-audio_load_background (0, "audio/at-menu-full.ogg")
-audio_load_background (1, "audio/at-dummy-1.ogg")
-audio_load_wave (0, "audio/select.wav")
-audio_load_wave (1, "audio/switch.wav")
-audio_load_wave (2, "audio/unselect.wav")
-
-audio_play_background (0)
-gametime_start_action ()
-
-k=0
-
-# Fade in closed bag
-while alpha < 255:
-    for k in range (gametime_frames_to_do()): pass
-    screen_clear ()
-    alpha = fade (bag_c, k+1)
-    bag_c.draw(0,0)
-    screen_show ()
-    gametime_update()
-    
-bag_t.draw (33, 86)
-screen_show ()
-gametime_update ()
-
-# wait ~2.5 seconds
-for i in range (25):
-    time.sleep (0.1)
-    screen_show ()
-    gametime_update()
-
-alpha = 0
-
-# fade in open bag
-while alpha < 255:
-    for k in range (gametime_frames_to_do()): pass
-    screen_clear ()
-    bag_c.draw (0, 0)
-    bag_t.draw (33, 86)
-    alpha = fade (bag_o, k+1)
-    screen_show ()
-    gametime_update ()
-    
-del bag_c
-del bag_t
+# -- Fade the screen out
+def fade_out ():
+    i = 0
+
+    while i < 60:
+        gamedata_map_engine ().mainloop ()
+
+        screen_transition (i * 2)
+        screen_show ()
+
+        gametime_update ()
+        i = i + (gametime_frames_to_do () * 2)
+
+# -- Fade the screen in
+def fade_in ():
+    i = 60
+
+    while i > 0:
+        gamedata_map_engine ().mainloop ()
+
+        screen_transition(i * 2)
+        screen_show ()
+
+        gametime_update ()
+        i = i - (gametime_frames_to_do () * 2)
 
 class title_screen:
-    def __init__ (self, background):
-        self.quit = 0
-        self.bgimage = win_image ()
-        self.bgimage.move (0, 0)
-        image.copy (self.bgimage, background)
-        self.bgimage.pack ()
-        
+    def __init__ (self):
+        # -- load our music
+        audio_load_background (0, "audio/at-menu-full.ogg")
+        audio_load_background (1, "audio/at-dummy-1.ogg")
+        audio_load_wave (0, "audio/select.wav")
+        audio_load_wave (1, "audio/switch.wav")
+        audio_load_wave (2, "audio/unselect.wav")
+
+        audio_play_background (0)
+
+        # -- load our images
+        self.bag_o = win_image ()
+        self.bag_o.load_pnm ("gfx/cutscene/jewelbag_open.pnm")
+        self.bag_o.set_alpha (0)
+        self.bag_o.move (0, 0)
+        self.bag_o.pack ()
+        self.bag_o.set_visible (0)
+
+        self.bag_c = win_image ()
+        self.bag_c.load_pnm ("gfx/cutscene/jewelbag_closed.pnm")
+        self.bag_c.set_visible (1)
+        self.bag_c.set_alpha (0)
+        self.bag_c.move (0, 0)
+        self.bag_c.pack ()
+
+        self.bag_t = win_image ()
+        self.bag_t.load_pnm ("gfx/cutscene/adonthell_03.pnm")
+        self.bag_t.move (33, 86)
+        self.bag_t.pack ()
+        self.bag_t.set_visible (0)
+
+        # -- create the window
         self.window = win_container ()
         self.window.move (0, 0)
         self.window.resize (320, 240)
         self.window.set_visible_border (0)
-        self.window.add (self.bgimage)
-        self.window.set_visible_all (1)
 
-        win_manager_add (self.window)
+        # -- the order here is essential
+        self.window.add (self.bag_c)
+        self.window.add (self.bag_t)
+        self.window.add (self.bag_o)
+
+        self.window.set_activate (1)
+        self.window.set_visible (1)
+
+        self.window.py_signal_connect (self.on_update, win_event_UPDATE)
+        self.window.py_signal_connect (self.on_draw, win_event_DRAW)
+
+        self.draw_func = self.initial_fade_in
 
-        self.menu = main_menu (0, 0)
+        self.alpha = 0
+        self.retval = 1
+
+        # -- let the win_manager handle everything
+        win_manager_add (self.window)
+        win_manager_set_focus (self.window)
+
+        # -- launch the mapengine
+        gametime_start_action ()
+        map_engine.set_should_update_map (0)
+        map_engine.run ()
+
+    def __del__ (self):
+        print "Destructor called"
+
+    # -- catch ESC key
+    def on_update (self):
+        if self.draw_func != None:
+            # -- Skip intro sequence
+            if input_has_been_pushed (SDLK_ESCAPE):
+                self.bag_t.set_visible (0)
+                self.bag_c.set_visible (0)
+                self.bag_o.set_visible (1)
+                self.bag_o.set_alpha (255)
+                self.draw_func = None
+                self.show_menu (1, 0)
+
+        return self.retval
+
+    # -- callback for drawing operations
+    def on_draw (self):
+        if self.draw_func != None:
+            self.draw_func ()
+
+    # -- Fade in closed bag
+    def initial_fade_in (self):
+        if self.alpha == 255:
+            # -- display "Adonthell v0.3"
+            self.bag_t.set_visible (1)
+            self.wait_time = 25
+            self.draw_func = self.wait
+
+        else:
+            # -- fade in
+            self.alpha = self.alpha + gametime_frames_to_do() + 1
+            if self.alpha > 255: self.alpha = 255
+            self.bag_c.set_alpha (self.alpha)
+
+    # -- Wait self.wait_time 10th's of a second
+    def wait (self):
+        if self.wait_time == 0:
+            # -- fade in open bag
+            self.alpha = 0
+            self.bag_o.set_visible (1)
+            self.draw_func = self.fade_to_open
+
+        else:
+            # -- wait
+            self.wait_time = self.wait_time - 1
+            time.sleep (0.1)
+
+    # -- fade over to the open bag
+    def fade_to_open (self):
+        if self.alpha == 255:
+            # -- Those pics are no longer needed
+            self.bag_t.set_visible (0)
+            self.bag_c.set_visible (0)
+
+            # -- Add the menu
+            self.draw_func = None
+            self.show_menu (0, 0)
+
+        else:
+            # -- fade in
+            self.alpha = self.alpha + gametime_frames_to_do() + 1
+            if self.alpha > 255: self.alpha = 255
+            self.bag_o.set_alpha (self.alpha)
+
+    # -- Show the main menu
+    def show_menu (self, a, b):
+        self.menu = main_menu (a, b)
         self.menu.thisown = C
         self.menu.py_signal_connect (self.on_menu_close, win_event_CLOSE)
         
         win_manager_add (self.menu)
         win_manager_set_focus (self.menu)
-        self.menu = None
 
-    # on to the main menu
+    # -- on to the main menu
     def on_menu_close (self, retval):
-        self.quit = retval
-
-
-    def loop (self):
-        self.cont = 0
-        while self.cont == 0:
-            input_update ()
+        fade_out ()
 
-            for k in range (gametime_frames_to_do()+1):
-                win_manager_input_update ()
-                win_manager_update ()
-
-            win_manager_draw ()
-            screen_show ()
-            gametime_update()
-
-            self.cont = self.quit
-
-        self.window.remove (self.bgimage)
+        # -- cleanup
         win_manager_remove (self.window)
-        alpha = 255
-       bag_o.set_alpha(255)
-        gametime_start_action()
-        while alpha > 0:
-          for k in range (gametime_frames_to_do()): pass
-          screen_clear ()
-          alpha = fade (bag_o, (-(k+1)*2))
-          screen_show ()
-          gametime_update()
-
 
-# -- Main --
-title = title_screen (bag_o)
-title.loop ()
-retval = title.quit
-del bag_o
-
-audio_pause_music ()
+        self.window.remove (self.bag_o)
+        self.window.remove (self.bag_c)
+        self.window.remove (self.bag_t)
+
+        del self.bag_o
+        del self.bag_c
+        del self.bag_t
+
+        self.retval = 0
+        audio_pause_music ()
+
+        ##retval = 1
+
+        if retval < 5:
+            map_engine.set_should_update_map (1)
+
+            if retval == 1:
+                gamedata_load (0)
+
+                # Creates the context for the game start
+                map_engine.load_map ("test.map")
+
+                lm = map_engine.get_landmap ()
+                the_player.set_val ("gender", MALE)
+                the_player.set_val ("race", HALFELF)
+                the_player.load ("player.mchar")
+                the_player.set_map (lm)
+                the_player.jump_to (0, 11, 18, STAND_EAST)
+                the_player.set_schedule ("keyboard_control")
+                map_engine.set_mapview_schedule ("center_player")
+
+                # Now add a few events...
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 0
+                ev.x = 18
+                ev.y = 13
+                ev.set_script ("inn_to_yard")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 1
+                ev.x = 13
+                ev.y = 8
+                ev.set_script ("inn_to_yard")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 1
+                ev.x = 14
+                ev.y = 4
+                ev.set_script ("common_to_parlor")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 2
+                ev.x = 0
+                ev.y = 4
+                ev.set_script ("common_to_parlor")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 1
+                ev.x = 1
+                ev.y = 8
+                ev.set_script ("common_to_kitchen")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 3
+                ev.x = 1
+                ev.y = 1
+                ev.set_script ("common_to_kitchen")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 3
+                ev.x = 7
+                ev.y = 3
+                ev.set_script ("yard_to_kitchen")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 0
+                ev.x = 11
+                ev.y = 14
+                ev.set_script ("yard_to_kitchen")
+                lm.add_event (ev)
+
+                ev = leave_event ()
+                ev.thisown = C
+                ev.submap = 0
+                ev.x = 18
+                ev.y = 14
+                ev.dir = WALK_NORTH
+                ev.set_script ("open_inn_door")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 4
+                ev.x = 3
+                ev.y = 5
+                ev.set_script ("cellar_to_bath")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 5
+                ev.x = 4
+                ev.y = 7
+                ev.set_script ("cellar_to_bath")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 4
+                ev.x = 0
+                ev.y = 6
+                ev.set_script ("cellar_to_alek")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 4
+                ev.x = 0
+                ev.y = 7
+                ev.set_script ("cellar_to_alek")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 6
+                ev.x = 6
+                ev.y = 6
+                ev.set_script ("cellar_to_alek")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 6
+                ev.x = 6
+                ev.y = 7
+                ev.set_script ("cellar_to_alek")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 4
+                ev.x = 0
+                ev.y = 9
+                ev.set_script ("cellar_to_storage")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 4
+                ev.x = 0
+                ev.y = 10
+                ev.set_script ("cellar_to_storage")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 8
+                ev.x = 7
+                ev.y = 3
+                ev.set_script ("cellar_to_storage")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 8
+                ev.x = 7
+                ev.y = 4
+                ev.set_script ("cellar_to_storage")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 4
+                ev.x = 10
+                ev.y = 6
+                ev.set_script ("cellar_to_dwarfs")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 4
+                ev.x = 10
+                ev.y = 7
+                ev.set_script ("cellar_to_dwarfs")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 7
+                ev.x = 0
+                ev.y = 6
+                ev.set_script ("cellar_to_dwarfs")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 7
+                ev.x = 0
+                ev.y = 7
+                ev.set_script ("cellar_to_dwarfs")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 9
+                ev.x = 9
+                ev.y = 2
+                ev.set_script ("1st_to_fellnir")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 10
+                ev.x = 0
+                ev.y = 3
+                ev.set_script ("1st_to_fellnir")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 9
+                ev.x = 0
+                ev.y = 2
+                ev.set_script ("1st_to_frostbloom")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 11
+                ev.x = 5
+                ev.y = 3
+                ev.set_script ("1st_to_frostbloom")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 9
+                ev.x = 7
+                ev.y = 4
+                ev.set_script ("1st_to_player")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 12
+                ev.x = 5
+                ev.y = 1
+                ev.set_script ("1st_to_player")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 9
+                ev.x = 1
+                ev.y = 7
+                ev.set_script ("1st_to_silverhair")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 13
+                ev.x = 5
+                ev.y = 1
+                ev.set_script ("1st_to_silverhair")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 14
+                ev.x = 3
+                ev.y = 5
+                ev.set_script ("2nd_to_redwyne")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 15
+                ev.x = 0
+                ev.y = 5
+                ev.set_script ("2nd_to_redwyne")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 14
+                ev.x = 0
+                ev.y = 5
+                ev.set_script ("2nd_to_oliver")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 16
+                ev.x = 7
+                ev.y = 5
+                ev.set_script ("2nd_to_oliver")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 14
+                ev.x = 1
+                ev.y = 8
+                ev.set_script ("2nd_to_illig")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 17
+                ev.x = 6
+                ev.y = 1
+                ev.set_script ("2nd_to_illig")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 1
+                ev.x = 12
+                ev.y = 1
+                ev.set_script ("common_to_1st")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 9
+                ev.x = 8
+                ev.y = 1
+                ev.set_script ("common_to_1st")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 9
+                ev.x = 6
+                ev.y = 1
+                ev.set_script ("1st_to_2nd")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 14
+                ev.x = 4
+                ev.y = 1
+                ev.set_script ("1st_to_2nd")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 1
+                ev.x = 9
+                ev.y = 1
+                ev.set_script ("common_to_cellar")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 4
+                ev.x = 6
+                ev.y = 1
+                ev.set_script ("common_to_cellar")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 4
+                ev.x = 12
+                ev.y = 1
+                ev.set_script ("barn_to_cellar")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 0
+                ev.x = 24
+                ev.y = 10
+                ev.set_script ("barn_to_cellar")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 3
+                ev.x = 6
+                ev.y = 6
+                ev.set_script ("kitchen_to_cellar")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 4
+                ev.x = 3
+                ev.y = 13
+                ev.set_script ("kitchen_to_cellar")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 0
+                ev.x = 12
+                ev.y = 23
+                ev.set_script ("yard_to_guards")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 18
+                ev.x = 8
+                ev.y = 3
+                ev.set_script ("yard_to_guards")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 18
+                ev.x = 1
+                ev.y = 8
+                ev.set_script ("guards_ground_to_1st")
+                lm.add_event (ev)
+
+                ev = enter_event ()
+                ev.thisown = C
+                ev.submap = 19
+                ev.x = 1
+                ev.y = 8
+                ev.set_script ("guards_ground_to_1st")
+                lm.add_event (ev)
+
+
+                # Action events
+                ev = action_event ()
+                ev.thisown = C
+                ev.submap = 1
+                ev.x = 10
+                ev.y = 2
+                ev.dir = STAND_NORTH
+                ev.set_script ("action_clock")
+                lm.add_event (ev)
+
+                ev = action_event ()
+                ev.thisown = C
+                ev.submap = 10
+                ev.x = 3
+                ev.y = 6
+                ev.dir = STAND_NORTH
+                ev.set_script ("action_alch_table")
+                lm.add_event (ev)
+
+                ev = action_event ()
+                ev.thisown = C
+                ev.submap = 10
+                ev.x = 4
+                ev.y = 6
+                ev.dir = STAND_NORTH
+                ev.set_script ("action_alch_table")
+                lm.add_event (ev)
+
+                ev = action_event ()
+                ev.thisown = C
+                ev.submap = 10
+                ev.x = 2
+                ev.y = 5
+                ev.dir = STAND_EAST
+                ev.set_script ("action_alch_table")
+                lm.add_event (ev)
+
+                ev = action_event ()
+                ev.thisown = C
+                ev.submap = 10
+                ev.x = 5
+                ev.y = 5
+                ev.dir = STAND_WEST
+                ev.set_script ("action_alch_table")
+                lm.add_event (ev)
+
+                ev = action_event ()
+                ev.thisown = C
+                ev.submap = 10
+                ev.x = 3
+                ev.y = 4
+                ev.dir = STAND_SOUTH
+                ev.set_script ("action_alch_table")
+                lm.add_event (ev)
+
+                ev = action_event ()
+                ev.thisown = C
+                ev.submap = 10
+                ev.x = 4
+                ev.y = 4
+                ev.dir = STAND_SOUTH
+                ev.set_script ("action_alch_table")
+                lm.add_event (ev)
+
+                # Now setup the characters
+                lucia = characters ["Lucia Redwyne"]
+                lucia.set_dialogue ("dialogues/lucia_start")
+                lucia.load ("lucia.mchar")
+                lucia.set_map (map_engine.get_landmap ())
+                lucia.jump_to (3, 4, 2)
+                lucia.set_action ("action_talk")
+                lucia.stand_south ()
+
+                orloth = characters ["Orloth Redwyne"]
+                orloth.set_dialogue ("dialogues/orloth_start")
+                orloth.load ("orloth.mchar")
+                orloth.set_map (map_engine.get_landmap ())
+                orloth.jump_to (1, 2, 2)
+                orloth.set_action ("action_talk")
+                orloth.stand_south ()
+                orloth.set_schedule ("orloth")
+
+                erek = characters ["Erek Stonebreaker"]
+                erek.set_dialogue ("dialogues/erek_start")
+                erek.load ("erek.mchar")
+                erek.set_map (map_engine.get_landmap ())
+                erek.jump_to (1, 5, 5)
+                erek.set_action ("action_talk")
+                erek.stand_north ()
+                # changed Erek's text color to violet
+                erek.set_color (3)
+                erek.set_schedule ("erek")
+                erek.set_portrait ("erek.pnm")
+
+                talan = characters ["Talan Wendth"]
+                talan.set_dialogue ("dialogues/talan_start")
+                talan.load ("talan.mchar")
+                talan.set_map (map_engine.get_landmap ())
+                talan.jump_to (0, 11, 19)
+                talan.set_action ("action_talk")
+                talan.stand_north ()
+                talan.set_schedule ("talan")
+                talan.set_portrait ("talan.pnm")
+
+                # -- that's a clone for now
+                jelom = characters ["Jelom Rasgar"]
+                jelom.set_dialogue ("dialogues/jelom_start")
+                jelom.load ("talan.mchar")
+                jelom.set_map (map_engine.get_landmap ())
+                jelom.jump_to (9, 2, 6)
+                jelom.set_action ("action_talk")
+                jelom.stand_north ()
+                jelom.set_schedule ("jelom")
+                jelom.set_portrait ("jelom.pnm")
+
+                # -- that's a clone for now
+                alek = characters ["Alek Endhelm"]
+                alek.set_dialogue ("dialogues/alek_start")
+                alek.load ("servant2.mchar")
+                alek.set_map (map_engine.get_landmap ())
+                alek.jump_to (1, 1, 3)
+                alek.set_action ("action_talk")
+                alek.stand_south ()
+                alek.set_schedule ("alek")
+
+                oliver = characters ["Oliver Redwyne"]
+                oliver.set_dialogue ("dialogues/oliver_start")
+                oliver.load ("oliver.mchar")
+                oliver.set_map (map_engine.get_landmap ())
+                oliver.jump_to (0, 25, 15)
+                oliver.set_action ("action_talk")
+                oliver.stand_west ()
+                oliver.set_schedule ("oliver")
+
+                frostbloom = characters ["Rhayne Frostbloom"]
+                frostbloom.set_dialogue ("dialogues/frostbloom_start")
+                frostbloom.load ("frostbloom.mchar")
+                frostbloom.set_map (map_engine.get_landmap ())
+                frostbloom.jump_to (0, 18, 22)
+                frostbloom.set_action ("action_talk")
+                frostbloom.stand_north ()
+                frostbloom.set_schedule ("frostbloom")
+
+                bjarn = characters ["Bjarn Fingolson"]
+                bjarn.set_dialogue ("dialogues/bjarn_start")
+                bjarn.load ("bjarn.mchar")
+                bjarn.set_map (map_engine.get_landmap ())
+                bjarn.jump_to (7, 3, 6)
+                bjarn.set_action ("action_talk")
+                bjarn.stand_west ()
+
+                silverhair = characters ["Imoen Silverhair"]
+                silverhair.load ("silverhair.mchar")
+                silverhair.set_map (map_engine.get_landmap ())
+                silverhair.jump_to (13, 4, 6)
+                silverhair.set_action ("action_talk")
+                silverhair.stand_north ()
+                silverhair.set_schedule ("silverhair")
+
+                sarin = characters ["Sarin Trailfollower"]
+                sarin.set_dialogue ("dialogues/sarin_start")
+                sarin.load ("servant2.mchar")
+                sarin.set_map (map_engine.get_landmap ())
+                sarin.jump_to (13, 5, 3)
+                sarin.set_action ("action_talk")
+                sarin.stand_west ()
+                sarin.set_schedule ("sarin")
+
+                janesta = characters ["Janesta Skywind"]
+                janesta.set_dialogue ("dialogues/janesta_start")
+                janesta.load ("servant1.mchar")
+                janesta.set_map (map_engine.get_landmap ())
+                janesta.jump_to (13, 6, 3)
+                janesta.set_action ("action_talk")
+                janesta.stand_north ()
+                janesta.set_schedule ("janesta")
+
+                # Once we want to generate the data context files,
+                # just call gamedata::save (1) and copy the .data files
+                # to the game's root directory.
+
+                audio_play_background (1)
+                gametime_update ()
+                fade_in ()
+        else:
+            map_engine.quit ()
 
-##retval = 1
 
-if retval < 5: 
-    if retval == 1:
-        gamedata_load (0)
-
-        # Creates the context for the game start
-        map_engine.load_map ("test.map")
-        
-        lm = map_engine.get_landmap ()
-        the_player.set_val ("gender", MALE)
-        the_player.set_val ("race", HALFELF)
-        the_player.load ("player.mchar")
-        the_player.set_map (lm)
-        the_player.jump_to (0, 11, 18, STAND_EAST)
-        the_player.set_schedule ("keyboard_control")
-        map_engine.set_mapview_schedule ("center_player")
-        
-        # Now add a few events...
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 0
-        ev.x = 18
-        ev.y = 13
-        ev.set_script ("inn_to_yard")
-        lm.add_event (ev)
-        
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 1
-        ev.x = 13
-        ev.y = 8
-        ev.set_script ("inn_to_yard")
-        lm.add_event (ev)
-        
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 1
-        ev.x = 14
-        ev.y = 4
-        ev.set_script ("common_to_parlor")
-        lm.add_event (ev)
-        
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 2
-        ev.x = 0
-        ev.y = 4
-        ev.set_script ("common_to_parlor")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 1
-        ev.x = 1
-        ev.y = 8
-        ev.set_script ("common_to_kitchen")
-        lm.add_event (ev)
-        
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 3
-        ev.x = 1
-        ev.y = 1
-        ev.set_script ("common_to_kitchen")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 3
-        ev.x = 7
-        ev.y = 3
-        ev.set_script ("yard_to_kitchen")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 0
-        ev.x = 11
-        ev.y = 14
-        ev.set_script ("yard_to_kitchen")
-        lm.add_event (ev)
-
-        ev = leave_event ()
-        ev.thisown = C
-        ev.submap = 0
-        ev.x = 18
-        ev.y = 14
-        ev.dir = WALK_NORTH
-        ev.set_script ("open_inn_door")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 4
-        ev.x = 3
-        ev.y = 5
-        ev.set_script ("cellar_to_bath")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 5
-        ev.x = 4
-        ev.y = 7
-        ev.set_script ("cellar_to_bath")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 4
-        ev.x = 0
-        ev.y = 6
-        ev.set_script ("cellar_to_alek")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 4
-        ev.x = 0
-        ev.y = 7
-        ev.set_script ("cellar_to_alek")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 6
-        ev.x = 6
-        ev.y = 6
-        ev.set_script ("cellar_to_alek")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 6
-        ev.x = 6
-        ev.y = 7
-        ev.set_script ("cellar_to_alek")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 4
-        ev.x = 0
-        ev.y = 9
-        ev.set_script ("cellar_to_storage")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 4
-        ev.x = 0
-        ev.y = 10
-        ev.set_script ("cellar_to_storage")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 8
-        ev.x = 7
-        ev.y = 3
-        ev.set_script ("cellar_to_storage")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 8
-        ev.x = 7
-        ev.y = 4
-        ev.set_script ("cellar_to_storage")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 4
-        ev.x = 10
-        ev.y = 6
-        ev.set_script ("cellar_to_dwarfs")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 4
-        ev.x = 10
-        ev.y = 7
-        ev.set_script ("cellar_to_dwarfs")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 7
-        ev.x = 0
-        ev.y = 6
-        ev.set_script ("cellar_to_dwarfs")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 7
-        ev.x = 0
-        ev.y = 7
-        ev.set_script ("cellar_to_dwarfs")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 9
-        ev.x = 9
-        ev.y = 2
-        ev.set_script ("1st_to_fellnir")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 10
-        ev.x = 0
-        ev.y = 3
-        ev.set_script ("1st_to_fellnir")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 9
-        ev.x = 0
-        ev.y = 2
-        ev.set_script ("1st_to_frostbloom")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 11
-        ev.x = 5
-        ev.y = 3
-        ev.set_script ("1st_to_frostbloom")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 9
-        ev.x = 7
-        ev.y = 4
-        ev.set_script ("1st_to_player")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 12
-        ev.x = 5
-        ev.y = 1
-        ev.set_script ("1st_to_player")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 9
-        ev.x = 1
-        ev.y = 7
-        ev.set_script ("1st_to_silverhair")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 13
-        ev.x = 5
-        ev.y = 1
-        ev.set_script ("1st_to_silverhair")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 14
-        ev.x = 3
-        ev.y = 5
-        ev.set_script ("2nd_to_redwyne")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 15
-        ev.x = 0
-        ev.y = 5
-        ev.set_script ("2nd_to_redwyne")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 14
-        ev.x = 0
-        ev.y = 5
-        ev.set_script ("2nd_to_oliver")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 16
-        ev.x = 7
-        ev.y = 5
-        ev.set_script ("2nd_to_oliver")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 14
-        ev.x = 1
-        ev.y = 8
-        ev.set_script ("2nd_to_illig")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 17
-        ev.x = 6
-        ev.y = 1
-        ev.set_script ("2nd_to_illig")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 1
-        ev.x = 12
-        ev.y = 1
-        ev.set_script ("common_to_1st")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 9
-        ev.x = 8
-        ev.y = 1
-        ev.set_script ("common_to_1st")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 9
-        ev.x = 6
-        ev.y = 1
-        ev.set_script ("1st_to_2nd")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 14
-        ev.x = 4
-        ev.y = 1
-        ev.set_script ("1st_to_2nd")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 1
-        ev.x = 9
-        ev.y = 1
-        ev.set_script ("common_to_cellar")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 4
-        ev.x = 6
-        ev.y = 1
-        ev.set_script ("common_to_cellar")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 4
-        ev.x = 12
-        ev.y = 1
-        ev.set_script ("barn_to_cellar")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 0
-        ev.x = 24
-        ev.y = 10
-        ev.set_script ("barn_to_cellar")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 3
-        ev.x = 6
-        ev.y = 6
-        ev.set_script ("kitchen_to_cellar")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 4
-        ev.x = 3
-        ev.y = 13
-        ev.set_script ("kitchen_to_cellar")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 0
-        ev.x = 12
-        ev.y = 23
-        ev.set_script ("yard_to_guards")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 18
-        ev.x = 8
-        ev.y = 3
-        ev.set_script ("yard_to_guards")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 18
-        ev.x = 1
-        ev.y = 8
-        ev.set_script ("guards_ground_to_1st")
-        lm.add_event (ev)
-
-        ev = enter_event ()
-        ev.thisown = C
-        ev.submap = 19
-        ev.x = 1
-        ev.y = 8
-        ev.set_script ("guards_ground_to_1st")
-        lm.add_event (ev)
-
-
-        # Action events
-        ev = action_event ()
-        ev.thisown = C
-        ev.submap = 1
-        ev.x = 10
-        ev.y = 2
-        ev.dir = STAND_NORTH
-        ev.set_script ("action_clock")
-        lm.add_event (ev)
-
-        ev = action_event ()
-        ev.thisown = C
-        ev.submap = 10
-        ev.x = 3
-        ev.y = 6
-        ev.dir = STAND_NORTH
-        ev.set_script ("action_alch_table")
-        lm.add_event (ev)
-
-        ev = action_event ()
-        ev.thisown = C
-        ev.submap = 10
-        ev.x = 4
-        ev.y = 6
-        ev.dir = STAND_NORTH
-        ev.set_script ("action_alch_table")
-        lm.add_event (ev)
-
-        ev = action_event ()
-        ev.thisown = C
-        ev.submap = 10
-        ev.x = 2
-        ev.y = 5
-        ev.dir = STAND_EAST
-        ev.set_script ("action_alch_table")
-        lm.add_event (ev)
-
-        ev = action_event ()
-        ev.thisown = C
-        ev.submap = 10
-        ev.x = 5
-        ev.y = 5
-        ev.dir = STAND_WEST
-        ev.set_script ("action_alch_table")
-        lm.add_event (ev)
-
-        ev = action_event ()
-        ev.thisown = C
-        ev.submap = 10
-        ev.x = 3
-        ev.y = 4
-        ev.dir = STAND_SOUTH
-        ev.set_script ("action_alch_table")
-        lm.add_event (ev)
-
-        ev = action_event ()
-        ev.thisown = C
-        ev.submap = 10
-        ev.x = 4
-        ev.y = 4
-        ev.dir = STAND_SOUTH
-        ev.set_script ("action_alch_table")
-        lm.add_event (ev)
-
-        # Now setup the characters
-        lucia = characters ["Lucia Redwyne"]
-        lucia.set_dialogue ("dialogues/lucia_start")
-        lucia.load ("lucia.mchar")
-        lucia.set_map (map_engine.get_landmap ())
-        lucia.jump_to (3, 4, 2)
-        lucia.set_action ("action_talk")
-        lucia.stand_south ()
-        
-        orloth = characters ["Orloth Redwyne"]
-        orloth.set_dialogue ("dialogues/orloth_start")
-        orloth.load ("orloth.mchar")
-        orloth.set_map (map_engine.get_landmap ())
-        orloth.jump_to (1, 2, 2)
-        orloth.set_action ("action_talk")
-        orloth.stand_south ()
-        orloth.set_schedule ("orloth")
-
-        erek = characters ["Erek Stonebreaker"]
-        erek.set_dialogue ("dialogues/erek_start")
-        erek.load ("erek.mchar")
-        erek.set_map (map_engine.get_landmap ())
-        erek.jump_to (1, 5, 5)
-        erek.set_action ("action_talk")
-        erek.stand_north ()
-        # changed Erek's text color to violet
-        erek.set_color (3)
-        erek.set_schedule ("erek")
-        erek.set_portrait ("erek.pnm")
-
-        talan = characters ["Talan Wendth"]
-        talan.set_dialogue ("dialogues/talan_start")
-        talan.load ("talan.mchar")
-        talan.set_map (map_engine.get_landmap ())
-        talan.jump_to (0, 11, 19)
-        talan.set_action ("action_talk")
-        talan.stand_north ()
-        talan.set_schedule ("talan")
-        talan.set_portrait ("talan.pnm")
-
-        # -- that's a clone for now
-        jelom = characters ["Jelom Rasgar"]
-        jelom.set_dialogue ("dialogues/jelom_start")
-        jelom.load ("talan.mchar")
-        jelom.set_map (map_engine.get_landmap ())
-        jelom.jump_to (9, 2, 6)
-        jelom.set_action ("action_talk")
-        jelom.stand_north ()
-        jelom.set_schedule ("jelom")
-        jelom.set_portrait ("jelom.pnm")
-
-        # -- that's a clone for now
-        alek = characters ["Alek Endhelm"]
-        alek.set_dialogue ("dialogues/alek_start")
-        alek.load ("servant2.mchar")
-        alek.set_map (map_engine.get_landmap ())
-        alek.jump_to (1, 1, 3)
-        alek.set_action ("action_talk")
-        alek.stand_south ()
-        alek.set_schedule ("alek")
-
-        oliver = characters ["Oliver Redwyne"]
-        oliver.set_dialogue ("dialogues/oliver_start")
-        oliver.load ("oliver.mchar")
-        oliver.set_map (map_engine.get_landmap ())
-        oliver.jump_to (0, 25, 15)
-        oliver.set_action ("action_talk")
-        oliver.stand_west ()
-        oliver.set_schedule ("oliver")
-
-        frostbloom = characters ["Rhayne Frostbloom"]
-        frostbloom.set_dialogue ("dialogues/frostbloom_start")
-        frostbloom.load ("frostbloom.mchar")
-        frostbloom.set_map (map_engine.get_landmap ())
-        frostbloom.jump_to (0, 18, 22)
-        frostbloom.set_action ("action_talk")
-        frostbloom.stand_north ()
-        frostbloom.set_schedule ("frostbloom")
-
-        bjarn = characters ["Bjarn Fingolson"]
-        bjarn.set_dialogue ("dialogues/bjarn_start")
-        bjarn.load ("bjarn.mchar")
-        bjarn.set_map (map_engine.get_landmap ())
-        bjarn.jump_to (7, 3, 6)
-        bjarn.set_action ("action_talk")
-        bjarn.stand_west ()
-
-        silverhair = characters ["Imoen Silverhair"]
-        silverhair.load ("silverhair.mchar")
-        silverhair.set_map (map_engine.get_landmap ())
-        silverhair.jump_to (13, 4, 6)
-        silverhair.set_action ("action_talk")
-        silverhair.stand_north ()
-        silverhair.set_schedule ("silverhair")
-
-        sarin = characters ["Sarin Trailfollower"]
-        sarin.set_dialogue ("dialogues/sarin_start")
-        sarin.load ("servant2.mchar")
-        sarin.set_map (map_engine.get_landmap ())
-        sarin.jump_to (13, 5, 3)
-        sarin.set_action ("action_talk")
-        sarin.stand_west ()
-        sarin.set_schedule ("sarin")
-
-        janesta = characters ["Janesta Skywind"]
-        janesta.set_dialogue ("dialogues/janesta_start")
-        janesta.load ("servant1.mchar")
-        janesta.set_map (map_engine.get_landmap ())
-        janesta.jump_to (13, 6, 3)
-        janesta.set_action ("action_talk")
-        janesta.stand_north ()
-        janesta.set_schedule ("janesta")
-
-        # Once we want to generate the data context files,
-        # just call gamedata::save (1) and copy the .data files
-        # to the game's root directory.
-
-    audio_play_background (1)
-    gametime_update ()
-    map_engine.run()
+# -- Main --
+title = title_screen ()
diff --git a/scripts/modules/main_menu.py b/scripts/modules/main_menu.py
index c58eef2..5b575df 100755
--- a/scripts/modules/main_menu.py
+++ b/scripts/modules/main_menu.py
@@ -10,8 +10,6 @@ class main_menu (win_container):
     def __init__ (self, startup, enable_s, enable_b = 0):      
         win_container.__init__(self)
 
-        self.startup = startup
-
         # Init Position
         self.move (0,0)        
         self.resize(320,240)
@@ -20,12 +18,11 @@ class main_menu (win_container):
 
         # load font and theme
         self.font = win_manager_get_font ("original")
-        ##win_font (WIN_THEME_ORIGINAL)
         self.theme = win_manager_get_theme ("original")
-        ##win_theme (WIN_THEME_ORIGINAL)
 
         self.enable_save = enable_s
-        
+        self.enable_b = enable_b
+
         self.lg = None
         
         self.quit = 1
@@ -107,89 +104,80 @@ class main_menu (win_container):
         
         for label in self.labels:
             self.add (label)    
-
                
         # activate self object
         self.set_activate (1)
         self.set_visible_all (1)       
 
         if startup == 0:
-            done = 1
+            self.startup = 1
             sign = 1
-            goals = ()
-            moves = ()
+            self.goals = ()
+            self.moves = ()
 
             for label in self.labels:
-                goals = goals + ((self.length () - label.length ())/2,)
-                moves = moves + (3*sign,)
+                self.goals = self.goals + ((self.length () - label.length 
())/2,)
+                self.moves = self.moves + (3*sign,)
                 sign = sign * -1
 
-            gametime_start_action ()
-            while done != 0:
-                for k in range (gametime_frames_to_do()):
-                    win_manager_update ()
-                    self.update ()
-                    done = self.create_menu (moves, goals)
-                win_manager_draw ()
-                self.draw ()
-                screen_show ()
-                gametime_update()
-            
         else:
+            self.startup = 0
             for label in self.labels:
                 label.move ((self.length()-label.length())/2, label.y ())
-            
+            self.add_to_select ()
+
+    def add_to_select (self):
         self.select = win_select()
-        self.select.move(70,10)
-        self.select.resize(180, 220)
-       
-        self.select.set_mode ( win_select_MODE_BRIGHTNESS )
+        self.select.move (70,10)
+        self.select.resize (180, 220)
+               
+        self.select.set_mode (win_select_MODE_BRIGHTNESS)
         self.select.py_signal_connect (self.on_select, win_event_ACTIVATE_KEY);
-        
-        self.select.set_background(self.theme)
-        self.select.set_visible_background (enable_b)
+
+        self.select.set_background (self.theme)
+        self.select.set_visible_background (self.enable_b)
         self.select.set_trans_background (1)
-        
+
         self.select.set_border(self.theme, win_border_MINI)
-        self.select.set_visible_border (enable_b)
-        
+        self.select.set_visible_border (self.enable_b)
+
         self.select.set_circle (1)
         self.select.set_visible_all (1)
         self.select.thisown = 0
-        
+
         self.select.set_activate (1)
-        self.set_focus_object ( self.select )
-        
+        self.set_focus_object (self.select)
+
         self.add (self.select)
 
         for label in self.labels:
             self.remove (label)
             label.move (label.x () - 70, label.y () - 10)
             self.select.add (label)
-            
+
         # add the title
         self.set_align (win_base_ALIGN_CENTER)
         self.add (self.a_title)
         self.add (self.title)
         self.set_visible_all (1)
 
-    # -- cleanup --
-    def __del__(self):
-        pass
-##        del self.font
-##        del self.theme
-        
     # -- Callback to close the window
     def on_destroy (self):
         return self.quit
 
     # -- pressing ESC will close the menu if it's open
     def on_update (self):
-        if self.lg == None:
+        if self.startup > 0:
+            self.startup = self.create_menu (self.moves, self.goals)
+
+            if self.startup == 0:
+                self.add_to_select ()
+
+        elif self.lg == None:
             if input_has_been_pushed (SDLK_ESCAPE):
                 self.quit = 0
                 # If we're on the title screen, then leave.
-                if self.startup == 0:
+                if self.enable_save == 0:
                     self.set_return_code (5)
 
     # -- Callback to get informed of the player's choice
diff --git a/scripts/schedules/.cvsignore b/scripts/schedules/.cvsignore
index 3dda729..c53e206 100755
--- a/scripts/schedules/.cvsignore
+++ b/scripts/schedules/.cvsignore
@@ -1,2 +1,3 @@
+*.pyc
 Makefile.in
 Makefile



reply via email to

[Prev in Thread] Current Thread [Next in Thread]