changeset 46:25ca15f714ad

Add/fix a few opcodes
author Thibaut Girka <thib@sitedethib.com>
date Mon, 22 Aug 2011 10:49:49 +0200
parents e01e88b06a13
children 1f1793e7ec8e
files pytouhou/formats/ecl.py pytouhou/game/enemymanager.py
diffstat 2 files changed, 27 insertions(+), 26 deletions(-) [+]
line wrap: on
line diff
--- a/pytouhou/formats/ecl.py
+++ b/pytouhou/formats/ecl.py
@@ -9,10 +9,10 @@ class ECL(object):
                      1: ('I', 'delete?'),
                      2: ('Ii', 'relative_jump'),
                      3: ('Iii', 'relative_jump_ex'),
-                     4: ('ii', 'set_counter'),
-                     5: ('if', None),
-                     6: ('ii', None),
-                     8: ('if', None),
+                     4: ('ii', 'set_int'),
+                     5: ('if', 'set_float'),
+                     6: ('ii', 'set_random_int'),
+                     8: ('if', 'set_random_float'),
                      9: ('iff', None),
                      10: ('i', None),
                      13: ('iii', None),
@@ -21,22 +21,22 @@ class ECL(object):
                      16: ('iii', None),
                      17: ('iii', None),
                      18: ('i', None),
-                     20: ('iff', None),
-                     21: ('iff', None),
+                     20: ('iff', 'add'),
+                     21: ('iff', 'sub'),
                      23: ('iff', None),
                      25: ('iffff', None),
                      26: ('i', None),
-                     27: ('ii', None),
+                     27: ('ii', 'compare_ints'),
                      28: ('ff', None),
                      29: ('ii', None),
                      30: ('ii', None),
-                     31: ('ii', None),
+                     31: ('ii', 'relative_jump_if_equal'),
                      32: ('ii', None),
                      33: ('ii', None),
                      34: ('ii', None),
-                     35: ('iif', None),
+                     35: ('iif', 'call'),
                      36: ('', 'return?'),
-                     39: ('iiiii', None),
+                     39: ('iifii', 'call_if_equal'),
                      43: ('fff', 'set_position'),
                      45: ('ff', 'set_angle_and_speed'),
                      46: ('f', 'set_rotation_speed'),
@@ -48,8 +48,8 @@ class ECL(object):
                      52: ('iff', None),
                      56: ('iffi', None),
                      57: ('ifff', 'move_to'),
-                     59: ('iffi', None),
-                     61: ('i', None),
+                     59: ('iffi', 'move_to2'),
+                     61: ('i', 'stop_in'),
                      63: ('i', None),
                      65: ('ffff', None),
                      66: ('', None),
@@ -57,20 +57,21 @@ class ECL(object):
                      68: ('hhiiffffi', 'set_bullet_attributes2'),
                      69: ('hhiiffffi', 'set_bullet_attributes3'),
                      70: ('hhiiffffi', 'set_bullet_attributes4'),
-                     74: ('hhiiffffi', 'set_bullet_attributes5'),
-                     75: ('hhiiffffi', 'set_bullet_attributes6'),
+                     71: ('hhiiffffi', 'set_bullet_attributes5'),
+                     74: ('hhiiffffi', 'set_bullet_attributes6'),
+                     75: ('hhiiffffi', 'set_bullet_attributes7'),
                      76: ('i', None),
                      77: ('i', 'set_bullet_interval'),
-                     78: ('', None),
-                     79: ('', None),
+                     78: ('', 'delay_attack'),
+                     79: ('', 'no_delay_attack'),
                      81: ('fff', 'set_bullet_launch_offset'),
                      82: ('iiiiffff', None),
                      83: ('', None),
                      84: ('i', None),
-                     85: ('hhfiffffiiiiii', None),
-                     86: ('hhffifffiiiiii', None),
-                     87: ('i', None),
-                     88: ('if', None),
+                     85: ('hhffffffiiiiii', 'laser'),
+                     86: ('hhffffffiiiiii', 'laser2'),
+                     87: ('i', 'set_upcoming_id'),
+                     88: ('if','alter_laser_angle'),
                      90: ('iiii', None),
                      92: ('i', None),
                      #93: set_spellcard, a string is there
@@ -78,7 +79,7 @@ class ECL(object):
                      95: ('ifffhhi', None),
                      96: ('', None),
                      97: ('i', 'set_anim'),
-                     98: ('hhhhhh', 'set_multiple_anims'),
+                     98: ('hhhhhxx', 'set_multiple_anims'),
                      99: ('ii', None),
                      100: ('i', 'set_death_anim'),
                      101: ('i', 'set_boss_mode?'),
@@ -89,8 +90,8 @@ class ECL(object):
                      106: ('i', 'play_sound'),
                      107: ('i', None),
                      108: ('i', 'set_death_callback?'),
-                     109: ('ii', None),
-                     111: ('i', None),
+                     109: ('ii', 'memory_write_int'),
+                     111: ('i', 'set_life'),
                      112: ('i', None),
                      113: ('i', 'set_low_life_trigger'),
                      114: ('i', 'set_low_life_callback'),
@@ -98,7 +99,7 @@ class ECL(object):
                      116: ('i', None),
                      117: ('i', None),
                      118: ('iihh', None),
-                     119: ('i', None),
+                     119: ('i', 'drop_bonus'),
                      120: ('i', None),
                      121: ('ii', None),
                      122: ('i', None),
--- a/pytouhou/game/enemymanager.py
+++ b/pytouhou/game/enemymanager.py
@@ -65,8 +65,8 @@ class Enemy(object):
         self.anm, self.sprite = self.anm_wrapper.get_sprite(sprite_index)
 
 
-    def set_multiple_sprites(self, default, end_left, end_right, left, right, unknown):
-        self.movement_dependant_sprites = end_left, end_right, left, right, unknown
+    def set_multiple_sprites(self, default, end_left, end_right, left, right):
+        self.movement_dependant_sprites = end_left, end_right, left, right
         self.anm, self.sprite = self.anm_wrapper.get_sprite(default)