Mercurial > touhou-doc
comparison 06/ecl.xhtml @ 7:2a7b9d62c0c4
Fix details, and details and documentation for a few instructions
author | Thibaut Girka <thib@sitedethib.com> |
---|---|
date | Tue, 23 Aug 2011 11:58:03 +0200 |
parents | b3644dff344c |
children | 79dfd9765a67 |
comparison
equal
deleted
inserted
replaced
6:578e67aa3c03 | 7:2a7b9d62c0c4 |
---|---|
27 typedef struct { | 27 typedef struct { |
28 uint32_t frame_num; | 28 uint32_t frame_num; |
29 uint16_t <a href="ecl.xml">opcode</a>; | 29 uint16_t <a href="ecl.xml">opcode</a>; |
30 uint16_t size; // Never less than 0xc. | 30 uint16_t size; // Never less than 0xc. |
31 uint16_t rank_mask; // the first byte is always 0xff, and the second the mask of the ranks to which the instruction applies, 1 for easy, 8 for lunatic. | 31 uint16_t rank_mask; // the first byte is always 0xff, and the second the mask of the ranks to which the instruction applies, 1 for easy, 8 for lunatic. |
32 uint16_t param_mask; // If the last param is a stack, the number of bits at 0 indicates the number of items in the stack. | 32 uint16_t param_mask; // Unused in EoSD, always 255. It is used in other Touhou games to indicate whether an argument is an "address" or not, though. |
33 unsigned char params[size-0xc]; | 33 unsigned char params[size-0xc]; |
34 } thecl06_sub_t; | 34 } thecl06_sub_t; |
35 </pre> | 35 </pre> |
36 | 36 |
37 | 37 |
90 uint16_t size; | 90 uint16_t size; |
91 } thecl_other2_t; | 91 } thecl_other2_t; |
92 </pre> | 92 </pre> |
93 | 93 |
94 <h3 id="type">Type</h3> | 94 <h3 id="type">Type</h3> |
95 <p>Used in the game are: 0, 2, 4, 6 for the enemies (0x1c-long), 0xa for the 0x10-long instruction, and 8, 9 and 0xc for the 8-long one.</p> | 95 <p>Used in the game are: 0, 2, 4, 6 for the enemies (0x1c-long), 0xa for the 0x10-long instruction, and 8, 9 and 0xc for the 8-long one. Type might be quite a misnomer since those are pretty much flags.</p> |
96 <style type="text/css"> | 96 <style type="text/css"> |
97 li.used { | 97 li.used { |
98 font-weight: bold; | 98 font-weight: bold; |
99 } | 99 } |
100 </style> | 100 </style> |
102 <li class="used">normal enemy</li> | 102 <li class="used">normal enemy</li> |
103 <li>normal enemy</li> | 103 <li>normal enemy</li> |
104 <li class="used">mirrored enemy</li> | 104 <li class="used">mirrored enemy</li> |
105 <li>mirrored enemy</li> | 105 <li>mirrored enemy</li> |
106 <li class="used">normal enemy</li> | 106 <li class="used">normal enemy</li> |
107 <li>normal enemy</li> | 107 <li>normal enemy (random placement)</li> |
108 <li class="used">mirrored enemy</li> | 108 <li class="used">mirrored enemy</li> |
109 <li>mirrored enemy</li> | 109 <li>mirrored enemy (random placement)</li> |
110 <li class="used">starts the msg (which?)</li> | 110 <li class="used">starts the msg (which?)</li> |
111 <li class="used">nothing?</li> | 111 <li class="used">nothing?</li> |
112 <li class="used">crash!?</li> | 112 <li class="used">crash!?</li> |
113 <li>nothing?</li> | 113 <li>nothing?</li> |
114 <li class="used">nothing?</li> | 114 <li class="used">nothing?</li> |