Mercurial > rinkhals
annotate gamelib/loadlevel.py @ 424:fbef17cab632
Use fully rendered map in gameboard choosing screen
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Sat, 21 Nov 2009 15:53:17 +0000 |
parents | e65536ca215b |
children | 8643893635e7 |
rev | line source |
---|---|
412
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
1 """Help screen.""" |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
2 |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
3 from pgu import gui |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
4 import os |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
5 import pygame |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
6 import level |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
7 import engine |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
8 import data |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
9 import imagecache |
424
fbef17cab632
Use fully rendered map in gameboard choosing screen
Neil Muller <drnlmuller@gmail.com>
parents:
421
diff
changeset
|
10 import gameboard |
412
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
11 |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
12 def make_load_screen(level): |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
13 """Create a screen for selecting the levels""" |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
14 load_screen = LoadScreen(level, width=600) |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
15 |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
16 c = LoadContainer(align=0, valign=0) |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
17 c.add(load_screen, 0, 0) |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
18 |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
19 return c, load_screen |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
20 |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
21 class LoadContainer(gui.Container): |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
22 def paint(self, s): |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
23 pygame.display.set_caption('Load Level') |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
24 splash = imagecache.load_image("images/splash.png", ["lighten_most"]) |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
25 pygame.display.get_surface().blit(splash, (0, 0)) |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
26 gui.Container.paint(self, s) |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
27 |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
28 class LoadScreen(gui.Document): |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
29 def __init__(self, start_level, **params): |
416
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
30 gui.Document.__init__(self, **params) |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
31 |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
32 self.levels = [] |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
33 self.cur_level = None |
412
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
34 for name in os.listdir(data.filepath('levels/')): |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
35 if name.endswith('.conf'): |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
36 try: |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
37 this_level = level.Level(name) |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
38 except RuntimeError: |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
39 continue # Skip levels that fail to load |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
40 if os.path.exists(this_level.map): |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
41 # Skip level if we can't see the map |
416
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
42 self.levels.append(this_level) |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
43 if this_level.level_name == start_level.level_name: |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
44 self.cur_level = this_level |
412
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
45 |
416
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
46 if not self.cur_level: |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
47 self.cur_level = self.levels[0] |
412
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
48 |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
49 |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
50 def done_pressed(): |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
51 pygame.event.post(engine.DO_LOAD_LEVEL) |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
52 |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
53 def cancel_pressed(): |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
54 pygame.event.post(engine.GO_MAIN_MENU) |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
55 |
416
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
56 def next_pressed(): |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
57 self.next_level() |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
58 |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
59 def prev_pressed(): |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
60 self.prev_level() |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
61 |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
62 self.next_button = gui.Button("Next Level >>") |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
63 self.next_button.connect(gui.CLICK, next_pressed) |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
64 |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
65 self.prev_button = gui.Button("<< Prev Level") |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
66 self.prev_button.connect(gui.CLICK, prev_pressed) |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
67 |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
68 self.cancel_button = gui.Button("Cancel & return to main menu") |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
69 self.cancel_button.connect(gui.CLICK, cancel_pressed) |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
70 |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
71 self.done_button = gui.Button("Load This Level") |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
72 self.done_button.connect(gui.CLICK, done_pressed) |
412
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
73 |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
74 cancel_button = gui.Button("Cancel & return to main menu") |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
75 cancel_button.connect(gui.CLICK, cancel_pressed) |
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
76 |
416
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
77 self.render_level() |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
78 |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
79 |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
80 def next_level(self): |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
81 pos = self.levels.index(self.cur_level) + 1 |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
82 if pos == len(self.levels): |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
83 pos = 0 |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
84 self.cur_level = self.levels[pos] |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
85 self.render_level() |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
86 |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
87 def prev_level(self): |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
88 pos = self.levels.index(self.cur_level) - 1 |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
89 if pos == -1: |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
90 pos = len(self.levels) - 1 |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
91 self.cur_level = self.levels[pos] |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
92 self.render_level() |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
93 |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
94 def render_level(self): |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
95 self.clear() |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
96 self.repaint() |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
97 |
424
fbef17cab632
Use fully rendered map in gameboard choosing screen
Neil Muller <drnlmuller@gmail.com>
parents:
421
diff
changeset
|
98 board = gameboard.GameBoard(None, self.cur_level) |
417
1861035300de
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
416
diff
changeset
|
99 |
416
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
100 space = self.style.font.size(" ") |
424
fbef17cab632
Use fully rendered map in gameboard choosing screen
Neil Muller <drnlmuller@gmail.com>
parents:
421
diff
changeset
|
101 w, h = board.tv.size |
416
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
102 |
424
fbef17cab632
Use fully rendered map in gameboard choosing screen
Neil Muller <drnlmuller@gmail.com>
parents:
421
diff
changeset
|
103 map_image = pygame.Surface((20*w, 20*h)) |
fbef17cab632
Use fully rendered map in gameboard choosing screen
Neil Muller <drnlmuller@gmail.com>
parents:
421
diff
changeset
|
104 board.tv.loop() |
fbef17cab632
Use fully rendered map in gameboard choosing screen
Neil Muller <drnlmuller@gmail.com>
parents:
421
diff
changeset
|
105 board.tv.paint(map_image) |
412
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
106 |
416
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
107 style = { |
424
fbef17cab632
Use fully rendered map in gameboard choosing screen
Neil Muller <drnlmuller@gmail.com>
parents:
421
diff
changeset
|
108 'width' : min(300, 7*w), |
fbef17cab632
Use fully rendered map in gameboard choosing screen
Neil Muller <drnlmuller@gmail.com>
parents:
421
diff
changeset
|
109 'height' : min(300, 7*h), |
416
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
110 } |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
111 |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
112 image = gui.Image(map_image, style=style) |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
113 |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
114 self.block(align=0) |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
115 self.add(image) |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
116 |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
117 self.block(align=0) |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
118 self.add(gui.Label(self.cur_level.level_name)) |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
119 self.block(align=-1) |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
120 for word in self.cur_level.goal.split(): |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
121 self.add(gui.Label(word)) |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
122 self.space(space) |
412
1e24eedbf40f
Implement non-gui parts of level loading communication
Neil Muller <drnlmuller@gmail.com>
parents:
diff
changeset
|
123 |
416
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
124 self.block(align=0) |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
125 self.add(self.prev_button) |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
126 self.space(space) |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
127 self.add(self.done_button) |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
128 self.space(space) |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
129 self.add(self.cancel_button) |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
130 self.space(space) |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
131 self.add(self.next_button) |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
132 |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
133 def clear(self): |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
134 """Clear the document""" |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
135 for widget in self.widgets[:]: |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
136 self.remove(widget) |
418
2ccfadcae3b2
Fix the shifting load screen
Neil Muller <drnlmuller@gmail.com>
parents:
417
diff
changeset
|
137 self.layout._widgets = [] |
417
1861035300de
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
416
diff
changeset
|
138 self.layout.init() |
416
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
139 |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
140 |
c6dd21b75bf5
The buggy load level screen lands
Neil Muller <drnlmuller@gmail.com>
parents:
412
diff
changeset
|
141 |