diff --git a/engines/dm/champion.cpp b/engines/dm/champion.cpp index a8e655a913b6..dc05ebc5c740 100644 --- a/engines/dm/champion.cpp +++ b/engines/dm/champion.cpp @@ -217,7 +217,7 @@ bool ChampionMan::isObjectThrown(uint16 champIndex, int16 slotIndex, int16 side) return false; } - _vm->_sound->requestPlay(k16_soundCOMBAT_ATTACK_SKELETON_ANIMATED_ARMOUR_DETH_KNIGHT, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, kDMSoundModePlayIfPrioritized); + _vm->_sound->requestPlay(kDMSoundIndexAttackSkelettonAnimatedArmorDethKnight, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, kDMSoundModePlayIfPrioritized); decrementStamina(champIndex, getThrowingStaminaCost(curThing)); disableAction(champIndex, 4); int16 experience = 8; diff --git a/engines/dm/dm.cpp b/engines/dm/dm.cpp index d9ffd322982e..15a397b92a24 100644 --- a/engines/dm/dm.cpp +++ b/engines/dm/dm.cpp @@ -542,7 +542,7 @@ void DMEngine::processEntrance() { } while (_newGameFl == kDMCommandEntranceDrawCredits); //Strangerke: CHECKME: Earlier versions were using G0566_puc_Graphic534_Sound01Switch - _sound->play(k01_soundSWITCH, 112, 0x40, 0x40); + _sound->play(kDMSoundIndexSwitch, 112, 0x40, 0x40); delay(20); _eventMan->showMouse(); if (_newGameFl) @@ -595,7 +595,7 @@ void DMEngine::endGame(bool doNotDrawCreditsOnly) { _eventMan->_primaryKeyboardInput = nullptr; _eventMan->_secondaryKeyboardInput = nullptr; if (doNotDrawCreditsOnly && !_gameWon) { - _sound->requestPlay(k06_soundSCREAM, _dungeonMan->_partyMapX, _dungeonMan->_partyMapY, kDMSoundModePlayImmediately); + _sound->requestPlay(kDMSoundIndexScream, _dungeonMan->_partyMapX, _dungeonMan->_partyMapY, kDMSoundModePlayImmediately); delay(240); } @@ -786,7 +786,7 @@ void DMEngine::openEntranceDoors() { for (uint16 animStep = 1; animStep < 32; ++animStep) { if ((animStep % 3) == 1) { // Strangerke: CHECKME: Earlier versions of the game were using G0565_puc_Graphic535_Sound02DoorRattle instead of k02_soundDOOR_RATTLE 2 - _sound->play(k02_soundDOOR_RATTLE, 145, 0x40, 0x40); + _sound->play(kDMSoundIndexDoorRattle, 145, 0x40, 0x40); } _displayMan->blitToScreen(_savedScreenForOpenEntranceDoors, &screenBox, 160, kDMColorNoTransparency, 200); @@ -939,7 +939,7 @@ void DMEngine::fuseSequence() { _projexpl->createExplosion(Thing::_explFireBall, attackId, lordChaosMapX, lordChaosMapY, kDMCreatureTypeSingleCenteredCreature); fuseSequenceUpdate(); } - _sound->requestPlay(k17_soundBUZZ, lordChaosMapX, lordChaosMapY, kDMSoundModePlayIfPrioritized); + _sound->requestPlay(kDMSoundIndexBuzz, lordChaosMapX, lordChaosMapY, kDMSoundModePlayIfPrioritized); lordGroup->_type = kDMCreatureTypeLordOrder; fuseSequenceUpdate(); for (int16 attackId = 55; attackId <= 255; attackId += 40) { @@ -948,7 +948,7 @@ void DMEngine::fuseSequence() { } for (int16 cycleCount = 3; cycleCount > 0; cycleCount--) { for (int16 switchCount = 4; switchCount > 0; switchCount--) { - _sound->requestPlay(k17_soundBUZZ, lordChaosMapX, lordChaosMapY, kDMSoundModePlayIfPrioritized); + _sound->requestPlay(kDMSoundIndexBuzz, lordChaosMapX, lordChaosMapY, kDMSoundModePlayIfPrioritized); lordGroup->_type = (switchCount & 0x0001) ? kDMCreatureTypeLordOrder : kDMCreatureTypeLordChaos; for (int16 fuseSequenceUpdateCount = cycleCount - 1; fuseSequenceUpdateCount >= 0; fuseSequenceUpdateCount--) fuseSequenceUpdate(); diff --git a/engines/dm/eventman.cpp b/engines/dm/eventman.cpp index e98f10816614..98828d990ead 100644 --- a/engines/dm/eventman.cpp +++ b/engines/dm/eventman.cpp @@ -1028,7 +1028,7 @@ void EventManager::commandMoveParty(CommandType cmdType) { damage |= _vm->_championMan->addPendingDamageAndWounds_getDamage(secondDamagedChampionIndex, 1, kDMWoundTorso | kDMWoundLegs, kDMAttackTypeSelf); if (damage) - _vm->_sound->requestPlay(k18_soundPARTY_DAMAGED, partyMapX, partyMapY, kDMSoundModePlayImmediately); + _vm->_sound->requestPlay(kDMSoundIndexPartyDamaged, partyMapX, partyMapY, kDMSoundModePlayImmediately); } else { isMovementBlocked = (_vm->_groupMan->groupGetThing(partyMapX, partyMapY) != Thing::_endOfList); if (isMovementBlocked) @@ -1174,7 +1174,7 @@ void EventManager::commandProcessType80ClickInDungeonView(int16 posX, int16 posY Junk *junkPtr = (Junk*)_vm->_dungeonMan->getSquareFirstThingData(mapX, mapY); if ((((Door*)junkPtr)->hasButton()) && _vm->_dungeonMan->_dungeonViewClickableBoxes[kDMViewCellDoorButtonOrWallOrn].isPointInside(posX, posY - 33)) { _vm->_stopWaitingForPlayerInput = true; - _vm->_sound->requestPlay(k01_soundSWITCH, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, kDMSoundModePlayIfPrioritized); + _vm->_sound->requestPlay(kDMSoundIndexSwitch, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, kDMSoundModePlayIfPrioritized); _vm->_moveSens->addEvent(k10_TMEventTypeDoor, mapX, mapY, kDMCellNorthWest, kDMSensorEffectToggle, _vm->_gameTime + 1); return; } diff --git a/engines/dm/group.cpp b/engines/dm/group.cpp index aa29da916f3c..28253e8f1f41 100644 --- a/engines/dm/group.cpp +++ b/engines/dm/group.cpp @@ -164,7 +164,7 @@ void GroupMan::dropGroupPossessions(int16 mapX, int16 mapY, Thing groupThing, So } while ((currentThing = nextThing) != Thing::_endOfList); if (soundMode != kDMSoundModeDoNotPlaySound) - _vm->_sound->requestPlay(weaponDropped ? k00_soundMETALLIC_THUD : k04_soundWOODEN_THUD_ATTACK_TROLIN_ANTMAN_STONE_GOLEM, mapX, mapY, soundMode); + _vm->_sound->requestPlay(weaponDropped ? kDMSoundIndexMetallicThud : kDMSoundIndexWoodenThudAttackTrolinAntmanStoneGolem, mapX, mapY, soundMode); } } @@ -294,7 +294,7 @@ void GroupMan::dropCreatureFixedPossessions(CreatureType creatureType, int16 map _vm->_moveSens->getMoveResult(nextUnusedThing, kDMMapXNotOnASquare, 0, mapX, mapY); currFixedPossession = *fixedPossessions++; } - _vm->_sound->requestPlay(weaponDropped ? k00_soundMETALLIC_THUD : k04_soundWOODEN_THUD_ATTACK_TROLIN_ANTMAN_STONE_GOLEM, mapX, mapY, soundMode); + _vm->_sound->requestPlay(weaponDropped ? kDMSoundIndexMetallicThud : kDMSoundIndexWoodenThudAttackTrolinAntmanStoneGolem, mapX, mapY, soundMode); } int16 GroupMan::getDirsWhereDestIsVisibleFromSource(int16 srcMapX, int16 srcMapY, int16 destMapX, int16 destMapY) { @@ -893,7 +893,7 @@ void GroupMan::processEvents29to41(int16 eventMapX, int16 eventMapY, int16 event AL0450_i_DestinationMapX = eventMapX; AL0451_i_DestinationMapY = eventMapY; AL0450_i_DestinationMapX += _vm->_dirIntoStepCountEast[AL0446_i_Direction] * 2, AL0451_i_DestinationMapY += _vm->_dirIntoStepCountNorth[AL0446_i_Direction] * 2; - _vm->_sound->requestPlay(k17_soundBUZZ, AL0450_i_DestinationMapX, AL0451_i_DestinationMapY, kDMSoundModePlayIfPrioritized); + _vm->_sound->requestPlay(kDMSoundIndexBuzz, AL0450_i_DestinationMapX, AL0451_i_DestinationMapY, kDMSoundModePlayIfPrioritized); goto T0209061_MoveGroup; } } @@ -1278,7 +1278,7 @@ int32 GroupMan::getCreatureAspectUpdateTime(ActiveGroup *activeGroup, int16 crea if (getFlag(aspect, kDMAspectMaskActiveGroupIsAttacking) && (creatureType == kDMCreatureTypeAnimatedArmour)) { if (_vm->getRandomNumber(2)) { toggleFlag(aspect, kDMAspectMaskActiveGroupFlipBitmap); - _vm->_sound->requestPlay(k16_soundCOMBAT_ATTACK_SKELETON_ANIMATED_ARMOUR_DETH_KNIGHT, _currentGroupMapX, _currentGroupMapY, kDMSoundModePlayIfPrioritized); + _vm->_sound->requestPlay(kDMSoundIndexAttackSkelettonAnimatedArmorDethKnight, _currentGroupMapX, _currentGroupMapY, kDMSoundModePlayIfPrioritized); } } else if (!getFlag(aspect, kDMAspectMaskActiveGroupIsAttacking) || !getFlag(creatureGraphicInfo, kDMCreatureMaskFlipDuringAttack)) { if (_vm->getRandomNumber(2)) @@ -1475,7 +1475,7 @@ bool GroupMan::isCreatureAttacking(Group *group, int16 mapX, int16 mapY, uint16 int16 kineticEnergy = (creatureInfo->_attack >> 2) + 1; kineticEnergy += _vm->getRandomNumber(kineticEnergy); kineticEnergy += _vm->getRandomNumber(kineticEnergy); - _vm->_sound->requestPlay(k13_soundSPELL, mapX, mapY, kDMSoundModePlayImmediately); + _vm->_sound->requestPlay(kDMSoundIndexSpell, mapX, mapY, kDMSoundModePlayImmediately); _vm->_projexpl->createProjectile(projectileThing, mapX, mapY, targetCell, (Direction)_currGroupPrimaryDirToParty, CLIP(20, kineticEnergy, 255), creatureInfo->_dexterity, 8); } else { int16 championIndex; @@ -1615,7 +1615,7 @@ int16 GroupMan::getChampionDamage(Group *group, uint16 champIndex) { int16 damage = _vm->_championMan->addPendingDamageAndWounds_getDamage(champIndex, attack, allowedWound, creatureInfo._attackType); if (damage) { - _vm->_sound->requestPlay(k09_soundCHAMPION_0_DAMAGED + champIndex, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, kDMSoundModePlayOneTickLater); + _vm->_sound->requestPlay(kDMSoundIndexChampion0Damaged + champIndex, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, kDMSoundModePlayOneTickLater); uint16 poisonAttack = creatureInfo._poisonAttack; if (poisonAttack && _vm->getRandomNumber(2)) { @@ -1767,7 +1767,7 @@ Thing GroupMan::groupGetGenerated(CreatureType creatureType, int16 healthMultipl (in which case the thing is referenced in the event) */ return Thing::_none; } - _vm->_sound->requestPlay(k17_soundBUZZ, mapX, mapY, kDMSoundModePlayIfPrioritized); + _vm->_sound->requestPlay(kDMSoundIndexBuzz, mapX, mapY, kDMSoundModePlayIfPrioritized); return groupThing; } diff --git a/engines/dm/inventory.cpp b/engines/dm/inventory.cpp index 608fadc75949..633237945d76 100644 --- a/engines/dm/inventory.cpp +++ b/engines/dm/inventory.cpp @@ -1018,7 +1018,7 @@ void InventoryMan::clickOnMouth() { _vm->_championMan->_champions[_vm->_championMan->_leaderIndex]._load += _vm->_dungeonMan->getObjectWeight(handThing) - handThingWeight; setFlag(_vm->_championMan->_champions[_vm->_championMan->_leaderIndex]._attributes, kDMAttributeLoad); } - _vm->_sound->requestPlay(k08_soundSWALLOW, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, kDMSoundModePlayImmediately); + _vm->_sound->requestPlay(kDMSoundIndexSwallow, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, kDMSoundModePlayImmediately); setFlag(curChampion->_attributes, kDMAttributeStatistics); if (_panelContent == kDMPanelContentFoodWaterPoisoned) diff --git a/engines/dm/menus.cpp b/engines/dm/menus.cpp index 317368e94fd4..0b9368b4839d 100644 --- a/engines/dm/menus.cpp +++ b/engines/dm/menus.cpp @@ -1106,10 +1106,10 @@ bool MenuMan::isActionPerformed(uint16 champIndex, int16 actionIndex) { case kDMActionSwing: case kDMActionChop: if ((Square(targetSquare).getType() == kDMElementTypeDoor) && (Square(targetSquare).getDoorState() == kDMDoorStateClosed)) { - _vm->_sound->requestPlay(k16_soundCOMBAT_ATTACK_SKELETON_ANIMATED_ARMOUR_DETH_KNIGHT, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, kDMSoundModePlayIfPrioritized); + _vm->_sound->requestPlay(kDMSoundIndexAttackSkelettonAnimatedArmorDethKnight, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, kDMSoundModePlayIfPrioritized); actionDisabledTicks = 6; _vm->_groupMan->groupIsDoorDestoryedByAttack(nextMapX, nextMapY, _vm->_championMan->getStrength(champIndex, kDMSlotActionHand), false, 2); - _vm->_sound->requestPlay(k04_soundWOODEN_THUD_ATTACK_TROLIN_ANTMAN_STONE_GOLEM, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, kDMSoundModePlayOneTickLater); + _vm->_sound->requestPlay(kDMSoundIndexWoodenThudAttackTrolinAntmanStoneGolem, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, kDMSoundModePlayOneTickLater); break; } case kDMActionDisrupt: @@ -1136,9 +1136,9 @@ bool MenuMan::isActionPerformed(uint16 champIndex, int16 actionIndex) { case kDMActionBrandish: case kDMActionBlowHorn: if (actionIndex == kDMActionWarCry) - _vm->_sound->requestPlay(k28_soundWAR_CRY, nextMapX, nextMapY, kDMSoundModePlayImmediately); + _vm->_sound->requestPlay(kDMSoundIndexWarCry, nextMapX, nextMapY, kDMSoundModePlayImmediately); else if (actionIndex == kDMActionBlowHorn) - _vm->_sound->requestPlay(k25_soundBLOW_HORN, nextMapX, nextMapY, kDMSoundModePlayImmediately); + _vm->_sound->requestPlay(kDMSoundIndexBlowHorn, nextMapX, nextMapY, kDMSoundModePlayImmediately); actionPerformed = isGroupFrightenedByAction(champIndex, actionIndex, nextMapX, nextMapY); break; @@ -1175,7 +1175,7 @@ bool MenuMan::isActionPerformed(uint16 champIndex, int16 actionIndex) { setChampionDirectionToPartyDirection(curChampion); Thing removedObject = _vm->_championMan->getObjectRemovedFromSlot(champIndex, kDMSlotReadyHand); - _vm->_sound->requestPlay(k16_soundCOMBAT_ATTACK_SKELETON_ANIMATED_ARMOUR_DETH_KNIGHT, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, kDMSoundModePlayIfPrioritized); + _vm->_sound->requestPlay(kDMSoundIndexAttackSkelettonAnimatedArmorDethKnight, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, kDMSoundModePlayIfPrioritized); _vm->_championMan->championShootProjectile(curChampion, removedObject, weaponInfoActionHand->_kineticEnergy + weaponInfoReadyHand->_kineticEnergy, (weaponInfoActionHand->getShootAttack() + _vm->_championMan->getSkillLevel(champIndex, kDMSkillShoot)) << 1, stepEnergy); } break; @@ -1482,7 +1482,7 @@ bool MenuMan::isMeleeActionPerformed(int16 champIndex, Champion *champ, int16 ac 0 /* FUSE */ }; - _vm->_sound->requestPlay(k16_soundCOMBAT_ATTACK_SKELETON_ANIMATED_ARMOUR_DETH_KNIGHT, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, kDMSoundModePlayIfPrioritized); + _vm->_sound->requestPlay(kDMSoundIndexAttackSkelettonAnimatedArmorDethKnight, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, kDMSoundModePlayIfPrioritized); if (_actionTargetGroupThing == Thing::_endOfList) return false; diff --git a/engines/dm/movesens.cpp b/engines/dm/movesens.cpp index 5ad6ac845148..1034f271fac3 100644 --- a/engines/dm/movesens.cpp +++ b/engines/dm/movesens.cpp @@ -182,7 +182,7 @@ bool MovesensMan::sensorIsTriggeredByClickOnWall(int16 mapX, int16 mapY, uint16 if (!doNotTriggerSensor) { atLeastOneSensorWasTriggered = true; if (currentSensor->getAttrAudibleA()) - _vm->_sound->requestPlay(k01_soundSWITCH, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, kDMSoundModePlayIfPrioritized); + _vm->_sound->requestPlay(kDMSoundIndexSwitch, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, kDMSoundModePlayIfPrioritized); if (!_vm->_championMan->_leaderEmptyHanded && ((processedSensorType == kDMSensorWallOrnClickWithSpecObjRemoved) || (processedSensorType == kDMSensorWallOrnClickWithSpecObjRemovedRotateSensors) || (processedSensorType == kDMSensorWallOrnClickWithSpecObjRemovedSensor))) { Thing *leaderThing = (Thing *)_vm->_dungeonMan->getThingData(leaderHandObject); @@ -279,7 +279,7 @@ bool MovesensMan::getMoveResult(Thing thing, int16 mapX, int16 mapY, int16 destM _vm->_dungeonMan->_partyMapX = destMapX; _vm->_dungeonMan->_partyMapY = destMapY; if (teleporter->isAudible()) - _vm->_sound->requestPlay(k17_soundBUZZ, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, kDMSoundModePlayImmediately); + _vm->_sound->requestPlay(kDMSoundIndexBuzz, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, kDMSoundModePlayImmediately); drawDungeonViewWhileFalling = true; if (teleporter->getAbsoluteRotation()) @@ -289,7 +289,7 @@ bool MovesensMan::getMoveResult(Thing thing, int16 mapX, int16 mapY, int16 destM } else { if (thingType == kDMThingTypeGroup) { if (teleporter->isAudible()) - _vm->_sound->requestPlay(k17_soundBUZZ, destMapX, destMapY, kDMSoundModePlayIfPrioritized); + _vm->_sound->requestPlay(kDMSoundIndexBuzz, destMapX, destMapY, kDMSoundModePlayIfPrioritized); moveGroupResult = getTeleporterRotatedGroupResult(teleporter, thing, mapIndexSource); } else { @@ -327,7 +327,7 @@ bool MovesensMan::getMoveResult(Thing thing, int16 mapX, int16 mapY, int16 destM _vm->_championMan->decrementStamina(championIdx, ((curChampion->_load * 25) / _vm->_championMan->getMaximumLoad(curChampion)) + 1); } } else if (_vm->_championMan->getDamagedChampionCount(20, kDMWoundLegs | kDMWoundFeet, kDMAttackTypeSelf)) - _vm->_sound->requestPlay(k06_soundSCREAM, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, kDMSoundModePlayImmediately); + _vm->_sound->requestPlay(kDMSoundIndexScream, _vm->_dungeonMan->_partyMapX, _vm->_dungeonMan->_partyMapY, kDMSoundModePlayImmediately); } _useRopeToClimbDownPit = false; } else if (thingType == kDMThingTypeGroup) { @@ -614,7 +614,7 @@ int16 MovesensMan::getSound(CreatureType creatureType) { case kDMCreatureTypeVexirk: case kDMCreatureTypeAntman: case kDMCreatureTypeDemon: - return k24_soundMOVE_MUMMY_TROLIN_ANTMAN_STONE_GOLEM_GIGGLER_VEXIRK_DEMON; + return kDMSoundIndexMoveMummyTrolinAntmanStoneGolemGiggleVexirkDemon; case kDMCreatureTypeGiantScorpion: case kDMCreatureTypePainRat: case kDMCreatureTypeRuster: @@ -622,19 +622,19 @@ int16 MovesensMan::getSound(CreatureType creatureType) { case kDMCreatureTypeRockpile: case kDMCreatureTypeMagentaWorm: case kDMCreatureTypeOitu: - return k26_soundMOVE_SCREAMER_ROCK_ROCKPILE_MAGENTA_WORM_WORM_PAIN_RAT_HELLHOUND_RUSTER_GIANT_SCORPION_SCORPION_OITU; + return kDMSoundIndexMoveScreamerRocksWormPainRatHellHoundRusterScorpionsOitu; case kDMCreatureTypeRedDragon: - return k32_soundMOVE_RED_DRAGON; + return kDMSoundIndexMoveRedDragon; case kDMCreatureTypeSkeleton: - return k33_soundMOVE_SKELETON; + return kDMSoundIndexMoveSkeletton; case kDMCreatureTypeAnimatedArmour: - return k22_soundMOVE_ANIMATED_ARMOUR_DETH_KNIGHT; + return kDMSoundIndexMoveAnimatedArmorDethKnight; case kDMCreatureTypeSwampSlime: case kDMCreatureTypeWaterElemental: - return k27_soundMOVE_SWAMP_SLIME_SLIME_DEVIL_WATER_ELEMENTAL; + return kDMSoundIndexMoveSlimesDevilWaterElemental; case kDMCreatureTypeCouatl: case kDMCreatureTypeGiantWasp: - return k23_soundMOVE_COUATL_GIANT_WASP_MUNCHER; + return kDMSoundIndexMoveCouatlGiantWaspMuncher; } return 35; @@ -840,7 +840,7 @@ void MovesensMan::processThingAdditionOrRemoval(uint16 mapX, uint16 mapY, Thing continue; if (curSensor->getAttrAudibleA()) - _vm->_sound->requestPlay(k01_soundSWITCH, mapX, mapY, kDMSoundModePlayIfPrioritized); + _vm->_sound->requestPlay(kDMSoundIndexSwitch, mapX, mapY, kDMSoundModePlayIfPrioritized); triggerEffect(curSensor, curSensorEffect, mapX, mapY, (uint16)kDMCellAny); // this will wrap around continue; diff --git a/engines/dm/projexpl.cpp b/engines/dm/projexpl.cpp index cc6cb9a52385..81751a0bfcac 100644 --- a/engines/dm/projexpl.cpp +++ b/engines/dm/projexpl.cpp @@ -212,11 +212,11 @@ bool ProjExpl::hasProjectileImpactOccurred(int16 impactType, int16 mapXCombo, in } else { uint16 soundIndex; if ((projectileAssociatedThing).getType() == kDMThingTypeWeapon) - soundIndex = k00_soundMETALLIC_THUD; + soundIndex = kDMSoundIndexMetallicThud; else if (projectileAssociatedThing == Thing::_explPoisonBolt) - soundIndex = k13_soundSPELL; + soundIndex = kDMSoundIndexSpell; else - soundIndex = k04_soundWOODEN_THUD_ATTACK_TROLIN_ANTMAN_STONE_GOLEM; + soundIndex = kDMSoundIndexWoodenThudAttackTrolinAntmanStoneGolem; _vm->_sound->requestPlay(soundIndex, projectileMapX, projectileMapY, kDMSoundModePlayIfPrioritized); } @@ -304,10 +304,10 @@ void ProjExpl::createExplosion(Thing explThing, uint16 attack, uint16 mapXCombo, explosion->setType(explThing.toUint16() - Thing::_firstExplosion.toUint16()); explosion->setAttack(attack); if (explThing.toUint16() < Thing::_explHarmNonMaterial.toUint16()) { - uint16 soundIndex = (attack > 80) ? k05_soundSTRONG_EXPLOSION : k20_soundWEAK_EXPLOSION; + uint16 soundIndex = (attack > 80) ? kDMSoundIndexStrongExplosion : kDMSoundIndexWeakExplosion; _vm->_sound->requestPlay(soundIndex, projectileMapX, projectileMapY, kDMSoundModePlayIfPrioritized); } else if (explThing != Thing::_explSmoke) - _vm->_sound->requestPlay(k13_soundSPELL, projectileMapX, projectileMapY, kDMSoundModePlayIfPrioritized); + _vm->_sound->requestPlay(kDMSoundIndexSpell, projectileMapX, projectileMapY, kDMSoundModePlayIfPrioritized); _vm->_dungeonMan->linkThingToList(unusedThing, Thing(0), projectileMapX, projectileMapY); TimelineEvent newEvent; @@ -525,7 +525,7 @@ void ProjExpl::processEvent25(TimelineEvent *event) { break; case 0xFFE4: explosion->setType(explosion->getType() + 1); - _vm->_sound->requestPlay(k05_soundSTRONG_EXPLOSION, mapX, mapY, kDMSoundModePlayIfPrioritized); + _vm->_sound->requestPlay(kDMSoundIndexStrongExplosion, mapX, mapY, kDMSoundModePlayIfPrioritized); AddEventFl = true; break; case 0xFFA8: diff --git a/engines/dm/projexpl.h b/engines/dm/projexpl.h index c11d62ecbc32..9ed636aff53b 100644 --- a/engines/dm/projexpl.h +++ b/engines/dm/projexpl.h @@ -37,40 +37,42 @@ enum KillOutcome { kDMKillOutcomeAllCreaturesInGroup = 2 // @ C2_OUTCOME_KILLED_ALL_CREATURES_IN_GROUP }; -#define k00_soundMETALLIC_THUD 0 // @ C00_SOUND_METALLIC_THUD -#define k01_soundSWITCH 1 // @ C01_SOUND_SWITCH -#define k02_soundDOOR_RATTLE 2 // @ C02_SOUND_DOOR_RATTLE -#define k03_soundATTACK_PAIN_RAT_HELLHOUND_RED_DRAGON 3 // @ C03_SOUND_ATTACK_PAIN_RAT_HELLHOUND_RED_DRAGON -#define k04_soundWOODEN_THUD_ATTACK_TROLIN_ANTMAN_STONE_GOLEM 4 // @ C04_SOUND_WOODEN_THUD_ATTACK_TROLIN_ANTMAN_STONE_GOLEM -#define k05_soundSTRONG_EXPLOSION 5 // @ C05_SOUND_STRONG_EXPLOSION -#define k06_soundSCREAM 6 // @ C06_SOUND_SCREAM -#define k07_soundATTACK_MUMMY_GHOST_RIVE 7 // @ C07_SOUND_ATTACK_MUMMY_GHOST_RIVE -#define k08_soundSWALLOW 8 // @ C08_SOUND_SWALLOW -#define k09_soundCHAMPION_0_DAMAGED 9 // @ C09_SOUND_CHAMPION_0_DAMAGED -#define k10_soundCHAMPION_1_DAMAGED 10 // @ C10_SOUND_CHAMPION_1_DAMAGED -#define k11_soundCHAMPION_2_DAMAGED 11 // @ C11_SOUND_CHAMPION_2_DAMAGED -#define k12_soundCHAMPION_3_DAMAGED 12 // @ C12_SOUND_CHAMPION_3_DAMAGED -#define k13_soundSPELL 13 // @ C13_SOUND_SPELL -#define k14_soundATTACK_SCREAMER_OITU 14 // @ C14_SOUND_ATTACK_SCREAMER_OITU -#define k15_soundATTACK_GIANT_SCORPION_SCORPION 15 // @ C15_SOUND_ATTACK_GIANT_SCORPION_SCORPION -#define k16_soundCOMBAT_ATTACK_SKELETON_ANIMATED_ARMOUR_DETH_KNIGHT 16 // @ C16_SOUND_COMBAT_ATTACK_SKELETON_ANIMATED_ARMOUR_DETH_KNIGHT -#define k17_soundBUZZ 17 // @ C17_SOUND_BUZZ -#define k18_soundPARTY_DAMAGED 18 // @ C18_SOUND_PARTY_DAMAGED -#define k19_soundATTACK_MAGENTA_WORM_WORM 19 // @ C19_SOUND_ATTACK_MAGENTA_WORM_WORM -#define k20_soundWEAK_EXPLOSION 20 // @ C20_SOUND_WEAK_EXPLOSION -#define k21_soundATTACK_GIGGLER 21 // @ C21_SOUND_ATTACK_GIGGLER -#define k22_soundMOVE_ANIMATED_ARMOUR_DETH_KNIGHT 22 // @ C22_SOUND_MOVE_ANIMATED_ARMOUR_DETH_KNIGHT -#define k23_soundMOVE_COUATL_GIANT_WASP_MUNCHER 23 // @ C23_SOUND_MOVE_COUATL_GIANT_WASP_MUNCHER -#define k24_soundMOVE_MUMMY_TROLIN_ANTMAN_STONE_GOLEM_GIGGLER_VEXIRK_DEMON 24 // @ C24_SOUND_MOVE_MUMMY_TROLIN_ANTMAN_STONE_GOLEM_GIGGLER_VEXIRK_DEMON -#define k25_soundBLOW_HORN 25 // @ C25_SOUND_BLOW_HORN -#define k26_soundMOVE_SCREAMER_ROCK_ROCKPILE_MAGENTA_WORM_WORM_PAIN_RAT_HELLHOUND_RUSTER_GIANT_SCORPION_SCORPION_OITU 26 // @ C26_SOUND_MOVE_SCREAMER_ROCK_ROCKPILE_MAGENTA_WORM_WORM_PAIN_RAT_HELLHOUND_RUSTER_GIANT_SCORPION_SCORPION_OITU -#define k27_soundMOVE_SWAMP_SLIME_SLIME_DEVIL_WATER_ELEMENTAL 27 // @ C27_SOUND_MOVE_SWAMP_SLIME_SLIME_DEVIL_WATER_ELEMENTAL -#define k28_soundWAR_CRY 28 // @ C28_SOUND_WAR_CRY -#define k29_soundATTACK_ROCK_ROCKPILE 29 // @ C29_SOUND_ATTACK_ROCK_ROCKPILE -#define k30_soundATTACK_WATER_ELEMENTAL 30 // @ C30_SOUND_ATTACK_WATER_ELEMENTAL -#define k31_soundATTACK_COUATL 31 // @ C31_SOUND_ATTACK_COUATL -#define k32_soundMOVE_RED_DRAGON 32 // @ C32_SOUND_MOVE_RED_DRAGON -#define k33_soundMOVE_SKELETON 33 // @ C33_SOUND_MOVE_SKELETON +enum SoundIndex { + kDMSoundIndexMetallicThud = 0, // @ C00_SOUND_METALLIC_THUD + kDMSoundIndexSwitch = 1, // @ C01_SOUND_SWITCH + kDMSoundIndexDoorRattle = 2, // @ C02_SOUND_DOOR_RATTLE + kDMSoundIndexAttackPainRatHellHoundRedDragon = 3, // @ C03_SOUND_ATTACK_PAIN_RAT_HELLHOUND_RED_DRAGON + kDMSoundIndexWoodenThudAttackTrolinAntmanStoneGolem = 4, // @ C04_SOUND_WOODEN_THUD_ATTACK_TROLIN_ANTMAN_STONE_GOLEM + kDMSoundIndexStrongExplosion = 5, // @ C05_SOUND_STRONG_EXPLOSION + kDMSoundIndexScream = 6, // @ C06_SOUND_SCREAM + kDMSoundIndexAttackMummyGhostRive = 7, // @ C07_SOUND_ATTACK_MUMMY_GHOST_RIVE + kDMSoundIndexSwallow = 8, // @ C08_SOUND_SWALLOW + kDMSoundIndexChampion0Damaged = 9, // @ C09_SOUND_CHAMPION_0_DAMAGED + kDMSoundIndexChampion1Damaged = 10, // @ C10_SOUND_CHAMPION_1_DAMAGED + kDMSoundIndexChampion2Damaged = 11, // @ C11_SOUND_CHAMPION_2_DAMAGED + kDMSoundIndexChampion3Damaged = 12, // @ C12_SOUND_CHAMPION_3_DAMAGED + kDMSoundIndexSpell = 13, // @ C13_SOUND_SPELL + kDMSoundIndexAttackScreamerOitu = 14, // @ C14_SOUND_ATTACK_SCREAMER_OITU + kDMSoundIndexAttackGiantScorpion = 15, // @ C15_SOUND_ATTACK_GIANT_SCORPION_SCORPION + kDMSoundIndexAttackSkelettonAnimatedArmorDethKnight = 16, // @ C16_SOUND_COMBAT_ATTACK_SKELETON_ANIMATED_ARMOUR_DETH_KNIGHT + kDMSoundIndexBuzz = 17, // @ C17_SOUND_BUZZ + kDMSoundIndexPartyDamaged = 18, // @ C18_SOUND_PARTY_DAMAGED + kDMSoundIndexAttackMagentaWorm = 19, // @ C19_SOUND_ATTACK_MAGENTA_WORM_WORM + kDMSoundIndexWeakExplosion = 20, // @ C20_SOUND_WEAK_EXPLOSION + kDMSoundIndexAttackGiggler = 21, // @ C21_SOUND_ATTACK_GIGGLER + kDMSoundIndexMoveAnimatedArmorDethKnight = 22, // @ C22_SOUND_MOVE_ANIMATED_ARMOUR_DETH_KNIGHT + kDMSoundIndexMoveCouatlGiantWaspMuncher = 23, // @ C23_SOUND_MOVE_COUATL_GIANT_WASP_MUNCHER + kDMSoundIndexMoveMummyTrolinAntmanStoneGolemGiggleVexirkDemon = 24, // @ C24_SOUND_MOVE_MUMMY_TROLIN_ANTMAN_STONE_GOLEM_GIGGLER_VEXIRK_DEMON + kDMSoundIndexBlowHorn = 25, // @ C25_SOUND_BLOW_HORN + kDMSoundIndexMoveScreamerRocksWormPainRatHellHoundRusterScorpionsOitu = 26, // @ C26_SOUND_MOVE_SCREAMER_ROCK_ROCKPILE_MAGENTA_WORM_WORM_PAIN_RAT_HELLHOUND_RUSTER_GIANT_SCORPION_SCORPION_OITU + kDMSoundIndexMoveSlimesDevilWaterElemental = 27, // @ C27_SOUND_MOVE_SWAMP_SLIME_SLIME_DEVIL_WATER_ELEMENTAL + kDMSoundIndexWarCry = 28, // @ C28_SOUND_WAR_CRY + kDMSoundIndexAttackRocks = 29, // @ C29_SOUND_ATTACK_ROCK_ROCKPILE + kDMSoundIndexAttackWaterElemental = 30, // @ C30_SOUND_ATTACK_WATER_ELEMENTAL + kDMSoundIndexAttackCouatl = 31, // @ C31_SOUND_ATTACK_COUATL + kDMSoundIndexMoveRedDragon = 32, // @ C32_SOUND_MOVE_RED_DRAGON + kDMSoundIndexMoveSkeletton = 33 // @ C33_SOUND_MOVE_SKELETON +}; #define M31_setMap(map_time, map) ((map_time) = (((map_time) & 0x00FFFFFF) | (((int32)(map)) << 24))) @@ -103,7 +105,6 @@ class ProjExpl { void processEvents48To49(TimelineEvent *event); // @ F0219_PROJECTILE_ProcessEvents48To49_Projectile void processEvent25(TimelineEvent *event); // @ F0220_EXPLOSION_ProcessEvent25_Explosion }; - } #endif diff --git a/engines/dm/timeline.cpp b/engines/dm/timeline.cpp index 10c3aa07c62b..aed99ac923ef 100644 --- a/engines/dm/timeline.cpp +++ b/engines/dm/timeline.cpp @@ -402,7 +402,7 @@ void Timeline::processEventDoorAnimation(TimelineEvent *event) { // See BUG0_78 int16 wounds = kDMWoundTorso | (verticalDoorFl ? kDMWoundHead : kDMWoundReadHand | kDMWoundActionHand); if (_vm->_championMan->getDamagedChampionCount(5, wounds, kDMAttackTypeSelf)) - _vm->_sound->requestPlay(k18_soundPARTY_DAMAGED, mapX, mapY, kDMSoundModePlayIfPrioritized); + _vm->_sound->requestPlay(kDMSoundIndexPartyDamaged, mapX, mapY, kDMSoundModePlayIfPrioritized); } event->_mapTime++; addEventGetEventIndex(event); @@ -418,7 +418,7 @@ void Timeline::processEventDoorAnimation(TimelineEvent *event) { int16 nextState = doorState - 1; doorState = (doorState == kDMDoorStateOpen) ? kDMDoorStateOpen : (DoorState) nextState; curSquare->setDoorState(doorState); - _vm->_sound->requestPlay(k04_soundWOODEN_THUD_ATTACK_TROLIN_ANTMAN_STONE_GOLEM, mapX, mapY, kDMSoundModePlayIfPrioritized); + _vm->_sound->requestPlay(kDMSoundIndexWoodenThudAttackTrolinAntmanStoneGolem, mapX, mapY, kDMSoundModePlayIfPrioritized); event->_mapTime++; addEventGetEventIndex(event); return; @@ -435,7 +435,7 @@ void Timeline::processEventDoorAnimation(TimelineEvent *event) { int16 prevDoorEffect = doorState - 1; doorState = (DoorState) ((sensorEffect == kDMSensorEffectSet) ? prevDoorEffect : nextDoorEffect); curSquare->setDoorState(doorState); - _vm->_sound->requestPlay(k02_soundDOOR_RATTLE, mapX, mapY, kDMSoundModePlayIfPrioritized); + _vm->_sound->requestPlay(kDMSoundIndexDoorRattle, mapX, mapY, kDMSoundModePlayIfPrioritized); if (sensorEffect == kDMSensorEffectSet) { if (doorState == kDMDoorStateOpen) @@ -736,7 +736,7 @@ void Timeline::processEventSquareCorridor(TimelineEvent *event) { _vm->_groupMan->groupGetGenerated((CreatureType)curSensor->getData(), healthMultiplier, creatureCount, (Direction)_vm->getRandomNumber(4), mapX, mapY); if (curSensor->getAttrAudibleA()) - _vm->_sound->requestPlay(k17_soundBUZZ, mapX, mapY, kDMSoundModePlayIfPrioritized); + _vm->_sound->requestPlay(kDMSoundIndexBuzz, mapX, mapY, kDMSoundModePlayIfPrioritized); if (curSensor->getAttrOnlyOnce()) curSensor->setTypeDisabled(); @@ -771,7 +771,7 @@ void Timeline::processEventsMoveGroup(TimelineEvent *event) { T0252001: if (((_vm->_dungeonMan->_currMapIndex != _vm->_dungeonMan->_partyMapIndex) || (mapX != _vm->_dungeonMan->_partyMapX) || (mapY != _vm->_dungeonMan->_partyMapY)) && (_vm->_groupMan->groupGetThing(mapX, mapY) == Thing::_endOfList)) { /* BUG0_24 Lord Chaos may teleport into one of the Black Flames and become invisible until the Black Flame is killed. In this case, _vm->_groupMan->f175_groupGetThing returns the Black Flame thing and the Lord Chaos thing is not moved into the dungeon until the Black Flame is killed */ if (event->_type == k61_TMEventTypeMoveGroupAudible) - _vm->_sound->requestPlay(k17_soundBUZZ, mapX, mapY, kDMSoundModePlayIfPrioritized); + _vm->_sound->requestPlay(kDMSoundIndexBuzz, mapX, mapY, kDMSoundModePlayIfPrioritized); _vm->_moveSens->getMoveResult(Thing(event->_Cu._slot), kDMMapXNotOnASquare, 0, mapX, mapY); } else {