diff options
author | johndoe123 | 2014-04-07 12:58:26 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2018-07-20 06:43:33 +0000 |
commit | 3f15233f78a264e45ce74ecd2db9ed3119b1b654 (patch) | |
tree | 821bda821f8b1d0813e271d682c5c42b59103c59 /engines/illusions/scriptopcodes.h | |
parent | 6ba5570de52344da602cf02fb83725b468e3d8c5 (diff) | |
download | scummvm-rg350-3f15233f78a264e45ce74ecd2db9ed3119b1b654.tar.gz scummvm-rg350-3f15233f78a264e45ce74ecd2db9ed3119b1b654.tar.bz2 scummvm-rg350-3f15233f78a264e45ce74ecd2db9ed3119b1b654.zip |
ILLUSIONS: Refactor code in preparation for the Duckman engine
Diffstat (limited to 'engines/illusions/scriptopcodes.h')
-rw-r--r-- | engines/illusions/scriptopcodes.h | 93 |
1 files changed, 8 insertions, 85 deletions
diff --git a/engines/illusions/scriptopcodes.h b/engines/illusions/scriptopcodes.h index 4fc6cd68b5..1020e618a2 100644 --- a/engines/illusions/scriptopcodes.h +++ b/engines/illusions/scriptopcodes.h @@ -49,98 +49,21 @@ typedef Common::Functor2<ScriptThread*, OpCall&, void> ScriptOpcode; class ScriptOpcodes { public: ScriptOpcodes(IllusionsEngine *vm); - ~ScriptOpcodes(); + virtual ~ScriptOpcodes(); void execOpcode(ScriptThread *scriptThread, OpCall &opCall); protected: IllusionsEngine *_vm; ScriptOpcode *_opcodes[256]; Common::String _opcodeNames[256]; - void initOpcodes(); - void freeOpcodes(); - - // Opcodes - void opSuspend(ScriptThread *scriptThread, OpCall &opCall); - void opYield(ScriptThread *scriptThread, OpCall &opCall); - void opTerminate(ScriptThread *scriptThread, OpCall &opCall); - void opJump(ScriptThread *scriptThread, OpCall &opCall); - void opStartScriptThread(ScriptThread *scriptThread, OpCall &opCall); - void opStartTempScriptThread(ScriptThread *scriptThread, OpCall &opCall); - void opStartTimerThread(ScriptThread *scriptThread, OpCall &opCall); - void opSetThreadSceneId(ScriptThread *scriptThread, OpCall &opCall); - void opEndTalkThreads(ScriptThread *scriptThread, OpCall &opCall); - void opLoadResource(ScriptThread *scriptThread, OpCall &opCall); - void opUnloadResource(ScriptThread *scriptThread, OpCall &opCall); - void opEnterScene(ScriptThread *scriptThread, OpCall &opCall); - void opChangeScene(ScriptThread *scriptThread, OpCall &opCall); - void opStartModalScene(ScriptThread *scriptThread, OpCall &opCall); - void opExitModalScene(ScriptThread *scriptThread, OpCall &opCall); - void opEnterCloseUpScene(ScriptThread *scriptThread, OpCall &opCall); - void opExitCloseUpScene(ScriptThread *scriptThread, OpCall &opCall); - void opPanCenterObject(ScriptThread *scriptThread, OpCall &opCall); - void opPanToObject(ScriptThread *scriptThread, OpCall &opCall); - void opPanToNamedPoint(ScriptThread *scriptThread, OpCall &opCall); - void opPanToPoint(ScriptThread *scriptThread, OpCall &opCall); - void opPanStop(ScriptThread *scriptThread, OpCall &opCall); - void opSetDisplay(ScriptThread *scriptThread, OpCall &opCall); - void opIncBlockCounter(ScriptThread *scriptThread, OpCall &opCall); - void opClearBlockCounter(ScriptThread *scriptThread, OpCall &opCall); - void opSetProperty(ScriptThread *scriptThread, OpCall &opCall); - void opPlaceActor(ScriptThread *scriptThread, OpCall &opCall); - void opFaceActor(ScriptThread *scriptThread, OpCall &opCall); - void opFaceActorToObject(ScriptThread *scriptThread, OpCall &opCall); - void opStartSequenceActor(ScriptThread *scriptThread, OpCall &opCall); - void opStartMoveActor(ScriptThread *scriptThread, OpCall &opCall); - void opSetActorToNamedPoint(ScriptThread *scriptThread, OpCall &opCall); - void opStartTalkThread(ScriptThread *scriptThread, OpCall &opCall); - void opAppearActor(ScriptThread *scriptThread, OpCall &opCall); - void opDisappearActor(ScriptThread *scriptThread, OpCall &opCall); - void opActivateObject(ScriptThread *scriptThread, OpCall &opCall); - void opDeactivateObject(ScriptThread *scriptThread, OpCall &opCall); - void opSetDefaultSequence(ScriptThread *scriptThread, OpCall &opCall); - void opSetSelectSfx(ScriptThread *scriptThread, OpCall &opCall); - void opSetMoveSfx(ScriptThread *scriptThread, OpCall &opCall); - void opSetDenySfx(ScriptThread *scriptThread, OpCall &opCall); - void opSetAdjustUpSfx(ScriptThread *scriptThread, OpCall &opCall); - void opSetAdjustDnSfx(ScriptThread *scriptThread, OpCall &opCall); - void opStartSound(ScriptThread *scriptThread, OpCall &opCall); - void opStopSound(ScriptThread *scriptThread, OpCall &opCall); - void opStartMusic(ScriptThread *scriptThread, OpCall &opCall); - void opStopMusic(ScriptThread *scriptThread, OpCall &opCall); - void opStackPushRandom(ScriptThread *scriptThread, OpCall &opCall); - void opIfLte(ScriptThread *scriptThread, OpCall &opCall); - void opAddMenuChoice(ScriptThread *scriptThread, OpCall &opCall); - void opDisplayMenu(ScriptThread *scriptThread, OpCall &opCall); - void opSwitchMenuChoice(ScriptThread *scriptThread, OpCall &opCall); - void opResetGame(ScriptThread *scriptThread, OpCall &opCall); - void opDeactivateButton(ScriptThread *scriptThread, OpCall &opCall); - void opActivateButton(ScriptThread *scriptThread, OpCall &opCall); - void opJumpIf(ScriptThread *scriptThread, OpCall &opCall); - void opIsPrevSceneId(ScriptThread *scriptThread, OpCall &opCall); - void opIsCurrentSceneId(ScriptThread *scriptThread, OpCall &opCall); - void opIsActiveSceneId(ScriptThread *scriptThread, OpCall &opCall); - void opNot(ScriptThread *scriptThread, OpCall &opCall); - void opAnd(ScriptThread *scriptThread, OpCall &opCall); - void opOr(ScriptThread *scriptThread, OpCall &opCall); - void opGetProperty(ScriptThread *scriptThread, OpCall &opCall); - void opCompareBlockCounter(ScriptThread *scriptThread, OpCall &opCall); - void opDebug126(ScriptThread *scriptThread, OpCall &opCall); - void opPlayVideo(ScriptThread *scriptThread, OpCall &opCall); - void opStackPop(ScriptThread *scriptThread, OpCall &opCall); - void opStackDup(ScriptThread *scriptThread, OpCall &opCall); - void opLoadSpecialCodeModule(ScriptThread *scriptThread, OpCall &opCall); - void opRunSpecialCode(ScriptThread *scriptThread, OpCall &opCall); - void opStopActor(ScriptThread *scriptThread, OpCall &opCall); - void opSetActorUsePan(ScriptThread *scriptThread, OpCall &opCall); - void opStartAbortableThread(ScriptThread *scriptThread, OpCall &opCall); - void opKillThread(ScriptThread *scriptThread, OpCall &opCall); - void opSetSceneIdThreadId(ScriptThread *scriptThread, OpCall &opCall); - void opStackPush0(ScriptThread *scriptThread, OpCall &opCall); - void opSetFontId(ScriptThread *scriptThread, OpCall &opCall); - void opAddMenuKey(ScriptThread *scriptThread, OpCall &opCall); - void opChangeSceneAll(ScriptThread *scriptThread, OpCall &opCall); - + virtual void initOpcodes() {} + virtual void freeOpcodes() {} }; +// Convenience macros +#define ARG_SKIP(x) opCall.skip(x); +#define ARG_INT16(name) int16 name = opCall.readSint16(); debug(0, "ARG_INT16(" #name " = %d)", name); +#define ARG_UINT32(name) uint32 name = opCall.readUint32(); debug(0, "ARG_UINT32(" #name " = %08X)", name); + } // End of namespace Illusions #endif // ILLUSIONS_SCRIPTOPCODES_H |