aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/avalanche/avalot.cpp9
-rw-r--r--engines/avalanche/parser.cpp17
2 files changed, 23 insertions, 3 deletions
diff --git a/engines/avalanche/avalot.cpp b/engines/avalanche/avalot.cpp
index b1bbf4ff09..36ce16d09c 100644
--- a/engines/avalanche/avalot.cpp
+++ b/engines/avalanche/avalot.cpp
@@ -118,10 +118,13 @@ Room AvalancheEngine::_whereIs[29] = {
Clock::Clock(AvalancheEngine *vm) {
_vm = vm;
+ // Magic value to determine if we just created the instance
_oldHour = _oldHourAngle = _oldMinute = 17717;
+ _hour = _minute = _second = 0;
+ _hourAngle = 0;
}
-void Clock::update() { // TODO: Move variables from Gyro to here (or at least somewhere nearby), rename them.
+void Clock::update() {
TimeDate t;
_vm->_system->getTimeAndDate(t);
_hour = t.tm_hour;
@@ -177,7 +180,9 @@ void Clock::plotHands() {
}
void Clock::chime() {
- if ((_oldHour == 17717) || (!_vm->_soundFx)) // Too high - must be first time around
+ // Too high - must be first time around
+ // Mute - skip the sound generation
+ if ((_oldHour == 17717) || (!_vm->_soundFx))
return;
byte hour = _hour % 12;
diff --git a/engines/avalanche/parser.cpp b/engines/avalanche/parser.cpp
index b4cb64f70f..9b6b841c8a 100644
--- a/engines/avalanche/parser.cpp
+++ b/engines/avalanche/parser.cpp
@@ -37,6 +37,21 @@ const char *Parser::kVersionNum = "1.30";
Parser::Parser(AvalancheEngine *vm) {
_vm = vm;
+
+ _verb = kVerbCodePardon;
+ _thing = kPardon;
+ _person = kPeopleNone;
+ _polite = false;
+ _inputTextPos = 0;
+ _quote = false;
+ _cursorState = false;
+ _weirdWord = false;
+ _wearing = kNothing;
+ _thing2 = 0;
+ _sworeNum = 0;
+ _alcoholLevel = 0;
+ _playedNim = 0;
+ _boughtOnion = false;
}
void Parser::init() {
@@ -2457,7 +2472,7 @@ void Parser::doVerb(VerbCode id) {
}
void Parser::resetVariables() {
- _wearing = 0;
+ _wearing = kNothing;
_sworeNum = 0;
_alcoholLevel = 0;
_playedNim = 0;