]> icculus.org git repositories - theoddone33/hheretic.git/blob - pyhexen.py
More menu changes, main menu stub displays w/ no actions
[theoddone33/hheretic.git] / pyhexen.py
1 import sys
2 import pyhexen
3 import pygame
4 from pygame.locals import *
5
6 def input(events):
7         for event in events:
8                 if event.type == QUIT:
9                         sys.exit(0)
10
11 wad = pyhexen.wad.WadReader ()
12 wad.InitMultipleFiles (['heretic.wad'])
13
14 vid = pyhexen.vid.Video (wad)
15 vid.Init ()
16
17 vid.SetPalette (wad.CacheLumpName('PLAYPAL'))
18
19 menu = pyhexen.menu.Menu (wad, vid)
20
21 # Setup menus... these will be game-specific!
22 class MainMenu(pyhexen.menu.SubMenu):
23         def Draw (self):
24                 frame = (self.menu.time/3) % 18
25                 self.menu.vid.DrawPatch (88, 0, self.menu.wad.CacheLumpName ('M_HTIC'))
26                 self.menu.vid.DrawPatch (40, 10, self.menu.wad.CacheLumpNum (self.menu.SkullBaseLump + (17 - frame)))
27                 self.menu.vid.DrawPatch (232, 10, self.menu.wad.CacheLumpNum (self.menu.SkullBaseLump + frame))
28
29 mainMenu = MainMenu (menu, 'main', 110, 56)
30 mainMenu.AddItem ("NEW GAME")
31 mainMenu.AddItem ("OPTIONS")
32 mainMenu.AddItem ("GAME FILES")
33 mainMenu.AddItem ("INFO")
34 mainMenu.AddItem ("QUIT GAME")
35
36 menu.AddMenu (mainMenu)
37
38 menu.Activate ()
39
40 while True:
41         menu.Tick ()
42         
43         vid.DrawRawScreen (wad.CacheLumpName('TITLE'))
44         vid.DrawPatch (4, 160, wad.CacheLumpName('ADVISOR'))
45
46         menu.Draw ()
47         
48         vid.WaitVBL ()
49         
50         input (pygame.event.get())
51