diff options
author | johndoe123 | 2013-01-17 08:27:38 +0000 |
---|---|---|
committer | Willem Jan Palenstijn | 2013-05-08 20:47:39 +0200 |
commit | a98d9aa58afb4dd944616e7f194c09ff28456e1b (patch) | |
tree | f25eacc5c406f272a2acefa5e579b13a4dc68fc8 /engines/neverhood/diskplayerscene.cpp | |
parent | 6ddedc955a5d04efda9b462154ccac2df4f8966a (diff) | |
download | scummvm-rg350-a98d9aa58afb4dd944616e7f194c09ff28456e1b.tar.gz scummvm-rg350-a98d9aa58afb4dd944616e7f194c09ff28456e1b.tar.bz2 scummvm-rg350-a98d9aa58afb4dd944616e7f194c09ff28456e1b.zip |
NEVERHOOD: Clean up DiskplayerScene
- Enable return to launcher
- Remove obsolete comments
- Remove braces in single-line statements
- Remove unused non-transparent drawing code in BaseSurface::copyFrom
- Clean up mouse cursor insertion code in Scene class
Diffstat (limited to 'engines/neverhood/diskplayerscene.cpp')
-rw-r--r-- | engines/neverhood/diskplayerscene.cpp | 56 |
1 files changed, 27 insertions, 29 deletions
diff --git a/engines/neverhood/diskplayerscene.cpp b/engines/neverhood/diskplayerscene.cpp index 907e027bc3..d972943759 100644 --- a/engines/neverhood/diskplayerscene.cpp +++ b/engines/neverhood/diskplayerscene.cpp @@ -240,40 +240,40 @@ void DiskplayerPlayButton::release() { } } -DiskplayerSlot::DiskplayerSlot(NeverhoodEngine *vm, DiskplayerScene *diskplayerScene, int elementIndex, int value) - : Entity(vm, 0), _diskplayerScene(diskplayerScene), _elementIndex(elementIndex), _value(value), - _isLocked(false), _isBlinking(false), _countdown(0), _initialCountdown(2), _inactiveSlot(NULL), _appearSlot(NULL), _activeSlot(NULL) { - - if (value != 0 && elementIndex < 20) { - _inactiveSlot = _diskplayerScene->addSprite(new StaticSprite(_vm, kDiskplayerSlotFileHashes1[_elementIndex], 1100)); - _appearSlot = _diskplayerScene->addSprite(new StaticSprite(_vm, kDiskplayerSlotFileHashes2[_elementIndex], 1000)); - _activeSlot = _diskplayerScene->addSprite(new StaticSprite(_vm, kDiskplayerSlotFileHashes3[_elementIndex], 1100)); +DiskplayerSlot::DiskplayerSlot(NeverhoodEngine *vm, DiskplayerScene *diskplayerScene, int slotIndex, bool isAvailable) + : Entity(vm, 0), _diskplayerScene(diskplayerScene), _isLocked(false), _isBlinking(false), + _blinkCountdown(0), _initialBlinkCountdown(2), _inactiveSlot(NULL), _appearSlot(NULL), _activeSlot(NULL) { + + if (isAvailable && slotIndex < 20) { + _inactiveSlot = _diskplayerScene->addSprite(new StaticSprite(_vm, kDiskplayerSlotFileHashes1[slotIndex], 1100)); + _appearSlot = _diskplayerScene->addSprite(new StaticSprite(_vm, kDiskplayerSlotFileHashes2[slotIndex], 1000)); + _activeSlot = _diskplayerScene->addSprite(new StaticSprite(_vm, kDiskplayerSlotFileHashes3[slotIndex], 1100)); _inactiveSlot->setVisible(false); _appearSlot->setVisible(false); _activeSlot->setVisible(false); loadSound(0, 0x46210074); - setSoundPan(0, elementIndex * 100 / 19); - } else if (elementIndex != 20) { - _activeSlot = _diskplayerScene->addSprite(new StaticSprite(_vm, kDiskplayerSlotFileHashes4[_elementIndex], 1100)); + setSoundPan(0, slotIndex * 100 / 19); + } else if (slotIndex != 20) { + _activeSlot = _diskplayerScene->addSprite(new StaticSprite(_vm, kDiskplayerSlotFileHashes4[slotIndex], 1100)); _activeSlot->setVisible(false); } SetUpdateHandler(&DiskplayerSlot::update); } void DiskplayerSlot::update() { - if (_countdown != 0 && (--_countdown == 0)) { + if (_blinkCountdown != 0 && (--_blinkCountdown == 0)) { if (_isBlinking) { if (_inactiveSlot) _inactiveSlot->setVisible(true); if (_activeSlot) _activeSlot->setVisible(false); - _countdown = _initialCountdown / 2; + _blinkCountdown = _initialBlinkCountdown / 2; } else { if (_inactiveSlot) _inactiveSlot->setVisible(false); if (_activeSlot) _activeSlot->setVisible(true); - _countdown = _initialCountdown; + _blinkCountdown = _initialBlinkCountdown; } _isBlinking = !_isBlinking; } @@ -295,13 +295,13 @@ void DiskplayerSlot::play() { if (_activeSlot) _activeSlot->setVisible(true); _isBlinking = true; - _countdown = 0; + _blinkCountdown = 0; } } void DiskplayerSlot::activate() { if (!_isLocked) - _countdown = _initialCountdown; + _blinkCountdown = _initialBlinkCountdown; } void DiskplayerSlot::stop() { @@ -311,7 +311,7 @@ void DiskplayerSlot::stop() { if (_activeSlot) _activeSlot->setVisible(false); _isBlinking = false; - _countdown = 0; + _blinkCountdown = 0; } } @@ -330,17 +330,17 @@ DiskplayerScene::DiskplayerScene(NeverhoodEngine *vm, Module *parentModule, int _asKey = insertSprite<AsDiskplayerSceneKey>(); for (int i = 0; i < 20; i++) { - _diskAvailable[i] = 0; + _diskAvailable[i] = false; if (getSubVar(VA_IS_TAPE_INSERTED, i)) availableDisksCount++; } for (int i = 0; i < availableDisksCount; i++) - _diskAvailable[kDiskplayerInitArray[i] - 1] = 1; + _diskAvailable[kDiskplayerInitArray[i] - 1] = true; - for (int i = 0; i < 20; i++) { - _diskSlots[i] = new DiskplayerSlot(_vm, this, i, _diskAvailable[i]); - addEntity(_diskSlots[i]); + for (int slotIndex = 0; slotIndex < 20; slotIndex++) { + _diskSlots[slotIndex] = new DiskplayerSlot(_vm, this, slotIndex, _diskAvailable[slotIndex]); + addEntity(_diskSlots[slotIndex]); } _hasAllDisks = availableDisksCount == 20; @@ -348,7 +348,7 @@ DiskplayerScene::DiskplayerScene(NeverhoodEngine *vm, Module *parentModule, int if (_hasAllDisks && !getGlobalVar(V_HAS_FINAL_KEY)) _dropKey = true; - _finalDiskSlot = new DiskplayerSlot(_vm, this, 20, 0); + _finalDiskSlot = new DiskplayerSlot(_vm, this, 20, false); addEntity(_finalDiskSlot); insertPuzzleMouse(0x000408A8, 20, 620); @@ -372,11 +372,10 @@ void DiskplayerScene::update() { Scene::update(); if (_updateStatus == kUSTuningIn && _diskSmackerPlayer->isDone()) { - if (_diskAvailable[_diskIndex]) { + if (_diskAvailable[_diskIndex]) playDisk(); - } else { + else playStatic(); - } } else if (_updateStatus == kUSPlaying && _diskSmackerPlayer->isDone()) { _diskSlots[_diskIndex]->stop(); _diskIndex++; @@ -456,11 +455,10 @@ uint32 DiskplayerScene::handleMessage(int messageNum, const MessageParam ¶m, _diskIndex = (param.asPoint().x - 38) / 28; _diskSlots[_diskIndex]->activate(); if (_updateStatus == kUSPlaying) { - if (_diskAvailable[_diskIndex]) { + if (_diskAvailable[_diskIndex]) playDisk(); - } else { + else playStatic(); - } } } break; |