Made Engine::_timer protected

svn-id: r35543
This commit is contained in:
Max Horn 2008-12-25 20:53:59 +00:00
parent df20d264fd
commit 6837416556
7 changed files with 33 additions and 34 deletions

View file

@ -71,9 +71,9 @@ class Engine {
public: public:
OSystem *_system; OSystem *_system;
Audio::Mixer *_mixer; Audio::Mixer *_mixer;
Common::TimerManager * _timer;
protected: protected:
Common::TimerManager *_timer;
Common::EventManager *_eventMan; Common::EventManager *_eventMan;
Common::SaveFileManager *_saveFileMan; Common::SaveFileManager *_saveFileMan;
@ -250,10 +250,9 @@ public:
*/ */
void openMainMenuDialog(); void openMainMenuDialog();
inline Common::TimerManager *getTimerManager() { return _timer; }
Common::TimerManager *getTimerManager() { return _timer; } inline Common::EventManager *getEventManager() { return _eventMan; }
Common::EventManager *getEventManager() { return _eventMan; } inline Common::SaveFileManager *getSaveFileManager() { return _saveFileMan; }
Common::SaveFileManager *getSaveFileManager() { return _saveFileMan; }
public: public:

View file

@ -327,7 +327,7 @@ Interface::Interface(SagaEngine *vm) : _vm(vm) {
_disableAbortSpeeches = false; _disableAbortSpeeches = false;
// set save game reminder alarm // set save game reminder alarm
_vm->_timer->installTimerProc(&saveReminderCallback, TIMETOSAVE, this); _vm->getTimerManager()->installTimerProc(&saveReminderCallback, TIMETOSAVE, this);
} }
Interface::~Interface(void) { Interface::~Interface(void) {
@ -360,8 +360,8 @@ void Interface::updateSaveReminder() {
if (_active && _panelMode == kPanelMain) { if (_active && _panelMode == kPanelMain) {
_saveReminderState = _saveReminderState % _vm->getDisplayInfo().saveReminderNumSprites + 1; _saveReminderState = _saveReminderState % _vm->getDisplayInfo().saveReminderNumSprites + 1;
drawStatusBar(); drawStatusBar();
_vm->_timer->removeTimerProc(&saveReminderCallback); _vm->getTimerManager()->removeTimerProc(&saveReminderCallback);
_vm->_timer->installTimerProc(&saveReminderCallback, ((_vm->getGameId() == GID_ITE) ? TIMETOBLINK_ITE : TIMETOBLINK_IHNM), this); _vm->getTimerManager()->installTimerProc(&saveReminderCallback, ((_vm->getGameId() == GID_ITE) ? TIMETOBLINK_ITE : TIMETOBLINK_IHNM), this);
} }
} }
@ -1393,8 +1393,8 @@ void Interface::setSave(PanelButton *panelButton) {
fileName = _vm->calcSaveFileName(_vm->getSaveFile(_optionSaveFileTitleNumber)->slotNumber); fileName = _vm->calcSaveFileName(_vm->getSaveFile(_optionSaveFileTitleNumber)->slotNumber);
_vm->save(fileName, _textInputString); _vm->save(fileName, _textInputString);
} }
_vm->_timer->removeTimerProc(&saveReminderCallback); _vm->getTimerManager()->removeTimerProc(&saveReminderCallback);
_vm->_timer->installTimerProc(&saveReminderCallback, TIMETOSAVE, this); _vm->getTimerManager()->installTimerProc(&saveReminderCallback, TIMETOSAVE, this);
setSaveReminderState(1); setSaveReminderState(1);
_textInput = false; _textInput = false;

View file

