[Scummvm-cvs-logs] scummvm-tools master -> ef52427b6f48340d64ec1910b6afc13c8db40783
DrMcCoy
drmccoy at drmccoy.de
Sat Aug 27 19:09:40 CEST 2011
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm-tools' repo located at https://github.com/scummvm/scummvm-tools .
Summary:
ef52427b6f TOOLS: Update degob with Geisha's "GobFunc" opcodes
Commit: ef52427b6f48340d64ec1910b6afc13c8db40783
https://github.com/scummvm/scummvm-tools/commit/ef52427b6f48340d64ec1910b6afc13c8db40783
Author: Sven Hesse (drmccoy at users.sourceforge.net)
Date: 2011-08-27T10:07:50-07:00
Commit Message:
TOOLS: Update degob with Geisha's "GobFunc" opcodes
Changed paths:
engines/gob/degob_script.h
engines/gob/degob_script_geisha.cpp
diff --git a/engines/gob/degob_script.h b/engines/gob/degob_script.h
index 93beb16..e6411da 100644
--- a/engines/gob/degob_script.h
+++ b/engines/gob/degob_script.h
@@ -343,6 +343,8 @@ protected:
virtual void drawOpcode(byte i, FuncParams ¶ms);
virtual void funcOpcode(byte i, byte j, FuncParams ¶ms);
virtual void goblinOpcode(int i, FuncParams ¶ms);
+
+ void oGeisha_goblinFunc(FuncParams ¶ms);
};
class Script_Bargon : public Script_v2 {
diff --git a/engines/gob/degob_script_geisha.cpp b/engines/gob/degob_script_geisha.cpp
index 9b40860..efdc618 100644
--- a/engines/gob/degob_script_geisha.cpp
+++ b/engines/gob/degob_script_geisha.cpp
@@ -484,7 +484,7 @@ void Script_Geisha::setupOpcodes() {
{OPCODET(o1_speakerOff), {PARAM_NONE}},
/* 24 */
{OPCODET(o1_putPixel), {PARAM_INT16, PARAM_EXPR, PARAM_EXPR, PARAM_EXPR}},
- {OPCODEF(o1_goblinFunc), {PARAM_NONE}},
+ {OPCODEF(oGeisha_goblinFunc), {PARAM_NONE}},
{OPCODET(o1_createSprite), {PARAM_INT16, PARAM_INT16, PARAM_INT16, PARAM_INT16}},
{OPCODET(o1_freeSprite), {PARAM_INT16}},
/* 28 */
@@ -541,15 +541,15 @@ void Script_Geisha::setupOpcodes() {
static const OpcodeGoblinEntryGeisha opcodesGoblin[8] = {
/* 00 */
- {OPCODET(oGeisha_OG_0), {PARAM_INT16, PARAM_INT16, PARAM_INT16, PARAM_INT16}},
- {OPCODET(oGeisha_OG_1), {PARAM_INT16, PARAM_INT16, PARAM_INT16}},
- {OPCODET(oGeisha_loadGeisha), {PARAM_GOB}},
- {OPCODET(oGeisha_adlibPlay), {PARAM_GOB}},
+ {OPCODET(oGeisha_gamePenetration), {PARAM_INT16, PARAM_INT16, PARAM_INT16, PARAM_INT16}},
+ {OPCODET(oGeisha_gameDiving), {PARAM_INT16, PARAM_INT16, PARAM_INT16}},
+ {OPCODET(oGeisha_loadTitleMusic), {PARAM_GOB}},
+ {OPCODET(oGeisha_playMusic), {PARAM_GOB}},
/* 04 */
- {OPCODET(oGeisha_adlibStop), {PARAM_GOB}},
- {OPCODET(oGeisha_OG_NOP), {PARAM_GOB}},
- {OPCODET(oGeisha_OG_6), {PARAM_GOB}},
- {OPCODET(oGeisha_OG_7), {PARAM_GOB}},
+ {OPCODET(oGeisha_stopMusic), {PARAM_GOB}},
+ {OPCODET(oGeisha_NOP), {PARAM_GOB}},
+ {OPCODET(oGeisha_caress1), {PARAM_GOB}},
+ {OPCODET(oGeisha_caress2), {PARAM_GOB}},
};
_opcodesDrawGeisha = opcodesDraw;
@@ -619,3 +619,17 @@ void Script_Geisha::goblinOpcode(int i, FuncParams ¶ms) {
(this->*op)(params);
}
+void Script_Geisha::oGeisha_goblinFunc(FuncParams ¶ms) {
+ FuncParams gobParams;
+ int16 cmd;
+
+ gobParams.extraData = 0;
+ gobParams.objIndex = -1;
+
+ cmd = (int16) readUint16();
+
+ if ((cmd >= 0) && (cmd < 8) && (cmd != 5))
+ skip(2);
+
+ goblinOpcode(cmd, gobParams);
+}
More information about the Scummvm-git-logs
mailing list