annotate pytouhou/game/bullettype.py @ 524:7f016dfbdfb1

Make vector a struct, allocate it directly on the stack, and thus pass it by copy, which is much less expensive than a python allocation.
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Wed, 18 Dec 2013 18:15:40 +0100
parents 8038f1957b71
children e15672733c93
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
122
174324a4da51 Add support for launch animations! (Warning: slow :()
Thibaut Girka <thib@sitedethib.com>
parents:
diff changeset
1 class BulletType(object):
430
c9433188ffdb Remove AnmWrapper, since ANMs are lists of entries now.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 312
diff changeset
2 def __init__(self, anm, anim_index, cancel_anim_index,
122
174324a4da51 Add support for launch animations! (Warning: slow :()
Thibaut Girka <thib@sitedethib.com>
parents:
diff changeset
3 launch_anim2_index, launch_anim4_index, launch_anim8_index,
139
3af65541dfd3 Add EoSD's hitboxes
Thibaut Girka <thib@sitedethib.com>
parents: 122
diff changeset
4 hitbox_size,
122
174324a4da51 Add support for launch animations! (Warning: slow :()
Thibaut Girka <thib@sitedethib.com>
parents:
diff changeset
5 launch_anim_penalties=(0.5, 0.4, 1./3.),
312
8d1768fa4cbb Fix Remilia's “Red Magic”.
Thibaut Girka <thib@sitedethib.com>
parents: 220
diff changeset
6 launch_anim_offsets=(0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 4, 0),
8d1768fa4cbb Fix Remilia's “Red Magic”.
Thibaut Girka <thib@sitedethib.com>
parents: 220
diff changeset
7 type_id=0):
8d1768fa4cbb Fix Remilia's “Red Magic”.
Thibaut Girka <thib@sitedethib.com>
parents: 220
diff changeset
8 self.type_id = type_id
430
c9433188ffdb Remove AnmWrapper, since ANMs are lists of entries now.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 312
diff changeset
9 self.anm = anm
122
174324a4da51 Add support for launch animations! (Warning: slow :()
Thibaut Girka <thib@sitedethib.com>
parents:
diff changeset
10 self.anim_index = anim_index
174324a4da51 Add support for launch animations! (Warning: slow :()
Thibaut Girka <thib@sitedethib.com>
parents:
diff changeset
11 self.cancel_anim_index = cancel_anim_index
174324a4da51 Add support for launch animations! (Warning: slow :()
Thibaut Girka <thib@sitedethib.com>
parents:
diff changeset
12 self.launch_anim2_index = launch_anim2_index
174324a4da51 Add support for launch animations! (Warning: slow :()
Thibaut Girka <thib@sitedethib.com>
parents:
diff changeset
13 self.launch_anim4_index = launch_anim4_index
174324a4da51 Add support for launch animations! (Warning: slow :()
Thibaut Girka <thib@sitedethib.com>
parents:
diff changeset
14 self.launch_anim8_index = launch_anim8_index
139
3af65541dfd3 Add EoSD's hitboxes
Thibaut Girka <thib@sitedethib.com>
parents: 122
diff changeset
15 self.hitbox_size = hitbox_size
472
8038f1957b71 Type bullettype, itemtype and lasertype a bit.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 430
diff changeset
16 assert 3 == len(launch_anim_penalties)
8038f1957b71 Type bullettype, itemtype and lasertype a bit.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 430
diff changeset
17 for i in xrange(3):
8038f1957b71 Type bullettype, itemtype and lasertype a bit.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents: 430
diff changeset
18 self.launch_anim_penalties[i] = launch_anim_penalties[i]
122
174324a4da51 Add support for launch animations! (Warning: slow :()
Thibaut Girka <thib@sitedethib.com>
parents:
diff changeset
19 self.launch_anim_offsets = launch_anim_offsets