From e26954bcdb0a0277b5c6df4e785d1909d9865c7f Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Thu, 19 Oct 2006 23:57:54 +0000 Subject: Split script opcode tables up into more specifics svn-id: r24393 --- engines/agos/script.cpp | 21 +-------------------- engines/agos/script_e2.cpp | 19 ------------------- engines/agos/script_ff.cpp | 16 +++++++++++++++- engines/agos/script_pp.cpp | 15 ++++++++++----- engines/agos/script_s1.cpp | 19 +++++++++++++++++++ engines/agos/script_s2.cpp | 19 +++++++++++++++++++ engines/agos/script_ww.cpp | 22 +++------------------- 7 files changed, 67 insertions(+), 64 deletions(-) (limited to 'engines') diff --git a/engines/agos/script.cpp b/engines/agos/script.cpp index b9ac893268..3a03444a74 100644 --- a/engines/agos/script.cpp +++ b/engines/agos/script.cpp @@ -37,7 +37,7 @@ extern bool isSmartphone(void); namespace AGOS { void AGOSEngine::setupCommonOpcodes(OpcodeProc *op) { - // A sensible set of opcodes for Simon 1 and later. + // A common set of opcodes for Elvira 2 and later. op[1] = &AGOSEngine::o_at; op[2] = &AGOSEngine::o_notAt; @@ -85,9 +85,6 @@ void AGOSEngine::setupCommonOpcodes(OpcodeProc *op) { op[62] = &AGOSEngine::o_print; op[63] = &AGOSEngine::o_message; op[64] = &AGOSEngine::o_msg; - op[65] = &AGOSEngine::o_addTextBox; - op[66] = &AGOSEngine::o_setShortText; - op[67] = &AGOSEngine::o_setLongText; op[68] = &AGOSEngine::o_end; op[69] = &AGOSEngine::o_done; op[71] = &AGOSEngine::o_process; @@ -148,22 +145,6 @@ void AGOSEngine::setupCommonOpcodes(OpcodeProc *op) { op[157] = &AGOSEngine::o_getOValue; op[158] = &AGOSEngine::o_setOValue; op[160] = &AGOSEngine::o_ink; - op[161] = &AGOSEngine::o_screenTextBox; - op[162] = &AGOSEngine::o_screenTextMsg; - op[163] = &AGOSEngine::o_playEffect; - op[164] = &AGOSEngine::o_getDollar2; - op[165] = &AGOSEngine::o_isAdjNoun; - op[166] = &AGOSEngine::o_b2Set; - op[167] = &AGOSEngine::o_b2Clear; - op[168] = &AGOSEngine::o_b2Zero; - op[169] = &AGOSEngine::o_b2NotZero; - op[175] = &AGOSEngine::o_lockZones; - op[176] = &AGOSEngine::o_unlockZones; - op[178] = &AGOSEngine::o_getPathPosn; - op[179] = &AGOSEngine::o_scnTxtLongText; - op[180] = &AGOSEngine::o_mouseOn; - op[184] = &AGOSEngine::o_unloadZone; - op[186] = &AGOSEngine::o_unfreezeZones; } void AGOSEngine::setupOpcodes() { diff --git a/engines/agos/script_e2.cpp b/engines/agos/script_e2.cpp index 33231a4de4..abaff14f88 100644 --- a/engines/agos/script_e2.cpp +++ b/engines/agos/script_e2.cpp @@ -67,25 +67,6 @@ void AGOSEngine::setupElvira2Opcodes(OpcodeProc *op) { op[181] = &AGOSEngine::o_b2Clear; op[182] = &AGOSEngine::o_b2Zero; op[183] = &AGOSEngine::o_b2NotZero; - - // Code difference, check if triggered - op[65] = NULL; - op[66] = NULL; - op[67] = NULL; - op[70] = NULL; - op[163] = NULL; - op[164] = NULL; - op[167] = NULL; - op[168] = NULL; - op[169] = NULL; - op[170] = NULL; - op[171] = NULL; - op[172] = NULL; - op[173] = NULL; - op[174] = NULL; - op[176] = NULL; - op[177] = NULL; - op[178] = NULL; } // ----------------------------------------------------------------------- diff --git a/engines/agos/script_ff.cpp b/engines/agos/script_ff.cpp index 36eb28c78b..39f684fbd0 100644 --- a/engines/agos/script_ff.cpp +++ b/engines/agos/script_ff.cpp @@ -36,6 +36,8 @@ void AGOSEngine::setupFeebleOpcodes(OpcodeProc *op) { op[23] = &AGOSEngine::o3_chance; op[37] = &AGOSEngine::o3_jumpOut; op[65] = &AGOSEngine::o3_addTextBox; + op[66] = &AGOSEngine::o_setShortText; + op[67] = &AGOSEngine::o_setLongText; op[70] = &AGOSEngine::o3_printLongText; op[83] = &AGOSEngine::o2_rescan; op[98] = &AGOSEngine::o2_animate; @@ -51,15 +53,27 @@ void AGOSEngine::setupFeebleOpcodes(OpcodeProc *op) { op[134] = &AGOSEngine::o3_listSaveGames; op[135] = &AGOSEngine::o3_checkCD; op[161] = &AGOSEngine::o3_screenTextBox; - op[163] = NULL; + op[162] = &AGOSEngine::o_screenTextMsg; + op[164] = &AGOSEngine::o_getDollar2; op[165] = &AGOSEngine::o3_isAdjNoun; + op[166] = &AGOSEngine::o_b2Set; + op[167] = &AGOSEngine::o_b2Clear; + op[168] = &AGOSEngine::o_b2Zero; + op[169] = &AGOSEngine::o_b2NotZero; op[171] = &AGOSEngine::o3_hyperLinkOn; op[172] = &AGOSEngine::o3_hyperLinkOff; op[173] = &AGOSEngine::o3_checkPaths; + op[175] = &AGOSEngine::o_lockZones; + op[176] = &AGOSEngine::o_unlockZones; op[177] = &AGOSEngine::o3_screenTextPObj; + op[178] = &AGOSEngine::o_getPathPosn; + op[179] = &AGOSEngine::o_scnTxtLongText; + op[180] = &AGOSEngine::o_mouseOn; op[181] = &AGOSEngine::o3_mouseOff; op[182] = &AGOSEngine::o3_loadVideo; op[183] = &AGOSEngine::o3_playVideo; + op[184] = &AGOSEngine::o_unloadZone; + op[186] = &AGOSEngine::o_unfreezeZones; op[187] = &AGOSEngine::o3_centreScroll; op[188] = &AGOSEngine::o2_isShortText; op[189] = &AGOSEngine::o2_clearMarks; diff --git a/engines/agos/script_pp.cpp b/engines/agos/script_pp.cpp index 530fdbb7d0..70792a36b2 100644 --- a/engines/agos/script_pp.cpp +++ b/engines/agos/script_pp.cpp @@ -37,6 +37,7 @@ void AGOSEngine::setupPuzzleOpcodes(OpcodeProc *op) { op[63] = &AGOSEngine::o4_message; op[65] = &AGOSEngine::o3_addTextBox; op[66] = &AGOSEngine::o4_setShortText; + op[67] = &AGOSEngine::o_setLongText; op[70] = &AGOSEngine::o3_printLongText; op[83] = &AGOSEngine::o2_rescan; op[98] = &AGOSEngine::o2_animate; @@ -54,17 +55,21 @@ void AGOSEngine::setupPuzzleOpcodes(OpcodeProc *op) { op[133] = &AGOSEngine::o4_loadUserGame; op[134] = &AGOSEngine::o3_listSaveGames; op[161] = &AGOSEngine::o3_screenTextBox; - op[163] = NULL; + op[162] = &AGOSEngine::o_screenTextMsg; + op[164] = &AGOSEngine::o_getDollar2; op[165] = &AGOSEngine::o3_isAdjNoun; - op[166] = NULL; - op[167] = NULL; - op[168] = NULL; - op[169] = NULL; op[171] = &AGOSEngine::o3_hyperLinkOn; op[172] = &AGOSEngine::o3_hyperLinkOff; op[173] = &AGOSEngine::o4_saveOopsPosition; + op[175] = &AGOSEngine::o_lockZones; + op[176] = &AGOSEngine::o_unlockZones; op[177] = &AGOSEngine::o3_screenTextPObj; + op[178] = &AGOSEngine::o_getPathPosn; + op[179] = &AGOSEngine::o_scnTxtLongText; + op[180] = &AGOSEngine::o_mouseOn; op[181] = &AGOSEngine::o3_mouseOff; + op[184] = &AGOSEngine::o_unloadZone; + op[186] = &AGOSEngine::o_unfreezeZones; op[187] = &AGOSEngine::o4_resetGameTime; op[188] = &AGOSEngine::o2_isShortText; op[189] = &AGOSEngine::o2_clearMarks; diff --git a/engines/agos/script_s1.cpp b/engines/agos/script_s1.cpp index 6f06d0f97b..61a4614971 100644 --- a/engines/agos/script_s1.cpp +++ b/engines/agos/script_s1.cpp @@ -30,16 +30,35 @@ namespace AGOS { void AGOSEngine::setupSimon1Opcodes(OpcodeProc *op) { setupCommonOpcodes(op); + op[65] = &AGOSEngine::o_addTextBox; + op[66] = &AGOSEngine::o_setShortText; + op[67] = &AGOSEngine::o_setLongText; op[70] = &AGOSEngine::o1_printLongText; op[83] = &AGOSEngine::o1_rescan; op[98] = &AGOSEngine::o1_animate; op[99] = &AGOSEngine::o1_stopAnimate; op[127] = &AGOSEngine::o1_playTune; + op[161] = &AGOSEngine::o_screenTextBox; + op[162] = &AGOSEngine::o_screenTextMsg; + op[163] = &AGOSEngine::o_playEffect; + op[164] = &AGOSEngine::o_getDollar2; + op[165] = &AGOSEngine::o_isAdjNoun; + op[166] = &AGOSEngine::o_b2Set; + op[167] = &AGOSEngine::o_b2Clear; + op[168] = &AGOSEngine::o_b2Zero; + op[169] = &AGOSEngine::o_b2NotZero; + op[175] = &AGOSEngine::o_lockZones; + op[176] = &AGOSEngine::o_unlockZones; op[177] = &AGOSEngine::o1_screenTextPObj; + op[178] = &AGOSEngine::o_getPathPosn; + op[179] = &AGOSEngine::o_scnTxtLongText; + op[180] = &AGOSEngine::o_mouseOn; op[181] = &AGOSEngine::o1_mouseOff; op[182] = &AGOSEngine::o1_loadBeard; op[183] = &AGOSEngine::o1_unloadBeard; + op[184] = &AGOSEngine::o_unloadZone; op[185] = &AGOSEngine::o1_loadStrings; + op[186] = &AGOSEngine::o_unfreezeZones; op[187] = &AGOSEngine::o1_specialFade; } diff --git a/engines/agos/script_s2.cpp b/engines/agos/script_s2.cpp index a8848276cb..186795885d 100644 --- a/engines/agos/script_s2.cpp +++ b/engines/agos/script_s2.cpp @@ -30,13 +30,32 @@ namespace AGOS { void AGOSEngine::setupSimon2Opcodes(OpcodeProc *op) { setupCommonOpcodes(op); + op[65] = &AGOSEngine::o_addTextBox; + op[66] = &AGOSEngine::o_setShortText; + op[67] = &AGOSEngine::o_setLongText; op[70] = &AGOSEngine::o2_printLongText; op[83] = &AGOSEngine::o2_rescan; op[98] = &AGOSEngine::o2_animate; op[99] = &AGOSEngine::o2_stopAnimate; op[127] = &AGOSEngine::o2_playTune; + op[161] = &AGOSEngine::o_screenTextBox; + op[162] = &AGOSEngine::o_screenTextMsg; + op[163] = &AGOSEngine::o_playEffect; + op[164] = &AGOSEngine::o_getDollar2; + op[165] = &AGOSEngine::o_isAdjNoun; + op[166] = &AGOSEngine::o_b2Set; + op[167] = &AGOSEngine::o_b2Clear; + op[168] = &AGOSEngine::o_b2Zero; + op[169] = &AGOSEngine::o_b2NotZero; + op[175] = &AGOSEngine::o_lockZones; + op[176] = &AGOSEngine::o_unlockZones; op[177] = &AGOSEngine::o2_screenTextPObj; + op[178] = &AGOSEngine::o_getPathPosn; + op[179] = &AGOSEngine::o_scnTxtLongText; + op[180] = &AGOSEngine::o_mouseOn; op[181] = &AGOSEngine::o2_mouseOff; + op[184] = &AGOSEngine::o_unloadZone; + op[186] = &AGOSEngine::o_unfreezeZones; op[188] = &AGOSEngine::o2_isShortText; op[189] = &AGOSEngine::o2_clearMarks; op[190] = &AGOSEngine::o2_waitMark; diff --git a/engines/agos/script_ww.cpp b/engines/agos/script_ww.cpp index ecb3b70eb1..5297cb4e3c 100644 --- a/engines/agos/script_ww.cpp +++ b/engines/agos/script_ww.cpp @@ -32,7 +32,6 @@ namespace AGOS { void AGOSEngine::setupWaxworksOpcodes(OpcodeProc *op) { setupCommonOpcodes(op); - // Confirmed op[8] = &AGOSEngine::oe1_isNotAt; op[9] = &AGOSEngine::oe1_sibling; op[10] = &AGOSEngine::oe1_notSibling; @@ -43,6 +42,9 @@ void AGOSEngine::setupWaxworksOpcodes(OpcodeProc *op) { op[35] = &AGOSEngine::oe1_copyfo; op[54] = &AGOSEngine::oww_moveDirn; op[55] = &AGOSEngine::oww_goto; + op[65] = &AGOSEngine::o_addTextBox; + op[66] = &AGOSEngine::o_setShortText; + op[67] = &AGOSEngine::o_setLongText; op[70] = &AGOSEngine::o1_printLongText; op[73] = &AGOSEngine::oe1_pObj; op[74] = &AGOSEngine::oe1_pName; @@ -79,24 +81,6 @@ void AGOSEngine::setupWaxworksOpcodes(OpcodeProc *op) { op[188] = &AGOSEngine::oww_boxPObj; op[189] = &AGOSEngine::o_lockZones; op[190] = &AGOSEngine::o_unlockZones; - - // Code difference, check if triggered - op[161] = NULL; - op[163] = NULL; - op[164] = NULL; - op[165] = NULL; - op[166] = NULL; - op[167] = NULL; - op[168] = NULL; - op[169] = NULL; - op[170] = NULL; - op[171] = NULL; - op[172] = NULL; - op[173] = NULL; - op[174] = NULL; - op[176] = NULL; - op[177] = NULL; - op[178] = NULL; } // ----------------------------------------------------------------------- -- cgit v1.2.3