aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/avalanche/acci2.cpp84
-rw-r--r--engines/avalanche/avalanche.cpp8
-rw-r--r--engines/avalanche/avalot.cpp22
-rw-r--r--engines/avalanche/dropdown2.cpp6
-rw-r--r--engines/avalanche/enid2.cpp4
-rw-r--r--engines/avalanche/gyro2.cpp13
-rw-r--r--engines/avalanche/lucerna2.cpp536
-rw-r--r--engines/avalanche/lucerna2.h119
-rw-r--r--engines/avalanche/scrolls2.cpp18
-rw-r--r--engines/avalanche/timeout2.cpp20
-rw-r--r--engines/avalanche/trip6.cpp18
-rw-r--r--engines/avalanche/visa2.cpp8
12 files changed, 349 insertions, 507 deletions
diff --git a/engines/avalanche/acci2.cpp b/engines/avalanche/acci2.cpp
index 830087361b..0712fd05cd 100644
--- a/engines/avalanche/acci2.cpp
+++ b/engines/avalanche/acci2.cpp
@@ -620,7 +620,7 @@ void Acci::parse() {
void Acci::examineObject() {
if (_thing != _vm->_gyro->_thinks)
- _vm->_lucerna->thinkabout(_thing, _vm->_gyro->kThing);
+ _vm->_lucerna->thinkAbout(_thing, Gyro::kThing);
switch (_thing) {
case Gyro::kObjectWine :
switch (_vm->_gyro->_dna._wineState) {// 4 is perfect wine. 0 is not holding the wine.
@@ -662,7 +662,7 @@ bool Acci::isPersonHere() { // Person equivalent of "holding".
void Acci::exampers() {
if (isPersonHere()) {
if (_thing != _vm->_gyro->_thinks)
- _vm->_lucerna->thinkabout(_person, _vm->_gyro->kPerson);
+ _vm->_lucerna->thinkAbout(_person, Gyro::kPerson);
_person -= 149;
switch (_person) { // Special cases
case 11:
@@ -777,7 +777,7 @@ void Acci::swallow() { // Eat something.
_vm->_pingo->wobble();
_vm->_visa->dixi('U', 2);
_vm->_gyro->_dna._objects[_vm->_gyro->kObjectWine - 1] = false;
- _vm->_lucerna->objectlist();
+ _vm->_lucerna->refreshObjectList();
drink();
break;
case 2:
@@ -789,7 +789,7 @@ void Acci::swallow() { // Eat something.
case Gyro::kObjectPotion:
_vm->_gyro->setBackgroundColor(4);
_vm->_visa->dixi('U', 3);
- _vm->_lucerna->gameover();
+ _vm->_lucerna->gameOver();
_vm->_gyro->setBackgroundColor(0);
break;
case Gyro::kObjectInk:
@@ -800,7 +800,7 @@ void Acci::swallow() { // Eat something.
break;
case Gyro::kObjectMushroom:
_vm->_visa->dixi('U', 6);
- _vm->_lucerna->gameover();
+ _vm->_lucerna->gameOver();
break;
case Gyro::kObjectOnion:
if (_vm->_gyro->_dna._rottenOnion)
@@ -808,7 +808,7 @@ void Acci::swallow() { // Eat something.
else {
_vm->_visa->dixi('U', 8);
_vm->_gyro->_dna._objects[_vm->_gyro->kObjectOnion - 1] = false;
- _vm->_lucerna->objectlist();
+ _vm->_lucerna->refreshObjectList();
}
break;
default:
@@ -981,7 +981,7 @@ void Acci::putProc() {
+ _vm->_scrolls->kControlRoman + " is a bit too strong for your tastes!");
else { // Put onion into vinegar! Yes!
_vm->_gyro->_dna._onionInVinegar = true;
- _vm->_lucerna->points(7);
+ _vm->_lucerna->incScore(7);
_vm->_visa->dixi('u', 9);
}
}
@@ -1015,7 +1015,7 @@ void Acci::putProc() {
_vm->_gyro->_dna._boxContent = _thing;
_vm->_gyro->_dna._objects[_thing - 1] = false;
- _vm->_lucerna->objectlist();
+ _vm->_lucerna->refreshObjectList();
_vm->_scrolls->display("OK, it's in the box.");
openBox(false); // Shut box.
@@ -1064,26 +1064,26 @@ bool Acci::giveToSpludwick() {
_vm->_gyro->_dna._givenToSpludwick++;
_vm->_visa->dixi('q', 20);
goToCauldron();
- _vm->_lucerna->points(3);
+ _vm->_lucerna->incScore(3);
}
- _vm->_lucerna->objectlist();
+ _vm->_lucerna->refreshObjectList();
break;
case Gyro::kObjectInk:
_vm->_gyro->_dna._objects[_vm->_gyro->kObjectInk - 1] = false;
- _vm->_lucerna->objectlist();
+ _vm->_lucerna->refreshObjectList();
_vm->_gyro->_dna._givenToSpludwick++;
_vm->_visa->dixi('q', 24);
goToCauldron();
- _vm->_lucerna->points(3);
+ _vm->_lucerna->incScore(3);
break;
case Gyro::kObjectMushroom:
_vm->_gyro->_dna._objects[_vm->_gyro->kObjectMushroom - 1] = false;
_vm->_visa->dixi('q', 25);
- _vm->_lucerna->points(5);
+ _vm->_lucerna->incScore(5);
_vm->_gyro->_dna._givenToSpludwick++;
goToCauldron();
_vm->_gyro->_dna._objects[_vm->_gyro->kObjectPotion - 1] = true;
- _vm->_lucerna->objectlist();
+ _vm->_lucerna->refreshObjectList();
break;
default:
return true;
@@ -1099,7 +1099,7 @@ void Acci::drink() {
_vm->_gyro->_dna._teetotal = true;
_vm->_gyro->_dna._avvyIsAwake = false;
_vm->_gyro->_dna._avvyInBed = true;
- _vm->_lucerna->objectlist();
+ _vm->_lucerna->refreshObjectList();
_vm->_lucerna->dusk();
_vm->_gyro->hangAroundForAWhile();
_vm->_trip->fliproom(1, 1);
@@ -1141,7 +1141,7 @@ void Acci::standUp() {
_vm->_trip->apped(1, 2);
_vm->_gyro->_dna._direction = _vm->_gyro->kDirectionLeft;
_vm->_celer->drawBackgroundSprite(-1, -1, 4); // Picture of empty pillow.
- _vm->_lucerna->points(1);
+ _vm->_lucerna->incScore(1);
_vm->_gyro->_dna._avvyInBed = false;
_vm->_timeout->lose_timer(_vm->_timeout->reason_arkata_shouts);
} else
@@ -1177,7 +1177,7 @@ void Acci::getProc(char thing) {
_vm->_celer->drawBackgroundSprite(-1, -1, 5);
_vm->_scrolls->display("OK, I've got it.");
_vm->_gyro->_dna._objects[thing - 1] = true;
- _vm->_lucerna->objectlist();
+ _vm->_lucerna->refreshObjectList();
_vm->_gyro->_dna._boxContent = kNothing;
_vm->_celer->drawBackgroundSprite(-1, -1, 6);
} else
@@ -1197,7 +1197,7 @@ void Acci::getProc(char thing) {
_vm->_trip->call_special(3); // Zap!
_vm->_gyro->_dna._takenPen = true;
_vm->_gyro->_dna._objects[_vm->_gyro->kObjectPen - 1] = true;
- _vm->_lucerna->objectlist();
+ _vm->_lucerna->refreshObjectList();
_vm->_scrolls->display("Taken.");
}
} else if (_vm->_gyro->_dna._standingOnDais)
@@ -1219,8 +1219,8 @@ void Acci::getProc(char thing) {
_vm->_gyro->_dna._mushroomGrowing = false;
_vm->_gyro->_dna._takenMushroom = true;
_vm->_gyro->_dna._objects[_vm->_gyro->kObjectMushroom - 1] = true;
- _vm->_lucerna->objectlist();
- _vm->_lucerna->points(3);
+ _vm->_lucerna->refreshObjectList();
+ _vm->_lucerna->incScore(3);
} else
_vm->_visa->dixi('q', 57);
break;
@@ -1239,7 +1239,7 @@ void Acci::giveGeidaTheLute() {
return;
}
_vm->_gyro->_dna._objects[_vm->_gyro->kObjectLute - 1] = false;
- _vm->_lucerna->objectlist();
+ _vm->_lucerna->refreshObjectList();
_vm->_visa->dixi('q', 64); // She plays it.
_vm->_timeout->set_up_timer(1, _vm->_timeout->procgive_lute_to_geida, _vm->_timeout->reason_geida_sings);
@@ -1422,7 +1422,7 @@ void Acci::doThat() {
case Gyro::kPeopleIbythneth:
if (_thing == _vm->_gyro->kObjectBadge) {
_vm->_visa->dixi('q', 32); // Thanks! Wow!
- _vm->_lucerna->points(3);
+ _vm->_lucerna->incScore(3);
_vm->_gyro->_dna._objects[_vm->_gyro->kObjectBadge - 1] = false;
_vm->_gyro->_dna._objects[_vm->_gyro->kObjectHabit - 1] = true;
_vm->_gyro->_dna._givenBadgeToIby = true;
@@ -1438,8 +1438,8 @@ void Acci::doThat() {
_vm->_visa->dixi('q', 54);
_vm->_gyro->_dna._objects[_vm->_gyro->kObjectInk - 1] = true;
_vm->_gyro->_dna._givenPenToAyles = true;
- _vm->_lucerna->objectlist();
- _vm->_lucerna->points(2);
+ _vm->_lucerna->refreshObjectList();
+ _vm->_lucerna->incScore(2);
} else
heyThanks();
} else
@@ -1450,9 +1450,9 @@ void Acci::doThat() {
case Gyro::kObjectPotion:
_vm->_gyro->_dna._objects[_vm->_gyro->kObjectPotion - 1] = false;
_vm->_visa->dixi('u', 16); // She drinks it.
- _vm->_lucerna->points(2);
+ _vm->_lucerna->incScore(2);
_vm->_gyro->_dna._givenPotionToGeida = true;
- _vm->_lucerna->objectlist();
+ _vm->_lucerna->refreshObjectList();
break;
case Gyro::kObjectLute:
giveGeidaTheLute();
@@ -1478,7 +1478,7 @@ void Acci::doThat() {
}
}
}
- _vm->_lucerna->objectlist(); // Just in case...
+ _vm->_lucerna->refreshObjectList(); // Just in case...
}
break;
@@ -1539,7 +1539,7 @@ void Acci::doThat() {
else if (_vm->_gyro->_dna._avvysInTheCupboard) {
_vm->_scrolls->display(Common::String("You take off ") + _vm->_gyro->getItem(_vm->_gyro->_dna._wearing) + '.');
_vm->_gyro->_dna._wearing = kNothing;
- _vm->_lucerna->objectlist();
+ _vm->_lucerna->refreshObjectList();
} else
_vm->_scrolls->display("Hadn't you better find somewhere more private, Avvy?");
break;
@@ -1561,7 +1561,7 @@ void Acci::doThat() {
} else
_vm->_gyro->_dna._wearing = _thing;
- _vm->_lucerna->objectlist();
+ _vm->_lucerna->refreshObjectList();
byte i;
if (_thing == _vm->_gyro->kObjectHabit)
@@ -1608,13 +1608,13 @@ void Acci::doThat() {
// You won - strange!
_vm->_visa->dixi('Q', 7); // You won! Give us a lute!
_vm->_gyro->_dna._objects[_vm->_gyro->kObjectLute - 1] = true;
- _vm->_lucerna->objectlist();
+ _vm->_lucerna->refreshObjectList();
_vm->_gyro->_dna._wonNim = true;
_vm->_celer->drawBackgroundSprite(-1, -1, 1); // Show the settle with no lute on it.
- _vm->_lucerna->points(7); // 7 points for winning!
+ _vm->_lucerna->incScore(7); // 7 points for winning!
if (_vm->_gyro->_dna._playedNim == 1)
- _vm->_lucerna->points(3); // 3 points for playing your 1st game.
+ _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.")
@@ -1729,7 +1729,7 @@ void Acci::doThat() {
_vm->_pingo->zonk();
_vm->_scrolls->display(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();
+ _vm->_lucerna->gameOver();
}
_vm->_gyro->_dna._sworeNum++;
break;
@@ -1761,7 +1761,7 @@ void Acci::doThat() {
}
if (_vm->_gyro->_dna._alcoholLevel == 0)
- _vm->_lucerna->points(3);
+ _vm->_lucerna->incScore(3);
_vm->_celer->drawBackgroundSprite(-1, -1, 12);
_vm->_scrolls->display(booze[_thing - 51] + ", please." + _vm->_scrolls->kControlRegister + '1' + _vm->_scrolls->kControlSpeechBubble);
@@ -1791,7 +1791,7 @@ void Acci::doThat() {
_vm->_celer->drawBackgroundSprite(-1, -1, 12);
_vm->_scrolls->display(Common::String("Wine, please.") + _vm->_scrolls->kControlRegister + '1' + _vm->_scrolls->kControlSpeechBubble);
if (_vm->_gyro->_dna._alcoholLevel == 0)
- _vm->_lucerna->points(3);
+ _vm->_lucerna->incScore(3);
_vm->_celer->drawBackgroundSprite(-1, -1, 10);
_vm->_gyro->_dna._malagauche = 177;
@@ -1815,11 +1815,11 @@ void Acci::doThat() {
_vm->_visa->dixi('D', 11);
else {
_vm->_visa->dixi('D', 9);
- _vm->_lucerna->points(3);
+ _vm->_lucerna->incScore(3);
}
_vm->_gyro->decreaseMoney(3); // It costs thruppence.
_vm->_gyro->_dna._objects[_vm->_gyro->kObjectOnion - 1] = true;
- _vm->_lucerna->objectlist();
+ _vm->_lucerna->refreshObjectList();
_vm->_gyro->_dna._boughtOnion = true;
_vm->_gyro->_dna._rottenOnion = false; // It's OK when it leaves the stall!
_vm->_gyro->_dna._onionInVinegar = false;
@@ -1858,9 +1858,9 @@ void Acci::doThat() {
_vm->_gyro->_dna._cwytalotGone = true;
_vm->_gyro->_dna._objects[_vm->_gyro->kObjectBolt - 1] = false;
_vm->_gyro->_dna._objects[_vm->_gyro->kObjectCrossbow - 1] = false;
- _vm->_lucerna->objectlist();
+ _vm->_lucerna->refreshObjectList();
_vm->_gyro->_magics[11]._operation = _vm->_gyro->kMagicNothing;
- _vm->_lucerna->points(7);
+ _vm->_lucerna->incScore(7);
_vm->_trip->tr[1].walkto(2);
_vm->_trip->tr[1].vanishifstill = true;
_vm->_trip->tr[1].call_eachstep = false;
@@ -1890,7 +1890,7 @@ void Acci::doThat() {
if (_vm->_gyro->_dna._drawbridgeOpen != 0)
_vm->_scrolls->display("Contrary to your expectations, the drawbridge fails to close again.");
else {
- _vm->_lucerna->points(4);
+ _vm->_lucerna->incScore(4);
_vm->_scrolls->display("The drawbridge opens!");
_vm->_timeout->set_up_timer(7, _vm->_timeout->procopen_drawbridge, _vm->_timeout->reason_drawbridgefalls);
_vm->_gyro->_dna._drawbridgeOpen = 1;
@@ -1903,7 +1903,7 @@ void Acci::doThat() {
_vm->_enid->dir(_realWords[1]);
break;
case kVerbCodeDie:
- _vm->_lucerna->gameover();
+ _vm->_lucerna->gameOver();
break;
case kVerbCodeScore:
_vm->_scrolls->display(Common::String("Your score is ") + _vm->_gyro->intToStr(_vm->_gyro->_dna._score) + ',' + _vm->_scrolls->kControlCenter
@@ -1959,7 +1959,7 @@ void Acci::doThat() {
case 0:
if (!_vm->_gyro->_dna._avvyIsAwake) {
_vm->_gyro->_dna._avvyIsAwake = true;
- _vm->_lucerna->points(1);
+ _vm->_lucerna->incScore(1);
_vm->_gyro->_dna._avvyInBed = true;
_vm->_celer->drawBackgroundSprite(-1, -1, 3); // Picture of Avvy, awake in bed.
if (_vm->_gyro->_dna._teetotal)
diff --git a/engines/avalanche/avalanche.cpp b/engines/avalanche/avalanche.cpp
index 4e3bbba319..fbdeb2583b 100644
--- a/engines/avalanche/avalanche.cpp
+++ b/engines/avalanche/avalanche.cpp
@@ -460,7 +460,7 @@ bool AvalancheEngine::loadGame(const int16 slot) {
_celer->forgetBackgroundSprites();
- _lucerna->minor_redraw();
+ _lucerna->minorRedraw();
_dropdown->setupMenu();
@@ -468,11 +468,11 @@ bool AvalancheEngine::loadGame(const int16 slot) {
_gyro->_alive = true;
- _lucerna->objectlist();
+ _lucerna->refreshObjectList();
_trip->newspeed();
- _lucerna->showrw();
+ _lucerna->drawDirection();
_gyro->_onToolbar = false;
_trip->trippancy_link();
@@ -720,7 +720,7 @@ Common::Error AvalancheEngine::run() {
// break;
//}
- } while (false);
+ } while (!shouldQuit());
diff --git a/engines/avalanche/avalot.cpp b/engines/avalanche/avalot.cpp
index a84d67a7af..ff8a5aa8bf 100644
--- a/engines/avalanche/avalot.cpp
+++ b/engines/avalanche/avalot.cpp
@@ -111,7 +111,7 @@ void Avalot::handleKeyDown(Common::Event &event) {
case Common::KEYCODE_KP5:
if (_vm->_gyro->_alive && _vm->_gyro->_dna._avvyIsAwake) {
_vm->_trip->handleMoveKey(event); // Fallthroughs are intended.
- _vm->_lucerna->showrw();
+ _vm->_lucerna->drawDirection();
return;
}
case Common::KEYCODE_BACKSPACE:
@@ -124,7 +124,7 @@ void Avalot::handleKeyDown(Common::Event &event) {
break;
}
- _vm->_lucerna->showrw();
+ _vm->_lucerna->drawDirection();
}
@@ -137,11 +137,11 @@ void Avalot::setup() {
_vm->_gyro->_holdTheDawn = true;
_vm->_lucerna->dusk();
_vm->_gyro->_currentMouse = 177;
- _vm->_lucerna->mouse_init(); // on;
+ _vm->_gyro->setMousePointerWait();
_vm->_gyro->_dropsOk = true;
_vm->_gyro->_mouseText = "";
_vm->_gyro->_dropdownActive = false;
- _vm->_lucerna->load_digits();
+ _vm->_lucerna->loadDigits();
_vm->_gyro->_cheat = false;
_vm->_gyro->_cp = 0;
_vm->_parser->_inputTextPos = 0;
@@ -151,7 +151,7 @@ void Avalot::setup() {
// TSkellern = 0; Replace with a more local variable sometime
_vm->_gyro->_dna._direction = _vm->_gyro->kDirectionStopped;
_vm->_gyro->_enidFilename = ""; // Undefined.
- _vm->_lucerna->toolbar();
+ _vm->_lucerna->drawToolbar();
_vm->_scrolls->state(2);
for (byte i = 0; i < 3; i++)
_vm->_gyro->_scoreToDisplay[i] = -1; // Impossible digits.
@@ -171,7 +171,7 @@ void Avalot::setup() {
int16 loadSlot = Common::ConfigManager::instance().getInt("save_slot");
if (loadSlot >= 0) {
_vm->_gyro->_thinks = 2; // You always have money.
- _vm->_lucerna->thinkabout(_vm->_gyro->kObjectMoney, _vm->_gyro->kThing);
+ _vm->_lucerna->thinkAbout(_vm->_gyro->kObjectMoney, Gyro::kThing);
_vm->loadGame(loadSlot);
} else {
@@ -179,8 +179,8 @@ void Avalot::setup() {
_vm->_gyro->newGame(); // No game was requested- load the default.
_vm->_gyro->_soundFx = ! _vm->_gyro->_soundFx;
- _vm->_lucerna->fxtoggle();
- _vm->_lucerna->thinkabout(_vm->_gyro->kObjectMoney, _vm->_gyro->kThing);
+ _vm->_lucerna->fxToggle();
+ _vm->_lucerna->thinkAbout(_vm->_gyro->kObjectMoney, Gyro::kThing);
_vm->_visa->dixi('q', 83); // Info on the game, etc.
}
@@ -198,13 +198,13 @@ void Avalot::run(Common::String arg) {
- _vm->_lucerna->clock_lucerna();
+ _vm->_lucerna->updateClock();
_vm->_dropdown->updateMenu();
_vm->_gyro->forceNumlock();
_vm->_trip->get_back_loretta();
_vm->_celer->updateBackgroundSprites();
_vm->_trip->trippancy_link();
- _vm->_lucerna->checkclick();
+ _vm->_lucerna->checkClick();
_vm->_timeout->one_tick();
@@ -227,7 +227,7 @@ void Avalot::run(Common::String arg) {
uint32 delay = _vm->_system->getMillis() - beginLoop;
if (delay <= 55)
_vm->_system->delayMillis(55 - delay); // Replaces _vm->_gyro->slowdown(); 55 comes from 18.2 Hz (B Flight).
- } while (! _vm->_gyro->_letMeOut);
+ } while (!_vm->_gyro->_letMeOut && !_vm->shouldQuit());
//if (logging)
// close(logfile);
diff --git a/engines/avalanche/dropdown2.cpp b/engines/avalanche/dropdown2.cpp
index 1d3a0235d4..b0b3b2fd51 100644
--- a/engines/avalanche/dropdown2.cpp
+++ b/engines/avalanche/dropdown2.cpp
@@ -562,7 +562,7 @@ void Dropdown::runMenuGame() {
_vm->_lucerna->callVerb(_vm->_acci->kVerbCodeBoss);
break;
case 2:
- _vm->_lucerna->major_redraw();
+ _vm->_lucerna->majorRedraw();
break;
case 3:
_vm->_lucerna->callVerb(_vm->_acci->kVerbCodeScore);
@@ -641,11 +641,11 @@ void Dropdown::runMenuAction() {
}
void Dropdown::runMenuObjects() {
- _vm->_lucerna->thinkabout(_vm->_gyro->_objectList[_activeMenuItem._choiceNum + 1], _vm->_gyro->kThing);
+ _vm->_lucerna->thinkAbout(_vm->_gyro->_objectList[_activeMenuItem._choiceNum + 1], Gyro::kThing);
}
void Dropdown::runMenuPeople() {
- _vm->_lucerna->thinkabout(people[_activeMenuItem._choiceNum], _vm->_gyro->kPerson);
+ _vm->_lucerna->thinkAbout(people[_activeMenuItem._choiceNum], Gyro::kPerson);
_vm->_gyro->_lastPerson = people[_activeMenuItem._choiceNum];
}
diff --git a/engines/avalanche/enid2.cpp b/engines/avalanche/enid2.cpp
index 7cf4075d1a..d942177391 100644
--- a/engines/avalanche/enid2.cpp
+++ b/engines/avalanche/enid2.cpp
@@ -272,13 +272,13 @@ void Enid::ednaReload() {
_vm->_gyro->_seeScroll = true; // This prevents display of the new sprites before the
// new picture is loaded.
- _vm->_lucerna->major_redraw();
+ _vm->_lucerna->majorRedraw();
_vm->_gyro->_whereIs[_vm->_gyro->kPeopleAvalot - 150] = _vm->_gyro->_dna._room;
_vm->_gyro->_alive = true;
- _vm->_lucerna->objectlist();
+ _vm->_lucerna->refreshObjectList();
if (_vm->_gyro->_holdTheDawn) {
_vm->_gyro->_holdTheDawn = false;
diff --git a/engines/avalanche/gyro2.cpp b/engines/avalanche/gyro2.cpp
index 879cc15714..cc624172d1 100644
--- a/engines/avalanche/gyro2.cpp
+++ b/engines/avalanche/gyro2.cpp
@@ -240,7 +240,6 @@ void Gyro::newGame() {
memset(&_vm->_gyro->_dna, 0, sizeof(DnaType));
_vm->_scrolls->natural();
- _vm->_lucerna->mousepage(0);
_dna._spareEvening = "answer a questionnaire";
_dna._favouriteDrink = "beer";
@@ -254,7 +253,7 @@ void Gyro::newGame() {
_thinkThing = true;
_thinks = 2;
- _vm->_lucerna->objectlist();
+ _vm->_lucerna->refreshObjectList();
_onToolbar = false;
_seeScroll = false;
@@ -276,12 +275,12 @@ void Gyro::newGame() {
_vm->_trip->getback();
}
- _vm->_lucerna->enterroom(1, 1);
+ _vm->_lucerna->enterRoom(1, 1);
_vm->_trip->new_game_for_trippancy();
- _vm->_lucerna->showscore();
+ _vm->_lucerna->drawScore();
_vm->_dropdown->setupMenu();
- _vm->_lucerna->clock_lucerna();
- _vm->_lucerna->sprite_run();
+ _vm->_lucerna->updateClock();
+ _vm->_lucerna->spriteRun();
}
void Gyro::click() {
@@ -309,7 +308,7 @@ bool Gyro::decreaseMoney(uint16 howmuchby) {
_dna._money -= howmuchby;
if (_dna._money < 0) {
_vm->_visa->dixi('Q', 2); // "You are now denariusless!"
- _vm->_lucerna->gameover();
+ _vm->_lucerna->gameOver();
return false;
} else
return true;
diff --git a/engines/avalanche/lucerna2.cpp b/engines/avalanche/lucerna2.cpp
index a2df1fae24..76b2836c0f 100644
--- a/engines/avalanche/lucerna2.cpp
+++ b/engines/avalanche/lucerna2.cpp
@@ -47,13 +47,9 @@
#include "graphics/palette.h"
-//#include "dropdown.h"
-//#include "basher.h"
-
-
namespace Avalanche {
-Lucerna::Lucerna(AvalancheEngine *vm) : fxhidden(false) {
+Lucerna::Lucerna(AvalancheEngine *vm) : _fxHidden(false) {
_vm = vm;
}
@@ -99,19 +95,17 @@ void Lucerna::callVerb(byte id) {
}
}
-void Lucerna::draw_also_lines() {
- byte ff;
-
+void Lucerna::drawAlsoLines() {
CursorMan.showMouse(false);
_vm->_graphics->_magics.fillRect(Common::Rect(0, 0, 640, 200), 0);
_vm->_graphics->_magics.frameRect(Common::Rect(0, 45, 640, 161), 15);
- for (ff = 0; ff < _vm->_gyro->_lineNum; ff++) {
+ for (byte i = 0; i < _vm->_gyro->_lineNum; i++) {
// We had to check if the lines are within the borders of the screen.
- if ((_vm->_gyro->_lines[ff]._x1 >= 0) && (_vm->_gyro->_lines[ff]._x1 < _vm->_graphics->kScreenWidth) && (_vm->_gyro->_lines[ff]._y1 >= 0) && (_vm->_gyro->_lines[ff]._y1 < _vm->_graphics->kScreenHeight)
- && (_vm->_gyro->_lines[ff]._x2 >= 0) && (_vm->_gyro->_lines[ff]._x2 < _vm->_graphics->kScreenWidth) && (_vm->_gyro->_lines[ff]._y2 >= 0) && (_vm->_gyro->_lines[ff]._y2 < _vm->_graphics->kScreenHeight))
- _vm->_graphics->_magics.drawLine(_vm->_gyro->_lines[ff]._x1, _vm->_gyro->_lines[ff]._y1, _vm->_gyro->_lines[ff]._x2, _vm->_gyro->_lines[ff]._y2, _vm->_gyro->_lines[ff]._color);
+ if ((_vm->_gyro->_lines[i]._x1 >= 0) && (_vm->_gyro->_lines[i]._x1 < _vm->_graphics->kScreenWidth) && (_vm->_gyro->_lines[i]._y1 >= 0) && (_vm->_gyro->_lines[i]._y1 < _vm->_graphics->kScreenHeight)
+ && (_vm->_gyro->_lines[i]._x2 >= 0) && (_vm->_gyro->_lines[i]._x2 < _vm->_graphics->kScreenWidth) && (_vm->_gyro->_lines[i]._y2 >= 0) && (_vm->_gyro->_lines[i]._y2 < _vm->_graphics->kScreenHeight))
+ _vm->_graphics->_magics.drawLine(_vm->_gyro->_lines[i]._x1, _vm->_gyro->_lines[i]._y1, _vm->_gyro->_lines[i]._x2, _vm->_gyro->_lines[i]._y2, _vm->_gyro->_lines[i]._color);
}
CursorMan.showMouse(true);
@@ -121,173 +115,160 @@ void Lucerna::draw_also_lines() {
// nextstring, scram1 and unscrable are only used in load_also
-Common::String Lucerna::nextstring() {
+Common::String Lucerna::readAlsoStringFromFile() {
Common::String str;
- byte length = f.readByte();
+ byte length = file.readByte();
for (int i = 0; i < length; i++)
- str += f.readByte();
+ str += file.readByte();
return str;
}
-void Lucerna::scram1(Common::String &x) {
- for (uint fz = 0; fz < x.size(); fz++)
- x.setChar(x[fz] ^ 177, fz);
+void Lucerna::scram(Common::String &str) {
+ for (uint i = 0; i < str.size(); i++)
+ str.setChar(str[i] ^ 177, i);
}
-void Lucerna::unscramble() {
- for (byte fv = 0; fv < 31; fv++)
- for (byte ff = 0; ff < 2; ff++)
- if (_vm->_gyro->_also[fv][ff] != 0)
- scram1(*_vm->_gyro->_also[fv][ff]);
- scram1(_vm->_gyro->_listen);
- scram1(_vm->_gyro->_flags);
+void Lucerna::unScramble() {
+ for (byte i = 0; i < 31; i++)
+ for (byte j = 0; j < 2; j++)
+ if (_vm->_gyro->_also[i][j] != 0)
+ scram(*_vm->_gyro->_also[i][j]);
+ scram(_vm->_gyro->_listen);
+ scram(_vm->_gyro->_flags);
}
-void Lucerna::load_also(Common::String n) {
- byte ff, fv;
-
- for (fv = 0; fv < 31; fv++)
- for (ff = 0; ff < 2; ff++)
- if (_vm->_gyro->_also[fv][ff] != 0) {
- delete _vm->_gyro->_also[fv][ff];
- _vm->_gyro->_also[fv][ff] = 0;
+void Lucerna::loadAlso(byte num) {
+ for (byte i = 0; i < 31; i++)
+ for (byte j = 0; j < 2; j++)
+ if (_vm->_gyro->_also[i][j] != 0) {
+ delete _vm->_gyro->_also[i][j];
+ _vm->_gyro->_also[i][j] = 0;
}
Common::String filename;
- filename = filename.format("also%s.avd", n.c_str());
- if (!f.open(filename)) {
+ filename = filename.format("also%d.avd", num);
+ if (!file.open(filename)) {
warning("AVALANCHE: Lucerna: File not found: %s", filename.c_str());
return;
}
- f.seek(128);
+ file.seek(128);
- byte minnames = f.readByte();
- for (fv = 0; fv <= minnames; fv++) {
- for (ff = 0; ff < 2; ff++) {
- _vm->_gyro->_also[fv][ff] = new Common::String;
- *_vm->_gyro->_also[fv][ff] = nextstring();
+ byte alsoNum = file.readByte();
+ for (byte i = 0; i <= alsoNum; i++) {
+ for (byte j = 0; j < 2; j++) {
+ _vm->_gyro->_also[i][j] = new Common::String;
+ *_vm->_gyro->_also[i][j] = readAlsoStringFromFile();
}
- *_vm->_gyro->_also[fv][0] = Common::String('\x9D') + *_vm->_gyro->_also[fv][0] + Common::String('\x9D');
+ *_vm->_gyro->_also[i][0] = Common::String('\x9D') + *_vm->_gyro->_also[i][0] + Common::String('\x9D');
}
memset(_vm->_gyro->_lines, 0xFF, sizeof(_vm->_gyro->_lines));
- //fv = getpixel(0, 0);
- _vm->_gyro->_lineNum = f.readByte();
+ _vm->_gyro->_lineNum = file.readByte();
for (byte i = 0; i < _vm->_gyro->_lineNum; i++) {
- _vm->_gyro->_lines[i]._x1 = f.readSint16LE();
- _vm->_gyro->_lines[i]._y1 = f.readSint16LE();
- _vm->_gyro->_lines[i]._x2 = f.readSint16LE();
- _vm->_gyro->_lines[i]._y2 = f.readSint16LE();
- _vm->_gyro->_lines[i]._color = f.readByte();
+ _vm->_gyro->_lines[i]._x1 = file.readSint16LE();
+ _vm->_gyro->_lines[i]._y1 = file.readSint16LE();
+ _vm->_gyro->_lines[i]._x2 = file.readSint16LE();
+ _vm->_gyro->_lines[i]._y2 = file.readSint16LE();
+ _vm->_gyro->_lines[i]._color = file.readByte();
}
memset(_vm->_gyro->_peds, 177, sizeof(_vm->_gyro->_peds));
- fv = f.readByte();
- for (byte i = 0; i < fv; i++) {
- _vm->_gyro->_peds[i]._x = f.readSint16LE();
- _vm->_gyro->_peds[i]._y = f.readSint16LE();
- _vm->_gyro->_peds[i]._direction = f.readByte();
+ byte pedNum = file.readByte();
+ for (byte i = 0; i < pedNum; i++) {
+ _vm->_gyro->_peds[i]._x = file.readSint16LE();
+ _vm->_gyro->_peds[i]._y = file.readSint16LE();
+ _vm->_gyro->_peds[i]._direction = file.readByte();
}
- _vm->_gyro->_fieldNum = f.readByte();
+ _vm->_gyro->_fieldNum = file.readByte();
for (byte i = 0; i < _vm->_gyro->_fieldNum; i++) {
- _vm->_gyro->_fields[i]._x1 = f.readSint16LE();
- _vm->_gyro->_fields[i]._y1 = f.readSint16LE();
- _vm->_gyro->_fields[i]._x2 = f.readSint16LE();
- _vm->_gyro->_fields[i]._y2 = f.readSint16LE();
+ _vm->_gyro->_fields[i]._x1 = file.readSint16LE();
+ _vm->_gyro->_fields[i]._y1 = file.readSint16LE();
+ _vm->_gyro->_fields[i]._x2 = file.readSint16LE();
+ _vm->_gyro->_fields[i]._y2 = file.readSint16LE();
}
for (byte i = 0; i < 15; i++) {
- _vm->_gyro->_magics[i]._operation = f.readByte();
- _vm->_gyro->_magics[i]._data = f.readUint16LE();
+ _vm->_gyro->_magics[i]._operation = file.readByte();
+ _vm->_gyro->_magics[i]._data = file.readUint16LE();
}
for (byte i = 0; i < 7; i++) {
- _vm->_gyro->_portals[i]._operation = f.readByte();
- _vm->_gyro->_portals[i]._data = f.readUint16LE();
+ _vm->_gyro->_portals[i]._operation = file.readByte();
+ _vm->_gyro->_portals[i]._data = file.readUint16LE();
}
_vm->_gyro->_flags.clear();
for (byte i = 0; i < 26; i++)
- _vm->_gyro->_flags += f.readByte();
+ _vm->_gyro->_flags += file.readByte();
- int16 listen_length = f.readByte();
+ int16 listen_length = file.readByte();
_vm->_gyro->_listen.clear();
for (byte i = 0; i < listen_length; i++)
- _vm->_gyro->_listen += f.readByte();
-
- draw_also_lines();
+ _vm->_gyro->_listen += file.readByte();
- //setactivepage(1);
- warning("STUB: Lucerna::load_also()");
+ drawAlsoLines();
- f.close();
- unscramble();
- for (fv = 0; fv <= minnames; fv++)
- *_vm->_gyro->_also[fv][0] = Common::String(',') + *_vm->_gyro->_also[fv][0] + ',';
+ file.close();
+ unScramble();
+ for (byte i = 0; i <= alsoNum; i++)
+ *_vm->_gyro->_also[i][0] = Common::String(',') + *_vm->_gyro->_also[i][0] + ',';
}
-void Lucerna::load(byte n) { // Load2, actually
- Common::String xx;
-
+void Lucerna::loadRoom(byte num) {
CursorMan.showMouse(false);
_vm->_graphics->fleshColors();
- xx = _vm->_gyro->intToStr(n);
Common::String filename;
- filename = filename.format("place%s.avd", xx.c_str());
- if (!f.open(filename)) {
+ filename = filename.format("place%d.avd", num);
+ if (!file.open(filename)) {
warning("AVALANCHE: Lucerna: File not found: %s", filename.c_str());
return;
}
- f.seek(146);
+ file.seek(146);
if (!_vm->_gyro->_roomnName.empty())
_vm->_gyro->_roomnName.clear();
for (byte i = 0; i < 30; i++) {
- char actChar = f.readByte();
+ char actChar = file.readByte();
if ((32 <= actChar) && (actChar <= 126))
_vm->_gyro->_roomnName += actChar;
}
// Compression method byte follows this...
- f.seek(177);
+ file.seek(177);
- _vm->_graphics->_background = _vm->_graphics->loadPictureRow(f, _vm->_graphics->kBackgroundWidth, _vm->_graphics->kBackgroundHeight);
+ _vm->_graphics->_background = _vm->_graphics->loadPictureRow(file, _vm->_graphics->kBackgroundWidth, _vm->_graphics->kBackgroundHeight);
_vm->_graphics->refreshBackground();
- f.close();
+ file.close();
- load_also(xx);
- _vm->_celer->loadBackgroundSprites(n);
- // byte bit = *_vm->_graphics->getPixel(0,0);
+ loadAlso(num);
+ _vm->_celer->loadBackgroundSprites(num);
CursorMan.showMouse(true);
}
-void Lucerna::zoomout(int16 x, int16 y) {
-// int16 x1, y1, x2, y2;
-// byte fv;
-
+void Lucerna::zoomOut(int16 x, int16 y) {
warning("STUB: Lucerna::zoomout()");
}
-void Lucerna::find_people(byte room) {
- for (byte fv = 1; fv < 29; fv++) {
- if (_vm->_gyro->_whereIs[fv] == room) {
- if (fv < 25)
- _vm->_gyro->_him = fv + 150;
+void Lucerna::findPeople(byte room) {
+ for (byte i = 1; i < 29; i++) {
+ if (_vm->_gyro->_whereIs[i] == room) {
+ if (i < 25)
+ _vm->_gyro->_him = i + 150;
else
- _vm->_gyro->_her = fv + 150;
+ _vm->_gyro->_her = i + 150;
}
}
}
-void Lucerna::exitroom(byte x) {
+void Lucerna::exitRoom(byte x) {
//nosound();
_vm->_celer->forgetBackgroundSprites();
_vm->_gyro->_seeScroll = true; // This stops the trippancy system working over the length of this procedure.
@@ -321,7 +302,7 @@ void Lucerna::exitroom(byte x) {
_vm->_gyro->_dna._lastRoomNotMap = _vm->_gyro->_dna._room;
}
-void Lucerna::new_town() { // You've just entered a town from the map.
+void Lucerna::enterNewTown() {
_vm->_dropdown->setupMenu();
switch (_vm->_gyro->_dna._room) {
@@ -351,41 +332,41 @@ void Lucerna::new_town() { // You've just entered a town from the map.
-void Lucerna::put_geida_at(byte whichped, byte &ped) {
+void Lucerna::putGeidaAt(byte whichPed, byte &ped) {
if (ped == 0)
return;
_vm->_trip->tr[1].init(5, false, _vm->_trip); // load Geida
- _vm->_trip->apped(2, whichped);
+ _vm->_trip->apped(2, whichPed);
_vm->_trip->tr[1].call_eachstep = true;
_vm->_trip->tr[1].eachstep = _vm->_trip->procgeida_procs;
}
-void Lucerna::enterroom(byte x, byte ped) {
+void Lucerna::enterRoom(byte room, byte ped) {
_vm->_gyro->_seeScroll = true; // This stops the trippancy system working over the length of this procedure.
- find_people(x);
- _vm->_gyro->_dna._room = x;
+ findPeople(room);
+ _vm->_gyro->_dna._room = room;
if (ped != 0)
- _vm->_gyro->_dna._roomCount[x]++;
+ _vm->_gyro->_dna._roomCount[room]++;
- load(x);
+ loadRoom(room);
- if ((_vm->_gyro->_dna._roomCount[x] == 0) && (! _vm->_gyro->setFlag('S')))
- points(1);
+ if ((_vm->_gyro->_dna._roomCount[room] == 0) && (! _vm->_gyro->setFlag('S')))
+ incScore(1);
_vm->_gyro->_whereIs[_vm->_gyro->kPeopleAvalot - 150] = _vm->_gyro->_dna._room;
if (_vm->_gyro->_dna._geidaFollows)
- _vm->_gyro->_whereIs[_vm->_gyro->kPeopleGeida - 150] = x;
+ _vm->_gyro->_whereIs[_vm->_gyro->kPeopleGeida - 150] = room;
_vm->_gyro->_roomTime = 0;
if ((_vm->_gyro->_dna._lastRoom == r__map) && (_vm->_gyro->_dna._lastRoomNotMap != _vm->_gyro->_dna._room))
- new_town();
+ enterNewTown();
- switch (x) {
+ switch (room) {
case r__yours:
if (_vm->_gyro->_dna._avvyInBed) {
_vm->_celer->drawBackgroundSprite(-1, -1, 3);
@@ -449,7 +430,7 @@ void Lucerna::enterroom(byte x, byte ped) {
case r__brummieroad:
if (_vm->_gyro->_dna._geidaFollows)
- put_geida_at(5, ped);
+ putGeidaAt(5, ped);
if (_vm->_gyro->_dna._cwytalotGone) {
_vm->_gyro->_magics[kColorLightred - 1]._operation = _vm->_gyro->kMagicNothing;
_vm->_gyro->_whereIs[_vm->_gyro->kPeopleCwytalot - 150] = r__nowhere;
@@ -492,7 +473,7 @@ void Lucerna::enterroom(byte x, byte ped) {
_vm->_gyro->_magics[kColorGreen - 1]._operation = _vm->_gyro->kMagicNothing; // You may enter the drawbridge.
}
if (_vm->_gyro->_dna._geidaFollows)
- put_geida_at(ped + 3, ped); // load Geida
+ putGeidaAt(ped + 3, ped); // load Geida
break;
case r__robins:
@@ -549,14 +530,14 @@ void Lucerna::enterroom(byte x, byte ped) {
dawn();
//setactivepage(cp);
if (ped > 0)
- zoomout(_vm->_gyro->_peds[ped - 1]._x, _vm->_gyro->_peds[ped - 1]._y);
+ zoomOut(_vm->_gyro->_peds[ped - 1]._x, _vm->_gyro->_peds[ped - 1]._y);
//setactivepage(1 - cp);
{
if ((_vm->_gyro->_dna._objects[_vm->_gyro->kObjectWine - 1]) && (_vm->_gyro->_dna._wineState != 3)) {
_vm->_visa->dixi('q', 9); // Don't want to waste the wine!
_vm->_gyro->_dna._objects[_vm->_gyro->kObjectWine - 1] = false;
- objectlist();
+ refreshObjectList();
}
}
@@ -610,7 +591,7 @@ void Lucerna::enterroom(byte x, byte ped) {
_vm->_timeout->set_up_timer(3, _vm->_timeout->procgreetsmonk, _vm->_timeout->reason_du_lustie_talks);
if (_vm->_gyro->_dna._geidaFollows) {
- put_geida_at(5, ped);
+ putGeidaAt(5, ped);
if (_vm->_gyro->_dna._lustieIsAsleep) {
_vm->_celer->drawBackgroundSprite(-1, -1, 5);
_vm->_graphics->refreshBackground();
@@ -738,18 +719,18 @@ void Lucerna::enterroom(byte x, byte ped) {
break; // Ayles awake.
case r__geidas:
- put_geida_at(2, ped);
+ putGeidaAt(2, ped);
break; // load Geida
case r__easthall:
case r__westhall:
if (_vm->_gyro->_dna._geidaFollows)
- put_geida_at(ped + 2, ped);
+ putGeidaAt(ped + 2, ped);
break;
case r__lusties:
if (_vm->_gyro->_dna._geidaFollows)
- put_geida_at(ped + 6, ped);
+ putGeidaAt(ped + 6, ped);
break;
case r__nottspub:
@@ -781,43 +762,45 @@ void Lucerna::enterroom(byte x, byte ped) {
_vm->_gyro->isLoaded = false;
}
-void Lucerna::thinkabout(byte z, bool th) { // Hey!!! Get it and put it!!!
- const int16 picsize = 966;
- const ByteField thinkspace = {25, 170, 32, 200};
+void Lucerna::thinkAbout(byte object, bool type) {
+ const int16 picSize = 966;
- _vm->_gyro->_thinks = z;
- z--;
+ _vm->_gyro->_thinks = object;
+ object--;
_vm->_gyro->setMousePointerWait();
- if (th) {
- if (!f.open("thinks.avd")) {
+ switch (type) {
+ case Gyro::kThing:
+ if (!file.open("thinks.avd")) {
warning("AVALANCHE: Lucerna: File not found: thinks.avd");
return;
}
- } else {
- if (!f.open("folk.avd")) {
+ break;
+ case Gyro::kPerson:
+ if (!file.open("folk.avd")) {
warning("AVALANCHE: Lucerna: File not found: folk.avd");
return;
}
- z = z - 149;
- if (z >= 25)
- z -= 8;
- if (z == 20)
- z--; // Last time...
+ object = object - 149;
+ if (object >= 25)
+ object -= 8;
+ if (object == 20)
+ object--; // Last time...
+ break;
}
- f.seek(z * picsize + 65);
+ file.seek(object * picSize + 65);
- ::Graphics::Surface picture = _vm->_graphics->loadPictureGraphic(f);
+ ::Graphics::Surface picture = _vm->_graphics->loadPictureGraphic(file);
_vm->_graphics->drawPicture(_vm->_graphics->_surface, picture, 205, 170);
picture.free();
- f.close();
+ file.close();
CursorMan.showMouse(false);
@@ -827,75 +810,57 @@ void Lucerna::thinkabout(byte z, bool th) { // Hey!!! Get it and put it!!!
setactivepage(1 - cp);
#endif
- for (byte fv = 0; fv <= 1; fv++)
- _vm->_trip->getset[fv].remember(thinkspace);
-
CursorMan.showMouse(true);
- _vm->_gyro->_thinkThing = th;
+ _vm->_gyro->_thinkThing = type;
}
-void Lucerna::load_digits() { // Load the scoring digits & rwlites
+void Lucerna::loadDigits() { // Load the scoring digits & rwlites
const byte digitsize = 134;
const byte rwlitesize = 126;
- if (!f.open("digit.avd")) {
+ if (!file.open("digit.avd")) {
warning("AVALANCHE: Lucerna: File not found: digit.avd");
return;
}
- for (byte fv = 0; fv < 10; fv++) {
- f.seek(fv * digitsize);
-
-#if 0
- _vm->_gyro->digit[fv] = new byte[digitsize];
- f.read(_vm->_gyro->digit[fv], digitsize);
-#endif
-
- _vm->_gyro->_digits[fv] = _vm->_graphics->loadPictureGraphic(f);
+ for (byte i = 0; i < 10; i++) {
+ file.seek(i * digitsize);
+ _vm->_gyro->_digits[i] = _vm->_graphics->loadPictureGraphic(file);
}
- for (byte ff = 0; ff < 9; ff++) {
- f.seek(10 * digitsize + ff * rwlitesize);
-
-#if 0
- _vm->_gyro->rwlite[ff] = new byte[rwlitesize];
- f.read(_vm->_gyro->rwlite[ff], rwlitesize);
-#endif
-
- _vm->_gyro->_directions[ff] = _vm->_graphics->loadPictureGraphic(f);
+ for (byte i = 0; i < 9; i++) {
+ file.seek(10 * digitsize + i * rwlitesize);
+ _vm->_gyro->_directions[i] = _vm->_graphics->loadPictureGraphic(file);
}
- f.close();
+ file.close();
}
-void Lucerna::toolbar() {
- if (!f.open("useful.avd")) {
+void Lucerna::drawToolbar() {
+ if (!file.open("useful.avd")) {
warning("AVALANCHE: Lucerna: File not found: useful.avd");
return;
}
- f.seek(40);
+ file.seek(40);
- // off;
+ CursorMan.showMouse(false);
- ::Graphics::Surface picture = _vm->_graphics->loadPictureGraphic(f);
+ ::Graphics::Surface picture = _vm->_graphics->loadPictureGraphic(file);
_vm->_graphics->drawPicture(_vm->_graphics->_surface, picture, 5, 169);
picture.free();
- f.close();
+ file.close();
- // on;
+ CursorMan.showMouse(true);
_vm->_gyro->_oldDirection = 177;
- showrw();
+ drawDirection();
}
-void Lucerna::showscore() {
-
- const ByteField scorespace = {33, 177, 39, 200};
-
+void Lucerna::drawScore() {
if (_vm->_gyro->kDemo)
return;
@@ -912,23 +877,17 @@ void Lucerna::showscore() {
CursorMan.showMouse(false);
- //setactivepage(3);
-
for (byte fv = 0; fv < 3; fv++)
if (_vm->_gyro->_scoreToDisplay[fv] != numbers[fv])
_vm->_graphics->drawPicture(_vm->_graphics->_surface, _vm->_gyro->_digits[numbers[fv]], 250 + (fv + 1) * 15, 177);
- for (byte fv = 0; fv < 2; fv++)
- _vm->_trip->getset[fv].remember(scorespace);
-
- //setactivepage(1 - cp);
-
CursorMan.showMouse(true);
+
for (byte i = 0; i < 3; i++)
_vm->_gyro->_scoreToDisplay[i] = numbers[i];
}
-void Lucerna::points(byte num) { // Add on no. of points
+void Lucerna::incScore(byte num) { // Add on no. of points
for (byte q = 1; q <= num; q++) {
_vm->_gyro->_dna._score++;
@@ -942,39 +901,35 @@ void Lucerna::points(byte num) { // Add on no. of points
}
warning("STUB: Lucerna::points()");
- showscore();
+ drawScore();
}
-void Lucerna::topcheck(Common::Point cursorPos) {
- _vm->_dropdown->_menuBar.chooseMenuItem(cursorPos.x);
-}
-
-void Lucerna::mouseway(const Common::Point &cursorPos) {
- byte col = *(byte *)_vm->_graphics->_surface.getBasePtr(cursorPos.x, cursorPos.y / 2);
+void Lucerna::useCompass(const Common::Point &cursorPos) {
+ byte color = *(byte *)_vm->_graphics->_surface.getBasePtr(cursorPos.x, cursorPos.y / 2);
- switch (col) {
+ switch (color) {
case kColorGreen: {
_vm->_gyro->_dna._direction = _vm->_trip->kDirUp;
_vm->_trip->rwsp(0, _vm->_trip->kDirUp);
- showrw();
+ drawDirection();
}
break;
case kColorBrown: {
_vm->_gyro->_dna._direction = _vm->_trip->kDirDown;
_vm->_trip->rwsp(0, _vm->_trip->kDirDown);
- showrw();
+ drawDirection();
}
break;
case kColorCyan: {
_vm->_gyro->_dna._direction = _vm->_trip->kDirLeft;
_vm->_trip->rwsp(0, _vm->_trip->kDirLeft);
- showrw();
+ drawDirection();
}
break;
case kColorLightmagenta: {
_vm->_gyro->_dna._direction = _vm->_trip->kDirRight;
_vm->_trip->rwsp(0, _vm->_trip->kDirRight);
- showrw();
+ drawDirection();
}
break;
case kColorRed:
@@ -982,32 +937,28 @@ void Lucerna::mouseway(const Common::Point &cursorPos) {
case kColorLightcyan:
case kColorYellow: { // Fall-throughs are intended.
_vm->_trip->stopwalking();
- showrw();
+ drawDirection();
}
break;
}
}
-void Lucerna::posxy() {
- warning("STUB: Lucerna::posxy()");
-}
-
-void Lucerna::fxtoggle() {
+void Lucerna::fxToggle() {
warning("STUB: Lucerna::fxtoggle()");
}
-void Lucerna::objectlist() {
+void Lucerna::refreshObjectList() {
_vm->_gyro->_dna._carryNum = 0;
if (_vm->_gyro->_thinkThing && !_vm->_gyro->_dna._objects[_vm->_gyro->_thinks - 1])
- thinkabout(_vm->_gyro->kObjectMoney, _vm->_gyro->kThing); // you always have money
- for (byte fv = 0; fv < kObjectNum; fv++)
- if (_vm->_gyro->_dna._objects[fv]) {
+ thinkAbout(_vm->_gyro->kObjectMoney, Gyro::kThing); // you always have money
+ for (byte i = 0; i < kObjectNum; i++)
+ if (_vm->_gyro->_dna._objects[i]) {
_vm->_gyro->_dna._carryNum++;
- _vm->_gyro->_objectList[_vm->_gyro->_dna._carryNum] = fv + 1;
+ _vm->_gyro->_objectList[_vm->_gyro->_dna._carryNum] = i + 1;
}
}
-void Lucerna::verte(Common::Point cursorPos) {
+void Lucerna::guideAvvy(Common::Point cursorPos) {
if (! _vm->_gyro->_dna._userMovesAvvy)
return;
@@ -1057,10 +1008,10 @@ void Lucerna::verte(Common::Point cursorPos) {
break;
} // No other values are possible.
- showrw();
+ drawDirection();
}
-void Lucerna::checkclick() {
+void Lucerna::checkClick() {
Common::Point cursorPos = _vm->getMousePos();
_vm->_gyro->_onToolbar = _vm->_gyro->kSlowComputer && ((cursorPos.y >= 169) || (cursorPos.y <= 10));
@@ -1076,7 +1027,7 @@ void Lucerna::checkclick() {
else if (!_vm->_gyro->_dropdownActive) { // Dropdown can handle its own pointers.
if (holdLeftMouse) {
_vm->_gyro->newMouse(7); // Mark's crosshairs
- verte(cursorPos); // Normally, if you click on the picture, you're guiding Avvy around.
+ guideAvvy(cursorPos); // Normally, if you click on the picture, you're guiding Avvy around.
} else
_vm->_gyro->newMouse(4); // fletch
}
@@ -1096,7 +1047,7 @@ void Lucerna::checkclick() {
} else if ((340 <= cursorPos.y) && (cursorPos.y <= 399)) { // Check the toolbar.
if ((137 <= cursorPos.x) && (cursorPos.x <= 207)) { // Control Avvy with the compass.
if (_vm->_gyro->_alive && _vm->_gyro->_dna._avvyIsAwake)
- mouseway(cursorPos);
+ useCompass(cursorPos);
} else if ((208 <= cursorPos.x) && (cursorPos.x <= 260)) { // Examine the _thing.
do {
_vm->updateEvents();
@@ -1124,7 +1075,7 @@ void Lucerna::checkclick() {
_vm->_trip->tr[0].xs = _vm->_gyro->kRun;
_vm->_trip->newspeed();
} else if ((396 <= cursorPos.x) && (cursorPos.x <= 483))
- fxtoggle();
+ fxToggle();
else if ((535 <= cursorPos.x) && (cursorPos.x <= 640))
_vm->_gyro->_mouseText = Common::String(13) + _vm->_gyro->_mouseText;
} else if (!_vm->_gyro->_dropsOk)
@@ -1132,170 +1083,102 @@ void Lucerna::checkclick() {
}
}
-void Lucerna::mouse_init() {
- _vm->_gyro->setMousePointerWait();
-}
-
-void Lucerna::mousepage(uint16 page_) {
- warning("STUB: Lucerna::mousepage()");
-}
-
-void Lucerna::errorled() {
+void Lucerna::errorLed() {
warning("STUB: Lucerna::errorled()");
}
int8 Lucerna::fades(int8 x) {
- byte r = x / 16;
- x = x % 16;
- byte g = x / 4;
- byte b = x % 4;
- if (r > 0)
- r--;
- if (g > 0)
- g--;
- if (b > 0)
- b--;
-
- return (16 * r + 4 * g + b);
- // fades = x - 1;
+ warning("STUB: Lucerna::fades()");
+ return 0;
}
-
-
-
-void Lucerna::fadeout(byte n) {
- warning("STUB: Lucerna::fadeout()"); // I'll bother with colors later.
+void Lucerna::fadeOut(byte n) {
+ warning("STUB: Lucerna::fadeOut()");
}
void Lucerna::dusk() {
- warning("STUB: Lucerna::dusk()"); // I'll bother with colors later.
+ warning("STUB: Lucerna::dusk()");
}
-
-
-
-void Lucerna::fadein(byte n) {
- warning("STUB: Lucerna::fadein()");
+void Lucerna::fadeIn(byte n) {
+ warning("STUB: Lucerna::fadeIn()");
}
void Lucerna::dawn() {
warning("STUB: Lucerna::dawn()");
}
-
-
-void Lucerna::showrw() { // It's data is loaded in load_digits().
+void Lucerna::drawDirection() { // It's data is loaded in load_digits().
if (_vm->_gyro->_oldDirection == _vm->_gyro->_dna._direction)
return;
+
_vm->_gyro->_oldDirection = _vm->_gyro->_dna._direction;
- CursorMan.showMouse(false);
-#if 0
- for (byte page_ = 0; page_ <= 1; page_++) {
- setactivepage(page_);
- putimage(0, 161, rwlite[with.rw], 0);
- }
-#endif
+ CursorMan.showMouse(false);
_vm->_graphics->drawPicture(_vm->_graphics->_surface, _vm->_gyro->_directions[_vm->_gyro->_dna._direction], 0, 161);
CursorMan.showMouse(true);
- //setactivepage(1 - cp);
-
- warning("STUB: Lucerna::showrw()");
}
-
-
-
-
-
-void Lucerna::calchand(uint16 ang, uint16 length, Common::Point &a, byte c) {
- if (ang > 900) {
- a.x = 177;
+void Lucerna::calcHand(uint16 angle, uint16 length, Common::Point &endPoint, byte color) {
+ if (angle > 900) {
+ endPoint.x = 177;
return;
}
- a = _vm->_graphics->drawArc(_vm->_graphics->_surface, _clockCenterX, _clockCenterY, 449 - ang, 450 - ang, length, c);
+ endPoint = _vm->_graphics->drawArc(_vm->_graphics->_surface, _clockCenterX, _clockCenterY, 449 - angle, 450 - angle, length, color);
}
-void Lucerna::hand(const Common::Point &a, byte c) {
- if (a.x == 177)
+void Lucerna::drawHand(const Common::Point &endPoint, byte color) {
+ if (endPoint.x == 177)
return;
- _vm->_graphics->_surface.drawLine(_clockCenterX, _clockCenterY, a.x, a.y, c);
-}
-
-void Lucerna::refresh_hands() {
- const ByteField clockspace = {61, 166, 66, 200};
-
- for (byte page_ = 0; page_ < 2; page_++)
- _vm->_trip->getset[page_].remember(clockspace);
+ _vm->_graphics->_surface.drawLine(_clockCenterX, _clockCenterY, endPoint.x, endPoint.y, color);
}
-void Lucerna::plothands() {
- // off;
- //setactivepage(3);
- calchand(_vm->_gyro->_onh, 14, ah, kColorYellow);
- calchand(_vm->_gyro->_om * 6, 17, am, kColorYellow);
- hand(ah, kColorBrown);
- hand(am, kColorBrown);
-
- calchand(nh, 14, ah, kColorBrown);
- calchand(_vm->_gyro->_minutes * 6, 17, am, kColorBrown);
- hand(ah, kColorYellow);
- hand(am, kColorYellow);
-
- //setactivepage(1 - cp);
+void Lucerna::plotHands() {
+ calcHand(_vm->_gyro->_onh, 14, _clockHandHour, kColorYellow);
+ calcHand(_vm->_gyro->_om * 6, 17, _clockHandMinute, kColorYellow);
+ drawHand(_clockHandHour, kColorBrown);
+ drawHand(_clockHandMinute, kColorBrown);
- refresh_hands();
-
- // on;
+ calcHand(_hourAngle, 14, _clockHandHour, kColorBrown);
+ calcHand(_vm->_gyro->_minutes * 6, 17, _clockHandMinute, kColorBrown);
+ drawHand(_clockHandHour, kColorYellow);
+ drawHand(_clockHandMinute, kColorYellow);
}
void Lucerna::chime() {
warning("STUB: Lucerna::chime()");
}
-void Lucerna::clock_lucerna() {
- // ...Clock.
+void Lucerna::updateClock() { // TODO: Move variables from Gyro to here (or at least somewhere nearby), rename them.
TimeDate t;
_vm->_system->getTimeAndDate(t);
_vm->_gyro->_hours = t.tm_hour;
_vm->_gyro->_minutes = t.tm_min;
_vm->_gyro->_seconds = t.tm_sec;
- nh = (_vm->_gyro->_hours % 12) * 30 + _vm->_gyro->_minutes / 2;
+ _hourAngle = (_vm->_gyro->_hours % 12) * 30 + _vm->_gyro->_minutes / 2;
if (_vm->_gyro->_oh != _vm->_gyro->_hours) {
- plothands();
+ plotHands();
chime();
}
if (_vm->_gyro->_om != _vm->_gyro->_minutes)
- plothands();
+ plotHands();
if ((_vm->_gyro->_hours == 0) && (_vm->_gyro->_oh != 0) && (_vm->_gyro->_oh != 17717))
_vm->_scrolls->display(Common::String("Good morning!\n\nYes, it's just past midnight. Are you having an all-night Avvy session? Glad you like the game that much!"));
_vm->_gyro->_oh = _vm->_gyro->_hours;
- _vm->_gyro->_onh = nh;
+ _vm->_gyro->_onh = _hourAngle;
_vm->_gyro->_om = _vm->_gyro->_minutes;
}
-
-
-void Lucerna::delavvy() {
- CursorMan.showMouse(false);
-
-// triptype &with = _vm->_trip->tr[0];
-// for (byte page_ = 0; page_ <= 1; page_++)
-// mblit(with.x / 8, with.y, (with.x + with._info.xl) / 8 + 1, with.y + with._info.yl, 3, page_);
-
- CursorMan.showMouse(true);
-}
-
-void Lucerna::gameover() {
+void Lucerna::gameOver() {
_vm->_gyro->_dna._userMovesAvvy = false;
int16 sx = _vm->_trip->tr[0].x;
@@ -1307,36 +1190,32 @@ void Lucerna::gameover() {
_vm->_trip->tr[0].appear(sx, sy, 0);
_vm->_timeout->set_up_timer(3, _vm->_timeout->procavalot_falls, _vm->_timeout->reason_falling_over);
-
_vm->_gyro->_alive = false;
}
-/* OK. There are two kinds of redraw: Major and Minor. Minor is what happens
- when you load a game, etc. Major redraws EVERYTHING. */
-
-void Lucerna::minor_redraw() {
+void Lucerna::minorRedraw() {
dusk();
- enterroom(_vm->_gyro->_dna._room, 0); // Ped unknown or non-existant.
+ enterRoom(_vm->_gyro->_dna._room, 0); // Ped unknown or non-existant.
- for (byte fv = 0; fv <= 1; fv++) {
+ for (byte i = 0; i <= 1; i++) {
_vm->_gyro->_cp = 1 - _vm->_gyro->_cp;
_vm->_trip->getback();
}
for (byte i = 0; i < 3; i++)
_vm->_gyro->_scoreToDisplay[i] = -1; // impossible digits
- showscore();
+ drawScore();
dawn();
}
-void Lucerna::major_redraw() {
+void Lucerna::majorRedraw() {
warning("STUB: Lucerna::major_redraw()");
}
-uint16 Lucerna::bearing(byte whichped) {
- byte pedId = whichped - 1; // Different array indexes in Pascal and C.
+uint16 Lucerna::bearing(byte whichPed) {
+ byte pedId = whichPed - 1; // Different array indexes in Pascal and C.
const double rad2deg = 180 / 3.14; // Pi
@@ -1351,25 +1230,20 @@ uint16 Lucerna::bearing(byte whichped) {
}
}
-void Lucerna::sprite_run() {
-/* A sprite run is performed before displaying a scroll, if not all the
- sprites are still. It performs two fast cycles, only using a few of
- the links usually used, and without any extra animation. This should
- make the sprites the same on both pages. */
+void Lucerna::spriteRun() {
_vm->_gyro->_doingSpriteRun = true;
_vm->_trip->get_back_loretta();
_vm->_trip->trippancy_link();
_vm->_gyro->_doingSpriteRun = false;
-
}
-void Lucerna::fix_flashers() {
+void Lucerna::fixFlashers() {
_vm->_gyro->_ledStatus = 177;
_vm->_gyro->_oldDirection = 177;
_vm->_scrolls->state(2);
- showrw();
+ drawDirection();
}
} // End of namespace Avalanche
diff --git a/engines/avalanche/lucerna2.h b/engines/avalanche/lucerna2.h
index 1436e388b5..6835fe01c1 100644
--- a/engines/avalanche/lucerna2.h
+++ b/engines/avalanche/lucerna2.h
@@ -45,94 +45,69 @@ public:
void init();
void callVerb(byte id);
- void draw_also_lines();
- void mouse_init();
- void mousepage(uint16 page_);
- void load(byte n);
- void exitroom(byte x);
- void enterroom(byte x, byte ped);
- void thinkabout(byte z, bool th); // Hey!!! Get it and put it!!!
- void load_digits(); // Load the scoring digits & rwlites
- void toolbar();
- void showscore();
- void points(byte num); // Add on no. of points
- void mouseway(const Common::Point &cursorPos);
- void posxy();
- void fxtoggle();
- void objectlist();
- void checkclick();
- void errorled();
+ void drawAlsoLines();
+ void loadRoom(byte num);
+ void exitRoom(byte x);
+ void enterRoom(byte room, byte ped);
+ void thinkAbout(byte object, bool type); // Hey!!! Get it and put it!!!
+ void loadDigits(); // Load the scoring digits & rwlites
+ void drawToolbar();
+ void drawScore();
+ void incScore(byte num); // Add on no. of points
+ void useCompass(const Common::Point &cursorPos); // Click on the compass on the toolbar to control Avvy's movement.
+ void fxToggle();
+ void refreshObjectList();
+ void checkClick();
+ void errorLed();
void dusk();
void dawn();
- void showrw();
- void clock_lucerna();
- void delavvy();
- void gameover();
- void minor_redraw();
- void major_redraw();
- uint16 bearing(byte whichped); // Returns the bearing from ped Whichped to Avvy, in degrees.
- void flesh_colors();
- void sprite_run();
- void fix_flashers();
- void load_also(Common::String n);
+ void drawDirection(); // Draws the little icon at the left end of the text input field.
+ void updateClock();
+ void gameOver();
+ uint16 bearing(byte whichPed); // Returns the bearing from ped 'whichped' to Avvy, in degrees.
+ void fixFlashers();
+ void loadAlso(byte num);
-private:
- AvalancheEngine *_vm;
+ // There are two kinds of redraw: Major and Minor. Minor is what happens when you load a game, etc. Major redraws EVERYTHING.
+ void minorRedraw();
+ void majorRedraw();
- struct rgbrec {
- int16 red;
- int16 green;
- int16 blue;
- };
+ // A sprite run is performed before displaying a scroll, if not all the sprites are still. It performs two fast cycles, only using a few of
+ // the links usually used, and without any extra animation. This should make the sprites the same on both pages.
+ void spriteRun();
- struct palettetype {
- int32 size;
- rgbrec colors[256];
- };
+private:
+ AvalancheEngine *_vm;
//Clock
static const int16 _clockCenterX = 510;
static const int16 _clockCenterY = 183;
- Common::Point ah, am;
- uint16 nh;
-
-
- palettetype fxpal[4];
-
- bool fxhidden;
-
- Common::File f;
+ Common::Point _clockHandHour, _clockHandMinute; // ah and am in the original.
+ uint16 _hourAngle; // nh in the original.
+ bool _fxHidden; // Will de used in dust() and dawn().
+ Common::File file;
+ Common::String readAlsoStringFromFile(); // 'nexstring' in the original.
+ void scram(Common::String &str);
+ void unScramble();
- Common::String nextstring();
- void scram1(Common::String &x);
- void unscramble();
-
- void zoomout(int16 x, int16 y);
-
- void find_people(byte room);
-
- void new_town();
-
- void put_geida_at(byte whichped, byte &ped);
-
- void topcheck(Common::Point cursorPos);
-
- void verte(Common::Point cursorPos);
+ void zoomOut(int16 x, int16 y); // Only used when entering the map.
+ void enterNewTown(); // Onyl when entering a NEW town! Not returning to the last one, but choosing another from the map.
+ void findPeople(byte room);
+ void putGeidaAt(byte whichPed, byte &ped);
+ void guideAvvy(Common::Point cursorPos); // 'verte' in the original.
+ // Used in dusk() and dawn().
int8 fades(int8 x);
+ void fadeOut(byte n);
+ void fadeIn(byte n);
- void fadeout(byte n);
-
- void fadein(byte n);
-
- // clock_lucerna
- void calchand(uint16 ang, uint16 length, Common::Point &a, byte c);
- void hand(const Common::Point &a, byte c);
- void refresh_hands();
- void plothands();
+ // Clock
+ void calcHand(uint16 angle, uint16 length, Common::Point &endPoint, byte color);
+ void drawHand(const Common::Point &endPoint, byte color);
+ void plotHands();
void chime();
};
diff --git a/engines/avalanche/scrolls2.cpp b/engines/avalanche/scrolls2.cpp
index 67247a4483..16e0fb11ad 100644
--- a/engines/avalanche/scrolls2.cpp
+++ b/engines/avalanche/scrolls2.cpp
@@ -123,7 +123,6 @@ void Scrolls::normscroll() {
_vm->_gyro->_seeScroll = true;
CursorMan.showMouse(true);
_vm->_gyro->newMouse(4);
- _vm->_lucerna->mousepage(1 - _vm->_gyro->_cp);
@@ -185,7 +184,6 @@ void Scrolls::normscroll() {
state(0);
_vm->_gyro->_seeScroll = false;
- _vm->_lucerna->mousepage(_vm->_gyro->_cp);
CursorMan.showMouse(false);
_vm->_lucerna->holdLeftMouse = false; // Used in Lucerna::checkclick().
@@ -258,7 +256,7 @@ void Scrolls::resetscrolldriver() { // phew
void Scrolls::dingdongbell() { // 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
+ _vm->_lucerna->errorLed(); // ring the bell "x" times
}
void Scrolls::dodgem() {
@@ -666,7 +664,7 @@ void Scrolls::calldrivers() {
break;
if (call_spriterun)
- _vm->_lucerna->sprite_run();
+ _vm->_lucerna->spriteRun();
call_spriterun = false;
drawscroll(&Avalanche::Scrolls::normscroll);
@@ -685,14 +683,14 @@ void Scrolls::calldrivers() {
break;
if (call_spriterun)
- _vm->_lucerna->sprite_run();
+ _vm->_lucerna->spriteRun();
call_spriterun = false;
if (param == 0)
natural();
else if ((1 <= param) && (param <= 9)) {
if ((param > _vm->_trip->kSpriteNumbMax) || (!_vm->_trip->tr[param - 1].quick)) { // Not valid.
- _vm->_lucerna->errorled();
+ _vm->_lucerna->errorLed();
natural();
} else
_vm->_trip->tr[param - 1].chatter(); // Normal sprite talking routine.
@@ -706,7 +704,7 @@ void Scrolls::calldrivers() {
_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.
+ _vm->_lucerna->errorLed(); // Not valid.
natural();
}
@@ -747,7 +745,7 @@ void Scrolls::calldrivers() {
_vm->_visa->dixi('q', 37); // You find the sixpence.
_vm->_gyro->_dna._money += 6;
_vm->_gyro->_dna._boxContent = _vm->_acci->kNothing;
- _vm->_lucerna->points(2);
+ _vm->_lucerna->incScore(2);
return;
}
break;
@@ -777,7 +775,7 @@ void Scrolls::calldrivers() {
break;
case kControlQuestion: {
if (call_spriterun)
- _vm->_lucerna->sprite_run();
+ _vm->_lucerna->spriteRun();
call_spriterun = false;
_vm->_gyro->_scrollNum++;
@@ -850,7 +848,7 @@ void Scrolls::musical_scroll() {
+ kControlInsertSpaces + "Q W E R T Y U I O P [ ]" + kControlNewLine + kControlNewLine + "Or press Enter to stop playing."
+ kControlToBuffer);
- _vm->_lucerna->sprite_run();
+ _vm->_lucerna->spriteRun();
drawscroll(&Avalanche::Scrolls::music_scroll);
diff --git a/engines/avalanche/timeout2.cpp b/engines/avalanche/timeout2.cpp
index 085df26923..2383d02fac 100644
--- a/engines/avalanche/timeout2.cpp
+++ b/engines/avalanche/timeout2.cpp
@@ -239,13 +239,13 @@ void Timeout::avaricius_talks() {
if (_vm->_gyro->_dna._avariciusTalk < 17)
set_up_timer(177, procavaricius_talks, reason_avariciustalks);
else
- _vm->_lucerna->points(3);
+ _vm->_lucerna->incScore(3);
}
void Timeout::urinate() {
_vm->_trip->tr[0].turn(_vm->_trip->kDirUp);
_vm->_trip->stopwalking();
- _vm->_lucerna->showrw();
+ _vm->_lucerna->drawDirection();
set_up_timer(14, proctoilet2, reason_gototoilet);
}
@@ -349,7 +349,7 @@ void Timeout::after_the_shootemup() {
_vm->_trip->apped(1, 2);
_vm->_gyro->_dna._userMovesAvvy = true;
_vm->_gyro->_dna._objects[_vm->_gyro->kObjectCrossbow - 1] = true;
- _vm->_lucerna->objectlist();
+ _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.")
@@ -399,7 +399,7 @@ void Timeout::jacques_wakes_up() {
if (_vm->_gyro->_dna._jacquesState == 5) {
_vm->_gyro->_dna._bellsAreRinging = true;
_vm->_gyro->_dna._aylesIsAwake = true;
- _vm->_lucerna->points(2);
+ _vm->_lucerna->incScore(2);
}
switch (_vm->_gyro->_dna._jacquesState) {
@@ -480,9 +480,9 @@ void Timeout::jump() {
_vm->_celer->drawBackgroundSprite(-1, -1, 2);
_vm->_gyro->_dna._arrowInTheDoor = false; // You've got it.
_vm->_gyro->_dna._objects[_vm->_gyro->kObjectBolt - 1] = true;
- _vm->_lucerna->objectlist();
+ _vm->_lucerna->refreshObjectList();
_vm->_visa->dixi('q', 50);
- _vm->_lucerna->points(3);
+ _vm->_lucerna->incScore(3);
}
}
}
@@ -513,14 +513,14 @@ void Timeout::buywine() {
if (_vm->_gyro->decreaseMoney(3)) {
_vm->_visa->dixi('D', 4); // You paid up.
_vm->_gyro->_dna._objects[_vm->_gyro->kObjectWine - 1] = true;
- _vm->_lucerna->objectlist();
+ _vm->_lucerna->refreshObjectList();
_vm->_gyro->_dna._wineState = 1; // OK Wine.
}
}
void Timeout::callsguards() {
_vm->_visa->dixi('Q', 58); // "GUARDS!!!"
- _vm->_lucerna->gameover();
+ _vm->_lucerna->gameOver();
}
void Timeout::greetsmonk() {
@@ -539,7 +539,7 @@ 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->kControlRoman + " lucky twice in a row!");
- _vm->_lucerna->gameover();
+ _vm->_lucerna->gameOver();
} else {
_vm->_visa->dixi('Q', 60);
_vm->_gyro->_dna._metAvaroid = true;
@@ -663,7 +663,7 @@ void Timeout::spludwick_leaves_cauldron() {
void Timeout::give_lute_to_geida() { // Moved here from Acci.
_vm->_visa->dixi('Q', 86);
- _vm->_lucerna->points(4);
+ _vm->_lucerna->incScore(4);
_vm->_gyro->_dna._lustieIsAsleep = true;
_vm->_sequence->first_show(5);
_vm->_sequence->then_show(6); // He falls asleep...
diff --git a/engines/avalanche/trip6.cpp b/engines/avalanche/trip6.cpp
index c74efb5f92..b94697f385 100644
--- a/engines/avalanche/trip6.cpp
+++ b/engines/avalanche/trip6.cpp
@@ -263,7 +263,7 @@ void triptype::bounce() {
else
stopwalk();
_tr->_vm->_gyro->_onCanDoPageSwap = false;
- _tr->_vm->_lucerna->showrw();
+ _tr->_vm->_lucerna->drawDirection();
_tr->_vm->_gyro->_onCanDoPageSwap = true;
}
@@ -565,7 +565,7 @@ void Trip::catamove(byte ped) {
}
if (!_vm->_gyro->_dna._enterCatacombsFromLustiesRoom)
- _vm->_lucerna->load(29);
+ _vm->_lucerna->loadRoom(29);
here = _vm->_gyro->kCatacombMap[_vm->_gyro->_dna._catacombY - 1][_vm->_gyro->_dna._catacombX - 1];
switch (here & 0xf) { // West.
@@ -928,7 +928,7 @@ void Trip::call_special(uint16 which) {
tr[1].turn(kDirDown);
tr[1].stopwalk();
tr[1].call_eachstep = false; // Geida
- _vm->_lucerna->gameover();
+ _vm->_lucerna->gameOver();
}
break;
case 9: // _vm->_gyro->special 9: lose Geida to Robin Hood...
@@ -955,7 +955,6 @@ void Trip::call_special(uint16 which) {
catamove(4);
if (_vm->_gyro->_dna._room != r__catacombs)
return;
- _vm->_lucerna->delavvy();
switch ((_vm->_gyro->kCatacombMap[_vm->_gyro->_dna._catacombY - 1][_vm->_gyro->_dna._catacombX - 1] & 0xf00) >> 8) {
case 0x1:
apped(1, 12);
@@ -975,7 +974,6 @@ void Trip::call_special(uint16 which) {
catamove(1);
if (_vm->_gyro->_dna._room != r__catacombs)
return;
- _vm->_lucerna->delavvy();
apped(1, 1);
getback();
dawndelay();
@@ -986,7 +984,6 @@ void Trip::call_special(uint16 which) {
catamove(2);
if (_vm->_gyro->_dna._room != r__catacombs)
return;
- _vm->_lucerna->delavvy();
apped(1, 2);
getback();
dawndelay();
@@ -997,7 +994,6 @@ void Trip::call_special(uint16 which) {
catamove(3);
if (_vm->_gyro->_dna._room != r__catacombs)
return;
- _vm->_lucerna->delavvy();
apped(1, 3);
getback();
dawndelay();
@@ -1224,7 +1220,7 @@ void Trip::arrow_procs(byte tripnum) {
end;
on;
#endif
- _vm->_lucerna->gameover();
+ _vm->_lucerna->gameOver();
_vm->_gyro->_dna._userMovesAvvy = false; // Stop the user from moving him.
_vm->_timeout->set_up_timer(55, _vm->_timeout->procnaughty_duke, _vm->_timeout->reason_naughty_duke);
@@ -1499,7 +1495,7 @@ void Trip::fliproom(byte room, byte ped) {
return;
}
- _vm->_lucerna->exitroom(_vm->_gyro->_dna._room);
+ _vm->_lucerna->exitRoom(_vm->_gyro->_dna._room);
_vm->_lucerna->dusk();
getsetclear();
@@ -1512,12 +1508,12 @@ void Trip::fliproom(byte room, byte ped) {
if (_vm->_gyro->_dna._room == r__lustiesroom)
_vm->_gyro->_dna._enterCatacombsFromLustiesRoom = true;
- _vm->_lucerna->enterroom(room, ped);
+ _vm->_lucerna->enterRoom(room, ped);
apped(1, ped);
_vm->_gyro->_dna._enterCatacombsFromLustiesRoom = false;
_vm->_gyro->_oldDirection = _vm->_gyro->_dna._direction;
_vm->_gyro->_dna._direction = tr[0].face;
- _vm->_lucerna->showrw();
+ _vm->_lucerna->drawDirection();
for (fv = 0; fv <= 1; fv++) {
_vm->_gyro->_cp = 1 - _vm->_gyro->_cp;
diff --git a/engines/avalanche/visa2.cpp b/engines/avalanche/visa2.cpp
index 2f438ba5f9..bcdf7b73ac 100644
--- a/engines/avalanche/visa2.cpp
+++ b/engines/avalanche/visa2.cpp
@@ -175,8 +175,8 @@ void Visa::talkto(byte whom) {
if ((_vm->_gyro->_dna._lustieIsAsleep) & (!_vm->_gyro->_dna._objects[_vm->_gyro->kObjectPotion - 1])) {
dixi('q', 68);
_vm->_gyro->_dna._objects[_vm->_gyro->kObjectPotion - 1] = true;
- _vm->_lucerna->objectlist();
- _vm->_lucerna->points(3);
+ _vm->_lucerna->refreshObjectList();
+ _vm->_lucerna->incScore(3);
return;
} else {
if (_vm->_gyro->_dna._talkedToCrapulus)
@@ -277,7 +277,7 @@ void Visa::talkto(byte whom) {
if ((_vm->_gyro->_subjectNum == 0) && ((whom + 149) == _vm->_gyro->kPeopleCrapulus)) { // Crapulus: get the badge - first time only
_vm->_gyro->_dna._objects[_vm->_gyro->kObjectBadge - 1] = true;
- _vm->_lucerna->objectlist();
+ _vm->_lucerna->refreshObjectList();
dixi('q', 1); // Circular from Cardiff.
_vm->_gyro->_dna._talkedToCrapulus = true;
@@ -286,7 +286,7 @@ void Visa::talkto(byte whom) {
_vm->_trip->tr[1].vanishifstill = true;
_vm->_trip->tr[1].walkto(3); // Walks away.
- _vm->_lucerna->points(2);
+ _vm->_lucerna->incScore(2);
}
}