Refixed getActorY in indy3. Fixed class (dunno if the fix doesn't break something else. Fixed intro by slowing down music rate by 3.

svn-id: r4018
This commit is contained in:
Vincent Hamm 2002-04-19 21:06:50 +00:00
parent f442157a14
commit ed65e89a89
4 changed files with 20 additions and 12 deletions

View File

@ -272,7 +272,7 @@ void Scumm::executeScript()
_opcode = fetchScriptByte();
_scriptPointerStart = _scriptPointer;
vm.slot[_currentScript].didexec = 1;
debug(1, "Script %d: [%X] %s()", vm.slot[_currentScript].number, _opcode, _opcodes_lookup[_opcode]);
//debug(1, "Script %d: [%X] %s()", vm.slot[_currentScript].number, _opcode, _opcodes_lookup[_opcode]);
op = getOpcode(_opcode);
(this->*op) ();
}

View File

@ -827,21 +827,18 @@ void Scumm::o5_actorSetClass()
_classData[act] = 0;
if( _features & GF_SMALL_HEADER)
{
Actor *a;
a=derefActor(act);
a->forceClip=0;
}
continue;
}
if(_gameId == GID_INDY3_256)
newClass--;
if (newClass & 0x80)
putClass(act, newClass, 1);
else
@ -1323,7 +1320,7 @@ void Scumm::o5_getActorY()
actor = getVarOrDirectByte(0x80);
else
actor = getVarOrDirectWord(0x80);
setResult(actor);
setResult(getObjY(actor));
}
void Scumm::o5_getAnimCounter()
@ -2247,6 +2244,7 @@ void Scumm::o5_startScript()
void Scumm::o5_startSound()
{
_vars[VAR_MUSIC_FLAG]=0;
addSoundToQueue(getVarOrDirectByte(0x80));
}
@ -2505,9 +2503,6 @@ void Scumm::o5_wait()
break;
return;
case 2: /* wait for message */
if ((_currentRoom == 0) && (_gameId == GID_ZAK256)) // Bypass Zak256 script hang
return;
if (_vars[VAR_HAVE_MSG])
break;
return;

View File

@ -958,6 +958,7 @@ public:
uint16 _mouthSyncTimes[52];
uint _curSoundPos;
int current_cd_sound;
int tempMusic;
#ifdef COMPRESSED_SOUND_FILE

View File

@ -53,6 +53,8 @@ void Scumm::scummInit()
int i;
Actor *a;
tempMusic=0;
debug(9, "scummInit");
if (_features & GF_SMALL_HEADER)
@ -252,7 +254,17 @@ int Scumm::scummLoop(int delta)
}
}
} else if (_features & GF_OLD256)
_vars[VAR_MUSIC_FLAG]++; // ENDERFIX
{
if(tempMusic == 3)
{
tempMusic = 0;
_vars[VAR_MUSIC_FLAG]++;
}
else
{
tempMusic ++;
}
}
if (_saveLoadFlag) {
if (_saveLoadFlag == 1) {