diff options
-rw-r--r-- | engines/avalanche/acci2.cpp | 266 | ||||
-rw-r--r-- | engines/avalanche/animation.cpp | 18 | ||||
-rw-r--r-- | engines/avalanche/avalanche.cpp | 2 | ||||
-rw-r--r-- | engines/avalanche/avalot.cpp | 4 | ||||
-rw-r--r-- | engines/avalanche/gyro2.cpp | 2 | ||||
-rw-r--r-- | engines/avalanche/lucerna2.cpp | 6 | ||||
-rw-r--r-- | engines/avalanche/scrolls2.cpp | 194 | ||||
-rw-r--r-- | engines/avalanche/scrolls2.h | 148 | ||||
-rw-r--r-- | engines/avalanche/timeout2.cpp | 18 | ||||
-rw-r--r-- | engines/avalanche/visa2.cpp | 12 |
10 files changed, 318 insertions, 352 deletions
diff --git a/engines/avalanche/acci2.cpp b/engines/avalanche/acci2.cpp index 5d09d05529..55f1e13fcd 100644 --- a/engines/avalanche/acci2.cpp +++ b/engines/avalanche/acci2.cpp @@ -306,16 +306,16 @@ void Acci::displayWhat(byte target, bool animate, bool &ambiguous) { if (target == kPardon) { ambiguous = true; if (animate) - _vm->_scrolls->display("Whom?"); + _vm->_scrolls->displayText("Whom?"); else - _vm->_scrolls->display("What?"); + _vm->_scrolls->displayText("What?"); } else { if (animate) - _vm->_scrolls->display(Common::String("{ ") + _vm->_gyro->getName(target) + " }"); + _vm->_scrolls->displayText(Common::String("{ ") + _vm->_gyro->getName(target) + " }"); else { Common::String z = _vm->_gyro->getItem(target); if (z != "") - _vm->_scrolls->display(Common::String("{ ") + z + " }"); + _vm->_scrolls->displayText(Common::String("{ ") + z + " }"); } } } @@ -365,7 +365,7 @@ void Acci::properNouns() { void Acci::sayIt() { Common::String x = _vm->_parser->_inputText; x.setChar(toupper(x[0]), 0); - _vm->_scrolls->display(Common::String(_vm->_scrolls->kControlRegister) + '1' + x + _vm->_scrolls->displayText(Common::String(_vm->_scrolls->kControlRegister) + '1' + x + '.' + _vm->_scrolls->kControlSpeechBubble + _vm->_scrolls->kControlRegister + '2'); } @@ -599,7 +599,7 @@ void Acci::parse() { } if ((!_unknown.empty()) && (_verb != kVerbCodeExam) && (_verb != kVerbCodeTalk) && (_verb != kVerbCodeSave) && (_verb != kVerbCodeLoad) && (_verb != kVerbCodeDir)) { - _vm->_scrolls->display(Common::String("Sorry, but I have no idea kWhat \"") + _unknown + "\" means. Can you rephrase it?"); + _vm->_scrolls->displayText(Common::String("Sorry, but I have no idea kWhat \"") + _unknown + "\" means. Can you rephrase it?"); _vm->_gyro->_weirdWord = true; } else _vm->_gyro->_weirdWord = false; @@ -651,10 +651,10 @@ bool Acci::isPersonHere() { // Person equivalent of "holding". return true; else { if (_person < 175) - _vm->_scrolls->display(Common::String('H') + _vm->_scrolls->kControlToBuffer); + _vm->_scrolls->displayText(Common::String('H') + _vm->_scrolls->kControlToBuffer); else - _vm->_scrolls->display(Common::String("Sh") + _vm->_scrolls->kControlToBuffer); - _vm->_scrolls->display("e isn't around at the moment."); + _vm->_scrolls->displayText(Common::String("Sh") + _vm->_scrolls->kControlToBuffer); + _vm->_scrolls->displayText("e isn't around at the moment."); return false; } } @@ -694,9 +694,9 @@ bool Acci::holding() { bool holdingResult = false; if (_thing > 100) - _vm->_scrolls->display("Be reasonable!"); + _vm->_scrolls->displayText("Be reasonable!"); else if (!_vm->_gyro->_dna._objects[_thing - 1]) // Verbs that need "_thing" to be in the inventory. - _vm->_scrolls->display("You're not holding it, Avvy."); + _vm->_scrolls->displayText("You're not holding it, Avvy."); else holdingResult = true; @@ -731,37 +731,37 @@ void Acci::examine() { examineObject(); else if ((50 <= _thing) && (_thing <= 100)) { // Also _thing openBox(true); - _vm->_scrolls->display(*_vm->_gyro->_also[_thing - 50][1]); + _vm->_scrolls->displayText(*_vm->_gyro->_also[_thing - 50][1]); openBox(false); } } } else if (_person != kPardon) exampers(); else - _vm->_scrolls->display("It's just as it looks on the picture."); // Don't know: guess. + _vm->_scrolls->displayText("It's just as it looks on the picture."); // Don't know: guess. } void Acci::inventory() { byte itemNum = 0; - _vm->_scrolls->display(Common::String("You're carrying ") + _vm->_scrolls->kControlToBuffer); + _vm->_scrolls->displayText(Common::String("You're carrying ") + _vm->_scrolls->kControlToBuffer); for (byte i = 0; i < kObjectNum; i++) { if (_vm->_gyro->_dna._objects[i]) { itemNum++; if (itemNum == _vm->_gyro->_dna._carryNum) - _vm->_scrolls->display(Common::String("and ") + _vm->_scrolls->kControlToBuffer); - _vm->_scrolls->display(_vm->_gyro->getItem(i + 1) + _vm->_scrolls->kControlToBuffer); + _vm->_scrolls->displayText(Common::String("and ") + _vm->_scrolls->kControlToBuffer); + _vm->_scrolls->displayText(_vm->_gyro->getItem(i + 1) + _vm->_scrolls->kControlToBuffer); if ((i + 1) == _vm->_gyro->_dna._wearing) - _vm->_scrolls->display(Common::String(", which you're wearing") + _vm->_scrolls->kControlToBuffer); + _vm->_scrolls->displayText(Common::String(", which you're wearing") + _vm->_scrolls->kControlToBuffer); if (itemNum < _vm->_gyro->_dna._carryNum) - _vm->_scrolls->display(Common::String(", ") + _vm->_scrolls->kControlToBuffer); + _vm->_scrolls->displayText(Common::String(", ") + _vm->_scrolls->kControlToBuffer); } } if (_vm->_gyro->_dna._wearing == kNothing) - _vm->_scrolls->display(Common::String("...") + _vm->_scrolls->kControlNewLine + _vm->_scrolls->kControlNewLine + "...and you're stark naked!"); + _vm->_scrolls->displayText(Common::String("...") + _vm->_scrolls->kControlNewLine + _vm->_scrolls->kControlNewLine + "...and you're stark naked!"); else - _vm->_scrolls->display("."); + _vm->_scrolls->displayText("."); } void Acci::swallow() { // Eat something. @@ -813,9 +813,9 @@ void Acci::swallow() { // Eat something. break; default: if ((_vm->_gyro->_dna._room == r__argentpub) || (_vm->_gyro->_dna._room == r__nottspub)) - _vm->_scrolls->display("Try BUYing things before you drink them!"); + _vm->_scrolls->displayText("Try BUYing things before you drink them!"); else - _vm->_scrolls->display("The taste of it makes you retch!"); + _vm->_scrolls->displayText("The taste of it makes you retch!"); } } @@ -835,24 +835,24 @@ void Acci::peopleInRoom() { if (_vm->_gyro->_whereIs[i] == _vm->_gyro->_dna._room) { actPerson++; if (actPerson == 1) // First on the list. - _vm->_scrolls->display(_vm->_gyro->getName(i + 150) + _vm->_scrolls->kControlToBuffer); + _vm->_scrolls->displayText(_vm->_gyro->getName(i + 150) + _vm->_scrolls->kControlToBuffer); else if (actPerson < numPeople) // The middle... - _vm->_scrolls->display(Common::String(", ") + _vm->_gyro->getName(i + 150) + _vm->_scrolls->kControlToBuffer); + _vm->_scrolls->displayText(Common::String(", ") + _vm->_gyro->getName(i + 150) + _vm->_scrolls->kControlToBuffer); else // The end. - _vm->_scrolls->display(Common::String(" and ") + _vm->_gyro->getName(i + 150) + _vm->_scrolls->kControlToBuffer); + _vm->_scrolls->displayText(Common::String(" and ") + _vm->_gyro->getName(i + 150) + _vm->_scrolls->kControlToBuffer); } } if (numPeople == 1) - _vm->_scrolls->display(Common::String(" is") + _vm->_scrolls->kControlToBuffer); + _vm->_scrolls->displayText(Common::String(" is") + _vm->_scrolls->kControlToBuffer); else - _vm->_scrolls->display(Common::String(" are") + _vm->_scrolls->kControlToBuffer); + _vm->_scrolls->displayText(Common::String(" are") + _vm->_scrolls->kControlToBuffer); - _vm->_scrolls->display(" here."); // End and display it. + _vm->_scrolls->displayText(" here."); // End and display it. } void Acci::lookAround() { - _vm->_scrolls->display(*_vm->_gyro->_also[0][1]); + _vm->_scrolls->displayText(*_vm->_gyro->_also[0][1]); switch (_vm->_gyro->_dna._room) { case r__spludwicks: if (_vm->_gyro->_dna._avariciusTalk > 0) @@ -931,7 +931,7 @@ void Acci::openDoor() { break; case Gyro::kMagicUnfinished: _vm->_animation->tr[0].bounce(); - _vm->_scrolls->display("Sorry. This place is not available yet!"); + _vm->_scrolls->displayText("Sorry. This place is not available yet!"); break; case Gyro::kMagicSpecial: _vm->_animation->call_special(_vm->_gyro->_portals[fv]._data); @@ -946,16 +946,16 @@ void Acci::openDoor() { } if (_vm->_gyro->_dna._room == r__map) - _vm->_scrolls->display(Common::String("Avvy, you can complete the whole game without ever going " + _vm->_scrolls->displayText(Common::String("Avvy, you can complete the whole game without ever going " "to anywhere other than Argent, Birmingham, Cardiff, Nottingham and Norwich.")); else - _vm->_scrolls->display("Door? What door?"); + _vm->_scrolls->displayText("Door? What door?"); } void Acci::silly() { - _vm->_scrolls->display("Don't be silly!"); + _vm->_scrolls->displayText("Don't be silly!"); } void Acci::putProc() { @@ -974,10 +974,10 @@ void Acci::putProc() { case Gyro::kObjectWine: if (_thing == _vm->_gyro->kObjectOnion) { if (_vm->_gyro->_dna._rottenOnion) - _vm->_scrolls->display("That's a bit like shutting the stable door after the horse has bolted!"); + _vm->_scrolls->displayText("That's a bit like shutting the stable door after the horse has bolted!"); else { // Put onion into wine? if (_vm->_gyro->_dna._wineState != 3) - _vm->_scrolls->display(Common::String(_vm->_scrolls->kControlItalic) + "Oignon au vin" + _vm->_scrolls->displayText(Common::String(_vm->_scrolls->kControlItalic) + "Oignon au vin" + _vm->_scrolls->kControlRoman + " is a bit too strong for your tastes!"); else { // Put onion into vinegar! Yes! _vm->_gyro->_dna._onionInVinegar = true; @@ -992,31 +992,31 @@ void Acci::putProc() { case 54: if (_vm->_gyro->_dna._room == r__yours) { // Put something into the box. if (_vm->_gyro->_dna._boxContent != kNothing) - _vm->_scrolls->display("There's something in the box already, Avvy. Try taking that out first."); + _vm->_scrolls->displayText("There's something in the box already, Avvy. Try taking that out first."); else { switch (_thing) { case Gyro::kObjectMoney: - _vm->_scrolls->display("You'd better keep some ready cash on you!"); + _vm->_scrolls->displayText("You'd better keep some ready cash on you!"); break; case Gyro::kObjectBell: - _vm->_scrolls->display("That's a silly place to keep a bell."); + _vm->_scrolls->displayText("That's a silly place to keep a bell."); break; case Gyro::kObjectBodkin: - _vm->_scrolls->display("But you might need it!"); + _vm->_scrolls->displayText("But you might need it!"); break; case Gyro::kObjectOnion: - _vm->_scrolls->display("Just give it to Spludwick, Avvy!"); + _vm->_scrolls->displayText("Just give it to Spludwick, Avvy!"); break; default: // Put the object into the box... if (_vm->_gyro->_dna._wearing == _thing) - _vm->_scrolls->display(Common::String("You'd better take ") + _vm->_gyro->getItem(_thing) + " off first!"); + _vm->_scrolls->displayText(Common::String("You'd better take ") + _vm->_gyro->getItem(_thing) + " off first!"); else { openBox(true); // Open box. _vm->_gyro->_dna._boxContent = _thing; _vm->_gyro->_dna._objects[_thing - 1] = false; _vm->_lucerna->refreshObjectList(); - _vm->_scrolls->display("OK, it's in the box."); + _vm->_scrolls->displayText("OK, it's in the box."); openBox(false); // Shut box. } @@ -1034,7 +1034,7 @@ void Acci::putProc() { void Acci::notInOrder() { - _vm->_scrolls->display(Common::String("Sorry, I need the ingredients in the right order for this potion. What I need next is ") + _vm->_scrolls->displayText(Common::String("Sorry, I need the ingredients in the right order for this potion. What I need next is ") + _vm->_gyro->getItem(_vm->_gyro->kSpludwicksOrder[_vm->_gyro->_dna._givenToSpludwick]) + _vm->_scrolls->kControlRegister + 2 + _vm->_scrolls->kControlSpeechBubble); } @@ -1110,21 +1110,21 @@ void Acci::drink() { void Acci::cardiffClimbing() { if (_vm->_gyro->_dna._standingOnDais) { // Clamber up. - _vm->_scrolls->display("You climb down, back onto the floor."); + _vm->_scrolls->displayText("You climb down, back onto the floor."); _vm->_gyro->_dna._standingOnDais = false; _vm->_animation->apped(1, 3); } else { // Clamber down. if (_vm->_animation->infield(1)) { - _vm->_scrolls->display("You clamber up onto the dais."); + _vm->_scrolls->displayText("You clamber up onto the dais."); _vm->_gyro->_dna._standingOnDais = true; _vm->_animation->apped(1, 2); } else - _vm->_scrolls->display("Get a bit closer, Avvy."); + _vm->_scrolls->displayText("Get a bit closer, Avvy."); } } void Acci::already() { - _vm->_scrolls->display("You're already standing!"); + _vm->_scrolls->displayText("You're already standing!"); } void Acci::standUp() { @@ -1175,13 +1175,13 @@ void Acci::getProc(char thing) { if (_vm->_animation->infield(2)) { if (_vm->_gyro->_dna._boxContent == thing) { _vm->_celer->drawBackgroundSprite(-1, -1, 5); - _vm->_scrolls->display("OK, I've got it."); + _vm->_scrolls->displayText("OK, I've got it."); _vm->_gyro->_dna._objects[thing - 1] = true; _vm->_lucerna->refreshObjectList(); _vm->_gyro->_dna._boxContent = kNothing; _vm->_celer->drawBackgroundSprite(-1, -1, 6); } else - _vm->_scrolls->display(Common::String("I can't see ") + _vm->_gyro->getItem(thing) + " in the box."); + _vm->_scrolls->displayText(Common::String("I can't see ") + _vm->_gyro->getItem(thing) + " in the box."); } else _vm->_visa->dixi('q', 57); break; @@ -1190,7 +1190,7 @@ void Acci::getProc(char thing) { case Gyro::kObjectPen: if (_vm->_animation->infield(2)) { // Standing on the dais. if (_vm->_gyro->_dna._takenPen) - _vm->_scrolls->display("It's not there, Avvy."); + _vm->_scrolls->displayText("It's not there, Avvy."); else { // OK: we're taking the pen, and it's there. _vm->_celer->drawBackgroundSprite(-1, -1, 4); // No pen there now. @@ -1198,7 +1198,7 @@ void Acci::getProc(char thing) { _vm->_gyro->_dna._takenPen = true; _vm->_gyro->_dna._objects[_vm->_gyro->kObjectPen - 1] = true; _vm->_lucerna->refreshObjectList(); - _vm->_scrolls->display("Taken."); + _vm->_scrolls->displayText("Taken."); } } else if (_vm->_gyro->_dna._standingOnDais) _vm->_visa->dixi('q', 53); @@ -1215,7 +1215,7 @@ void Acci::getProc(char thing) { case r__robins: if ((thing == _vm->_gyro->kObjectMushroom) & (_vm->_animation->infield(1)) & (_vm->_gyro->_dna._mushroomGrowing)) { _vm->_celer->drawBackgroundSprite(-1, -1, 3); - _vm->_scrolls->display("Got it!"); + _vm->_scrolls->displayText("Got it!"); _vm->_gyro->_dna._mushroomGrowing = false; _vm->_gyro->_dna._takenMushroom = true; _vm->_gyro->_dna._objects[_vm->_gyro->kObjectMushroom - 1] = true; @@ -1235,7 +1235,7 @@ void Acci::getProc(char thing) { */ void Acci::giveGeidaTheLute() { if (_vm->_gyro->_dna._room != r__lustiesroom) { - _vm->_scrolls->display(Common::String("Not yet. Try later!") + _vm->_scrolls->kControlRegister + '2' + _vm->_scrolls->kControlSpeechBubble); + _vm->_scrolls->displayText(Common::String("Not yet. Try later!") + _vm->_scrolls->kControlRegister + '2' + _vm->_scrolls->kControlSpeechBubble); return; } _vm->_gyro->_dna._objects[_vm->_gyro->kObjectLute - 1] = false; @@ -1248,9 +1248,9 @@ void Acci::giveGeidaTheLute() { void Acci::playHarp() { if (_vm->_animation->infield(7)) - _vm->_scrolls->musical_scroll(); + _vm->_scrolls->musicalScroll(); else - _vm->_scrolls->display("Get a bit closer to it, Avvy!"); + _vm->_scrolls->displayText("Get a bit closer to it, Avvy!"); } void Acci::winSequence() { @@ -1271,7 +1271,7 @@ void Acci::personSpeaks() { } if (_vm->_gyro->_whereIs[_person - 150] != _vm->_gyro->_dna._room) { - _vm->_scrolls->display(Common::String(_vm->_scrolls->kControlRegister) + '1' + _vm->_scrolls->kControlToBuffer); // Avvy himself! + _vm->_scrolls->displayText(Common::String(_vm->_scrolls->kControlRegister) + '1' + _vm->_scrolls->kControlToBuffer); // Avvy himself! return; } @@ -1279,7 +1279,7 @@ void Acci::personSpeaks() { for (byte i = 0; i < _vm->_animation->kSpriteNumbMax; i++) { if (_vm->_animation->tr[i].quick && ((_vm->_animation->tr[i]._stat.accinum + 149) == _person)) { - _vm->_scrolls->display(Common::String(_vm->_scrolls->kControlRegister) + byte(i + 49) + _vm->_scrolls->kControlToBuffer); + _vm->_scrolls->displayText(Common::String(_vm->_scrolls->kControlRegister) + byte(i + 49) + _vm->_scrolls->kControlToBuffer); found = true; } } @@ -1287,13 +1287,13 @@ void Acci::personSpeaks() { if (!found) { for (byte i = 0; i < 16; i++) { if ((_vm->_gyro->kQuasipeds[i]._who == _person) && (_vm->_gyro->kQuasipeds[i]._room == _vm->_gyro->_dna._room)) - _vm->_scrolls->display(Common::String(_vm->_scrolls->kControlRegister) + byte(i + 65) + _vm->_scrolls->kControlToBuffer); + _vm->_scrolls->displayText(Common::String(_vm->_scrolls->kControlRegister) + byte(i + 65) + _vm->_scrolls->kControlToBuffer); } } } void Acci::heyThanks() { personSpeaks(); - _vm->_scrolls->display(Common::String("Hey, thanks!") + _vm->_scrolls->kControlSpeechBubble + "(But now, you've lost it!)"); + _vm->_scrolls->displayText(Common::String("Hey, thanks!") + _vm->_scrolls->kControlSpeechBubble + "(But now, you've lost it!)"); _vm->_gyro->_dna._objects[_thing - 1] = false; } @@ -1321,11 +1321,11 @@ void Acci::doThat() { && (_verb != kVerbCodeLarrypass) && (_verb != kVerbCodePhaon) && (_verb != kVerbCodeBoss) && (_verb != kVerbCodeCheat) && (_verb != kVerbCodeRestart) && (_verb != kVerbCodeDir) && (_verb != kVerbCodeScore) && (_verb != kVerbCodeHiscores) && (_verb != kVerbCodeSmartAlec)) { if (!_vm->_gyro->_alive) { - _vm->_scrolls->display(Common::String("You're dead, so don't talk. What are you, a ghost or something? Try restarting, or restoring a saved game!")); + _vm->_scrolls->displayText(Common::String("You're dead, so don't talk. What are you, a ghost or something? Try restarting, or restoring a saved game!")); return; } if (!_vm->_gyro->_dna._avvyIsAwake && (_verb != kVerbCodeDie) && (_verb != kVerbCodeExpletive) && (_verb != kVerbCodeWake)) { - _vm->_scrolls->display("Talking in your sleep? Try waking up!"); + _vm->_scrolls->displayText("Talking in your sleep? Try waking up!"); return; } } @@ -1338,24 +1338,24 @@ void Acci::doThat() { openDoor(); break; case kVerbCodePause: // Note that the original game doesn't care about the "O.K." box neither, it accepts clicks from everywhere on the screen to continue. Just like my code. - _vm->_scrolls->display(Common::String("Game paused.") + _vm->_scrolls->kControlCenter + _vm->_scrolls->kControlNewLine + _vm->_scrolls->kControlNewLine + _vm->_scrolls->displayText(Common::String("Game paused.") + _vm->_scrolls->kControlCenter + _vm->_scrolls->kControlNewLine + _vm->_scrolls->kControlNewLine + "Press Enter, Esc, or click the mouse on the \"O.K.\" box to continue."); break; case kVerbCodeGet: if (_thing != kPardon) { // Legitimate try to pick something up. if (_vm->_gyro->_dna._carryNum >= kCarryLimit) - _vm->_scrolls->display("You can't carry any more!"); + _vm->_scrolls->displayText("You can't carry any more!"); else getProc(_thing); } else { // Not... ditto. if (_person != kPardon) - _vm->_scrolls->display("You can't sweep folk off their feet!"); + _vm->_scrolls->displayText("You can't sweep folk off their feet!"); else - _vm->_scrolls->display("I assure you, you don't need it."); + _vm->_scrolls->displayText("I assure you, you don't need it."); } break; case kVerbCodeDrop: - _vm->_scrolls->display(Common::String("Two years ago you dropped a florin in the street. Three days ") + + _vm->_scrolls->displayText(Common::String("Two years ago you dropped a florin in the street. Three days ") + "later it was gone! So now you never leave ANYTHING lying around. OK?"); break; case kVerbCodeInv: @@ -1364,7 +1364,7 @@ void Acci::doThat() { case kVerbCodeTalk: if (_person == kPardon) { if (_vm->_gyro->_subjectNum == 99) // They typed "say password". - _vm->_scrolls->display(Common::String("Yes, but what ") + _vm->_scrolls->kControlItalic + "is" + _vm->_scrolls->kControlRoman + " the password?"); + _vm->_scrolls->displayText(Common::String("Yes, but what ") + _vm->_scrolls->kControlItalic + "is" + _vm->_scrolls->kControlRoman + " the password?"); else if (((1 <= _vm->_gyro->_subjectNum) && (_vm->_gyro->_subjectNum <= 49)) || (_vm->_gyro->_subjectNum == 253) || (_vm->_gyro->_subjectNum == 249)) { _thats.deleteChar(0); @@ -1378,7 +1378,7 @@ void Acci::doThat() { _person = _vm->_gyro->_subjectNum; _vm->_gyro->_subjectNum = 0; if ((_person == 0) || (_person == kPardon)) - _vm->_scrolls->display("Talk to whom?"); + _vm->_scrolls->displayText("Talk to whom?"); else if (isPersonHere()) _vm->_visa->talkto(_person); } @@ -1388,30 +1388,30 @@ void Acci::doThat() { case kVerbCodeGive: if (holding()) { if (_person == kPardon) - _vm->_scrolls->display("Give to whom?"); + _vm->_scrolls->displayText("Give to whom?"); else if (isPersonHere()) { switch (_thing) { case Gyro::kObjectMoney : - _vm->_scrolls->display("You can't bring yourself to give away your moneybag."); + _vm->_scrolls->displayText("You can't bring yourself to give away your moneybag."); break; case Gyro::kObjectBodkin: case Gyro::kObjectBell: case Gyro::kObjectClothes: case Gyro::kObjectHabit : - _vm->_scrolls->display("Don't give it away, it might be useful!"); + _vm->_scrolls->displayText("Don't give it away, it might be useful!"); break; default: switch (_person) { case Gyro::kPeopleCrapulus: if (_thing == _vm->_gyro->kObjectWine) { - _vm->_scrolls->display("Crapulus grabs the wine and gulps it down."); + _vm->_scrolls->displayText("Crapulus grabs the wine and gulps it down."); _vm->_gyro->_dna._objects[_vm->_gyro->kObjectWine - 1] = false; } else heyThanks(); break; case Gyro::kPeopleCwytalot: if ((_thing == _vm->_gyro->kObjectCrossbow) || (_thing == _vm->_gyro->kObjectBolt)) - _vm->_scrolls->display(Common::String("You might be able to influence Cwytalot more if you used it!")); + _vm->_scrolls->displayText(Common::String("You might be able to influence Cwytalot more if you used it!")); else heyThanks(); break; @@ -1443,7 +1443,7 @@ void Acci::doThat() { } else heyThanks(); } else - _vm->_scrolls->display("But he's asleep!"); + _vm->_scrolls->displayText("But he's asleep!"); break; case Gyro::kPeopleGeida: switch (_thing) { @@ -1495,13 +1495,13 @@ void Acci::doThat() { // We don't handle these two because we use ScummVM's save/load system. case kVerbCodePay: - _vm->_scrolls->display("No money need change hands."); + _vm->_scrolls->displayText("No money need change hands."); break; case kVerbCodeLook: lookAround(); break; case kVerbCodeBreak: - _vm->_scrolls->display("Vandalism is prohibited within this game!"); + _vm->_scrolls->displayText("Vandalism is prohibited within this game!"); break; case kVerbCodeQuit: // quit if (_vm->_gyro->kDemo) { @@ -1511,15 +1511,15 @@ void Acci::doThat() { // exit(0); // Change this later!!! } if (!_polite) - _vm->_scrolls->display("How about a `please\", Avvy?"); - else if (_vm->_scrolls->ask(Common::String(_vm->_scrolls->kControlRegister) + 'C' + _vm->_scrolls->kControlIcon + "Do you really want to quit?")) + _vm->_scrolls->displayText("How about a `please\", Avvy?"); + else if (_vm->_scrolls->displayQuestion(Common::String(_vm->_scrolls->kControlRegister) + 'C' + _vm->_scrolls->kControlIcon + "Do you really want to quit?")) _vm->_gyro->_letMeOut = true; break; case kVerbCodeGo: - _vm->_scrolls->display("Just use the arrow keys to walk there."); + _vm->_scrolls->displayText("Just use the arrow keys to walk there."); break; case kVerbCodeInfo: { - _vm->_scrolls->aboutscroll = true; + _vm->_scrolls->_aboutScroll = true; Common::String toDisplay; for (byte i = 0; i < 7; i++) @@ -1529,34 +1529,34 @@ void Acci::doThat() { + "Denarius Avaricius Sextus" + _vm->_scrolls->kControlNewLine + _vm->_scrolls->kControlNewLine + "version " + _vm->_gyro->kVersionNum + _vm->_scrolls->kControlNewLine + _vm->_scrolls->kControlNewLine + "Copyright \xEF " + _vm->_gyro->kCopyright + ", Mark, Mike and Thomas Thurman." + _vm->_scrolls->kControlRegister + 'Y' + _vm->_scrolls->kControlIcon; - _vm->_scrolls->display(toDisplay); - _vm->_scrolls->aboutscroll = false; + _vm->_scrolls->displayText(toDisplay); + _vm->_scrolls->_aboutScroll = false; } break; case kVerbCodeUndress: if (_vm->_gyro->_dna._wearing == kNothing) - _vm->_scrolls->display("You're already stark naked!"); + _vm->_scrolls->displayText("You're already stark naked!"); else if (_vm->_gyro->_dna._avvysInTheCupboard) { - _vm->_scrolls->display(Common::String("You take off ") + _vm->_gyro->getItem(_vm->_gyro->_dna._wearing) + '.'); + _vm->_scrolls->displayText(Common::String("You take off ") + _vm->_gyro->getItem(_vm->_gyro->_dna._wearing) + '.'); _vm->_gyro->_dna._wearing = kNothing; _vm->_lucerna->refreshObjectList(); } else - _vm->_scrolls->display("Hadn't you better find somewhere more private, Avvy?"); + _vm->_scrolls->displayText("Hadn't you better find somewhere more private, Avvy?"); break; case kVerbCodeWear: if (holding()) { // Wear something. switch (_thing) { case Gyro::kObjectChastity: // \? are used to avoid that ??! is parsed as a trigraph - _vm->_scrolls->display("Hey, kWhat kind of a weirdo are you\?\?!"); + _vm->_scrolls->displayText("Hey, kWhat kind of a weirdo are you\?\?!"); break; case Gyro::kObjectClothes: case Gyro::kObjectHabit: { // Change this! if (_vm->_gyro->_dna._wearing != kNothing) { if (_vm->_gyro->_dna._wearing == _thing) - _vm->_scrolls->display("You're already wearing that."); + _vm->_scrolls->displayText("You're already wearing that."); else - _vm->_scrolls->display("You'll be rather warm wearing two sets of clothes!"); + _vm->_scrolls->displayText("You'll be rather warm wearing two sets of clothes!"); return; } else _vm->_gyro->_dna._wearing = _thing; @@ -1579,7 +1579,7 @@ void Acci::doThat() { } break; default: - _vm->_scrolls->display(kWhat); + _vm->_scrolls->displayText(kWhat); } } break; @@ -1617,7 +1617,7 @@ void Acci::doThat() { _vm->_lucerna->incScore(3); // 3 points for playing your 1st game. // A warning to the player that there should have been a mini-game. TODO: Remove it later!!! - _vm->_scrolls->display(Common::String("P.S.: There should have been the mini-game called \"Nim\", but I haven't implemented it yet: you win and get the lute automatically.") + _vm->_scrolls->displayText(Common::String("P.S.: There should have been the mini-game called \"Nim\", but I haven't implemented it yet: you win and get the lute automatically.") + _vm->_scrolls->kControlNewLine + _vm->_scrolls->kControlNewLine + "Peter (uruk)"); } break; @@ -1640,29 +1640,29 @@ void Acci::doThat() { if (_vm->_gyro->_dna._room == r__musicroom) playHarp(); else - _vm->_scrolls->display(kWhat); + _vm->_scrolls->displayText(kWhat); break; case 55: if (_vm->_gyro->_dna._room == r__argentpub) // play_nim(); warning("STUB: Acci::doThat() - case kVerbCodeplay"); else - _vm->_scrolls->display(kWhat); + _vm->_scrolls->displayText(kWhat); break; default: - _vm->_scrolls->display(kWhat); + _vm->_scrolls->displayText(kWhat); } } break; case kVerbCodeRing: if (holding()) { if (_thing == _vm->_gyro->kObjectBell) { - _vm->_scrolls->display("Ding, dong, ding, dong, ding, dong, ding, dong..."); + _vm->_scrolls->displayText("Ding, dong, ding, dong, ding, dong, ding, dong..."); if ((_vm->_gyro->_dna._bellsAreRinging) & (_vm->_gyro->setFlag('B'))) // \? are used to avoid that ??! is parsed as a trigraph - _vm->_scrolls->display("(Are you trying to join in, Avvy\?\?!)"); + _vm->_scrolls->displayText("(Are you trying to join in, Avvy\?\?!)"); } else - _vm->_scrolls->display(kWhat); + _vm->_scrolls->displayText(kWhat); } break; case kVerbCodeHelp: @@ -1670,10 +1670,10 @@ void Acci::doThat() { warning("STUB: Acci::doThat() - case kVerbCodehelp"); break; case kVerbCodeLarrypass: - _vm->_scrolls->display("Wrong game!"); + _vm->_scrolls->displayText("Wrong game!"); break; case kVerbCodePhaon: - _vm->_scrolls->display("Hello, Phaon!"); + _vm->_scrolls->displayText("Hello, Phaon!"); break; case kVerbCodeBoss: // bosskey(); @@ -1681,14 +1681,14 @@ void Acci::doThat() { break; case kVerbCodePee: if (_vm->_gyro->setFlag('P')) { - _vm->_scrolls->display("Hmm, I don't think anyone will notice..."); + _vm->_scrolls->displayText("Hmm, I don't think anyone will notice..."); _vm->_timeout->set_up_timer(4, _vm->_timeout->procurinate, _vm->_timeout->reason_gototoilet); } else - _vm->_scrolls->display(Common::String("It would be ") + _vm->_scrolls->kControlItalic + "VERY" + _vm->_scrolls->displayText(Common::String("It would be ") + _vm->_scrolls->kControlItalic + "VERY" + _vm->_scrolls->kControlRoman + " unwise to do that here, Avvy!"); break; case kVerbCodeCheat: - _vm->_scrolls->display(Common::String(_vm->_scrolls->kControlItalic) + "Cheat mode now enabled."); + _vm->_scrolls->displayText(Common::String(_vm->_scrolls->kControlItalic) + "Cheat mode now enabled."); _vm->_gyro->_cheat = true; break; case kVerbCodeMagic: @@ -1709,25 +1709,25 @@ void Acci::doThat() { _vm->_timeout->set_up_timer(177, _vm->_timeout->procavaricius_talks, _vm->_timeout->reason_avariciustalks); } } else - _vm->_scrolls->display("Nothing appears to happen..."); + _vm->_scrolls->displayText("Nothing appears to happen..."); } break; case kVerbCodeSmartAlec: - _vm->_scrolls->display("Listen, smart alec, that was just rhetoric."); + _vm->_scrolls->displayText("Listen, smart alec, that was just rhetoric."); break; case kVerbCodeExpletive: switch (_vm->_gyro->_dna._sworeNum) { case 0: - _vm->_scrolls->display(Common::String("Avvy! Do you mind? There might be kids playing!") + _vm->_scrolls->displayText(Common::String("Avvy! Do you mind? There might be kids playing!") + _vm->_scrolls->kControlNewLine + _vm->_scrolls->kControlNewLine + "(I shouldn't say it again, if I were you!)"); break; case 1: - _vm->_scrolls->display(Common::String("You hear a distant rumble of thunder. Must you always do things I tell you not to?") + _vm->_scrolls->displayText(Common::String("You hear a distant rumble of thunder. Must you always do things I tell you not to?") + _vm->_scrolls->kControlNewLine + _vm->_scrolls->kControlNewLine + "Don't do it again!"); break; default: _vm->_pingo->zonk(); - _vm->_scrolls->display(Common::String("A crack of lightning shoots from the sky, and fries you.") + _vm->_scrolls->displayText(Common::String("A crack of lightning shoots from the sky, and fries you.") + _vm->_scrolls->kControlNewLine + _vm->_scrolls->kControlNewLine + "(`Such is the anger of the gods, Avvy!\")"); _vm->_lucerna->gameOver(); } @@ -1735,11 +1735,11 @@ void Acci::doThat() { break; case kVerbCodeListen: if ((_vm->_gyro->_dna._bellsAreRinging) & (_vm->_gyro->setFlag('B'))) - _vm->_scrolls->display("All other noise is drowned out by the ringing of the bells."); + _vm->_scrolls->displayText("All other noise is drowned out by the ringing of the bells."); else if (_vm->_gyro->_listen.empty()) - _vm->_scrolls->display("You can't hear anything much at the moment, Avvy."); + _vm->_scrolls->displayText("You can't hear anything much at the moment, Avvy."); else - _vm->_scrolls->display(_vm->_gyro->_listen); + _vm->_scrolls->displayText(_vm->_gyro->_listen); break; case kVerbCodeBuy: // What are they trying to buy? switch (_vm->_gyro->_dna._room) { @@ -1764,7 +1764,7 @@ void Acci::doThat() { _vm->_lucerna->incScore(3); _vm->_celer->drawBackgroundSprite(-1, -1, 12); - _vm->_scrolls->display(booze[_thing - 51] + ", please." + _vm->_scrolls->kControlRegister + '1' + _vm->_scrolls->kControlSpeechBubble); + _vm->_scrolls->displayText(booze[_thing - 51] + ", please." + _vm->_scrolls->kControlRegister + '1' + _vm->_scrolls->kControlSpeechBubble); _vm->_gyro->_dna._drinking = _thing; _vm->_celer->drawBackgroundSprite(-1, -1, 10); @@ -1784,12 +1784,12 @@ void Acci::doThat() { } if (_vm->_gyro->_dna._carryNum >= kCarryLimit) { - _vm->_scrolls->display("Your hands are full."); + _vm->_scrolls->displayText("Your hands are full."); return; } _vm->_celer->drawBackgroundSprite(-1, -1, 12); - _vm->_scrolls->display(Common::String("Wine, please.") + _vm->_scrolls->kControlRegister + '1' + _vm->_scrolls->kControlSpeechBubble); + _vm->_scrolls->displayText(Common::String("Wine, please.") + _vm->_scrolls->kControlRegister + '1' + _vm->_scrolls->kControlSpeechBubble); if (_vm->_gyro->_dna._alcoholLevel == 0) _vm->_lucerna->incScore(3); _vm->_celer->drawBackgroundSprite(-1, -1, 10); @@ -1809,7 +1809,7 @@ void Acci::doThat() { if (_vm->_gyro->_dna._objects[_vm->_gyro->kObjectOnion - 1]) _vm->_visa->dixi('D', 10); // Not planning to juggle with the things! else if (_vm->_gyro->_dna._carryNum >= kCarryLimit) - _vm->_scrolls->display("Before you ask, you remember that your hands are full."); + _vm->_scrolls->displayText("Before you ask, you remember that your hands are full."); else { if (_vm->_gyro->_dna._boughtOnion) _vm->_visa->dixi('D', 11); @@ -1845,13 +1845,13 @@ void Acci::doThat() { // 0 = neither, 1 = only bolt, 2 = only crossbow, 3 = both. case 0: _vm->_visa->dixi('Q', 10); - _vm->_scrolls->display("(At the very least, don't use your bare hands!)"); + _vm->_scrolls->displayText("(At the very least, don't use your bare hands!)"); break; case 1: - _vm->_scrolls->display("Attack _vm->_gyro->him with only a crossbow bolt? Are you planning on playing darts?!"); + _vm->_scrolls->displayText("Attack _vm->_gyro->him with only a crossbow bolt? Are you planning on playing darts?!"); break; case 2: - _vm->_scrolls->display("Come on, Avvy! You're not going to get very far with only a crossbow!"); + _vm->_scrolls->displayText("Come on, Avvy! You're not going to get very far with only a crossbow!"); break; case 3: _vm->_visa->dixi('Q', 11); @@ -1888,10 +1888,10 @@ void Acci::doThat() { if (ok) { if (_vm->_gyro->_dna._drawbridgeOpen != 0) - _vm->_scrolls->display("Contrary to your expectations, the drawbridge fails to close again."); + _vm->_scrolls->displayText("Contrary to your expectations, the drawbridge fails to close again."); else { _vm->_lucerna->incScore(4); - _vm->_scrolls->display("The drawbridge opens!"); + _vm->_scrolls->displayText("The drawbridge opens!"); _vm->_timeout->set_up_timer(7, _vm->_timeout->procopen_drawbridge, _vm->_timeout->reason_drawbridgefalls); _vm->_gyro->_dna._drawbridgeOpen = 1; } @@ -1906,7 +1906,7 @@ void Acci::doThat() { _vm->_lucerna->gameOver(); break; case kVerbCodeScore: - _vm->_scrolls->display(Common::String("Your score is ") + _vm->_gyro->intToStr(_vm->_gyro->_dna._score) + ',' + _vm->_scrolls->kControlCenter + _vm->_scrolls->displayText(Common::String("Your score is ") + _vm->_gyro->intToStr(_vm->_gyro->_dna._score) + ',' + _vm->_scrolls->kControlCenter + _vm->_scrolls->kControlNewLine + "out of a possible 128." + _vm->_scrolls->kControlNewLine + _vm->_scrolls->kControlNewLine + "This gives you a rank of " + rank() + '.' + _vm->_scrolls->kControlNewLine + _vm->_scrolls->kControlNewLine + totalTime()); break; @@ -1918,7 +1918,7 @@ void Acci::doThat() { break; case kVerbCodeKiss: if (_person == kPardon) - _vm->_scrolls->display("Kiss whom?"); + _vm->_scrolls->displayText("Kiss whom?"); else if (isPersonHere()) { switch (_person) { case Gyro::kPeopleArkata: @@ -1934,14 +1934,14 @@ void Acci::doThat() { _vm->_visa->dixi('U', 5); // You WHAT? } } else if ((150 <= _person) && (_person <= 174)) - _vm->_scrolls->display("Hey, kWhat kind of a weirdo are you??"); + _vm->_scrolls->displayText("Hey, kWhat kind of a weirdo are you??"); break; case kVerbCodeClimb: if (_vm->_gyro->_dna._room == r__insidecardiffcastle) cardiffClimbing(); else // In the wrong room! - _vm->_scrolls->display("Not with your head for heights, Avvy!"); + _vm->_scrolls->displayText("Not with your head for heights, Avvy!"); break; case kVerbCodeJump: _vm->_timeout->set_up_timer(1, _vm->_timeout->procjump, _vm->_timeout->reason_jumping); @@ -1965,24 +1965,24 @@ void Acci::doThat() { if (_vm->_gyro->_dna._teetotal) _vm->_visa->dixi('d', 13); } else - _vm->_scrolls->display("You're already awake, Avvy!"); + _vm->_scrolls->displayText("You're already awake, Avvy!"); break; case Gyro::kPeopleAyles: if (!_vm->_gyro->_dna._aylesIsAwake) - _vm->_scrolls->display("You can't seem to wake him by yourself."); + _vm->_scrolls->displayText("You can't seem to wake him by yourself."); break; case Gyro::kPeopleJacques: - _vm->_scrolls->display(Common::String("Brother Jacques, Brother Jacques, are you asleep?") + _vm->_scrolls->kControlRegister + '1' + + _vm->_scrolls->displayText(Common::String("Brother Jacques, Brother Jacques, are you asleep?") + _vm->_scrolls->kControlRegister + '1' + _vm->_scrolls->kControlSpeechBubble + "Hmmm... that doesn't seem to do any good..."); break; default: - _vm->_scrolls->display("It's difficult to awaken people who aren't asleep...!"); + _vm->_scrolls->displayText("It's difficult to awaken people who aren't asleep...!"); } break; case kVerbCodeSit: if (_vm->_gyro->_dna._room == r__nottspub) { if (_vm->_gyro->_dna._sittingInPub) - _vm->_scrolls->display("You're already sitting!"); + _vm->_scrolls->displayText("You're already sitting!"); else { _vm->_animation->tr[0].walkto(4); // Move Avvy to the place, and sit him down. _vm->_timeout->set_up_timer(1, _vm->_timeout->procavvy_sit_down, _vm->_timeout->reason_sitting_down); @@ -1991,29 +1991,29 @@ void Acci::doThat() { _vm->_lucerna->dusk(); _vm->_gyro->hangAroundForAWhile(); _vm->_lucerna->dawn(); - _vm->_scrolls->display(Common::String("A few hours later...") + _vm->_scrolls->kControlParagraph + "nothing much has happened..."); + _vm->_scrolls->displayText(Common::String("A few hours later...") + _vm->_scrolls->kControlParagraph + "nothing much has happened..."); } break; case kVerbCodeRestart: - if (_vm->_scrolls->ask("Restart game and lose changes?")) { + if (_vm->_scrolls->displayQuestion("Restart game and lose changes?")) { _vm->_lucerna->dusk(); _vm->_gyro->newGame(); _vm->_lucerna->dawn(); } break; case kPardon: - _vm->_scrolls->display("Hey, a _verb would be helpful!"); + _vm->_scrolls->displayText("Hey, a _verb would be helpful!"); break; case kVerbCodeHello: personSpeaks(); - _vm->_scrolls->display(Common::String("Hello.") + _vm->_scrolls->kControlSpeechBubble); + _vm->_scrolls->displayText(Common::String("Hello.") + _vm->_scrolls->kControlSpeechBubble); break; case kVerbCodeThanks: personSpeaks(); - _vm->_scrolls->display(Common::String("That's OK.") + _vm->_scrolls->kControlSpeechBubble); + _vm->_scrolls->displayText(Common::String("That's OK.") + _vm->_scrolls->kControlSpeechBubble); break; default: - _vm->_scrolls->display(Common::String(_vm->_scrolls->kControlBell) + "Parser bug!"); + _vm->_scrolls->displayText(Common::String(_vm->_scrolls->kControlBell) + "Parser bug!"); } } diff --git a/engines/avalanche/animation.cpp b/engines/avalanche/animation.cpp index 7b34c39be7..598ae7dfbe 100644 --- a/engines/avalanche/animation.cpp +++ b/engines/avalanche/animation.cpp @@ -236,7 +236,7 @@ void AnimationType::walk() { break; case Gyro::kMagicUnfinished: { bounce(); - _tr->_vm->_scrolls->display("\7Sorry.\3\rThis place is not available yet!"); + _tr->_vm->_scrolls->displayText("\7Sorry.\3\rThis place is not available yet!"); } break; case Gyro::kMagicSpecial: @@ -551,18 +551,18 @@ void Animation::catamove(byte ped) { switch (xy_uint16) { case 1801: // Exit catacombs fliproom(r__lustiesroom, 4); - _vm->_scrolls->display("Phew! Nice to be out of there!"); + _vm->_scrolls->displayText("Phew! Nice to be out of there!"); return; case 1033: // Oubliette fliproom(r__oubliette, 1); - _vm->_scrolls->display(Common::String("Oh, NO!") + _vm->_scrolls->kControlRegister + '1' + _vm->_scrolls->kControlSpeechBubble); + _vm->_scrolls->displayText(Common::String("Oh, NO!") + _vm->_scrolls->kControlRegister + '1' + _vm->_scrolls->kControlSpeechBubble); return; case 4: fliproom(r__geidas, 1); return; case 2307: fliproom(r__lusties, 5); - _vm->_scrolls->display("Oh no... here we go again..."); + _vm->_scrolls->displayText("Oh no... here we go again..."); _vm->_gyro->_dna._userMovesAvvy = false; tr[0].iy = 1; tr[0].ix = 0; @@ -924,7 +924,7 @@ void Animation::call_special(uint16 which) { _vm->_timeout->lose_timer(_vm->_timeout->reason_falling_down_oubliette); //_vm->_lucerna->mblit(12, 80, 38, 160, 3, 0); //_vm->_lucerna->mblit(12, 80, 38, 160, 3, 1); - _vm->_scrolls->display("Oh dear, you seem to be down the bottom of an oubliette."); + _vm->_scrolls->displayText("Oh dear, you seem to be down the bottom of an oubliette."); _vm->_timeout->set_up_timer(200, _vm->_timeout->procmeet_avaroid, _vm->_timeout->reason_meeting_avaroid); break; case 8: // _vm->_gyro->special 8: leave du Lustie's room. @@ -1295,7 +1295,7 @@ void Animation::spin(byte whichway, byte &tripnum) { _vm->_gyro->_dna._geidaSpin += 1; _vm->_gyro->_dna._geidaTime = 20; if (_vm->_gyro->_dna._geidaSpin == 5) { - _vm->_scrolls->display("Steady on, Avvy, you'll make the poor girl dizzy!"); + _vm->_scrolls->displayText("Steady on, Avvy, you'll make the poor girl dizzy!"); _vm->_gyro->_dna._geidaSpin = 0; _vm->_gyro->_dna._geidaTime = 0; // knock out records } @@ -1461,12 +1461,12 @@ void Animation::getsetclear() { void Animation::hide_in_the_cupboard() { if (_vm->_gyro->_dna._avvysInTheCupboard) { if (_vm->_gyro->_dna._wearing == Acci::kNothing) - _vm->_scrolls->display(Common::String(_vm->_scrolls->kControlItalic) + "AVVY!" + _vm->_scrolls->kControlRoman + "Get dressed first!"); + _vm->_scrolls->displayText(Common::String(_vm->_scrolls->kControlItalic) + "AVVY!" + _vm->_scrolls->kControlRoman + "Get dressed first!"); else { tr[0]._visible = true; _vm->_gyro->_dna._userMovesAvvy = true; apped(1, 3); // Walk out of the cupboard. - _vm->_scrolls->display("You leave the cupboard. Nice to be out of there!"); + _vm->_scrolls->displayText("You leave the cupboard. Nice to be out of there!"); _vm->_gyro->_dna._avvysInTheCupboard = false; _vm->_sequence->first_show(8); _vm->_sequence->then_show(7); @@ -1476,7 +1476,7 @@ void Animation::hide_in_the_cupboard() { // Not hiding in the cupboard tr[0]._visible = false; _vm->_gyro->_dna._userMovesAvvy = false; - _vm->_scrolls->display(Common::String("You walk into the room...") + _vm->_scrolls->kControlParagraph + _vm->_scrolls->displayText(Common::String("You walk into the room...") + _vm->_scrolls->kControlParagraph + "It seems to be an empty, but dusty, cupboard. Hmmmm... you leave the door slightly open to avoid suffocation."); _vm->_gyro->_dna._avvysInTheCupboard = true; _vm->_celer->drawBackgroundSprite(-1, -1, 8); diff --git a/engines/avalanche/avalanche.cpp b/engines/avalanche/avalanche.cpp index 0c9fdd2acd..9b04f640a3 100644 --- a/engines/avalanche/avalanche.cpp +++ b/engines/avalanche/avalanche.cpp @@ -479,7 +479,7 @@ bool AvalancheEngine::loadGame(const int16 slot) { _celer->updateBackgroundSprites(); - _scrolls->display(Common::String(_scrolls->kControlItalic) + "Loaded: " + _scrolls->kControlRoman + description + ".ASG" + _scrolls->displayText(Common::String(_scrolls->kControlItalic) + "Loaded: " + _scrolls->kControlRoman + description + ".ASG" + _scrolls->kControlCenter + _scrolls->kControlNewLine + _scrolls->kControlNewLine + _gyro->_roomnName + _scrolls->kControlNewLine + _scrolls->kControlNewLine + "saved on " + expandDate(t.tm_mday, t.tm_mon, t.tm_year) + '.'); diff --git a/engines/avalanche/avalot.cpp b/engines/avalanche/avalot.cpp index 54a1c2244d..72cb1d6192 100644 --- a/engines/avalanche/avalot.cpp +++ b/engines/avalanche/avalot.cpp @@ -132,7 +132,7 @@ void Avalot::handleKeyDown(Common::Event &event) { void Avalot::setup() { _vm->_gyro->_mouse = _vm->_gyro->kMouseStateNo; _vm->_gyro->_letMeOut = false; - _vm->_scrolls->resetscroll(); + _vm->_scrolls->resetScroll(); CursorMan.showMouse(true); _vm->_gyro->_holdTheDawn = true; _vm->_lucerna->dusk(); @@ -152,7 +152,7 @@ void Avalot::setup() { _vm->_gyro->_dna._direction = _vm->_gyro->kDirectionStopped; _vm->_gyro->_enidFilename = ""; // Undefined. _vm->_lucerna->drawToolbar(); - _vm->_scrolls->state(2); + _vm->_scrolls->setReadyLight(2); for (byte i = 0; i < 3; i++) _vm->_gyro->_scoreToDisplay[i] = -1; // Impossible digits. diff --git a/engines/avalanche/gyro2.cpp b/engines/avalanche/gyro2.cpp index 4ea4de776f..6fa91cf87f 100644 --- a/engines/avalanche/gyro2.cpp +++ b/engines/avalanche/gyro2.cpp @@ -239,7 +239,7 @@ void Gyro::newGame() { _score = 0; memset(&_vm->_gyro->_dna, 0, sizeof(DnaType)); - _vm->_scrolls->natural(); + _vm->_scrolls->setBubbleStateNatural(); _dna._spareEvening = "answer a questionnaire"; _dna._favouriteDrink = "beer"; diff --git a/engines/avalanche/lucerna2.cpp b/engines/avalanche/lucerna2.cpp index 1c191cb538..e56250f15c 100644 --- a/engines/avalanche/lucerna2.cpp +++ b/engines/avalanche/lucerna2.cpp @@ -74,7 +74,7 @@ void Clock::update() { // TODO: Move variables from Gyro to here (or at least so plotHands(); if ((_hour == 0) && (_oldHour != 0) && (_oldHour != 17717)) - _vm->_scrolls->display(Common::String("Good morning!") + _vm->_scrolls->kControlNewLine + _vm->_scrolls->kControlNewLine + _vm->_scrolls->displayText(Common::String("Good morning!") + _vm->_scrolls->kControlNewLine + _vm->_scrolls->kControlNewLine + "Yes, it's just past midnight. Are you having an all-night Avvy session? Glad you like the game that much!"); _oldHour = _hour; @@ -146,7 +146,7 @@ void Lucerna::init() { */ void Lucerna::callVerb(byte id) { if (id == _vm->_acci->kPardon) { - _vm->_scrolls->display(Common::String("The f5 key lets you do a particular action in certain ") + + _vm->_scrolls->displayText(Common::String("The f5 key lets you do a particular action in certain ") + "situations. However, at the moment there is nothing " + "assigned to it. You may press alt-A to see what the " + "current setting of this key is."); @@ -1242,7 +1242,7 @@ void Lucerna::spriteRun() { void Lucerna::fixFlashers() { _vm->_gyro->_ledStatus = 177; _vm->_gyro->_oldDirection = 177; - _vm->_scrolls->state(2); + _vm->_scrolls->setReadyLight(2); drawDirection(); } diff --git a/engines/avalanche/scrolls2.cpp b/engines/avalanche/scrolls2.cpp index c445a7e164..444762b275 100644 --- a/engines/avalanche/scrolls2.cpp +++ b/engines/avalanche/scrolls2.cpp @@ -49,11 +49,11 @@ Scrolls::Scrolls(AvalancheEngine *vm) { } void Scrolls::init() { - loadfont(); - resetscrolldriver(); + loadFont(); + resetScrollDriver(); } -void Scrolls::state(byte x) { // Sets "Ready" light to whatever +void Scrolls::setReadyLight(byte x) { // Sets "Ready" light to whatever if (_vm->_gyro->_ledStatus == x) return; // Already like that! @@ -78,7 +78,7 @@ void Scrolls::state(byte x) { // Sets "Ready" light to whatever _vm->_gyro->_ledStatus = x; } -void Scrolls::easteregg() { +void Scrolls::easterEgg() { warning("STUB: Scrolls::easteregg()"); } @@ -93,16 +93,16 @@ void Scrolls::say(int16 x, int16 y, Common::String z) { // Fancy FAST screenwrit for (byte xx = 0; xx < lz; xx++) { switch (z[xx]) { case kControlRoman: { - cfont = roman; + _currentFont = kFontStyleRoman; } break; case kControlItalic: { - cfont = italic; + _currentFont = kFontStyleItalic; } break; default: { for (byte yy = 0; yy < 12; yy++) - itw[(byte)z[xx]][yy] = ch[cfont][(byte)z[xx]][yy + 2]; + itw[(byte)z[xx]][yy] = _scrollFonts[_currentFont][(byte)z[xx]][yy + 2]; // We have to draw the characters one-by-one because of the accidental font changes. i++; @@ -115,11 +115,11 @@ void Scrolls::say(int16 x, int16 y, Common::String z) { // Fancy FAST screenwrit // Here are the procedures that Scroll calls. So they must be... $F+*/ -void Scrolls::normscroll() { +void Scrolls::scrollModeNormal() { Common::String egg = Common::String(kControlParagraph) + kControlLeftJustified + kControlNegative + kControlBell + kControlBackspace + "***"; Common::String e = "(c) 1994"; - state(3); + setReadyLight(3); _vm->_gyro->_seeScroll = true; CursorMan.showMouse(true); _vm->_gyro->newMouse(4); @@ -182,7 +182,7 @@ void Scrolls::normscroll() { _vm->_gyro->screturn = r == '#'; // "back door" #endif - state(0); + setReadyLight(0); _vm->_gyro->_seeScroll = false; CursorMan.showMouse(false); _vm->_lucerna->_holdLeftMouse = false; // Used in Lucerna::checkclick(). @@ -190,19 +190,19 @@ void Scrolls::normscroll() { warning("STUB: Scrolls::normscroll()"); } -void Scrolls::dialogue() { +void Scrolls::scrollModeDialogue() { warning("STUB: Scrolls::dialogue()"); } -void Scrolls::store_(byte what, TuneType &played) { +void Scrolls::store(byte what, TuneType &played) { memcpy(played + 1, played + 2, sizeof(played) - 1); played[30] = what; } -bool Scrolls::they_match(TuneType &played) { +bool Scrolls::theyMatch(TuneType &played) { byte fv, mistakes; mistakes = 0; @@ -216,8 +216,8 @@ bool Scrolls::they_match(TuneType &played) { return mistakes < 5; } -void Scrolls::music_scroll() { - state(3); +void Scrolls::scrollModeMusic() { + setReadyLight(3); _vm->_gyro->_seeScroll = true; CursorMan.showMouse(true); _vm->_gyro->newMouse(4); @@ -229,7 +229,7 @@ void Scrolls::music_scroll() { #endif _vm->_gyro->_scReturn = true; CursorMan.showMouse(false); - state(0); + setReadyLight(0); _vm->_gyro->_seeScroll = false; _vm->_timeout->set_up_timer(8, _vm->_timeout->procjacques_wakes_up, _vm->_timeout->reason_jacques_waking_up); @@ -247,30 +247,30 @@ void Scrolls::music_scroll() { // ThatsAll, so put us back to $F- -void Scrolls::resetscrolldriver() { // phew +void Scrolls::resetScrollDriver() { // phew _vm->_gyro->_scrollBells = 0; - cfont = roman; - use_icon = 0; + _currentFont = kFontStyleRoman; + _useIcon = 0; _vm->_gyro->_interrogation = 0; // always reset after a scroll comes up. } -void Scrolls::dingdongbell() { // Pussy's in the well. Who put her in? Little... +void Scrolls::ringBell() { // Pussy's in the well. Who put her in? Little... for (byte fv = 0; fv < _vm->_gyro->_scrollBells; fv++) _vm->_lucerna->errorLed(); // ring the bell "x" times } void Scrolls::dodgem() { - dodgeCoord = _vm->getMousePos(); - g_system->warpMouse(dodgeCoord.x, _vm->_gyro->_underScroll); // Move the pointer off the scroll. + _dodgeCoord = _vm->getMousePos(); + g_system->warpMouse(_dodgeCoord.x, _vm->_gyro->_underScroll); // Move the pointer off the scroll. } -void Scrolls::undodgem() { +void Scrolls::unDodgem() { Common::Point actCoord = _vm->getMousePos(); - if ((actCoord.x == dodgeCoord.x) && (actCoord.y == _vm->_gyro->_underScroll)) - g_system->warpMouse(dodgeCoord.x, dodgeCoord.y); // No change, so restore the pointer's original position. + if ((actCoord.x == _dodgeCoord.x) && (actCoord.y == _vm->_gyro->_underScroll)) + g_system->warpMouse(_dodgeCoord.x, _dodgeCoord.y); // No change, so restore the pointer's original position. } -void Scrolls::geticon(int16 x, int16 y, byte which) { +void Scrolls::getIcon(int16 x, int16 y, byte which) { Common::File f; byte *p; @@ -292,7 +292,7 @@ void Scrolls::geticon(int16 x, int16 y, byte which) { f.close(); } -void Scrolls::block_drop(Common::String fn, int16 xl, int16 yl, int16 y) { +void Scrolls::drawSign(Common::String fn, int16 xl, int16 yl, int16 y) { Common::File f; Common::String filename; @@ -321,7 +321,7 @@ void Scrolls::block_drop(Common::String fn, int16 xl, int16 yl, int16 y) { f.close(); } -void Scrolls::drawscroll(func2 gotoit) { // This is one of the oldest procs in the game. +void Scrolls::drawScroll(ScrollsFunctionType gotoit) { // This is one of the oldest procs in the game. byte b; int16 lx, ly, mx, my, ex; bool centre; @@ -343,8 +343,8 @@ void Scrolls::drawscroll(func2 gotoit) { // This is one of the oldest procs in t lx = lx / 2; ly -= 2; - if ((1 <= use_icon) && (use_icon <= 34)) - lx += halficonwidth; + if ((1 <= _useIcon) && (_useIcon <= 34)) + lx += kHalfIconWidth; _vm->_graphics->_scrolls.copyFrom(_vm->_graphics->_surface); @@ -382,24 +382,24 @@ void Scrolls::drawscroll(func2 gotoit) { // This is one of the oldest procs in t centre = false; - switch (use_icon) { + switch (_useIcon) { case 0: icon_indent = 0; break; // No icon. case 34: { - block_drop("about", 28, 76, 15); + drawSign("about", 28, 76, 15); icon_indent = 0; } break; case 35: { - block_drop("gameover", 52, 59, 71); + drawSign("gameover", 52, 59, 71); icon_indent = 0; } break; } - if ((1 <= use_icon) && (use_icon <= 33)) { // Standard icon. - geticon(mx, my + ly / 2, use_icon); + if ((1 <= _useIcon) && (_useIcon <= 33)) { // Standard icon. + getIcon(mx, my + ly / 2, _useIcon); icon_indent = 53; } @@ -419,13 +419,13 @@ void Scrolls::drawscroll(func2 gotoit) { // This is one of the oldest procs in t break; case kControlQuestion: { //settextjustify(1, 1); - dix = mx + lx; - diy = my + ly; + _shadowBoxX = mx + lx; + _shadowBoxY = my + ly; _vm->_gyro->_scroll[b].setChar(' ', 0); // byte groi = *_vm->_graphics->getPixel(0, 0); // inc(diy,14); - _vm->_gyro->drawShadowBox(dix - 65, diy - 24, dix - 5, diy - 10, "Yes."); - _vm->_gyro->drawShadowBox(dix + 5, diy - 24, dix + 65, diy - 10, "No."); + _vm->_gyro->drawShadowBox(_shadowBoxX - 65, _shadowBoxY - 24, _shadowBoxX - 5, _shadowBoxY - 10, "Yes."); + _vm->_gyro->drawShadowBox(_shadowBoxX + 5, _shadowBoxY - 24, _shadowBoxX + 65, _shadowBoxY - 10, "No."); } break; } @@ -440,14 +440,14 @@ void Scrolls::drawscroll(func2 gotoit) { // This is one of the oldest procs in t _vm->_gyro->_underScroll = my * 2 + 6; // Multiplying because of the doubled screen height. //setvisualpage(1 - cp); - dingdongbell(); + ringBell(); //my = getpixel(0, 0); _vm->_gyro->_dropsOk = false; dodgem(); (this->*gotoit)(); - undodgem(); + unDodgem(); _vm->_gyro->_dropsOk = true; //setvisualpage(cp); //mousepage(cp); @@ -458,14 +458,14 @@ void Scrolls::drawscroll(func2 gotoit) { // This is one of the oldest procs in t _vm->_gyro->_onCanDoPageSwap = true; // Normality again. CursorMan.showMouse(true); //settextjustify(0, 0); // sink - resetscrolldriver(); + resetScrollDriver(); /*if (_vm->_gyro->mpress > 0) _vm->_gyro->after_the_scroll = true;*/ warning("STUB: Scrolls::drawscroll()"); } -void Scrolls::bubble(func2 gotoit) { +void Scrolls::drawBubble(ScrollsFunctionType gotoit) { int16 xl, yl, my, xw, yw; Common::Point p[3]; // byte *rp1, *rp2; // replace: 1=bubble, 2=pointer @@ -536,7 +536,7 @@ void Scrolls::bubble(func2 gotoit) { } //setvisualpage(1 - cp); - dingdongbell(); + ringBell(); _vm->_gyro->_onCanDoPageSwap = false; CursorMan.showMouse(true); _vm->_gyro->_dropsOk = false; @@ -550,31 +550,31 @@ void Scrolls::bubble(func2 gotoit) { //setvisualpage(cp); CursorMan.showMouse(true); // sink; _vm->_gyro->_onCanDoPageSwap = true; - resetscrolldriver(); + resetScrollDriver(); /*if (_vm->_gyro->mpress > 0) _vm->_gyro->after_the_scroll = true;*/ } -bool Scrolls::ask(Common::String question) { +bool Scrolls::displayQuestion(Common::String question) { warning("STUB: Scrolls::ask()"); return true; } -void Scrolls::resetscroll() { +void Scrolls::resetScroll() { _vm->_gyro->_scrollNum = 1; for (int j = 0; j < 15; j++) if (!_vm->_gyro->_scroll[j].empty()) _vm->_gyro->_scroll[j].clear(); } -void Scrolls::natural() { // Natural state of bubbles +void Scrolls::setBubbleStateNatural() { _vm->_gyro->_talkX = 320; _vm->_gyro->_talkY = 200; _vm->_gyro->_talkBackgroundColor = 8; _vm->_gyro->_talkFontColor = 15; } -Common::String Scrolls::lsd() { +Common::String Scrolls::displayMoney() { Common::String x; if (_vm->_gyro->_dna._money < 12) { // just pence @@ -597,7 +597,7 @@ Common::String Scrolls::lsd() { -void Scrolls::strip(Common::String &q) { +void Scrolls::stripTrailingSpaces(Common::String &q) { while (q[q.size() - 1] == ' ') { q.deleteLastChar(); } @@ -613,10 +613,10 @@ void Scrolls::solidify(byte n) { _vm->_gyro->_scroll[n].deleteLastChar(); } while (_vm->_gyro->_scroll[n][_vm->_gyro->_scroll[n].size() - 1] != ' '); - strip(_vm->_gyro->_scroll[n]); + stripTrailingSpaces(_vm->_gyro->_scroll[n]); } -void Scrolls::calldrivers() { +void Scrolls::callScrollDriver() { uint16 fv; byte nn; bool mouthnext; @@ -627,7 +627,7 @@ void Scrolls::calldrivers() { //nosound(); warning("STUB: Scrolls::calldrivers()"); - state(0); + setReadyLight(0); _vm->_gyro->_scReturn = false; mouthnext = false; call_spriterun = true; @@ -650,11 +650,11 @@ void Scrolls::calldrivers() { for (fv = 0; fv < size; fv++) { if (mouthnext) { if (_vm->_gyro->_buffer[fv] == kControlRegister) - param = 0; + _param = 0; else if (('0' <= _vm->_gyro->_buffer[fv]) && (_vm->_gyro->_buffer[fv] <= '9')) - param = _vm->_gyro->_buffer[fv] - 48; + _param = _vm->_gyro->_buffer[fv] - 48; else if (('A' <= _vm->_gyro->_buffer[fv]) && (_vm->_gyro->_buffer[fv] <= 'Z')) - param = _vm->_gyro->_buffer[fv] - 55; + _param = _vm->_gyro->_buffer[fv] - 55; mouthnext = false; } else { @@ -667,9 +667,9 @@ void Scrolls::calldrivers() { _vm->_lucerna->spriteRun(); call_spriterun = false; - drawscroll(&Avalanche::Scrolls::normscroll); + drawScroll(&Avalanche::Scrolls::scrollModeNormal); - resetscroll(); + resetScroll(); if (_vm->_gyro->_scReturn) return; @@ -686,58 +686,58 @@ void Scrolls::calldrivers() { _vm->_lucerna->spriteRun(); call_spriterun = false; - if (param == 0) - natural(); - else if ((1 <= param) && (param <= 9)) { - if ((param > _vm->_animation->kSpriteNumbMax) || (!_vm->_animation->tr[param - 1].quick)) { // Not valid. + if (_param == 0) + setBubbleStateNatural(); + else if ((1 <= _param) && (_param <= 9)) { + if ((_param > _vm->_animation->kSpriteNumbMax) || (!_vm->_animation->tr[_param - 1].quick)) { // Not valid. _vm->_lucerna->errorLed(); - natural(); + setBubbleStateNatural(); } else - _vm->_animation->tr[param - 1].chatter(); // Normal sprite talking routine. - } else if ((10 <= param) && (param <= 36)) { + _vm->_animation->tr[_param - 1].chatter(); // Normal sprite talking routine. + } else if ((10 <= _param) && (_param <= 36)) { // Quasi-peds. (This routine performs the same // thing with QPs as triptype.chatter does with the // sprites.) - _vm->_gyro->_talkX = _vm->_gyro->_peds[_vm->_gyro->kQuasipeds[param - 10]._whichPed - 1]._x; - _vm->_gyro->_talkY = _vm->_gyro->_peds[_vm->_gyro->kQuasipeds[param - 10]._whichPed - 1]._y; // Position. + _vm->_gyro->_talkX = _vm->_gyro->_peds[_vm->_gyro->kQuasipeds[_param - 10]._whichPed - 1]._x; + _vm->_gyro->_talkY = _vm->_gyro->_peds[_vm->_gyro->kQuasipeds[_param - 10]._whichPed - 1]._y; // Position. - _vm->_gyro->_talkFontColor = _vm->_gyro->kQuasipeds[param - 10]._foregroundColor; - _vm->_gyro->_talkBackgroundColor = _vm->_gyro->kQuasipeds[param - 10]._backgroundColor; // Colors. + _vm->_gyro->_talkFontColor = _vm->_gyro->kQuasipeds[_param - 10]._foregroundColor; + _vm->_gyro->_talkBackgroundColor = _vm->_gyro->kQuasipeds[_param - 10]._backgroundColor; // Colors. } else { _vm->_lucerna->errorLed(); // Not valid. - natural(); + setBubbleStateNatural(); } - bubble(&Avalanche::Scrolls::normscroll); + drawBubble(&Avalanche::Scrolls::scrollModeNormal); - resetscroll(); + resetScroll(); if (_vm->_gyro->_scReturn) return; } break; case kControlNegative: - switch (param) { + switch (_param) { case 1: - display(lsd() + kControlToBuffer); // Insert cash balance. (Recursion) + displayText(displayMoney() + kControlToBuffer); // Insert cash balance. (Recursion) break; case 2: - display(_vm->_acci->kVocabulary[_vm->_acci->kFirstPassword + _vm->_gyro->_dna._passwordNum]._word + kControlToBuffer); + displayText(_vm->_acci->kVocabulary[_vm->_acci->kFirstPassword + _vm->_gyro->_dna._passwordNum]._word + kControlToBuffer); break; case 3: - display(_vm->_gyro->_dna._favouriteDrink + kControlToBuffer); + displayText(_vm->_gyro->_dna._favouriteDrink + kControlToBuffer); break; case 4: - display(_vm->_gyro->_dna._favouriteSong + kControlToBuffer); + displayText(_vm->_gyro->_dna._favouriteSong + kControlToBuffer); break; case 5: - display(_vm->_gyro->_dna._worstPlaceOnEarth + kControlToBuffer); + displayText(_vm->_gyro->_dna._worstPlaceOnEarth + kControlToBuffer); break; case 6: - display(_vm->_gyro->_dna._spareEvening + kControlToBuffer); + displayText(_vm->_gyro->_dna._spareEvening + kControlToBuffer); break; case 9: - display(_vm->_gyro->intToStr(_vm->_gyro->_dna._catacombX) + ',' + _vm->_gyro->intToStr(_vm->_gyro->_dna._catacombY) + kControlToBuffer); + displayText(_vm->_gyro->intToStr(_vm->_gyro->_dna._catacombX) + ',' + _vm->_gyro->intToStr(_vm->_gyro->_dna._catacombY) + kControlToBuffer); break; case 10: switch (_vm->_gyro->_dna._boxContent) { @@ -750,10 +750,10 @@ void Scrolls::calldrivers() { } break; case Acci::kNothing: - display("nothing at all. It's completely empty."); + displayText("nothing at all. It's completely empty."); break; default: - display(_vm->_gyro->getItem(_vm->_gyro->_dna._boxContent) + '.'); + displayText(_vm->_gyro->getItem(_vm->_gyro->_dna._boxContent) + '.'); } break; case 11: @@ -761,14 +761,14 @@ void Scrolls::calldrivers() { for (byte nnn = 0; nnn < kObjectNum; nnn++) { if (_vm->_gyro->_dna._objects[nnn]) { nn++; - display(_vm->_gyro->getItem(nnn) + ", " + kControlToBuffer); + displayText(_vm->_gyro->getItem(nnn) + ", " + kControlToBuffer); } } break; } break; case kControlIcon: - use_icon = param; + _useIcon = _param; break; case kControlNewLine: _vm->_gyro->_scrollNum++; @@ -781,9 +781,9 @@ void Scrolls::calldrivers() { _vm->_gyro->_scrollNum++; _vm->_gyro->_scroll[_vm->_gyro->_scrollNum - 1] = kControlQuestion; - drawscroll(&Avalanche::Scrolls::dialogue); + drawScroll(&Avalanche::Scrolls::scrollModeDialogue); - resetscroll(); + resetScroll(); } break; case kControlRegister: @@ -805,13 +805,13 @@ void Scrolls::calldrivers() { } } -void Scrolls::display(Common::String z) { // TODO: REPLACE BUFFER WITH A STRING!!!!!!!!!! +void Scrolls::displayText(Common::String z) { // TODO: REPLACE BUFFER WITH A STRING!!!!!!!!!! _vm->_gyro->_bufSize = z.size(); memcpy(_vm->_gyro->_buffer, z.c_str(), _vm->_gyro->_bufSize); - calldrivers(); + callScrollDriver(); } -void Scrolls::loadfont() { +void Scrolls::loadFont() { Common::File f; if (!f.open("avalot.fnt")) { @@ -819,7 +819,7 @@ void Scrolls::loadfont() { return; } for (int16 i = 0; i < 256; i++) - f.read(ch[0][i], 16); + f.read(_scrollFonts[0][i], 16); f.close(); if (!f.open("avitalic.fnt")) { @@ -827,7 +827,7 @@ void Scrolls::loadfont() { return; } for (int16 i = 0; i < 256; i++) - f.read(ch[1][i], 16); + f.read(_scrollFonts[1][i], 16); f.close(); if (!f.open("ttsmall.fnt")) { @@ -839,20 +839,16 @@ void Scrolls::loadfont() { f.close(); } -void Scrolls::okay() { - display("Okay!"); -} - -void Scrolls::musical_scroll() { - display(Common::String("To play the harp...") + kControlNewLine + kControlNewLine + "Use these keys:" + + kControlNewLine +void Scrolls::musicalScroll() { + displayText(Common::String("To play the harp...") + kControlNewLine + kControlNewLine + "Use these keys:" + + kControlNewLine + kControlInsertSpaces + "Q W E R T Y U I O P [ ]" + kControlNewLine + kControlNewLine + "Or press Enter to stop playing." + kControlToBuffer); _vm->_lucerna->spriteRun(); - drawscroll(&Avalanche::Scrolls::music_scroll); + drawScroll(&Avalanche::Scrolls::scrollModeMusic); - resetscroll(); + resetScroll(); } } // End of namespace Avalanche diff --git a/engines/avalanche/scrolls2.h b/engines/avalanche/scrolls2.h index 3c1efc92ac..c043e4a30d 100644 --- a/engines/avalanche/scrolls2.h +++ b/engines/avalanche/scrolls2.h @@ -37,115 +37,85 @@ class AvalancheEngine; class Scrolls; -typedef void (Scrolls::*func2)(); +typedef void (Scrolls::*ScrollsFunctionType)(); class Scrolls { public: // Constants to replace the command characters from Pascal. // For more information, see: https://github.com/urukgit/avalot/wiki/Scrolldrivers - - static const char kControlSpeechBubble = 2; // ^B - static const char kControlCenter = 3; // ^C - static const char kControlToBuffer = 4; // ^D - static const char kControlItalic = 6; // ^F - static const char kControlBell = 7; // ^G - static const char kControlBackspace = 8; // ^H - static const char kControlInsertSpaces = 9; // ^I - static const char kControlLeftJustified = 12; // ^L - static const char kControlNewLine = 13; // ^M - static const char kControlParagraph = 16; // ^P - static const char kControlQuestion = 17; // ^Q - static const char kControlRoman = 18; // ^R - static const char kControlRegister = 19; // ^S - static const char kControlNegative = 21; // ^U - static const char kControlIcon = 22; // ^V - - - - bool aboutscroll; // Is this the about box? - - + enum ControlCharacter { + kControlSpeechBubble = 2, // ^B + kControlCenter = 3, // ^C + kControlToBuffer = 4, // ^D + kControlItalic = 6, // ^F + kControlBell = 7, // ^G + kControlBackspace = 8, // ^H + kControlInsertSpaces = 9, // ^I + kControlLeftJustified = 12, // ^L + kControlNewLine = 13, // ^M + kControlParagraph = 16, // ^P + kControlQuestion = 17, // ^Q + kControlRoman = 18, // ^R + kControlRegister = 19, // ^S + kControlNegative = 21, // ^U + kControlIcon = 22 // ^V + }; + + bool _aboutScroll; // Is this the about box? + FontType _scrollFonts[2]; Scrolls(AvalancheEngine *vm); void init(); - - void state(byte x); // Sets "Ready" light to whatever - - void drawscroll(func2 gotoit); // This is one of the oldest funcs in the game. - - void bubble(func2 gotoit); - - void resetscroll(); - - void calldrivers(); - - void display(Common::String z); - - bool ask(Common::String question); - - void natural(); - - Common::String lsd(); - - void okay(); // Says "Okay!" - - void musical_scroll(); - - FontType ch[2]; + void setReadyLight(byte x); // Sets "Ready" light to whatever. + void drawScroll(ScrollsFunctionType modeFunc); + void drawBubble(ScrollsFunctionType modeFunc); + void resetScroll(); + void callScrollDriver(); + void displayText(Common::String text); + bool displayQuestion(Common::String question); + void setBubbleStateNatural(); // Natural state of bubbles + Common::String displayMoney(); + void musicalScroll(); // Practically this one is a mini-game which called when you play the harp in the monastery. private: AvalancheEngine *_vm; - static const int16 roman = 0; - static const int16 italic = 1; - - static const int16 halficonwidth = 19; // Half the width of an icon. - + enum FontStyle { + kFontStyleRoman, + kFontStyleItalic + }; + static const int16 kHalfIconWidth = 19; // Half the width of an icon. - int16 dix, diy; + int16 _shadowBoxX, _shadowBoxY; + byte _currentFont; // Current font + Common::Point _dodgeCoord; + byte _param; // For using arguments code + byte _useIcon; - byte cfont; // Current font + // These 3 functions are always passed as ScrollsFunctionType parameters. + void scrollModeNormal(); + void scrollModeDialogue(); + void scrollModeMusic(); - Common::Point dodgeCoord; - byte param; // For using arguments code - - byte use_icon; - - - - void easteregg(); - - void say(int16 x, int16 y, Common::String z); - - void normscroll(); - - void dialogue(); - - void store_(byte what, TuneType &played); - - bool they_match(TuneType &played); - - void music_scroll(); - - void resetscrolldriver(); - - void dingdongbell(); - - void dodgem(); // This moves the mouse pointer off the scroll so that you can read it. - - void undodgem(); // This is the opposite of Dodgem. It moves the mouse pointer back, IF you haven't moved it in the meantime. - - void geticon(int16 x, int16 y, byte which); - - void block_drop(Common::String fn, int16 xl, int16 yl, int16 y); - - void strip(Common::String &q); // Strip trailing spaces. + // These 2 are used only in musicalScroll(). + void store(byte what, TuneType &played); + bool theyMatch(TuneType &played); + void stripTrailingSpaces(Common::String &str); // Original: strip. void solidify(byte n); // Does the word wrapping. - void loadfont(); + void dodgem(); // This moves the mouse pointer off the scroll so that you can read it. + void unDodgem(); // This is the opposite of Dodgem. It moves the mouse pointer back, IF you haven't moved it in the meantime. + + void easterEgg(); + void say(int16 x, int16 y, Common::String text); + void resetScrollDriver(); + void ringBell(); // Original: dingdongbell + void getIcon(int16 x, int16 y, byte which); + void drawSign(Common::String name, int16 xl, int16 yl, int16 y); // This is for drawing a big "about" or "gameover" picture loaded from a file into an empty scroll. + void loadFont(); }; } // End of namespace Avalanche diff --git a/engines/avalanche/timeout2.cpp b/engines/avalanche/timeout2.cpp index 7ba2136868..69f6cce2ac 100644 --- a/engines/avalanche/timeout2.cpp +++ b/engines/avalanche/timeout2.cpp @@ -250,16 +250,16 @@ void Timeout::urinate() { } void Timeout::toilet2() { - _vm->_scrolls->display("That's better!"); + _vm->_scrolls->displayText("That's better!"); } void Timeout::bang() { - _vm->_scrolls->display(Common::String(_vm->_scrolls->kControlItalic) + "< BANG! >"); + _vm->_scrolls->displayText(Common::String(_vm->_scrolls->kControlItalic) + "< BANG! >"); set_up_timer(30, procbang2, reason_explosion); } void Timeout::bang2() { - _vm->_scrolls->display("Hmm... sounds like Spludwick's up to something..."); + _vm->_scrolls->displayText("Hmm... sounds like Spludwick's up to something..."); } void Timeout::stairs() { @@ -352,7 +352,7 @@ void Timeout::after_the_shootemup() { _vm->_lucerna->refreshObjectList(); // Same as the added line above: TODO: Remove it later!!! - _vm->_scrolls->display(Common::String("P.S.: There should have been the mini-game called \"shoot em' up\", but I haven't implemented it yet: you get the crossbow automatically.") + _vm->_scrolls->displayText(Common::String("P.S.: There should have been the mini-game called \"shoot em' up\", but I haven't implemented it yet: you get the crossbow automatically.") + _vm->_scrolls->kControlNewLine + _vm->_scrolls->kControlNewLine + "Peter (uruk)"); #if 0 @@ -475,7 +475,7 @@ void Timeout::jump() { && (_vm->_animation->infield(3))) { // Beside the wall // Grab the arrow! if (_vm->_gyro->_dna._carryNum >= kCarryLimit) - _vm->_scrolls->display("You fail to grab it, because your hands are full."); + _vm->_scrolls->displayText("You fail to grab it, because your hands are full."); else { _vm->_celer->drawBackgroundSprite(-1, -1, 2); _vm->_gyro->_dna._arrowInTheDoor = false; // You've got it. @@ -537,7 +537,7 @@ void Timeout::fall_down_oubliette() { void Timeout::meet_avaroid() { if (_vm->_gyro->_dna._metAvaroid) { - _vm->_scrolls->display(Common::String("You can't expect to be ") + _vm->_scrolls->kControlItalic + "that" + _vm->_scrolls->displayText(Common::String("You can't expect to be ") + _vm->_scrolls->kControlItalic + "that" + _vm->_scrolls->kControlRoman + " lucky twice in a row!"); _vm->_lucerna->gameOver(); } else { @@ -605,7 +605,7 @@ void Timeout::avvy_sit_down() { } void Timeout::ghost_room_phew() { - _vm->_scrolls->display(Common::String(_vm->_scrolls->kControlItalic) + "PHEW!" + _vm->_scrolls->kControlRoman + _vm->_scrolls->displayText(Common::String(_vm->_scrolls->kControlItalic) + "PHEW!" + _vm->_scrolls->kControlRoman + " You're glad to get out of " + _vm->_scrolls->kControlItalic + "there!"); } @@ -631,7 +631,7 @@ void Timeout::winning() { // TODO: To be implemented with Pingo::winningPic(). _vm->_lucerna->callVerb(_vm->_acci->kVerbCodeScore); - _vm->_scrolls->display(" T H E E N D "); + _vm->_scrolls->displayText(" T H E E N D "); _vm->_gyro->_letMeOut = true; } @@ -646,7 +646,7 @@ void Timeout::avalot_falls() { for (byte i = 0; i < 6; i++) toDisplay += _vm->_scrolls->kControlInsertSpaces; toDisplay = toDisplay + _vm->_scrolls->kControlRegister + 'Z' + _vm->_scrolls->kControlIcon; - _vm->_scrolls->display(toDisplay); + _vm->_scrolls->displayText(toDisplay); } } diff --git a/engines/avalanche/visa2.cpp b/engines/avalanche/visa2.cpp index f3288ddd76..c657a4a87a 100644 --- a/engines/avalanche/visa2.cpp +++ b/engines/avalanche/visa2.cpp @@ -83,7 +83,7 @@ void Visa::dixi(char block, byte point, bool report, bool bubbling) { if (report) { Common::String todisplay; todisplay.format("%cError accessing scroll %c%s", 7, block, _vm->_gyro->intToStr(point).c_str()); - _vm->_scrolls->display(todisplay); + _vm->_scrolls->displayText(todisplay); } return; } @@ -101,7 +101,7 @@ void Visa::dixi(char block, byte point, bool report, bool bubbling) { if (bubbling) do_the_bubble(); - _vm->_scrolls->calldrivers(); + _vm->_scrolls->callScrollDriver(); } void Visa::speech(byte who, byte subject) { @@ -145,7 +145,7 @@ void Visa::speech(byte who, byte subject) { unskrimble(); do_the_bubble(); - _vm->_scrolls->calldrivers(); + _vm->_scrolls->callScrollDriver(); went_ok = true; } @@ -177,7 +177,7 @@ void Visa::talkto(byte whom) { switch (_vm->_gyro->_dna._givenToSpludwick) { case 1: // Falltrough is intended. case 2:{ - _vm->_scrolls->display(Common::String("Can you get me ") + _vm->_gyro->getItem(_vm->_gyro->kSpludwicksOrder[_vm->_gyro->_dna._givenToSpludwick]) + ", please?" + _vm->_scrolls->kControlRegister + '2' + _vm->_scrolls->kControlSpeechBubble); + _vm->_scrolls->displayText(Common::String("Can you get me ") + _vm->_gyro->getItem(_vm->_gyro->kSpludwicksOrder[_vm->_gyro->_dna._givenToSpludwick]) + ", please?" + _vm->_scrolls->kControlRegister + '2' + _vm->_scrolls->kControlSpeechBubble); return; } break; @@ -254,13 +254,13 @@ void Visa::talkto(byte whom) { no_matches = true; for (fv = 0; fv <= _vm->_animation->kSpriteNumbMax; fv++) if (_vm->_animation->tr[fv]._stat.accinum == whom) { - _vm->_scrolls->display(Common::String(_vm->_scrolls->kControlRegister) + (fv + 49) + _vm->_scrolls->kControlToBuffer); + _vm->_scrolls->displayText(Common::String(_vm->_scrolls->kControlRegister) + (fv + 49) + _vm->_scrolls->kControlToBuffer); no_matches = false; break; } if (no_matches) - _vm->_scrolls->display(Common::String(_vm->_scrolls->kControlRegister) + _vm->_scrolls->kControlRegister + _vm->_scrolls->kControlToBuffer); + _vm->_scrolls->displayText(Common::String(_vm->_scrolls->kControlRegister) + _vm->_scrolls->kControlRegister + _vm->_scrolls->kControlToBuffer); speech(whom, _vm->_gyro->_subjectNum); |