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 ILLUSIONS_BBDOU_SCRIPTOPCODES_BBDOU_H 24 #define ILLUSIONS_BBDOU_SCRIPTOPCODES_BBDOU_H 25 26 #include "illusions/scriptopcodes.h" 27 #include "common/func.h" 28 29 namespace Illusions { 30 31 class IllusionsEngine_BBDOU; 32 class ScriptThread; 33 34 class ScriptOpcodes_BBDOU : public ScriptOpcodes { 35 public: 36 ScriptOpcodes_BBDOU(IllusionsEngine_BBDOU *vm); 37 ~ScriptOpcodes_BBDOU(); 38 void initOpcodes(); 39 void freeOpcodes(); 40 protected: 41 IllusionsEngine_BBDOU *_vm; 42 43 // Opcodes 44 void opSuspend(ScriptThread *scriptThread, OpCall &opCall); 45 void opYield(ScriptThread *scriptThread, OpCall &opCall); 46 void opTerminate(ScriptThread *scriptThread, OpCall &opCall); 47 void opJump(ScriptThread *scriptThread, OpCall &opCall); 48 void opStartScriptThread(ScriptThread *scriptThread, OpCall &opCall); 49 void opStartTempScriptThread(ScriptThread *scriptThread, OpCall &opCall); 50 void opStartTimerThread(ScriptThread *scriptThread, OpCall &opCall); 51 void opNotifyThreadId(ScriptThread *scriptThread, OpCall &opCall); 52 void opSetThreadSceneId(ScriptThread *scriptThread, OpCall &opCall); 53 void opEndTalkThreads(ScriptThread *scriptThread, OpCall &opCall); 54 void opLoadResource(ScriptThread *scriptThread, OpCall &opCall); 55 void opUnloadResource(ScriptThread *scriptThread, OpCall &opCall); 56 void opEnterMenuPause(ScriptThread *scriptThread, OpCall &opCall); 57 void opLeaveMenuPause(ScriptThread *scriptThread, OpCall &opCall); 58 void opEnterScene(ScriptThread *scriptThread, OpCall &opCall); 59 void opLeaveScene(ScriptThread *scriptThread, OpCall &opCall); 60 void opEnterPause(ScriptThread *scriptThread, OpCall &opCall); 61 void opLeavePause(ScriptThread *scriptThread, OpCall &opCall); 62 void opUnloadActiveScenes(ScriptThread *scriptThread, OpCall &opCall); 63 void opChangeScene(ScriptThread *scriptThread, OpCall &opCall); 64 void opStartModalScene(ScriptThread *scriptThread, OpCall &opCall); 65 void opExitModalScene(ScriptThread *scriptThread, OpCall &opCall); 66 void opEnterCloseUpScene(ScriptThread *scriptThread, OpCall &opCall); 67 void opExitCloseUpScene(ScriptThread *scriptThread, OpCall &opCall); 68 void opPanCenterObject(ScriptThread *scriptThread, OpCall &opCall); 69 void opPanToObject(ScriptThread *scriptThread, OpCall &opCall); 70 void opPanToNamedPoint(ScriptThread *scriptThread, OpCall &opCall); 71 void opPanToPoint(ScriptThread *scriptThread, OpCall &opCall); 72 void opPanStop(ScriptThread *scriptThread, OpCall &opCall); 73 void opSetDisplay(ScriptThread *scriptThread, OpCall &opCall); 74 void opSetCameraBounds(ScriptThread *scriptThread, OpCall &opCall); 75 void opSetCameraBoundsToMasterBg(ScriptThread *scriptThread, OpCall &opCall); 76 void opIncBlockCounter(ScriptThread *scriptThread, OpCall &opCall); 77 void opClearBlockCounter(ScriptThread *scriptThread, OpCall &opCall); 78 void opSetProperty(ScriptThread *scriptThread, OpCall &opCall); 79 void opPlaceActor(ScriptThread *scriptThread, OpCall &opCall); 80 void opFaceActor(ScriptThread *scriptThread, OpCall &opCall); 81 void opFaceActorToObject(ScriptThread *scriptThread, OpCall &opCall); 82 void opStartSequenceActor(ScriptThread *scriptThread, OpCall &opCall); 83 void opStartMoveActor(ScriptThread *scriptThread, OpCall &opCall); 84 void opSetActorToNamedPoint(ScriptThread *scriptThread, OpCall &opCall); 85 void opSetActorPosition(ScriptThread *scriptThread, OpCall &opCall); 86 void opStartTalkThread(ScriptThread *scriptThread, OpCall &opCall); 87 void opAppearActor(ScriptThread *scriptThread, OpCall &opCall); 88 void opDisappearActor(ScriptThread *scriptThread, OpCall &opCall); 89 void opIsActorVisible(ScriptThread *scriptThread, OpCall &opCall); 90 void opActivateObject(ScriptThread *scriptThread, OpCall &opCall); 91 void opDeactivateObject(ScriptThread *scriptThread, OpCall &opCall); 92 void opSetDefaultSequence(ScriptThread *scriptThread, OpCall &opCall); 93 void opSetSelectSfx(ScriptThread *scriptThread, OpCall &opCall); 94 void opSetMoveSfx(ScriptThread *scriptThread, OpCall &opCall); 95 void opSetDenySfx(ScriptThread *scriptThread, OpCall &opCall); 96 void opSetAdjustUpSfx(ScriptThread *scriptThread, OpCall &opCall); 97 void opSetAdjustDnSfx(ScriptThread *scriptThread, OpCall &opCall); 98 void opPause(ScriptThread *scriptThread, OpCall &opCall); 99 void opResume(ScriptThread *scriptThread, OpCall &opCall); 100 void opStartSound(ScriptThread *scriptThread, OpCall &opCall); 101 void opStartSoundAtPosition(ScriptThread *scriptThread, OpCall &opCall); 102 void opStartSoundAtActor(ScriptThread *scriptThread, OpCall &opCall); 103 void opStopSound(ScriptThread *scriptThread, OpCall &opCall); 104 void opStartMusic(ScriptThread *scriptThread, OpCall &opCall); 105 void opStopMusic(ScriptThread *scriptThread, OpCall &opCall); 106 void opStackPushRandom(ScriptThread *scriptThread, OpCall &opCall); 107 void opIfLte(ScriptThread *scriptThread, OpCall &opCall); 108 void opAddMenuChoice(ScriptThread *scriptThread, OpCall &opCall); 109 void opDisplayMenu(ScriptThread *scriptThread, OpCall &opCall); 110 void opSwitchMenuChoice(ScriptThread *scriptThread, OpCall &opCall); 111 void opQuitGame(ScriptThread *scriptThread, OpCall &opCall); 112 void opResetGame(ScriptThread *scriptThread, OpCall &opCall); 113 void opSaveGame(ScriptThread *scriptThread, OpCall &opCall); 114 void opRestoreGameState(ScriptThread *scriptThread, OpCall &opCall); 115 void opDeactivateButton(ScriptThread *scriptThread, OpCall &opCall); 116 void opActivateButton(ScriptThread *scriptThread, OpCall &opCall); 117 void opNop(ScriptThread *scriptThread, OpCall &opCall); 118 void opJumpIf(ScriptThread *scriptThread, OpCall &opCall); 119 void opIsPrevSceneId(ScriptThread *scriptThread, OpCall &opCall); 120 void opIsCurrentSceneId(ScriptThread *scriptThread, OpCall &opCall); 121 void opIsActiveSceneId(ScriptThread *scriptThread, OpCall &opCall); 122 void opNot(ScriptThread *scriptThread, OpCall &opCall); 123 void opAnd(ScriptThread *scriptThread, OpCall &opCall); 124 void opOr(ScriptThread *scriptThread, OpCall &opCall); 125 void opGetProperty(ScriptThread *scriptThread, OpCall &opCall); 126 void opCompareBlockCounter(ScriptThread *scriptThread, OpCall &opCall); 127 void opDebug126(ScriptThread *scriptThread, OpCall &opCall); 128 void opDebug127(ScriptThread *scriptThread, OpCall &opCall); 129 void opPlayVideo(ScriptThread *scriptThread, OpCall &opCall); 130 void opStackPop(ScriptThread *scriptThread, OpCall &opCall); 131 void opStackDup(ScriptThread *scriptThread, OpCall &opCall); 132 void opLoadSpecialCodeModule(ScriptThread *scriptThread, OpCall &opCall); 133 void opRunSpecialCode(ScriptThread *scriptThread, OpCall &opCall); 134 void opLinkObjectToObject(ScriptThread *scriptThread, OpCall &opCall); 135 void opUnlinkObject(ScriptThread *scriptThread, OpCall &opCall); 136 void opStopActor(ScriptThread *scriptThread, OpCall &opCall); 137 void opSetActorUsePan(ScriptThread *scriptThread, OpCall &opCall); 138 void opStartAbortableThread(ScriptThread *scriptThread, OpCall &opCall); 139 void opKillThread(ScriptThread *scriptThread, OpCall &opCall); 140 void opLoadGame(ScriptThread *scriptThread, OpCall &opCall); 141 void opPushLoadgameResult(ScriptThread *scriptThread, OpCall &opCall); 142 void opPushSavegameResult(ScriptThread *scriptThread, OpCall &opCall); 143 void opSetSceneIdThreadId(ScriptThread *scriptThread, OpCall &opCall); 144 void opStackPush0(ScriptThread *scriptThread, OpCall &opCall); 145 void opSetFontId(ScriptThread *scriptThread, OpCall &opCall); 146 void opAddMenuKey(ScriptThread *scriptThread, OpCall &opCall); 147 void opChangeSceneAll(ScriptThread *scriptThread, OpCall &opCall); 148 149 }; 150 151 } // End of namespace Illusions 152 153 #endif // ILLUSIONS_BBDOU_SCRIPTOPCODES_BBDOU_H 154