diff options
-rw-r--r-- | engines/avalanche/avalot.cpp | 9 | ||||
-rw-r--r-- | engines/avalanche/parser.cpp | 17 |
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; |