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> |
