comparison 10/ecl.xml @ 0:f82309a9465e

Initial commit.
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Thu, 28 Jul 2011 22:57:08 +0200
parents
children b3644dff344c
comparison
equal deleted inserted replaced
-1:000000000000 0:f82309a9465e
1 <?xml version="1.0" encoding="utf-8"?>
2 <?xml-stylesheet type="text/xsl" href="../html.xsl"?>
3 <?xml-stylesheet type="text/css" href="../style.css"?>
4 <!DOCTYPE html>
5 <opcodes xmlns="urn:opcodes:description">
6 <title>ECL opcodes</title>
7
8 <op>
9 <num>0</num>
10 </op>
11
12 <op>
13 <num>1</num>
14 <name>return</name>
15 <desc>A <i>return</i> instruction.</desc>
16 </op>
17
18 <op>
19 <num>10</num>
20 <name>return</name>
21 <desc>A <i>return</i> instruction.</desc>
22 </op>
23
24 <op>
25 <num>11</num>
26 <params>
27 <param type="z">Subroutine name.</param>
28 <param type="...">Optional parameters.</param>
29 </params>
30 <desc>
31 <p>Calls a subroutine and passes it a number of parameters.</p>
32 <p>The parameters have a special representation in the data files: a type indicator, and then the data value. The data value can be either an integer or a float. The type indicator can indicate three things,</p>
33 <ol>
34 <li>That the data is of float type. (0x6666)</li>
35 <li>That the data is of integer type, but is used as a float type. (0x6669)</li>
36 <li>That the data is of integer type. (0x6969)</li>
37 </ol>
38 <p>In the current syntax this is represented by prefixing the data with either <strong>(int)</strong> or <strong>(float)</strong>.</p>
39 <p>The parameters seem to end up on the stack of the called subroutine.</p>
40 </desc>
41 </op>
42
43 <op>
44 <num>12</num>
45 <params>
46 <param type="S">Relative jump offset.</param>
47 <param type="time">New time value.</param>
48 </params>
49 <desc>
50 <p>Jumps to another instruction. The offset is calculated by subtracting the location of the current instruction from the location of the target instruction. Labels can be used to calculate this automatically.</p>
51 <p>The current time is also changed.</p>
52 </desc>
53 </op>
54
55 <op>
56 <num>13</num>
57 <params>
58 <param type="S">Relative jump offset.</param>
59 <param type="time">New time value.</param>
60 </params>
61 <desc>Jumps when the top of the arithmetic stack is equal to 0. Refer to <ref>12</ref>.</desc>
62 </op>
63
64 <op>
65 <num>14</num>
66 <params>
67 <param type="S">Relative jump offset.</param>
68 <param type="time">New time value.</param>
69 </params>
70 <desc>
71 <p>Jumps when the top of the arithmetic stack is not equal to 0.</p>
72 <p>Refer to <ref>12</ref>.</p>
73 </desc>
74 </op>
75
76 <op>
77 <num>15</num>
78 <params>
79 <param type="z"></param>
80 <param type="..."></param>
81 </params>
82 <desc>Refer to <ref>11</ref>.</desc>
83 </op>
84
85 <op>
86 <num>16</num>
87 <params>
88 <param type="z">Subroutine name.</param>
89 <param type="S">Index.</param>
90 </params>
91 <desc>Runs a subroutine in the background and assigns it the given slot.</desc>
92 </op>
93
94 <op>
95 <num>17</num>
96 <params>
97 <param type="S">Index.</param>
98 </params>
99 <desc>Terminates a subroutine launched with <ref>16</ref>.</desc>
100 </op>
101
102 <op>
103 <num>21</num>
104 </op>
105
106 <op>
107 <num>40</num>
108 <params>
109 <param type="S">Stack size.</param>
110 </params>
111 <desc>Sets up the stack which is used for local variables and passed parameters. The stack size should be a multiple of four.</desc>
112 </op>
113
114 <op>
115 <num>42</num>
116 <params>
117 <param type="S">Value.</param>
118 </params>
119 <desc>Pushes a value onto the arithmetic stack.</desc>
120 </op>
121
122 <op>
123 <num>43</num>
124 <params>
125 <param type="S">Stack offset.</param>
126 </params>
127 <desc>Stores the value at the top of the arithmetic stack at the given stack offset.</desc>
128 </op>
129
130 <op>
131 <num>44</num>
132 <params>
133 <param type="f"></param>
134 </params>
135 <desc>Pushes a value onto the arithmetic stack. Might be intended for floats.</desc>
136 </op>
137
138 <op>
139 <num>45</num>
140 <params>
141 <param type="f"></param>
142 </params>
143 <desc>Stores the value at the top of the arithmetic stack at the given stack offset. Might be intended for floats.</desc>
144 </op>
145
146 <op>
147 <num>50</num>
148 <desc>Addition operator.</desc>
149 </op>
150
151 <op>
152 <num>51</num>
153 <desc>Addition operator. Might be intended for floats.</desc>
154 </op>
155
156 <op>
157 <num>52</num>
158 <desc>Subtraction operator.</desc>
159 </op>
160
161 <op>
162 <num>53</num>
163 <desc>Subtraction operator. Might be intended for floats.</desc>
164 </op>
165
166 <op>
167 <num>54</num>
168 <desc>Multiplication operator.</desc>
169 </op>
170
171 <op>
172 <num>55</num>
173 <desc>Multiplication operator. Might be intended for floats.</desc>
174 </op>
175
176 <op>
177 <num>56</num>
178 <desc>Division operator.</desc>
179 </op>
180
181 <op>
182 <num>57</num>
183 <desc>Division operator. Might be intended for floats.</desc>
184 </op>
185
186 <op>
187 <num>58</num>
188 <desc>Modulo operator.</desc>
189 </op>
190
191 <op>
192 <num>59</num>
193 <desc>Equality operator.</desc>
194 </op>
195
196 <op>
197 <num>61</num>
198 <desc>Inequality operator.</desc>
199 </op>
200
201 <op>
202 <num>63</num>
203 <desc>Less-than operator.</desc>
204 </op>
205
206 <op>
207 <num>64</num>
208 <desc>Less-than operator. Might be intended for floats.</desc>
209 </op>
210
211 <op>
212 <num>65</num>
213 <desc>Less-than-or-equal-to operator.</desc>
214 </op>
215
216 <op>
217 <num>67</num>
218 <desc>Greater-than operator.</desc>
219 </op>
220
221 <op>
222 <num>68</num>
223 <desc>Greater-than operator. Might be intended for floats.</desc>
224 </op>
225
226 <op>
227 <num>69</num>
228 <desc>Greater-than-or-equal-to operator.</desc>
229 </op>
230
231 <op>
232 <num>70</num>
233 <desc>Greater-than-or-equal-to operator. Might be intended for floats.</desc>
234 </op>
235
236 <op>
237 <num>71</num>
238 <desc>Boolean not operator.</desc>
239 </op>
240
241 <op>
242 <num>73</num>
243 <desc>Boolean or operator.</desc>
244 </op>
245
246 <op>
247 <num>74</num>
248 <desc>Boolean and operator.</desc>
249 </op>
250
251 <op>
252 <num>78</num>
253 <params>
254 <param type="S">Stack offset.</param>
255 </params>
256 <desc>Decrements the value passed and pushes its old value onto the arithmetic stack.</desc>
257 </op>
258
259 <op>
260 <num>79</num>
261 <p><i>Takes no parameters.</i> </p>
262 </op>
263
264 <op>
265 <num>81</num>
266 <params>
267 <param type="f"></param>
268 <param type="f"></param>
269 <param type="f"></param>
270 <param type="f"></param>
271 </params>
272
273 </op>
274
275 <op>
276 <num>82</num>
277 <params>
278 <param type="f"></param>
279 </params>
280
281 </op>
282
283 <op>
284 <num>83</num>
285 <params>
286 <param type="time">Time to wait.</param>
287 </params>
288 <desc>Wait the the specified time before continuing.</desc>
289 </op>
290
291 <op>
292 <num>85</num>
293 </op>
294
295 <op>
296 <num>256</num>
297 <params>
298 <param type="z">Subroutine name.</param>
299 <param type="coordinate">Starting x position.</param>
300 <param type="coordinate">Starting y position.</param>
301 <param type="S">Hit points.</param>
302 <param type="S">Score reward.</param>
303 <param type="S">Item dropped when destroyed.</param>
304 </params>
305 <desc>
306 <p>Create an "object", i.e. an enemy or something that can move around. The subroutine is called to set up and control the object.</p>
307 <p>Items dropped (0 for nothing):</p>
308 <ol>
309 <li>Small powerup.</li>
310 <li>Point item.</li>
311 <li>Large green star.</li>
312 <li>Large powerup.</li>
313 <li>Full-score point item.</li>
314 <li>Full-power powerup.</li>
315 <li>1-up.</li>
316 <li>An autocollecting yellow orb.</li>
317 <li>Small green star.</li>
318 </ol>
319 </desc>
320 </op>
321
322 <op>
323 <num>257</num>
324 <params>
325 <param type="z"></param>
326 <param type="f"></param>
327 <param type="f"></param>
328 <param type="S"></param>
329 <param type="S"></param>
330 <param type="S"></param>
331 </params>
332 <desc>No differences from <ref>256</ref> have been observed.</desc>
333 </op>
334
335 <op>
336 <num>258</num>
337 <params>
338 <param type="S">ANM include index.</param>
339 </params>
340 <desc>Selects which ANM file to use for further animation operations. 1 refers to the first file listed, and 2 to the second. 0 appears to have some special meaning.</desc>
341 </op>
342
343 <op>
344 <num>259</num>
345 <params>
346 <param type="S">?</param>
347 <param type="S">Animation index.</param>
348 </params>
349 <desc>
350 <p>Selects an animation for an object. The animation indices are listed in the ANM files, and contain their own animation script.</p>
351 <p>The first parameter might allow for attaching several sprites to an object.</p>
352 </desc>
353 </op>
354
355 <op>
356 <num>260</num>
357 <params>
358 <param type="z"></param>
359 <param type="f"></param>
360 <param type="f"></param>
361 <param type="S"></param>
362 <param type="S"></param>
363 <param type="S"></param>
364 </params>
365 <desc>No differences from <ref>256</ref> have been observed.</desc>
366 </op>
367
368 <op>
369 <num>261</num>
370 <params>
371 <param type="z"></param>
372 <param type="f"></param>
373 <param type="f"></param>
374 <param type="S"></param>
375 <param type="S"></param>
376 <param type="S"></param>
377 </params>
378 <desc>No differences from <ref>256</ref> have been observed.</desc>
379 </op>
380
381 <op>
382 <num>262</num>
383 <params>
384 <param type="S"></param>
385 <param type="S"></param>
386 </params>
387 <desc>Similar to <ref>257</ref>.</desc>
388 </op>
389
390 <op>
391 <num>263</num>
392 <params>
393 <param type="S"></param>
394 <param type="S"></param>
395 </params>
396
397 </op>
398
399 <op>
400 <num>264</num>
401 <params>
402 <param type="S"></param>
403 <param type="S"></param>
404 </params>
405
406 </op>
407
408 <op>
409 <num>265</num>
410 <params>
411 <param type="z"></param>
412 <param type="f"></param>
413 <param type="f"></param>
414 <param type="S"></param>
415 <param type="S"></param>
416 <param type="S"></param>
417 </params>
418 <desc>No differences from <ref>256</ref> have been observed.</desc>
419 </op>
420
421 <op>
422 <num>266</num>
423 <params>
424 <param type="z"></param>
425 <param type="f"></param>
426 <param type="f"></param>
427 <param type="S"></param>
428 <param type="S"></param>
429 <param type="S"></param>
430 </params>
431 <desc>No differences from <ref>256</ref> have been observed.</desc>
432 </op>
433
434 <op>
435 <num>267</num>
436 <params>
437 <param type="z"></param>
438 <param type="f"></param>
439 <param type="f"></param>
440 <param type="S"></param>
441 <param type="S"></param>
442 <param type="S"></param>
443 </params>
444 <desc>No differences from <ref>256</ref> have been observed.</desc>
445 </op>
446
447 <op>
448 <num>268</num>
449 <params>
450 <param type="z"></param>
451 <param type="f"></param>
452 <param type="f"></param>
453 <param type="S"></param>
454 <param type="S"></param>
455 <param type="S"></param>
456 </params>
457 <desc>No differences from <ref>256</ref> have been observed.</desc>
458 </op>
459
460 <op>
461 <num>269</num>
462 <params>
463 <param type="S"></param>
464 </params>
465 <desc>Related to animation.</desc>
466 </op>
467
468 <op>
469 <num>270</num>
470 <params>
471 <param type="z"></param>
472 <param type="f"></param>
473 <param type="f"></param>
474 <param type="f"></param>
475 <param type="S"></param>
476 <param type="S"></param>
477 <param type="S"></param>
478 </params>
479 <desc>Similar to <ref>256</ref>. Adds a third float parameter.</desc>
480 </op>
481
482 <op>
483 <num>272</num>
484 <params>
485 <param type="S"></param>
486 <param type="S"></param>
487 </params>
488
489 </op>
490
491 <op>
492 <num>273</num>
493 <params>
494 <param type="S"></param>
495 <param type="S"></param>
496 <param type="f"></param>
497 </params>
498
499 </op>
500
501 <op>
502 <num>280</num>
503 <params>
504 <param type="coordinate">Target x position.</param>
505 <param type="coordinate">Target y position.</param>
506 </params>
507 <desc>Instantly moves an object to the specified position.</desc>
508 </op>
509
510 <op>
511 <num>281</num>
512 <params>
513 <param type="time">Move duration.</param>
514 <param type="S">Movement mode.</param>
515 <param type="coordinate">Target x position.</param>
516 <param type="coordinate">Target y position.</param>
517 </params>
518 <desc>
519 <p>Moves the object to the specified position in the specified time.</p>
520 <p>The movement mode controls how the object moves to the target position, but the time it takes is the same. 0 is normal movement, 1 accelerates and stops suddenly, 4 moves in an interpolated manner.</p>
521 </desc>
522 </op>
523
524 <op>
525 <num>282</num>
526 <params>
527 <param type="f"></param>
528 <param type="f"></param>
529 </params>
530
531 </op>
532
533 <op>
534 <num>283</num>
535 <params>
536 <param type="S"></param>
537 <param type="S"></param>
538 <param type="f"></param>
539 <param type="S"></param>
540 </params>
541
542 </op>
543
544 <op>
545 <num>284</num>
546 <params>
547 <param type="angle">Direction.</param>
548 <param type="f">Speed.</param>
549 </params>
550 <desc>Sets movement direction and speed for an object. The speed might be pixels per frame.</desc>
551 </op>
552
553 <op>
554 <num>285</num>
555 <params>
556 <param type="S"></param>
557 <param type="S"></param>
558 <param type="f"></param>
559 <param type="f"></param>
560 </params>
561 <desc>Similar to <ref>285</ref>. Maybe it is used to change from one movement to another.</desc>
562 </op>
563
564 <op>
565 <num>286</num>
566 <params>
567 <param type="f"></param>
568 <param type="f"></param>
569 </params>
570
571 </op>
572
573 <op>
574 <num>287</num>
575 <params>
576 <param type="S"></param>
577 <param type="S"></param>
578 <param type="f"></param>
579 <param type="f"></param>
580 </params>
581
582 </op>
583
584 <op>
585 <num>288</num>
586 <params>
587 <param type="f"></param>
588 <param type="f"></param>
589 <param type="f"></param>
590 <param type="f"></param>
591 </params>
592
593 </op>
594
595 <op>
596 <num>290</num>
597 <params>
598 <param type="f"></param>
599 <param type="f"></param>
600 <param type="f"></param>
601 <param type="f"></param>
602 </params>
603
604 </op>
605
606 <op>
607 <num>291</num>
608 <params>
609 <param type="S"></param>
610 <param type="S"></param>
611 <param type="f"></param>
612 <param type="f"></param>
613 <param type="f"></param>
614 <param type="S"></param>
615 </params>
616
617 </op>
618
619 <op>
620 <num>292</num>
621 <params>
622 <param type="S"></param>
623 <param type="S"></param>
624 <param type="f"></param>
625 </params>
626
627 </op>
628
629 <op>
630 <num>294</num>
631 </op>
632
633 <op>
634 <num>296</num>
635 <params>
636 <param type="S"></param>
637 <param type="S"></param>
638 <param type="f"></param>
639 </params>
640
641 </op>
642
643 <op>
644 <num>298</num>
645 <params>
646 <param type="f"></param>
647 <param type="f"></param>
648 </params>
649
650 </op>
651
652 <op>
653 <num>299</num>
654 <params>
655 <param type="f"></param>
656 <param type="f"></param>
657 </params>
658
659 </op>
660
661 <op>
662 <num>320</num>
663 <params>
664 <param type="f">Hitbox width.</param>
665 <param type="f">Hidbox height.</param>
666 </params>
667 <desc>Sets up a hitbox for an object. It is not disabled by setting both parameters to 0.0f.</desc>
668 </op>
669
670 <op>
671 <num>321</num>
672 <params>
673 <param type="f">Killbox width.</param>
674 <param type="f">Killbox height.</param>
675 </params>
676 <desc>Sets up a killbox (the area which kills the player) for an object. It can be disabled by setting both parameters to 0.0f.</desc>
677 </op>
678
679 <op>
680 <num>322</num>
681 <params>
682 <param type="S"></param>
683 </params>
684 <desc>Appears to set flags for objects, such as if it has a hitbox or not.</desc>
685 </op>
686
687 <op>
688 <num>323</num>
689 <params>
690 <param type="S"></param>
691 </params>
692
693 </op>
694
695 <op>
696 <num>324</num>
697 <params>
698 <param type="S"></param>
699 <param type="f"></param>
700 <param type="f"></param>
701 <param type="f"></param>
702 </params>
703
704 </op>
705
706 <op>
707 <num>325</num>
708 <desc>Related to item drops.</desc>
709 </op>
710
711 <op>
712 <num>326</num>
713 <desc>Clears the list of items to be dropped.</desc>
714 </op>
715
716 <op>
717 <num>327</num>
718 <params>
719 <param type="S">Item.</param>
720 <param type="S">Count.</param>
721 </params>
722 <desc>Sets up which items (<ref>256</ref>) are dropped when this object is defeated (in addition to the one specified by the creation instruction). Can be called several times for more items.</desc>
723 </op>
724
725 <op>
726 <num>328</num>
727 <params>
728 <param type="f">Width.</param>
729 <param type="f">Height.</param>
730 </params>
731 <desc>Sets up an area in which items are dropped.</desc>
732 </op>
733
734 <op>
735 <num>329</num>
736 <desc>Drops all loaded items.</desc>
737 </op>
738
739 <op>
740 <num>330</num>
741 <params>
742 <param type="S"></param>
743 </params>
744
745 </op>
746
747 <op>
748 <num>331</num>
749 <params>
750 <param type="S">Hit points.</param>
751 </params>
752 <desc>Changes the hit points of an object.</desc>
753 </op>
754
755 <op>
756 <num>332</num>
757 <params>
758 <param type="S">Flag.</param>
759 </params>
760 <desc>Enables or disables &quot;boss mode&quot; (hit point bar, and name display). Enabled with 0 and disabled with -1.</desc>
761 </op>
762
763 <op>
764 <num>333</num>
765 </op>
766
767 <op>
768 <num>334</num>
769 <params>
770 <param type="S"></param>
771 <param type="S"></param>
772 <param type="time">Time.</param>
773 <param type="z">Subroutine name.</param>
774 </params>
775 <desc>Sets up a condition for a boss. For example the specified subroutine can be called after a period of time has passed. It can also be used for hit points.</desc>
776 </op>
777
778 <op>
779 <num>335</num>
780 <params>
781 <param type="time">Invulnerability duration.</param>
782 </params>
783 <desc>Makes the object invulnerable for the specified period of time.</desc>
784 </op>
785
786 <op>
787 <num>336</num>
788 <params>
789 <param type="S"></param>
790 </params>
791
792 </op>
793
794 <op>
795 <num>337</num>
796 <params>
797 <param type="S"></param>
798 <param type="S"></param>
799 <param type="S"></param>
800 </params>
801
802 </op>
803
804 <op>
805 <num>338</num>
806 <params>
807 <param type="S">Dialogue index.</param>
808 </params>
809 <desc>Initiates dialogue. The first dialogue has index 0.</desc>
810 </op>
811
812 <op>
813 <num>339</num>
814 </op>
815
816 <op>
817 <num>340</num>
818 </op>
819
820 <op>
821 <num>341</num>
822 <params>
823 <param type="S"></param>
824 <param type="z"></param>
825 </params>
826
827 </op>
828
829 <op>
830 <num>342</num>
831 <params>
832 <param type="S">Spell card number.</param>
833 <param type="time">Spell card bonus timer.</param>
834 <param type="S"></param>
835 <param type="cstring">Spell card name.</param>
836 </params>
837 <desc>Set up a spell card. One is added to the spell card number to get the number displayed in-game.</desc>
838 </op>
839
840 <op>
841 <num>343</num>
842 </op>
843
844 <op>
845 <num>344</num>
846 <params>
847 <param type="S"></param>
848 </params>
849
850 </op>
851
852 <op>
853 <num>345</num>
854 </op>
855
856 <op>
857 <num>346</num>
858 <params>
859 <param type="f"></param>
860 </params>
861
862 </op>
863
864 <op>
865 <num>347</num>
866 <params>
867 <param type="S"></param>
868 <param type="f"></param>
869 <param type="S"></param>
870 </params>
871
872 </op>
873
874 <op>
875 <num>355</num>
876 <params>
877 <param type="S"></param>
878 <param type="S"></param>
879 <param type="S"></param>
880 <param type="S"></param>
881 <param type="S"></param>
882 </params>
883
884 </op>
885
886 <op>
887 <num>356</num>
888 <params>
889 <param type="f"></param>
890 <param type="f"></param>
891 <param type="f"></param>
892 <param type="f"></param>
893 <param type="f"></param>
894 </params>
895
896 </op>
897
898 <op>
899 <num>357</num>
900 <params>
901 <param type="S"></param>
902 <param type="S"></param>
903 <param type="S"></param>
904 <param type="cstring"></param>
905 </params>
906 <desc>No differences from <ref>342</ref> have been observed.</desc>
907 </op>
908
909 <op>
910 <num>359</num>
911 <params>
912 <param type="S"></param>
913 <param type="S"></param>
914 <param type="S"></param>
915 <param type="cstring"></param>
916 </params>
917 <desc>No differences from <ref>342</ref> have been observed.</desc>
918 </op>
919
920 <op>
921 <num>360</num>
922 <params>
923 <param type="S">Number of spell card stars.</param>
924 </params>
925 <desc>Sets the number of spell cards remaining, as indicated by a series of stars. Requires boss mode (<ref>332</ref>) for the stars to show up.</desc>
926 </op>
927
928 <op>
929 <num>361</num>
930 <params>
931 <param type="S"></param>
932 </params>
933
934 </op>
935
936 <op>
937 <num>362</num>
938 </op>
939
940 <op>
941 <num>363</num>
942 </op>
943
944 <op>
945 <num>364</num>
946 <params>
947 <param type="S"></param>
948 </params>
949
950 </op>
951
952 <op>
953 <num>365</num>
954 </op>
955
956 <op>
957 <num>366</num>
958 <params>
959 <param type="S">Flag.</param>
960 <param type="S">Animation index.</param>
961 </params>
962 <desc>Enables or disables bomb-invulnerability for an object. Set the flag to 1 to enable or 0 to disable it. The object&#x27;s animation is changed as specified for the duration of the bomb.</desc>
963 </op>
964
965 <op>
966 <num>367</num>
967 <params>
968 <param type="f"></param>
969 </params>
970
971 </op>
972
973 <op>
974 <num>368</num>
975 <params>
976 <param type="S"></param>
977 <param type="S"></param>
978 <param type="S"></param>
979 <param type="S"></param>
980 </params>
981
982 </op>
983
984 <op>
985 <num>400</num>
986 <params>
987 <param type="S">Bullet type.</param>
988 </params>
989 <desc>Might initialize a new bullet type. Eight different bullet types have been observed.</desc>
990 </op>
991
992 <op>
993 <num>401</num>
994 <params>
995 <param type="S">Bullet type.</param>
996 </params>
997 <desc>Fires a bullet of the specified type.</desc>
998 </op>
999
1000 <op>
1001 <num>402</num>
1002 <params>
1003 <param type="S">Bullet type.</param>
1004 <param type="S"></param>
1005 <param type="S"></param>
1006 </params>
1007 <desc>Sets the bullet type appearance.</desc>
1008 </op>
1009
1010 <op>
1011 <num>403</num>
1012 <params>
1013 <param type="S">Bullet type.</param>
1014 <param type="f">x offset.</param>
1015 <param type="f">y offset.</param>
1016 </params>
1017 <desc>Makes bullets spawn in a position offset from the object which fires them.</desc>
1018 </op>
1019
1020 <op>
1021 <num>404</num>
1022 <params>
1023 <param type="S"></param>
1024 <param type="f"></param>
1025 <param type="f"></param>
1026 </params>
1027
1028 </op>
1029
1030 <op>
1031 <num>405</num>
1032 <params>
1033 <param type="S"></param>
1034 <param type="f"></param>
1035 <param type="f"></param>
1036 </params>
1037
1038 </op>
1039
1040 <op>
1041 <num>406</num>
1042 <params>
1043 <param type="S">Bullet type.</param>
1044 <param type="S">Bullet count.</param>
1045 <param type="S">Extra bullets.</param>
1046 </params>
1047 <desc>The bullet count parameter can be used to fire walls or circles of bullets The extra parameter fires additional bullets, each at half the speed of the previous.</desc>
1048 </op>
1049
1050 <op>
1051 <num>407</num>
1052 <params>
1053 <param type="S"></param>
1054 <param type="S"></param>
1055 </params>
1056
1057 </op>
1058
1059 <op>
1060 <num>409</num>
1061 <params>
1062 <param type="S">Bullet type.</param>
1063 <param type="S"></param>
1064 <param type="S"></param>
1065 <param type="S"></param>
1066 <param type="S"></param>
1067 <param type="S"></param>
1068 <param type="f"></param>
1069 <param type="f"></param>
1070 </params>
1071 <desc>Might set up random bullet attributes.</desc>
1072 </op>
1073
1074 <op>
1075 <num>410</num>
1076 </op>
1077
1078 <op>
1079 <num>411</num>
1080 <params>
1081 <param type="S"></param>
1082 <param type="S"></param>
1083 </params>
1084
1085 </op>
1086
1087 <op>
1088 <num>412</num>
1089 <params>
1090 <param type="S"></param>
1091 <param type="S"></param>
1092 <param type="f"></param>
1093 <param type="f"></param>
1094 <param type="f"></param>
1095 <param type="f"></param>
1096 <param type="S"></param>
1097 <param type="f"></param>
1098 </params>
1099
1100 </op>
1101
1102 <op>
1103 <num>413</num>
1104 <params>
1105 <param type="S"></param>
1106 <param type="S"></param>
1107 <param type="S"></param>
1108 <param type="f"></param>
1109 <param type="f"></param>
1110 <param type="f"></param>
1111 <param type="S"></param>
1112 <param type="S"></param>
1113 <param type="S"></param>
1114 <param type="S"></param>
1115 <param type="f"></param>
1116 <param type="S"></param>
1117 </params>
1118
1119 </op>
1120
1121 <op>
1122 <num>420</num>
1123 <params>
1124 <param type="f"></param>
1125 </params>
1126
1127 </op>
1128
1129 <op>
1130 <num>421</num>
1131 <params>
1132 <param type="f"></param>
1133 </params>
1134
1135 </op>
1136
1137 <op>
1138 <num>425</num>
1139 <params>
1140 <param type="S"></param>
1141 <param type="S"></param>
1142 <param type="S"></param>
1143 <param type="S"></param>
1144 <param type="S"></param>
1145 <param type="S"></param>
1146 <param type="S"></param>
1147 </params>
1148
1149 </op>
1150
1151 <op>
1152 <num>428</num>
1153 <params>
1154 <param type="S"></param>
1155 <param type="S"></param>
1156 <param type="f"></param>
1157 <param type="f"></param>
1158 <param type="S"></param>
1159 <param type="f"></param>
1160 <param type="S"></param>
1161 <param type="f"></param>
1162 </params>
1163
1164 </op>
1165
1166 <op>
1167 <num>431</num>
1168 <params>
1169 <param type="S"></param>
1170 <param type="S"></param>
1171 <param type="f"></param>
1172 <param type="f"></param>
1173 <param type="S"></param>
1174 <param type="f"></param>
1175 <param type="f"></param>
1176 <param type="f"></param>
1177 </params>
1178
1179 </op>
1180
1181 <op>
1182 <num>433</num>
1183 <params>
1184 <param type="S"></param>
1185 <param type="S"></param>
1186 <param type="f"></param>
1187 <param type="f"></param>
1188 <param type="S"></param>
1189 <param type="f"></param>
1190 <param type="f"></param>
1191 <param type="f"></param>
1192 </params>
1193
1194 </op>
1195
1196 <op>
1197 <num>435</num>
1198 <params>
1199 <param type="S"></param>
1200 <param type="f"></param>
1201 <param type="f"></param>
1202 <param type="f"></param>
1203 <param type="f"></param>
1204 <param type="f"></param>
1205 <param type="f"></param>
1206 <param type="f"></param>
1207 <param type="f"></param>
1208 </params>
1209
1210 </op>
1211
1212 <op>
1213 <num>436</num>
1214 <params>
1215 <param type="S"></param>
1216 <param type="S"></param>
1217 <param type="S"></param>
1218 <param type="S"></param>
1219 <param type="S"></param>
1220 <param type="S"></param>
1221 <param type="S"></param>
1222 <param type="S"></param>
1223 <param type="S"></param>
1224 </params>
1225
1226 </op>
1227 </opcodes>