@ -372,7 +372,7 @@ Music::Music(SagaEngine *vm, Audio::Mixer *mixer, MidiDriver *driver) : _vm(vm),
} }
Music::~Music() { Music::~Music() {
_vm->_timer->removeTimerProc(&musicVolumeGaugeCallback); _vm->getTimerManager()->removeTimerProc(&musicVolumeGaugeCallback);
_mixer->stopHandle(_musicHandle); _mixer->stopHandle(_musicHandle);
delete _player; delete _player;
xmidiParser->setMidiDriver(NULL); xmidiParser->setMidiDriver(NULL);
@ -406,7 +406,7 @@ void Music::musicVolumeGauge() {
_player->setVolume(volume); _player->setVolume(volume);
if (_currentVolumePercent == 100) { if (_currentVolumePercent == 100) {
_vm->_timer->removeTimerProc(&musicVolumeGaugeCallback); _vm->getTimerManager()->removeTimerProc(&musicVolumeGaugeCallback);
_currentVolume = _targetVolume; _currentVolume = _targetVolume;
} }
} }
@ -421,12 +421,12 @@ void Music::setVolume(int volume, int time) {
if (time == 1) { if (time == 1) {
_mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, volume); _mixer->setVolumeForSoundType(Audio::Mixer::kMusicSoundType, volume);
_player->setVolume(volume); _player->setVolume(volume);
_vm->_timer->removeTimerProc(&musicVolumeGaugeCallback); _vm->getTimerManager()->removeTimerProc(&musicVolumeGaugeCallback);
_currentVolume = volume; _currentVolume = volume;
return; return;
} }
_vm->_timer->installTimerProc(&musicVolumeGaugeCallback, time * 100L, this); _vm->getTimerManager()->installTimerProc(&musicVolumeGaugeCallback, time * 100L, this);
} }
bool Music::isPlaying() { bool Music::isPlaying() {

View file

@ -143,7 +143,7 @@ void Puzzle::initPieceInfo(int i, int16 curX, int16 curY, byte offX, byte offY,
void Puzzle::execute(void) { void Puzzle::execute(void) {
_active = true; _active = true;
_vm->_timer->installTimerProc(&hintTimerCallback, kPuzzleHintTime, this); _vm->getTimerManager()->installTimerProc(&hintTimerCallback, kPuzzleHintTime, this);
initPieces(); initPieces();
@ -158,7 +158,7 @@ void Puzzle::execute(void) {
void Puzzle::exitPuzzle(void) { void Puzzle::exitPuzzle(void) {
_active = false; _active = false;
_vm->_timer->removeTimerProc(&hintTimerCallback); _vm->getTimerManager()->removeTimerProc(&hintTimerCallback);
_vm->_scene->changeScene(ITE_SCENE_LODGE, 0, kTransitionNoFade); _vm->_scene->changeScene(ITE_SCENE_LODGE, 0, kTransitionNoFade);
_vm->_interface->setMode(kPanelMain); _vm->_interface->setMode(kPanelMain);
@ -405,17 +405,17 @@ void Puzzle::solicitHint(void) {
_vm->_actor->setSpeechColor(1, kITEColorBlack); _vm->_actor->setSpeechColor(1, kITEColorBlack);
_vm->_timer->removeTimerProc(&hintTimerCallback); _vm->getTimerManager()->removeTimerProc(&hintTimerCallback);
switch (_hintRqState) { switch (_hintRqState) {
case kRQSpeaking: case kRQSpeaking:
if (_vm->_actor->isSpeaking()) { if (_vm->_actor->isSpeaking()) {
_vm->_timer->installTimerProc(&hintTimerCallback, 50000, this); _vm->getTimerManager()->installTimerProc(&hintTimerCallback, 50000, this);
break; break;
} }
_hintRqState = _hintNextRqState; _hintRqState = _hintNextRqState;
_vm->_timer->installTimerProc(&hintTimerCallback, 333333, this); _vm->getTimerManager()->installTimerProc(&hintTimerCallback, 333333, this);
break; break;
case kRQNoHint: case kRQNoHint:
@ -438,11 +438,11 @@ void Puzzle::solicitHint(void) {
// Roll to see if Sakka scolds // Roll to see if Sakka scolds
if (_vm->_rnd.getRandomNumber(1)) { if (_vm->_rnd.getRandomNumber(1)) {
_hintRqState = kRQSakkaDenies; _hintRqState = kRQSakkaDenies;
_vm->_timer->installTimerProc(&hintTimerCallback, 200000, this); _vm->getTimerManager()->installTimerProc(&hintTimerCallback, 200000, this);
} else { } else {
_hintRqState = kRQSpeaking; _hintRqState = kRQSpeaking;
_hintNextRqState = kRQHintRequested; _hintNextRqState = kRQHintRequested;
_vm->_timer->installTimerProc(&hintTimerCallback, 50000, this); _vm->getTimerManager()->installTimerProc(&hintTimerCallback, 50000, this);
} }
break; break;
@ -455,7 +455,7 @@ void Puzzle::solicitHint(void) {
_hintRqState = kRQSpeaking; _hintRqState = kRQSpeaking;
_hintNextRqState = kRQHintRequestedStage2; _hintNextRqState = kRQHintRequestedStage2;
_vm->_timer->installTimerProc(&hintTimerCallback, 50000, this); _vm->getTimerManager()->installTimerProc(&hintTimerCallback, 50000, this);
_vm->_interface->converseClear(); _vm->_interface->converseClear();
_vm->_interface->converseAddText(optionsStr[_lang][kROAccept], 0, 1, 0, 0 ); _vm->_interface->converseAddText(optionsStr[_lang][kROAccept], 0, 1, 0, 0 );
@ -482,7 +482,7 @@ void Puzzle::solicitHint(void) {
_vm->_interface->converseAddText(optionsStr[_lang][kROLater], 0, 0, 0, 0); _vm->_interface->converseAddText(optionsStr[_lang][kROLater], 0, 0, 0, 0);
_vm->_interface->converseDisplayText(); _vm->_interface->converseDisplayText();
_vm->_timer->installTimerProc(&hintTimerCallback, kPuzzleHintTime, this); _vm->getTimerManager()->installTimerProc(&hintTimerCallback, kPuzzleHintTime, this);
_hintRqState = kRQSkipEverything; _hintRqState = kRQSkipEverything;
break; break;
@ -505,8 +505,8 @@ void Puzzle::handleReply(int reply) {
case 2: // Decline the hint case 2: // Decline the hint
_vm->_actor->abortSpeech(); _vm->_actor->abortSpeech();
_hintRqState = kRQNoHint; _hintRqState = kRQNoHint;
_vm->_timer->removeTimerProc(&hintTimerCallback); _vm->getTimerManager()->removeTimerProc(&hintTimerCallback);
_vm->_timer->installTimerProc(&hintTimerCallback, kPuzzleHintTime * 2, this); _vm->getTimerManager()->installTimerProc(&hintTimerCallback, kPuzzleHintTime * 2, this);
clearHint(); clearHint();
break; break;
} }
@ -568,8 +568,8 @@ void Puzzle::giveHint(void) {
_vm->_interface->converseAddText(optionsStr[_lang][kROLater], 0, 0, 0, 0); _vm->_interface->converseAddText(optionsStr[_lang][kROLater], 0, 0, 0, 0);
_vm->_interface->converseDisplayText(); _vm->_interface->converseDisplayText();
_vm->_timer->removeTimerProc(&hintTimerCallback); _vm->getTimerManager()->removeTimerProc(&hintTimerCallback);
_vm->_timer->installTimerProc(&hintTimerCallback, kPuzzleHintTime, this); _vm->getTimerManager()->installTimerProc(&hintTimerCallback, kPuzzleHintTime, this);
} }
void Puzzle::clearHint(void) { void Puzzle::clearHint(void) {

View file

@ -52,7 +52,7 @@ Render::Render(SagaEngine *vm, OSystem *system) {
#ifdef SAGA_DEBUG #ifdef SAGA_DEBUG
// Initialize FPS timer callback // Initialize FPS timer callback
_vm->_timer->installTimerProc(&fpsTimerCallback, 1000000, this); _vm->getTimerManager()->installTimerProc(&fpsTimerCallback, 1000000, this);
#endif #endif
_backGroundSurface.create(_vm->getDisplayInfo().width, _vm->getDisplayInfo().height, 1); _backGroundSurface.create(_vm->getDisplayInfo().width, _vm->getDisplayInfo().height, 1);
@ -64,7 +64,7 @@ Render::Render(SagaEngine *vm, OSystem *system) {
Render::~Render(void) { Render::~Render(void) {
#ifdef SAGA_DEBUG #ifdef SAGA_DEBUG
_vm->_timer->removeTimerProc(&fpsTimerCallback); _vm->getTimerManager()->removeTimerProc(&fpsTimerCallback);
#endif #endif
_backGroundSurface.free(); _backGroundSurface.free();

View file

@ -60,14 +60,14 @@ IMuseDigital::IMuseDigital(ScummEngine_v7 *scumm, Audio::Mixer *mixer, int fps)
memset(_track[l], 0, sizeof(Track)); memset(_track[l], 0, sizeof(Track));
_track[l]->trackId = l; _track[l]->trackId = l;
} }
_vm->_timer->installTimerProc(timer_handler, 1000000 / _callbackFps, this); _vm->getTimerManager()->installTimerProc(timer_handler, 1000000 / _callbackFps, this);
_audioNames = NULL; _audioNames = NULL;
_numAudioNames = 0; _numAudioNames = 0;
} }
IMuseDigital::~IMuseDigital() { IMuseDigital::~IMuseDigital() {
_vm->_timer->removeTimerProc(timer_handler); _vm->getTimerManager()->removeTimerProc(timer_handler);
stopAllSounds(); stopAllSounds();
for (int l = 0; l < MAX_DIGITAL_TRACKS + MAX_DIGITAL_FADETRACKS; l++) { for (int l = 0; l < MAX_DIGITAL_TRACKS + MAX_DIGITAL_FADETRACKS; l++) {
delete _track[l]; delete _track[l];

View file

@ -1054,12 +1054,12 @@ void Sound::startCDTimer() {
// it too high, and there will be a nasty "hiccup" just as Chaos // it too high, and there will be a nasty "hiccup" just as Chaos
// appears. // appears.
_vm->_timer->removeTimerProc(&cd_timer_handler); _vm->getTimerManager()->removeTimerProc(&cd_timer_handler);
_vm->_timer->installTimerProc(&cd_timer_handler, 100700, _vm); _vm->getTimerManager()->installTimerProc(&cd_timer_handler, 100700, _vm);
} }
void Sound::stopCDTimer() { void Sound::stopCDTimer() {
_vm->_timer->removeTimerProc(&cd_timer_handler); _vm->getTimerManager()->removeTimerProc(&cd_timer_handler);
} }
void Sound::playCDTrack(int track, int numLoops, int startFrame, int duration) { void Sound::playCDTrack(int track, int numLoops, int startFrame, int duration) {