Mercurial > touhou-doc
comparison 06/ecl.xml @ 5:b3644dff344c
Way too much changes. :/
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
---|---|
date | Mon, 22 Aug 2011 20:30:51 +0200 |
parents | bd0f1253691d |
children | 578e67aa3c03 |
comparison
equal
deleted
inserted
replaced
4:617e7760fd9f | 5:b3644dff344c |
---|---|
1 <?xml version="1.0" encoding="utf-8"?> | 1 <?xml version="1.0" encoding="utf-8"?> |
2 <?xml-stylesheet type="text/xsl" href="../html.xsl"?> | 2 <?xml-stylesheet type="text/xsl" href="../html.xsl"?> |
3 <?xml-stylesheet type="text/css" href="../style.css"?> | 3 <?xml-stylesheet type="text/css" href="../style.css"?> |
4 <!DOCTYPE html> | 4 <!DOCTYPE html> |
5 <opcodes xmlns="urn:opcodes:description"> | 5 <opcodes xmlns="urn:opcodes:description"> |
6 <title>ECL opcodes</title> | 6 <title>ECL Sub format</title> |
7 | |
8 <text> | |
9 <div xmlns="http://www.w3.org/1999/xhtml"> | |
10 <h2>Lvalues and Rvalues / direct vs memory indirect addressing</h2> | |
11 <p>In EoSD, most 32-bits arguments passed to instructions may be actual values or variable/register indexes.<br/> | |
12 [TODO: verify] values inferior to -10000 are variable/register indexes, whereas values superior to this are actual values.<br/> | |
13 Values passed through variable/register indexes are Lvalues, other values are not. Some instructions require some of their operands to be Lvalues.<br/> | |
14 Another way to look at it would be C++-style references. <code>ins_20</code> would then be <code>ins_20(int32 &value, float a, float b);</code></p> | |
15 | |
16 <p>Note: variables seems to be somehow superposed to the enemy's state structure, with <code>-10015 = x</code> and <code>-10016 = y</code>.</p> | |
17 | |
18 | |
19 <h2>Accessing values</h2> | |
20 <p>[TODO: verify] How the game accesses values passed as argument is as follows:<br/> | |
21 TYPE is the type of the argument (float, int32, ...):</p> | |
22 | |
23 <pre>if ((TYPE) argument < -10000) | |
24 return *(TYPE*) &variables[(int)(-10000-(TYPE) argument)]; | |
25 else | |
26 return (TYPE) argument;</pre> | |
27 | |
28 <h2>Variables</h2> | |
29 <p>Only variables in the range [-10001, -10025] without -10014, -10020 and -10023 are used in the game.</p> | |
30 | |
31 <h3>Local variables</h3> | |
32 <table> | |
33 <tr><th>Number</th><th>Type</th></tr> | |
34 <tr><td>-10001</td><td>int</td></tr> | |
35 <tr><td>-10002</td><td>int</td></tr> | |
36 <tr><td>-10003</td><td>int</td></tr> | |
37 <tr><td>-10004</td><td>int</td></tr> | |
38 <tr><td>-10005</td><td>float</td></tr> | |
39 <tr><td>-10006</td><td>float</td></tr> | |
40 <tr><td>-10007</td><td>float</td></tr> | |
41 <tr><td>-10008</td><td>float</td></tr> | |
42 <tr><td>-10009</td><td>int</td></tr> | |
43 <tr><td>-10010</td><td>int</td></tr> | |
44 <tr><td>-10011</td><td>int</td></tr> | |
45 <tr><td>-10012</td><td>int</td></tr> | |
46 </table> | |
47 | |
48 <h3>Special variables</h3> | |
49 <table> | |
50 <tr><th>Number</th><th>Type</th> <th>Name</th> <th>RW/RO</th> <th>Notes</th></tr> | |
51 <tr><td>-10013</td><td>int</td> <td>rank</td> <td>ro</td> <td></td></tr> | |
52 <tr><td>-10014</td><td>int</td> <td>difficulty</td> <td>ro</td> <td>Unused.</td></tr> | |
53 <tr><td>-10015</td><td>float</td> <td>x</td> <td>rw</td> <td></td></tr> | |
54 <tr><td>-10016</td><td>float</td> <td>y</td> <td>rw</td> <td></td></tr> | |
55 <tr><td>-10017</td><td>float</td> <td>z</td> <td>rw</td> <td></td></tr> | |
56 <tr><td>-10018</td><td>float</td> <td>player_x</td> <td>ro</td> <td></td></tr> | |
57 <tr><td>-10019</td><td>float</td> <td>player_y</td> <td>ro</td> <td></td></tr> | |
58 <tr><td>-10020</td><td>float</td> <td></td> <td>ro</td> <td>Unused.</td></tr> | |
59 <tr><td>-10021</td><td>float</td> <td>enemy_player_angle</td> <td>ro</td> <td></td></tr> | |
60 <tr><td>-10022</td><td>int</td> <td>last_frame</td> <td>rw</td> <td></td></tr> | |
61 <tr><td>-10023</td><td>float</td> <td>enemy_player_distance</td><td>ro</td><td>Unused.</td></tr> | |
62 <tr><td>-10024</td><td>int</td> <td>life</td> <td>rw</td> <td></td></tr> | |
63 <tr><td>-10025</td><td>int</td> <td>player</td> <td>ro</td> <td>0 = ReimuA, 1 = ReimuB, 2 = MarisaA, 3 = MarisaB</td></tr> | |
64 </table> | |
65 | |
66 <h2>Opcodes</h2> | |
67 </div> | |
68 </text> | |
7 | 69 |
8 <op> | 70 <op> |
9 <num>0</num> | 71 <num>0</num> |
10 <name>return</name> | 72 <name>noop</name> |
11 <desc>Returns from the current function.</desc> | 73 <desc>Do nothing.</desc> |
12 </op> | 74 </op> |
13 | 75 |
14 <op> | 76 <op> |
15 <num>1</num> | 77 <num>1</num> |
16 <name>return</name> | 78 <name>delete</name> |
17 <params> | 79 <params> |
18 <param type="S" values="0"></param> | 80 <param type="S" values="0">Unknown</param> |
19 </params> | 81 </params> |
20 <desc>Always at the end of the function. Often after a very long amount of time, like 10000 frames.</desc> | 82 <desc>Delete the sprite and perhaps free the memory used.</desc> |
21 </op> | 83 </op> |
22 | 84 |
23 <op> | 85 <op> |
24 <num>2</num> | 86 <num>2</num> |
25 <name></name> | 87 <name>relative_jump</name> |
26 <params> | 88 <params> |
27 <param type="S" min="0" max="360"></param> | 89 <param type="S" name="new_frame" unit="frame" values="0 to 360"/> |
28 <param type="S" min="-2032" max="632"></param> | 90 <param type="S" name="relative_offset" unit="bytes" values="-2032 to 632">Starting from the start of the current opcode.</param> |
29 </params> | 91 </params> |
30 <desc></desc> | 92 <desc>Unconditionally jump to relative_offset with new frame counter. Used as a while.</desc> |
31 </op> | 93 </op> |
32 | 94 |
33 <op> | 95 <op> |
34 <num>3</num> | 96 <num>3</num> |
35 <name></name> | 97 <name>relative_jump_ex</name> |
36 <params> | 98 <params> |
37 <param type="S" min="0" max="532"></param> | 99 <param type="S" name="new_frame" unit="frame" values="0 to 532"/> |
38 <param type="S" min="-1376" max="-12"></param> | 100 <param type="S" name="relative_offset" unit="bytes" values="-1376 to -12"/> |
39 <param type="S" min="-10011" max="-10009"></param> | 101 <param type="S" name="counter_id" unit="var_id" var="must" values="-10011 to -10009"/> |
40 </params> | 102 </params> |
41 <desc></desc> | 103 <desc>If the counter is non-null, jump to relative_offset with new frame counter, and decrease counter counter_id by 1. Used as a for.</desc> |
42 </op> | 104 </op> |
43 | 105 |
44 <op> | 106 <op> |
45 <num>4</num> | 107 <num>4</num> |
46 <name></name> | 108 <name>set_int</name> |
47 <params> | 109 <params> |
48 <param type="S" min="-10012" max="-10001"></param> | 110 <param type="S" name="variable" unit="var_id" var="must" values="-10012 to -10001"/> |
49 <param type="S" min="-10021, 0" max="-10005, 300"></param> | 111 <param type="S" name="value" var="can" values="-10005 to -10021, 0 to 300"/> |
50 </params> | 112 </params> |
51 <desc></desc> | 113 <desc>Assign a value to the variable. Sometimes, value can be another variable.</desc> |
52 </op> | 114 </op> |
53 | 115 |
54 <op> | 116 <op> |
55 <num>5</num> | 117 <num>5</num> |
56 <name></name> | 118 <name>set_float</name> |
57 <params> | 119 <params> |
58 <param type="S"></param> | 120 <param type="S" name="variable" unit="var_id" var="must" values="-10005 to -10017"/> |
59 <param type="f"></param> | 121 <param type="f" name="value" var="can" values="-12.0f to 460.0f"/> |
60 </params> | 122 </params> |
61 <desc></desc> | 123 <desc>Like <ref>4</ref>, but with a float as value.</desc> |
62 </op> | 124 </op> |
63 | 125 |
64 <op> | 126 <op> |
65 <num>6</num> | 127 <num>6</num> |
66 <name></name> | 128 <name>set_random_int</name> |
67 <params> | 129 <params> |
68 <param type="S" values="-10001"></param> | 130 <param type="S" name="variable" unit="var_id" var="must" values="-10001"/> |
69 <param type="S" values="2 or 3"></param> | 131 <param type="S" name="value" var="can" values="2, 3"/> |
70 </params> | 132 </params> |
71 <desc></desc> | 133 <desc>Assign an integer in the [0, value) range to the variable.</desc> |
72 </op> | 134 </op> |
73 | 135 |
74 <op> | 136 <op> |
75 <num>8</num> | 137 <num>8</num> |
76 <name></name> | 138 <name>set_random_float</name> |
77 <params> | 139 <params> |
78 <param type="S"></param> | 140 <param type="S" name="variable" unit="var_id" var="must"/> |
79 <param type="f"></param> | 141 <param type="f" name="maximum" var="can" values="1.0f to 2pi to 384.0f"/> |
80 </params> | 142 </params> |
81 <desc></desc> | 143 <desc>Like <ref>6</ref>, but with a float as value.</desc> |
82 </op> | 144 </op> |
83 | 145 |
84 <op> | 146 <op> |
85 <num>9</num> | 147 <num>9</num> |
86 <name></name> | 148 <name></name> |
87 <params> | 149 <params> |
88 <param type="S"></param> | 150 <param type="S"/> |
89 <param type="f"></param> | 151 <param type="f"/> |
90 <param type="f"></param> | 152 <param type="f"/> |
91 </params> | 153 </params> |
92 <desc></desc> | 154 <desc></desc> |
93 </op> | 155 </op> |
94 | 156 |
95 <op> | 157 <op> |
96 <num>10</num> | 158 <num>10</num> |
97 <name></name> | 159 <name></name> |
98 <params> | 160 <params> |
99 <param type="S" values="-10005"></param> | 161 <param type="S" var="can/must" values="-10005"/> |
100 </params> | 162 </params> |
101 <desc>Used only one time, in <stage>2</stage>.</desc> | 163 <desc>Used only one time, in <stage>2</stage>.</desc> |
102 </op> | 164 </op> |
103 | 165 |
104 <op> | 166 <op> |
105 <num>13</num> | 167 <num>13</num> |
106 <name></name> | 168 <name></name> |
107 <params> | 169 <params> |
108 <param type="S"></param> | 170 <param type="S"/> |
109 <param type="S"></param> | 171 <param type="S"/> |
110 <param type="S"></param> | 172 <param type="S"/> |
111 </params> | 173 </params> |
112 <desc></desc> | 174 <desc></desc> |
113 </op> | 175 </op> |
114 | 176 |
115 <op> | 177 <op> |
116 <num>14</num> | 178 <num>14</num> |
117 <name></name> | 179 <name></name> |
118 <params> | 180 <params> |
119 <param type="S"></param> | 181 <param type="S"/> |
120 <param type="S"></param> | 182 <param type="S"/> |
121 <param type="S"></param> | 183 <param type="S"/> |
122 </params> | 184 </params> |
123 <desc></desc> | 185 <desc></desc> |
124 </op> | 186 </op> |
125 | 187 |
126 <op> | 188 <op> |
127 <num>15</num> | 189 <num>15</num> |
128 <name></name> | 190 <name></name> |
129 <params> | 191 <params> |
130 <param type="S" values="-10001"></param> | 192 <param type="S" var="can/must" values="-10001"/> |
131 <param type="S" values="-10012"></param> | 193 <param type="S" var="can/must" values="-10012"/> |
132 <param type="S" min="1" max="5"></param> | 194 <param type="S" values="1 to 5"/> |
133 </params> | 195 </params> |
134 <desc></desc> | 196 <desc></desc> |
135 </op> | 197 </op> |
136 | 198 |
137 <op> | 199 <op> |
138 <num>16</num> | 200 <num>16</num> |
139 <name></name> | 201 <name></name> |
140 <params> | 202 <params> |
141 <param type="S"></param> | 203 <param type="S"/> |
142 <param type="S"></param> | 204 <param type="S"/> |
143 <param type="S"></param> | 205 <param type="S"/> |
144 </params> | 206 </params> |
145 <desc></desc> | 207 <desc></desc> |
146 </op> | 208 </op> |
147 | 209 |
148 <op> | 210 <op> |
149 <num>17</num> | 211 <num>17</num> |
150 <name></name> | 212 <name></name> |
151 <params> | 213 <params> |
152 <param type="S"></param> | 214 <param type="S" name="variable1?"/> |
153 <param type="S"></param> | 215 <param type="S" name="variable2?"/> |
154 <param type="S"></param> | 216 <param type="S"/> |
155 </params> | 217 </params> |
156 <desc></desc> | 218 <desc></desc> |
157 </op> | 219 </op> |
158 | 220 |
159 <op> | 221 <op> |
160 <num>18</num> | 222 <num>18</num> |
161 <name></name> | 223 <name></name> |
162 <params> | 224 <params> |
163 <param type="S"></param> | 225 <param type="S" name="variable?" var="can/must" values="-10012, -10004, -10002, -10001"/> |
164 </params> | 226 </params> |
165 <desc></desc> | 227 <desc></desc> |
166 </op> | 228 </op> |
167 | 229 |
168 <op> | 230 <op> |
169 <num>20</num> | 231 <num>20</num> |
170 <name></name> | 232 <name>add</name> |
171 <params> | 233 <params> |
172 <param type="S"></param> | 234 <param type="S" name="variable" unit="var_id" var="must"/> |
173 <param type="f"></param> | 235 <param type="f" name="a"/> |
174 <param type="f"></param> | 236 <param type="f" name="b"/> |
175 </params> | 237 </params> |
176 <desc></desc> | 238 <desc>variable = a + b; Warning: a and b will be dereferenced as integers (not converted) if variable is an integer!</desc> |
177 </op> | 239 </op> |
178 | 240 |
179 <op> | 241 <op> |
180 <num>21</num> | 242 <num>21</num> |
181 <name></name> | 243 <name></name> |
182 <params> | 244 <params> |
183 <param type="S"></param> | 245 <param type="S" name="variable" unit="var_id" var="must"/> |
184 <param type="f"></param> | 246 <param type="f" name="a"/> |
185 <param type="f"></param> | 247 <param type="f" name="b"/> |
186 </params> | 248 </params> |
187 <desc></desc> | 249 <desc>variable = a - b; Warning: a and b will be dereferenced as integers (not converted) if variable is an integer!</desc> |
188 </op> | 250 </op> |
189 | 251 |
190 <op> | 252 <op> |
191 <num>23</num> | 253 <num>23</num> |
192 <name></name> | 254 <name></name> |
193 <params> | 255 <params> |
194 <param type="S"></param> | 256 <param type="S"/> |
195 <param type="f"></param> | 257 <param type="f"/> |
196 <param type="f"></param> | 258 <param type="f"/> |
197 </params> | 259 </params> |
198 <desc></desc> | 260 <desc></desc> |
199 </op> | 261 </op> |
200 | 262 |
201 <op> | 263 <op> |
202 <num>25</num> | 264 <num>25</num> |
203 <name></name> | 265 <name></name> |
204 <params> | 266 <params> |
205 <param type="S" values="-10005"></param> | 267 <param type="S" var="can/must" values="-10005"/> |
206 <param type="f"></param> | 268 <param type="f"/> |
207 <param type="f"></param> | 269 <param type="f"/> |
208 <param type="f" values="192.0f"></param> | 270 <param type="f" values="192.0f"/> |
209 <param type="f" values="224.0f"></param> | 271 <param type="f" values="224.0f"/> |
210 </params> | 272 </params> |
211 <desc></desc> | 273 <desc></desc> |
212 </op> | 274 </op> |
213 | 275 |
214 <op> | 276 <op> |
215 <num>26</num> | 277 <num>26</num> |
216 <name></name> | 278 <name></name> |
217 <params> | 279 <params> |
218 <param type="S"></param> | 280 <param type="S"/> |
219 </params> | 281 </params> |
220 <desc></desc> | 282 <desc></desc> |
221 </op> | 283 </op> |
222 | 284 |
223 <op> | 285 <op> |
224 <num>27</num> | 286 <num>27</num> |
225 <name></name> | 287 <name>compare_ints</name> |
226 <params> | 288 <params> |
227 <param type="S"></param> | 289 <param type="S" name="a"/> |
228 <param type="S"></param> | 290 <param type="S" name="b"/> |
229 </params> | 291 </params> |
230 <desc></desc> | 292 <desc>Compare a and b, store the result (-1 if a < b, 0 if a == b, 1 if a > b) in the "comparison register".</desc> |
231 </op> | 293 </op> |
232 | 294 |
233 <op> | 295 <op> |
234 <num>28</num> | 296 <num>28</num> |
235 <name></name> | 297 <name></name> |
236 <params> | 298 <params> |
237 <param type="f"></param> | 299 <param type="f"/> |
238 <param type="f"></param> | 300 <param type="f"/> |
239 </params> | 301 </params> |
240 <desc></desc> | 302 <desc></desc> |
241 </op> | 303 </op> |
242 | 304 |
243 <op> | 305 <op> |
244 <num>29</num> | 306 <num>29</num> |
245 <name></name> | 307 <name></name> |
246 <params> | 308 <params> |
247 <param type="S"></param> | 309 <param type="S"/> |
248 <param type="S"></param> | 310 <param type="S"/> |
249 </params> | 311 </params> |
250 <desc></desc> | 312 <desc></desc> |
251 </op> | 313 </op> |
252 | 314 |
253 <op> | 315 <op> |
254 <num>30</num> | 316 <num>30</num> |
255 <name></name> | 317 <name></name> |
256 <params> | 318 <params> |
257 <param type="S"></param> | 319 <param type="S"/> |
258 <param type="S"></param> | 320 <param type="S"/> |
259 </params> | 321 </params> |
260 <desc></desc> | 322 <desc></desc> |
261 </op> | 323 </op> |
262 | 324 |
263 <op> | 325 <op> |
264 <num>31</num> | 326 <num>31</num> |
265 <name></name> | 327 <name>relative_jump_if_equal</name> |
266 <params> | 328 <params> |
267 <param type="S"></param> | 329 <param type="S" name="new_frame" unit="frame" values="0, 2, 60"/> |
268 <param type="S"></param> | 330 <param type="S" name="relative_offset" unit="bytes" values="44, 176, 324">Starting from the start of the current opcode.</param> |
269 </params> | 331 </params> |
270 <desc></desc> | 332 <desc>Jump if the "comparison register" equals to 0, that is, if the compared values are equal.</desc> |
271 </op> | 333 </op> |
272 | 334 |
273 <op> | 335 <op> |
274 <num>32</num> | 336 <num>32</num> |
275 <name></name> | 337 <name></name> |
276 <params> | 338 <params> |
277 <param type="S" value="120"></param> | 339 <param type="S" value="120"/> |
278 <param type="S" value="64"></param> | 340 <param type="S" value="64"/> |
279 </params> | 341 </params> |
280 <desc>Used only one time in <stage>4</stage></desc> | 342 <desc>Used only one time in <stage>4</stage></desc> |
281 </op> | 343 </op> |
282 | 344 |
283 <op> | 345 <op> |
284 <num>33</num> | 346 <num>33</num> |
285 <name></name> | 347 <name></name> |
286 <params> | 348 <params> |
287 <param type="S"></param> | 349 <param type="S"/> |
288 <param type="S"></param> | 350 <param type="S"/> |
289 </params> | 351 </params> |
290 <desc></desc> | 352 <desc></desc> |
291 </op> | 353 </op> |
292 | 354 |
293 <op> | 355 <op> |
294 <num>34</num> | 356 <num>34</num> |
295 <name></name> | 357 <name></name> |
296 <params> | 358 <params> |
297 <param type="S"></param> | 359 <param type="S"/> |
298 <param type="S"></param> | 360 <param type="S"/> |
299 </params> | 361 </params> |
300 <desc></desc> | 362 <desc></desc> |
301 </op> | 363 </op> |
302 | 364 |
303 <op> | 365 <op> |
304 <num>35</num> | 366 <num>35</num> |
305 <name></name> | 367 <name>call</name> |
306 <params> | 368 <params> |
307 <param type="S"></param> | 369 <param type="S" name="function" unit="sub"/> |
308 <param type="S"></param> | 370 <param type="S" name="param1"/> |
309 <param type="f"></param> | 371 <param type="f" name="param2" values="-0.31415927f to 0.31415927f"/> |
310 </params> | 372 </params> |
311 <desc></desc> | 373 <desc>Call given sub with -10001 = param1, -10005 = param2</desc> |
312 </op> | 374 </op> |
313 | 375 |
314 <op> | 376 <op> |
315 <num>36</num> | 377 <num>36</num> |
316 <name>return</name> | 378 <name>return</name> |
317 <desc>Almost always called at the end of the function. See stage3 for two times where it is called before <ref>1</ref>.</desc> | 379 <desc>Almost always called at the end of the function. See stage3 for two times where it is called before <ref>1</ref>.</desc> |
318 </op> | 380 </op> |
319 | 381 |
320 <op> | 382 <op> |
321 <num>39</num> | 383 <num>39</num> |
322 <name></name> | 384 <name>call_if_equal</name> |
323 <params> | 385 <params> |
324 <param type="S"></param> | 386 <param type="S" name="function" unit="sub"/> |
325 <param type="S" values="0"></param> | 387 <param type="S" values="0" name="param1"/> |
326 <param type="S" values="0"></param> | 388 <param type="f" values="0" name="param2"/> |
327 <param type="S"></param> | 389 <param type="S" name="a"/> |
328 <param type="S"></param> | 390 <param type="S" name="b"/> |
329 </params> | 391 </params> |
330 <desc></desc> | 392 <desc>Call given sub with -10001 = param1, -10005 = param2 if a == b</desc> |
331 </op> | 393 </op> |
332 | 394 |
333 <op> | 395 <op> |
334 <num>43</num> | 396 <num>43</num> |
335 <name></name> | 397 <name>set_position</name> |
336 <params> | 398 <params> |
337 <param type="f"></param> | 399 <param type="f" name="x"/> |
338 <param type="f"></param> | 400 <param type="f" name="y"/> |
339 <param type="S" values="0"></param> | 401 <param type="f" name="y" values="0">Ignored</param> |
340 </params> | 402 </params> |
341 <desc></desc> | 403 <desc>Move the enemy to a new position, using interpolation.</desc> |
342 </op> | 404 </op> |
343 | 405 |
344 <op> | 406 <op> |
345 <num>45</num> | 407 <num>45</num> |
346 <name>set_angle_speed</name> | 408 <name>set_angle_speed</name> |
347 <params> | 409 <params> |
348 <param type="f">Angle in radians, 0.0f is left, PI/2 is down.</param> | 410 <param type="f" name="angle" unit="radian">0.0f is left, PI/2 is down.</param> |
349 <param type="f">Speed in pixels per frame.</param> | 411 <param type="f" name="speed" unit="pixels/frame"/> |
350 </params> | 412 </params> |
351 <desc>Set the angular trajectory and speed of the enemy.</desc> | 413 <desc>Set the angular trajectory and speed of the enemy.</desc> |
352 </op> | 414 </op> |
353 | 415 |
354 <op> | 416 <op> |
355 <num>46</num> | 417 <num>46</num> |
356 <name>set_angle</name> | 418 <name>set_rotation_speed</name> |
357 <params> | 419 <params> |
358 <param type="f">The new angle, in radians.</param> | 420 <param type="f" name="speed" unit="radian/frame"/> |
359 </params> | 421 </params> |
360 <desc>Change the angular trajectory of the enemy. It continues to turn until this function is called again.</desc> | 422 <desc>Change the angular trajectory of the enemy. It continues to turn until this function is called again.</desc> |
361 </op> | 423 </op> |
362 | 424 |
363 <op> | 425 <op> |
364 <num>47</num> | 426 <num>47</num> |
365 <name>set_speed</name> | 427 <name>set_speed</name> |
366 <params> | 428 <params> |
367 <param type="f">The new speed.</param> | 429 <param type="f" name="speed" unit="pixels/frame"/> |
368 </params> | 430 </params> |
369 <desc>Change the speed of the enemy.</desc> | 431 <desc>Change the speed of the enemy.</desc> |
370 </op> | 432 </op> |
371 | 433 |
372 <op> | 434 <op> |
373 <num>48</num> | 435 <num>48</num> |
374 <name>set_acceleration</name> | 436 <name>set_acceleration</name> |
375 <params> | 437 <params> |
376 <param type="f">New step.</param> | 438 <param type="f" name="step" unit="pixels/frame"/> |
377 </params> | 439 </params> |
378 <desc>Change the speed of the enemy step by step, at each frame.</desc> | 440 <desc>Change the speed of the enemy step by step, at each frame.</desc> |
379 </op> | 441 </op> |
380 | 442 |
381 <op> | 443 <op> |
382 <num>49</num> | 444 <num>49</num> |
383 <name>set_random_?</name> | 445 <name>set_random_?</name> |
384 <params> | 446 <params> |
385 <param type="f" values="0.7853982f">The new angle?.</param> | 447 <param type="f" values="0.7853982f">The new angle?</param> |
386 <param type="f" values="2.3561945f">Some deplacement?.</param> | 448 <param type="f" values="2.3561945f">Some deplacement?</param> |
387 </params> | 449 </params> |
388 <desc>Used only five times, in <stage>2</stage>. Seems to involve some randomness.</desc> | 450 <desc>Used only five times, in <stage>2</stage>. Seems to involve some randomness.</desc> |
389 </op> | 451 </op> |
390 | 452 |
391 <op> | 453 <op> |
392 <num>50</num> | 454 <num>50</num> |
393 <name></name> | 455 <name></name> |
394 <params> | 456 <params> |
395 <param type="f" values="PI (3.1415927f)"></param> | 457 <param type="f" values="PI (3.1415927f)"/> |
396 <param type="f" values="PI (3.1415927f)"></param> | 458 <param type="f" values="PI (3.1415927f)"/> |
397 </params> | 459 </params> |
398 <desc></desc> | 460 <desc></desc> |
399 </op> | 461 </op> |
400 | 462 |
401 <op> | 463 <op> |
402 <num>51</num> | 464 <num>51</num> |
403 <name></name> | 465 <name>set_speed_forward_player</name> |
404 <params> | 466 <params> |
405 <param type="S" value="0"></param> | 467 <param type="S" value="0">Ignored</param> |
406 <param type="f" value="2.4f"></param> | 468 <param type="f" name="speed" unit="pixels/frame"/> |
407 </params> | 469 </params> |
408 <desc>Used only one time in <stage>2</stage></desc> | 470 <desc>Sets the speed of the enemy, and change its direction to where the player is at that frame. Used only one time in <stage>2</stage>.</desc> |
409 </op> | 471 </op> |
410 | 472 |
411 <op> | 473 <op> |
412 <num>52</num> | 474 <num>52</num> |
413 <name></name> | 475 <name></name> |
414 <params> | 476 <params> |
415 <param type="S"></param> | 477 <param type="S"/> |
416 <param type="f"></param> | 478 <param type="f"/> |
417 <param type="f"></param> | 479 <param type="f"/> |
418 </params> | 480 </params> |
419 <desc></desc> | 481 <desc></desc> |
420 </op> | 482 </op> |
421 | 483 |
422 <op> | 484 <op> |
423 <num>56</num> | 485 <num>56</num> |
424 <name></name> | 486 <name></name> |
425 <params> | 487 <params> |
426 <param type="S"></param> | 488 <param type="S"/> |
427 <param type="f"></param> | 489 <param type="f"/> |
428 <param type="f"></param> | 490 <param type="f"/> |
429 <param type="S" values="0"></param> | 491 <param type="S" values="0"/> |
430 </params> | 492 </params> |
431 <desc>Used only two times in <stage>7</stage></desc> | 493 <desc>Used only two times in <stage>7</stage></desc> |
432 </op> | 494 </op> |
433 | 495 |
434 <op> | 496 <op> |
435 <num>57</num> | 497 <num>57</num> |
436 <name></name> | 498 <name>move_to</name> |
437 <params> | 499 <params> |
438 <param type="S"></param> | 500 <param type="S" name="duration" unit="frames"/> |
439 <param type="f"></param> | 501 <param type="f" name="x" unit="pixels"/> |
440 <param type="f"></param> | 502 <param type="f" name="y" unit="pixels"/> |
441 <param type="S" values="0"></param> | 503 <param type="f" name="z" unit="pixels" values="0.0f">Ignored</param> |
442 </params> | 504 </params> |
443 <desc></desc> | 505 <desc>Move the enemy to the new position in this amount of frames.</desc> |
444 </op> | 506 </op> |
445 | 507 |
446 <op> | 508 <op> |
447 <num>59</num> | 509 <num>59</num> |
448 <name></name> | 510 <name>move_to2</name> |
449 <params> | 511 <params> |
450 <param type="S"></param> | 512 <param type="S" name="duration" unit="frames"/> |
451 <param type="f" values="192.0f"></param> | 513 <param type="f" name="x" unit="pixels" values="192.0f"/> |
452 <param type="f"></param> | 514 <param type="f" name="y" unit="pixels" values="-64.0f, 150.0f"/> |
453 <param type="S" values="0"></param> | 515 <param type="f" name="z" unit="pixels" values="0.0f"/> |
454 </params> | 516 </params> |
455 <desc></desc> | 517 <desc>Move the enemy to the new position in this amount of frames. TODO: how it is different from move_to?</desc> |
456 </op> | 518 </op> |
457 | 519 |
458 <op> | 520 <op> |
459 <num>61</num> | 521 <num>61</num> |
460 <name></name> | 522 <name>stop_in</name> |
461 <params> | 523 <params> |
462 <param type="S"></param> | 524 <param type="S" name="duration" unit="frames"/> |
463 </params> | 525 </params> |
464 <desc></desc> | 526 <desc>keep a straight trajectory with decelerating speed to stop in duration frames.</desc> |
465 </op> | 527 </op> |
466 | 528 |
467 <op> | 529 <op> |
468 <num>63</num> | 530 <num>63</num> |
469 <name></name> | 531 <name></name> |
470 <params> | 532 <params> |
471 <param type="S"></param> | 533 <param type="S"/> |
472 </params> | 534 </params> |
473 <desc></desc> | 535 <desc></desc> |
474 </op> | 536 </op> |
475 | 537 |
476 <op> | 538 <op> |
477 <num>65</num> | 539 <num>65</num> |
478 <name></name> | 540 <name>set_screen_box</name> |
479 <params> | 541 <params> |
480 <param type="f"></param> | 542 <param type="f" name="x1" unit="pixels"/> |
481 <param type="f"></param> | 543 <param type="f" name="y1" unit="pixels"/> |
482 <param type="f"></param> | 544 <param type="f" name="x2" unit="pixels"/> |
483 <param type="f"></param> | 545 <param type="f" name="y2" unit="pixels"/> |
484 </params> | 546 </params> |
485 <desc></desc> | 547 <desc>Disallow an enemy to quit the defined rectangle. If it goes outside it is destroyed. By default this rectangle is the displayed screen.</desc> |
486 </op> | 548 </op> |
487 | 549 |
488 <op> | 550 <op> |
489 <num>66</num> | 551 <num>66</num> |
490 <name></name> | 552 <name>clear_screen_box</name> |
491 <desc></desc> | 553 <desc>Remove the limit set in <ref>65</ref>.</desc> |
492 </op> | 554 </op> |
493 | 555 |
494 <op> | 556 <op> |
495 <num>67</num> | 557 <num>67</num> |
496 <name>set_bullet_attributes</name> | 558 <name>set_bullet_attributes</name> |
497 <params> | 559 <params> |
498 <param type="s">Bullet sprite.</param> | 560 <param type="s" name="bullet" unit="script"/> |
499 <param type="s">Launch sprite.</param> | 561 <param type="s" name="launch" unit="script"/> |
500 <param type="S">Number of bullets per salvo.</param> | 562 <param type="S" name="bullets_per_shot"/> |
501 <param type="S">Number of salvos.</param> | 563 <param type="S" name="number_of_shots"/> |
502 <param type="f">Speed.</param> | 564 <param type="f" name="speed" unit="pixels/frame"/> |
503 <param type="f">Speed2?.</param> | 565 <param type="f"/> |
504 <param type="f">Launch angle.</param> | 566 <param type="f" name="launch_angle" unit="radian"/> |
505 <param type="f">Angle between two bullets of a same salvo.</param> | 567 <param type="f" name="angle_between_two_bullets" unit="radian"/> |
506 <param type="S">(>= 64, freezed).</param> | 568 <param type="S" name="flags">>= 64, freezed</param> |
507 </params> | 569 </params> |
508 <desc>Modify the attributes of the next enemy attack</desc> | 570 <desc>Modify the attributes of the next enemy attack. Directs it to the player.</desc> |
509 </op> | 571 </op> |
510 | 572 |
511 <op> | 573 <op> |
512 <num>68</num> | 574 <num>68</num> |
513 <name></name> | 575 <name></name> |
514 <params> | 576 <params> |
515 <param type="s"></param> | 577 <param type="s"/> |
516 <param type="s"></param> | 578 <param type="s"/> |
517 <param type="S"></param> | 579 <param type="S"/> |
518 <param type="S"></param> | 580 <param type="S"/> |
519 <param type="f"></param> | 581 <param type="f"/> |
520 <param type="f"></param> | 582 <param type="f"/> |
521 <param type="f"></param> | 583 <param type="f"/> |
522 <param type="f"></param> | 584 <param type="f"/> |
523 <param type="S"></param> | 585 <param type="S"/> |
524 </params> | 586 </params> |
525 <desc>Supposedly the same as <ref>67</ref>.</desc> | 587 <desc>The same as <ref>67</ref>, except the shot is directed to the right of the enemy.</desc> |
526 </op> | 588 </op> |
527 | 589 |
528 <op> | 590 <op> |
529 <num>69</num> | 591 <num>69</num> |
530 <name></name> | 592 <name></name> |
531 <params> | 593 <params> |
532 <param type="s"></param> | 594 <param type="s"/> |
533 <param type="s"></param> | 595 <param type="s"/> |
534 <param type="S"></param> | 596 <param type="S"/> |
535 <param type="S"></param> | 597 <param type="S"/> |
536 <param type="f"></param> | 598 <param type="f"/> |
537 <param type="f"></param> | 599 <param type="f"/> |
538 <param type="f"></param> | 600 <param type="f"/> |
539 <param type="f"></param> | 601 <param type="f"/> |
540 <param type="S"></param> | 602 <param type="S"/> |
541 </params> | 603 </params> |
542 <desc></desc> | 604 <desc>No visible difference from <ref>67</ref>.</desc> |
543 </op> | 605 </op> |
544 | 606 |
545 <op> | 607 <op> |
546 <num>70</num> | 608 <num>70</num> |
547 <name></name> | 609 <name></name> |
548 <params> | 610 <params> |
549 <param type="s"></param> | 611 <param type="s"/> |
550 <param type="s"></param> | 612 <param type="s"/> |
551 <param type="S"></param> | 613 <param type="S"/> |
552 <param type="S"></param> | 614 <param type="S"/> |
553 <param type="f"></param> | 615 <param type="f"/> |
554 <param type="f"></param> | 616 <param type="f"/> |
555 <param type="f"></param> | 617 <param type="f"/> |
556 <param type="f"></param> | 618 <param type="f"/> |
557 <param type="S"></param> | 619 <param type="S"/> |
558 </params> | 620 </params> |
559 <desc></desc> | 621 <desc>No visible difference from <ref>68</ref>.</desc> |
560 </op> | 622 </op> |
561 | 623 |
562 <op> | 624 <op> |
563 <num>71</num> | 625 <num>71</num> |
564 <name></name> | 626 <name></name> |
565 <params> | 627 <params> |
566 <param type="s"></param> | 628 <param type="s"/> |
567 <param type="s"></param> | 629 <param type="s"/> |
568 <param type="S"></param> | 630 <param type="S"/> |
569 <param type="S"></param> | 631 <param type="S"/> |
570 <param type="f"></param> | 632 <param type="f"/> |
571 <param type="f"></param> | 633 <param type="f"/> |
572 <param type="S"></param> | 634 <param type="S"/> |
573 <param type="S"></param> | 635 <param type="S"/> |
574 <param type="S"></param> | 636 <param type="S"/> |
575 </params> | 637 </params> |
576 <desc></desc> | 638 <desc></desc> |
577 </op> | 639 </op> |
578 | 640 |
579 <op> | 641 <op> |
580 <num>74</num> | 642 <num>74</num> |
581 <name></name> | 643 <name></name> |
582 <params> | 644 <params> |
583 <param type="s"></param> | 645 <param type="s"/> |
584 <param type="s"></param> | 646 <param type="s"/> |
585 <param type="S"></param> | 647 <param type="S"/> |
586 <param type="S"></param> | 648 <param type="S"/> |
587 <param type="f"></param> | 649 <param type="f"/> |
588 <param type="f"></param> | 650 <param type="f"/> |
589 <param type="S"></param> | 651 <param type="S"/> |
590 <param type="S"></param> | 652 <param type="S"/> |
591 <param type="S"></param> | 653 <param type="S"/> |
592 </params> | 654 </params> |
593 <desc>Used only one time, in <stage>3</stage>.</desc> | 655 <desc>Used only one time, in <stage>3</stage>.</desc> |
594 </op> | 656 </op> |
595 | 657 |
596 <op> | 658 <op> |
597 <num>75</num> | 659 <num>75</num> |
598 <name></name> | 660 <name></name> |
599 <params> | 661 <params> |
600 <param type="s"></param> | 662 <param type="s"/> |
601 <param type="s"></param> | 663 <param type="s"/> |
602 <param type="S"></param> | 664 <param type="S"/> |
603 <param type="S"></param> | 665 <param type="S"/> |
604 <param type="f"></param> | 666 <param type="f"/> |
605 <param type="f"></param> | 667 <param type="f"/> |
606 <param type="f"></param> | 668 <param type="f"/> |
607 <param type="f"></param> | 669 <param type="f"/> |
608 <param type="S"></param> | 670 <param type="S"/> |
609 </params> | 671 </params> |
610 <desc></desc> | 672 <desc>Seems like <ref>68</ref>, but with some differences in speed.</desc> |
611 </op> | 673 </op> |
612 | 674 |
613 <op> | 675 <op> |
614 <num>76</num> | 676 <num>76</num> |
615 <name></name> | 677 <name></name> |
616 <params> | 678 <params> |
617 <param type="S"></param> | 679 <param type="S"/> |
618 </params> | 680 </params> |
619 <desc></desc> | 681 <desc></desc> |
620 </op> | 682 </op> |
621 | 683 |
622 <op> | 684 <op> |
623 <num>77</num> | 685 <num>77</num> |
624 <name>bullet_interval</name> | 686 <name>bullet_interval</name> |
625 <params> | 687 <params> |
626 <param type="S">In frames.</param> | 688 <param type="S" name="interval" unit="frames"/> |
627 </params> | 689 </params> |
628 <desc>Time between two salvos.</desc> | 690 <desc>Time between two shots.</desc> |
629 </op> | 691 </op> |
630 | 692 |
631 <op> | 693 <op> |
632 <num>78</num> | 694 <num>78</num> |
633 <name></name> | 695 <name>delay_attack</name> |
634 <desc>Seems related to attacks, but removing them doesn't change anything...</desc> | 696 <desc>If present, delays the first attack of the amount of frames defined by <ref>77</ref>. If not, the enemy shoots instantly after setting the bullets attributes.</desc> |
635 </op> | 697 </op> |
636 | 698 |
637 <op> | 699 <op> |
638 <num>79</num> | 700 <num>79</num> |
639 <name></name> | 701 <name>no_delay_attack</name> |
640 <desc>Seems related to attacks, but removing them doesn't change anything...</desc> | 702 <desc></desc> |
641 </op> | 703 </op> |
642 | 704 |
643 <op> | 705 <op> |
644 <num>81</num> | 706 <num>81</num> |
645 <name>bullet_launch_offset</name> | 707 <name>bullet_launch_offset</name> |
646 <params> | 708 <params> |
647 <param type="f">x offset.</param> | 709 <param type="f" name="x" unit="pixels"/> |
648 <param type="f">y offset.</param> | 710 <param type="f" name="y" unit="pixels"/> |
649 <param type="S" values="0"></param> | 711 <param type="f" name="z" unit="pixels" values="0">Ignored</param> |
650 </params> | 712 </params> |
651 <desc>Change the offset of the launch of bullets.</desc> | 713 <desc>Change the offset of the launch of bullets.</desc> |
652 </op> | 714 </op> |
653 | 715 |
654 <op> | 716 <op> |
655 <num>82</num> | 717 <num>82</num> |
656 <name></name> | 718 <name></name> |
657 <params> | 719 <params> |
658 <param type="S"></param> | 720 <param type="S"/> |
659 <param type="S"></param> | 721 <param type="S"/> |
660 <param type="S"></param> | 722 <param type="S"/> |
661 <param type="S"></param> | 723 <param type="S"/> |
662 <param type="f"></param> | 724 <param type="f"/> |
663 <param type="f"></param> | 725 <param type="f"/> |
664 <param type="f" values="-1.0f"></param> | 726 <param type="f" values="-1.0f"/> |
665 <param type="f" values="-1.0f"></param> | 727 <param type="f" values="-1.0f"/> |
666 </params> | 728 </params> |
667 <desc></desc> | 729 <desc></desc> |
668 </op> | 730 </op> |
669 | 731 |
670 <op> | 732 <op> |
671 <num>83</num> | 733 <num>83</num> |
672 <name></name> | 734 <name></name> |
673 <desc></desc> | 735 <desc>No-op? Doesn't seem to change anything.</desc> |
674 </op> | 736 </op> |
675 | 737 |
676 <op> | 738 <op> |
677 <num>84</num> | 739 <num>84</num> |
678 <name></name> | 740 <name></name> |
679 <params> | 741 <params> |
680 <param type="S"></param> | 742 <param type="S"/> |
681 </params> | 743 </params> |
682 <desc></desc> | 744 <desc></desc> |
683 </op> | 745 </op> |
684 | 746 |
685 <op> | 747 <op> |
686 <num>85</num> | 748 <num>85</num> |
687 <name></name> | 749 <name>laser</name> |
688 <params> | 750 <params> |
689 <param type="s"></param> | 751 <param type="s"/> |
690 <param type="s"></param> | 752 <param type="s"/> |
691 <param type="f"></param> | 753 <param type="f"/> |
692 <param type="S"></param> | 754 <param type="S"/> |
693 <param type="f"></param> | 755 <param type="f"/> |
694 <param type="f"></param> | 756 <param type="f"/> |
695 <param type="f"></param> | 757 <param type="f"/> |
696 <param type="f"></param> | 758 <param type="f"/> |
697 <param type="S"></param> | 759 <param type="S"/> |
698 <param type="S"></param> | 760 <param type="S"/> |
699 <param type="S"></param> | 761 <param type="S"/> |
700 <param type="S"></param> | 762 <param type="S"/> |
701 <param type="S"></param> | 763 <param type="S"/> |
702 <param type="S" values="0"></param> | 764 <param type="S" values="0"/> |
703 </params> | 765 </params> |
704 <desc></desc> | 766 <desc></desc> |
705 </op> | 767 </op> |
706 | 768 |
707 <op> | 769 <op> |
708 <num>86</num> | 770 <num>86</num> |
709 <name></name> | 771 <name></name> |
710 <params> | 772 <params> |
711 <param type="s"></param> | 773 <param type="s"/> |
712 <param type="s"></param> | 774 <param type="s"/> |
713 <param type="f"></param> | 775 <param type="f"/> |
714 <param type="f"></param> | 776 <param type="f"/> |
715 <param type="S"></param> | 777 <param type="S"/> |
716 <param type="f"></param> | 778 <param type="f"/> |
717 <param type="f"></param> | 779 <param type="f"/> |
718 <param type="f"></param> | 780 <param type="f"/> |
719 <param type="S"></param> | 781 <param type="S"/> |
720 <param type="S"></param> | 782 <param type="S"/> |
721 <param type="S"></param> | 783 <param type="S"/> |
722 <param type="S"></param> | 784 <param type="S"/> |
723 <param type="S"></param> | 785 <param type="S"/> |
724 <param type="S" values="0"></param> | 786 <param type="S" values="0"/> |
725 </params> | 787 </params> |
726 <desc></desc> | 788 <desc></desc> |
727 </op> | 789 </op> |
728 | 790 |
729 <op> | 791 <op> |
730 <num>87</num> | 792 <num>87</num> |
731 <name></name> | 793 <name>set_upcoming_id</name> |
732 <params> | 794 <params> |
733 <param type="S"></param> | 795 <param type="S" name="laser" unit="laser_id"/> |
734 </params> | 796 </params> |
735 <desc></desc> | 797 <desc>Sets upcoming laser to a given id, in order to manipulate it later.</desc> |
736 </op> | 798 </op> |
737 | 799 |
738 <op> | 800 <op> |
739 <num>88</num> | 801 <num>88</num> |
740 <name></name> | 802 <name>alter_laser_angle</name> |
741 <params> | 803 <params> |
742 <param type="S"></param> | 804 <param type="S" name="laser" unit="laser_id"/> |
743 <param type="f"></param> | 805 <param type="f" name="delta" unit="radian"/> |
744 </params> | 806 </params> |
745 <desc></desc> | 807 <desc>Adds delta to the laser's angle.</desc> |
746 </op> | 808 </op> |
747 | 809 |
748 <op> | 810 <op> |
749 <num>90</num> | 811 <num>90</num> |
750 <name></name> | 812 <name></name> |
751 <params> | 813 <params> |
752 <param type="S"></param> | 814 <param type="S" values="0 to 3"/> |
753 <param type="S" values="0"></param> | 815 <param type="S" values="0"/> |
754 <param type="S" values="0"></param> | 816 <param type="S" values="0"/> |
755 <param type="S" values="0"></param> | 817 <param type="S" values="0"/> |
756 </params> | 818 </params> |
757 <desc>Used only one time, in <stage>7</stage>.</desc> | 819 <desc>Used only one time, in <stage>7</stage>.</desc> |
758 </op> | 820 </op> |
759 | 821 |
760 <op> | 822 <op> |
761 <num>92</num> | 823 <num>92</num> |
762 <name></name> | 824 <name></name> |
763 <params> | 825 <params> |
764 <param type="S"></param> | 826 <param type="S"/> |
765 </params> | 827 </params> |
766 <desc></desc> | 828 <desc></desc> |
767 </op> | 829 </op> |
768 | 830 |
769 <op> | 831 <op> |
770 <num>93</num> | 832 <num>93</num> |
771 <name>set_spellcard</name> | 833 <name>set_spellcard</name> |
772 <params> | 834 <params> |
773 <param type="s"></param> | 835 <param type="s"/> |
774 <param type="s">The number of the spellcard, as it will be counted in the captured spellcards.</param> | 836 <param type="s" name="number">As in the captured spellcards screen, minus 1.</param> |
775 <param type="z">The name of the spellcard, in SHIFT_JIS.</param> | 837 <param type="z" name="name">In SHIFT_JIS</param> |
776 </params> | 838 </params> |
777 <desc></desc> | 839 <desc></desc> |
778 </op> | 840 </op> |
779 | 841 |
780 <op> | 842 <op> |
785 | 847 |
786 <op> | 848 <op> |
787 <num>95</num> | 849 <num>95</num> |
788 <name></name> | 850 <name></name> |
789 <params> | 851 <params> |
790 <param type="S"></param> | 852 <param type="S"/> |
791 <param type="f"></param> | 853 <param type="f"/> |
792 <param type="f"></param> | 854 <param type="f"/> |
793 <param type="f"></param> | 855 <param type="f"/> |
794 <param type="s"></param> | 856 <param type="s"/> |
795 <param type="s"></param> | 857 <param type="s"/> |
796 <param type="S"></param> | 858 <param type="S"/> |
797 </params> | 859 </params> |
798 <desc></desc> | 860 <desc></desc> |
799 </op> | 861 </op> |
800 | 862 |
801 <op> | 863 <op> |
804 <desc></desc> | 866 <desc></desc> |
805 </op> | 867 </op> |
806 | 868 |
807 <op> | 869 <op> |
808 <num>97</num> | 870 <num>97</num> |
809 <name>set_enemy_sprite</name> | 871 <name>set_enemy_anim</name> |
810 <params> | 872 <params> |
811 <param type="S" min="0" max="165">Sprite number.</param> | 873 <param type="S" name="anim" unit="script"/> |
812 </params> | 874 </params> |
813 <desc>Set a sprite (taken from current anm) for the enemy.</desc> | 875 <desc>Set a sprite (taken from current anm) for the enemy.</desc> |
814 </op> | 876 </op> |
815 | 877 |
816 <op> | 878 <op> |
817 <num>98</num> | 879 <num>98</num> |
818 <name></name> | 880 <name>set_boss_anims</name> |
819 <params> | 881 <params> |
820 <param type="s"></param> | 882 <param type="s" name="default" unit="script"/> |
821 <param type="s"></param> | 883 <param type="s" name="far_left" unit="script"/> |
822 <param type="s"></param> | 884 <param type="s" name="far_right" unit="script"/> |
823 <param type="s"></param> | 885 <param type="s" name="left" unit="script"/> |
824 <param type="S"></param> | 886 <param type="S" name="right" unit="script">Perhaps two int16_t instead.</param> |
825 </params> | 887 </params> |
826 <desc></desc> | 888 <desc>Give a set of animations for a boss deplacements.</desc> |
827 </op> | 889 </op> |
828 | 890 |
829 <op> | 891 <op> |
830 <num>99</num> | 892 <num>99</num> |
831 <name></name> | 893 <name></name> |
832 <params> | 894 <params> |
833 <param type="S"></param> | 895 <param type="S"/> |
834 <param type="S"></param> | 896 <param type="S"/> |
835 </params> | 897 </params> |
836 <desc></desc> | 898 <desc></desc> |
837 </op> | 899 </op> |
838 | 900 |
839 <op> | 901 <op> |
840 <num>100</num> | 902 <num>100</num> |
841 <name>set_death_anim</name> | 903 <name>set_death_anim</name> |
842 <params> | 904 <params> |
843 <param type="S" values="258, 768, 769">In fact, any 256n+[0-2] works and is the same; other values make the program crash.</param> | 905 <param type="S" name="anim" unit="script" values="768, 769, 258">In fact, any 256n+[0-2] works and is the same; other values make the program crash.</param> |
844 </params> | 906 </params> |
845 <desc>When the enemy is destroyed, the animation used.</desc> | 907 <desc>When the enemy is destroyed, the animation used.</desc> |
846 </op> | 908 </op> |
847 | 909 |
848 <op> | 910 <op> |
849 <num>101</num> | 911 <num>101</num> |
850 <name></name> | 912 <name>set_boss_mode</name> |
851 <params> | 913 <params> |
852 <param type="S" values="-1, 0"></param> | 914 <param type="S" values="-1, 0">Unknown meaning, seems to be 0 for mid-boss and -1 for real boss.</param> |
853 </params> | 915 </params> |
854 <desc></desc> | 916 <desc>Activates the boss mode, with her life bar and lives number displayed on the top. Doesn't do anything before calling <ref>126</ref>.</desc> |
855 </op> | 917 </op> |
856 | 918 |
857 <op> | 919 <op> |
858 <num>102</num> | 920 <num>102</num> |
859 <name></name> | 921 <name></name> |
860 <params> | 922 <params> |
861 <param type="S"></param> | 923 <param type="S"/> |
862 <param type="f"></param> | 924 <param type="f"/> |
863 <param type="f"></param> | 925 <param type="f"/> |
864 <param type="f"></param> | 926 <param type="f"/> |
865 <param type="f" values="48.0f"></param> | 927 <param type="f" values="48.0f"/> |
866 </params> | 928 </params> |
867 <desc></desc> | 929 <desc>Create the "squares" running around Rumia ???</desc> |
868 </op> | 930 </op> |
869 | 931 |
870 <op> | 932 <op> |
871 <num>103</num> | 933 <num>103</num> |
872 <name>set_enemy</name> | 934 <name>set_enemy_hitbox</name> |
873 <params> | 935 <params> |
874 <param type="f" min="16" max="56">Size of the enemy hitbox.</param> | 936 <param type="f" name="width" unit="pixels" values="16 to 56"/> |
875 <param type="f" min="16" max="56"></param> | 937 <param type="f" name="height" unit="pixels" values="16 to 56"/> |
876 <param type="f" values="32.0f"></param> | 938 <param type="f" name="depth" unit="pixels" values="32.0f">Ignored</param> |
877 </params> | 939 </params> |
878 <desc>The two last parameters are unknown</desc> | 940 <desc></desc> |
879 </op> | 941 </op> |
880 | 942 |
881 <op> | 943 <op> |
882 <num>104</num> | 944 <num>104</num> |
883 <name></name> | 945 <name></name> |
884 <params> | 946 <params> |
885 <param type="S" values="0, 1"></param> | 947 <param type="S" values="0, 1"/> |
886 </params> | 948 </params> |
887 <desc></desc> | 949 <desc>noop?</desc> |
888 </op> | 950 </op> |
889 | 951 |
890 <op> | 952 <op> |
891 <num>105</num> | 953 <num>105</num> |
892 <name></name> | 954 <name>set_vulnerable</name> |
893 <params> | 955 <params> |
894 <param type="S" values="0, 1"></param> | 956 <param type="S" name="x" values="0, 1"/> |
895 </params> | 957 </params> |
896 <desc></desc> | 958 <desc>if x & 1, the enemy can take damage, else it cannot.</desc> |
897 </op> | 959 </op> |
898 | 960 |
899 <op> | 961 <op> |
900 <num>106</num> | 962 <num>106</num> |
901 <name></name> | 963 <name>play_sound</name> |
902 <params> | 964 <params> |
903 <param type="S"></param> | 965 <param type="S"/> |
904 </params> | 966 </params> |
905 <desc></desc> | 967 <desc>Play a sound.</desc> |
906 </op> | 968 </op> |
907 | 969 |
908 <op> | 970 <op> |
909 <num>107</num> | 971 <num>107</num> |
910 <name></name> | 972 <name>set_death_flags</name> |
911 <params> | 973 <params> |
912 <param type="S"></param> | 974 <param type="S"/> |
913 </params> | 975 </params> |
914 <desc></desc> | 976 <desc>Control what to do when life falls to zero. 0 = normal, 1 = don't clean the sprite, 2 = don't die, 4 (unused) = don't die and don't drop bonus. These are flags that can be combined.</desc> |
915 </op> | 977 </op> |
916 | 978 |
917 <op> | 979 <op> |
918 <num>108</num> | 980 <num>108</num> |
919 <name></name> | 981 <name>call_when_killed</name> |
920 <params> | 982 <params> |
921 <param type="S"></param> | 983 <param type="S" name="function" unit="sub"/> |
922 </params> | 984 </params> |
923 <desc></desc> | 985 <desc>Specify the subroutine to call when the enemy is killed.</desc> |
924 </op> | 986 </op> |
925 | 987 |
926 <op> | 988 <op> |
927 <num>109</num> | 989 <num>109</num> |
928 <name></name> | 990 <name></name> |
929 <params> | 991 <params> |
930 <param type="S"></param> | 992 <param type="S"/> |
931 <param type="S" values="0"></param> | 993 <param type="S" values="0"/> |
932 </params> | 994 </params> |
933 <desc></desc> | 995 <desc></desc> |
934 </op> | 996 </op> |
935 | 997 |
936 <op> | 998 <op> |
937 <num>111</num> | 999 <num>111</num> |
938 <name></name> | 1000 <name>set_life</name> |
939 <params> | 1001 <params> |
940 <param type="S"></param> | 1002 <param type="S" name="life"/> |
941 </params> | 1003 </params> |
942 <desc></desc> | 1004 <desc>equivalent to <ref>4</ref>(-10024, life)</desc> |
943 </op> | 1005 </op> |
944 | 1006 |
945 <op> | 1007 <op> |
946 <num>112</num> | 1008 <num>112</num> |
947 <name></name> | 1009 <name></name> |
948 <params> | 1010 <params> |
949 <param type="S" values="0, 99999"></param> | 1011 <param type="S" values="0, 99999"/> |
950 </params> | 1012 </params> |
951 <desc></desc> | 1013 <desc></desc> |
952 </op> | 1014 </op> |
953 | 1015 |
954 <op> | 1016 <op> |
955 <num>113</num> | 1017 <num>113</num> |
956 <name></name> | 1018 <name>set_boss_lower_life_limit</name> |
957 <params> | 1019 <params> |
958 <param type="S" values="-1, 500-3400"></param> | 1020 <param type="S" name="limit" unit="life" values="-1, 500-3400"/> |
959 </params> | 1021 </params> |
960 <desc></desc> | 1022 <desc>When enemy's life gets lower or equal to the limit, the callback set by <ref>114</ref> is called.</desc> |
961 </op> | 1023 </op> |
962 | 1024 |
963 <op> | 1025 <op> |
964 <num>114</num> | 1026 <num>114</num> |
965 <name></name> | 1027 <name>set_boss_callback</name> |
966 <params> | 1028 <params> |
967 <param type="S" values="9-68"></param> | 1029 <param type="S" name="callback" unit="sub" values="9-68"/> |
968 </params> | 1030 </params> |
969 <desc></desc> | 1031 <desc>Specify the sub to call when the enemy's life gets below a certain amount set by a <ref>113</ref>.</desc> |
970 </op> | 1032 </op> |
971 | 1033 |
972 <op> | 1034 <op> |
973 <num>115</num> | 1035 <num>115</num> |
974 <name></name> | 1036 <name>set_timeout</name> |
975 <params> | 1037 <params> |
976 <param type="S"></param> | 1038 <param type="S" name="timeout" unit="frame"/> |
977 </params> | 1039 </params> |
978 <desc></desc> | 1040 <desc>Sets the timeout of the current boss attack.</desc> |
979 </op> | 1041 </op> |
980 | 1042 |
981 <op> | 1043 <op> |
982 <num>116</num> | 1044 <num>116</num> |
983 <name></name> | 1045 <name></name> |
984 <params> | 1046 <params> |
985 <param type="S"></param> | 1047 <param type="S"/> |
986 </params> | 1048 </params> |
987 <desc></desc> | 1049 <desc>Doesn't seem to do anything. Tried to remove it, use 0, 1, 127, 1023, 1024, 4096 as an argument, nothing... ???</desc> |
988 </op> | 1050 </op> |
989 | 1051 |
990 <op> | 1052 <op> |
991 <num>117</num> | 1053 <num>117</num> |
992 <name></name> | 1054 <name></name> |
993 <params> | 1055 <params> |
994 <param type="S"></param> | 1056 <param type="S"/> |
995 </params> | 1057 </params> |
996 <desc></desc> | 1058 <desc></desc> |
997 </op> | 1059 </op> |
998 | 1060 |
999 <op> | 1061 <op> |
1000 <num>118</num> | 1062 <num>118</num> |
1001 <name></name> | 1063 <name></name> |
1002 <params> | 1064 <params> |
1003 <param type="S"></param> | 1065 <param type="S"/> |
1004 <param type="S"></param> | 1066 <param type="S"/> |
1005 <param type="s"></param> | 1067 <param type="s"/> |
1006 <param type="s"></param> | 1068 <param type="s"/> |
1007 </params> | 1069 </params> |
1008 <desc></desc> | 1070 <desc>TODO: "explosion" (dying boss)</desc> |
1009 </op> | 1071 </op> |
1010 | 1072 |
1011 <op> | 1073 <op> |
1012 <num>119</num> | 1074 <num>119</num> |
1013 <name></name> | 1075 <name>drop_bonus</name> |
1014 <params> | 1076 <params> |
1015 <param type="S"></param> | 1077 <param type="S" name="number" values="3, 4, 5, 6, 8, 10, 12, 20"/> |
1016 </params> | 1078 </params> |
1017 <desc></desc> | 1079 <desc>Drop a certain number of bonus at the frame it is called. If the power is not max, drop power items, else drop point items.</desc> |
1018 </op> | 1080 </op> |
1019 | 1081 |
1020 <op> | 1082 <op> |
1021 <num>120</num> | 1083 <num>120</num> |
1022 <name></name> | 1084 <name></name> |
1023 <params> | 1085 <params> |
1024 <param type="S"></param> | 1086 <param type="S"/> |
1025 </params> | 1087 </params> |
1026 <desc></desc> | 1088 <desc></desc> |
1027 </op> | 1089 </op> |
1028 | 1090 |
1029 <op> | 1091 <op> |
1030 <num>121</num> | 1092 <num>121</num> |
1031 <name></name> | 1093 <name></name> |
1032 <params> | 1094 <params> |
1033 <param type="S"></param> | 1095 <param type="S"/> |
1034 <param type="S"></param> | 1096 <param type="S"/> |
1035 </params> | 1097 </params> |
1036 <desc></desc> | 1098 <desc></desc> |
1037 </op> | 1099 </op> |
1038 | 1100 |
1039 <op> | 1101 <op> |
1040 <num>122</num> | 1102 <num>122</num> |
1041 <name></name> | 1103 <name></name> |
1042 <params> | 1104 <params> |
1043 <param type="S"></param> | 1105 <param type="S"/> |
1044 </params> | 1106 </params> |
1045 <desc></desc> | 1107 <desc></desc> |
1046 </op> | 1108 </op> |
1047 | 1109 |
1048 <op> | 1110 <op> |
1049 <num>123</num> | 1111 <num>123</num> |
1050 <name></name> | 1112 <name></name> |
1051 <params> | 1113 <params> |
1052 <param type="S"></param> | 1114 <param type="S"/> |
1053 </params> | 1115 </params> |
1054 <desc></desc> | 1116 <desc></desc> |
1055 </op> | 1117 </op> |
1056 | 1118 |
1057 <op> | 1119 <op> |
1058 <num>124</num> | 1120 <num>124</num> |
1059 <name></name> | 1121 <name></name> |
1060 <params> | 1122 <params> |
1061 <param type="S"></param> | 1123 <param type="S"/> |
1062 </params> | 1124 </params> |
1063 <desc></desc> | 1125 <desc></desc> |
1064 </op> | 1126 </op> |
1065 | 1127 |
1066 <op> | 1128 <op> |
1069 <desc></desc> | 1131 <desc></desc> |
1070 </op> | 1132 </op> |
1071 | 1133 |
1072 <op> | 1134 <op> |
1073 <num>126</num> | 1135 <num>126</num> |
1074 <name></name> | 1136 <name>set_boss_lives</name> |
1075 <params> | 1137 <params> |
1076 <param type="S"></param> | 1138 <param type="S" name="lives">Can even be negative. :D</param> |
1077 </params> | 1139 </params> |
1078 <desc></desc> | 1140 <desc>Sets the remaining lives of a boss. Should be called at the start of each round.</desc> |
1079 </op> | 1141 </op> |
1080 | 1142 |
1081 <op> | 1143 <op> |
1082 <num>127</num> | 1144 <num>127</num> |
1083 <name></name> | 1145 <name></name> |
1084 <params> | 1146 <params> |
1085 <param type="S"></param> | 1147 <param type="S"/> |
1086 </params> | 1148 </params> |
1087 <desc></desc> | 1149 <desc></desc> |
1088 </op> | 1150 </op> |
1089 | 1151 |
1090 <op> | 1152 <op> |
1091 <num>128</num> | 1153 <num>128</num> |
1092 <name></name> | 1154 <name></name> |
1093 <params> | 1155 <params> |
1094 <param type="S"></param> | 1156 <param type="S"/> |
1095 </params> | 1157 </params> |
1096 <desc></desc> | 1158 <desc></desc> |
1097 </op> | 1159 </op> |
1098 | 1160 |
1099 <op> | 1161 <op> |
1100 <num>129</num> | 1162 <num>129</num> |
1101 <name></name> | 1163 <name></name> |
1102 <params> | 1164 <params> |
1103 <param type="S"></param> | 1165 <param type="S"/> |
1104 <param type="S"></param> | 1166 <param type="S"/> |
1105 </params> | 1167 </params> |
1106 <desc></desc> | 1168 <desc></desc> |
1107 </op> | 1169 </op> |
1108 | 1170 |
1109 <op> | 1171 <op> |
1110 <num>130</num> | 1172 <num>130</num> |
1111 <name></name> | 1173 <name></name> |
1112 <params> | 1174 <params> |
1113 <param type="S"></param> | 1175 <param type="S"/> |
1114 </params> | 1176 </params> |
1115 <desc></desc> | 1177 <desc></desc> |
1116 </op> | 1178 </op> |
1117 | 1179 |
1118 <op> | 1180 <op> |
1119 <num>131</num> | 1181 <num>131</num> |
1120 <name></name> | 1182 <name></name> |
1121 <params> | 1183 <params> |
1122 <param type="f"></param> | 1184 <param type="f"/> |
1123 <param type="f"></param> | 1185 <param type="f"/> |
1124 <param type="S"></param> | 1186 <param type="S"/> |
1125 <param type="S"></param> | 1187 <param type="S"/> |
1126 <param type="S"></param> | 1188 <param type="S"/> |
1127 <param type="S"></param> | 1189 <param type="S"/> |
1128 </params> | 1190 </params> |
1129 <desc></desc> | 1191 <desc></desc> |
1130 </op> | 1192 </op> |
1131 | 1193 |
1132 <op> | 1194 <op> |
1133 <num>132</num> | 1195 <num>132</num> |
1134 <name></name> | 1196 <name></name> |
1135 <params> | 1197 <params> |
1136 <param type="S"></param> | 1198 <param type="S"/> |
1137 </params> | 1199 </params> |
1138 <desc></desc> | 1200 <desc></desc> |
1139 </op> | 1201 </op> |
1140 | 1202 |
1141 <op> | 1203 <op> |
1152 | 1214 |
1153 <op> | 1215 <op> |
1154 <num>135</num> | 1216 <num>135</num> |
1155 <name></name> | 1217 <name></name> |
1156 <params> | 1218 <params> |
1157 <param type="S"></param> | 1219 <param type="S"/> |
1158 </params> | 1220 </params> |
1159 <desc></desc> | 1221 <desc></desc> |
1160 </op> | 1222 </op> |
1161 </opcodes> | 1223 </opcodes> |