AVALANCHE: Use Room enum instead of byte in misc place
This commit is contained in:
parent
f4e37939c7
commit
0b7de38dc1
11 changed files with 177 additions and 157 deletions
|
@ -210,7 +210,7 @@ void AnimationType::walk() {
|
||||||
bounce();
|
bounce();
|
||||||
break;
|
break;
|
||||||
case Avalot::kMagicTransport:
|
case Avalot::kMagicTransport:
|
||||||
_anim->flipRoom(magic->_data >> 8, magic->_data & 0xff);
|
_anim->_vm->_avalot->flipRoom((Room)(magic->_data >> 8), magic->_data & 0xff);
|
||||||
break;
|
break;
|
||||||
case Avalot::kMagicUnfinished: {
|
case Avalot::kMagicUnfinished: {
|
||||||
bounce();
|
bounce();
|
||||||
|
@ -222,7 +222,7 @@ void AnimationType::walk() {
|
||||||
_anim->callSpecial(magic->_data);
|
_anim->callSpecial(magic->_data);
|
||||||
break;
|
break;
|
||||||
case Avalot::kMagicOpenDoor:
|
case Avalot::kMagicOpenDoor:
|
||||||
_anim->openDoor(magic->_data >> 8, magic->_data & 0xff, magicColor);
|
_anim->_vm->_avalot->openDoor((Room)(magic->_data >> 8), magic->_data & 0xff, magicColor);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -418,20 +418,20 @@ void Animation::catacombMove(byte ped) {
|
||||||
|
|
||||||
switch (xy_uint16) {
|
switch (xy_uint16) {
|
||||||
case 1801: // Exit catacombs
|
case 1801: // Exit catacombs
|
||||||
flipRoom(kRoomLustiesRoom, 4);
|
_vm->_avalot->flipRoom(kRoomLustiesRoom, 4);
|
||||||
_vm->_dialogs->displayText("Phew! Nice to be out of there!");
|
_vm->_dialogs->displayText("Phew! Nice to be out of there!");
|
||||||
return;
|
return;
|
||||||
case 1033:{ // Oubliette
|
case 1033:{ // Oubliette
|
||||||
flipRoom(kRoomOubliette, 1);
|
_vm->_avalot->flipRoom(kRoomOubliette, 1);
|
||||||
Common::String tmpStr = Common::String::format("Oh, NO!%c1%c", Dialogs::kControlRegister, Dialogs::kControlSpeechBubble);
|
Common::String tmpStr = Common::String::format("Oh, NO!%c1%c", Dialogs::kControlRegister, Dialogs::kControlSpeechBubble);
|
||||||
_vm->_dialogs->displayText(tmpStr);
|
_vm->_dialogs->displayText(tmpStr);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
case 4:
|
case 4:
|
||||||
flipRoom(kRoomGeidas, 1);
|
_vm->_avalot->flipRoom(kRoomGeidas, 1);
|
||||||
return;
|
return;
|
||||||
case 2307:
|
case 2307:
|
||||||
flipRoom(kRoomLusties, 5);
|
_vm->_avalot->flipRoom(kRoomLusties, 5);
|
||||||
_vm->_dialogs->displayText("Oh no... here we go again...");
|
_vm->_dialogs->displayText("Oh no... here we go again...");
|
||||||
_vm->_avalot->_userMovesAvvy = false;
|
_vm->_avalot->_userMovesAvvy = false;
|
||||||
_sprites[0]._moveY = 1;
|
_sprites[0]._moveY = 1;
|
||||||
|
@ -771,7 +771,7 @@ void Animation::callSpecial(uint16 which) {
|
||||||
_sprites[1].walkTo(2);
|
_sprites[1].walkTo(2);
|
||||||
_sprites[1]._vanishIfStill = true;
|
_sprites[1]._vanishIfStill = true;
|
||||||
_sprites[1]._doCheck = true; // One of them must have Check_Me switched on.
|
_sprites[1]._doCheck = true; // One of them must have Check_Me switched on.
|
||||||
_vm->_avalot->_whereIs[kPeopleFriarTuck - 150] = kRoomDummy; // Not here, then.
|
_vm->_avalot->setRoom(kPeopleFriarTuck, kRoomDummy); // Not here, then.
|
||||||
_vm->_timer->addTimer(364, Timer::kProcHangAround, Timer::kReasonHangingAround);
|
_vm->_timer->addTimer(364, Timer::kProcHangAround, Timer::kReasonHangingAround);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -867,67 +867,6 @@ void Animation::callSpecial(uint16 which) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Open the Door.
|
|
||||||
* This slides the door open. The data really ought to be saved in
|
|
||||||
* the Also file, and will be next time. However, for now, they're
|
|
||||||
* here.
|
|
||||||
* @remarks Originally called 'open_the_door'
|
|
||||||
*/
|
|
||||||
void Animation::openDoor(byte whither, byte ped, byte magicnum) {
|
|
||||||
switch (_vm->_avalot->_room) {
|
|
||||||
case kRoomOutsideYours:
|
|
||||||
case kRoomOutsideNottsPub:
|
|
||||||
case kRoomOutsideDucks:
|
|
||||||
_vm->_sequence->firstShow(1);
|
|
||||||
_vm->_sequence->thenShow(2);
|
|
||||||
_vm->_sequence->thenShow(3);
|
|
||||||
break;
|
|
||||||
case kRoomInsideCardiffCastle:
|
|
||||||
_vm->_sequence->firstShow(1);
|
|
||||||
_vm->_sequence->thenShow(5);
|
|
||||||
break;
|
|
||||||
case kRoomAvvysGarden:
|
|
||||||
case kRoomEntranceHall:
|
|
||||||
case kRoomInsideAbbey:
|
|
||||||
case kRoomYourHall:
|
|
||||||
_vm->_sequence->firstShow(1);
|
|
||||||
_vm->_sequence->thenShow(2);
|
|
||||||
break;
|
|
||||||
case kRoomMusicRoom:
|
|
||||||
case kRoomOutsideArgentPub:
|
|
||||||
_vm->_sequence->firstShow(5);
|
|
||||||
_vm->_sequence->thenShow(6);
|
|
||||||
break;
|
|
||||||
case kRoomLusties:
|
|
||||||
switch (magicnum) {
|
|
||||||
case 14:
|
|
||||||
if (_vm->_avalot->_avvysInTheCupboard) {
|
|
||||||
hideInCupboard();
|
|
||||||
_vm->_sequence->firstShow(8);
|
|
||||||
_vm->_sequence->thenShow(7);
|
|
||||||
_vm->_sequence->startToClose();
|
|
||||||
return;
|
|
||||||
} else {
|
|
||||||
appearPed(0, 5);
|
|
||||||
_sprites[0]._facingDir = kDirRight; // added by TT 12/3/1995
|
|
||||||
_vm->_sequence->firstShow(8);
|
|
||||||
_vm->_sequence->thenShow(9);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 12:
|
|
||||||
_vm->_sequence->firstShow(4);
|
|
||||||
_vm->_sequence->thenShow(5);
|
|
||||||
_vm->_sequence->thenShow(6);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
_vm->_sequence->thenFlip(whither, ped);
|
|
||||||
_vm->_sequence->startToOpen();
|
|
||||||
}
|
|
||||||
|
|
||||||
void Animation::updateSpeed() {
|
void Animation::updateSpeed() {
|
||||||
// Given that you've just changed the speed in triptype._speedX, this adjusts _moveX.
|
// Given that you've just changed the speed in triptype._speedX, this adjusts _moveX.
|
||||||
|
|
||||||
|
@ -1254,47 +1193,6 @@ void Animation::hideInCupboard() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Animation::flipRoom(byte room, byte ped) {
|
|
||||||
assert((ped > 0) && (ped < 15));
|
|
||||||
if (!_vm->_avalot->_alive) {
|
|
||||||
// You can't leave the room if you're dead.
|
|
||||||
_sprites[0]._moveX = 0;
|
|
||||||
_sprites[0]._moveY = 0; // Stop him from moving.
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((room == kRoomDummy) && (_vm->_avalot->_room == kRoomLusties)) {
|
|
||||||
hideInCupboard();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((_vm->_avalot->_jumpStatus > 0) && (_vm->_avalot->_room == kRoomInsideCardiffCastle)) {
|
|
||||||
// You can't *jump* out of Cardiff Castle!
|
|
||||||
_sprites[0]._moveX = 0;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
_vm->_avalot->exitRoom(_vm->_avalot->_room);
|
|
||||||
_vm->_avalot->dusk();
|
|
||||||
|
|
||||||
for (int16 i = 1; i < kSpriteNumbMax; i++) {
|
|
||||||
if (_sprites[i]._quick)
|
|
||||||
_sprites[i].remove();
|
|
||||||
} // Deallocate sprite
|
|
||||||
|
|
||||||
if (_vm->_avalot->_room == kRoomLustiesRoom)
|
|
||||||
_vm->_avalot->_enterCatacombsFromLustiesRoom = true;
|
|
||||||
|
|
||||||
_vm->_avalot->enterRoom(room, ped);
|
|
||||||
appearPed(0, ped - 1);
|
|
||||||
_vm->_avalot->_enterCatacombsFromLustiesRoom = false;
|
|
||||||
_oldDirection = _direction;
|
|
||||||
_direction = _sprites[0]._facingDir;
|
|
||||||
_vm->_avalot->drawDirection();
|
|
||||||
|
|
||||||
_vm->_avalot->dawn();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool Animation::inField(byte which) {
|
bool Animation::inField(byte which) {
|
||||||
FieldType *curField = &_vm->_avalot->_fields[which];
|
FieldType *curField = &_vm->_avalot->_fields[which];
|
||||||
int16 yy = _sprites[0]._y + _sprites[0]._info._yLength;
|
int16 yy = _sprites[0]._y + _sprites[0]._info._yLength;
|
||||||
|
|
|
@ -121,16 +121,15 @@ public:
|
||||||
void animLink();
|
void animLink();
|
||||||
void loadAnims(); // Original: loadtrip().
|
void loadAnims(); // Original: loadtrip().
|
||||||
void callSpecial(uint16 which);
|
void callSpecial(uint16 which);
|
||||||
void openDoor(byte whither, byte ped, byte magicnum); // Handles slidey-open doors.
|
|
||||||
void catacombMove(byte ped); // When you enter a new position in the catacombs, this procedure should be called. It changes the 'also' codes so that they may match the picture on the screen.
|
void catacombMove(byte ped); // When you enter a new position in the catacombs, this procedure should be called. It changes the 'also' codes so that they may match the picture on the screen.
|
||||||
void stopWalking();
|
void stopWalking();
|
||||||
void setMoveSpeed(byte t, Direction dir);
|
void setMoveSpeed(byte t, Direction dir);
|
||||||
void appearPed(byte sprNum, byte pedNum);
|
void appearPed(byte sprNum, byte pedNum);
|
||||||
void flipRoom(byte room, byte ped);
|
|
||||||
bool inField(byte which); // Returns true if you're within field "which".
|
bool inField(byte which); // Returns true if you're within field "which".
|
||||||
bool nearDoor(); // Returns True if you're near a door.
|
bool nearDoor(); // Returns True if you're near a door.
|
||||||
void updateSpeed();
|
void updateSpeed();
|
||||||
void handleMoveKey(const Common::Event &event); // To replace tripkey().
|
void handleMoveKey(const Common::Event &event); // To replace tripkey().
|
||||||
|
void hideInCupboard();
|
||||||
|
|
||||||
void setDirection(Direction dir);
|
void setDirection(Direction dir);
|
||||||
void setOldDirection(Direction dir);
|
void setOldDirection(Direction dir);
|
||||||
|
@ -150,7 +149,6 @@ private:
|
||||||
|
|
||||||
void grabAvvy(byte tripnum);
|
void grabAvvy(byte tripnum);
|
||||||
void arrowProcs(byte tripnum);
|
void arrowProcs(byte tripnum);
|
||||||
void hideInCupboard();
|
|
||||||
|
|
||||||
// Different movements for NPCs:
|
// Different movements for NPCs:
|
||||||
void followAvalotY(byte tripnum); // Original: follow_avvy_y().
|
void followAvalotY(byte tripnum); // Original: follow_avvy_y().
|
||||||
|
|
|
@ -419,7 +419,7 @@ bool AvalancheEngine::loadGame(const int16 slot) {
|
||||||
_background->forgetBackgroundSprites();
|
_background->forgetBackgroundSprites();
|
||||||
_avalot->minorRedraw();
|
_avalot->minorRedraw();
|
||||||
_menu->setup();
|
_menu->setup();
|
||||||
_avalot->_whereIs[kPeopleAvalot - 150] = _avalot->_room;
|
_avalot->setRoom(kPeopleAvalot, _avalot->_room);
|
||||||
_avalot->_alive = true;
|
_avalot->_alive = true;
|
||||||
_avalot->refreshObjectList();
|
_avalot->refreshObjectList();
|
||||||
_animation->updateSpeed();
|
_animation->updateSpeed();
|
||||||
|
|
|
@ -143,7 +143,7 @@ const TuneType Avalot::kTune = {
|
||||||
kPitchHigher, kPitchLower, kPitchLower, kPitchLower, kPitchLower, kPitchSame, kPitchLower, kPitchHigher, kPitchSame, kPitchLower, kPitchHigher
|
kPitchHigher, kPitchLower, kPitchLower, kPitchLower, kPitchLower, kPitchSame, kPitchLower, kPitchHigher, kPitchSame, kPitchLower, kPitchHigher
|
||||||
};
|
};
|
||||||
|
|
||||||
byte Avalot::_whereIs[29] = {
|
Room Avalot::_whereIs[29] = {
|
||||||
// The Lads
|
// The Lads
|
||||||
kRoomYours, // Avvy
|
kRoomYours, // Avvy
|
||||||
kRoomSpludwicks, // Spludwick
|
kRoomSpludwicks, // Spludwick
|
||||||
|
@ -162,7 +162,14 @@ byte Avalot::_whereIs[29] = {
|
||||||
kRoomNottsPub, // Port
|
kRoomNottsPub, // Port
|
||||||
kRoomNottsPub, // Spurge
|
kRoomNottsPub, // Spurge
|
||||||
kRoomMusicRoom, // Jacques
|
kRoomMusicRoom, // Jacques
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
kRoomNowhere,
|
||||||
|
kRoomNowhere,
|
||||||
|
kRoomNowhere,
|
||||||
|
kRoomNowhere,
|
||||||
|
kRoomNowhere,
|
||||||
|
kRoomNowhere,
|
||||||
|
kRoomNowhere,
|
||||||
|
kRoomNowhere,
|
||||||
// The Lasses
|
// The Lasses
|
||||||
kRoomYours, // Arkata
|
kRoomYours, // Arkata
|
||||||
kRoomGeidas, // Geida
|
kRoomGeidas, // Geida
|
||||||
|
@ -747,23 +754,23 @@ void Avalot::putGeidaAt(byte whichPed, byte ped) {
|
||||||
spr1->_eachStepProc = Animation::kProcGeida;
|
spr1->_eachStepProc = Animation::kProcGeida;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Avalot::enterRoom(byte room, byte ped) {
|
void Avalot::enterRoom(Room roomId, byte ped) {
|
||||||
_seeScroll = true; // This stops the trippancy system working over the length of this procedure.
|
_seeScroll = true; // This stops the trippancy system working over the length of this procedure.
|
||||||
|
|
||||||
findPeople(room);
|
findPeople(roomId);
|
||||||
_room = room;
|
_room = roomId;
|
||||||
if (ped != 0)
|
if (ped != 0)
|
||||||
_roomCount[room]++;
|
_roomCount[roomId]++;
|
||||||
|
|
||||||
loadRoom(room);
|
loadRoom(roomId);
|
||||||
|
|
||||||
if ((_roomCount[room] == 0) && (!setFlag('S')))
|
if ((_roomCount[roomId] == 0) && (!setFlag('S')))
|
||||||
incScore(1);
|
incScore(1);
|
||||||
|
|
||||||
_whereIs[kPeopleAvalot - 150] = _room;
|
_whereIs[kPeopleAvalot - 150] = _room;
|
||||||
|
|
||||||
if (_geidaFollows)
|
if (_geidaFollows)
|
||||||
_whereIs[kPeopleGeida - 150] = room;
|
_whereIs[kPeopleGeida - 150] = roomId;
|
||||||
|
|
||||||
_roomTime = 0;
|
_roomTime = 0;
|
||||||
|
|
||||||
|
@ -771,7 +778,7 @@ void Avalot::enterRoom(byte room, byte ped) {
|
||||||
if ((_lastRoom == kRoomMap) && (_lastRoomNotMap != _room))
|
if ((_lastRoom == kRoomMap) && (_lastRoomNotMap != _room))
|
||||||
enterNewTown();
|
enterNewTown();
|
||||||
|
|
||||||
switch (room) {
|
switch (roomId) {
|
||||||
case kRoomYours:
|
case kRoomYours:
|
||||||
if (_avvyInBed) {
|
if (_avvyInBed) {
|
||||||
_vm->_background->drawBackgroundSprite(-1, -1, 2);
|
_vm->_background->drawBackgroundSprite(-1, -1, 2);
|
||||||
|
@ -891,8 +898,8 @@ void Avalot::enterRoom(byte room, byte ped) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_beenTiedUp) {
|
if (_beenTiedUp) {
|
||||||
_whereIs[kPeopleRobinHood - 150] = 0;
|
_whereIs[kPeopleRobinHood - 150] = kRoomNowhere;
|
||||||
_whereIs[kPeopleFriarTuck - 150] = 0;
|
_whereIs[kPeopleFriarTuck - 150] = kRoomNowhere;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_tiedUp)
|
if (_tiedUp)
|
||||||
|
@ -1004,7 +1011,7 @@ void Avalot::enterRoom(byte room, byte ped) {
|
||||||
_vm->_graphics->refreshBackground();
|
_vm->_graphics->refreshBackground();
|
||||||
_vm->_background->drawBackgroundSprite(-1, -1, 3);
|
_vm->_background->drawBackgroundSprite(-1, -1, 3);
|
||||||
_magics[kColorBrown - 1]._operation = Avalot::kMagicNothing;
|
_magics[kColorBrown - 1]._operation = Avalot::kMagicNothing;
|
||||||
_whereIs[kPeopleJacques - 150] = 0;
|
_whereIs[kPeopleJacques - 150] = kRoomNowhere;
|
||||||
}
|
}
|
||||||
if (ped != 0) {
|
if (ped != 0) {
|
||||||
_vm->_background->drawBackgroundSprite(-1, -1, 5);
|
_vm->_background->drawBackgroundSprite(-1, -1, 5);
|
||||||
|
@ -1647,7 +1654,7 @@ void Avalot::resetVariables() {
|
||||||
_nextBell = 0;
|
_nextBell = 0;
|
||||||
_givenPotionToGeida = false;
|
_givenPotionToGeida = false;
|
||||||
_lustieIsAsleep = false;
|
_lustieIsAsleep = false;
|
||||||
_flipToWhere = 0;
|
_flipToWhere = kRoomNowhere;
|
||||||
_flipToPed = 0;
|
_flipToPed = 0;
|
||||||
_beenTiedUp = false;
|
_beenTiedUp = false;
|
||||||
_sittingInPub = false;
|
_sittingInPub = false;
|
||||||
|
@ -1705,7 +1712,7 @@ void Avalot::newGame() {
|
||||||
_avvyInBed = true;
|
_avvyInBed = true;
|
||||||
_enidFilename = "";
|
_enidFilename = "";
|
||||||
|
|
||||||
enterRoom(1, 1);
|
enterRoom(kRoomYours, 1);
|
||||||
avvy->_visible = false;
|
avvy->_visible = false;
|
||||||
drawScore();
|
drawScore();
|
||||||
_vm->_menu->setup();
|
_vm->_menu->setup();
|
||||||
|
@ -1939,4 +1946,114 @@ void Avalot::hangAroundForAWhile() {
|
||||||
for (int i = 0; i < 28; i++)
|
for (int i = 0; i < 28; i++)
|
||||||
slowDown();
|
slowDown();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Avalot::flipRoom(Room room, byte ped) {
|
||||||
|
assert((ped > 0) && (ped < 15));
|
||||||
|
if (!_alive) {
|
||||||
|
// You can't leave the room if you're dead.
|
||||||
|
_vm->_animation->_sprites[0]._moveX = 0;
|
||||||
|
_vm->_animation->_sprites[0]._moveY = 0; // Stop him from moving.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((room == kRoomDummy) && (_room == kRoomLusties)) {
|
||||||
|
_vm->_animation->hideInCupboard();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((_jumpStatus > 0) && (_room == kRoomInsideCardiffCastle)) {
|
||||||
|
// You can't *jump* out of Cardiff Castle!
|
||||||
|
_vm->_animation->_sprites[0]._moveX = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
exitRoom(_room);
|
||||||
|
dusk();
|
||||||
|
|
||||||
|
for (int16 i = 1; i < _vm->_animation->kSpriteNumbMax; i++) {
|
||||||
|
if (_vm->_animation->_sprites[i]._quick)
|
||||||
|
_vm->_animation->_sprites[i].remove();
|
||||||
|
} // Deallocate sprite
|
||||||
|
|
||||||
|
if (_room == kRoomLustiesRoom)
|
||||||
|
_enterCatacombsFromLustiesRoom = true;
|
||||||
|
|
||||||
|
enterRoom(room, ped);
|
||||||
|
_vm->_animation->appearPed(0, ped - 1);
|
||||||
|
_enterCatacombsFromLustiesRoom = false;
|
||||||
|
_vm->_animation->setOldDirection(_vm->_animation->getDirection());
|
||||||
|
_vm->_animation->setDirection(_vm->_animation->_sprites[0]._facingDir);
|
||||||
|
drawDirection();
|
||||||
|
|
||||||
|
dawn();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Open the Door.
|
||||||
|
* This slides the door open. The data really ought to be saved in
|
||||||
|
* the Also file, and will be next time. However, for now, they're
|
||||||
|
* here.
|
||||||
|
* @remarks Originally called 'open_the_door'
|
||||||
|
*/
|
||||||
|
void Avalot::openDoor(Room whither, byte ped, byte magicnum) {
|
||||||
|
switch (_room) {
|
||||||
|
case kRoomOutsideYours:
|
||||||
|
case kRoomOutsideNottsPub:
|
||||||
|
case kRoomOutsideDucks:
|
||||||
|
_vm->_sequence->firstShow(1);
|
||||||
|
_vm->_sequence->thenShow(2);
|
||||||
|
_vm->_sequence->thenShow(3);
|
||||||
|
break;
|
||||||
|
case kRoomInsideCardiffCastle:
|
||||||
|
_vm->_sequence->firstShow(1);
|
||||||
|
_vm->_sequence->thenShow(5);
|
||||||
|
break;
|
||||||
|
case kRoomAvvysGarden:
|
||||||
|
case kRoomEntranceHall:
|
||||||
|
case kRoomInsideAbbey:
|
||||||
|
case kRoomYourHall:
|
||||||
|
_vm->_sequence->firstShow(1);
|
||||||
|
_vm->_sequence->thenShow(2);
|
||||||
|
break;
|
||||||
|
case kRoomMusicRoom:
|
||||||
|
case kRoomOutsideArgentPub:
|
||||||
|
_vm->_sequence->firstShow(5);
|
||||||
|
_vm->_sequence->thenShow(6);
|
||||||
|
break;
|
||||||
|
case kRoomLusties:
|
||||||
|
switch (magicnum) {
|
||||||
|
case 14:
|
||||||
|
if (_avvysInTheCupboard) {
|
||||||
|
_vm->_animation->hideInCupboard();
|
||||||
|
_vm->_sequence->firstShow(8);
|
||||||
|
_vm->_sequence->thenShow(7);
|
||||||
|
_vm->_sequence->startToClose();
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
_vm->_animation->appearPed(0, 5);
|
||||||
|
_vm->_animation->_sprites[0]._facingDir = kDirRight; // added by TT 12/3/1995
|
||||||
|
_vm->_sequence->firstShow(8);
|
||||||
|
_vm->_sequence->thenShow(9);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 12:
|
||||||
|
_vm->_sequence->firstShow(4);
|
||||||
|
_vm->_sequence->thenShow(5);
|
||||||
|
_vm->_sequence->thenShow(6);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
_vm->_sequence->thenFlip(whither, ped);
|
||||||
|
_vm->_sequence->startToOpen();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Avalot::setRoom(byte persId, Room roomId) {
|
||||||
|
_whereIs[persId - 150] = roomId;
|
||||||
|
}
|
||||||
|
|
||||||
|
Room Avalot::getRoom(byte persId) {
|
||||||
|
return _whereIs[persId - 150];
|
||||||
|
}
|
||||||
} // End of namespace Avalanche
|
} // End of namespace Avalanche
|
||||||
|
|
|
@ -240,14 +240,13 @@ public:
|
||||||
// If this is greater than zero, the next line you type is stored in the DNA in a position dictated by the value.
|
// If this is greater than zero, the next line you type is stored in the DNA in a position dictated by the value.
|
||||||
// If a scroll comes up, or you leave the room, it's automatically set to zero.
|
// If a scroll comes up, or you leave the room, it's automatically set to zero.
|
||||||
byte _interrogation;
|
byte _interrogation;
|
||||||
static byte _whereIs[29];
|
|
||||||
|
|
||||||
// Former DNA structure
|
// Former DNA structure
|
||||||
byte _carryNum; // How many objects you're carrying...
|
byte _carryNum; // How many objects you're carrying...
|
||||||
bool _objects[kObjectNum]; // ...and which ones they are.
|
bool _objects[kObjectNum]; // ...and which ones they are.
|
||||||
int16 _dnascore; // your score, of course
|
int16 _dnascore; // your score, of course
|
||||||
int32 _money; // your current amount of dosh
|
int32 _money; // your current amount of dosh
|
||||||
byte _room; // your current room
|
Room _room; // your current room
|
||||||
byte _roomCount[100]; // Add one to each every time you enter a room
|
byte _roomCount[100]; // Add one to each every time you enter a room
|
||||||
bool _wonNim; // Have you *won* Nim? (That's harder.)
|
bool _wonNim; // Have you *won* Nim? (That's harder.)
|
||||||
byte _wineState; // 0=good (Notts), 1=passable(Argent) ... 3=vinegar.
|
byte _wineState; // 0=good (Notts), 1=passable(Argent) ... 3=vinegar.
|
||||||
|
@ -297,7 +296,8 @@ public:
|
||||||
byte _nextBell; // For the ringing.
|
byte _nextBell; // For the ringing.
|
||||||
bool _givenPotionToGeida; // Does Geida have the potion?
|
bool _givenPotionToGeida; // Does Geida have the potion?
|
||||||
bool _lustieIsAsleep; // Is BDL asleep?
|
bool _lustieIsAsleep; // Is BDL asleep?
|
||||||
byte _flipToWhere, _flipToPed; // For the sequencer.
|
Room _flipToWhere;
|
||||||
|
byte _flipToPed; // For the sequencer.
|
||||||
bool _beenTiedUp; // In r__Robins.
|
bool _beenTiedUp; // In r__Robins.
|
||||||
bool _sittingInPub; // Are you sitting down in the pub?
|
bool _sittingInPub; // Are you sitting down in the pub?
|
||||||
byte _spurgeTalkCount; // Count for talking to Spurge.
|
byte _spurgeTalkCount; // Count for talking to Spurge.
|
||||||
|
@ -364,7 +364,7 @@ public:
|
||||||
void drawAlsoLines();
|
void drawAlsoLines();
|
||||||
void loadRoom(byte num);
|
void loadRoom(byte num);
|
||||||
void exitRoom(byte x);
|
void exitRoom(byte x);
|
||||||
void enterRoom(byte room, byte ped);
|
void enterRoom(Room room, byte ped);
|
||||||
void thinkAbout(byte object, bool type); // Hey!!! Get it and put it!!!
|
void thinkAbout(byte object, bool type); // Hey!!! Get it and put it!!!
|
||||||
void loadDigits(); // Load the scoring digits & rwlites
|
void loadDigits(); // Load the scoring digits & rwlites
|
||||||
void drawToolbar();
|
void drawToolbar();
|
||||||
|
@ -411,9 +411,16 @@ public:
|
||||||
Common::String getItem(byte which); // Called get_better in the original.
|
Common::String getItem(byte which); // Called get_better in the original.
|
||||||
Common::String f5Does(); // This procedure determines what f5 does.
|
Common::String f5Does(); // This procedure determines what f5 does.
|
||||||
|
|
||||||
|
void openDoor(Room whither, byte ped, byte magicnum); // Handles slidey-open doors.
|
||||||
|
void flipRoom(Room room, byte ped);
|
||||||
|
|
||||||
|
void setRoom(byte persId, Room roomId);
|
||||||
|
Room getRoom(byte persId);
|
||||||
private:
|
private:
|
||||||
AvalancheEngine *_vm;
|
AvalancheEngine *_vm;
|
||||||
|
|
||||||
|
static Room _whereIs[29];
|
||||||
|
|
||||||
Common::File file;
|
Common::File file;
|
||||||
Common::String readAlsoStringFromFile();
|
Common::String readAlsoStringFromFile();
|
||||||
void scram(Common::String &str);
|
void scram(Common::String &str);
|
||||||
|
|
|
@ -1071,7 +1071,7 @@ void Dialogs::talkTo(byte whom) {
|
||||||
_vm->_avalot->refreshObjectList();
|
_vm->_avalot->refreshObjectList();
|
||||||
displayScrollChain('q', 1); // Circular from Cardiff.
|
displayScrollChain('q', 1); // Circular from Cardiff.
|
||||||
_vm->_avalot->_talkedToCrapulus = true;
|
_vm->_avalot->_talkedToCrapulus = true;
|
||||||
_vm->_avalot->_whereIs[kPeopleCrapulus - 150] = kRoomDummy; // Crapulus walks off.
|
_vm->_avalot->setRoom(kPeopleCrapulus, kRoomDummy); // Crapulus walks off.
|
||||||
|
|
||||||
AnimationType *spr = &_vm->_animation->_sprites[1];
|
AnimationType *spr = &_vm->_animation->_sprites[1];
|
||||||
spr->_vanishIfStill = true;
|
spr->_vanishIfStill = true;
|
||||||
|
|
|
@ -452,7 +452,7 @@ void Menu::setupMenuPeople() {
|
||||||
_activeMenuItem.reset();
|
_activeMenuItem.reset();
|
||||||
|
|
||||||
for (int i = 150; i <= 178; i++) {
|
for (int i = 150; i <= 178; i++) {
|
||||||
if (_vm->_avalot->_whereIs[i - 150] == _vm->_avalot->_room) {
|
if (_vm->_avalot->getRoom(i) == _vm->_avalot->_room) {
|
||||||
_activeMenuItem.setupOption(_vm->_avalot->getName(i), _vm->_avalot->getNameChar(i), "", true);
|
_activeMenuItem.setupOption(_vm->_avalot->getName(i), _vm->_avalot->getNameChar(i), "", true);
|
||||||
people += i;
|
people += i;
|
||||||
}
|
}
|
||||||
|
@ -488,7 +488,7 @@ void Menu::setupMenuWith() {
|
||||||
// or (c), the _person you've selected is YOU!
|
// or (c), the _person you've selected is YOU!
|
||||||
|
|
||||||
if ((_vm->_avalot->_lastPerson == kPeopleAvalot) || (_vm->_avalot->_lastPerson == _vm->_parser->kNothing)
|
if ((_vm->_avalot->_lastPerson == kPeopleAvalot) || (_vm->_avalot->_lastPerson == _vm->_parser->kNothing)
|
||||||
|| (_vm->_avalot->_whereIs[_vm->_avalot->_lastPerson - 150] != _vm->_avalot->_room))
|
|| (_vm->_avalot->getRoom(_vm->_avalot->_lastPerson) != _vm->_avalot->_room))
|
||||||
_activeMenuItem.setupOption("Give to...", 'G', "", false); // Not here.
|
_activeMenuItem.setupOption("Give to...", 'G', "", false); // Not here.
|
||||||
else {
|
else {
|
||||||
_activeMenuItem.setupOption(Common::String("Give to ") + _vm->_avalot->getName(_vm->_avalot->_lastPerson), 'G', "", true);
|
_activeMenuItem.setupOption(Common::String("Give to ") + _vm->_avalot->getName(_vm->_avalot->_lastPerson), 'G', "", true);
|
||||||
|
|
|
@ -929,7 +929,7 @@ void Parser::examineObject() {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Parser::isPersonHere() { // Person equivalent of "holding".
|
bool Parser::isPersonHere() { // Person equivalent of "holding".
|
||||||
if ((_person == kPardon) || (_person == 0) || (_vm->_avalot->_whereIs[_person - 150] == _vm->_avalot->_room))
|
if ((_person == kPardon) || (_person == 0) || (_vm->_avalot->getRoom(_person) == _vm->_avalot->_room))
|
||||||
return true;
|
return true;
|
||||||
else {
|
else {
|
||||||
Common::String tmpStr;
|
Common::String tmpStr;
|
||||||
|
@ -1107,8 +1107,8 @@ void Parser::swallow() { // Eat something.
|
||||||
void Parser::peopleInRoom() {
|
void Parser::peopleInRoom() {
|
||||||
byte numPeople = 0; // Number of people in the room.
|
byte numPeople = 0; // Number of people in the room.
|
||||||
|
|
||||||
for (int i = 1; i < 29; i++) { // Start at 1 so we don't list Avvy himself!
|
for (int i = 151; i < 179; i++) { // Start at 1 so we don't list Avvy himself!
|
||||||
if (_vm->_avalot->_whereIs[i] == _vm->_avalot->_room)
|
if (_vm->_avalot->getRoom(i) == _vm->_avalot->_room)
|
||||||
numPeople++;
|
numPeople++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1117,8 +1117,8 @@ void Parser::peopleInRoom() {
|
||||||
|
|
||||||
Common::String tmpStr;
|
Common::String tmpStr;
|
||||||
byte actPerson = 0; // Actually listed people.
|
byte actPerson = 0; // Actually listed people.
|
||||||
for (int i = 1; i < 29; i++) {
|
for (int i = 151; i < 179; i++) {
|
||||||
if (_vm->_avalot->_whereIs[i] == _vm->_avalot->_room) {
|
if (_vm->_avalot->getRoom(i) == _vm->_avalot->_room) {
|
||||||
actPerson++;
|
actPerson++;
|
||||||
if (actPerson == 1) // First on the list.
|
if (actPerson == 1) // First on the list.
|
||||||
tmpStr = _vm->_avalot->getName(i + 150);
|
tmpStr = _vm->_avalot->getName(i + 150);
|
||||||
|
@ -1210,7 +1210,7 @@ void Parser::openDoor() {
|
||||||
_vm->_dialogs->displayScrollChain('x', portal->_data);
|
_vm->_dialogs->displayScrollChain('x', portal->_data);
|
||||||
break;
|
break;
|
||||||
case Avalot::kMagicTransport:
|
case Avalot::kMagicTransport:
|
||||||
_vm->_animation->flipRoom((portal->_data) >> 8, portal->_data & 0x0F);
|
_vm->_avalot->flipRoom((Room)((portal->_data) >> 8), portal->_data & 0x0F);
|
||||||
break;
|
break;
|
||||||
case Avalot::kMagicUnfinished:
|
case Avalot::kMagicUnfinished:
|
||||||
_vm->_animation->_sprites[0].bounce();
|
_vm->_animation->_sprites[0].bounce();
|
||||||
|
@ -1220,7 +1220,7 @@ void Parser::openDoor() {
|
||||||
_vm->_animation->callSpecial(portal->_data);
|
_vm->_animation->callSpecial(portal->_data);
|
||||||
break;
|
break;
|
||||||
case Avalot::kMagicOpenDoor:
|
case Avalot::kMagicOpenDoor:
|
||||||
_vm->_animation->openDoor(portal->_data >> 8, portal->_data & 0x0F, i + 9);
|
_vm->_avalot->openDoor((Room)(portal->_data >> 8), portal->_data & 0x0F, i + 9);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1391,7 +1391,7 @@ void Parser::drink() {
|
||||||
_vm->_avalot->refreshObjectList();
|
_vm->_avalot->refreshObjectList();
|
||||||
_vm->_avalot->dusk();
|
_vm->_avalot->dusk();
|
||||||
_vm->_avalot->hangAroundForAWhile();
|
_vm->_avalot->hangAroundForAWhile();
|
||||||
_vm->_animation->flipRoom(1, 1);
|
_vm->_avalot->flipRoom(kRoomYours, 1);
|
||||||
_vm->_avalot->setBackgroundColor(14);
|
_vm->_avalot->setBackgroundColor(14);
|
||||||
_vm->_animation->_sprites[0]._visible = false;
|
_vm->_animation->_sprites[0]._visible = false;
|
||||||
}
|
}
|
||||||
|
@ -1552,13 +1552,13 @@ void Parser::winSequence() {
|
||||||
|
|
||||||
Common::String Parser::personSpeaks() {
|
Common::String Parser::personSpeaks() {
|
||||||
if ((_person == kPardon) || (_person == 0)) {
|
if ((_person == kPardon) || (_person == 0)) {
|
||||||
if ((_vm->_avalot->_him == kPardon) || (_vm->_avalot->_whereIs[_vm->_avalot->_him - 150] != _vm->_avalot->_room))
|
if ((_vm->_avalot->_him == kPardon) || (_vm->_avalot->getRoom(_vm->_avalot->_him) != _vm->_avalot->_room))
|
||||||
_person = _vm->_avalot->_her;
|
_person = _vm->_avalot->_her;
|
||||||
else
|
else
|
||||||
_person = _vm->_avalot->_him;
|
_person = _vm->_avalot->_him;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_vm->_avalot->_whereIs[_person - 150] != _vm->_avalot->_room) {
|
if (_vm->_avalot->getRoom(_person) != _vm->_avalot->_room) {
|
||||||
return Common::String::format("%c1", Dialogs::kControlRegister); // Avvy himself!
|
return Common::String::format("%c1", Dialogs::kControlRegister); // Avvy himself!
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1923,10 +1923,10 @@ void Parser::doThat() {
|
||||||
case kObjectLute :
|
case kObjectLute :
|
||||||
_vm->_dialogs->displayScrollChain('U', 7);
|
_vm->_dialogs->displayScrollChain('U', 7);
|
||||||
|
|
||||||
if (_vm->_avalot->_whereIs[kPeopleCwytalot - 150] == _vm->_avalot->_room)
|
if (_vm->_avalot->getRoom(kPeopleCwytalot) == _vm->_avalot->_room)
|
||||||
_vm->_dialogs->displayScrollChain('U', 10);
|
_vm->_dialogs->displayScrollChain('U', 10);
|
||||||
|
|
||||||
if (_vm->_avalot->_whereIs[kPeopleDuLustie - 150] == _vm->_avalot->_room)
|
if (_vm->_avalot->getRoom(kPeopleDuLustie) == _vm->_avalot->_room)
|
||||||
_vm->_dialogs->displayScrollChain('U', 15);
|
_vm->_dialogs->displayScrollChain('U', 15);
|
||||||
break;
|
break;
|
||||||
case 52:
|
case 52:
|
||||||
|
@ -1993,7 +1993,7 @@ void Parser::doThat() {
|
||||||
else {
|
else {
|
||||||
if ((_vm->_avalot->_room == kRoomSpludwicks) & (_vm->_animation->inField(1))) { // Avaricius appears!
|
if ((_vm->_avalot->_room == kRoomSpludwicks) & (_vm->_animation->inField(1))) { // Avaricius appears!
|
||||||
_vm->_dialogs->displayScrollChain('q', 17);
|
_vm->_dialogs->displayScrollChain('q', 17);
|
||||||
if (_vm->_avalot->_whereIs[1] == kRoomSpludwicks)
|
if (_vm->_avalot->getRoom(kPeopleSpludwick) == kRoomSpludwicks)
|
||||||
_vm->_dialogs->displayScrollChain('q', 18);
|
_vm->_dialogs->displayScrollChain('q', 18);
|
||||||
else {
|
else {
|
||||||
Avalanche::AnimationType *spr = &_vm->_animation->_sprites[1];
|
Avalanche::AnimationType *spr = &_vm->_animation->_sprites[1];
|
||||||
|
@ -2143,7 +2143,7 @@ void Parser::doThat() {
|
||||||
case kVerbCodeAttack:
|
case kVerbCodeAttack:
|
||||||
if ((_vm->_avalot->_room == kRoomBrummieRoad) &&
|
if ((_vm->_avalot->_room == kRoomBrummieRoad) &&
|
||||||
((_person == kPeopleCwytalot) || (_thing == kObjectCrossbow) || (_thing == kObjectBolt)) &&
|
((_person == kPeopleCwytalot) || (_thing == kObjectCrossbow) || (_thing == kObjectBolt)) &&
|
||||||
(_vm->_avalot->_whereIs[kPeopleCwytalot - 150] == _vm->_avalot->_room)) {
|
(_vm->_avalot->getRoom(kPeopleCwytalot) == _vm->_avalot->_room)) {
|
||||||
switch (_vm->_avalot->_objects[kObjectBolt - 1] + _vm->_avalot->_objects[kObjectCrossbow - 1] * 2) {
|
switch (_vm->_avalot->_objects[kObjectBolt - 1] + _vm->_avalot->_objects[kObjectCrossbow - 1] * 2) {
|
||||||
// 0 = neither, 1 = only bolt, 2 = only crossbow, 3 = both.
|
// 0 = neither, 1 = only bolt, 2 = only crossbow, 3 = both.
|
||||||
case 0:
|
case 0:
|
||||||
|
@ -2167,7 +2167,7 @@ void Parser::doThat() {
|
||||||
_vm->_animation->_sprites[1].walkTo(1);
|
_vm->_animation->_sprites[1].walkTo(1);
|
||||||
_vm->_animation->_sprites[1]._vanishIfStill = true;
|
_vm->_animation->_sprites[1]._vanishIfStill = true;
|
||||||
_vm->_animation->_sprites[1]._callEachStepFl = false;
|
_vm->_animation->_sprites[1]._callEachStepFl = false;
|
||||||
_vm->_avalot->_whereIs[kPeopleCwytalot - 150] = kRoomDummy;
|
_vm->_avalot->setRoom(kPeopleCwytalot, kRoomDummy);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
_vm->_dialogs->displayScrollChain('Q', 10); // Please try not to be so violent!
|
_vm->_dialogs->displayScrollChain('Q', 10); // Please try not to be so violent!
|
||||||
|
|
|
@ -57,7 +57,7 @@ void Sequence::thenShow(byte what) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Sequence::thenFlip(byte where, byte ped) {
|
void Sequence::thenFlip(Room where, byte ped) {
|
||||||
thenShow(kNowFlip);
|
thenShow(kNowFlip);
|
||||||
|
|
||||||
_vm->_avalot->_flipToWhere = where;
|
_vm->_avalot->_flipToWhere = where;
|
||||||
|
@ -90,7 +90,7 @@ void Sequence::callSequencer() {
|
||||||
break;
|
break;
|
||||||
case 177: // Flip room.
|
case 177: // Flip room.
|
||||||
_vm->_avalot->_userMovesAvvy = true;
|
_vm->_avalot->_userMovesAvvy = true;
|
||||||
_vm->_animation->flipRoom(_vm->_avalot->_flipToWhere, _vm->_avalot->_flipToPed);
|
_vm->_avalot->flipRoom(_vm->_avalot->_flipToWhere, _vm->_avalot->_flipToPed);
|
||||||
if (curSeq == 177)
|
if (curSeq == 177)
|
||||||
shoveLeft();
|
shoveLeft();
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -46,7 +46,7 @@ public:
|
||||||
|
|
||||||
void firstShow(byte what);
|
void firstShow(byte what);
|
||||||
void thenShow(byte what);
|
void thenShow(byte what);
|
||||||
void thenFlip(byte where, byte ped);
|
void thenFlip(Room where, byte ped);
|
||||||
void startToClose();
|
void startToClose();
|
||||||
void startToOpen();
|
void startToOpen();
|
||||||
void callSequencer();
|
void callSequencer();
|
||||||
|
|
|
@ -324,7 +324,7 @@ void Timer::hangAround() {
|
||||||
|
|
||||||
AnimationType *avvy = &_vm->_animation->_sprites[0];
|
AnimationType *avvy = &_vm->_animation->_sprites[0];
|
||||||
avvy->init(7, true, _vm->_animation); // Robin Hood
|
avvy->init(7, true, _vm->_animation); // Robin Hood
|
||||||
_vm->_avalot->_whereIs[kPeopleRobinHood - 150] = kRoomRobins;
|
_vm->_avalot->setRoom(kPeopleRobinHood, kRoomRobins);
|
||||||
_vm->_animation->appearPed(0, 1);
|
_vm->_animation->appearPed(0, 1);
|
||||||
_vm->_dialogs->displayScrollChain('q', 39);
|
_vm->_dialogs->displayScrollChain('q', 39);
|
||||||
avvy->walkTo(6);
|
avvy->walkTo(6);
|
||||||
|
@ -336,7 +336,7 @@ void Timer::hangAround2() {
|
||||||
AnimationType *spr = &_vm->_animation->_sprites[1];
|
AnimationType *spr = &_vm->_animation->_sprites[1];
|
||||||
spr->_vanishIfStill = false;
|
spr->_vanishIfStill = false;
|
||||||
spr->walkTo(3);
|
spr->walkTo(3);
|
||||||
_vm->_avalot->_whereIs[kPeopleFriarTuck - 150] = kRoomRobins;
|
_vm->_avalot->setRoom(kPeopleFriarTuck, kRoomRobins);
|
||||||
_vm->_dialogs->displayScrollChain('q', 41);
|
_vm->_dialogs->displayScrollChain('q', 41);
|
||||||
_vm->_animation->_sprites[0].remove();
|
_vm->_animation->_sprites[0].remove();
|
||||||
spr->remove(); // Get rid of Robin Hood and Friar Tuck.
|
spr->remove(); // Get rid of Robin Hood and Friar Tuck.
|
||||||
|
@ -351,7 +351,7 @@ void Timer::hangAround2() {
|
||||||
|
|
||||||
void Timer::afterTheShootemup() {
|
void Timer::afterTheShootemup() {
|
||||||
// Only placed this here to replace the minigame. TODO: Remove it when the shoot em' up is implemented!
|
// Only placed this here to replace the minigame. TODO: Remove it when the shoot em' up is implemented!
|
||||||
_vm->_animation->flipRoom(_vm->_avalot->_room, 1);
|
_vm->_avalot->flipRoom(_vm->_avalot->_room, 1);
|
||||||
|
|
||||||
_vm->_animation->_sprites[0].init(0, true, _vm->_animation); // Avalot.
|
_vm->_animation->_sprites[0].init(0, true, _vm->_animation); // Avalot.
|
||||||
_vm->_animation->appearPed(0, 1);
|
_vm->_animation->appearPed(0, 1);
|
||||||
|
@ -400,7 +400,7 @@ void Timer::jacquesWakesUp() {
|
||||||
case 3 : // Gone through the door.
|
case 3 : // Gone through the door.
|
||||||
_vm->_background->drawBackgroundSprite(-1, -1, 1); // Not on the floor, either.
|
_vm->_background->drawBackgroundSprite(-1, -1, 1); // Not on the floor, either.
|
||||||
_vm->_background->drawBackgroundSprite(-1, -1, 3); // He's gone... so the door's open.
|
_vm->_background->drawBackgroundSprite(-1, -1, 3); // He's gone... so the door's open.
|
||||||
_vm->_avalot->_whereIs[kPeopleJacques - 150] = 0; // Gone!
|
_vm->_avalot->setRoom(kPeopleJacques, kRoomNowhere); // Gone!
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue