ScummVM API documentation
opcodes.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 AGI_OPCODES_H
23#define AGI_OPCODES_H
24
25namespace Agi {
26
27void cmdIncrement(AgiGame *state, AgiEngine *vm, uint8 *p);
28void cmdDecrement(AgiGame *state, AgiEngine *vm, uint8 *p);
29void cmdAssignN(AgiGame *state, AgiEngine *vm, uint8 *p);
30void cmdAssignV(AgiGame *state, AgiEngine *vm, uint8 *p);
31void cmdAddN(AgiGame *state, AgiEngine *vm, uint8 *p);
32void cmdAddV(AgiGame *state, AgiEngine *vm, uint8 *p);
33void cmdSubN(AgiGame *state, AgiEngine *vm, uint8 *p);
34void cmdSubV(AgiGame *state, AgiEngine *vm, uint8 *p); // 0x08
35void cmdLindirectV(AgiGame *state, AgiEngine *vm, uint8 *p);
36void cmdRindirect(AgiGame *state, AgiEngine *vm, uint8 *p);
37void cmdLindirectN(AgiGame *state, AgiEngine *vm, uint8 *p);
38void cmdSet(AgiGame *state, AgiEngine *vm, uint8 *p);
39void cmdReset(AgiGame *state, AgiEngine *vm, uint8 *p);
40void cmdToggle(AgiGame *state, AgiEngine *vm, uint8 *p);
41void cmdSetV(AgiGame *state, AgiEngine *vm, uint8 *p);
42void cmdResetV(AgiGame *state, AgiEngine *vm, uint8 *p); // 0x10
43void cmdToggleV(AgiGame *state, AgiEngine *vm, uint8 *p);
44void cmdNewRoom(AgiGame *state, AgiEngine *vm, uint8 *p);
45void cmdNewRoomF(AgiGame *state, AgiEngine *vm, uint8 *p);
46void cmdLoadLogic(AgiGame *state, AgiEngine *vm, uint8 *p);
47void cmdLoadLogicF(AgiGame *state, AgiEngine *vm, uint8 *p);
48void cmdCall(AgiGame *state, AgiEngine *vm, uint8 *p);
49void cmdCallF(AgiGame *state, AgiEngine *vm, uint8 *p);
50void cmdLoadPic(AgiGame *state, AgiEngine *vm, uint8 *p); // 0x18
51void cmdLoadPicV1(AgiGame *state, AgiEngine *vm, uint8 *p);
52void cmdDrawPic(AgiGame *state, AgiEngine *vm, uint8 *p);
53void cmdDrawPicV1(AgiGame *state, AgiEngine *vm, uint8 *p);
54void cmdShowPic(AgiGame *state, AgiEngine *vm, uint8 *p);
55void cmdDiscardPic(AgiGame *state, AgiEngine *vm, uint8 *p);
56void cmdOverlayPic(AgiGame *state, AgiEngine *vm, uint8 *p);
57void cmdShowPriScreen(AgiGame *state, AgiEngine *vm, uint8 *p);
58void cmdLoadView(AgiGame *state, AgiEngine *vm, uint8 *p);
59void cmdLoadViewF(AgiGame *state, AgiEngine *vm, uint8 *p);
60void cmdDiscardView(AgiGame *state, AgiEngine *vm, uint8 *p); // 0x20
61void cmdAnimateObj(AgiGame *state, AgiEngine *vm, uint8 *p);
62void cmdUnanimateAll(AgiGame *state, AgiEngine *vm, uint8 *p);
63void cmdDraw(AgiGame *state, AgiEngine *vm, uint8 *p);
64void cmdErase(AgiGame *state, AgiEngine *vm, uint8 *p);
65void cmdPosition(AgiGame *state, AgiEngine *vm, uint8 *p);
66void cmdPositionV1(AgiGame *state, AgiEngine *vm, uint8 *p);
67void cmdPositionF(AgiGame *state, AgiEngine *vm, uint8 *p);
68void cmdPositionFV1(AgiGame *state, AgiEngine *vm, uint8 *p);
69void cmdGetPosn(AgiGame *state, AgiEngine *vm, uint8 *p);
70void cmdReposition(AgiGame *state, AgiEngine *vm, uint8 *p); // 0x28
71void cmdRepositionV1(AgiGame *state, AgiEngine *vm, uint8 *p); // 0x28
72void cmdSetView(AgiGame *state, AgiEngine *vm, uint8 *p);
73void cmdSetViewF(AgiGame *state, AgiEngine *vm, uint8 *p);
74void cmdSetLoop(AgiGame *state, AgiEngine *vm, uint8 *p);
75void cmdSetLoopF(AgiGame *state, AgiEngine *vm, uint8 *p);
76void cmdFixLoop(AgiGame *state, AgiEngine *vm, uint8 *p);
77void cmdReleaseLoop(AgiGame *state, AgiEngine *vm, uint8 *p);
78void cmdSetCel(AgiGame *state, AgiEngine *vm, uint8 *p);
79void cmdSetCelF(AgiGame *state, AgiEngine *vm, uint8 *p); // 0x30
80void cmdLastCel(AgiGame *state, AgiEngine *vm, uint8 *p);
81void cmdCurrentCel(AgiGame *state, AgiEngine *vm, uint8 *p);
82void cmdCurrentLoop(AgiGame *state, AgiEngine *vm, uint8 *p);
83void cmdCurrentView(AgiGame *state, AgiEngine *vm, uint8 *p);
84void cmdNumberOfLoops(AgiGame *state, AgiEngine *vm, uint8 *p);
85void cmdSetPriority(AgiGame *state, AgiEngine *vm, uint8 *p);
86void cmdSetPriorityF(AgiGame *state, AgiEngine *vm, uint8 *p);
87void cmdReleasePriority(AgiGame *state, AgiEngine *vm, uint8 *p); // 0x38
88void cmdGetPriority(AgiGame *state, AgiEngine *vm, uint8 *p);
89void cmdStopUpdate(AgiGame *state, AgiEngine *vm, uint8 *p);
90void cmdStartUpdate(AgiGame *state, AgiEngine *vm, uint8 *p);
91void cmdForceUpdate(AgiGame *state, AgiEngine *vm, uint8 *p);
92void cmdIgnoreHorizon(AgiGame *state, AgiEngine *vm, uint8 *p);
93void cmdObserveHorizon(AgiGame *state, AgiEngine *vm, uint8 *p);
94void cmdSetHorizon(AgiGame *state, AgiEngine *vm, uint8 *p);
95void cmdObjectOnWater(AgiGame *state, AgiEngine *vm, uint8 *p); // 0x40
96void cmdObjectOnLand(AgiGame *state, AgiEngine *vm, uint8 *p);
97void cmdObjectOnAnything(AgiGame *state, AgiEngine *vm, uint8 *p);
98void cmdIgnoreObjs(AgiGame *state, AgiEngine *vm, uint8 *p);
99void cmdObserveObjs(AgiGame *state, AgiEngine *vm, uint8 *p);
100void cmdDistance(AgiGame *state, AgiEngine *vm, uint8 *p);
101void cmdStopCycling(AgiGame *state, AgiEngine *vm, uint8 *p);
102void cmdStartCycling(AgiGame *state, AgiEngine *vm, uint8 *p);
103void cmdNormalCycle(AgiGame *state, AgiEngine *vm, uint8 *p); // 0x48
104void cmdEndOfLoop(AgiGame *state, AgiEngine *vm, uint8 *p);
105void cmdEndOfLoopV1(AgiGame *state, AgiEngine *vm, uint8 *p);
106void cmdReverseCycle(AgiGame *state, AgiEngine *vm, uint8 *p);
107void cmdReverseLoop(AgiGame *state, AgiEngine *vm, uint8 *p);
108void cmdReverseLoopV1(AgiGame *state, AgiEngine *vm, uint8 *p);
109void cmdCycleTime(AgiGame *state, AgiEngine *vm, uint8 *p);
110void cmdStopMotion(AgiGame *state, AgiEngine *vm, uint8 *p);
111void cmdStopMotionV1(AgiGame *state, AgiEngine *vm, uint8 *p);
112void cmdStartMotion(AgiGame *state, AgiEngine *vm, uint8 *p);
113void cmdStartMotionV1(AgiGame *state, AgiEngine *vm, uint8 *p);
114void cmdStepSize(AgiGame *state, AgiEngine *vm, uint8 *p);
115void cmdStepTime(AgiGame *state, AgiEngine *vm, uint8 *p); // 0x50
116void cmdMoveObj(AgiGame *state, AgiEngine *vm, uint8 *p);
117void cmdMoveObjF(AgiGame *state, AgiEngine *vm, uint8 *p);
118void cmdFollowEgo(AgiGame *state, AgiEngine *vm, uint8 *p);
119void cmdWander(AgiGame *state, AgiEngine *vm, uint8 *p);
120void cmdNormalMotion(AgiGame *state, AgiEngine *vm, uint8 *p);
121void cmdSetDir(AgiGame *state, AgiEngine *vm, uint8 *p);
122void cmdGetDir(AgiGame *state, AgiEngine *vm, uint8 *p);
123void cmdIgnoreBlocks(AgiGame *state, AgiEngine *vm, uint8 *p); // 0x58
124void cmdObserveBlocks(AgiGame *state, AgiEngine *vm, uint8 *p);
125void cmdBlock(AgiGame *state, AgiEngine *vm, uint8 *p);
126void cmdUnblock(AgiGame *state, AgiEngine *vm, uint8 *p);
127void cmdGet(AgiGame *state, AgiEngine *vm, uint8 *p);
128void cmdGetV1(AgiGame *state, AgiEngine *vm, uint8 *p);
129void cmdGetF(AgiGame *state, AgiEngine *vm, uint8 *p);
130void cmdDrop(AgiGame *state, AgiEngine *vm, uint8 *p);
131void cmdPut(AgiGame *state, AgiEngine *vm, uint8 *p);
132void cmdPutF(AgiGame *state, AgiEngine *vm, uint8 *p); // 0x60
133void cmdGetRoomF(AgiGame *state, AgiEngine *vm, uint8 *p);
134void cmdLoadSound(AgiGame *state, AgiEngine *vm, uint8 *p);
135void cmdSound(AgiGame *state, AgiEngine *vm, uint8 *p);
136void cmdStopSound(AgiGame *state, AgiEngine *vm, uint8 *p);
137void cmdPrint(AgiGame *state, AgiEngine *vm, uint8 *p);
138void cmdPrintF(AgiGame *state, AgiEngine *vm, uint8 *p);
139void cmdDisplay(AgiGame *state, AgiEngine *vm, uint8 *p);
140void cmdDisplayF(AgiGame *state, AgiEngine *vm, uint8 *p); // 0x68
141void cmdClearLines(AgiGame *state, AgiEngine *vm, uint8 *p);
142void cmdTextScreen(AgiGame *state, AgiEngine *vm, uint8 *p);
143void cmdGraphics(AgiGame *state, AgiEngine *vm, uint8 *p);
144void cmdSetCursorChar(AgiGame *state, AgiEngine *vm, uint8 *p);
145void cmdSetTextAttribute(AgiGame *state, AgiEngine *vm, uint8 *p);
146void cmdShakeScreen(AgiGame *state, AgiEngine *vm, uint8 *p);
147void cmdConfigureScreen(AgiGame *state, AgiEngine *vm, uint8 *p);
148void cmdStatusLineOn(AgiGame *state, AgiEngine *vm, uint8 *p); // 0x70
149void cmdStatusLineOff(AgiGame *state, AgiEngine *vm, uint8 *p);
150void cmdSetString(AgiGame *state, AgiEngine *vm, uint8 *p);
151void cmdGetString(AgiGame *state, AgiEngine *vm, uint8 *p);
152void cmdWordToString(AgiGame *state, AgiEngine *vm, uint8 *p);
153void cmdParse(AgiGame *state, AgiEngine *vm, uint8 *p);
154void cmdGetNum(AgiGame *state, AgiEngine *vm, uint8 *p);
155void cmdPreventInput(AgiGame *state, AgiEngine *vm, uint8 *p);
156void cmdAcceptInput(AgiGame *state, AgiEngine *vm, uint8 *p); // 0x78
157void cmdSetKey(AgiGame *state, AgiEngine *vm, uint8 *p);
158void cmdAddToPic(AgiGame *state, AgiEngine *vm, uint8 *p);
159void cmdAddToPicV1(AgiGame *state, AgiEngine *vm, uint8 *p);
160void cmdAddToPicF(AgiGame *state, AgiEngine *vm, uint8 *p);
161void cmdStatus(AgiGame *state, AgiEngine *vm, uint8 *p);
162void cmdSaveGame(AgiGame *state, AgiEngine *vm, uint8 *p);
163void cmdLoadGame(AgiGame *state, AgiEngine *vm, uint8 *p);
164void cmdInitDisk(AgiGame *state, AgiEngine *vm, uint8 *p);
165void cmdRestartGame(AgiGame *state, AgiEngine *vm, uint8 *p); // 0x80
166void cmdShowObj(AgiGame *state, AgiEngine *vm, uint8 *p);
167void cmdRandom(AgiGame *state, AgiEngine *vm, uint8 *p);
168void cmdRandomV1(AgiGame *state, AgiEngine *vm, uint8 *p);
169void cmdProgramControl(AgiGame *state, AgiEngine *vm, uint8 *p);
170void cmdPlayerControl(AgiGame *state, AgiEngine *vm, uint8 *p);
171void cmdObjStatusF(AgiGame *state, AgiEngine *vm, uint8 *p);
172void cmdQuit(AgiGame *state, AgiEngine *vm, uint8 *p);
173void cmdQuitV1(AgiGame *state, AgiEngine *vm, uint8 *p);
174void cmdShowMem(AgiGame *state, AgiEngine *vm, uint8 *p);
175void cmdPause(AgiGame *state, AgiEngine *vm, uint8 *p); // 0x88
176void cmdEchoLine(AgiGame *state, AgiEngine *vm, uint8 *p);
177void cmdCancelLine(AgiGame *state, AgiEngine *vm, uint8 *p);
178void cmdInitJoy(AgiGame *state, AgiEngine *vm, uint8 *p);
179void cmdToggleMonitor(AgiGame *state, AgiEngine *vm, uint8 *p);
180void cmdVersion(AgiGame *state, AgiEngine *vm, uint8 *p);
181void cmdScriptSize(AgiGame *state, AgiEngine *vm, uint8 *p);
182void cmdSetGameID(AgiGame *state, AgiEngine *vm, uint8 *p);
183void cmdLog(AgiGame *state, AgiEngine *vm, uint8 *p); // 0x90
184void cmdSetScanStart(AgiGame *state, AgiEngine *vm, uint8 *p);
185void cmdResetScanStart(AgiGame *state, AgiEngine *vm, uint8 *p);
186void cmdRepositionTo(AgiGame *state, AgiEngine *vm, uint8 *p);
187void cmdRepositionToF(AgiGame *state, AgiEngine *vm, uint8 *p);
188void cmdTraceOn(AgiGame *state, AgiEngine *vm, uint8 *p);
189void cmdTraceInfo(AgiGame *state, AgiEngine *vm, uint8 *p);
190void cmdPrintAt(AgiGame *state, AgiEngine *vm, uint8 *p);
191void cmdPrintAtV(AgiGame *state, AgiEngine *vm, uint8 *p); // 0x98
192//void cmdDiscardView(AgiGame *state, AgiEngine *vm, uint8 *p); // Opcode repeated from 0x20 ?
193void cmdClearTextRect(AgiGame *state, AgiEngine *vm, uint8 *p);
194void cmdSetUpperLeft(AgiGame *state, AgiEngine *vm, uint8 *p);
195void cmdSetMenu(AgiGame *state, AgiEngine *vm, uint8 *p);
196void cmdSetMenuItem(AgiGame *state, AgiEngine *vm, uint8 *p);
197void cmdSubmitMenu(AgiGame *state, AgiEngine *vm, uint8 *p);
198void cmdEnableItem(AgiGame *state, AgiEngine *vm, uint8 *p);
199void cmdDisableItem(AgiGame *state, AgiEngine *vm, uint8 *p); // 0xa0
200void cmdMenuInput(AgiGame *state, AgiEngine *vm, uint8 *p);
201void cmdShowObjV(AgiGame *state, AgiEngine *vm, uint8 *p);
202void cmdOpenDialogue(AgiGame *state, AgiEngine *vm, uint8 *p);
203void cmdCloseDialogue(AgiGame *state, AgiEngine *vm, uint8 *p);
204void cmdMulN(AgiGame *state, AgiEngine *vm, uint8 *p);
205void cmdMulV(AgiGame *state, AgiEngine *vm, uint8 *p);
206void cmdDivN(AgiGame *state, AgiEngine *vm, uint8 *p);
207void cmdDivV(AgiGame *state, AgiEngine *vm, uint8 *p); // 0xa8
208void cmdCloseWindow(AgiGame *state, AgiEngine *vm, uint8 *p);
209void cmdSetSimple(AgiGame *state, AgiEngine *vm, uint8 *p);
210void cmdAgi256LoadPic(AgiGame *state, AgiEngine *vm, uint8 *p); // modified 0xaa
211void cmdPushScript(AgiGame *state, AgiEngine *vm, uint8 *p);
212void cmdAgiMouseGetMouseState(AgiGame *state, AgiEngine *vm, uint8 *p); // modified 0xab
213void cmdPopScript(AgiGame *state, AgiEngine *vm, uint8 *p);
214void cmdHoldKey(AgiGame *state, AgiEngine *vm, uint8 *p);
215void cmdSetPriBase(AgiGame *state, AgiEngine *vm, uint8 *p);
216void cmdDiscardSound(AgiGame *state, AgiEngine *vm, uint8 *p);
217void cmdHideMouse(AgiGame *state, AgiEngine *vm, uint8 *p); // 0xb0
218void cmdAllowMenu(AgiGame *state, AgiEngine *vm, uint8 *p);
219void cmdShowMouse(AgiGame *state, AgiEngine *vm, uint8 *p);
220void cmdFenceMouse(AgiGame *state, AgiEngine *vm, uint8 *p);
221void cmdGetMousePosn(AgiGame *state, AgiEngine *vm, uint8 *p);
222void cmdReleaseKey(AgiGame *state, AgiEngine *vm, uint8 *p);
223void cmdAdjEgoMoveToXY(AgiGame *state, AgiEngine *vm, uint8 *p);
224
225void cmdSetSpeed(AgiGame *state, AgiEngine *vm, uint8 *p);
226void cmdSetItemView(AgiGame *state, AgiEngine *vm, uint8 *p);
227void cmdCallV1(AgiGame *state, AgiEngine *vm, uint8 *p);
228void cmdNearWater(AgiGame *state, AgiEngine *vm, uint8 *p);
229void cmdSetBit(AgiGame *state, AgiEngine *vm, uint8 *p);
230void cmdClearBit(AgiGame *state, AgiEngine *vm, uint8 *p);
231void cmdUnknown(AgiGame *state, AgiEngine *vm, uint8 *p);
232
233void condEqual(AgiGame *state, AgiEngine *vm, uint8 *p);
234void condEqualV(AgiGame *state, AgiEngine *vm, uint8 *p);
235void condLess(AgiGame *state, AgiEngine *vm, uint8 *p);
236void condLessV(AgiGame *state, AgiEngine *vm, uint8 *p);
237void condGreater(AgiGame *state, AgiEngine *vm, uint8 *p);
238void condGreaterV(AgiGame *state, AgiEngine *vm, uint8 *p);
239void condIsSet(AgiGame *state, AgiEngine *vm, uint8 *p);
240void condIsSetV(AgiGame *state, AgiEngine *vm, uint8 *p);
241void condHas(AgiGame *state, AgiEngine *vm, uint8 *p);
242void condHasV1(AgiGame *state, AgiEngine *vm, uint8 *p);
243void condObjInRoom(AgiGame *state, AgiEngine *vm, uint8 *p);
244void condPosn(AgiGame *state, AgiEngine *vm, uint8 *p);
245void condController(AgiGame *state, AgiEngine *vm, uint8 *p);
246void condHaveKey(AgiGame *state, AgiEngine *vm, uint8 *p);
247void condSaid(AgiGame *state, AgiEngine *vm, uint8 *p);
248void condCompareStrings(AgiGame *state, AgiEngine *vm, uint8 *p);
249void condObjInBox(AgiGame *state, AgiEngine *vm, uint8 *p);
250void condCenterPosn(AgiGame *state, AgiEngine *vm, uint8 *p);
251void condRightPosn(AgiGame *state, AgiEngine *vm, uint8 *p);
252void condUnknown13(AgiGame *state, AgiEngine *vm, uint8 *p);
253void condUnknown(AgiGame *state, AgiEngine *vm, uint8 *p);
254
255void condIsSetV1(AgiGame *state, AgiEngine *vm, uint8 *p);
256void condSaid1(AgiGame *state, AgiEngine *vm, uint8 *p);
257void condSaid2(AgiGame *state, AgiEngine *vm, uint8 *p);
258void condSaid3(AgiGame *state, AgiEngine *vm, uint8 *p);
259void condBit(AgiGame *state, AgiEngine *vm, uint8 *p);
260
261} // End of namespace Agi
262
263#endif /* AGI_OPCODES_H */
Definition: agi.h:64