mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-30 14:14:43 +00:00
MADS: Fix showing covered pit by default in Easy mode
This commit is contained in:
parent
10361d077a
commit
2b1155711f
@ -1697,7 +1697,7 @@ void Scene208::updateTrap() {
|
||||
_scene->_sequences.setDepth(_globals._sequenceIndexes[3], 15);
|
||||
_globals._sequenceIndexes[3] = _scene->_sequences.startCycle(_globals._spriteIndexes[3], false, 1);
|
||||
_scene->_hotspots.activate(NOUN_DEEP_PIT, false);
|
||||
int idx = _scene->_dynamicHotspots.add(NOUN_LEAF_COVERED_PIT, VERB_WALKTO, _globals._sequenceIndexes[2], Common::Rect(0, 0, 0, 0));
|
||||
int idx = _scene->_dynamicHotspots.add(NOUN_LEAF_COVERED_PIT, VERB_WALKTO, _globals._sequenceIndexes[3], Common::Rect(0, 0, 0, 0));
|
||||
_scene->_dynamicHotspots.setPosition(idx, Common::Point(100, 146), FACING_NORTH);
|
||||
_scene->_dynamicHotspots[idx]._articleNumber = PREP_ON;
|
||||
}
|
||||
@ -1796,7 +1796,6 @@ void Scene208::preActions() {
|
||||
}
|
||||
|
||||
void Scene208::subAction(int mode) {
|
||||
|
||||
switch (_game._trigger) {
|
||||
case 0: {
|
||||
_game._player._stepEnabled = false;
|
||||
@ -1804,21 +1803,21 @@ void Scene208::subAction(int mode) {
|
||||
_globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 6, 1, 0, 0);
|
||||
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[5]);
|
||||
|
||||
int abortVal;
|
||||
int endTrigger;
|
||||
if ((mode == 1) || (mode == 2))
|
||||
abortVal = 1;
|
||||
endTrigger = 1;
|
||||
else
|
||||
abortVal = 2;
|
||||
endTrigger = 2;
|
||||
|
||||
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[5], SEQUENCE_TRIGGER_EXPIRE, 0, abortVal);
|
||||
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[5], SEQUENCE_TRIGGER_EXPIRE, 0, endTrigger);
|
||||
}
|
||||
break;
|
||||
case 1: {
|
||||
int oldVal = _globals._sequenceIndexes[5];
|
||||
_globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 12, 3, 0, 0);
|
||||
int oldSeq = _globals._sequenceIndexes[5];
|
||||
_globals._sequenceIndexes[5] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 12, 3, 0, 0);
|
||||
_scene->_sequences.setAnimRange(_globals._sequenceIndexes[5], 3, 4);
|
||||
_scene->_sequences.setMsgLayout(_globals._sequenceIndexes[5]);
|
||||
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[5], oldVal);
|
||||
_scene->_sequences.updateTimeout(_globals._sequenceIndexes[5], oldSeq);
|
||||
_scene->_sequences.addSubEntry(_globals._sequenceIndexes[5], SEQUENCE_TRIGGER_EXPIRE, 0, 2);
|
||||
_vm->_sound->command(20);
|
||||
}
|
||||
|
@ -95,8 +95,8 @@ bool SequenceList::addSubEntry(int index, SequenceTrigger mode, int frameIndex,
|
||||
}
|
||||
|
||||
int SequenceList::add(int spriteListIndex, bool flipped, int frameIndex, int triggerCountdown, int delayTicks, int extraTicks, int numTicks,
|
||||
int msgX, int msgY, bool nonFixed, int scale, int depth, int frameInc, SpriteAnimType animType, int numSprites,
|
||||
int frameStart) {
|
||||
int msgX, int msgY, bool nonFixed, int scale, int depth, int frameInc, SpriteAnimType animType, int numSprites,
|
||||
int frameStart) {
|
||||
Scene &scene = _vm->_game->_scene;
|
||||
|
||||
// Find a free slot
|
||||
@ -477,17 +477,17 @@ int SequenceList::startPingPongCycle(int srcSpriteIndex, bool flipped, int numTi
|
||||
extraTicks, numTicks, 0, 0, true, 100, depth - 1, 1, ANIMTYPE_PING_PONG, 0, 0);
|
||||
}
|
||||
|
||||
void SequenceList::updateTimeout(int spriteIdx, int seqIndex) {
|
||||
void SequenceList::updateTimeout(int srcSeqIndex, int destSeqIndex) {
|
||||
Player &player = _vm->_game->_player;
|
||||
int timeout;
|
||||
|
||||
if (spriteIdx >= 0)
|
||||
timeout = _entries[spriteIdx]._timeout;
|
||||
if (srcSeqIndex >= 0)
|
||||
timeout = _entries[srcSeqIndex]._timeout;
|
||||
else
|
||||
timeout = player._priorTimer + player._ticksAmount;
|
||||
|
||||
if (seqIndex >= 0)
|
||||
_entries[seqIndex]._timeout = timeout;
|
||||
if (destSeqIndex >= 0)
|
||||
_entries[destSeqIndex]._timeout = timeout;
|
||||
else
|
||||
player._priorTimer = timeout - player._ticksAmount;
|
||||
|
||||
|
@ -119,7 +119,7 @@ public:
|
||||
int startCycle(int srcSpriteIdx, bool flipped, int cycleIndex);
|
||||
int startPingPongCycle(int srcSpriteIndex, bool flipped, int numTicks,
|
||||
int triggerCountdown = 0, int timeoutTicks = 0, int extraTicks = 0);
|
||||
void updateTimeout(int spriteIdx, int seqIndex);
|
||||
void updateTimeout(int destSeqIndex, int srcSeqIndex);
|
||||
void setScale(int spriteIdx, int scale);
|
||||
void setMsgLayout(int seqIndex);
|
||||
void setDone(int seqIndex);
|
||||
|
Loading…
Reference in New Issue
Block a user