diff mamba/gamestate.py @ 399:12d67f69e6b2

Support for user levels.
author Jeremy Thurgood <firxen@gmail.com>
date Sat, 17 Sep 2011 11:28:18 +0200
parents d4062344d8f4
children 001c3797a63b
line wrap: on
line diff
--- a/mamba/gamestate.py	Sat Sep 17 11:02:37 2011 +0200
+++ b/mamba/gamestate.py	Sat Sep 17 11:28:18 2011 +0200
@@ -13,6 +13,10 @@
 done_levels = set()
 
 
+def save_path(path):
+    return os.path.join(options.save_location, *path.split('/'))
+
+
 def level_done(level_name):
     done_levels.add(level_name)
     save_state()
@@ -20,7 +24,7 @@
 
 def load_state():
     done_levels.clear()
-    fn = os.path.join(options.save_location, 'gamestate.json')
+    fn = save_path('gamestate.json')
     if os.access(fn, os.R_OK):
         f = open(fn, 'r')
         state = json.load(f)
@@ -29,7 +33,7 @@
 
 
 def save_state():
-    fn = os.path.join(options.save_location, 'gamestate.json')
+    fn = save_path('gamestate.json')
     if not os.path.isdir(options.save_location):
         os.makedirs(options.save_location)
     f = open(fn, 'w')
@@ -39,6 +43,13 @@
     f.close()
 
 
+def get_user_levels_dir():
+    levels_dir = save_path('user_levels')
+    if not os.path.isdir(levels_dir):
+        os.makedirs(levels_dir)
+    return levels_dir
+
+
 def load_levels():
     f = open(filepath('levels/index.txt'))
     del levels[:]