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 b770dc8 111/237: ADDED 'nam


From: Kai Sterker
Subject: [adonthell-wastesedge-commits] Release_0-3-1 b770dc8 111/237: ADDED 'name your character' dialog that pops up when starting a new game
Date: Mon, 25 Jul 2016 18:15:02 +0000 (UTC)

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

    ADDED 'name your character' dialog that pops up when starting a new game
---
 scripts/init.py                     | 1403 ++++++++++++++++++-----------------
 scripts/modules/character_screen.py |   91 +++
 scripts/modules/console.py          |   51 +-
 3 files changed, 828 insertions(+), 717 deletions(-)

diff --git a/scripts/init.py b/scripts/init.py
index 783e1ce..d52b2b4 100755
--- a/scripts/init.py
+++ b/scripts/init.py
@@ -37,7 +37,7 @@ def fade_in ():
     while i > 0:
         gamedata_map_engine ().mainloop ()
 
-        screen_transition(i * 2)
+        screen_transition (i * 2)
         screen_show ()
 
         gametime_update ()
@@ -220,708 +220,719 @@ class title_screen:
         if retval < 5:
             gamedata_map_engine ().set_should_update_map (1)
 
+            # -- start new game
             if retval == 1:
                 gamedata_load_characters (0)
                 gamedata_load_quests (0)
 
