Mercurial > touhou
comparison eosd @ 503:c622eaf64428
Optimize GameRunner some more, fix replay, and remove Window dependency in Renderer.
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
---|---|
date | Fri, 04 Oct 2013 14:27:11 +0200 |
parents | 777544d11578 |
children | 1bc014f9d572 |
comparison
equal
deleted
inserted
replaced
502:3d3285918ba1 | 503:c622eaf64428 |
---|---|
164 hints = Hint.read(file) | 164 hints = Hint.read(file) |
165 | 165 |
166 game_class = GameBossRush if boss_rush else Game | 166 game_class = GameBossRush if boss_rush else Game |
167 | 167 |
168 common = Common(resource_loader, characters, continues, stage_num - 1) | 168 common = Common(resource_loader, characters, continues, stage_num - 1) |
169 runner = GameRunner(window, resource_loader, skip=skip_replay, con=con) | 169 runner = GameRunner(window, common, resource_loader, skip_replay, con) |
170 window.set_runner(runner) | |
170 while True: | 171 while True: |
171 first_player = common.players[0] | 172 first_player = common.players[0] |
172 | 173 |
173 if replay: | 174 if replay: |
174 level = replay.levels[stage_num - 1] | 175 level = replay.levels[stage_num - 1] |
204 save_keystates = [] | 205 save_keystates = [] |
205 | 206 |
206 hints_stage = hints.stages[stage_num - 1] if hints else None | 207 hints_stage = hints.stages[stage_num - 1] if hints else None |
207 | 208 |
208 game = game_class(resource_loader, stage_num, rank, difficulty, | 209 game = game_class(resource_loader, stage_num, rank, difficulty, |
209 common, prng=prng, hints=hints_stage, | 210 common, prng, hints_stage, friendly_fire) |
210 friendly_fire=friendly_fire) | |
211 | 211 |
212 if not enable_particles: | 212 if not enable_particles: |
213 def new_particle(pos, anim, amp, number=1, reverse=False, duration=24): | 213 def new_particle(pos, anim, amp, number=1, reverse=False, duration=24): |
214 pass | 214 pass |
215 game.new_particle = new_particle | 215 game.new_particle = new_particle |
217 background = game.background if enable_background else None | 217 background = game.background if enable_background else None |
218 bgms = game.std.bgms if enable_music else None | 218 bgms = game.std.bgms if enable_music else None |
219 | 219 |
220 # Main loop | 220 # Main loop |
221 runner.load_game(game, background, bgms, replay, save_keystates) | 221 runner.load_game(game, background, bgms, replay, save_keystates) |
222 window.set_runner(runner) | |
223 try: | 222 try: |
224 window.run() | 223 window.run() |
225 break | 224 break |
226 except NextStage: | 225 except NextStage: |
227 if not story or stage_num == (7 if boss_rush else 6 if rank > 0 else 5): | 226 if not story or stage_num == (7 if boss_rush else 6 if rank > 0 else 5): |