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