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
This commit is contained in:
Torbjörn Andersson 2003-11-24 07:34:07 +00:00
parent 509235e176
commit 1fc58a5ca0
2 changed files with 119 additions and 123 deletions

View file

@ -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;

View file

@ -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;
};