ScummVM API documentation
lingo-code.h
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 modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (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, see <http://www.gnu.org/licenses/>.
19 *
20 */
21
22#ifndef DIRECTOR_LINGO_LINGO_CODE_H
23#define DIRECTOR_LINGO_LINGO_CODE_H
24
25namespace Director {
26
27namespace LC {
28
29void c_xpop();
30
31Datum mapBinaryOp(Datum (*func)(Datum &, Datum &), Datum &d1, Datum &d2);
32Datum addData(Datum &d1, Datum &d2);
33void c_add();
34Datum subData(Datum &d1, Datum &d2);
35void c_sub();
36Datum mulData(Datum &d1, Datum &d2);
37void c_mul();
38Datum divData(Datum &d1, Datum &d2);
39void c_div();
40Datum modData(Datum &d1, Datum &d2);
41void c_mod();
42Datum negateData(Datum &d1);
43void c_negate();
44
45void c_and();
46void c_or();
47void c_not();
48
49void c_ampersand();
50void c_putafter();
51void c_putbefore();
52void c_concat();
53void c_contains();
54void c_starts();
55
56void c_intersects();
57void c_within();
58Datum chunkRef(ChunkType type, int startChunk, int endChunk, const Datum &src);
59Datum lastChunk(ChunkType type, const Datum &src);
60Datum readChunkRef(const Datum &src);
61void c_of();
62void c_charToOfRef();
63void c_charToOf();
64void c_itemToOfRef();
65void c_itemToOf();
66void c_lineToOfRef();
67void c_lineToOf();
68void c_wordToOfRef();
69void c_wordToOf();
70
71void c_constpush();
72void c_intpush();
73void c_voidpush();
74void c_floatpush();
75void c_stringpush();
76void c_symbolpush();
77void c_namepush();
78void c_varrefpush();
79void c_globalrefpush();
80void c_localrefpush();
81void c_proprefpush();
82void c_varpush();
83void c_globalinit();
84void c_globalpush();
85void c_localpush();
86void c_proppush();
87void c_argcpush();
88void c_argcnoretpush();
89void c_arraypush();
90void c_proparraypush();
91void c_stackpeek();
92void c_stackdrop();
93void c_assign();
94bool verify(const Symbol &s);
95
96void c_swap();
97
98void c_theentitypush();
99void c_themenuentitypush();
100void c_theentityassign();
101void c_objectproppush();
102void c_objectpropassign();
103
104void c_whencode();
105void c_tell();
106void c_telldone();
107Datum compareArrays(Datum (*compareFunc)(Datum, Datum), Datum d1, Datum d2, bool location = false, bool value = false);
108Datum eqData(Datum d1, Datum d2);
109Datum eqDataStrict(Datum d1, Datum d2);
110void c_eq();
111Datum neqData(Datum d1, Datum d2);
112void c_neq();
113Datum gtData(Datum d1, Datum d2);
114void c_gt();
115Datum ltData(Datum d1, Datum d2);
116void c_lt();
117Datum geData(Datum d1, Datum d2);
118void c_ge();
119Datum leData(Datum d1, Datum d2);
120void c_le();
121void c_jump();
122void c_jumpifz();
123void c_callcmd();
124void c_callfunc();
125
126void call(const Symbol &targetSym, int nargs, bool allowRetVal);
127void call(const Common::String &name, int nargs, bool allowRetVal);
128
129void c_procret();
130void procret();
131
132void c_mci();
133void c_mciwait();
134
135void c_open();
136void c_delete();
137void c_hilite();
138void c_field();
139void c_fieldref();
140
141// custom instructions for testing
142void c_asserterror();
143void c_asserterrordone();
144
145// stubs for unknown instructions
146void cb_unk();
147void cb_unk1();
148void cb_unk2();
149
150// bytecode-related instructions
151void cb_call();
152void cb_delete();
153void cb_hilite();
154void cb_globalassign();
155void cb_globalpush();
156void cb_list();
157void cb_localcall();
158void cb_objectcall();
159void cb_objectfieldassign();
160void cb_objectfieldpush();
161void cb_varrefpush();
162void cb_theassign();
163void cb_theassign2();
164void cb_thepush();
165void cb_thepush2();
166void cb_proplist();
167void cb_varassign();
168void cb_varpush();
169void cb_v4assign();
170void cb_v4assign2();
171void cb_v4theentitypush();
172void cb_v4theentitynamepush();
173void cb_v4theentityassign();
174void cb_zeropush();
175
176} // End of namespace LC
177
178} // End of namespace Director
179
180#endif
Definition: str.h:59