aboutsummaryrefslogtreecommitdiff
path: root/engines/director/lingo/lingo-code.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/director/lingo/lingo-code.h')
-rw-r--r--engines/director/lingo/lingo-code.h143
1 files changed, 143 insertions, 0 deletions
diff --git a/engines/director/lingo/lingo-code.h b/engines/director/lingo/lingo-code.h
new file mode 100644
index 0000000000..d4107e828c
--- /dev/null
+++ b/engines/director/lingo/lingo-code.h
@@ -0,0 +1,143 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef DIRECTOR_LINGO_LINGO_CODE_H
+#define DIRECTOR_LINGO_LINGO_CODE_H
+
+namespace Director {
+
+class LC {
+public:
+ static void c_xpop();
+ static void c_printtop();
+
+ static void c_add();
+ static void c_sub();
+ static void c_mul();
+ static void c_div();
+ static void c_mod();
+ static void c_negate();
+
+ static void c_and();
+ static void c_or();
+ static void c_not();
+
+ static void c_ampersand();
+ static void c_after();
+ static void c_before();
+ static void c_concat();
+ static void c_contains();
+ static void c_starts();
+
+ static void c_intersects();
+ static void c_within();
+ static void c_field();
+ static void c_of();
+ static void c_charOf();
+ static void c_charToOf();
+ static void c_itemOf();
+ static void c_itemToOf();
+ static void c_lineOf();
+ static void c_lineToOf();
+ static void c_wordOf();
+ static void c_wordToOf();
+
+ static void c_intpush();
+ static void c_voidpush();
+ static void c_floatpush();
+ static void c_stringpush();
+ static void c_symbolpush();
+ static void c_namepush();
+ static void c_varpush();
+ static void c_argcpush();
+ static void c_argcnoretpush();
+ static void c_arraypush();
+ static void c_assign();
+ static bool verify(Symbol *s);
+ static void c_eval();
+ static void c_setImmediate();
+
+ static void c_swap();
+
+ static void c_theentitypush();
+ static void c_theentityassign();
+ static void c_objectfieldpush();
+ static void c_objectfieldassign();
+
+ static void c_repeatwhilecode();
+ static void c_repeatwithcode();
+ static void c_ifcode();
+ static void c_whencode();
+ static void c_tellcode();
+ static void c_tell();
+ static void c_telldone();
+ static void c_exitRepeat();
+ static void c_eq();
+ static void c_neq();
+ static void c_gt();
+ static void c_lt();
+ static void c_ge();
+ static void c_le();
+ static void c_jump();
+ static void c_jumpifz();
+ static void c_call();
+
+ static void call(Common::String name, int nargs);
+
+ static void c_procret();
+
+ static void c_mci();
+ static void c_mciwait();
+ static void c_goto();
+ static void c_gotoloop();
+ static void c_gotonext();
+ static void c_gotoprevious();
+ static void c_global();
+ static void c_instance();
+ static void c_factory();
+ static void c_property();
+
+ static void c_play();
+ static void c_playdone();
+
+ static void c_open();
+ static void c_hilite();
+
+ // stubs for unknown instructions
+ static void c_unk();
+ static void c_unk1();
+ static void c_unk2();
+
+ // bytecode-related instructions
+ static void cb_localcall();
+ static void cb_call();
+ static void cb_v4theentitypush();
+ static void cb_v4theentitynamepush();
+ static void cb_v4theentityassign();
+
+};
+
+extern LC *g_lc;
+
+} // End of namespace Director
+
+#endif