Mercurial > touhou
annotate pytouhou/formats/anm0.py @ 204:88361534c77e
Add some documentation (argh, so much left to document!)
author | Thibaut Girka <thib@sitedethib.com> |
---|---|
date | Tue, 01 Nov 2011 13:46:03 +0100 |
parents | e7902309305c |
children | 741860192b56 |
rev | line source |
---|---|
52
ab826bc29aa2
Add some documentation, GPLv3 headers, README and COPYING file.
Thibaut Girka <thib@sitedethib.com>
parents:
41
diff
changeset
|
1 # -*- encoding: utf-8 -*- |
ab826bc29aa2
Add some documentation, GPLv3 headers, README and COPYING file.
Thibaut Girka <thib@sitedethib.com>
parents:
41
diff
changeset
|
2 ## |
ab826bc29aa2
Add some documentation, GPLv3 headers, README and COPYING file.
Thibaut Girka <thib@sitedethib.com>
parents:
41
diff
changeset
|
3 ## Copyright (C) 2011 Thibaut Girka <thib@sitedethib.com> |
ab826bc29aa2
Add some documentation, GPLv3 headers, README and COPYING file.
Thibaut Girka <thib@sitedethib.com>
parents:
41
diff
changeset
|
4 ## |
ab826bc29aa2
Add some documentation, GPLv3 headers, README and COPYING file.
Thibaut Girka <thib@sitedethib.com>
parents:
41
diff
changeset
|
5 ## This program is free software; you can redistribute it and/or modify |
ab826bc29aa2
Add some documentation, GPLv3 headers, README and COPYING file.
Thibaut Girka <thib@sitedethib.com>
parents:
41
diff
changeset
|
6 ## it under the terms of the GNU General Public License as published |
ab826bc29aa2
Add some documentation, GPLv3 headers, README and COPYING file.
Thibaut Girka <thib@sitedethib.com>
parents:
41
diff
changeset
|
7 ## by the Free Software Foundation; version 3 only. |
ab826bc29aa2
Add some documentation, GPLv3 headers, README and COPYING file.
Thibaut Girka <thib@sitedethib.com>
parents:
41
diff
changeset
|
8 ## |
ab826bc29aa2
Add some documentation, GPLv3 headers, README and COPYING file.
Thibaut Girka <thib@sitedethib.com>
parents:
41
diff
changeset
|
9 ## This program is distributed in the hope that it will be useful, |
ab826bc29aa2
Add some documentation, GPLv3 headers, README and COPYING file.
Thibaut Girka <thib@sitedethib.com>
parents:
41
diff
changeset
|
10 ## but WITHOUT ANY WARRANTY; without even the implied warranty of |
ab826bc29aa2
Add some documentation, GPLv3 headers, README and COPYING file.
Thibaut Girka <thib@sitedethib.com>
parents:
41
diff
changeset
|
11 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
ab826bc29aa2
Add some documentation, GPLv3 headers, README and COPYING file.
Thibaut Girka <thib@sitedethib.com>
parents:
41
diff
changeset
|
12 ## GNU General Public License for more details. |
ab826bc29aa2
Add some documentation, GPLv3 headers, README and COPYING file.
Thibaut Girka <thib@sitedethib.com>
parents:
41
diff
changeset
|
13 ## |
ab826bc29aa2
Add some documentation, GPLv3 headers, README and COPYING file.
Thibaut Girka <thib@sitedethib.com>
parents:
41
diff
changeset
|
14 |
204
88361534c77e
Add some documentation (argh, so much left to document!)
Thibaut Girka <thib@sitedethib.com>
parents:
170
diff
changeset
|
15 """ANM0 files handling. |
88361534c77e
Add some documentation (argh, so much left to document!)
Thibaut Girka <thib@sitedethib.com>
parents:
170
diff
changeset
|
16 |
88361534c77e
Add some documentation (argh, so much left to document!)
Thibaut Girka <thib@sitedethib.com>
parents:
170
diff
changeset
|
17 This module provides classes for handling the ANM0 file format. |
88361534c77e
Add some documentation (argh, so much left to document!)
Thibaut Girka <thib@sitedethib.com>
parents:
170
diff
changeset
|
18 The ANM0 format is a format used in Touhou 6: EoSD to describe sprites |
88361534c77e
Add some documentation (argh, so much left to document!)
Thibaut Girka <thib@sitedethib.com>
parents:
170
diff
changeset
|
19 and animations. |
88361534c77e
Add some documentation (argh, so much left to document!)
Thibaut Girka <thib@sitedethib.com>
parents:
170
diff
changeset
|
20 Almost everything rendered in the game is described by an ANM0 file. |
88361534c77e
Add some documentation (argh, so much left to document!)
Thibaut Girka <thib@sitedethib.com>
parents:
170
diff
changeset
|
21 """ |
88361534c77e
Add some documentation (argh, so much left to document!)
Thibaut Girka <thib@sitedethib.com>
parents:
170
diff
changeset
|
22 |
2
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
23 from struct import pack, unpack |
69
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
24 from pytouhou.utils.helpers import read_string, get_logger |
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
25 |
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
26 |
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
27 logger = get_logger(__name__) |
2
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
28 |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
29 #TODO: refactor/clean up |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
30 |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
31 |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
32 class Animations(object): |
69
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
33 _instructions = {0: ('', 'delete'), |
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
34 1: ('I', 'set_sprite'), |
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
35 2: ('ff', 'set_scale'), |
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
36 3: ('I', 'set_alpha'), |
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
37 4: ('BBBx', 'set_color'), |
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
38 5: ('I', 'jump'), |
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
39 7: ('', 'toggle_mirrored'), |
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
40 9: ('fff', 'set_3d_rotations'), |
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
41 10: ('fff', 'set_3d_rotations_speed'), |
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
42 11: ('ff', 'set_scale_speed'), |
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
43 12: ('ii', 'fade'), |
72
6a08f44fa01b
Handle a few more ANM instructions. pytouhou.game.background needs some serious refactoring.
Thibaut Girka <thib@sitedethib.com>
parents:
71
diff
changeset
|
44 13: ('', 'set_blendmode_add'), |
6a08f44fa01b
Handle a few more ANM instructions. pytouhou.game.background needs some serious refactoring.
Thibaut Girka <thib@sitedethib.com>
parents:
71
diff
changeset
|
45 14: ('', 'set_blendmode_alphablend'), |
69
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
46 15: ('', 'keep_still'), |
80
211e84207b3b
Fix set_random_sprite's format
Thibaut Girka <thib@sitedethib.com>
parents:
72
diff
changeset
|
47 16: ('ii', 'set_random_sprite'), |
170
e7902309305c
Implement move anm instructions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
111
diff
changeset
|
48 17: ('fff', 'set_3d_translation'), |
e7902309305c
Implement move anm instructions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
111
diff
changeset
|
49 18: ('fffi', 'move_to_linear'), |
e7902309305c
Implement move anm instructions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
111
diff
changeset
|
50 19: ('fffi', 'move_to_decel'), |
e7902309305c
Implement move anm instructions.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
111
diff
changeset
|
51 20: ('fffi', 'move_to_accel'), |
71
a03d7a94b997
Add support for a few ANM instructions
Thibaut Girka <thib@sitedethib.com>
parents:
69
diff
changeset
|
52 21: ('', None), |
a03d7a94b997
Add support for a few ANM instructions
Thibaut Girka <thib@sitedethib.com>
parents:
69
diff
changeset
|
53 22: ('i', None), |
69
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
54 23: ('', 'set_corner_relative_placement'), |
71
a03d7a94b997
Add support for a few ANM instructions
Thibaut Girka <thib@sitedethib.com>
parents:
69
diff
changeset
|
55 24: ('', None), |
a03d7a94b997
Add support for a few ANM instructions
Thibaut Girka <thib@sitedethib.com>
parents:
69
diff
changeset
|
56 25: ('i', 'set_allow_offset'), #TODO: better name |
81
f5f9b5eb69a3
Handle one more ANM instruction, and handle sprite indexes offsets
Thibaut Girka <thib@sitedethib.com>
parents:
80
diff
changeset
|
57 26: ('i', 'set_automatic_orientation'), |
69
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
58 27: ('f', 'shift_texture_x'), |
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
59 28: ('f', 'shift_texture_y'), |
71
a03d7a94b997
Add support for a few ANM instructions
Thibaut Girka <thib@sitedethib.com>
parents:
69
diff
changeset
|
60 30: ('ffi', 'scale_in'), |
a03d7a94b997
Add support for a few ANM instructions
Thibaut Girka <thib@sitedethib.com>
parents:
69
diff
changeset
|
61 31: ('i', None)} |
69
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
62 |
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
63 |
2
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
64 def __init__(self): |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
65 self.size = (0, 0) |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
66 self.first_name = None |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
67 self.secondary_name = None |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
68 self.sprites = {} |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
69 self.scripts = {} |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
70 |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
71 |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
72 @classmethod |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
73 def read(cls, file): |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
74 nb_sprites, nb_scripts, zero1 = unpack('<III', file.read(12)) |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
75 width, height, format, zero2 = unpack('<IIII', file.read(16)) |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
76 first_name_offset, unused, secondary_name_offset = unpack('<III', file.read(12)) |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
77 version, unknown1, thtxoffset, hasdata, nextoffset = unpack('<IIIII', file.read(20)) |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
78 if version != 0: |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
79 raise Exception #TODO |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
80 file.read(4) #TODO |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
81 |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
82 sprite_offsets = [unpack('<I', file.read(4))[0] for i in range(nb_sprites)] |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
83 script_offsets = [unpack('<II', file.read(8)) for i in range(nb_scripts)] |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
84 |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
85 anm = Animations() |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
86 |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
87 anm.size = (width, height) |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
88 |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
89 # Names |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
90 if first_name_offset: |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
91 file.seek(first_name_offset) |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
92 anm.first_name = read_string(file, 32, 'ascii') #TODO: 32, really? |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
93 if secondary_name_offset: |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
94 file.seek(secondary_name_offset) |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
95 anm.secondary_name = read_string(file, 32, 'ascii') #TODO: 32, really? |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
96 |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
97 |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
98 # Sprites |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
99 file.seek(64) |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
100 anm.sprites = {} |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
101 for offset in sprite_offsets: |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
102 file.seek(offset) |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
103 idx, x, y, width, height = unpack('<Iffff', file.read(20)) |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
104 anm.sprites[idx] = x, y, width, height |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
105 |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
106 |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
107 # Scripts |
38
cb5b27011044
Small refactoring and proper anm0's instruction 5 handling
Thibaut Girka <thib@sitedethib.com>
parents:
35
diff
changeset
|
108 anm.scripts = {} |
2
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
109 for i, offset in script_offsets: |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
110 anm.scripts[i] = [] |
38
cb5b27011044
Small refactoring and proper anm0's instruction 5 handling
Thibaut Girka <thib@sitedethib.com>
parents:
35
diff
changeset
|
111 instruction_offsets = [] |
2
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
112 file.seek(offset) |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
113 while True: |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
114 #TODO |
38
cb5b27011044
Small refactoring and proper anm0's instruction 5 handling
Thibaut Girka <thib@sitedethib.com>
parents:
35
diff
changeset
|
115 instruction_offsets.append(file.tell() - offset) |
111 | 116 time, opcode, size = unpack('<HBB', file.read(4)) |
117 data = file.read(size) | |
69
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
118 if opcode in cls._instructions: |
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
119 args = unpack('<%s' % cls._instructions[opcode][0], data) |
38
cb5b27011044
Small refactoring and proper anm0's instruction 5 handling
Thibaut Girka <thib@sitedethib.com>
parents:
35
diff
changeset
|
120 else: |
cb5b27011044
Small refactoring and proper anm0's instruction 5 handling
Thibaut Girka <thib@sitedethib.com>
parents:
35
diff
changeset
|
121 args = (data,) |
69
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
122 logger.warn('unknown opcode %d', opcode) |
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
123 |
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
124 anm.scripts[i].append((time, opcode, args)) |
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
125 if opcode == 0: |
2
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
126 break |
69
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
127 |
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
128 # Translate offsets to instruction pointers |
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
129 for instr_offset, (j, instr) in zip(instruction_offsets, enumerate(anm.scripts[i])): |
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
130 time, opcode, args = instr |
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
131 if opcode == 5: |
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
132 args = (instruction_offsets.index(args[0]),) |
a142e57218a0
Refactor. Move VMs to pytouhou.vm.
Thibaut Girka <thib@sitedethib.com>
parents:
57
diff
changeset
|
133 anm.scripts[i][j] = time, opcode, args |
2
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
134 #TODO |
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
135 |
16
66ce9bb440ac
Refactor in order to support multiple textures
Thibaut Girka <thib@sitedethib.com>
parents:
2
diff
changeset
|
136 return anm |
2
057cb96907e3
Add preliminay support for EoSD's ANM format
Thibaut Girka <thib@sitedethib.com>
parents:
diff
changeset
|
137 |