Added a workaround of sorts for Inca2. It's essentially playable, sans saving, space shooter and correct speech language selection

svn-id: r31032
This commit is contained in:
Sven Hesse 2008-03-02 23:57:29 +00:00
parent d5e09de48c
commit a513f0f43a
4 changed files with 16 additions and 2 deletions

View File

@ -1317,7 +1317,7 @@ static const GOBGameDescription gameDescriptions[] = {
kPlatformPC,
Common::ADGF_NO_FLAGS
},
kGameTypeGob3,
kGameTypeInca2,
kFeaturesCD,
"intro"
},

View File

@ -291,6 +291,7 @@ bool GobEngine::initGameParts() {
break;
case kGameTypeGob3:
case kGameTypeInca2:
_init = new Init_v3(this);
_video = new Video_v2(this);
_inter = new Inter_v3(this);

View File

@ -86,7 +86,8 @@ enum GameType {
kGameTypeWoodruff,
kGameTypeBargon,
kGameTypeWeen,
kGameTypeLostInTime
kGameTypeLostInTime,
kGameTypeInca2
};
enum Features {

View File

@ -1782,6 +1782,18 @@ bool Inter_v2::o2_freeCollision(OpFuncParams &params) {
}
bool Inter_v2::o2_goblinFunc(OpFuncParams &params) {
// TODO: In Inca 2, this is the big SpaceShoot0rz()-Opcode.
// It's not yet implemented, so we fudge our way through
// and pretend we've won.
if (_vm->getGameType() == kGameTypeInca2) {
_vm->_global->_inter_execPtr += 4;
uint16 resVar = (uint16) load16();
_vm->_global->_inter_execPtr += 4;
WRITE_VAR(resVar, 1);
return false;
}
OpGobParams gobParams;
int16 cmd;