Mercurial > touhou
comparison pytouhou/vm/msgrunner.py @ 456:cae1ae9de430
Add native text support, MSG instructions 3 and 8, and text at the beginning of a stage.
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
---|---|
date | Tue, 16 Jul 2013 21:11:40 +0200 |
parents | 9589a01e6edf |
children | 2276229282fd |
comparison
equal
deleted
inserted
replaced
455:6864a38b2413 | 456:cae1ae9de430 |
---|---|
83 | 83 |
84 def end(self): | 84 def end(self): |
85 self._game.msg_runner = None | 85 self._game.msg_runner = None |
86 self._game.msg_wait = False | 86 self._game.msg_wait = False |
87 self.ended = True | 87 self.ended = True |
88 self._game.texts = [None] * 4 + self._game.texts[4:] | |
88 | 89 |
89 | 90 |
90 @instruction(0) | 91 @instruction(0) |
91 def unknown0(self): | 92 def unknown0(self): |
92 if self.allow_skip: | 93 if self.allow_skip: |
102 @instruction(2) | 103 @instruction(2) |
103 def change_face(self, side, index): | 104 def change_face(self, side, index): |
104 face = self._game.faces[side] | 105 face = self._game.faces[side] |
105 if face: | 106 if face: |
106 face.load(index) | 107 face.load(index) |
108 | |
109 | |
110 @instruction(3) | |
111 def display_text(self, side, index, text): | |
112 if index == 0: | |
113 self._game.texts[0] = None | |
114 self._game.texts[1] = None | |
115 self._game.texts[index] = self._game.new_native_text((64, 372 + index * 24), text) | |
116 self._game.texts[index].set_timeout(-1, effect='fadeout', duration=15) | |
107 | 117 |
108 | 118 |
109 @instruction(4) | 119 @instruction(4) |
110 def pause(self, duration): | 120 def pause(self, duration): |
111 if not (self.skipping and self.allow_skip): | 121 if not (self.skipping and self.allow_skip): |
127 @instruction(7) | 137 @instruction(7) |
128 def change_music(self, track): | 138 def change_music(self, track): |
129 self._game.music.play(track) | 139 self._game.music.play(track) |
130 | 140 |
131 | 141 |
142 @instruction(8) | |
143 def display_description(self, side, index, text): | |
144 assert side == 1 # It shouldn’t crash when it’s something else. | |
145 self._game.texts[2 + index] = self._game.new_native_text((336, 320 + index * 18), text, align='right') | |
146 | |
147 | |
132 @instruction(10) | 148 @instruction(10) |
133 def freeze(self): | 149 def freeze(self): |
134 self.frozen = True | 150 self.frozen = True |
135 | 151 |
136 | 152 |