aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/avalanche/acci2.cpp2
-rw-r--r--engines/avalanche/gyro2.cpp105
-rw-r--r--engines/avalanche/gyro2.h93
-rw-r--r--engines/avalanche/timeout2.cpp4
4 files changed, 53 insertions, 151 deletions
diff --git a/engines/avalanche/acci2.cpp b/engines/avalanche/acci2.cpp
index 30f5a4b9a1..830087361b 100644
--- a/engines/avalanche/acci2.cpp
+++ b/engines/avalanche/acci2.cpp
@@ -1817,7 +1817,7 @@ void Acci::doThat() {
_vm->_visa->dixi('D', 9);
_vm->_lucerna->points(3);
}
- _vm->_gyro->updateMoney(3); // It costs thruppence.
+ _vm->_gyro->decreaseMoney(3); // It costs thruppence.
_vm->_gyro->_dna._objects[_vm->_gyro->kObjectOnion - 1] = true;
_vm->_lucerna->objectlist();
_vm->_gyro->_dna._boughtOnion = true;
diff --git a/engines/avalanche/gyro2.cpp b/engines/avalanche/gyro2.cpp
index 1fd906d48d..879cc15714 100644
--- a/engines/avalanche/gyro2.cpp
+++ b/engines/avalanche/gyro2.cpp
@@ -37,20 +37,15 @@
#include "avalanche/acci2.h"
#include "avalanche/trip6.h"
-#include "common/textconsole.h"
#include "common/file.h"
-
#include "common/random.h"
-
-//#include "dropdown.h"
-//#include "basher.h"
+#include "common/textconsole.h"
namespace Avalanche {
const char *Gyro::kVersionNum = "1.30";
const char *Gyro::kCopyright = "1995";
-
const MouseHotspotType Gyro::kMouseHotSpots[9] = {
{8,0}, // 1 - up-arrow
{0,0}, // 2 - screwdriver
@@ -66,15 +61,15 @@ const MouseHotspotType Gyro::kMouseHotSpots[9] = {
// Art gallery at 2,1; notice about this at 2,2.
const int32 Gyro::kCatacombMap[8][8] = {
// Geida's room
- // 1 2 3 | 4 5 6 7 8
- {0x204, 0x200, 0xd0f0, 0xf0ff, 0xff, 0xd20f, 0xd200, 0x200},
- {0x50f1, 0x20ff, 0x2ff, 0xff, 0xe0ff, 0x20ff, 0x200f, 0x7210},
- {0xe3f0, 0xe10f, 0x72f0, 0xff, 0xe0ff, 0xff, 0xff, 0x800f},
- {0x2201, 0x2030, 0x800f, 0x220, 0x20f, 0x30, 0xff, 0x23f}, // >> Oubliette
- {0x5024, 0xf3, 0xff, 0x200f, 0x22f0, 0x20f, 0x200, 0x7260},
- {0xf0, 0x2ff, 0xe2ff, 0xff, 0x200f, 0x50f0, 0x72ff, 0x201f},
- {0xf6, 0x220f, 0x22f0, 0x30f, 0xf0, 0x20f, 0x8200, 0x2f0}, // <<< In here
- {0x34, 0x200f, 0x51f0, 0x201f, 0xf1, 0x50ff, 0x902f, 0x2062}
+ // 1 2 3 | 4 5 6 7 8
+ {0x204, 0x200, 0xd0f0, 0xf0ff, 0xff, 0xd20f, 0xd200, 0x200},
+ {0x50f1, 0x20ff, 0x2ff, 0xff, 0xe0ff, 0x20ff, 0x200f, 0x7210},
+ {0xe3f0, 0xe10f, 0x72f0, 0xff, 0xe0ff, 0xff, 0xff, 0x800f},
+ {0x2201, 0x2030, 0x800f, 0x220, 0x20f, 0x30, 0xff, 0x23f}, // >> Oubliette
+ {0x5024, 0xf3, 0xff, 0x200f, 0x22f0, 0x20f, 0x200, 0x7260},
+ {0xf0, 0x2ff, 0xe2ff, 0xff, 0x200f, 0x50f0, 0x72ff, 0x201f},
+ {0xf6, 0x220f, 0x22f0, 0x30f, 0xf0, 0x20f, 0x8200, 0x2f0}, // <<< In here
+ {0x34, 0x200f, 0x51f0, 0x201f, 0xf1, 0x50ff, 0x902f, 0x2062}
};
// vv Stairs trap.
@@ -119,22 +114,22 @@ const char Gyro::kSpludwicksOrder[3] = {kObjectOnion, kObjectInk, kObjectMushroo
// A quasiped defines how people who aren't sprites talk. For example, quasiped
// "A" is Dogfood. The rooms aren't stored because I'm leaving that to context.
const QuasipedType Gyro::kQuasipeds[16] = {
- {2, kColorLightgray, 19, kColorBrown, kPeopleDogfood}, // A: Dogfood (screen 19).
- {3, kColorGreen, 19, kColorWhite, kPeopleIbythneth}, // B: Ibythneth (screen 19).
- {3, kColorWhite, 1, kColorMagenta, kPeopleArkata}, // C: Arkata (screen 1).
- {3, kColorBlack, 23, kColorRed, 177}, // D: Hawk (screen 23).
- {3, kColorLightgreen, 50, kColorBrown, kPeopleTrader}, // E: Trader (screen 50).
- {6, kColorYellow, 42, kColorRed, kPeopleAvalot}, // F: Avvy, tied up (scr.42)
- {2, kColorBlue, 16, kColorWhite, kPeopleAyles}, // G: Ayles (screen 16).
- {2, kColorBrown, 7, kColorWhite, kPeopleJacques}, // H: Jacques (screen 7).
- {2, kColorLightgreen, 47, kColorGreen, kPeopleSpurge}, // I: Spurge (screen 47).
- {3, kColorYellow, 47, kColorRed, kPeopleAvalot}, // J: Avalot (screen 47).
- {2, kColorLightgray, 23, kColorBlack, kPeopleDuLustie}, // K: du Lustie (screen 23).
- {2, kColorYellow, 27, kColorRed, kPeopleAvalot}, // L: Avalot (screen 27).
- {3, kColorWhite, 27, kColorRed, 177}, // M: Avaroid (screen 27).
- {4, kColorLightgray, 19, kColorDarkgray, kPeopleMalagauche}, // N: Malagauche (screen 19).
- {5, kColorLightmagenta, 47, kColorRed, kPeoplePort}, // O: Port (screen 47).
- {2, kColorLightgreen, 51, kColorDarkgray, kPeopleDrDuck} // P: Duck (screen 51).
+ {2, kColorLightgray, 19, kColorBrown, kPeopleDogfood}, // A: Dogfood (screen 19).
+ {3, kColorGreen, 19, kColorWhite, kPeopleIbythneth}, // B: Ibythneth (screen 19).
+ {3, kColorWhite, 1, kColorMagenta, kPeopleArkata}, // C: Arkata (screen 1).
+ {3, kColorBlack, 23, kColorRed, 177}, // D: Hawk (screen 23).
+ {3, kColorLightgreen, 50, kColorBrown, kPeopleTrader}, // E: Trader (screen 50).
+ {6, kColorYellow, 42, kColorRed, kPeopleAvalot}, // F: Avvy, tied up (scr.42)
+ {2, kColorBlue, 16, kColorWhite, kPeopleAyles}, // G: Ayles (screen 16).
+ {2, kColorBrown, 7, kColorWhite, kPeopleJacques}, // H: Jacques (screen 7).
+ {2, kColorLightgreen, 47, kColorGreen, kPeopleSpurge}, // I: Spurge (screen 47).
+ {3, kColorYellow, 47, kColorRed, kPeopleAvalot}, // J: Avalot (screen 47).
+ {2, kColorLightgray, 23, kColorBlack, kPeopleDuLustie}, // K: du Lustie (screen 23).
+ {2, kColorYellow, 27, kColorRed, kPeopleAvalot}, // L: Avalot (screen 27).
+ {3, kColorWhite, 27, kColorRed, 177}, // M: Avaroid (screen 27).
+ {4, kColorLightgray, 19, kColorDarkgray, kPeopleMalagauche}, // N: Malagauche (screen 19).
+ {5, kColorLightmagenta, 47, kColorRed, kPeoplePort}, // O: Port (screen 47).
+ {2, kColorLightgreen, 51, kColorDarkgray, kPeopleDrDuck} // P: Duck (screen 51).
};
const char Gyro::kMusicKeys[] = "QWERTYUIOP[]";
@@ -143,9 +138,8 @@ const uint16 Gyro::kNotes[12] = {196, 220, 247, 262, 294, 330, 350, 392, 440, 49
const TuneType Gyro::kTune = {
kPitchHigher, kPitchHigher, kPitchLower, kPitchSame, kPitchHigher, kPitchHigher, kPitchLower, kPitchHigher, kPitchHigher, kPitchHigher,
- kPitchLower, kPitchHigher, kPitchHigher,
- kPitchSame, kPitchHigher, kPitchLower, kPitchLower, kPitchLower, kPitchLower, kPitchHigher, kPitchHigher, kPitchLower, kPitchLower, kPitchLower,
- kPitchLower, kPitchSame, kPitchLower, kPitchHigher, kPitchSame, kPitchLower, kPitchHigher
+ kPitchLower, kPitchHigher, kPitchHigher, kPitchSame, kPitchHigher, kPitchLower, kPitchLower, kPitchLower, kPitchLower, kPitchHigher,
+ kPitchHigher, kPitchLower, kPitchLower, kPitchLower, kPitchLower, kPitchSame, kPitchLower, kPitchHigher, kPitchSame, kPitchLower, kPitchHigher
};
byte Gyro::_whereIs[29] = {
@@ -175,9 +169,6 @@ byte Gyro::_whereIs[29] = {
r__wisewomans // The Wise Woman.
};
-// CHECKME: Useless?
-// const char Gyro::kItemsChar[] = "WMBParCLguKeSnIohn";
-
Gyro::Gyro(AvalancheEngine *vm) : _interrogation(0), _onCanDoPageSwap(true) {
_vm = vm;
@@ -186,6 +177,7 @@ Gyro::Gyro(AvalancheEngine *vm) : _interrogation(0), _onCanDoPageSwap(true) {
for (int ff = 0; ff < 2; ff++)
_also[fv][ff] = 0;
}
+
_dna._totalTime = 0;
}
@@ -197,9 +189,9 @@ Gyro::~Gyro() {
_digits[9].free();
}
-Common::String Gyro::intToStr(int32 x) {
- Common::String q = Common::String::format("%d", x);
- return q;
+Common::String Gyro::intToStr(int32 num) {
+ Common::String result = Common::String::format("%d", num);
+ return result;
}
void Gyro::newMouse(byte id) {
@@ -230,28 +222,28 @@ void Gyro::drawShadow(int16 x1, int16 y1, int16 x2, int16 y2, byte hc, byte sc)
warning("STUB: Gyro::shadow()");
}
-void Gyro::shadowBox(int16 x1, int16 y1, int16 x2, int16 y2, Common::String t) {
+void Gyro::drawShadowBox(int16 x1, int16 y1, int16 x2, int16 y2, Common::String t) {
warning("STUB: Gyro::shbox()");
}
void Gyro::newGame() {
- for (byte gm = 0; gm < kMaxSprites; gm++) {
- if (_vm->_trip->tr[gm].quick)
- _vm->_trip->tr[gm].done();
+ for (byte i = 0; i < kMaxSprites; i++) {
+ if (_vm->_trip->tr[i].quick)
+ _vm->_trip->tr[i].done();
}
// Deallocate sprite. Sorry, beta testers!
_vm->_trip->tr[0].init(0, true, _vm->_trip);
- _alive = true;
+ _alive = true;
_score = 0;
- //for gd:=0 to 5 do which[gd]:=1;
memset(&_vm->_gyro->_dna, 0, sizeof(DnaType));
+
_vm->_scrolls->natural();
_vm->_lucerna->mousepage(0);
+
_dna._spareEvening = "answer a questionnaire";
_dna._favouriteDrink = "beer";
-
_dna._money = 30; // 2/6
_dna._direction = kDirectionStopped;
_dna._wearing = kObjectClothes;
@@ -279,7 +271,7 @@ void Gyro::newGame() {
_dna._avvyInBed = true;
_enidFilename = "";
- for (byte gd = 0; gd <= 1; gd++) {
+ for (byte i = 0; i <= 1; i++) {
_cp = 1 - _cp;
_vm->_trip->getback();
}
@@ -287,7 +279,6 @@ void Gyro::newGame() {
_vm->_lucerna->enterroom(1, 1);
_vm->_trip->new_game_for_trippancy();
_vm->_lucerna->showscore();
-
_vm->_dropdown->setupMenu();
_vm->_lucerna->clock_lucerna();
_vm->_lucerna->sprite_run();
@@ -314,7 +305,7 @@ void Gyro::forceNumlock() {
warning("STUB: Gyro::force_numlock()");
}
-bool Gyro::updateMoney(uint16 howmuchby) {
+bool Gyro::decreaseMoney(uint16 howmuchby) {
_dna._money -= howmuchby;
if (_dna._money < 0) {
_vm->_visa->dixi('Q', 2); // "You are now denariusless!"
@@ -324,8 +315,6 @@ bool Gyro::updateMoney(uint16 howmuchby) {
return true;
}
-// There'll may be problems with calling these functions because of the conversion of the arrays!!!
-// Keep an eye open!
Common::String Gyro::getName(byte whose) {
static const Common::String kLads[17] = {
"Avalot", "Spludwick", "Crapulus", "Dr. Duck", "Malagauche", "Friar Tuck",
@@ -335,28 +324,22 @@ Common::String Gyro::getName(byte whose) {
static const Common::String kLasses[4] = {"Arkata", "Geida", "\0xB1", "the Wise Woman"};
- assert((whose > 150) && (whose < 179));
-
if (whose < 175)
return kLads[whose - 150];
else
return kLasses[whose - 175];
}
-// Keep an eye open! ^
byte Gyro::getNameChar(byte whose) {
static const char kLadChar[] = "ASCDMTRwLfgeIyPu";
static const char kLassChar[] = "kG\0xB1o";
- assert((whose > 150) && (whose < 179));
-
if (whose < 175)
return kLadChar[whose - 150];
else
return kLassChar[whose - 175];
}
-// Keep an eye open! ^^
Common::String Gyro::getThing(byte which) {
static const Common::String kThings[kObjectNum] = {
"Wine", "Money-bag", "Bodkin", "Potion", "Chastity belt",
@@ -389,7 +372,6 @@ Common::String Gyro::getThing(byte which) {
return get_thing_result;
}
-// Keep an eye open! ^^^
char Gyro::getThingChar(byte which) {
static const char kThingsChar[] = "WMBParCLguKeSnIohn"; // V=Vinegar
@@ -407,7 +389,6 @@ char Gyro::getThingChar(byte which) {
return get_thingchar_result;
}
-// Keep an eye open! ^^^^
Common::String Gyro::getItem(byte which) {
static const Common::String kItems[kObjectNum] = {
"some wine", "your money-bag", "your bodkin", "a potion", "a chastity belt",
@@ -522,13 +503,9 @@ void Gyro::loadMouse(byte which) {
}
mask.free();
-
f.close();
-
-
CursorMan.replaceCursor(cursor.pixels, 16, 32, kMouseHotSpots[which - 1]._horizontal, kMouseHotSpots[which - 1]._vertical * 2, 255, false);
-
cursor.free();
}
diff --git a/engines/avalanche/gyro2.h b/engines/avalanche/gyro2.h
index ca367cd66f..e1ce464f56 100644
--- a/engines/avalanche/gyro2.h
+++ b/engines/avalanche/gyro2.h
@@ -69,7 +69,6 @@ struct DnaType { // Ux, uy, & ww now all belong to Trip5
bool _wonNim; // Have you *won* Nim? (That's harder.)
byte _wineState; // 0=good (Notts), 1=passable(Argent) ... 3=vinegar.
bool _cwytalotGone; // Has Cwytalot rushed off to Jerusalem yet?
-
byte _passwordNum; // Number of the passw for this game.
bool _aylesIsAwake; // pretty obvious!
byte _drawbridgeOpen; // Between 0 (shut) and 4 (open).
@@ -77,82 +76,50 @@ struct DnaType { // Ux, uy, & ww now all belong to Trip5
bool _boughtOnion; // Have you bought an onion yet?
bool _rottenOnion; // And has it rotted?
bool _onionInVinegar; // Is the onion in the vinegar?
-
byte _givenToSpludwick; // 0 = nothing given, 1 = onion...
byte _brummieStairs; // Progression through the stairs trick.
byte _cardiffQuestionNum; // Things you get asked in Cardiff.
-
bool _passedCwytalotInHerts; // Have you passed Cwytalot in Herts?
-
bool _avvyIsAwake; // Well? Is Avvy awake? (Screen 1 only.)
bool _avvyInBed; // True if Avvy's in bed, but awake.
-
bool _userMovesAvvy; // If this is false, the user has no control over Avvy's movements.
-
byte _dogFoodPos; // Which way Dogfood's looking in the pub.
-
bool _givenBadgeToIby; // Have you given the badge to Iby yet?
-
bool _friarWillTieYouUp; // If you're going to get tied up.
bool _tiedUp; // You ARE tied up!
-
byte _boxContent; // 0 = money (sixpence), 254 = empty, any other number implies the contents of the box.
-
bool _talkedToCrapulus; // Pretty self-explanatory.
-
byte _jacquesState; // 0=asleep, 1=awake, 2=gets up, 3=gone.
-
bool _bellsAreRinging; // Is Jacques ringing the bells?
-
bool _standingOnDais; // In room 71, inside Cardiff Castle.
bool _takenPen; // Have you taken the pen (in Cardiff?)
bool _arrowTriggered; // And has the arrow been triggered?
bool _arrowInTheDoor; // Did the arrow hit the wall?
-
Common::String _favouriteDrink, _favouriteSong, _worstPlaceOnEarth, _spareEvening; // Personalisation str's
-
uint32 _totalTime; // Your total time playing this game, in ticks.
-
byte _jumpStatus; // Fixes how high you're jumping.
-
bool _mushroomGrowing; // Is the mushroom growing in 42?
-
bool _spludwickAtHome; // Is Spludwick at home?
-
byte _lastRoom;
byte _lastRoomNotMap;
-
bool _crapulusWillTell; // Will Crapulus tell you about Spludwick being away?
-
bool _enterCatacombsFromLustiesRoom;
bool _teetotal; // Are we touching any more drinks?
byte _malagauche; // Position of Malagauche. See Celer for more info.
char _drinking; // What's he getting you?
-
bool _enteredLustiesRoomAsMonk;
-
byte _catacombX, _catacombY; // XY coords in the catacombs.
-
bool _avvysInTheCupboard; // On screen 22.
-
bool _geidaFollows; // Is Geida following you?
-
byte _geidaSpin, _geidaTime; // For the making "Geida dizzy" joke.
-
byte _nextBell; // For the ringing.
-
bool _givenPotionToGeida; // Does Geida have the potion?
bool _lustieIsAsleep; // Is BDL asleep?
-
byte _flipToWhere, _flipToPed; // For the sequencer.
-
bool _beenTiedUp; // In r__Robins.
-
bool _sittingInPub; // Are you sitting down in the pub?
byte _spurgeTalkCount; // Count for talking to Spurge.
-
bool _metAvaroid;
-
bool _takenMushroom, _givenPenToAyles, _askedDogfoodAboutNim;
};
@@ -347,9 +314,6 @@ public:
-
-
-
// If this is greater than zero, the next line you type is stored in the DNA in a position dictated by the value.
// If a scroll comes up, or you leave the room, it's automatically set to zero.
byte _interrogation;
@@ -360,9 +324,6 @@ public:
// You may know better than On which page to switch to.
bool _onCanDoPageSwap;
-
-
-
DnaType _dna;
byte _lineNum; // Number of lines.
LineType _lines[50]; // For Also.
@@ -375,23 +336,18 @@ public:
byte _scrollNum, _score, _whichwas;
byte _thinks;
bool _thinkThing;
-
int16 _talkX, _talkY;
byte _talkBackgroundColor, _talkFontColor;
byte _scrollBells; // no. of times to ring the bell
bool _onToolbar, _seeScroll; // TODO: maybe this means we're interacting with the toolbar / a scroll?
-
char _objectList[10];
-
::Graphics::Surface _digits[10]; // digitsize and rwlitesize are defined in Lucerna::load_digits() !!!
::Graphics::Surface _directions[9]; // Maybe it will be needed to move them to the class itself instead.
// Called .free() for them in ~Gyro().
-
byte _oldDirection;
int8 _scoreToDisplay[3];
byte _currentMouse; // current mouse-void
Common::String _verbStr; // what you can do with your object. :-)
-
Common::String *_also[31][2];
PedType _peds[15];
MagicType _magics[15];
@@ -400,27 +356,19 @@ public:
byte _fieldNum;
Common::String _flags;
Common::String _listen;
-
- uint16 _oh, _onh, _om, _hours, _minutes, _seconds;
-
+ uint16 _oh, _onh, _om, _hours, _minutes, _seconds; // For Timeout. TODO: Move them into it.
Common::String _atKey; // For XTs, set to "alt-". For ATs, set to "f1".
-
byte _cp, _ledStatus, _defaultLed;
FontType _font;
bool _alive;
byte _buffer[2000];
uint16 _bufSize;
-
int16 _underScroll; // Y-coord of just under the scroll text.
-
bool _dropdownActive; // Kludge so we don't have to keep referring to Dropdown
Common::String _roomnName; // Name of actual room
-
Common::String _subject; // What you're talking to them about.
byte _subjectNum; // The same thing.
-
bool _keyboardClick; // Is a keyboard click noise wanted?
-
byte _him, _her, _it;
int32 _roomTime; // Set to 0 when you enter a room, added to in every loop.
@@ -430,68 +378,45 @@ public:
Common::DumpFile _demoFileSave; // uruk added it - first use located in constructor of Basher
byte _lastPerson; // Last person to have been selected using the People menu.
-
bool _doingSpriteRun; // Only set to True if we're doing a sprite_run at this moment. This stops the trippancy system from moving any of the sprites.
-
bool _holdTheDawn; // If this is true, calling Dawn will do nothing. It's used, for example, at the start, to stop Load from dawning.
-
bool isLoaded; // Is it a loaded gamestate?
-
Common::String _enidFilename;
Gyro(AvalancheEngine *vm);
-
~Gyro();
- Common::String intToStr(int32 x);
-
+ Common::String intToStr(int32 num);
void newMouse(byte id);
-
void setMousePointerWait(); // Makes hourglass.
+ void loadMouse(byte which);
void note(uint16 hertz);
-
void blip();
+ void click(); // "Audio keyboard feedback"
- void shadowBox(int16 x1, int16 y1, int16 x2, int16 y2, Common::String t);
+ void setBackgroundColor(byte x);
+ void drawShadowBox(int16 x1, int16 y1, int16 x2, int16 y2, Common::String t);
void newGame(); // This sets up the DNA for a completely new game.
-
- void click(); // "Audio keyboard feedback"
-
void slowDown();
-
bool setFlag(char x);
-
void forceNumlock();
-
- bool updateMoney(uint16 howmuchby); // Called pennycheck in the original.
-
+ bool decreaseMoney(uint16 howmuchby); // Called pennycheck in the original.
+ void hangAroundForAWhile();
+
Common::String getName(byte whose);
-
byte getNameChar(byte whose);
-
Common::String getThing(byte which);
-
char getThingChar(byte which);
-
Common::String getItem(byte which); // Called get_better in the original.
-
Common::String f5Does(); // This procedure determines what f5 does.
- void loadMouse(byte which);
-
- void setBackgroundColor(byte x);
-
- void hangAroundForAWhile();
-
private:
AvalancheEngine *_vm;
- // CHECKME: Useless?
- // static const char kItemsChar[];
void drawShadow(int16 x1, int16 y1, int16 x2, int16 y2, byte hc, byte sc);
};
diff --git a/engines/avalanche/timeout2.cpp b/engines/avalanche/timeout2.cpp
index 9155643d27..085df26923 100644
--- a/engines/avalanche/timeout2.cpp
+++ b/engines/avalanche/timeout2.cpp
@@ -499,7 +499,7 @@ void Timeout::buydrinks() {
_vm->_visa->dixi('D', _vm->_gyro->_dna._drinking); // Display message about it.
_vm->_pingo->wobble(); // Do the special effects.
_vm->_visa->dixi('D', 1); // That'll be thruppence.
- if (_vm->_gyro->updateMoney(3)) // Pay 3d.
+ if (_vm->_gyro->decreaseMoney(3)) // Pay 3d.
_vm->_visa->dixi('D', 3); // Tell 'em you paid up.
_vm->_acci->drink();
}
@@ -510,7 +510,7 @@ void Timeout::buywine() {
_vm->_visa->dixi('D', 50); // You buy the wine.
_vm->_visa->dixi('D', 1); // It'll be thruppence.
- if (_vm->_gyro->updateMoney(3)) {
+ 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();