1 /* ScummVM - Graphic Adventure Engine
2  *
3  * ScummVM is the legal property of its developers, whose names
4  * are too numerous to list here. Please refer to the COPYRIGHT
5  * file distributed with this source distribution.
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version 2
10  * of the License, or (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20  *
21  */
22 
23 #ifndef AGOS_DEBUG_H
24 #define AGOS_DEBUG_H
25 
26 #include "common/scummsys.h"
27 
28 namespace AGOS {
29 
30 static const char *const elvira1_opcodeNameTable[300] = {
31 	/* 0 */
32 	"IJ|AT",
33 	"IJ|NOT_AT",
34 	"IJ|PRESENT",
35 	"IJ|NOT_PRESENT",
36 	/* 4 */
37 	"IJ|WORN",
38 	"IJ|NOT_WORN",
39 	"IJ|CARRIED",
40 	"IJ|NOT_CARRIED",
41 	/* 8 */
42 	"IIJ|IS_AT",
43 	"IIJ|IS_NOT_AT",
44 	"IIJ|IS_SIBLING",
45 	"IIJ|IS_NOT_SIBLING",
46 	/* 12 */
47 	"WJ|IS_ZERO",
48 	"WJ|ISNOT_ZERO",
49 	"WWJ|IS_EQ",
50 	"WWJ|IS_NEQ",
51 	/* 16 */
52 	"WWJ|IS_LE",
53 	"WWJ|IS_GE",
54 	"WWJ|IS_EQF",
55 	"WWJ|IS_NEQF",
56 	/* 20 */
57 	"WWJ|IS_LEF",
58 	"WWJ|IS_GEF",
59 	"IIJ|IS_IN",
60 	"IIJ|IS_NOT_IN",
61 	/* 24 */
62 	NULL,
63 	NULL,
64 	NULL,
65 	NULL,
66 	/* 28 */
67 	"WJ|PREP",
68 	"WJ|CHANCE",
69 	"IJ|IS_PLAYER",
70 	NULL,
71 	/* 32 */
72 	"IJ|IS_ROOM",
73 	"IJ|IS_OBJECT",
74 	"IWJ|ITEM_STATE_IS",
75 	NULL,
76 	/* 36 */
77 	"IWJ|OBJECT_HAS_FLAG",
78 	"IIJ|CAN_PUT",
79 	NULL,
80 	NULL,
81 	/* 40 */
82 	NULL,
83 	NULL,
84 	NULL,
85 	"IW|GET",
86 	/* 44 */
87 	"I|DROP",
88 	NULL,
89 	NULL,
90 	"I|CREATE",
91 	/* 48 */
92 	"I|SET_NO_PARENT",
93 	NULL,
94 	NULL,
95 	"II|SET_PARENT",
96 	/* 52 */
97 	NULL,
98 	NULL,
99 	"IWW|COPY_OF",
100 	"WIW|COPY_FO",
101 	/* 56 */
102 	"WW|MOVE",
103 	"W|WHAT_O",
104 	NULL,
105 	"IW|WEIGH",
106 	/* 60 */
107 	"W|SET_FF",
108 	"W|ZERO",
109 	NULL,
110 	NULL,
111 	/* 64 */
112 	"WW|SET",
113 	"WW|ADD",
114 	"WW|SUB",
115 	"WW|ADDF",
116 	/* 68 */
117 	"WW|SUBF",
118 	"WW|MUL",
119 	"WW|DIV",
120 	"WW|MULF",
121 	/* 72 */
122 	"WW|DIVF",
123 	"WW|MOD",
124 	"WW|MODF",
125 	"WW|RANDOM",
126 	/* 76 */
127 	"W|MOVE_DIRN",
128 	"I|SET_A_PARENT",
129 	NULL,
130 	NULL,
131 	/* 80 */
132 	"IW|SET_CHILD2_BIT",
133 	"IW|CLEAR_CHILD2_BIT",
134 	NULL,
135 	NULL,
136 	/* 84 */
137 	"II|MAKE_SIBLING",
138 	"I|INC_STATE",
139 	"I|DEC_STATE",
140 	"IW|SET_STATE",
141 	/* 88 */
142 	NULL,
143 	"W|SHOW_INT",
144 	"|SHOW_SCORE",
145 	"T|SHOW_STRING_NL",
146 	/* 92 */
147 	"T|SHOW_STRING",
148 	"I|LISTOBJ",
149 	NULL,
150 	"|INVEN",
151 	/* 96 */
152 	"|LOOK",
153 	"x|END",
154 	"x|DONE",
155 	NULL,
156 	/* 100 */
157 	"x|OK",
158 	NULL,
159 	NULL,
160 	NULL,
161 	/* 104 */
162 	NULL,
163 	"W|START_SUB",
164 	"IWW|DO_CLASS",
165 	NULL,
166 	/* 108 */
167 	NULL,
168 	NULL,
169 	NULL,
170 	NULL,
171 	/* 112 */
172 	"IW|PRINT_OBJ",
173 	NULL,
174 	"I|PRINT_NAME",
175 	"I|PRINT_CNAME",
176 	/* 116 */
177 	NULL,
178 	NULL,
179 	NULL,
180 	"WW|ADD_TIMEOUT",
181 	/* 120 */
182 	NULL,
183 	NULL,
184 	NULL,
185 	NULL,
186 	/* 124 */
187 	NULL,
188 	NULL,
189 	NULL,
190 	NULL,
191 	/* 128 */
192 	"J|IS_SUBJECT_ITEM_EMPTY",
193 	"J|IS_OBJECT_ITEM_EMPTY",
194 	NULL,
195 	NULL,
196 	/* 132 */
197 	NULL,
198 	NULL,
199 	NULL,
200 	"ITJ|CHILD_FR2_IS",
201 	/* 136 */
202 	"IIJ|IS_ITEM_EQ",
203 	NULL,
204 	NULL,
205 	NULL,
206 	/* 140 */
207 	"I|EXITS",
208 	NULL,
209 	NULL,
210 	NULL,
211 	/* 144 */
212 	NULL,
213 	NULL,
214 	NULL,
215 	NULL,
216 	/* 148 */
217 	NULL,
218 	NULL,
219 	NULL,
220 	NULL,
221 	/* 152 */
222 	"W|DEBUG",
223 	NULL,
224 	NULL,
225 	NULL,
226 	/* 156 */
227 	NULL,
228 	NULL,
229 	NULL,
230 	NULL,
231 	/* 160 */
232 	NULL,
233 	NULL,
234 	"IWJ|IS_CFLAG",
235 	NULL,
236 	/* 164 */
237 	"|RESCAN",
238 	"wwwW|MEANS",
239 	NULL,
240 	NULL,
241 	/* 168 */
242 	NULL,
243 	NULL,
244 	NULL,
245 	NULL,
246 	/* 172 */
247 	NULL,
248 	NULL,
249 	NULL,
250 	NULL,
251 	/* 176 */
252 	"IWI|SET_USER_ITEM",
253 	"IWW|GET_USER_ITEM",
254 	"IW|CLEAR_USER_ITEM",
255 	NULL,
256 	/* 180 */
257 	"IWW|WHERE_TO",
258 	"IIW|DOOR_EXIT",
259 	NULL,
260 	NULL,
261 	/* 184 */
262 	NULL,
263 	NULL,
264 	NULL,
265 	NULL,
266 	/* 188 */
267 	NULL,
268 	NULL,
269 	NULL,
270 	NULL,
271 	/* 192 */
272 	NULL,
273 	NULL,
274 	NULL,
275 	NULL,
276 	/* 196 */
277 	NULL,
278 	NULL,
279 	"W|COMMENT",
280 	NULL,
281 	/* 200 */
282 	NULL,
283 	"T|SAVE_GAME",
284 	"T|LOAD_GAME",
285 	"|NOT",
286 	/* 204 */
287 	NULL,
288 	NULL,
289 	"IW|GET_PARENT",
290 	"IW|GET_NEXT",
291 	/* 208 */
292 	"IW|GET_CHILDREN",
293 	NULL,
294 	NULL,
295 	NULL,
296 	/* 212 */
297 	NULL,
298 	NULL,
299 	NULL,
300 	NULL,
301 	/* 216 */
302 	NULL,
303 	NULL,
304 	NULL,
305 	"WW|FIND_MASTER",
306 	/* 220 */
307 	"IWW|NEXT_MASTER",
308 	NULL,
309 	NULL,
310 	NULL,
311 	/* 224 */
312 	"WW|PICTURE",
313 	"W|LOAD_ZONE",
314 	"WWWWW|ANIMATE",
315 	"W|STOP_ANIMATE",
316 	/* 228 */
317 	"|KILL_ANIMATE",
318 	"WWWWWWW|DEFINE_WINDOW",
319 	"W|CHANGE_WINDOW",
320 	"|CLS",
321 	/* 232 */
322 	"W|CLOSE_WINDOW",
323 	"WW|AGOS_MENU",
324 	NULL,
325 	"WWWWWIW|ADD_BOX",
326 	/* 236 */
327 	"W|DEL_BOX",
328 	"W|ENABLE_BOX",
329 	"W|DISABLE_BOX",
330 	"WWW|MOVE_BOX",
331 	/* 240 */
332 	NULL,
333 	NULL,
334 	"IW|DO_ICONS",
335 	"IWJ|IS_CLASS",
336 	/* 244 */
337 	NULL,
338 	NULL,
339 	NULL,
340 	NULL,
341 	/* 248 */
342 	NULL,
343 	"IW|SET_CLASS",
344 	"IW|UNSET_CLASS",
345 	"WW|CLEAR_BIT",
346 	/* 252 */
347 	"WW|SET_BIT",
348 	"WWJ|BIT_TEST",
349 	NULL,
350 	"W|WAIT_SYNC",
351 	/* 256 */
352 	"W|SYNC",
353 	"WI|DEF_OBJ",
354 	"|ENABLE_INPUT",
355 	"|SET_TIME",
356 	/* 260 */
357 	"WJ|IF_TIME",
358 	"IJ|IS_SIBLING_WITH_A",
359 	"IWW|DO_CLASS_ICONS",
360 	"WW|PLAY_TUNE",
361 	/* 264 */
362 	NULL,
363 	"W|IF_END_TUNE",
364 	"Www|SET_ADJ_NOUN",
365 	"WW|ZONE_DISK",
366 	/* 268 */
367 	"|SAVE_USER_GAME",
368 	"|LOAD_USER_GAME",
369 	"|PRINT_STATS",
370 	"|STOP_TUNE",
371 	/* 272 */
372 	"|PRINT_PLAYER_DAMAGE",
373 	"|PRINT_MONSTER_DAMAGE",
374 	"|PAUSE",
375 	"IW|COPY_SF",
376 	/* 276 */
377 	"W|RESTORE_ICONS",
378 	"|PRINT_PLAYER_HIT",
379 	"|PRINT_MONSTER_HIT",
380 	"|FREEZE_ZONES",
381 	/* 280 */
382 	"II|SET_PARENT_SPECIAL",
383 	"|CLEAR_TIMERS",
384 	"IW|SET_STORE",
385 	"WJ|IS_BOX",
386 };
387 
388 static const char *const elvira2_opcodeNameTable[256] = {
389 	/* 0 */
390 	"|NOT",
391 	"IJ|AT",
392 	"IJ|NOT_AT",
393 	NULL,
394 	/* 4 */
395 	NULL,
396 	"IJ|CARRIED",
397 	"IJ|NOT_CARRIED",
398 	"IIJ|IS_AT",
399 	/* 8 */
400 	"IIJ|IS_NOT_AT",
401 	"IIJ|IS_SIBLING",
402 	"IIJ|IS_NOT_SIBLING",
403 	"VJ|IS_ZERO",
404 	/* 12 */
405 	"VJ|ISNOT_ZERO",
406 	"VWJ|IS_EQ",
407 	"VWJ|IS_NEQ",
408 	"VWJ|IS_LE",
409 	/* 16 */
410 	"VWJ|IS_GE",
411 	"VVJ|IS_EQF",
412 	"VVJ|IS_NEQF",
413 	"VVJ|IS_LEF",
414 	/* 20 */
415 	"VVJ|IS_GEF",
416 	"IIJ|IS_IN",
417 	"IIJ|IS_NOT_IN",
418 	"WJ|CHANCE",
419 	/* 24 */
420 	"IJ|IS_PLAYER",
421 	"IJ|IS_ROOM",
422 	"IJ|IS_OBJECT",
423 	"IWJ|ITEM_STATE_IS",
424 	/* 28 */
425 	"IBJ|OBJECT_HAS_FLAG",
426 	"IIJ|CAN_PUT",
427 	NULL,
428 	"I|SET_NO_PARENT",
429 	/* 32 */
430 	NULL,
431 	"II|SET_PARENT",
432 	"IBV|COPY_OF",
433 	"VIB|COPY_FO",
434 	/* 36 */
435 	"VV|MOVE",
436 	"W|WHAT_O",
437 	NULL,
438 	"IW|WEIGH",
439 	/* 40 */
440 	NULL,
441 	"V|ZERO",
442 	"VW|SET",
443 	"VW|ADD",
444 	/* 44 */
445 	"VW|SUB",
446 	"VV|ADDF",
447 	"VV|SUBF",
448 	"VW|MUL",
449 	/* 48 */
450 	"VW|DIV",
451 	"VV|MULF",
452 	"VV|DIVF",
453 	"VW|MOD",
454 	/* 52 */
455 	"VV|MODF",
456 	"VW|RANDOM",
457 	"B|MOVE_DIRN",
458 	"I|SET_A_PARENT",
459 	/* 56 */
460 	"IB|SET_CHILD2_BIT",
461 	"IB|CLEAR_CHILD2_BIT",
462 	"II|MAKE_SIBLING",
463 	"I|INC_STATE",
464 	/* 60 */
465 	"I|DEC_STATE",
466 	"IW|SET_STATE",
467 	"V|SHOW_INT",
468 	"T|SHOW_STRING_NL",
469 	/* 64 */
470 	"T|SHOW_STRING",
471 	NULL,
472 	NULL,
473 	NULL,
474 	/* 68 */
475 	"x|END",
476 	"x|DONE",
477 	NULL,
478 	"W|START_SUB",
479 	/* 72 */
480 	"IBW|DO_CLASS",
481 	"I|PRINT_OBJ",
482 	"I|PRINT_NAME",
483 	"I|PRINT_CNAME",
484 	/* 76 */
485 	"WW|ADD_TIMEOUT",
486 	"J|IS_SUBJECT_ITEM_EMPTY",
487 	"J|IS_OBJECT_ITEM_EMPTY",
488 	"ITJ|CHILD_FR2_IS",
489 	/* 80 */
490 	"IIJ|IS_ITEM_EQ",
491 	NULL,
492 	"B|DEBUG",
493 	"|RESCAN",
494 	/* 84 */
495 	NULL,
496 	"IBB|WHERE_TO",
497 	NULL,
498 	"W|COMMENT",
499 	/* 88 */
500 	"|STOP_ANIMATION",
501 	"T|LOAD_GAME",
502 	"IB|GET_PARENT",
503 	"IB|GET_NEXT",
504 	/* 92 */
505 	"IB|GET_CHILDREN",
506 	NULL,
507 	"BB|FIND_MASTER",
508 	"IBB|NEXT_MASTER",
509 	/* 96 */
510 	"WB|PICTURE",
511 	"W|LOAD_ZONE",
512 	"WBWWW|ANIMATE",
513 	"W|STOP_ANIMATE",
514 	/* 100 */
515 	"|KILL_ANIMATE",
516 	"BWWWWWW|DEFINE_WINDOW",
517 	"B|CHANGE_WINDOW",
518 	"|CLS",
519 	/* 104 */
520 	"B|CLOSE_WINDOW",
521 	"B|SET_AGOS_MENU",
522 	NULL,
523 	"WWWWWIW|ADD_BOX",
524 	/* 108 */
525 	"W|DEL_BOX",
526 	"W|ENABLE_BOX",
527 	"W|DISABLE_BOX",
528 	"WWW|MOVE_BOX",
529 	/* 112 */
530 	NULL,
531 	"IBWW|DRAW_ITEM",
532 	"IB|DO_ICONS",
533 	"IBJ|IS_CLASS",
534 	/* 116 */
535 	"IB|SET_CLASS",
536 	"IB|UNSET_CLASS",
537 	NULL,
538 	"W|WAIT_SYNC",
539 	/* 120 */
540 	"W|SYNC",
541 	"BI|DEF_OBJ",
542 	NULL,
543 	"|SET_TIME",
544 	/* 124 */
545 	"WJ|IF_TIME",
546 	"IJ|IS_SIBLING_WITH_A",
547 	"IBB|DO_CLASS_ICONS",
548 	"WW|PLAY_TUNE",
549 	/* 128 */
550 	NULL,
551 	NULL,
552 	"Bww|SET_ADJ_NOUN",
553 	NULL,
554 	/* 132 */
555 	"|SAVE_USER_GAME",
556 	"|LOAD_USER_GAME",
557 	"|STOP_TUNE",
558 	"|PAUSE",
559 	/* 136 */
560 	"IV|COPY_SF",
561 	"B|RESTORE_ICONS",
562 	"|FREEZE_ZONES",
563 	"II|SET_PARENT_SPECIAL",
564 	/* 140 */
565 	"|CLEAR_TIMERS",
566 	"BI|SET_M1_OR_M3",
567 	"WJ|IS_BOX",
568 	"I|START_ITEM_SUB",
569 	/* 144 */
570 	"IB|SET_DOOR_OPEN",
571 	"IB|SET_DOOR_CLOSED",
572 	"IB|SET_DOOR_LOCKED",
573 	"IB|SET_DOOR_OPEN",
574 	/* 148 */
575 	"IBJ|IF_DOOR_OPEN",
576 	"IBJ|IF_DOOR_CLOSED",
577 	"IBJ|IF_DOOR_LOCKED",
578 	"BI|STORE_ITEM",
579 	/* 152 */
580 	"BB|GET_ITEM",
581 	"B|SET_BIT",
582 	"B|CLEAR_BIT",
583 	"BJ|IS_BIT_CLEAR",
584 	/* 156 */
585 	"BJ|IS_BIT_SET",
586 	"IBB|GET_ITEM_PROP",
587 	"IBW|SET_ITEM_PROP",
588 	NULL,
589 	/* 160 */
590 	"B|SET_INK",
591 	"|PRINT_STATS",
592 	NULL,
593 	NULL,
594 	/* 164 */
595 	NULL,
596 	"W|SET_SUPER_ROOM",
597 	"V|GET_SUPER_ROOM",
598 	"IWB|SET_EXIT_OPEN",
599 	/* 168 */
600 	"IWB|SET_EXIT_CLOSED",
601 	"IWB|SET_EXIT_LOCKED",
602 	"IWB|SET_EXIT_CLOSED",
603 	"IWBJ|IF_EXIT_OPEN",
604 	/* 172 */
605 	"IWBJ|IF_EXIT_CLOSED",
606 	"IWBJ|IF_EXIT_LOCKED",
607 	"W|PLAY_EFFECT",
608 	"|getDollar2",
609 	/* 176 */
610 	"IWBB|SET_SUPER_ROOM_EXIT",
611 	"B|UNK_177",
612 	"B|UNK_178",
613 	"IWWJ|IS_ADJ_NOUN",
614 	/* 180 */
615 	"B|SET_BIT2",
616 	"B|CLEAR_BIT2",
617 	"BJ|IS_BIT2_CLEAR",
618 	"BJ|IS_BIT2_SET",
619 };
620 
621 static const char *const waxworks_opcodeNameTable[256] = {
622 	/* 0 */
623 	"|NOT",
624 	"IJ|AT",
625 	"IJ|NOT_AT",
626 	NULL,
627 	/* 4 */
628 	NULL,
629 	"IJ|CARRIED",
630 	"IJ|NOT_CARRIED",
631 	"IIJ|IS_AT",
632 	/* 8 */
633 	"IIJ|IS_NOT_AT",
634 	"IIJ|IS_SIBLING",
635 	"IIJ|IS_NOT_SIBLING",
636 	"VJ|IS_ZERO",
637 	/* 12 */
638 	"VJ|ISNOT_ZERO",
639 	"VWJ|IS_EQ",
640 	"VWJ|IS_NEQ",
641 	"VWJ|IS_LE",
642 	/* 16 */
643 	"VWJ|IS_GE",
644 	"VVJ|IS_EQF",
645 	"VVJ|IS_NEQF",
646 	"VVJ|IS_LEF",
647 	/* 20 */
648 	"VVJ|IS_GEF",
649 	"IIJ|IS_IN",
650 	"IIJ|IS_NOT_IN",
651 	"WJ|CHANCE",
652 	/* 24 */
653 	"IJ|IS_PLAYER",
654 	"IJ|IS_ROOM",
655 	"IJ|IS_OBJECT",
656 	"IWJ|ITEM_STATE_IS",
657 	/* 28 */
658 	"IBJ|OBJECT_HAS_FLAG",
659 	"IIJ|CAN_PUT",
660 	NULL,
661 	"I|SET_NO_PARENT",
662 	/* 32 */
663 	NULL,
664 	"II|SET_PARENT",
665 	"IBV|COPY_OF",
666 	"VIB|COPY_FO",
667 	/* 36 */
668 	"VV|MOVE",
669 	"W|WHAT_O",
670 	NULL,
671 	"IW|WEIGH",
672 	/* 40 */
673 	NULL,
674 	"V|ZERO",
675 	"VW|SET",
676 	"VW|ADD",
677 	/* 44 */
678 	"VW|SUB",
679 	"VV|ADDF",
680 	"VV|SUBF",
681 	"VW|MUL",
682 	/* 48 */
683 	"VW|DIV",
684 	"VV|MULF",
685 	"VV|DIVF",
686 	"VW|MOD",
687 	/* 52 */
688 	"VV|MODF",
689 	"VW|RANDOM",
690 	"B|MOVE_DIRN",
691 	"I|SET_A_PARENT",
692 	/* 56 */
693 	"IB|SET_CHILD2_BIT",
694 	"IB|CLEAR_CHILD2_BIT",
695 	"II|MAKE_SIBLING",
696 	"I|INC_STATE",
697 	/* 60 */
698 	"I|DEC_STATE",
699 	"IW|SET_STATE",
700 	"V|SHOW_INT",
701 	"T|SHOW_STRING_NL",
702 	/* 64 */
703 	"T|SHOW_STRING",
704 	"WWWWWB|ADD_TEXT_BOX",
705 	"BT|SET_SHORT_TEXT",
706 	"BT|SET_LONG_TEXT",
707 	/* 68 */
708 	"x|END",
709 	"x|DONE",
710 	"V|SHOW_STRING_AR3",
711 	"W|START_SUB",
712 	/* 72 */
713 	NULL,
714 	NULL,
715 	NULL,
716 	NULL,
717 	/* 76 */
718 	"WW|ADD_TIMEOUT",
719 	"J|IS_SUBJECT_ITEM_EMPTY",
720 	"J|IS_OBJECT_ITEM_EMPTY",
721 	"ITJ|CHILD_FR2_IS",
722 	/* 80 */
723 	"IIJ|IS_ITEM_EQ",
724 	NULL,
725 	"B|DEBUG",
726 	"|RESCAN",
727 	/* 84 */
728 	NULL,
729 	"IBB|WHERE_TO",
730 	NULL,
731 	"W|COMMENT",
732 	/* 88 */
733 	"|STOP_ANIMATION",
734 	"T|LOAD_GAME",
735 	"IB|GET_PARENT",
736 	"IB|GET_NEXT",
737 	/* 92 */
738 	"IB|GET_CHILDREN",
739 	NULL,
740 	"BB|FIND_MASTER",
741 	"IBB|NEXT_MASTER",
742 	/* 96 */
743 	"WB|PICTURE",
744 	"W|LOAD_ZONE",
745 	"WBWWW|ANIMATE",
746 	"W|STOP_ANIMATE",
747 	/* 100 */
748 	"|KILL_ANIMATE",
749 	"BWWWWWW|DEFINE_WINDOW",
750 	"B|CHANGE_WINDOW",
751 	"|CLS",
752 	/* 104 */
753 	"B|CLOSE_WINDOW",
754 	"B|SET_AGOS_MENU",
755 	"BB|SET_TEXT_MENU",
756 	"WWWWWIW|ADD_BOX",
757 	/* 108 */
758 	"W|DEL_BOX",
759 	"W|ENABLE_BOX",
760 	"W|DISABLE_BOX",
761 	"WWW|MOVE_BOX",
762 	/* 112 */
763 	NULL,
764 	NULL,
765 	"IB|DO_ICONS",
766 	"IBJ|IS_CLASS",
767 	/* 116 */
768 	"IB|SET_CLASS",
769 	"IB|UNSET_CLASS",
770 	NULL,
771 	"W|WAIT_SYNC",
772 	/* 120 */
773 	"W|SYNC",
774 	"BI|DEF_OBJ",
775 	NULL,
776 	NULL,
777 	/* 124 */
778 	NULL,
779 	"IJ|IS_SIBLING_WITH_A",
780 	"IBB|DO_CLASS_ICONS",
781 	"WW|PLAY_TUNE",
782 	/* 128 */
783 	NULL,
784 	NULL,
785 	"Bww|SET_ADJ_NOUN",
786 	NULL,
787 	/* 132 */
788 	"|SAVE_USER_GAME",
789 	"|LOAD_USER_GAME",
790 	"|STOP_TUNE",
791 	"|PAUSE",
792 	/* 136 */
793 	"IV|COPY_SF",
794 	"B|RESTORE_ICONS",
795 	"|FREEZE_ZONES",
796 	"II|SET_PARENT_SPECIAL",
797 	/* 140 */
798 	"|CLEAR_TIMERS",
799 	"BI|SET_M1_OR_M3",
800 	"WJ|IS_BOX",
801 	"I|START_ITEM_SUB",
802 	/* 144 */
803 	"IB|SET_DOOR_OPEN",
804 	"IB|SET_DOOR_CLOSED",
805 	"IB|SET_DOOR_LOCKED",
806 	"IB|SET_DOOR_OPEN",
807 	/* 148 */
808 	"IBJ|IF_DOOR_OPEN",
809 	"IBJ|IF_DOOR_CLOSED",
810 	"IBJ|IF_DOOR_LOCKED",
811 	"BI|STORE_ITEM",
812 	/* 152 */
813 	"BB|GET_ITEM",
814 	"B|SET_BIT",
815 	"B|CLEAR_BIT",
816 	"BJ|IS_BIT_CLEAR",
817 	/* 156 */
818 	"BJ|IS_BIT_SET",
819 	"IBB|GET_ITEM_PROP",
820 	"IBW|SET_ITEM_PROP",
821 	NULL,
822 	/* 160 */
823 	"B|SET_INK",
824 	NULL,
825 	NULL,
826 	NULL,
827 	/* 164 */
828 	NULL,
829 	NULL,
830 	NULL,
831 	NULL,
832 	/* 168 */
833 	NULL,
834 	NULL,
835 	NULL,
836 	NULL,
837 	/* 172 */
838 	NULL,
839 	NULL,
840 	NULL,
841 	"|getDollar2",
842 	/* 176 */
843 	NULL,
844 	NULL,
845 	NULL,
846 	"IWWJ|IS_ADJ_NOUN",
847 	/* 180 */
848 	"B|SET_BIT2",
849 	"B|CLEAR_BIT2",
850 	"BJ|IS_BIT2_CLEAR",
851 	"BJ|IS_BIT2_SET",
852 	/* 184 */
853 	"T|BOX_MESSAGE",
854 	"T|BOX_MSG",
855 	"B|BOX_LONG_TEXT",
856 	"|PRINT_BOX",
857 	/* 188 */
858 	"I|BOX_POBJ",
859 	"|LOCK_ZONES",
860 	"|UNLOCK_ZONES",
861 };
862 
863 static const char *const simon1dos_opcodeNameTable[256] = {
864 	/* 0 */
865 	"|NOT",
866 	"IJ|AT",
867 	"IJ|NOT_AT",
868 	NULL,
869 	/* 4 */
870 	NULL,
871 	"IJ|CARRIED",
872 	"IJ|NOT_CARRIED",
873 	"IIJ|IS_AT",
874 	/* 8 */
875 	NULL,
876 	NULL,
877 	NULL,
878 	"VJ|IS_ZERO",
879 	/* 12 */
880 	"VJ|ISNOT_ZERO",
881 	"VWJ|IS_EQ",
882 	"VWJ|IS_NEQ",
883 	"VWJ|IS_LE",
884 	/* 16 */
885 	"VWJ|IS_GE",
886 	"VVJ|IS_EQF",
887 	"VVJ|IS_NEQF",
888 	"VVJ|IS_LEF",
889 	/* 20 */
890 	"VVJ|IS_GEF",
891 	NULL,
892 	NULL,
893 	"WJ|CHANCE",
894 	/* 24 */
895 	NULL,
896 	"IJ|IS_ROOM",
897 	"IJ|IS_OBJECT",
898 	"IWJ|ITEM_STATE_IS",
899 	/* 28 */
900 	"IBJ|OBJECT_HAS_FLAG",
901 	NULL,
902 	NULL,
903 	"I|SET_NO_PARENT",
904 	/* 32 */
905 	NULL,
906 	"II|SET_PARENT",
907 	NULL,
908 	NULL,
909 	/* 36 */
910 	"VV|MOVE",
911 	NULL,
912 	NULL,
913 	NULL,
914 	/* 40 */
915 	NULL,
916 	"V|ZERO",
917 	"VW|SET",
918 	"VW|ADD",
919 	/* 44 */
920 	"VW|SUB",
921 	"VV|ADDF",
922 	"VV|SUBF",
923 	"VW|MUL",
924 	/* 48 */
925 	"VW|DIV",
926 	"VV|MULF",
927 	"VV|DIVF",
928 	"VW|MOD",
929 	/* 52 */
930 	"VV|MODF",
931 	"VW|RANDOM",
932 	NULL,
933 	"I|SET_A_PARENT",
934 	/* 56 */
935 	"IB|SET_CHILD2_BIT",
936 	"IB|CLEAR_CHILD2_BIT",
937 	"II|MAKE_SIBLING",
938 	"I|INC_STATE",
939 	/* 60 */
940 	"I|DEC_STATE",
941 	"IW|SET_STATE",
942 	"V|SHOW_INT",
943 	"T|SHOW_STRING_NL",
944 	/* 64 */
945 	"T|SHOW_STRING",
946 	"WWWWWB|ADD_TEXT_BOX",
947 	"BT|SET_SHORT_TEXT",
948 	"BT|SET_LONG_TEXT",
949 	/* 68 */
950 	"x|END",
951 	"x|DONE",
952 	"V|SHOW_STRING_AR3",
953 	"W|START_SUB",
954 	/* 72 */
955 	NULL,
956 	NULL,
957 	NULL,
958 	NULL,
959 	/* 76 */
960 	"WW|ADD_TIMEOUT",
961 	"J|IS_SUBJECT_ITEM_EMPTY",
962 	"J|IS_OBJECT_ITEM_EMPTY",
963 	"ITJ|CHILD_FR2_IS",
964 	/* 80 */
965 	"IIJ|IS_ITEM_EQ",
966 	NULL,
967 	"B|DEBUG",
968 	"|RESCAN",
969 	/* 84 */
970 	NULL,
971 	NULL,
972 	NULL,
973 	"W|COMMENT",
974 	/* 88 */
975 	"|STOP_ANIMATION",
976 	"|RESTART_ANIMATION",
977 	"IB|GET_PARENT",
978 	"IB|GET_NEXT",
979 	/* 92 */
980 	"IB|GET_CHILDREN",
981 	NULL,
982 	NULL,
983 	NULL,
984 	/* 96 */
985 	"WB|PICTURE",
986 	"W|LOAD_ZONE",
987 	"WBWWW|ANIMATE",
988 	"W|STOP_ANIMATE",
989 	/* 100 */
990 	"|KILL_ANIMATE",
991 	"BWWWWWW|DEFINE_WINDOW",
992 	"B|CHANGE_WINDOW",
993 	"|CLS",
994 	/* 104 */
995 	"B|CLOSE_WINDOW",
996 	NULL,
997 	NULL,
998 	"WWWWWIW|ADD_BOX",
999 	/* 108 */
1000 	"W|DEL_BOX",
1001 	"W|ENABLE_BOX",
1002 	"W|DISABLE_BOX",
1003 	"WWW|MOVE_BOX",
1004 	/* 112 */
1005 	NULL,
1006 	NULL,
1007 	"IB|DO_ICONS",
1008 	"IBJ|IS_CLASS",
1009 	/* 116 */
1010 	"IB|SET_CLASS",
1011 	"IB|UNSET_CLASS",
1012 	NULL,
1013 	"W|WAIT_SYNC",
1014 	/* 120 */
1015 	"W|SYNC",
1016 	"BI|DEF_OBJ",
1017 	NULL,
1018 	NULL,
1019 	/* 124 */
1020 	NULL,
1021 	"IJ|IS_SIBLING_WITH_A",
1022 	"IBB|DO_CLASS_ICONS",
1023 	"WW|PLAY_TUNE",
1024 	/* 128 */
1025 	NULL,
1026 	NULL,
1027 	"Bww|SET_ADJ_NOUN",
1028 	NULL,
1029 	/* 132 */
1030 	"|SAVE_USER_GAME",
1031 	"|LOAD_USER_GAME",
1032 	"|STOP_TUNE",
1033 	"|PAUSE",
1034 	/* 136 */
1035 	"IV|COPY_SF",
1036 	"B|RESTORE_ICONS",
1037 	"|FREEZE_ZONES",
1038 	"II|SET_PARENT_SPECIAL",
1039 	/* 140 */
1040 	"|CLEAR_TIMERS",
1041 	"BI|SET_M1_OR_M3",
1042 	"WJ|IS_BOX",
1043 	"I|START_ITEM_SUB",
1044 	/* 144 */
1045 	NULL,
1046 	NULL,
1047 	NULL,
1048 	NULL,
1049 	/* 148 */
1050 	NULL,
1051 	NULL,
1052 	NULL,
1053 	"BI|STORE_ITEM",
1054 	/* 152 */
1055 	"BB|GET_ITEM",
1056 	"B|SET_BIT",
1057 	"B|CLEAR_BIT",
1058 	"BJ|IS_BIT_CLEAR",
1059 	/* 156 */
1060 	"BJ|IS_BIT_SET",
1061 	"IBB|GET_ITEM_PROP",
1062 	"IBW|SET_ITEM_PROP",
1063 	NULL,
1064 	/* 160 */
1065 	"B|SET_INK",
1066 	"BWBW|SETUP_TEXT",
1067 	"BBT|PRINT_STR",
1068 	"W|PLAY_EFFECT",
1069 	/* 164 */
1070 	"|getDollar2",
1071 	"IWWJ|IS_ADJ_NOUN",
1072 	"B|SET_BIT2",
1073 	"B|CLEAR_BIT2",
1074 	/* 168 */
1075 	"BJ|IS_BIT2_CLEAR",
1076 	"BJ|IS_BIT2_SET",
1077 	NULL,
1078 	NULL,
1079 	/* 172 */
1080 	NULL,
1081 	NULL,
1082 	NULL,
1083 	"|LOCK_ZONES",
1084 	/* 176 */
1085 	"|UNLOCK_ZONES",
1086 	"BBI|SCREEN_TEXT_POBJ",
1087 	"WWBB|GETPATHPOSN",
1088 	"BBB|SCREEN_TEXT_LONG_TEXT",
1089 	/* 180 */
1090 	"|MOUSE_ON",
1091 	"|MOUSE_OFF",
1092 	"|LOAD_BEARD",
1093 	"|UNLOAD_BEARD",
1094 	/* 184 */
1095 	"W|UNLOAD_ZONE",
1096 	"W|LOAD_SOUND_FILES",
1097 	"|UNFREEZE_ZONES",
1098 	"|FADE_TO_BLACK",
1099 };
1100 
1101 static const char *const simon1talkie_opcodeNameTable[256] = {
1102 	/* 0 */
1103 	"|NOT",
1104 	"IJ|AT",
1105 	"IJ|NOT_AT",
1106 	NULL,
1107 	/* 4 */
1108 	NULL,
1109 	"IJ|CARRIED",
1110 	"IJ|NOT_CARRIED",
1111 	"IIJ|IS_AT",
1112 	/* 8 */
1113 	NULL,
1114 	NULL,
1115 	NULL,
1116 	"VJ|IS_ZERO",
1117 	/* 12 */
1118 	"VJ|ISNOT_ZERO",
1119 	"VWJ|IS_EQ",
1120 	"VWJ|IS_NEQ",
1121 	"VWJ|IS_LE",
1122 	/* 16 */
1123 	"VWJ|IS_GE",
1124 	"VVJ|IS_EQF",
1125 	"VVJ|IS_NEQF",
1126 	"VVJ|IS_LEF",
1127 	/* 20 */
1128 	"VVJ|IS_GEF",
1129 	NULL,
1130 	NULL,
1131 	"WJ|CHANCE",
1132 	/* 24 */
1133 	NULL,
1134 	"IJ|IS_ROOM",
1135 	"IJ|IS_OBJECT",
1136 	"IWJ|ITEM_STATE_IS",
1137 	/* 28 */
1138 	"IBJ|OBJECT_HAS_FLAG",
1139 	NULL,
1140 	NULL,
1141 	"I|SET_NO_PARENT",
1142 	/* 32 */
1143 	NULL,
1144 	"II|SET_PARENT",
1145 	NULL,
1146 	NULL,
1147 	/* 36 */
1148 	"VV|MOVE",
1149 	NULL,
1150 	NULL,
1151 	NULL,
1152 	/* 40 */
1153 	NULL,
1154 	"V|ZERO",
1155 	"VW|SET",
1156 	"VW|ADD",
1157 	/* 44 */
1158 	"VW|SUB",
1159 	"VV|ADDF",
1160 	"VV|SUBF",
1161 	"VW|MUL",
1162 	/* 48 */
1163 	"VW|DIV",
1164 	"VV|MULF",
1165 	"VV|DIVF",
1166 	"VW|MOD",
1167 	/* 52 */
1168 	"VV|MODF",
1169 	"VW|RANDOM",
1170 	NULL,
1171 	"I|SET_A_PARENT",
1172 	/* 56 */
1173 	"IB|SET_CHILD2_BIT",
1174 	"IB|CLEAR_CHILD2_BIT",
1175 	"II|MAKE_SIBLING",
1176 	"I|INC_STATE",
1177 	/* 60 */
1178 	"I|DEC_STATE",
1179 	"IW|SET_STATE",
1180 	"V|SHOW_INT",
1181 	"T|SHOW_STRING_NL",
1182 	/* 64 */
1183 	"T|SHOW_STRING",
1184 	"WWWWWB|ADD_TEXT_BOX",
1185 	"BT|SET_SHORT_TEXT",
1186 	"BTw|SET_LONG_TEXT",
1187 	/* 68 */
1188 	"x|END",
1189 	"x|DONE",
1190 	"V|SHOW_STRING_AR3",
1191 	"W|START_SUB",
1192 	/* 72 */
1193 	NULL,
1194 	NULL,
1195 	NULL,
1196 	NULL,
1197 	/* 76 */
1198 	"WW|ADD_TIMEOUT",
1199 	"J|IS_SUBJECT_ITEM_EMPTY",
1200 	"J|IS_OBJECT_ITEM_EMPTY",
1201 	"ITJ|CHILD_FR2_IS",
1202 	/* 80 */
1203 	"IIJ|IS_ITEM_EQ",
1204 	NULL,
1205 	"B|DEBUG",
1206 	"|RESCAN",
1207 	/* 84 */
1208 	NULL,
1209 	NULL,
1210 	NULL,
1211 	"W|COMMENT",
1212 	/* 88 */
1213 	"|STOP_ANIMATION",
1214 	"|RESTART_ANIMATION",
1215 	"IB|GET_PARENT",
1216 	"IB|GET_NEXT",
1217 	/* 92 */
1218 	"IB|GET_CHILDREN",
1219 	NULL,
1220 	NULL,
1221 	NULL,
1222 	/* 96 */
1223 	"WB|PICTURE",
1224 	"W|LOAD_ZONE",
1225 	"WBWWW|ANIMATE",
1226 	"W|STOP_ANIMATE",
1227 	/* 100 */
1228 	"|KILL_ANIMATE",
1229 	"BWWWWWW|DEFINE_WINDOW",
1230 	"B|CHANGE_WINDOW",
1231 	"|CLS",
1232 	/* 104 */
1233 	"B|CLOSE_WINDOW",
1234 	NULL,
1235 	NULL,
1236 	"WWWWWIW|ADD_BOX",
1237 	/* 108 */
1238 	"W|DEL_BOX",
1239 	"W|ENABLE_BOX",
1240 	"W|DISABLE_BOX",
1241 	"WWW|MOVE_BOX",
1242 	/* 112 */
1243 	NULL,
1244 	NULL,
1245 	"IB|DO_ICONS",
1246 	"IBJ|IS_CLASS",
1247 	/* 116 */
1248 	"IB|SET_CLASS",
1249 	"IB|UNSET_CLASS",
1250 	NULL,
1251 	"W|WAIT_SYNC",
1252 	/* 120 */
1253 	"W|SYNC",
1254 	"BI|DEF_OBJ",
1255 	NULL,
1256 	NULL,
1257 	/* 124 */
1258 	NULL,
1259 	"IJ|IS_SIBLING_WITH_A",
1260 	"IBB|DO_CLASS_ICONS",
1261 	"WW|PLAY_TUNE",
1262 	/* 128 */
1263 	NULL,
1264 	NULL,
1265 	"Bww|SET_ADJ_NOUN",
1266 	NULL,
1267 	/* 132 */
1268 	"|SAVE_USER_GAME",
1269 	"|LOAD_USER_GAME",
1270 	"|STOP_TUNE",
1271 	"|PAUSE",
1272 	/* 136 */
1273 	"IV|COPY_SF",
1274 	"B|RESTORE_ICONS",
1275 	"|FREEZE_ZONES",
1276 	"II|SET_PARENT_SPECIAL",
1277 	/* 140 */
1278 	"|CLEAR_TIMERS",
1279 	"BI|SET_M1_OR_M3",
1280 	"WJ|IS_BOX",
1281 	"I|START_ITEM_SUB",
1282 	/* 144 */
1283 	NULL,
1284 	NULL,
1285 	NULL,
1286 	NULL,
1287 	/* 148 */
1288 	NULL,
1289 	NULL,
1290 	NULL,
1291 	"BI|STORE_ITEM",
1292 	/* 152 */
1293 	"BB|GET_ITEM",
1294 	"B|SET_BIT",
1295 	"B|CLEAR_BIT",
1296 	"BJ|IS_BIT_CLEAR",
1297 	/* 156 */
1298 	"BJ|IS_BIT_SET",
1299 	"IBB|GET_ITEM_PROP",
1300 	"IBW|SET_ITEM_PROP",
1301 	NULL,
1302 	/* 160 */
1303 	"B|SET_INK",
1304 	"BWBW|SETUP_TEXT",
1305 	"BBTW|PRINT_STR",
1306 	"W|PLAY_EFFECT",
1307 	/* 164 */
1308 	"|getDollar2",
1309 	"IWWJ|IS_ADJ_NOUN",
1310 	"B|SET_BIT2",
1311 	"B|CLEAR_BIT2",
1312 	/* 168 */
1313 	"BJ|IS_BIT2_CLEAR",
1314 	"BJ|IS_BIT2_SET",
1315 	NULL,
1316 	NULL,
1317 	/* 172 */
1318 	NULL,
1319 	NULL,
1320 	NULL,
1321 	"|LOCK_ZONES",
1322 	/* 176 */
1323 	"|UNLOCK_ZONES",
1324 	"BBI|SCREEN_TEXT_POBJ",
1325 	"WWBB|GETPATHPOSN",
1326 	"BBB|SCREEN_TEXT_LONG_TEXT",
1327 	/* 180 */
1328 	"|MOUSE_ON",
1329 	"|MOUSE_OFF",
1330 	"|LOAD_BEARD",
1331 	"|UNLOAD_BEARD",
1332 	/* 184 */
1333 	"W|UNLOAD_ZONE",
1334 	"W|LOAD_SOUND_FILES",
1335 	"|UNFREEZE_ZONES",
1336 	"|FADE_TO_BLACK",
1337 };
1338 
1339 static const char *const simon2dos_opcodeNameTable[256] = {
1340 	/* 0 */
1341 	"|NOT",
1342 	"IJ|AT",
1343 	"IJ|NOT_AT",
1344 	NULL,
1345 	/* 4 */
1346 	NULL,
1347 	"IJ|CARRIED",
1348 	"IJ|NOT_CARRIED",
1349 	"IIJ|IS_AT",
1350 	/* 8 */
1351 	NULL,
1352 	NULL,
1353 	NULL,
1354 	"VJ|IS_ZERO",
1355 	/* 12 */
1356 	"VJ|ISNOT_ZERO",
1357 	"VWJ|IS_EQ",
1358 	"VWJ|IS_NEQ",
1359 	"VWJ|IS_LE",
1360 	/* 16 */
1361 	"VWJ|IS_GE",
1362 	"VVJ|IS_EQF",
1363 	"VVJ|IS_NEQF",
1364 	"VVJ|IS_LEF",
1365 	/* 20 */
1366 	"VVJ|IS_GEF",
1367 	NULL,
1368 	NULL,
1369 	"WJ|CHANCE",
1370 	/* 24 */
1371 	NULL,
1372 	"IJ|IS_ROOM",
1373 	"IJ|IS_OBJECT",
1374 	"IWJ|ITEM_STATE_IS",
1375 	/* 28 */
1376 	"IBJ|OBJECT_HAS_FLAG",
1377 	NULL,
1378 	NULL,
1379 	"I|SET_NO_PARENT",
1380 	/* 32 */
1381 	NULL,
1382 	"II|SET_PARENT",
1383 	NULL,
1384 	NULL,
1385 	/* 36 */
1386 	"VV|MOVE",
1387 	NULL,
1388 	NULL,
1389 	NULL,
1390 	/* 40 */
1391 	NULL,
1392 	"V|ZERO",
1393 	"VW|SET",
1394 	"VW|ADD",
1395 	/* 44 */
1396 	"VW|SUB",
1397 	"VV|ADDF",
1398 	"VV|SUBF",
1399 	"VW|MUL",
1400 	/* 48 */
1401 	"VW|DIV",
1402 	"VV|MULF",
1403 	"VV|DIVF",
1404 	"VW|MOD",
1405 	/* 52 */
1406 	"VV|MODF",
1407 	"VW|RANDOM",
1408 	NULL,
1409 	"I|SET_A_PARENT",
1410 	/* 56 */
1411 	"IB|SET_CHILD2_BIT",
1412 	"IB|CLEAR_CHILD2_BIT",
1413 	"II|MAKE_SIBLING",
1414 	"I|INC_STATE",
1415 	/* 60 */
1416 	"I|DEC_STATE",
1417 	"IW|SET_STATE",
1418 	"V|SHOW_INT",
1419 	"T|SHOW_STRING_NL",
1420 	/* 64 */
1421 	"T|SHOW_STRING",
1422 	"WWWWWB|ADD_TEXT_BOX",
1423 	"BT|SET_SHORT_TEXT",
1424 	"BT|SET_LONG_TEXT",
1425 	/* 68 */
1426 	"x|END",
1427 	"x|DONE",
1428 	"V|SHOW_STRING_AR3",
1429 	"W|START_SUB",
1430 	/* 72 */
1431 	NULL,
1432 	NULL,
1433 	NULL,
1434 	NULL,
1435 	/* 76 */
1436 	"WW|ADD_TIMEOUT",
1437 	"J|IS_SUBJECT_ITEM_EMPTY",
1438 	"J|IS_OBJECT_ITEM_EMPTY",
1439 	"ITJ|CHILD_FR2_IS",
1440 	/* 80 */
1441 	"IIJ|IS_ITEM_EQ",
1442 	NULL,
1443 	"B|DEBUG",
1444 	"|RESCAN",
1445 	/* 84 */
1446 	NULL,
1447 	NULL,
1448 	NULL,
1449 	"W|COMMENT",
1450 	/* 88 */
1451 	"|STOP_ANIMATION",
1452 	"|RESTART_ANIMATION",
1453 	"IB|GET_PARENT",
1454 	"IB|GET_NEXT",
1455 	/* 92 */
1456 	"IB|GET_CHILDREN",
1457 	NULL,
1458 	NULL,
1459 	NULL,
1460 	/* 96 */
1461 	"WB|PICTURE",
1462 	"W|LOAD_ZONE",
1463 	"WWBWWW|ANIMATE",
1464 	"WW|STOP_ANIMATE",
1465 	/* 100 */
1466 	"|KILL_ANIMATE",
1467 	"BWWWWWW|DEFINE_WINDOW",
1468 	"B|CHANGE_WINDOW",
1469 	"|CLS",
1470 	/* 104 */
1471 	"B|CLOSE_WINDOW",
1472 	NULL,
1473 	NULL,
1474 	"WWWWWIW|ADD_BOX",
1475 	/* 108 */
1476 	"W|DEL_BOX",
1477 	"W|ENABLE_BOX",
1478 	"W|DISABLE_BOX",
1479 	"WWW|MOVE_BOX",
1480 	/* 112 */
1481 	NULL,
1482 	NULL,
1483 	"IB|DO_ICONS",
1484 	"IBJ|IS_CLASS",
1485 	/* 116 */
1486 	"IB|SET_CLASS",
1487 	"IB|UNSET_CLASS",
1488 	NULL,
1489 	"W|WAIT_SYNC",
1490 	/* 120 */
1491 	"W|SYNC",
1492 	"BI|DEF_OBJ",
1493 	NULL,
1494 	NULL,
1495 	/* 124 */
1496 	NULL,
1497 	"IJ|IS_SIBLING_WITH_A",
1498 	"IBB|DO_CLASS_ICONS",
1499 	"WWB|PLAY_TUNE",
1500 	/* 128 */
1501 	NULL,
1502 	NULL,
1503 	"Bww|SET_ADJ_NOUN",
1504 	NULL,
1505 	/* 132 */
1506 	"|SAVE_USER_GAME",
1507 	"|LOAD_USER_GAME",
1508 	"|STOP_TUNE",
1509 	"|PAUSE",
1510 	/* 136 */
1511 	"IV|COPY_SF",
1512 	"B|RESTORE_ICONS",
1513 	"|FREEZE_ZONES",
1514 	"II|SET_PARENT_SPECIAL",
1515 	/* 140 */
1516 	"|CLEAR_TIMERS",
1517 	"BI|SET_M1_OR_M3",
1518 	"WJ|IS_BOX",
1519 	"I|START_ITEM_SUB",
1520 	/* 144 */
1521 	NULL,
1522 	NULL,
1523 	NULL,
1524 	NULL,
1525 	/* 148 */
1526 	NULL,
1527 	NULL,
1528 	NULL,
1529 	"BI|STORE_ITEM",
1530 	/* 152 */
1531 	"BB|GET_ITEM",
1532 	"B|SET_BIT",
1533 	"B|CLEAR_BIT",
1534 	"BJ|IS_BIT_CLEAR",
1535 	/* 156 */
1536 	"BJ|IS_BIT_SET",
1537 	"IBB|GET_ITEM_PROP",
1538 	"IBW|SET_ITEM_PROP",
1539 	NULL,
1540 	/* 160 */
1541 	"B|SET_INK",
1542 	"BWBW|SETUP_TEXT",
1543 	"BBT|PRINT_STR",
1544 	"W|PLAY_EFFECT",
1545 	/* 164 */
1546 	"|getDollar2",
1547 	"IWWJ|IS_ADJ_NOUN",
1548 	"B|SET_BIT2",
1549 	"B|CLEAR_BIT2",
1550 	/* 168 */
1551 	"BJ|IS_BIT2_CLEAR",
1552 	"BJ|IS_BIT2_SET",
1553 	NULL,
1554 	NULL,
1555 	/* 172 */
1556 	NULL,
1557 	NULL,
1558 	NULL,
1559 	"|LOCK_ZONES",
1560 	/* 176 */
1561 	"|UNLOCK_ZONES",
1562 	"BBI|SCREEN_TEXT_POBJ",
1563 	"WWBB|GETPATHPOSN",
1564 	"BBB|SCREEN_TEXT_LONG_TEXT",
1565 	/* 180 */
1566 	"|MOUSE_ON",
1567 	"|MOUSE_OFF",
1568 	NULL,
1569 	NULL,
1570 	/* 184 */
1571 	"W|UNLOAD_ZONE",
1572 	NULL,
1573 	"|UNFREEZE_ZONES",
1574 	NULL,
1575 	/* 188 */
1576 	"BSJ|STRING2_IS",
1577 	"|CLEAR_MARKS",
1578 	"B|WAIT_FOR_MARK",
1579 };
1580 
1581 static const char *const simon2talkie_opcodeNameTable[256] = {
1582 	/* 0 */
1583 	"|NOT",
1584 	"IJ|AT",
1585 	"IJ|NOT_AT",
1586 	NULL,
1587 	/* 4 */
1588 	NULL,
1589 	"IJ|CARRIED",
1590 	"IJ|NOT_CARRIED",
1591 	"IIJ|IS_AT",
1592 	/* 8 */
1593 	NULL,
1594 	NULL,
1595 	NULL,
1596 	"VJ|IS_ZERO",
1597 	/* 12 */
1598 	"VJ|ISNOT_ZERO",
1599 	"VWJ|IS_EQ",
1600 	"VWJ|IS_NEQ",
1601 	"VWJ|IS_LE",
1602 	/* 16 */
1603 	"VWJ|IS_GE",
1604 	"VVJ|IS_EQF",
1605 	"VVJ|IS_NEQF",
1606 	"VVJ|IS_LEF",
1607 	/* 20 */
1608 	"VVJ|IS_GEF",
1609 	NULL,
1610 	NULL,
1611 	"WJ|CHANCE",
1612 	/* 24 */
1613 	NULL,
1614 	"IJ|IS_ROOM",
1615 	"IJ|IS_OBJECT",
1616 	"IWJ|ITEM_STATE_IS",
1617 	/* 28 */
1618 	"IBJ|OBJECT_HAS_FLAG",
1619 	NULL,
1620 	NULL,
1621 	"I|SET_NO_PARENT",
1622 	/* 32 */
1623 	NULL,
1624 	"II|SET_PARENT",
1625 	NULL,
1626 	NULL,
1627 	/* 36 */
1628 	"VV|MOVE",
1629 	NULL,
1630 	NULL,
1631 	NULL,
1632 	/* 40 */
1633 	NULL,
1634 	"V|ZERO",
1635 	"VW|SET",
1636 	"VW|ADD",
1637 	/* 44 */
1638 	"VW|SUB",
1639 	"VV|ADDF",
1640 	"VV|SUBF",
1641 	"VW|MUL",
1642 	/* 48 */
1643 	"VW|DIV",
1644 	"VV|MULF",
1645 	"VV|DIVF",
1646 	"VW|MOD",
1647 	/* 52 */
1648 	"VV|MODF",
1649 	"VW|RANDOM",
1650 	NULL,
1651 	"I|SET_A_PARENT",
1652 	/* 56 */
1653 	"IB|SET_CHILD2_BIT",
1654 	"IB|CLEAR_CHILD2_BIT",
1655 	"II|MAKE_SIBLING",
1656 	"I|INC_STATE",
1657 	/* 60 */
1658 	"I|DEC_STATE",
1659 	"IW|SET_STATE",
1660 	"V|SHOW_INT",
1661 	"T|SHOW_STRING_NL",
1662 	/* 64 */
1663 	"T|SHOW_STRING",
1664 	"WWWWWB|ADD_TEXT_BOX",
1665 	"BT|SET_SHORT_TEXT",
1666 	"BTw|SET_LONG_TEXT",
1667 	/* 68 */
1668 	"x|END",
1669 	"x|DONE",
1670 	"V|SHOW_STRING_AR3",
1671 	"W|START_SUB",
1672 	/* 72 */
1673 	NULL,
1674 	NULL,
1675 	NULL,
1676 	NULL,
1677 	/* 76 */
1678 	"WW|ADD_TIMEOUT",
1679 	"J|IS_SUBJECT_ITEM_EMPTY",
1680 	"J|IS_OBJECT_ITEM_EMPTY",
1681 	"ITJ|CHILD_FR2_IS",
1682 	/* 80 */
1683 	"IIJ|IS_ITEM_EQ",
1684 	NULL,
1685 	"B|DEBUG",
1686 	"|RESCAN",
1687 	/* 84 */
1688 	NULL,
1689 	NULL,
1690 	NULL,
1691 	"W|COMMENT",
1692 	/* 88 */
1693 	"|STOP_ANIMATION",
1694 	"|RESTART_ANIMATION",
1695 	"IB|GET_PARENT",
1696 	"IB|GET_NEXT",
1697 	/* 92 */
1698 	"IB|GET_CHILDREN",
1699 	NULL,
1700 	NULL,
1701 	NULL,
1702 	/* 96 */
1703 	"WB|PICTURE",
1704 	"W|LOAD_ZONE",
1705 	"WWBWWW|ANIMATE",
1706 	"WW|STOP_ANIMATE",
1707 	/* 100 */
1708 	"|KILL_ANIMATE",
1709 	"BWWWWWW|DEFINE_WINDOW",
1710 	"B|CHANGE_WINDOW",
1711 	"|CLS",
1712 	/* 104 */
1713 	"B|CLOSE_WINDOW",
1714 	NULL,
1715 	NULL,
1716 	"WWWWWIW|ADD_BOX",
1717 	/* 108 */
1718 	"W|DEL_BOX",
1719 	"W|ENABLE_BOX",
1720 	"W|DISABLE_BOX",
1721 	"WWW|MOVE_BOX",
1722 	/* 112 */
1723 	NULL,
1724 	NULL,
1725 	"IB|DO_ICONS",
1726 	"IBJ|IS_CLASS",
1727 	/* 116 */
1728 	"IB|SET_CLASS",
1729 	"IB|UNSET_CLASS",
1730 	NULL,
1731 	"W|WAIT_SYNC",
1732 	/* 120 */
1733 	"W|SYNC",
1734 	"BI|DEF_OBJ",
1735 	NULL,
1736 	NULL,
1737 	/* 124 */
1738 	NULL,
1739 	"IJ|IS_SIBLING_WITH_A",
1740 	"IBB|DO_CLASS_ICONS",
1741 	"WWB|PLAY_TUNE",
1742 	/* 128 */
1743 	NULL,
1744 	NULL,
1745 	"Bww|SET_ADJ_NOUN",
1746 	NULL,
1747 	/* 132 */
1748 	"|SAVE_USER_GAME",
1749 	"|LOAD_USER_GAME",
1750 	"|STOP_TUNE",
1751 	"|PAUSE",
1752 	/* 136 */
1753 	"IV|COPY_SF",
1754 	"B|RESTORE_ICONS",
1755 	"|FREEZE_ZONES",
1756 	"II|SET_PARENT_SPECIAL",
1757 	/* 140 */
1758 	"|CLEAR_TIMERS",
1759 	"BI|SET_M1_OR_M3",
1760 	"WJ|IS_BOX",
1761 	"I|START_ITEM_SUB",
1762 	/* 144 */
1763 	NULL,
1764 	NULL,
1765 	NULL,
1766 	NULL,
1767 	/* 148 */
1768 	NULL,
1769 	NULL,
1770 	NULL,
1771 	"BI|STORE_ITEM",
1772 	/* 152 */
1773 	"BB|GET_ITEM",
1774 	"B|SET_BIT",
1775 	"B|CLEAR_BIT",
1776 	"BJ|IS_BIT_CLEAR",
1777 	/* 156 */
1778 	"BJ|IS_BIT_SET",
1779 	"IBB|GET_ITEM_PROP",
1780 	"IBW|SET_ITEM_PROP",
1781 	NULL,
1782 	/* 160 */
1783 	"B|SET_INK",
1784 	"BWBW|SETUP_TEXT",
1785 	"BBTW|PRINT_STR",
1786 	"W|PLAY_EFFECT",
1787 	/* 164 */
1788 	"|getDollar2",
1789 	"IWWJ|IS_ADJ_NOUN",
1790 	"B|SET_BIT2",
1791 	"B|CLEAR_BIT2",
1792 	/* 168 */
1793 	"BJ|IS_BIT2_CLEAR",
1794 	"BJ|IS_BIT2_SET",
1795 	NULL,
1796 	NULL,
1797 	/* 172 */
1798 	NULL,
1799 	NULL,
1800 	NULL,
1801 	"|LOCK_ZONES",
1802 	/* 176 */
1803 	"|UNLOCK_ZONES",
1804 	"BBI|SCREEN_TEXT_POBJ",
1805 	"WWBB|GETPATHPOSN",
1806 	"BBB|SCREEN_TEXT_LONG_TEXT",
1807 	/* 180 */
1808 	"|MOUSE_ON",
1809 	"|MOUSE_OFF",
1810 	NULL,
1811 	NULL,
1812 	/* 184 */
1813 	"W|UNLOAD_ZONE",
1814 	NULL,
1815 	"|UNFREEZE_ZONES",
1816 	NULL,
1817 	/* 188 */
1818 	"BSJ|STRING2_IS",
1819 	"|CLEAR_MARKS",
1820 	"B|WAIT_FOR_MARK",
1821 };
1822 
1823 static const char *const feeblefiles_opcodeNameTable[256] = {
1824 	/* 0 */
1825 	"|NOT",
1826 	"IJ|AT",
1827 	"IJ|NOT_AT",
1828 	NULL,
1829 	/* 4 */
1830 	NULL,
1831 	"IJ|CARRIED",
1832 	"IJ|NOT_CARRIED",
1833 	"IIJ|IS_AT",
1834 	/* 8 */
1835 	NULL,
1836 	NULL,
1837 	NULL,
1838 	"VJ|IS_ZERO",
1839 	/* 12 */
1840 	"VJ|ISNOT_ZERO",
1841 	"VWJ|IS_EQ",
1842 	"VWJ|IS_NEQ",
1843 	"VWJ|IS_LE",
1844 	/* 16 */
1845 	"VWJ|IS_GE",
1846 	"VVJ|IS_EQF",
1847 	"VVJ|IS_NEQF",
1848 	"VVJ|IS_LEF",
1849 	/* 20 */
1850 	"VVJ|IS_GEF",
1851 	NULL,
1852 	NULL,
1853 	"WJ|CHANCE",
1854 	/* 24 */
1855 	NULL,
1856 	"IJ|IS_ROOM",
1857 	"IJ|IS_OBJECT",
1858 	"IWJ|ITEM_STATE_IS",
1859 	/* 28 */
1860 	"IBJ|OBJECT_HAS_FLAG",
1861 	NULL,
1862 	NULL,
1863 	"I|SET_NO_PARENT",
1864 	/* 32 */
1865 	NULL,
1866 	"II|SET_PARENT",
1867 	NULL,
1868 	NULL,
1869 	/* 36 */
1870 	"VV|MOVE",
1871 	"B|JUMP_OUT",
1872 	NULL,
1873 	NULL,
1874 	/* 40 */
1875 	NULL,
1876 	"V|ZERO",
1877 	"VW|SET",
1878 	"VW|ADD",
1879 	/* 44 */
1880 	"VW|SUB",
1881 	"VV|ADDF",
1882 	"VV|SUBF",
1883 	"VW|MUL",
1884 	/* 48 */
1885 	"VW|DIV",
1886 	"VV|MULF",
1887 	"VV|DIVF",
1888 	"VW|MOD",
1889 	/* 52 */
1890 	"VV|MODF",
1891 	"VW|RANDOM",
1892 	NULL,
1893 	"I|SET_A_PARENT",
1894 	/* 56 */
1895 	"IB|SET_CHILD2_BIT",
1896 	"IB|CLEAR_CHILD2_BIT",
1897 	"II|MAKE_SIBLING",
1898 	"I|INC_STATE",
1899 	/* 60 */
1900 	"I|DEC_STATE",
1901 	"IW|SET_STATE",
1902 	"V|SHOW_INT",
1903 	"T|SHOW_STRING_NL",
1904 	/* 64 */
1905 	"T|SHOW_STRING",
1906 	"WWWWWB|ADD_TEXT_BOX",
1907 	"BT|SET_SHORT_TEXT",
1908 	"BTw|SET_LONG_TEXT",
1909 	/* 68 */
1910 	"x|END",
1911 	"x|DONE",
1912 	"V|SHOW_STRING_AR3",
1913 	"W|START_SUB",
1914 	/* 72 */
1915 	NULL,
1916 	NULL,
1917 	NULL,
1918 	NULL,
1919 	/* 76 */
1920 	"WW|ADD_TIMEOUT",
1921 	"J|IS_SUBJECT_ITEM_EMPTY",
1922 	"J|IS_OBJECT_ITEM_EMPTY",
1923 	"ITJ|CHILD_FR2_IS",
1924 	/* 80 */
1925 	"IIJ|IS_ITEM_EQ",
1926 	NULL,
1927 	"B|DEBUG",
1928 	"|RESCAN",
1929 	/* 84 */
1930 	NULL,
1931 	NULL,
1932 	NULL,
1933 	"W|COMMENT",
1934 	/* 88 */
1935 	"|STOP_ANIMATION",
1936 	"|RESTART_ANIMATION",
1937 	"IB|GET_PARENT",
1938 	"IB|GET_NEXT",
1939 	/* 92 */
1940 	"IB|GET_CHILDREN",
1941 	NULL,
1942 	NULL,
1943 	NULL,
1944 	/* 96 */
1945 	"WB|PICTURE",
1946 	"W|LOAD_ZONE",
1947 	"WWBWWW|ANIMATE",
1948 	"WW|STOP_ANIMATE",
1949 	/* 100 */
1950 	"|KILL_ANIMATE",
1951 	"BWWWWWW|DEFINE_WINDOW",
1952 	"B|CHANGE_WINDOW",
1953 	"|CLS",
1954 	/* 104 */
1955 	"B|CLOSE_WINDOW",
1956 	NULL,
1957 	NULL,
1958 	"WWWWWIW|ADD_BOX",
1959 	/* 108 */
1960 	"W|DEL_BOX",
1961 	"W|ENABLE_BOX",
1962 	"W|DISABLE_BOX",
1963 	"WWW|MOVE_BOX",
1964 	/* 112 */
1965 	NULL,
1966 	NULL,
1967 	"IB|DO_ICONS",
1968 	"IBJ|IS_CLASS",
1969 	/* 116 */
1970 	"IB|SET_CLASS",
1971 	"IB|UNSET_CLASS",
1972 	NULL,
1973 	"W|WAIT_SYNC",
1974 	/* 120 */
1975 	"W|SYNC",
1976 	"BI|DEF_OBJ",
1977 	"|ORACLE_TEXT_DOWN",
1978 	"|ORACLE_TEXT_UP",
1979 	/* 124 */
1980 	"WJ|IF_TIME",
1981 	"IJ|IS_SIBLING_WITH_A",
1982 	"IBB|DO_CLASS_ICONS",
1983 	NULL,
1984 	/* 128 */
1985 	NULL,
1986 	NULL,
1987 	"Bww|SET_ADJ_NOUN",
1988 	"|SET_TIME",
1989 	/* 132 */
1990 	"|SAVE_USER_GAME",
1991 	"|LOAD_USER_GAME",
1992 	"|LIST_SAVED_GAMES",
1993 	"|SWITCH_CD",
1994 	/* 136 */
1995 	"IV|COPY_SF",
1996 	"B|RESTORE_ICONS",
1997 	"|FREEZE_ZONES",
1998 	"II|SET_PARENT_SPECIAL",
1999 	/* 140 */
2000 	"|CLEAR_TIMERS",
2001 	"BI|SET_M1_OR_M3",
2002 	"WJ|IS_BOX",
2003 	"I|START_ITEM_SUB",
2004 	/* 144 */
2005 	NULL,
2006 	NULL,
2007 	NULL,
2008 	NULL,
2009 	/* 148 */
2010 	NULL,
2011 	NULL,
2012 	NULL,
2013 	"BI|STORE_ITEM",
2014 	/* 152 */
2015 	"BB|GET_ITEM",
2016 	"B|SET_BIT",
2017 	"B|CLEAR_BIT",
2018 	"BJ|IS_BIT_CLEAR",
2019 	/* 156 */
2020 	"BJ|IS_BIT_SET",
2021 	"IBB|GET_ITEM_PROP",
2022 	"IBW|SET_ITEM_PROP",
2023 	NULL,
2024 	/* 160 */
2025 	"B|SET_INK",
2026 	"BWWW|SETUP_TEXT",
2027 	"BBTW|PRINT_STR",
2028 	"W|PLAY_EFFECT",
2029 	/* 164 */
2030 	"|getDollar2",
2031 	"IWWJ|IS_ADJ_NOUN",
2032 	"B|SET_BIT2",
2033 	"B|CLEAR_BIT2",
2034 	/* 168 */
2035 	"BJ|IS_BIT2_CLEAR",
2036 	"BJ|IS_BIT2_SET",
2037 	NULL,
2038 	"W|HYPERLINK_ON",
2039 	/* 172 */
2040 	"|HYPERLINK_OFF",
2041 	"|CHECK_PATHS",
2042 	NULL,
2043 	"|LOCK_ZONES",
2044 	/* 176 */
2045 	"|UNLOCK_ZONES",
2046 	"BBI|SCREEN_TEXT_POBJ",
2047 	"WWBB|GETPATHPOSN",
2048 	"BBB|SCREEN_TEXT_LONG_TEXT",
2049 	/* 180 */
2050 	"|MOUSE_ON",
2051 	"|MOUSE_OFF",
2052 	"T|LOAD_VIDEO",
2053 	"|PLAY_VIDEO",
2054 	/* 184 */
2055 	"W|UNLOAD_ZONE",
2056 	NULL,
2057 	"|UNFREEZE_ZONES",
2058 	"|CENTER_SCROLL",
2059 	/* 188 */
2060 	"BSJ|STRING2_IS",
2061 	"|CLEAR_MARKS",
2062 	"B|WAIT_FOR_MARK",
2063 	"|RESET_PV_COUNT",
2064 	/* 192 */
2065 	"BBBB|SET_PATH_VALUES",
2066 	"|STOP_CLOCK",
2067 	"|RESTART_CLOCK",
2068 	"BBBB|SET_COLOR",
2069 	/* 196 */
2070 	"B|B3_SET",
2071 	"B|B3_CLEAR",
2072 	"B|B3_ZERO",
2073 	"B|B3_NOT_ZERO",
2074 };
2075 
2076 static const char *const puzzlepack_opcodeNameTable[256] = {
2077 	/* 0 */
2078 	"|NOT",
2079 	"IJ|AT",
2080 	"IJ|NOT_AT",
2081 	NULL,
2082 	/* 4 */
2083 	NULL,
2084 	"IJ|CARRIED",
2085 	"IJ|NOT_CARRIED",
2086 	"IIJ|IS_AT",
2087 	/* 8 */
2088 	NULL,
2089 	NULL,
2090 	NULL,
2091 	"WJ|IS_ZERO",
2092 	/* 12 */
2093 	"WJ|ISNOT_ZERO",
2094 	"WWJ|IS_EQ",
2095 	"WWJ|IS_NEQ",
2096 	"WWJ|IS_LE",
2097 	/* 16 */
2098 	"WWJ|IS_GE",
2099 	"WWJ|IS_EQF",
2100 	"WWJ|IS_NEQF",
2101 	"WWJ|IS_LEF",
2102 	/* 20 */
2103 	"WWJ|IS_GEF",
2104 	NULL,
2105 	NULL,
2106 	"WJ|CHANCE",
2107 	/* 24 */
2108 	NULL,
2109 	"IJ|IS_ROOM",
2110 	"IJ|IS_OBJECT",
2111 	"IWJ|ITEM_STATE_IS",
2112 	/* 28 */
2113 	"IBJ|OBJECT_HAS_FLAG",
2114 	NULL,
2115 	"I|MINIMIZE_WINDOW",
2116 	"I|SET_NO_PARENT",
2117 	/* 32 */
2118 	"I|RESTORE_OOOPS_POSITION",
2119 	"II|SET_PARENT",
2120 	NULL,
2121 	NULL,
2122 	/* 36 */
2123 	"WW|MOVE",
2124 	"B|CHECK_TILES",
2125 	"IB|LOAD_MOUSE_IMAGE",
2126 	NULL,
2127 	/* 40 */
2128 	NULL,
2129 	"W|ZERO",
2130 	"WW|SET",
2131 	"WW|ADD",
2132 	/* 44 */
2133 	"WW|SUB",
2134 	"WW|ADDF",
2135 	"WW|SUBF",
2136 	"WW|MUL",
2137 	/* 48 */
2138 	"WW|DIV",
2139 	"WW|MULF",
2140 	"WW|DIVF",
2141 	"WW|MOD",
2142 	/* 52 */
2143 	"WW|MODF",
2144 	"WW|RANDOM",
2145 	NULL,
2146 	"I|SET_A_PARENT",
2147 	/* 56 */
2148 	"IB|SET_CHILD2_BIT",
2149 	"IB|CLEAR_CHILD2_BIT",
2150 	"II|MAKE_SIBLING",
2151 	"I|INC_STATE",
2152 	/* 60 */
2153 	"I|DEC_STATE",
2154 	"IW|SET_STATE",
2155 	"W|SHOW_INT",
2156 	"T|SHOW_STRING_NL",
2157 	/* 64 */
2158 	"T|SHOW_STRING",
2159 	"WWWWWB|ADD_TEXT_BOX",
2160 	"BTWW|SET_SHORT_TEXT",
2161 	"BTw|SET_LONG_TEXT",
2162 	/* 68 */
2163 	"x|END",
2164 	"x|DONE",
2165 	"V|SHOW_STRING_AR3",
2166 	"W|START_SUB",
2167 	/* 72 */
2168 	NULL,
2169 	NULL,
2170 	NULL,
2171 	NULL,
2172 	/* 76 */
2173 	"WW|ADD_TIMEOUT",
2174 	"J|IS_SUBJECT_ITEM_EMPTY",
2175 	"J|IS_OBJECT_ITEM_EMPTY",
2176 	"ITJ|CHILD_FR2_IS",
2177 	/* 80 */
2178 	"IIJ|IS_ITEM_EQ",
2179 	NULL,
2180 	"B|DEBUG",
2181 	"|RESCAN",
2182 	/* 84 */
2183 	NULL,
2184 	NULL,
2185 	NULL,
2186 	"W|COMMENT",
2187 	/* 88 */
2188 	"|STOP_ANIMATION",
2189 	"|RESTART_ANIMATION",
2190 	"IB|GET_PARENT",
2191 	"IB|GET_NEXT",
2192 	/* 92 */
2193 	"IB|GET_CHILDREN",
2194 	NULL,
2195 	NULL,
2196 	NULL,
2197 	/* 96 */
2198 	"WB|PICTURE",
2199 	"W|LOAD_ZONE",
2200 	"WWBWWW|ANIMATE",
2201 	"WW|STOP_ANIMATE",
2202 	/* 100 */
2203 	"|KILL_ANIMATE",
2204 	"BWWWWWW|DEFINE_WINDOW",
2205 	"B|CHANGE_WINDOW",
2206 	"|CLS",
2207 	/* 104 */
2208 	"B|CLOSE_WINDOW",
2209 	"B|LOAD_HIGH_SCORES",
2210 	"BB|CHECK_HIGH_SCORES",
2211 	"WWWWWIW|ADD_BOX",
2212 	/* 108 */
2213 	"W|DEL_BOX",
2214 	"W|ENABLE_BOX",
2215 	"W|DISABLE_BOX",
2216 	"WWW|MOVE_BOX",
2217 	/* 112 */
2218 	NULL,
2219 	NULL,
2220 	"IB|DO_ICONS",
2221 	"IBJ|IS_CLASS",
2222 	/* 116 */
2223 	"IB|SET_CLASS",
2224 	"IB|UNSET_CLASS",
2225 	NULL,
2226 	"W|WAIT_SYNC",
2227 	/* 120 */
2228 	"W|SYNC",
2229 	"BI|DEF_OBJ",
2230 	"|ORACLE_TEXT_DOWN",
2231 	"|ORACLE_TEXT_UP",
2232 	/* 124 */
2233 	"WJ|IF_TIME",
2234 	"IJ|IS_SIBLING_WITH_A",
2235 	"IBB|DO_CLASS_ICONS",
2236 	NULL,
2237 	/* 128 */
2238 	NULL,
2239 	NULL,
2240 	"Bww|SET_ADJ_NOUN",
2241 	"|SET_TIME",
2242 	/* 132 */
2243 	"|SAVE_USER_GAME",
2244 	"|LOAD_USER_GAME",
2245 	"|LIST_SAVED_GAMES",
2246 	"|SWITCH_CD",
2247 	/* 136 */
2248 	"IV|COPY_SF",
2249 	"B|RESTORE_ICONS",
2250 	"|FREEZE_ZONES",
2251 	"II|SET_PARENT_SPECIAL",
2252 	/* 140 */
2253 	"|CLEAR_TIMERS",
2254 	"BI|SET_M1_OR_M3",
2255 	"WJ|IS_BOX",
2256 	"I|START_ITEM_SUB",
2257 	/* 144 */
2258 	NULL,
2259 	NULL,
2260 	NULL,
2261 	NULL,
2262 	/* 148 */
2263 	NULL,
2264 	NULL,
2265 	NULL,
2266 	"BI|STORE_ITEM",
2267 	/* 152 */
2268 	"BB|GET_ITEM",
2269 	"W|SET_BIT",
2270 	"W|CLEAR_BIT",
2271 	"WJ|IS_BIT_CLEAR",
2272 	/* 156 */
2273 	"WJ|IS_BIT_SET",
2274 	"IBB|GET_ITEM_PROP",
2275 	"IBW|SET_ITEM_PROP",
2276 	NULL,
2277 	/* 160 */
2278 	"B|SET_INK",
2279 	"BWWW|SETUP_TEXT",
2280 	"BBTW|PRINT_STR",
2281 	"W|PLAY_EFFECT",
2282 	/* 164 */
2283 	"|getDollar2",
2284 	"IWWJ|IS_ADJ_NOUN",
2285 	"B|SET_BIT2",
2286 	"B|CLEAR_BIT2",
2287 	/* 168 */
2288 	"BJ|IS_BIT2_CLEAR",
2289 	"BJ|IS_BIT2_SET",
2290 	NULL,
2291 	"W|HYPERLINK_ON",
2292 	/* 172 */
2293 	"|HYPERLINK_OFF",
2294 	"|SAVE_OOPS_POSITION",
2295 	NULL,
2296 	"|LOCK_ZONES",
2297 	/* 176 */
2298 	"|UNLOCK_ZONES",
2299 	"BBI|SCREEN_TEXT_POBJ",
2300 	"WWBB|GETPATHPOSN",
2301 	"BBB|SCREEN_TEXT_LONG_TEXT",
2302 	/* 180 */
2303 	"|MOUSE_ON",
2304 	"|MOUSE_OFF",
2305 	"T|LOAD_VIDEO",
2306 	"|PLAY_VIDEO",
2307 	/* 184 */
2308 	"W|UNLOAD_ZONE",
2309 	NULL,
2310 	"|UNFREEZE_ZONES",
2311 	"|RESET_GAME_TIME",
2312 	/* 188 */
2313 	"BSJ|STRING2_IS",
2314 	"|CLEAR_MARKS",
2315 	"B|WAIT_FOR_MARK",
2316 	"|RESET_PV_COUNT",
2317 	/* 192 */
2318 	"BBBB|SET_PATH_VALUES",
2319 	"|STOP_CLOCK",
2320 	"|RESTART_CLOCK",
2321 	"BBBB|SET_COLOR",
2322 };
2323 
2324 const char *const pn_videoOpcodeNameTable[] = {
2325 	/* 0 */
2326 	"x|RET",
2327 	"ddd|FADEOUT",
2328 	"d|CALL",
2329 	"ddddd|NEW_SPRITE",
2330 	/* 4 */
2331 	"ddd|FADEIN",
2332 	"vdj|IF_EQUAL",
2333 	"dj|IF_OBJECT_HERE",
2334 	"dj|IF_OBJECT_NOT_HERE",
2335 	/* 8 */
2336 	"ddj|IF_OBJECT_IS_AT",
2337 	"ddj|IF_OBJECT_STATE_IS",
2338 	"dddd|DRAW",
2339 	"d|ON_STOP",
2340 	/* 12 */
2341 	"|TEST_STOP",
2342 	"d|DELAY",
2343 	"d|SET_SPRITE_OFFSET_X",
2344 	"d|SET_SPRITE_OFFSET_Y",
2345 	/* 16 */
2346 	"|SYNC",
2347 	"d|WAIT_SYNC",
2348 	"d|WAIT_END",
2349 	"i|JUMP_REL",
2350 	/* 20 */
2351 	"|CHAIN_TO",
2352 	"dd|SET_REPEAT",
2353 	"i|END_REPEAT",
2354 	"d|SET_PALETTE",
2355 	/* 24 */
2356 	"d|SET_PRIORITY",
2357 	"diid|SET_SPRITE_XY",
2358 	"x|HALT_SPRITE",
2359 	"ddddd|SET_WINDOW",
2360 	/* 28 */
2361 	"|RESET",
2362 	"dddd|PLAY_SOUND",
2363 	"|STOP_ALL_SOUNDS",
2364 	"d|SET_FRAME_RATE",
2365 	/* 32 */
2366 	"d|SET_WINDOW",
2367 	"|SAVE_SCREEN",
2368 	"|MOUSE_ON",
2369 	"|MOUSE_OFF",
2370 	/* 36 */
2371 	"|PAUSE",
2372 	"d|VC_37",
2373 	"dd|CLEAR_WINDOW",
2374 	"d|SET_VOLUME",
2375 	/* 40 */
2376 	"dd|SET_WINDOW_IMAGE",
2377 	"dd|POKE_PALETTE",
2378 	"|VC_42",
2379 	"|VC_43",
2380 	/* 44 */
2381 	"d|ENABLE_BOX",
2382 	"d|DISABLE_BOX",
2383 	"d|MAX_BOX",
2384 	"dd|VC_47",
2385 	/* 48 */
2386 	"dd|SPEC_EFFECT",
2387 	"|VC_49",
2388 	"ddddddddd|SET_BOX",
2389 	"v|IF_VAR_NOT_ZERO",
2390 	/* 52 */
2391 	"vd|SET_VAR",
2392 	"vd|ADD_VAR",
2393 	"vd|SUB_VAR",
2394 	"|SCAN_FLAGS",
2395 };
2396 
2397 const char *const elvira1_videoOpcodeNameTable[] = {
2398 	/* 0 */
2399 	"x|RET",
2400 	"ddd|FADEOUT",
2401 	"d|CALL",
2402 	"ddddd|NEW_SPRITE",
2403 	/* 4 */
2404 	"ddd|FADEIN",
2405 	"vdj|IF_EQUAL",
2406 	"dj|IF_OBJECT_HERE",
2407 	"dj|IF_OBJECT_NOT_HERE",
2408 	/* 8 */
2409 	"ddj|IF_OBJECT_IS_AT",
2410 	"ddj|IF_OBJECT_STATE_IS",
2411 	"dddd|DRAW",
2412 	"d|ON_STOP",
2413 	/* 12 */
2414 	"|TEST_STOP",
2415 	"d|DELAY",
2416 	"d|SET_SPRITE_OFFSET_X",
2417 	"d|SET_SPRITE_OFFSET_Y",
2418 	/* 16 */
2419 	"d|SYNC",
2420 	"d|WAIT_SYNC",
2421 	"d|WAIT_END",
2422 	"i|JUMP_REL",
2423 	/* 20 */
2424 	"|CHAIN_TO",
2425 	"dd|SET_REPEAT",
2426 	"i|END_REPEAT",
2427 	"d|SET_PALETTE",
2428 	/* 24 */
2429 	"d|SET_PRIORITY",
2430 	"diid|SET_SPRITE_XY",
2431 	"x|HALT_SPRITE",
2432 	"ddddd|SET_WINDOW",
2433 	/* 28 */
2434 	"|RESET",
2435 	"dddd|PLAY_SOUND",
2436 	"|STOP_ALL_SOUNDS",
2437 	"d|SET_FRAME_RATE",
2438 	/* 32 */
2439 	"d|SET_WINDOW",
2440 	"|SAVE_SCREEN",
2441 	"|MOUSE_ON",
2442 	"|MOUSE_OFF",
2443 	/* 36 */
2444 	"|VC_36",
2445 	"d|VC_37",
2446 	"dd|CLEAR_WINDOW",
2447 	"d|VC_39",
2448 	/* 40 */
2449 	"dd|SET_WINDOW_IMAGE",
2450 	"dd|POKE_PALETTE",
2451 	"|VC_42",
2452 	"|VC_43",
2453 	/* 44 */
2454 	"d|VC_44",
2455 	"d|VC_45",
2456 	"d|VC_46",
2457 	"dd|VC_47",
2458 	/* 48 */
2459 	"dd|VC_48",
2460 	"|VC_49",
2461 	"ddddddddd|VC_50",
2462 	"v|IF_VAR_NOT_ZERO",
2463 	/* 52 */
2464 	"vd|SET_VAR",
2465 	"vd|ADD_VAR",
2466 	"vd|SUB_VAR",
2467 	"|VC_55",
2468 	"dd|DELAY_IF_NOT_EQ",
2469 };
2470 
2471 const char *const elvira2_videoOpcodeNameTable[] = {
2472 	/* 0 */
2473 	"x|RET",
2474 	"ddd|FADEOUT",
2475 	"d|CALL",
2476 	"ddddd|NEW_SPRITE",
2477 	/* 4 */
2478 	"ddd|FADEIN",
2479 	"vdj|IF_EQUAL",
2480 	"dj|IF_OBJECT_HERE",
2481 	"dj|IF_OBJECT_NOT_HERE",
2482 	/* 8 */
2483 	"ddj|IF_OBJECT_IS_AT",
2484 	"ddj|IF_OBJECT_STATE_IS",
2485 	"dddd|DRAW",
2486 	"d|ON_STOP",
2487 	/* 12 */
2488 	"w|DELAY",
2489 	"d|SET_SPRITE_OFFSET_X",
2490 	"d|SET_SPRITE_OFFSET_Y",
2491 	"d|SYNC",
2492 	/* 16 */
2493 	"d|WAIT_SYNC",
2494 	"d|WAIT_END",
2495 	"i|JUMP_REL",
2496 	"|CHAIN_TO",
2497 	/* 20 */
2498 	"dd|SET_REPEAT",
2499 	"i|END_REPEAT",
2500 	"d|SET_PALETTE",
2501 	"d|SET_PRIORITY",
2502 	/* 24 */
2503 	"diid|SET_SPRITE_XY",
2504 	"x|HALT_SPRITE",
2505 	"ddddd|SET_WINDOW",
2506 	"|RESET",
2507 	/* 28 */
2508 	"dddd|PLAY_SOUND",
2509 	"|STOP_ALL_SOUNDS",
2510 	"d|SET_FRAME_RATE",
2511 	"d|SET_WINDOW",
2512 	/* 32 */
2513 	"|SAVE_SCREEN",
2514 	"|MOUSE_ON",
2515 	"|MOUSE_OFF",
2516 	"dd|CLEAR_WINDOW",
2517 	/* 36 */
2518 	"dd|SET_WINDOW_IMAGE",
2519 	"dd|POKE_PALETTE",
2520 	"vj|IF_VAR_NOT_ZERO",
2521 	"vd|SET_VAR",
2522 	/* 40 */
2523 	"vd|ADD_VAR",
2524 	"vd|SUB_VAR",
2525 	"vd|DELAY_IF_NOT_EQ",
2526 	"dj|IF_BIT_SET",
2527 	/* 44 */
2528 	"dj|IF_BIT_CLEAR",
2529 	"dd|SET_WINDOW_PALETTE",
2530 	"d|SET_PALETTE_SLOT1",
2531 	"d|SET_PALETTE_SLOT2",
2532 	/* 48 */
2533 	"d|SET_PALETTE_SLOT3",
2534 	"d|SET_BIT",
2535 	"d|CLEAR_BIT",
2536 	"d|ENABLE_BOX",
2537 	/* 52 */
2538 	"d|PLAY_EFFECT",
2539 	"dd|DISSOLVE_IN",
2540 	"ddd|DISSOLVE_OUT",
2541 	"ddd|MOVE_BOX",
2542 	/* 56 */
2543 	"|FULL_SCREEN",
2544 	"|BLACK_PALETTE",
2545 	"|CHECK_CODE_WHEEL",
2546 	"j|IF_EGA",
2547 	/* 60 */
2548 	"d|STOP_ANIMATE",
2549 	"d|INTRO",
2550 	"|FASTFADEOUT",
2551 	"|FASTFADEIN",
2552 };
2553 
2554 const char *const ww_videoOpcodeNameTable[] = {
2555 	/* 0 */
2556 	"x|RET",
2557 	"ddd|FADEOUT",
2558 	"w|CALL",
2559 	"ddddd|NEW_SPRITE",
2560 	/* 4 */
2561 	"ddd|FADEIN",
2562 	"vdj|IF_EQUAL",
2563 	"dj|IF_OBJECT_HERE",
2564 	"dj|IF_OBJECT_NOT_HERE",
2565 	/* 8 */
2566 	"ddj|IF_OBJECT_IS_AT",
2567 	"ddj|IF_OBJECT_STATE_IS",
2568 	"dddd|DRAW",
2569 	"d|ON_STOP",
2570 	/* 12 */
2571 	"w|DELAY",
2572 	"d|SET_SPRITE_OFFSET_X",
2573 	"d|SET_SPRITE_OFFSET_Y",
2574 	"d|SYNC",
2575 	/* 16 */
2576 	"d|WAIT_SYNC",
2577 	"d|WAIT_END",
2578 	"i|JUMP_REL",
2579 	"|CHAIN_TO",
2580 	/* 20 */
2581 	"dd|SET_REPEAT",
2582 	"i|END_REPEAT",
2583 	"d|SET_PALETTE",
2584 	"d|SET_PRIORITY",
2585 	/* 24 */
2586 	"wiid|SET_SPRITE_XY",
2587 	"x|HALT_SPRITE",
2588 	"ddddd|SET_WINDOW",
2589 	"|RESET",
2590 	/* 28 */
2591 	"dddd|PLAY_SOUND",
2592 	"|STOP_ALL_SOUNDS",
2593 	"d|SET_FRAME_RATE",
2594 	"d|SET_WINDOW",
2595 	/* 32 */
2596 	"|SAVE_SCREEN",
2597 	"|MOUSE_ON",
2598 	"|MOUSE_OFF",
2599 	"dd|CLEAR_WINDOW",
2600 	/* 36 */
2601 	"dd|SET_WINDOW_IMAGE",
2602 	"dd|POKE_PALETTE",
2603 	"vj|IF_VAR_NOT_ZERO",
2604 	"vd|SET_VAR",
2605 	/* 40 */
2606 	"vd|ADD_VAR",
2607 	"vd|SUB_VAR",
2608 	"vd|DELAY_IF_NOT_EQ",
2609 	"dj|IF_BIT_SET",
2610 	/* 44 */
2611 	"dj|IF_BIT_CLEAR",
2612 	"dd|SET_WINDOW_PALETTE",
2613 	"d|SET_PALETTE_SLOT1",
2614 	"d|SET_PALETTE_SLOT2",
2615 	/* 48 */
2616 	"d|SET_PALETTE_SLOT3",
2617 	"d|SET_BIT",
2618 	"d|CLEAR_BIT",
2619 	"d|ENABLE_BOX",
2620 	/* 52 */
2621 	"d|PLAY_EFFECT",
2622 	"dd|DISSOLVE_IN",
2623 	"ddd|DISSOLVE_OUT",
2624 	"ddd|MOVE_BOX",
2625 	/* 56 */
2626 	"|FULL_SCREEN",
2627 	"|BLACK_PALETTE",
2628 	"|CHECK_CODE_WHEEL",
2629 	"j|IF_EGA",
2630 	/* 60 */
2631 	"d|STOP_ANIMATE",
2632 	"d|INTRO",
2633 	"|FASTFADEOUT",
2634 	"|FASTFADEIN",
2635 };
2636 
2637 const char *const simon1_videoOpcodeNameTable[] = {
2638 	/* 0 */
2639 	"x|RET",
2640 	"ddd|FADEOUT",
2641 	"w|CALL",
2642 	"ddddd|NEW_SPRITE",
2643 	/* 4 */
2644 	"ddd|FADEIN",
2645 	"vdj|IF_EQUAL",
2646 	"dj|IF_OBJECT_HERE",
2647 	"dj|IF_OBJECT_NOT_HERE",
2648 	/* 8 */
2649 	"ddj|IF_OBJECT_IS_AT",
2650 	"ddj|IF_OBJECT_STATE_IS",
2651 	"ddddd|DRAW",
2652 	"|CLEAR_PATHFIND_ARRAY",
2653 	/* 12 */
2654 	"w|DELAY",
2655 	"d|SET_SPRITE_OFFSET_X",
2656 	"d|SET_SPRITE_OFFSET_Y",
2657 	"d|SYNC",
2658 	/* 16 */
2659 	"d|WAIT_SYNC",
2660 	"dq|SET_PATHFIND_ITEM",
2661 	"i|JUMP_REL",
2662 	"|CHAIN_TO",
2663 	/* 20 */
2664 	"dd|SET_REPEAT",
2665 	"i|END_REPEAT",
2666 	"dd|SET_PALETTE",
2667 	"d|SET_PRIORITY",
2668 	/* 24 */
2669 	"wiid|SET_SPRITE_XY",
2670 	"x|HALT_SPRITE",
2671 	"ddddd|SET_WINDOW",
2672 	"|RESET",
2673 	/* 28 */
2674 	"dddd|PLAY_SOUND",
2675 	"|STOP_ALL_SOUNDS",
2676 	"d|SET_FRAME_RATE",
2677 	"d|SET_WINDOW",
2678 	/* 32 */
2679 	"vv|COPY_VAR",
2680 	"|MOUSE_ON",
2681 	"|MOUSE_OFF",
2682 	"dd|CLEAR_WINDOW",
2683 	/* 36 */
2684 	"dd|SET_WINDOW_IMAGE",
2685 	"v|SET_SPRITE_OFFSET_Y",
2686 	"vj|IF_VAR_NOT_ZERO",
2687 	"vd|SET_VAR",
2688 	/* 40 */
2689 	"vd|ADD_VAR",
2690 	"vd|SUB_VAR",
2691 	"vd|DELAY_IF_NOT_EQ",
2692 	"dj|IF_BIT_SET",
2693 	/* 44 */
2694 	"dj|IF_BIT_CLEAR",
2695 	"v|SET_SPRITE_X",
2696 	"v|SET_SPRITE_Y",
2697 	"vv|ADD_VAR_F",
2698 	/* 48 */
2699 	"|COMPUTE_YOFS",
2700 	"d|SET_BIT",
2701 	"d|CLEAR_BIT",
2702 	"d|ENABLE_BOX",
2703 	/* 52 */
2704 	"d|PLAY_EFFECT",
2705 	"dd|DUMMY_53",
2706 	"ddd|DUMMY_54",
2707 	"ddd|MOVE_BOX",
2708 	/* 56 */
2709 	"|DUMMY_56",
2710 	"|BLACK_PALETTE",
2711 	"|DUMMY_58",
2712 	"j|IF_SPEECH",
2713 	/* 60 */
2714 	"d|STOP_ANIMATE",
2715 	"wdd|MASK",
2716 	"|FASTFADEOUT",
2717 	"|FASTFADEIN",
2718 };
2719 
2720 const char *const simon2_videoOpcodeNameTable[] = {
2721 	/* 0 */
2722 	"x|RET",
2723 	"ddd|FADEOUT",
2724 	"w|CALL",
2725 	"dddddd|NEW_SPRITE",
2726 	/* 4 */
2727 	"ddd|FADEIN",
2728 	"vdj|IF_EQUAL",
2729 	"dj|IF_OBJECT_HERE",
2730 	"dj|IF_OBJECT_NOT_HERE",
2731 	/* 8 */
2732 	"ddj|IF_OBJECT_IS_AT",
2733 	"ddj|IF_OBJECT_STATE_IS",
2734 	"ddddb|DRAW",
2735 	"|CLEAR_PATHFIND_ARRAY",
2736 	/* 12 */
2737 	"b|DELAY",
2738 	"d|SET_SPRITE_OFFSET_X",
2739 	"d|SET_SPRITE_OFFSET_Y",
2740 	"d|SYNC",
2741 	/* 16 */
2742 	"d|WAIT_SYNC",
2743 	"dq|SET_PATHFIND_ITEM",
2744 	"i|JUMP_REL",
2745 	"|CHAIN_TO",
2746 	/* 20 */
2747 	"dd|SET_REPEAT",
2748 	"i|END_REPEAT",
2749 	"dd|SET_PALETTE",
2750 	"d|SET_PRIORITY",
2751 	/* 24 */
2752 	"wiib|SET_SPRITE_XY",
2753 	"x|HALT_SPRITE",
2754 	"ddddd|SET_WINDOW",
2755 	"|RESET",
2756 	/* 28 */
2757 	"dddd|PLAY_SOUND",
2758 	"|STOP_ALL_SOUNDS",
2759 	"d|SET_FRAME_RATE",
2760 	"d|SET_WINDOW",
2761 	/* 32 */
2762 	"vv|COPY_VAR",
2763 	"|MOUSE_ON",
2764 	"|MOUSE_OFF",
2765 	"dd|CLEAR_WINDOW",
2766 	/* 36 */
2767 	"dd|SET_WINDOW_IMAGE",
2768 	"v|SET_SPRITE_OFFSET_Y",
2769 	"vj|IF_VAR_NOT_ZERO",
2770 	"vd|SET_VAR",
2771 	/* 40 */
2772 	"vd|ADD_VAR",
2773 	"vd|SUB_VAR",
2774 	"vd|DELAY_IF_NOT_EQ",
2775 	"dj|IF_BIT_SET",
2776 	/* 44 */
2777 	"dj|IF_BIT_CLEAR",
2778 	"v|SET_SPRITE_X",
2779 	"v|SET_SPRITE_Y",
2780 	"vv|ADD_VAR_F",
2781 	/* 48 */
2782 	"|COMPUTE_YOFS",
2783 	"d|SET_BIT",
2784 	"d|CLEAR_BIT",
2785 	"d|ENABLE_BOX",
2786 	/* 52 */
2787 	"d|PLAY_EFFECT",
2788 	"dd|DUMMY_53",
2789 	"ddd|DUMMY_54",
2790 	"ddd|MOVE_BOX",
2791 	/* 56 */
2792 	"w|WAIT_BIG",
2793 	"|BLACK_PALETTE",
2794 	"ddd|SET_PRIORITIES",
2795 	"ddd|STOP_ANIMATIONS",
2796 	/* 60 */
2797 	"dd|STOP_ANIMATE",
2798 	"wdd|MASK",
2799 	"|FASTFADEOUT",
2800 	"|FASTFADEIN",
2801 	/* 64 */
2802 	"j|IF_SPEECH",
2803 	"|SLOW_FADE_IN",
2804 	"ddj|IF_VAR_EQUAL",
2805 	"ddj|IF_VAR_LE",
2806 	/* 68 */
2807 	"ddj|IF_VAR_GE",
2808 	"dd|PLAY_SEQ",
2809 	"dd|JOIN_SEQ",
2810 	"j|IF_SEQ_WAITING",
2811 	/* 72 */
2812 	"dd|SEQUE",
2813 	"bb|SET_MARK",
2814 	"bb|CLEAR_MARK",
2815 };
2816 
2817 const char *const feeblefiles_videoOpcodeNameTable[] = {
2818 	/* 0 */
2819 	"x|RET",
2820 	"ddd|FADEOUT",
2821 	"w|CALL",
2822 	"dddddd|NEW_SPRITE",
2823 	/* 4 */
2824 	"ddd|FADEIN",
2825 	"vdj|IF_EQUAL",
2826 	"dj|IF_OBJECT_HERE",
2827 	"dj|IF_OBJECT_NOT_HERE",
2828 	/* 8 */
2829 	"ddj|IF_OBJECT_IS_AT",
2830 	"ddj|IF_OBJECT_STATE_IS",
2831 	"ddddb|DRAW",
2832 	"|CLEAR_PATHFIND_ARRAY",
2833 	/* 12 */
2834 	"b|DELAY",
2835 	"d|SET_SPRITE_OFFSET_X",
2836 	"d|SET_SPRITE_OFFSET_Y",
2837 	"d|SYNC",
2838 	/* 16 */
2839 	"d|WAIT_SYNC",
2840 	"dq|SET_PATHFIND_ITEM",
2841 	"i|JUMP_REL",
2842 	"|CHAIN_TO",
2843 	/* 20 */
2844 	"dd|SET_REPEAT",
2845 	"i|END_REPEAT",
2846 	"dd|SET_PALETTE",
2847 	"d|SET_PRIORITY",
2848 	/* 24 */
2849 	"wiib|SET_SPRITE_XY",
2850 	"x|HALT_SPRITE",
2851 	"ddddd|SET_WINDOW",
2852 	"|RESET",
2853 	/* 28 */
2854 	"dddd|PLAY_SOUND",
2855 	"|STOP_ALL_SOUNDS",
2856 	"d|SET_FRAME_RATE",
2857 	"d|SET_WINDOW",
2858 	/* 32 */
2859 	"vv|COPY_VAR",
2860 	"|MOUSE_ON",
2861 	"|MOUSE_OFF",
2862 	"dd|CLEAR_WINDOW",
2863 	/* 36 */
2864 	"dd|SET_WINDOW_IMAGE",
2865 	"v|SET_SPRITE_OFFSET_Y",
2866 	"vj|IF_VAR_NOT_ZERO",
2867 	"vd|SET_VAR",
2868 	/* 40 */
2869 	"vd|ADD_VAR",
2870 	"vd|SUB_VAR",
2871 	"vd|DELAY_IF_NOT_EQ",
2872 	"dj|IF_BIT_SET",
2873 	/* 44 */
2874 	"dj|IF_BIT_CLEAR",
2875 	"v|SET_SPRITE_X",
2876 	"v|SET_SPRITE_Y",
2877 	"vv|ADD_VAR_F",
2878 	/* 48 */
2879 	"|COMPUTE_YOFS",
2880 	"d|SET_BIT",
2881 	"d|CLEAR_BIT",
2882 	"d|ENABLE_BOX",
2883 	/* 52 */
2884 	"ddd|PLAY_EFFECT",
2885 	"ddd|PAN_SFX",
2886 	"ddd|DUMMY_54",
2887 	"ddd|MOVE_BOX",
2888 	/* 56 */
2889 	"w|WAIT_BIG",
2890 	"|BLACK_PALETTE",
2891 	"ddd|SET_PRIORITIES",
2892 	"ddd|STOP_ANIMATIONS",
2893 	/* 60 */
2894 	"dd|STOP_ANIMATE",
2895 	"wdd|MASK",
2896 	"|FASTFADEOUT",
2897 	"|FASTFADEIN",
2898 	/* 64 */
2899 	"j|IF_SPEECH",
2900 	"|SLOW_FADE_IN",
2901 	"ddj|IF_VAR_EQUAL",
2902 	"ddj|IF_VAR_LE",
2903 	/* 68 */
2904 	"ddj|IF_VAR_GE",
2905 	"dd|PLAY_SEQ",
2906 	"dd|JOIN_SEQ",
2907 	"|IF_SEQ_WAITING",
2908 	/* 72 */
2909 	"dd|SEQUE",
2910 	"bb|SET_MARK",
2911 	"bb|CLEAR_MARK",
2912 	"dd|SETSCALE",
2913 	/* 76 */
2914 	"ddd|SETSCALEXOFFS",
2915 	"ddd|SETSCALEYOFFS",
2916 	"|COMPUTEXY",
2917 	"|COMPUTEPOSNUM",
2918 	/* 80 */
2919 	"wdd|SETOVERLAYIMAGE",
2920 	"dd|SETRANDOM",
2921 	"d|GETPATHVALUE",
2922 	"ddd|PLAYSOUNDLOOP",
2923 	"|STOPSOUNDLOOP",
2924 };
2925 
2926 const char *const puzzlepack_videoOpcodeNameTable[] = {
2927 	/* 0 */
2928 	"x|RET",
2929 	"ddd|FADEOUT",
2930 	"w|CALL",
2931 	"dddddd|NEW_SPRITE",
2932 	/* 4 */
2933 	"ddd|FADEIN",
2934 	"wdj|IF_EQUAL",
2935 	"dj|IF_OBJECT_HERE",
2936 	"dj|IF_OBJECT_NOT_HERE",
2937 	/* 8 */
2938 	"ddj|IF_OBJECT_IS_AT",
2939 	"ddj|IF_OBJECT_STATE_IS",
2940 	"ddddb|DRAW",
2941 	"|CLEAR_PATHFIND_ARRAY",
2942 	/* 12 */
2943 	"b|DELAY",
2944 	"d|SET_SPRITE_OFFSET_X",
2945 	"d|SET_SPRITE_OFFSET_Y",
2946 	"d|SYNC",
2947 	/* 16 */
2948 	"d|WAIT_SYNC",
2949 	"dq|SET_PATHFIND_ITEM",
2950 	"i|JUMP_REL",
2951 	"|CHAIN_TO",
2952 	/* 20 */
2953 	"dd|SET_REPEAT",
2954 	"i|END_REPEAT",
2955 	"dd|SET_PALETTE",
2956 	"d|SET_PRIORITY",
2957 	/* 24 */
2958 	"wiib|SET_SPRITE_XY",
2959 	"x|HALT_SPRITE",
2960 	"ddddd|SET_WINDOW",
2961 	"|RESET",
2962 	/* 28 */
2963 	"dddd|PLAY_SOUND",
2964 	"|STOP_ALL_SOUNDS",
2965 	"d|SET_FRAME_RATE",
2966 	"d|SET_WINDOW",
2967 	/* 32 */
2968 	"vv|COPY_VAR",
2969 	"|MOUSE_ON",
2970 	"|MOUSE_OFF",
2971 	"dd|CLEAR_WINDOW",
2972 	/* 36 */
2973 	"dd|SET_WINDOW_IMAGE",
2974 	"v|SET_SPRITE_OFFSET_Y",
2975 	"wj|IF_VAR_NOT_ZERO",
2976 	"wd|SET_VAR",
2977 	/* 40 */
2978 	"vd|ADD_VAR",
2979 	"vd|SUB_VAR",
2980 	"vd|DELAY_IF_NOT_EQ",
2981 	"dj|IF_BIT_SET",
2982 	/* 44 */
2983 	"dj|IF_BIT_CLEAR",
2984 	"v|SET_SPRITE_X",
2985 	"v|SET_SPRITE_Y",
2986 	"vv|ADD_VAR_F",
2987 	/* 48 */
2988 	"|COMPUTE_YOFS",
2989 	"d|SET_BIT",
2990 	"d|CLEAR_BIT",
2991 	"d|ENABLE_BOX",
2992 	/* 52 */
2993 	"ddd|PLAY_EFFECT",
2994 	"ddd|PAN_SFX",
2995 	"ddd|DUMMY_54",
2996 	"ddd|MOVE_BOX",
2997 	/* 56 */
2998 	"w|WAIT_BIG",
2999 	"|BLACK_PALETTE",
3000 	"ddd|SET_PRIORITIES",
3001 	"ddd|STOP_ANIMATIONS",
3002 	/* 60 */
3003 	"dd|STOP_ANIMATE",
3004 	"ddd|MASK",
3005 	"|FASTFADEOUT",
3006 	"|FASTFADEIN",
3007 	/* 64 */
3008 	"j|IF_SPEECH",
3009 	"|SLOW_FADE_IN",
3010 	"ddj|IF_VAR_EQUAL",
3011 	"ddj|IF_VAR_LE",
3012 	/* 68 */
3013 	"ddj|IF_VAR_GE",
3014 	"dd|PLAY_SEQ",
3015 	"dd|JOIN_SEQ",
3016 	"|IF_SEQ_WAITING",
3017 	/* 72 */
3018 	"dd|SEQUE",
3019 	"bb|SET_MARK",
3020 	"bb|CLEAR_MARK",
3021 	"dd|SETSCALE",
3022 	/* 76 */
3023 	"ddd|SETSCALEXOFFS",
3024 	"ddd|SETSCALEYOFFS",
3025 	"|COMPUTEXY",
3026 	"|COMPUTEPOSNUM",
3027 	/* 80 */
3028 	"wdd|SETOVERLAYIMAGE",
3029 	"dd|SETRANDOM",
3030 	"d|GETPATHVALUE",
3031 	"ddd|PLAYSOUNDLOOP",
3032 	"|STOPSOUNDLOOP",
3033 };
3034 
3035 } // End of namespace AGOS
3036 
3037 #endif
3038