-                the_player = gamedata_player ()
-
-                # Creates the map engine context for the game start
-                gamedata_map_engine ().load_map ("test.map")
-
-                lm = gamedata_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")
-                gamedata_map_engine ().set_mapview_schedule 
("center_character", (the_player.get_name (),))
-
-
-                # Setting up the map events
-                # Teleport events
-
-                # From yard to common room
-                # Open the inn door event
-                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)
-
-                # Close the inn door event
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 0
-                ev.x = 18
-                ev.y = 13
-                ev.set_script ("open_inn_door")
-                lm.add_event (ev)
-
-                # Teleport event
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 0
-                ev.x = 18
-                ev.y = 13
-                ev.set_script ("teleport", (1, 13, 7, STAND_NORTH))
-                lm.add_event (ev)
-
-                # From common room to yard
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 1
-                ev.x = 13
-                ev.y = 8
-                ev.set_script ("teleport", (0, 18, 14, STAND_SOUTH))
-                lm.add_event (ev)
-
-                # From common room to parlor
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 1
-                ev.x = 14
-                ev.y = 4
-                ev.set_script ("teleport", (2, 1, 4, STAND_EAST))
-                lm.add_event (ev)
-
-                # From parlor to common room
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 2
-                ev.x = 0
-                ev.y = 4
-                ev.set_script ("teleport", (1, 13, 4, STAND_WEST))
-                lm.add_event (ev)
-
-                # From common room to kitchen
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 1
-                ev.x = 1
-                ev.y = 8
-                ev.set_script ("teleport", (3, 1, 2, STAND_SOUTH))
-                lm.add_event (ev)
-
-                # From kitchen to common room
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 3
-                ev.x = 1
-                ev.y = 1
-                ev.set_script ("teleport", (1, 1, 7, STAND_NORTH))
-                lm.add_event (ev)
-
-                # From kitchen to yard
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 3
-                ev.x = 7
-                ev.y = 3
-                ev.set_script ("teleport", (0, 12, 14, STAND_EAST))
-                lm.add_event (ev)
-
-                # From yard to kitchen
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 0
-                ev.x = 11
-                ev.y = 14
-                ev.set_script ("teleport", (3, 6, 3, STAND_WEST))
-                lm.add_event (ev)
-
-                # From cellar to bathroom
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 4
-                ev.x = 3
-                ev.y = 5
-                ev.set_script ("teleport", (5, 4, 6, STAND_NORTH))
-                lm.add_event (ev)
-
-                # From bathroom to cellar
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 5
-                ev.x = 4
-                ev.y = 7
-                ev.set_script ("teleport", (4, 3, 6, STAND_SOUTH))
-                lm.add_event (ev)
-
-                # From cellar to alek's
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 4
-                ev.x = 0
-                ev.y = 6
-                ev.set_script ("teleport", (6, 5, 6, STAND_WEST))
-                lm.add_event (ev)
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 4
-                ev.x = 0
-                ev.y = 7
-                ev.set_script ("teleport", (6, 5, 7, STAND_WEST))
-                lm.add_event (ev)
-
-                # From alek's to cellar
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 6
-                ev.x = 6
-                ev.y = 6
-                ev.set_script ("teleport", (4, 1, 6, STAND_EAST))
-                lm.add_event (ev)
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 6
-                ev.x = 6
-                ev.y = 7
-                ev.set_script ("teleport", (4, 1, 7, STAND_EAST))
-                lm.add_event (ev)
-
-                # From cellar to storage
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 4
-                ev.x = 0
-                ev.y = 9
-                ev.set_script ("teleport", (8, 6, 3, STAND_WEST))
-                lm.add_event (ev)
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 4
-                ev.x = 0
-                ev.y = 10
-                ev.set_script ("teleport", (8, 6, 4, STAND_WEST))
-                lm.add_event (ev)
-
-                # From storage to cellar
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 8
-                ev.x = 7
-                ev.y = 3
-                ev.set_script ("teleport", (4, 1, 9, STAND_EAST))
-                lm.add_event (ev)
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 8
-                ev.x = 7
-                ev.y = 4
-                ev.set_script ("teleport", (4, 1, 10, STAND_EAST))
-                lm.add_event (ev)
-
-                # From cellar to dwarves'
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 4
-                ev.x = 10
-                ev.y = 6
-                ev.set_script ("cellar_to_bjarn", (7, 1, 6, STAND_EAST))
-                lm.add_event (ev)
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 4
-                ev.x = 10
-                ev.y = 7
-                ev.set_script ("cellar_to_bjarn", (7, 1, 7, STAND_EAST))
-                lm.add_event (ev)
-
-                # From dwarves' to cellar
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 7
-                ev.x = 0
-                ev.y = 6
-                ev.set_script ("teleport", (4, 9, 6, STAND_WEST))
-                lm.add_event (ev)
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 7
-                ev.x = 0
-                ev.y = 7
-                ev.set_script ("teleport", (4, 9, 7, STAND_WEST))
-                lm.add_event (ev)
-
-                # From 1st to Fellnir's
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 9
-                ev.x = 9
-                ev.y = 2
-                ev.set_script ("teleport", (10, 1, 3, STAND_EAST))
-                lm.add_event (ev)
-
-                # From Fellnir's to 1st
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 10
-                ev.x = 0
-                ev.y = 3
-                ev.set_script ("teleport", (9, 8, 2, STAND_WEST))
-                lm.add_event (ev)
-
-                # From 1st to Frostbloom's
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 9
-                ev.x = 0
-                ev.y = 2
-                ev.set_script ("teleport", (11, 4, 3, STAND_WEST))
-                lm.add_event (ev)
-
-                # From Frostbloom's to 1st
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 11
-                ev.x = 5
-                ev.y = 3
-                ev.set_script ("teleport", (9, 1, 2, STAND_EAST))
-                lm.add_event (ev)
-
-                # From 1st to Player's
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 9
-                ev.x = 7
-                ev.y = 4
-                ev.set_script ("teleport", (12, 5, 2, STAND_SOUTH))
-                lm.add_event (ev)
-
-                # From Player's to 1st
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 12
-                ev.x = 5
-                ev.y = 1
-                ev.set_script ("teleport", (9, 7, 3, STAND_NORTH))
-                lm.add_event (ev)
-
-                # From 1st to Silverhair's
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 9
-                ev.x = 1
-                ev.y = 7
-                ev.set_script ("fst_to_silverhair", (13, 5, 2, STAND_SOUTH))
-                lm.add_event (ev)
-
-                # From Silverhair's to 1st
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 13
-                ev.x = 5
-                ev.y = 1
-                ev.set_script ("teleport", (9, 1, 6, STAND_NORTH))
-                lm.add_event (ev)
-
-                # From 2nd to Redwyne's
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 14
-                ev.x = 3
-                ev.y = 5
-                ev.set_script ("teleport", (15, 1, 5, STAND_EAST))
-                lm.add_event (ev)
-
-                # From Redwyne's to 2nd
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 15
-                ev.x = 0
-                ev.y = 5
-                ev.set_script ("teleport", (14, 2, 5, STAND_WEST))
-                lm.add_event (ev)
-
-                # From 2nd to Oliver's
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 14
-                ev.x = 0
-                ev.y = 5
-                ev.set_script ("teleport", (16, 6, 5, STAND_WEST))
-                lm.add_event (ev)
-
-                # From Oliver's to 2nd
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 16
-                ev.x = 7
-                ev.y = 5
-                ev.set_script ("teleport", (14, 1, 5, STAND_EAST))
-                lm.add_event (ev)
-
-                # From 2nd to Illig's
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 14
-                ev.x = 1
-                ev.y = 8
-                ev.set_script ("teleport", (17, 6, 2, STAND_SOUTH))
-                lm.add_event (ev)
-
-                # From Illig's to 2nd
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 17
-                ev.x = 6
-                ev.y = 1
-                ev.set_script ("teleport", (14, 1, 7, STAND_NORTH))
-                lm.add_event (ev)
-
-                # From common room to 1st
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 1
-                ev.x = 12
-                ev.y = 1
-                ev.set_script ("teleport", (9, 8, 2, STAND_SOUTH))
-                lm.add_event (ev)
-
-                # From 1st to common room
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 9
-                ev.x = 8
-                ev.y = 1
-                ev.set_script ("teleport", (1, 12, 2, STAND_SOUTH))
-                lm.add_event (ev)
-
-                # From 1st to 2nd
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 9
-                ev.x = 6
-                ev.y = 1
-                ev.set_script ("teleport", (14, 4, 2, STAND_SOUTH))
-                lm.add_event (ev)
-
-                # From 2nd to 1st
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 14
-                ev.x = 4
-                ev.y = 1
-                ev.set_script ("teleport", (9, 6, 2, STAND_SOUTH))
-                lm.add_event (ev)
-
-                # From common room to cellar
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 1
-                ev.x = 9
-                ev.y = 1
-                ev.set_script ("teleport", (4, 6, 2, STAND_SOUTH))
-                lm.add_event (ev)
-
-                # From cellar to common room
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 4
-                ev.x = 6
-                ev.y = 1
-                ev.set_script ("teleport", (1, 9, 2, STAND_SOUTH))
-                lm.add_event (ev)
-
-                # From cellar to barn
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 4
-                ev.x = 12
-                ev.y = 1
-                ev.set_script ("teleport", (0, 24, 11, STAND_SOUTH))
-                lm.add_event (ev)
-
-                # From barn to cellar
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 0
-                ev.x = 24
-                ev.y = 10
-                ev.set_script ("teleport", (4, 12, 2, STAND_SOUTH))
-                lm.add_event (ev)
-
-                # From cellar to kitchen
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 4
-                ev.x = 3
-                ev.y = 13
-                ev.set_script ("teleport", (3, 6, 5, STAND_NORTH))
-                lm.add_event (ev)
-
-                # From kitchen to cellar
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 3
-                ev.x = 6
-                ev.y = 6
-                ev.set_script ("teleport", (4, 3, 12, STAND_NORTH))
-                lm.add_event (ev)
-
-                # From yard to guards'
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 0
-                ev.x = 12
-                ev.y = 23
-                ev.set_script ("teleport", (18, 7, 3, STAND_WEST))
-                lm.add_event (ev)
-
-                # From guards' to yard
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 18
-                ev.x = 8
-                ev.y = 3
-                ev.set_script ("teleport", (0, 13, 23, STAND_EAST))
-                lm.add_event (ev)
-
-                # From guards ground to guards 1st
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 18
-                ev.x = 1
-                ev.y = 8
-                ev.set_script ("teleport", (19, 2, 8, STAND_EAST))
-                lm.add_event (ev)
-
-                # From guards 1st to guards ground
-                ev = enter_event ()
-                ev.thisown = C
-                ev.submap = 19
-                ev.x = 1
-                ev.y = 8
-                ev.set_script ("teleport", (18, 2, 8, STAND_EAST))
-                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 ("character_speak", (the_player.get_name (), \
-                                                   "That clock seems to be 
late!"))
-                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 ("character_speak", (the_player.get_name (), \
-                                                   "I'd better not touch 
this... What if it explodes??"))
-                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 ("character_speak", (the_player.get_name (), \
-                                                   "I'd better not touch 
this... What if it explodes??"))
-                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 ("character_speak", (the_player.get_name (), \
-                                                   "I'd better not touch 
this... What if it explodes??"))
-                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 ("character_speak", (the_player.get_name (), \
-                                                   "I'd better not touch 
this... What if it explodes??"))
-                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 ("character_speak", (the_player.get_name (), \
-                                                   "I'd better not touch 
this... What if it explodes??"))
-                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 ("character_speak", (the_player.get_name (), \
-                                                   "I'd better not touch 
this... What if it explodes??"))
-                lm.add_event (ev)
-
-                # Now setup the characters
-                lucia = gamedata_get_character ("Lucia Redwyne")
-                lucia.set_dialogue ("dialogues/lucia_start")
-                lucia.load ("lucia.mchar")
-                lucia.set_map (gamedata_map_engine ().get_landmap ())
-                lucia.jump_to (3, 4, 2)
-                lucia.set_action ("talk")
-                lucia.stand_south ()
-                lucia.set_portrait ("lucia.pnm")
-
-                orloth = gamedata_get_character ("Orloth Redwyne")
-                orloth.set_dialogue ("dialogues/orloth_start")
-                orloth.load ("orloth.mchar")
-                orloth.set_map (gamedata_map_engine ().get_landmap ())
-                orloth.jump_to (1, 2, 2)
-                orloth.set_action ("talk")
-                orloth.stand_south ()
-                orloth.set_schedule ("orloth")
-                orloth.set_portrait ("orloth.pnm")
-
-                erek = gamedata_get_character ("Erek Stonebreaker")
-                erek.set_dialogue ("dialogues/erek_start")
-                erek.load ("erek.mchar")
-                erek.set_map (gamedata_map_engine ().get_landmap ())
-                erek.jump_to (1, 5, 5)
-                erek.set_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 = gamedata_get_character ("Talan Wendth")
-                talan.set_dialogue ("dialogues/talan_start")
-                talan.load ("talan.mchar")
-                talan.set_map (gamedata_map_engine ().get_landmap ())
-                talan.jump_to (0, 11, 19)
-                talan.set_action ("talk")
-                talan.stand_north ()
-                talan.set_schedule ("talan")
-                talan.set_portrait ("talan.pnm")
-
-                jelom = gamedata_get_character ("Jelom Rasgar")
-                jelom.set_dialogue ("dialogues/jelom_start")
-                jelom.load ("jelom.mchar")
-                jelom.set_map (gamedata_map_engine ().get_landmap ())
-                jelom.jump_to (9, 2, 6)
-                jelom.set_action ("talk")
-                jelom.stand_north ()
-                jelom.set_schedule ("jelom")
-                jelom.set_portrait ("jelom.pnm")
-
-                alek = gamedata_get_character ("Alek Endhelm")
-                alek.set_dialogue ("dialogues/alek_start")
-                alek.load ("alek.mchar")
-                alek.set_map (gamedata_map_engine ().get_landmap ())
-                alek.jump_to (1, 1, 3)
-                alek.set_action ("talk")
-                alek.stand_south ()
-                alek.set_schedule ("alek")
-                alek.set_portrait ("alek.pnm")
-
-                oliver = gamedata_get_character ("Oliver Redwyne")
-                oliver.set_dialogue ("dialogues/oliver_start")
-                oliver.load ("oliver.mchar")
-                oliver.set_map (gamedata_map_engine ().get_landmap ())
-                oliver.jump_to (0, 25, 15)
-                oliver.set_action ("talk")
-                oliver.stand_west ()
-                oliver.set_schedule ("oliver")
-                oliver.set_portrait ("oliver.pnm")
-
-                frostbloom = gamedata_get_character ("Rhayne Frostbloom")
-                frostbloom.set_dialogue ("dialogues/frostbloom_start")
-                frostbloom.load ("frostbloom.mchar")
-                frostbloom.set_map (gamedata_map_engine ().get_landmap ())
-                frostbloom.jump_to (0, 18, 22)
-                frostbloom.set_action ("talk")
-                frostbloom.stand_north ()
-                frostbloom.set_schedule ("frostbloom")
-                frostbloom.set_portrait ("frostbloom.pnm")
-
-                bjarn = gamedata_get_character ("Bjarn Fingolson")
-                bjarn.set_dialogue ("dialogues/bjarn_start")
-                bjarn.load ("bjarn.mchar")
-                bjarn.set_map (gamedata_map_engine ().get_landmap ())
-                bjarn.jump_to (7, 3, 6)
-                bjarn.set_action ("talk")
-                bjarn.stand_west ()
-                bjarn.set_portrait ("bjarn.pnm")
-
-                silverhair = gamedata_get_character ("Imoen Silverhair")
-                silverhair.load ("silverhair.mchar")
-                silverhair.set_map (gamedata_map_engine ().get_landmap ())
-                silverhair.jump_to (13, 4, 4)
-                silverhair.set_action ("talk")
-                silverhair.stand_south ()
-                silverhair.set_schedule ("silverhair")
-                silverhair.set_portrait ("silverhair.pnm")
-
-                sarin = gamedata_get_character ("Sarin Trailfollower")
-                sarin.set_dialogue ("dialogues/sarin_start")
-                sarin.load ("servant2.mchar")
-                sarin.set_map (gamedata_map_engine ().get_landmap ())
-                sarin.jump_to (13, 5, 3)
-                sarin.set_action ("talk")
-                sarin.stand_west ()
-                sarin.set_schedule ("sarin")
-                sarin.set_portrait ("sarin.pnm")
-
-                janesta = gamedata_get_character ("Janesta Skywind")
-                janesta.set_dialogue ("dialogues/janesta_start")
-                janesta.load ("servant1.mchar")
-                janesta.set_map (gamedata_map_engine ().get_landmap ())
-                janesta.jump_to (13, 6, 3)
-                janesta.set_action ("talk")
-                janesta.stand_north ()
-                janesta.set_schedule ("janesta")
-                janesta.set_portrait ("janesta.pnm")
-
-                fellnir = gamedata_get_character ("Fellnir Kezular")
-                fellnir.set_dialogue ("dialogues/fellnir_start")
-                fellnir.load ("fellnir.mchar")
-                fellnir.set_map (gamedata_map_engine ().get_landmap ())
-                fellnir.jump_to (10, 4, 4)
-                fellnir.set_action ("talk")
-                fellnir.stand_south ()
-                fellnir.set_schedule ("fellnir")
-                fellnir.set_portrait ("fellnir.pnm")
-
-                tristan = gamedata_get_character ("Tristan Illig")
-                tristan.set_dialogue ("dialogues/tristan_start")
-                tristan.load ("illig.mchar")
-                tristan.set_map (gamedata_map_engine ().get_landmap ())
-                tristan.jump_to (1, 4, 6)
-                tristan.set_action ("talk")
-                tristan.stand_west ()
-                tristan.set_schedule ("tristan")
-                tristan.set_portrait ("illig.pnm")
-
-                # 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 ()
+                # let the player chose a name for his character
+                from character_screen import *
+                self.cs = character_screen ()
+                self.cs.thisown = C
+                self.cs.py_signal_connect (self.on_cs_close, win_event_CLOSE)
+
+                win_manager_add (self.cs)
+                win_manager_set_focus (self.cs)
+
         else:
             gamedata_map_engine ().quit ()
 
 
+    def on_cs_close (self, retval):
+        # Creates the map engine context for the game start
+        gamedata_map_engine ().load_map ("test.map")
+        lm = gamedata_map_engine ().get_landmap ()
+
+        the_player = gamedata_player ()
+
+        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")
+        gamedata_map_engine ().set_mapview_schedule ("center_character", 
(the_player.get_name (),))
+
+        # Setting up the map events
+        # Teleport events
+
+        # From yard to common room
+        # Open the inn door event
+        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)
+
+        # Close the inn door event
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 0
+        ev.x = 18
+        ev.y = 13
+        ev.set_script ("open_inn_door")
+        lm.add_event (ev)
+
+        # Teleport event
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 0
+        ev.x = 18
+        ev.y = 13
+        ev.set_script ("teleport", (1, 13, 7, STAND_NORTH))
+        lm.add_event (ev)
+
+        # From common room to yard
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 1
+        ev.x = 13
+        ev.y = 8
+        ev.set_script ("teleport", (0, 18, 14, STAND_SOUTH))
+        lm.add_event (ev)
+
+        # From common room to parlor
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 1
+        ev.x = 14
+        ev.y = 4
+        ev.set_script ("teleport", (2, 1, 4, STAND_EAST))
+        lm.add_event (ev)
+
+        # From parlor to common room
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 2
+        ev.x = 0
+        ev.y = 4
+        ev.set_script ("teleport", (1, 13, 4, STAND_WEST))
+        lm.add_event (ev)
+
+        # From common room to kitchen
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 1
+        ev.x = 1
+        ev.y = 8
+        ev.set_script ("teleport", (3, 1, 2, STAND_SOUTH))
+        lm.add_event (ev)
+
+        # From kitchen to common room
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 3
+        ev.x = 1
+        ev.y = 1
+        ev.set_script ("teleport", (1, 1, 7, STAND_NORTH))
+        lm.add_event (ev)
+
+        # From kitchen to yard
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 3
+        ev.x = 7
+        ev.y = 3
+        ev.set_script ("teleport", (0, 12, 14, STAND_EAST))
+        lm.add_event (ev)
+
+        # From yard to kitchen
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 0
+        ev.x = 11
+        ev.y = 14
+        ev.set_script ("teleport", (3, 6, 3, STAND_WEST))
+        lm.add_event (ev)
+
+        # From cellar to bathroom
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 4
+        ev.x = 3
+        ev.y = 5
+        ev.set_script ("teleport", (5, 4, 6, STAND_NORTH))
+        lm.add_event (ev)
+
+        # From bathroom to cellar
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 5
+        ev.x = 4
+        ev.y = 7
+        ev.set_script ("teleport", (4, 3, 6, STAND_SOUTH))
+        lm.add_event (ev)
+
+        # From cellar to alek's
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 4
+        ev.x = 0
+        ev.y = 6
+        ev.set_script ("teleport", (6, 5, 6, STAND_WEST))
+        lm.add_event (ev)
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 4
+        ev.x = 0
+        ev.y = 7
+        ev.set_script ("teleport", (6, 5, 7, STAND_WEST))
+        lm.add_event (ev)
+
+        # From alek's to cellar
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 6
+        ev.x = 6
+        ev.y = 6
+        ev.set_script ("teleport", (4, 1, 6, STAND_EAST))
+        lm.add_event (ev)
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 6
+        ev.x = 6
+        ev.y = 7
+        ev.set_script ("teleport", (4, 1, 7, STAND_EAST))
+        lm.add_event (ev)
+
+        # From cellar to storage
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 4
+        ev.x = 0
+        ev.y = 9
+        ev.set_script ("teleport", (8, 6, 3, STAND_WEST))
+        lm.add_event (ev)
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 4
+        ev.x = 0
+        ev.y = 10
+        ev.set_script ("teleport", (8, 6, 4, STAND_WEST))
+        lm.add_event (ev)
+
+        # From storage to cellar
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 8
+        ev.x = 7
+        ev.y = 3
+        ev.set_script ("teleport", (4, 1, 9, STAND_EAST))
+        lm.add_event (ev)
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 8
+        ev.x = 7
+        ev.y = 4
+        ev.set_script ("teleport", (4, 1, 10, STAND_EAST))
+        lm.add_event (ev)
+
+        # From cellar to dwarves'
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 4
+        ev.x = 10
+        ev.y = 6
+        ev.set_script ("cellar_to_bjarn", (7, 1, 6, STAND_EAST))
+        lm.add_event (ev)
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 4
+        ev.x = 10
+        ev.y = 7
+        ev.set_script ("cellar_to_bjarn", (7, 1, 7, STAND_EAST))
+        lm.add_event (ev)
+
+        # From dwarves' to cellar
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 7
+        ev.x = 0
+        ev.y = 6
+        ev.set_script ("teleport", (4, 9, 6, STAND_WEST))
+        lm.add_event (ev)
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 7
+        ev.x = 0
+        ev.y = 7
+        ev.set_script ("teleport", (4, 9, 7, STAND_WEST))
+        lm.add_event (ev)
+
+        # From 1st to Fellnir's
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 9
+        ev.x = 9
+        ev.y = 2
+        ev.set_script ("teleport", (10, 1, 3, STAND_EAST))
+        lm.add_event (ev)
+
+        # From Fellnir's to 1st
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 10
+        ev.x = 0
+        ev.y = 3
+        ev.set_script ("teleport", (9, 8, 2, STAND_WEST))
+        lm.add_event (ev)
+
+        # From 1st to Frostbloom's
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 9
+        ev.x = 0
+        ev.y = 2
+        ev.set_script ("teleport", (11, 4, 3, STAND_WEST))
+        lm.add_event (ev)
+
+        # From Frostbloom's to 1st
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 11
+        ev.x = 5
+        ev.y = 3
+        ev.set_script ("teleport", (9, 1, 2, STAND_EAST))
+        lm.add_event (ev)
+
+        # From 1st to Player's
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 9
+        ev.x = 7
+        ev.y = 4
+        ev.set_script ("teleport", (12, 5, 2, STAND_SOUTH))
+        lm.add_event (ev)
+
+        # From Player's to 1st
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 12
+        ev.x = 5
+        ev.y = 1
+        ev.set_script ("teleport", (9, 7, 3, STAND_NORTH))
+        lm.add_event (ev)
+
+        # From 1st to Silverhair's
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 9
+        ev.x = 1
+        ev.y = 7
+        ev.set_script ("fst_to_silverhair", (13, 5, 2, STAND_SOUTH))
+        lm.add_event (ev)
+
+        # From Silverhair's to 1st
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 13
+        ev.x = 5
+        ev.y = 1
+        ev.set_script ("teleport", (9, 1, 6, STAND_NORTH))
+        lm.add_event (ev)
+
+        # From 2nd to Redwyne's
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 14
+        ev.x = 3
+        ev.y = 5
+        ev.set_script ("teleport", (15, 1, 5, STAND_EAST))
+        lm.add_event (ev)
+
+        # From Redwyne's to 2nd
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 15
+        ev.x = 0
+        ev.y = 5
+        ev.set_script ("teleport", (14, 2, 5, STAND_WEST))
+        lm.add_event (ev)
+
+        # From 2nd to Oliver's
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 14
+        ev.x = 0
+        ev.y = 5
+        ev.set_script ("teleport", (16, 6, 5, STAND_WEST))
+        lm.add_event (ev)
+
+        # From Oliver's to 2nd
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 16
+        ev.x = 7
+        ev.y = 5
+        ev.set_script ("teleport", (14, 1, 5, STAND_EAST))
+        lm.add_event (ev)
+
+        # From 2nd to Illig's
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 14
+        ev.x = 1
+        ev.y = 8
+        ev.set_script ("teleport", (17, 6, 2, STAND_SOUTH))
+        lm.add_event (ev)
+
+        # From Illig's to 2nd
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 17
+        ev.x = 6
+        ev.y = 1
+        ev.set_script ("teleport", (14, 1, 7, STAND_NORTH))
+        lm.add_event (ev)
+
+        # From common room to 1st
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 1
+        ev.x = 12
+        ev.y = 1
+        ev.set_script ("teleport", (9, 8, 2, STAND_SOUTH))
+        lm.add_event (ev)
+
+        # From 1st to common room
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 9
+        ev.x = 8
+        ev.y = 1
+        ev.set_script ("teleport", (1, 12, 2, STAND_SOUTH))
+        lm.add_event (ev)
+
+        # From 1st to 2nd
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 9
+        ev.x = 6
+        ev.y = 1
+        ev.set_script ("teleport", (14, 4, 2, STAND_SOUTH))
+        lm.add_event (ev)
+
+        # From 2nd to 1st
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 14
+        ev.x = 4
+        ev.y = 1
+        ev.set_script ("teleport", (9, 6, 2, STAND_SOUTH))
+        lm.add_event (ev)
+
+        # From common room to cellar
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 1
+        ev.x = 9
+        ev.y = 1
+        ev.set_script ("teleport", (4, 6, 2, STAND_SOUTH))
+        lm.add_event (ev)
+
+        # From cellar to common room
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 4
+        ev.x = 6
+        ev.y = 1
+        ev.set_script ("teleport", (1, 9, 2, STAND_SOUTH))
+        lm.add_event (ev)
+
+        # From cellar to barn
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 4
+        ev.x = 12
+        ev.y = 1
+        ev.set_script ("teleport", (0, 24, 11, STAND_SOUTH))
+        lm.add_event (ev)
+
+        # From barn to cellar
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 0
+        ev.x = 24
+        ev.y = 10
+        ev.set_script ("teleport", (4, 12, 2, STAND_SOUTH))
+        lm.add_event (ev)
+
+        # From cellar to kitchen
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 4
+        ev.x = 3
+        ev.y = 13
+        ev.set_script ("teleport", (3, 6, 5, STAND_NORTH))
+        lm.add_event (ev)
+
+        # From kitchen to cellar
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 3
+        ev.x = 6
+        ev.y = 6
+        ev.set_script ("teleport", (4, 3, 12, STAND_NORTH))
+        lm.add_event (ev)
+
+        # From yard to guards'
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 0
+        ev.x = 12
+        ev.y = 23
+        ev.set_script ("teleport", (18, 7, 3, STAND_WEST))
+        lm.add_event (ev)
+
+        # From guards' to yard
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 18
+        ev.x = 8
+        ev.y = 3
+        ev.set_script ("teleport", (0, 13, 23, STAND_EAST))
+        lm.add_event (ev)
+
+        # From guards ground to guards 1st
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 18
+        ev.x = 1
+        ev.y = 8
+        ev.set_script ("teleport", (19, 2, 8, STAND_EAST))
+        lm.add_event (ev)
+
+        # From guards 1st to guards ground
+        ev = enter_event ()
+        ev.thisown = C
+        ev.submap = 19
+        ev.x = 1
+        ev.y = 8
+        ev.set_script ("teleport", (18, 2, 8, STAND_EAST))
+        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 ("character_speak", (the_player.get_name (), \
+                                           "That clock seems to be late!"))
+        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 ("character_speak", (the_player.get_name (), \
+                                           "I'd better not touch this... What 
if it explodes??"))
+        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 ("character_speak", (the_player.get_name (), \
+                                           "I'd better not touch this... What 
if it explodes??"))
+        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 ("character_speak", (the_player.get_name (), \
+                                           "I'd better not touch this... What 
if it explodes??"))
+        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 ("character_speak", (the_player.get_name (), \
+                                           "I'd better not touch this... What 
if it explodes??"))
+        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 ("character_speak", (the_player.get_name (), \
+                                           "I'd better not touch this... What 
if it explodes??"))
+        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 ("character_speak", (the_player.get_name (), \
+                                           "I'd better not touch this... What 
if it explodes??"))
+        lm.add_event (ev)
+
+        # Now setup the characters
+        lucia = gamedata_get_character ("Lucia Redwyne")
+        lucia.set_dialogue ("dialogues/lucia_start")
+        lucia.load ("lucia.mchar")
+        lucia.set_map (gamedata_map_engine ().get_landmap ())
+        lucia.jump_to (3, 4, 2)
+        lucia.set_action ("talk")
+        lucia.stand_south ()
+        lucia.set_portrait ("lucia.pnm")
+
+        orloth = gamedata_get_character ("Orloth Redwyne")
+        orloth.set_dialogue ("dialogues/orloth_start")
+        orloth.load ("orloth.mchar")
+        orloth.set_map (gamedata_map_engine ().get_landmap ())
+        orloth.jump_to (1, 2, 2)
+        orloth.set_action ("talk")
+        orloth.stand_south ()
+        orloth.set_schedule ("orloth")
+        orloth.set_portrait ("orloth.pnm")
+
+        erek = gamedata_get_character ("Erek Stonebreaker")
+        erek.set_dialogue ("dialogues/erek_start")
+        erek.load ("erek.mchar")
+        erek.set_map (gamedata_map_engine ().get_landmap ())
+        erek.jump_to (1, 5, 5)
+        erek.set_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 = gamedata_get_character ("Talan Wendth")
+        talan.set_dialogue ("dialogues/talan_start")
+        talan.load ("talan.mchar")
+        talan.set_map (gamedata_map_engine ().get_landmap ())
+        talan.jump_to (0, 11, 19)
+        talan.set_action ("talk")
+        talan.stand_north ()
+        talan.set_schedule ("talan")
+        talan.set_portrait ("talan.pnm")
+
+        jelom = gamedata_get_character ("Jelom Rasgar")
+        jelom.set_dialogue ("dialogues/jelom_start")
+        jelom.load ("jelom.mchar")
+        jelom.set_map (gamedata_map_engine ().get_landmap ())
+        jelom.jump_to (9, 2, 6)
+        jelom.set_action ("talk")
+        jelom.stand_north ()
+        jelom.set_schedule ("jelom")
+        jelom.set_portrait ("jelom.pnm")
+
+        alek = gamedata_get_character ("Alek Endhelm")
+        alek.set_dialogue ("dialogues/alek_start")
+        alek.load ("alek.mchar")
+        alek.set_map (gamedata_map_engine ().get_landmap ())
+        alek.jump_to (1, 1, 3)
+        alek.set_action ("talk")
+        alek.stand_south ()
+        alek.set_schedule ("alek")
+        alek.set_portrait ("alek.pnm")
+
+        oliver = gamedata_get_character ("Oliver Redwyne")
+        oliver.set_dialogue ("dialogues/oliver_start")
+        oliver.load ("oliver.mchar")
+        oliver.set_map (gamedata_map_engine ().get_landmap ())
+        oliver.jump_to (0, 25, 15)
+        oliver.set_action ("talk")
+        oliver.stand_west ()
+        oliver.set_schedule ("oliver")
+        oliver.set_portrait ("oliver.pnm")
+
+        frostbloom = gamedata_get_character ("Rhayne Frostbloom")
+        frostbloom.set_dialogue ("dialogues/frostbloom_start")
+        frostbloom.load ("frostbloom.mchar")
+        frostbloom.set_map (gamedata_map_engine ().get_landmap ())
+        frostbloom.jump_to (0, 18, 22)
+        frostbloom.set_action ("talk")
+        frostbloom.stand_north ()
+        frostbloom.set_schedule ("frostbloom")
+        frostbloom.set_portrait ("frostbloom.pnm")
+
+        bjarn = gamedata_get_character ("Bjarn Fingolson")
+        bjarn.set_dialogue ("dialogues/bjarn_start")
+        bjarn.load ("bjarn.mchar")
+        bjarn.set_map (gamedata_map_engine ().get_landmap ())
+        bjarn.jump_to (7, 3, 6)
+        bjarn.set_action ("talk")
+        bjarn.stand_west ()
+        bjarn.set_portrait ("bjarn.pnm")
+
+        silverhair = gamedata_get_character ("Imoen Silverhair")
+        silverhair.load ("silverhair.mchar")
+        silverhair.set_map (gamedata_map_engine ().get_landmap ())
+        silverhair.jump_to (13, 4, 4)
+        silverhair.set_action ("talk")
+        silverhair.stand_south ()
+        silverhair.set_schedule ("silverhair")
+        silverhair.set_portrait ("silverhair.pnm")
+
+        sarin = gamedata_get_character ("Sarin Trailfollower")
+        sarin.set_dialogue ("dialogues/sarin_start")
+        sarin.load ("servant2.mchar")
+        sarin.set_map (gamedata_map_engine ().get_landmap ())
+        sarin.jump_to (13, 5, 3)
+        sarin.set_action ("talk")
+        sarin.stand_west ()
+        sarin.set_schedule ("sarin")
+        sarin.set_portrait ("sarin.pnm")
+
+        janesta = gamedata_get_character ("Janesta Skywind")
+        janesta.set_dialogue ("dialogues/janesta_start")
+        janesta.load ("servant1.mchar")
+        janesta.set_map (gamedata_map_engine ().get_landmap ())
+        janesta.jump_to (13, 6, 3)
+        janesta.set_action ("talk")
+        janesta.stand_north ()
+        janesta.set_schedule ("janesta")
+        janesta.set_portrait ("janesta.pnm")
+
+        fellnir = gamedata_get_character ("Fellnir Kezular")
+        fellnir.set_dialogue ("dialogues/fellnir_start")
+        fellnir.load ("fellnir.mchar")
+        fellnir.set_map (gamedata_map_engine ().get_landmap ())
+        fellnir.jump_to (10, 4, 4)
+        fellnir.set_action ("talk")
+        fellnir.stand_south ()
+        fellnir.set_schedule ("fellnir")
+        fellnir.set_portrait ("fellnir.pnm")
+
+        tristan = gamedata_get_character ("Tristan Illig")
+        tristan.set_dialogue ("dialogues/tristan_start")
+        tristan.load ("illig.mchar")
+        tristan.set_map (gamedata_map_engine ().get_landmap ())
+        tristan.jump_to (1, 4, 6)
+        tristan.set_action ("talk")
+        tristan.stand_west ()
+        tristan.set_schedule ("tristan")
+        tristan.set_portrait ("illig.pnm")
+
+        # 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 ()
+
 # -- Main --
 title = title_screen ()
diff --git a/scripts/modules/character_screen.py 
b/scripts/modules/character_screen.py
new file mode 100644
index 0000000..7a67465
--- /dev/null
+++ b/scripts/modules/character_screen.py
@@ -0,0 +1,91 @@
+#
+#  $Id$
+#
+#  (C) Copyright 2001 Kai Sterker <address@hidden>
+#  Part of the Adonthell Project http://adonthell.linuxgames.com
+#
+#  This program is free software; you can redistribute it and/or modify
+#  it under the terms of the GNU General Public License.
+#  This program is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY.
+#
+#  See the COPYING file for more details
+#
+
+import adonthell
+
+# -- GUI for chosing the name of the main character
+class character_screen (adonthell.win_container):
+
+    # -- Constructor
+    def __init__(self):        
+        adonthell.win_container.__init__(self)
+
+        self.thisown = 0
+        self.quit = 1
+
+        self.py_signal_connect (self.on_destroy, adonthell.win_event_DESTROY)
+
+        # -- get font and theme
+        self.font = adonthell.win_manager_get_font ("original")
+        self.theme = adonthell.win_manager_get_theme ("original")
+        
+        self.move (60, 55)     
+        self.resize (200, 110)
+        self.set_border (self.theme)
+        self.set_background (self.theme)
+        self.set_trans_background (1)
+
+        # -- The window title
+        self.title = adonthell.win_label ()
+        self.title.thisown = 0
+        self.title.resize (0, 20)
+        self.title.set_font (self.font)
+        self.title.set_form (adonthell.label_AUTO_SIZE)
+        self.title.set_text ("Enter your character's name")
+        self.title.pack ()
+        self.title.move ((self.length () - self.title.length ())/2, 10)
+
+        # -- The character image
+        self.image = adonthell.win_image ()
+        self.image.thisown = 0
+        self.image.move (10, 35)
+        self.image.resize (64, 64)
+        self.image.load_pnm ("gfx/portraits/player.pnm")
+        self.image.set_mask (1)
+        self.image.pack ()
+
+        # -- The text entry
+        self.entry = adonthell.win_write ()
+        self.entry.thisown = 0
+        self.entry.py_signal_connect (self.on_enter, 
adonthell.win_event_ACTIVATE_KEY)
+        self.entry.move (90, 62)
+        self.entry.resize (100, 20)
+        self.entry.set_font (self.font)
+        self.entry.set_cursor (1)
+        self.entry.set_cursor_moveable (1)
+        self.entry.set_text ("Banec")
+        self.entry.pack ()
+        
+        self.add (self.title)
+        self.add (self.image)
+        self.add (self.entry)
+        self.set_focus_object (self.entry)
+        
+        self.set_visible_background (1);
+        self.set_visible_border (1);
+        self.set_visible_all (1);
+        self.set_activate (1)
+
+        self.entry.set_focus (1)
+        self.entry.set_activate (1)
+
+    # -- callback for accepting name
+    def on_enter (self):
+        name = self.entry.text_char ()
+        adonthell.gamedata_player ().rename (name)
+        self.quit = 0
+
+    # -- callback to close the window
+    def on_destroy (self):
+        return self.quit
diff --git a/scripts/modules/console.py b/scripts/modules/console.py
index d1d7dc1..fe944ad 100755
--- a/scripts/modules/console.py
+++ b/scripts/modules/console.py
@@ -1,12 +1,26 @@
+#
+#  $Id$
+#
+#  (C) Copyright 2001 Kai Sterker <address@hidden>
+#  Part of the Adonthell Project http://adonthell.linuxgames.com
+#
+#  This program is free software; you can redistribute it and/or modify
+#  it under the terms of the GNU General Public License.
+#  This program is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY.
+#
+#  See the COPYING file for more details
+#
+
 import sys
-from adonthell import *
+import adonthell
 
 # -- A simple python console with command history
-class console (win_container):
+class console (adonthell.win_container):
 
     # -- Constructor
     def __init__(self, ns):    
-        win_container.__init__(self)
+        adonthell.win_container.__init__(self)
 
         self.namespace = ns
         self.history = []
@@ -17,12 +31,12 @@ class console (win_container):
         # read the old history
         self.read_history ()
 
-        self.py_signal_connect (self.on_destroy, win_event_DESTROY)
-        self.py_signal_connect (self.on_update, win_event_UPDATE)
+        self.py_signal_connect (self.on_destroy, adonthell.win_event_DESTROY)
+        self.py_signal_connect (self.on_update, adonthell.win_event_UPDATE)
         
         # -- get font and theme
-        self.font = win_manager_get_font ("silverleaf")
-        self.theme = win_manager_get_theme ("silverleaf")
+        self.font = adonthell.win_manager_get_font ("silverleaf")
+        self.theme = adonthell.win_manager_get_theme ("silverleaf")
         
         self.move (10, 150)    
         self.resize (300, 80)
@@ -30,10 +44,10 @@ class console (win_container):
         self.set_background (self.theme)
         self.set_trans_background (1)
         
-        self.entry = win_write ()
+        self.entry = adonthell.win_write ()
         self.entry.thisown = 0
 
-        self.entry.py_signal_connect (self.on_execute, win_event_ACTIVATE_KEY)
+        self.entry.py_signal_connect (self.on_execute, 
adonthell.win_event_ACTIVATE_KEY)
         self.entry.move (5, 5)
         self.entry.resize (290, 70)
         # -- causes a crash:
@@ -62,8 +76,7 @@ class console (win_container):
     # -- callback for command execution
     def on_execute (self):
         text = self.entry.text_char ()
-        # print "Execute", text
- 
+
         # -- if we have a command ...
         if text != None:
             
@@ -88,32 +101,28 @@ class console (win_container):
     # -- catch relevant keypresses 
     def on_update (self):
         # -- quit
-        if input_has_been_pushed (SDLK_TAB):
-            # print "Quitting ..."
+        if adonthell.input_has_been_pushed (adonthell.SDLK_TAB):
             self.quit = 0
         
         # -- clear screen
-        elif input_has_been_pushed (SDLK_DELETE):
-            # print "Deleting ..."
+        elif adonthell.input_has_been_pushed (adonthell.SDLK_DELETE):
             self.entry.set_text ("")
         
         # -- previous command
-        elif input_has_been_pushed (SDLK_UP):
-            # print "Up ..."
+        elif adonthell.input_has_been_pushed (adonthell.SDLK_UP):
             if self.hist_idx > 0:
                 self.hist_idx = self.hist_idx - 1
                 self.entry.set_text (self.history[ self.hist_idx ][:-1])
         
         # -- next command
-        elif input_has_been_pushed (SDLK_DOWN):
-            # print "Down ..."
+        elif adonthell.input_has_been_pushed (adonthell.SDLK_DOWN):
             if self.hist_idx < len (self.history) - 1:
                 self.hist_idx = self.hist_idx + 1
                 self.entry.set_text (self.history[ self.hist_idx ][:-1])
 
     # -- Read the old history from ~/.adonthell/history
     def read_history (self):
-        dir = gamedata_user_data_dir ()
+        dir = adonthell.gamedata_user_data_dir ()
         dir = dir + "/history"
 
         # -- try to open the file
@@ -129,7 +138,7 @@ class console (win_container):
 
     # -- Write the last 50 commands to ~/.adonthell/history
     def write_history (self):
-        dir = gamedata_user_data_dir ()
+        dir = adonthell.gamedata_user_data_dir ()
         dir = dir + "/history"
 
         # -- try to open the file



reply via email to

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