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>