diff pytouhou/formats/anm0.py @ 57:694f25881d0f

Fix move_to interpolation, add support for a few ANM and ECL instructions
author Thibaut Girka <thib@sitedethib.com>
date Tue, 23 Aug 2011 19:27:24 +0200
parents ab826bc29aa2
children a142e57218a0
line wrap: on
line diff
--- a/pytouhou/formats/anm0.py
+++ b/pytouhou/formats/anm0.py
@@ -79,6 +79,8 @@ class Animations(object):
                     args = unpack('<ff', data)
                 elif instr_type == 3: # set_alpha
                     args = unpack('<I', data)
+                elif instr_type == 4: # set_color
+                    args = unpack('<BBBx', data)
                 elif instr_type == 5: # jump
                     # Translate offset to instruction index
                     args = (instruction_offsets.index(unpack('<I', data)[0]),)
@@ -86,10 +88,18 @@ class Animations(object):
                     args = unpack('<fff', data)
                 elif instr_type == 10: # set_3d_rotation_speed
                     args = unpack('<fff', data)
+                elif instr_type == 11: # set_scale_speed
+                    args = unpack('<ff', data)
+                elif instr_type == 12: # fade
+                    args = unpack('<ii', data)
+                elif instr_type == 16: # set_random_sprite
+                    args = unpack('<ii', data)
                 elif instr_type == 27: # shift_texture_x
                     args = unpack('<f', data)
                 elif instr_type == 28: # shift_texture_y
                     args = unpack('<f', data)
+                elif instr_type == 30: # scale_in
+                    args = unpack('<ffi', data)
                 else:
                     args = (data,)
                 anm.scripts[i].append((time, instr_type, args))