aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTorbjörn Andersson2003-11-24 07:34:07 +0000
committerTorbjörn Andersson2003-11-24 07:34:07 +0000
commit1fc58a5ca08fb34074d4b3f3f7a5405997dd246c (patch)
tree4e74b9fe33afd2b48e683e375b8c7de275d7a278
parent509235e176837799ee86cf58302f4f9b48c60cbb (diff)
downloadscummvm-rg350-1fc58a5ca08fb34074d4b3f3f7a5405997dd246c.tar.gz
scummvm-rg350-1fc58a5ca08fb34074d4b3f3f7a5405997dd246c.tar.bz2
scummvm-rg350-1fc58a5ca08fb34074d4b3f3f7a5405997dd246c.zip
Removed redundant information from the opcode list. I thought having the
number of parameters to a function would be useful for debugging, but that information is already available in the script data itself. svn-id: r11360
-rw-r--r--sword2/interpreter.cpp238
-rw-r--r--sword2/logic.h4
2 files changed, 119 insertions, 123 deletions
diff --git a/sword2/interpreter.cpp b/sword2/interpreter.cpp
index f6fde1b095..622f62bf1e 100644
--- a/sword2/interpreter.cpp
+++ b/sword2/interpreter.cpp
@@ -35,158 +35,158 @@ namespace Sword2 {
#define MAX_FN_NUMBER 117
-#define OPCODE(x, y) { x, &Logic::y, #y }
+#define OPCODE(x) { &Logic::x, #x }
void Logic::setupOpcodes(void) {
static const OpcodeEntry opcodes[MAX_FN_NUMBER + 1] = {
/* 00 */
- OPCODE(1, fnTestFunction),
- OPCODE(1, fnTestFlags),
- OPCODE(2, fnRegisterStartPoint),
- OPCODE(2, fnInitBackground),
+ OPCODE(fnTestFunction),
+ OPCODE(fnTestFlags),
+ OPCODE(fnRegisterStartPoint),
+ OPCODE(fnInitBackground),
/* 04 */
- OPCODE(1, fnSetSession),
- OPCODE(1, fnBackSprite),
- OPCODE(1, fnSortSprite),
- OPCODE(1, fnForeSprite),
+ OPCODE(fnSetSession),
+ OPCODE(fnBackSprite),
+ OPCODE(fnSortSprite),
+ OPCODE(fnForeSprite),
/* 08 */
- OPCODE(1, fnRegisterMouse),
- OPCODE(3, fnAnim),
- OPCODE(2, fnRandom),
- OPCODE(1, fnPreLoad),
+ OPCODE(fnRegisterMouse),
+ OPCODE(fnAnim),
+ OPCODE(fnRandom),
+ OPCODE(fnPreLoad),
/* 0C */
- OPCODE(2, fnAddSubject),
- OPCODE(1, fnInteract),
- OPCODE(0, fnChoose),
- OPCODE(7, fnWalk),
+ OPCODE(fnAddSubject),
+ OPCODE(fnInteract),
+ OPCODE(fnChoose),
+ OPCODE(fnWalk),
/* 10 */
- OPCODE(5, fnWalkToAnim),
- OPCODE(6, fnTurn),
- OPCODE(5, fnStandAt),
- OPCODE(3, fnStand),
+ OPCODE(fnWalkToAnim),
+ OPCODE(fnTurn),
+ OPCODE(fnStandAt),
+ OPCODE(fnStand),
/* 14 */
- OPCODE(3, fnStandAfterAnim),
- OPCODE(2, fnPause),
- OPCODE(4, fnMegaTableAnim),
- OPCODE(1, fnAddMenuObject),
+ OPCODE(fnStandAfterAnim),
+ OPCODE(fnPause),
+ OPCODE(fnMegaTableAnim),
+ OPCODE(fnAddMenuObject),
/* 18 */
- OPCODE(0, fnStartConversation),
- OPCODE(0, fnEndConversation),
- OPCODE(3, fnSetFrame),
- OPCODE(3, fnRandomPause),
+ OPCODE(fnStartConversation),
+ OPCODE(fnEndConversation),
+ OPCODE(fnSetFrame),
+ OPCODE(fnRandomPause),
/* 1C */
- OPCODE(3, fnRegisterFrame),
- OPCODE(1, fnNoSprite),
- OPCODE(2, fnSendSync),
- OPCODE(1, fnUpdatePlayerStats),
+ OPCODE(fnRegisterFrame),
+ OPCODE(fnNoSprite),
+ OPCODE(fnSendSync),
+ OPCODE(fnUpdatePlayerStats),
/* 20 */
- OPCODE(1, fnPassGraph),
- OPCODE(1, fnInitFloorMouse),
- OPCODE(1, fnPassMega),
- OPCODE(6, fnFaceXY),
+ OPCODE(fnPassGraph),
+ OPCODE(fnInitFloorMouse),
+ OPCODE(fnPassMega),
+ OPCODE(fnFaceXY),
/* 24 */
- OPCODE(1, fnEndSession),
- OPCODE(0, fnNoHuman),
- OPCODE(0, fnAddHuman),
- OPCODE(1, fnWeWait),
+ OPCODE(fnEndSession),
+ OPCODE(fnNoHuman),
+ OPCODE(fnAddHuman),
+ OPCODE(fnWeWait),
/* 28 */
- OPCODE(8, fnTheyDoWeWait),
- OPCODE(7, fnTheyDo),
- OPCODE(6, fnWalkToTalkToMega),
- OPCODE(0, fnFadeDown),
+ OPCODE(fnTheyDoWeWait),
+ OPCODE(fnTheyDo),
+ OPCODE(fnWalkToTalkToMega),
+ OPCODE(fnFadeDown),
/* 2C */
- OPCODE(0, fnISpeak),
- OPCODE(0, fnTotalRestart),
- OPCODE(0, fnSetWalkGrid),
- OPCODE(5, fnSpeechProcess),
+ OPCODE(fnISpeak),
+ OPCODE(fnTotalRestart),
+ OPCODE(fnSetWalkGrid),
+ OPCODE(fnSpeechProcess),
/* 30 */
- OPCODE(3, fnSetScaling),
- OPCODE(0, fnStartEvent),
- OPCODE(0, fnCheckEventWaiting),
- OPCODE(1, fnRequestSpeech),
+ OPCODE(fnSetScaling),
+ OPCODE(fnStartEvent),
+ OPCODE(fnCheckEventWaiting),
+ OPCODE(fnRequestSpeech),
/* 34 */
- OPCODE(1, fnGosub),
- OPCODE(3, fnTimedWait),
- OPCODE(5, fnPlayFx),
- OPCODE(1, fnStopFx),
+ OPCODE(fnGosub),
+ OPCODE(fnTimedWait),
+ OPCODE(fnPlayFx),
+ OPCODE(fnStopFx),
/* 38 */
- OPCODE(2, fnPlayMusic),
- OPCODE(0, fnStopMusic),
- OPCODE(2, fnSetValue),
- OPCODE(1, fnNewScript),
+ OPCODE(fnPlayMusic),
+ OPCODE(fnStopMusic),
+ OPCODE(fnSetValue),
+ OPCODE(fnNewScript),
/* 3C */
- OPCODE(0, fnGetSync),
- OPCODE(0, fnWaitSync),
- OPCODE(0, fnRegisterWalkGrid),
- OPCODE(4, fnReverseMegaTableAnim),
+ OPCODE(fnGetSync),
+ OPCODE(fnWaitSync),
+ OPCODE(fnRegisterWalkGrid),
+ OPCODE(fnReverseMegaTableAnim),
/* 40 */
- OPCODE(3, fnReverseAnim),
- OPCODE(0, fnAddToKillList),
- OPCODE(3, fnSetStandbyCoords),
- OPCODE(1, fnBackPar0Sprite),
+ OPCODE(fnReverseAnim),
+ OPCODE(fnAddToKillList),
+ OPCODE(fnSetStandbyCoords),
+ OPCODE(fnBackPar0Sprite),
/* 44 */
- OPCODE(1, fnBackPar1Sprite),
- OPCODE(1, fnForePar0Sprite),
- OPCODE(1, fnForePar1Sprite),
- OPCODE(1, fnSetPlayerActionEvent),
+ OPCODE(fnBackPar1Sprite),
+ OPCODE(fnForePar0Sprite),
+ OPCODE(fnForePar1Sprite),
+ OPCODE(fnSetPlayerActionEvent),
/* 48 */
- OPCODE(2, fnSetScrollCoordinate),
- OPCODE(3, fnStandAtAnim),
- OPCODE(1, fnSetScrollLeftMouse),
- OPCODE(1, fnSetScrollRightMouse),
+ OPCODE(fnSetScrollCoordinate),
+ OPCODE(fnStandAtAnim),
+ OPCODE(fnSetScrollLeftMouse),
+ OPCODE(fnSetScrollRightMouse),
/* 4C */
- OPCODE(1, fnColour),
- OPCODE(1, fnFlash),
- OPCODE(1, fnPreFetch),
- OPCODE(3, fnGetPlayerSaveData),
+ OPCODE(fnColour),
+ OPCODE(fnFlash),
+ OPCODE(fnPreFetch),
+ OPCODE(fnGetPlayerSaveData),
/* 50 */
- OPCODE(3, fnPassPlayerSaveData),
- OPCODE(2, fnSendEvent),
- OPCODE(1, fnAddWalkGrid),
- OPCODE(1, fnRemoveWalkGrid),
+ OPCODE(fnPassPlayerSaveData),
+ OPCODE(fnSendEvent),
+ OPCODE(fnAddWalkGrid),
+ OPCODE(fnRemoveWalkGrid),
/* 54 */
- OPCODE(0, fnCheckForEvent),
- OPCODE(2, fnPauseForEvent),
- OPCODE(0, fnClearEvent),
- OPCODE(5, fnFaceMega),
+ OPCODE(fnCheckForEvent),
+ OPCODE(fnPauseForEvent),
+ OPCODE(fnClearEvent),
+ OPCODE(fnFaceMega),
/* 58 */
- OPCODE(2, fnPlaySequence),
- OPCODE(1, fnShadedSprite),
- OPCODE(1, fnUnshadedSprite),
- OPCODE(0, fnFadeUp),
+ OPCODE(fnPlaySequence),
+ OPCODE(fnShadedSprite),
+ OPCODE(fnUnshadedSprite),
+ OPCODE(fnFadeUp),
/* 60 */
- OPCODE(1, fnDisplayMsg),
- OPCODE(0, fnSetObjectHeld),
- OPCODE(3, fnAddSequenceText),
- OPCODE(0, fnResetGlobals),
+ OPCODE(fnDisplayMsg),
+ OPCODE(fnSetObjectHeld),
+ OPCODE(fnAddSequenceText),
+ OPCODE(fnResetGlobals),
/* 64 */
- OPCODE(1, fnSetPalette),
- OPCODE(1, fnRegisterPointerText),
- OPCODE(1, fnFetchWait),
- OPCODE(1, fnRelease),
+ OPCODE(fnSetPalette),
+ OPCODE(fnRegisterPointerText),
+ OPCODE(fnFetchWait),
+ OPCODE(fnRelease),
/* 68 */
- OPCODE(1, fnPrepareMusic),
- OPCODE(1, fnSoundFetch),
- OPCODE(1, fnPrepareMusic), // Again, apparently
- OPCODE(1, fnSmackerLeadIn),
+ OPCODE(fnPrepareMusic),
+ OPCODE(fnSoundFetch),
+ OPCODE(fnPrepareMusic), // Again, apparently
+ OPCODE(fnSmackerLeadIn),
/* 6C */
- OPCODE(1, fnSmackerLeadOut),
- OPCODE(0, fnStopAllFx),
- OPCODE(1, fnCheckPlayerActivity),
- OPCODE(0, fnResetPlayerActivityDelay),
+ OPCODE(fnSmackerLeadOut),
+ OPCODE(fnStopAllFx),
+ OPCODE(fnCheckPlayerActivity),
+ OPCODE(fnResetPlayerActivityDelay),
/* 70 */
- OPCODE(0, fnCheckMusicPlaying),
- OPCODE(0, fnPlayCredits),
- OPCODE(0, fnSetScrollSpeedNormal),
- OPCODE(0, fnSetScrollSpeedSlow),
+ OPCODE(fnCheckMusicPlaying),
+ OPCODE(fnPlayCredits),
+ OPCODE(fnSetScrollSpeedNormal),
+ OPCODE(fnSetScrollSpeedSlow),
/* 74 */
- OPCODE(0, fnRemoveChooser),
- OPCODE(3, fnSetFxVolAndPan),
- OPCODE(3, fnSetFxVol),
- OPCODE(0, fnRestoreGame),
+ OPCODE(fnRemoveChooser),
+ OPCODE(fnSetFxVolAndPan),
+ OPCODE(fnSetFxVol),
+ OPCODE(fnRestoreGame),
/* 78 */
- OPCODE(0, fnRefreshInventory),
- OPCODE(0, fnChangeShadows)
+ OPCODE(fnRefreshInventory),
+ OPCODE(fnChangeShadows)
};
_opcodes = opcodes;
diff --git a/sword2/logic.h b/sword2/logic.h
index 2ed33dc45b..1ed058e4f3 100644
--- a/sword2/logic.h
+++ b/sword2/logic.h
@@ -59,12 +59,8 @@ private:
// Set this to turn debugging on
bool _debugFlag;
- // FIXME: Some opcodes pass pointers in integer variables. I don't
- // think that's entirely portable.
-
typedef int32 (Logic::*OpcodeProc)(int32 *);
struct OpcodeEntry {
- byte numArgs;
OpcodeProc proc;
const char *desc;
};