comparison pytouhou/game/game.py @ 306:52d791bb7c32

Rename a few attributes/methods to make a little more sense.
author Thibaut Girka <thib@sitedethib.com>
date Tue, 13 Mar 2012 19:18:14 +0100
parents 5492472963b0
children f0be7ea62330
comparison
equal deleted inserted replaced
305:5492472963b0 306:52d791bb7c32
68 'stg%denm2.anm' % stage)) 68 'stg%denm2.anm' % stage))
69 self.etama4 = resource_loader.get_anm_wrapper(('etama4.anm',)) 69 self.etama4 = resource_loader.get_anm_wrapper(('etama4.anm',))
70 ecl = resource_loader.get_ecl('ecldata%d.ecl' % stage) 70 ecl = resource_loader.get_ecl('ecldata%d.ecl' % stage)
71 self.ecl_runner = ECLMainRunner(ecl, self) 71 self.ecl_runner = ECLMainRunner(ecl, self)
72 72
73 self.effect_anm_wrapper = resource_loader.get_anm_wrapper(('eff0%d.anm' % stage,)) 73 self.spellcard_effect_anm_wrapper = resource_loader.get_anm_wrapper(('eff0%d.anm' % stage,))
74 self.effect = None 74 self.spellcard_effect = None
75 75
76 # See 102h.exe@0x413220 if you think you're brave enough. 76 # See 102h.exe@0x413220 if you think you're brave enough.
77 self.deaths_count = self.prng.rand_uint16() % 3 77 self.deaths_count = self.prng.rand_uint16() % 3
78 self.next_bonus = self.prng.rand_uint16() % 8 78 self.next_bonus = self.prng.rand_uint16() % 8
79 79
100 self.difficulty = self.difficulty_min 100 self.difficulty = self.difficulty_min
101 elif self.difficulty > self.difficulty_max: 101 elif self.difficulty > self.difficulty_max:
102 self.difficulty = self.difficulty_max 102 self.difficulty = self.difficulty_max
103 103
104 104
105 def enable_effect(self): 105 def enable_spellcard_effect(self):
106 self.effect = Effect((-32., -16.), 0, self.effect_anm_wrapper) #TODO: find why this offset is necessary. 106 self.spellcard_effect = Effect((-32., -16.), 0,
107 self.effect.sprite.allow_dest_offset = True #TODO: should be the role of anm’s 25th instruction. Investigate! 107 self.spellcard_effect_anm_wrapper) #TODO: find why this offset is necessary.
108 108 self.spellcard_effect.sprite.allow_dest_offset = True #TODO: should be the role of anm’s 25th instruction. Investigate!
109 109
110 def disable_effect(self): 110
111 self.effect = None 111 def disable_spellcard_effect(self):
112 self.spellcard_effect = None
112 113
113 114
114 def drop_bonus(self, x, y, _type, end_pos=None): 115 def drop_bonus(self, x, y, _type, end_pos=None):
115 player = self.players[0] #TODO 116 player = self.players[0] #TODO
116 if _type > 6: 117 if _type > 6:
176 # 3. Let's play! 177 # 3. Let's play!
177 # In the original game, updates are done in prioritized functions called "chains" 178 # In the original game, updates are done in prioritized functions called "chains"
178 # We have to mimic this functionnality to be replay-compatible with the official game. 179 # We have to mimic this functionnality to be replay-compatible with the official game.
179 180
180 # Pri 6 is background 181 # Pri 6 is background
181 self.update_effect() #TODO: Pri unknown 182 self.update_background() #TODO: Pri unknown
182 if self.msg_runner: 183 if self.msg_runner:
183 self.update_msg(keystate) # Pri ? 184 self.update_msg(keystate) # Pri ?
184 keystate &= ~3 # Remove the ability to attack (keystates 1 and 2). 185 keystate &= ~3 # Remove the ability to attack (keystates 1 and 2).
185 self.update_players(keystate) # Pri 7 186 self.update_players(keystate) # Pri 7
186 self.update_enemies() # Pri 9 187 self.update_enemies() # Pri 9
194 self.cleanup() 195 self.cleanup()
195 196
196 self.frame += 1 197 self.frame += 1
197 198
198 199
199 def update_effect(self): 200 def update_background(self):
200 if self.time_stop: 201 if self.time_stop:
201 return None 202 return None
202 if self.effect is not None: 203 if self.spellcard_effect is not None:
203 self.effect.update() 204 self.spellcard_effect.update()
205 #TODO: update the actual background here?
204 206
205 207
206 def update_enemies(self): 208 def update_enemies(self):
207 for enemy in self.enemies: 209 for enemy in self.enemies:
208 enemy.update() 210 enemy.update()