Mercurial > rinkhals
changeset 410:e83ec14163f2
Make level loading more robust
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Sat, 21 Nov 2009 11:04:16 +0000 |
parents | 912b2a0ed014 |
children | 03d5cb669298 |
files | gamelib/level.py |
diffstat | 1 files changed, 10 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/gamelib/level.py Sat Nov 21 09:54:03 2009 +0000 +++ b/gamelib/level.py Sat Nov 21 11:04:16 2009 +0000 @@ -2,6 +2,7 @@ import constants import data +import os from animal import DEFAULT_FOX_WEIGHTINGS from ConfigParser import RawConfigParser @@ -9,8 +10,16 @@ """Container for level details""" def __init__(self, level_name): + level_info = None default_map = '%s.tga' % level_name - level_info = data.filepath('levels/%s.conf' % level_name) + for poss_file in ['levels/%s.conf' % level_name, '%s.conf' % level_name, + 'levels/%s' % level_name, level_name]: + cand = data.filepath(poss_file) + if os.path.exists(cand): + level_info = cand + break + if not level_info: + raise RuntimeError('Unable to load %s' % level_name) # Load the level info file # setup defaults defaults = {