[Scummvm-cvs-logs] CVS: scummvm/gob gob.cpp,1.32,1.33 gob.h,1.16,1.17 inter.h,1.8,1.9 inter_v1.cpp,1.6,1.7 inter_v2.cpp,1.2,1.3
Sven Hesse
drmccoy at users.sourceforge.net
Sat Jan 14 01:58:02 CET 2006
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/scumm dialogs.cpp,1.153,1.154
- Next message: [Scummvm-cvs-logs] CVS: scummvm/scumm actor.cpp,1.397,1.398 scumm.cpp,1.688,1.689 scumm.h,1.664,1.665 vars.cpp,1.160,1.161
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/scummvm/scummvm/gob
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26281
Modified Files:
gob.cpp gob.h inter.h inter_v1.cpp inter_v2.cpp
Log Message:
Added copy protection skipping; Fixed Inter::getOpcodeGoblinDesc()
Index: gob.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gob/gob.cpp,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -d -r1.32 -r1.33
--- gob.cpp 8 Jan 2006 20:03:20 -0000 1.32
+++ gob.cpp 14 Jan 2006 09:57:20 -0000 1.33
@@ -233,6 +233,7 @@
_mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, ConfMan.getInt("music_volume"));
_features = features;
+ _copyProtection = ConfMan.getBool("copy_protection");
}
GobEngine::~GobEngine() {
Index: gob.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gob/gob.h,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- gob.h 8 Jan 2006 20:03:20 -0000 1.16
+++ gob.h 14 Jan 2006 09:57:20 -0000 1.17
@@ -100,6 +100,8 @@
Common::RandomSource _rnd;
int32 _features;
+ bool _copyProtection;
+
Game *_game;
Snd *_snd;
Video *_video;
Index: inter.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gob/inter.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- inter.h 10 Jan 2006 11:30:23 -0000 1.8
+++ inter.h 14 Jan 2006 09:57:20 -0000 1.9
@@ -73,7 +73,7 @@
virtual void executeGoblinOpcode(int i, int16 &extraData, int32 *retVarPtr, Goblin::Gob_Object *objDesc) = 0;
virtual const char *getOpcodeDrawDesc(byte i) = 0;
virtual const char *getOpcodeFuncDesc(byte i, byte j) = 0;
- virtual const char *getOpcodeGoblinDesc(byte i) = 0;
+ virtual const char *getOpcodeGoblinDesc(int i) = 0;
};
class Inter_v1 : public Inter {
@@ -108,7 +108,7 @@
virtual void executeGoblinOpcode(int i, int16 &extraData, int32 *retVarPtr, Goblin::Gob_Object *objDesc);
virtual const char *getOpcodeDrawDesc(byte i);
virtual const char *getOpcodeFuncDesc(byte i, byte j);
- virtual const char *getOpcodeGoblinDesc(byte i);
+ virtual const char *getOpcodeGoblinDesc(int i);
void o1_loadMult(void);
void o1_playMult(void);
@@ -296,7 +296,7 @@
virtual void executeGoblinOpcode(int i, int16 &extraData, int32 *retVarPtr, Goblin::Gob_Object *objDesc);
virtual const char *getOpcodeDrawDesc(byte i);
virtual const char *getOpcodeFuncDesc(byte i, byte j);
- virtual const char *getOpcodeGoblinDesc(byte i);
+ virtual const char *getOpcodeGoblinDesc(int i);
void o2_drawStub(void) { warning("Gob2 stub"); }
};
Index: inter_v1.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gob/inter_v1.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- inter_v1.cpp 10 Jan 2006 11:30:23 -0000 1.6
+++ inter_v1.cpp 14 Jan 2006 09:57:20 -0000 1.7
@@ -1616,15 +1616,14 @@
return _opcodesDrawV1[i].desc;
}
-const char *Inter_v1::getOpcodeFuncDesc(byte i, byte j)
-{
+const char *Inter_v1::getOpcodeFuncDesc(byte i, byte j) {
if ((i > 4) || (j > 15))
return "";
return _opcodesFuncV1[i*16 + j].desc;
}
-const char *Inter_v1::getOpcodeGoblinDesc(byte i) {
+const char *Inter_v1::getOpcodeGoblinDesc(int i) {
for (int j = 0; j < ARRAYSIZE(_goblinFuncLookUp); j++)
if (_goblinFuncLookUp[j][0] == i)
return _opcodesGoblinV1[_goblinFuncLookUp[j][1]].desc;
@@ -1633,7 +1632,21 @@
bool Inter_v1::o1_callSub(char &cmdCount, int16 &counter, int16 &retFlag) {
char *storedIP = _vm->_global->_inter_execPtr;
- _vm->_global->_inter_execPtr = (char *)_vm->_game->_totFileData + READ_LE_UINT16(_vm->_global->_inter_execPtr);
+
+// _vm->_global->_inter_execPtr = (char *)_vm->_game->_totFileData + READ_LE_UINT16(_vm->_global->_inter_execPtr);
+
+ uint16 offset = READ_LE_UINT16(_vm->_global->_inter_execPtr);
+ debug(5, "tot = \"%s\", offset = %d", _vm->_game->_curTotFile, offset);
+
+ // Skipping the copy protection screen in Gobliiins
+ if (!_vm->_copyProtection && (_vm->_features & GF_GOB1) && (offset == 3905)
+ && !scumm_stricmp(_vm->_game->_curTotFile, "intro.tot")) {
+ debug(2, "Skipping copy protection screen");
+ _vm->_global->_inter_execPtr += 2;
+ return false;
+ }
+
+ _vm->_global->_inter_execPtr = (char *)_vm->_game->_totFileData + offset;
if (counter == cmdCount && retFlag == 2)
return true;
Index: inter_v2.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gob/inter_v2.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- inter_v2.cpp 10 Jan 2006 11:30:23 -0000 1.2
+++ inter_v2.cpp 14 Jan 2006 09:57:20 -0000 1.3
@@ -689,15 +689,14 @@
return _opcodesDrawV2[i].desc;
}
-const char *Inter_v2::getOpcodeFuncDesc(byte i, byte j)
-{
+const char *Inter_v2::getOpcodeFuncDesc(byte i, byte j) {
if ((i > 4) || (j > 15))
return "";
return _opcodesFuncV2[i*16 + j].desc;
}
-const char *Inter_v2::getOpcodeGoblinDesc(byte i) {
+const char *Inter_v2::getOpcodeGoblinDesc(int i) {
for (int j = 0; j < ARRAYSIZE(_goblinFuncLookUp); j++)
if (_goblinFuncLookUp[j][0] == i)
return _opcodesGoblinV2[_goblinFuncLookUp[j][1]].desc;
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/scumm dialogs.cpp,1.153,1.154
- Next message: [Scummvm-cvs-logs] CVS: scummvm/scumm actor.cpp,1.397,1.398 scumm.cpp,1.688,1.689 scumm.h,1.664,1.665 vars.cpp,1.160,1.161
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Scummvm-git-logs
mailing list