# HG changeset patch # User Emmanuel Gil Peyrot # Date 1340301581 -7200 # Node ID 56523a16db1dffafb7f480f15c30813a70649884 # Parent 13201d90bb22ca35a17b969d74e7d36280c286dd Fix some replay synchronization issues and update the TODO. diff --git a/TODO b/TODO --- a/TODO +++ b/TODO @@ -2,7 +2,6 @@ Engine - homing bullets - MSG texts - boss OSD -- music - bombs - vm END - score display @@ -21,7 +20,9 @@ Engine - look at the the last spellcard of Remi - huge slowdowns with the spamming fairies of extra - Patchouli’s books are too agressive +- Flandre’s And Then Will There Be None? is done two times - Flandre’s QED is impossible +- Patchouli replaces Flandre in the last MSG ECL - fix 77 interval @@ -50,3 +51,6 @@ MSG - 12 - 14 - fix the end + +Ideas +- make a cache for the labels, to speed up the spellcard bonus diff --git a/pytouhou/formats/t6rp.py b/pytouhou/formats/t6rp.py --- a/pytouhou/formats/t6rp.py +++ b/pytouhou/formats/t6rp.py @@ -32,11 +32,13 @@ class Level(object): def __init__(self): self.score = 0 self.random_seed = 0 + self.point_items = 0 self.power = 0 self.lives = 2 self.bombs = 3 self.difficulty = 16 + self.unknown = 0 self.keys = [] @@ -85,7 +87,7 @@ class T6RP(object): if checksum != (sum(ord(c) for c in data) + 0x3f000318 + replay.key) & 0xffffffff: raise Exception #TODO - replay.unknown3 = unpack(' self.height - 16: player.state.y = self.height -16 - for bullet in self.players_bullets: - bullet.update() - #XXX: Why 78910? Is it really the right value? player.state.effective_score = min(player.state.effective_score + 78910, player.state.score) diff --git a/pytouhou/game/player.py b/pytouhou/game/player.py --- a/pytouhou/game/player.py +++ b/pytouhou/game/player.py @@ -192,10 +192,10 @@ class Player(object): self.state.invulnerable_time -= 1 m = self.state.invulnerable_time % 8 - if m == 0: + if m == 7 or self.state.invulnerable_time == 0: self.sprite.color = (255, 255, 255) self.sprite.changed = True - elif m == 2: + elif m == 1: self.sprite.color = (64, 64, 64) self.sprite.changed = True