From 1f9d191d69a4c5bdd7fbf8dbe8a9eff0698a488b Mon Sep 17 00:00:00 2001 From: Dan Olson Date: Fri, 27 Nov 2009 04:42:44 -0800 Subject: [PATCH] Menu fonts working, drawpatch fix --- pyhexen.py | 2 ++ pyhexen/__init__.py | 1 + pyhexen/menu.py | 39 +++++++++++++++++++++++++++++++++++++++ pyhexen/vid.py | 2 -- 4 files changed, 42 insertions(+), 2 deletions(-) diff --git a/pyhexen.py b/pyhexen.py index 5dbc1c6..fed6d51 100644 --- a/pyhexen.py +++ b/pyhexen.py @@ -14,6 +14,8 @@ wad.InitMultipleFiles (['heretic.wad']) vid = pyhexen.vid.Video (wad) vid.Init () +menu = pyhexen.menu.Menu (wad, vid) + vid.SetPalette (wad.CacheLumpName('PLAYPAL')) vid.DrawRawScreen (wad.CacheLumpName('TITLE')) vid.DrawPatch (4, 160, wad.CacheLumpName('ADVISOR')) diff --git a/pyhexen/__init__.py b/pyhexen/__init__.py index ee8aa56..4faade5 100644 --- a/pyhexen/__init__.py +++ b/pyhexen/__init__.py @@ -1,2 +1,3 @@ import pyhexen.wad import pyhexen.vid +import pyhexen.menu diff --git a/pyhexen/menu.py b/pyhexen/menu.py index e69de29..c753823 100644 --- a/pyhexen/menu.py +++ b/pyhexen/menu.py @@ -0,0 +1,39 @@ +import struct +import wad +import vid + +class Menu: + def __init__ (self, wad, vid): + self.wad = wad + self.vid = vid + self.SkullBaseLump = self.wad.GetNumForName("M_SKL00") + self.FontABaseLump = self.wad.GetNumForName("FONTA_S")+1 + self.FontBBaseLump = self.wad.GetNumForName("FONTB_S")+1 + + def ProcessText (self, text, x, y, baselump, draw=True): + print 'Processing %s' % text + for c in text: + print 'ord %d' % ord (c) + if ord (c) < 33: + print ("skipzored") + x = x + 5 + else: + patch = self.wad.CacheLumpNum (baselump + ord (c) - 33) + (w, h) = struct.unpack_from ('