aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood/diskplayerscene.cpp
diff options
context:
space:
mode:
authorjohndoe1232013-01-17 08:27:38 +0000
committerWillem Jan Palenstijn2013-05-08 20:47:39 +0200
commita98d9aa58afb4dd944616e7f194c09ff28456e1b (patch)
treef25eacc5c406f272a2acefa5e579b13a4dc68fc8 /engines/neverhood/diskplayerscene.cpp
parent6ddedc955a5d04efda9b462154ccac2df4f8966a (diff)
downloadscummvm-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.cpp56
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 &param,
_diskIndex = (param.asPoint().x - 38) / 28;
_diskSlots[_diskIndex]->activate();
if (_updateStatus == kUSPlaying) {
- if (_diskAvailable[_diskIndex]) {
+ if (_diskAvailable[_diskIndex])
playDisk();
- } else {
+ else
playStatic();
- }
}
}
break;