aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorStrangerke2016-07-23 12:54:25 +0200
committerBendegúz Nagy2016-08-26 23:02:22 +0200
commitebd672770ada3685c2e84299368c9586d944ba2a (patch)
tree5db83161fd5dfaeb38e6ac1f62ff083e7671ceda /engines
parent2f3c9b7c7862d2c424a43d805f791b1176867eaf (diff)
downloadscummvm-rg350-ebd672770ada3685c2e84299368c9586d944ba2a.tar.gz
scummvm-rg350-ebd672770ada3685c2e84299368c9586d944ba2a.tar.bz2
scummvm-rg350-ebd672770ada3685c2e84299368c9586d944ba2a.zip
DM: Properly stub f064_SOUND_RequestPlay_CPSD
Diffstat (limited to 'engines')
-rw-r--r--engines/dm/champion.cpp2
-rw-r--r--engines/dm/dm.h2
-rw-r--r--engines/dm/eventman.cpp4
-rw-r--r--engines/dm/group.cpp22
-rw-r--r--engines/dm/menus.cpp13
-rw-r--r--engines/dm/movesens.cpp12
-rw-r--r--engines/dm/projexpl.cpp8
-rw-r--r--engines/dm/text.h2
-rw-r--r--engines/dm/timeline.cpp13
9 files changed, 40 insertions, 38 deletions
diff --git a/engines/dm/champion.cpp b/engines/dm/champion.cpp
index 464aee72ee..8c3aacd447 100644
--- a/engines/dm/champion.cpp
+++ b/engines/dm/champion.cpp
@@ -199,7 +199,7 @@ bool ChampionMan::f328_isObjectThrown(uint16 champIndex, int16 slotIndex, int16
return false;
}
}
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(k16_soundCOMBAT_ATTACK_SKELETON_ANIMATED_ARMOUR_DETH_KNIGHT, _vm->_dungeonMan->_g306_partyMapX, _vm->_dungeonMan->_g307_partyMapY, k1_soundModePlayIfPrioritized);
f325_decrementStamine(champIndex, f305_getThrowingStaminaCost(L0996_T_Thing));
f330_disableAction(champIndex, 4);
AL0994_i_Experience = 8;
diff --git a/engines/dm/dm.h b/engines/dm/dm.h
index 279144bc4d..128dfaf8e4 100644
--- a/engines/dm/dm.h
+++ b/engines/dm/dm.h
@@ -220,6 +220,8 @@ public:
LoadgameResponse f435_loadgame(int16 slot); // @ F0435_STARTEND_LoadGame_CPSF
void f441_processEntrance(); // @ F0441_STARTEND_ProcessEntrance
+ void f064_SOUND_RequestPlay_CPSD(uint16 P0088_ui_SoundIndex, int16 P0089_i_MapX, int16 P0090_i_MapY, uint16 P0091_ui_Mode) { warning(true, "STUB: f064_SOUND_RequestPlay_CPSD"); }
+
private:
int16 _g528_saveFormat; // @ G0528_i_Format
int16 _g527_platform; // @ G0527_i_Platform
diff --git a/engines/dm/eventman.cpp b/engines/dm/eventman.cpp
index dadc931264..946c1fb989 100644
--- a/engines/dm/eventman.cpp
+++ b/engines/dm/eventman.cpp
@@ -891,7 +891,7 @@ void EventManager::f366_commandMoveParty(CommandType cmdType) {
L1117_B_MovementBlocked |= _vm->_championMan->f321_addPendingDamageAndWounds_getDamage(L1125_i_SecondDamagedChampionIndex, 1, k0x0008_ChampionWoundTorso | k0x0010_ChampionWoundLegs, k2_attackType_SELF);
}
if (L1117_B_MovementBlocked) {
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(k18_soundPARTY_DAMAGED, L1121_i_MapX, L1122_i_MapY, k0_soundModePlayImmediately);
}
} else {
if (L1117_B_MovementBlocked = (_vm->_groupMan->f175_groupGetThing(L1121_i_MapX, L1122_i_MapY) != Thing::_endOfList)) {
@@ -1027,7 +1027,7 @@ void EventManager::f377_commandProcessType80ClickInDungeonView(int16 posX, int16
L1151_ps_Junk = (Junk*)_vm->_dungeonMan->f157_getSquareFirstThingData(L1155_i_MapX, L1156_i_MapY);
if ((((Door*)L1151_ps_Junk)->hasButton()) && _vm->_dungeonMan->_g291_dungeonViewClickableBoxes[k5_ViewCellDoorButtonOrWallOrn].isPointInside(posX, posY - 33)) {
_vm->_g321_stopWaitingForPlayerInput = true;
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(k01_soundSWITCH, _vm->_dungeonMan->_g306_partyMapX, _vm->_dungeonMan->_g307_partyMapY, k1_soundModePlayIfPrioritized);
_vm->_movsens->f268_addEvent(k10_TMEventTypeDoor, L1155_i_MapX, L1156_i_MapY, 0, k2_SensorEffToggle, _vm->_g313_gameTime + 1);
return;
}
diff --git a/engines/dm/group.cpp b/engines/dm/group.cpp
index e132685e6f..05f4b5a654 100644
--- a/engines/dm/group.cpp
+++ b/engines/dm/group.cpp
@@ -147,7 +147,7 @@ void GroupMan::f188_dropGroupPossessions(int16 mapX, int16 mapY, Thing groupThin
_vm->_movsens->f267_getMoveResult(L0365_T_CurrentThing, kM1_MapXNotOnASquare, 0, mapX, mapY);
} while ((L0365_T_CurrentThing = L0366_T_NextThing) != Thing::_endOfList);
if (mode >= k0_soundModePlayImmediately) {
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(L0371_B_WeaponDropped ? k00_soundMETALLIC_THUD : k04_soundWOODEN_THUD_ATTACK_TROLIN_ANTMAN_STONE_GOLEM, mapX, mapY, mode);
}
}
}
@@ -229,11 +229,11 @@ void GroupMan::f186_dropCreatureFixedPossessions(uint16 creatureType, int16 mapX
L0359_pui_FixedPossessions = g253FixedPossessionCreature_24RedDragon;
}
uint16 L0356_ui_FixedPossession;
+ bool L0362_B_WeaponDropped = false;
while (L0356_ui_FixedPossession = *L0359_pui_FixedPossessions++) {
if (getFlag(L0356_ui_FixedPossession, k0x8000_randomDrop) && _vm->getRandomNumber(2))
continue;
int16 L0357_i_ThingType;
- bool L0362_B_WeaponDropped = false;
if (clearFlag(L0356_ui_FixedPossession, k0x8000_randomDrop) >= k127_ObjectInfoIndexFirstJunk) {
L0357_i_ThingType = k10_JunkThingType;
L0356_ui_FixedPossession -= k127_ObjectInfoIndexFirstJunk;
@@ -258,7 +258,7 @@ void GroupMan::f186_dropCreatureFixedPossessions(uint16 creatureType, int16 mapX
L0358_T_Thing = M15_thingWithNewCell(L0358_T_Thing, ((cell == k255_CreatureTypeSingleCenteredCreature) || !_vm->getRandomNumber(4)) ? _vm->getRandomNumber(4) : cell);
_vm->_movsens->f267_getMoveResult(L0358_T_Thing, kM1_MapXNotOnASquare, 0, mapX, mapY);
}
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(L0362_B_WeaponDropped ? k00_soundMETALLIC_THUD : k04_soundWOODEN_THUD_ATTACK_TROLIN_ANTMAN_STONE_GOLEM, mapX, mapY, mode);
}
int16 GroupMan::f228_getDirsWhereDestIsVisibleFromSource(int16 srcMapX, int16 srcMapY, int16 destMapX, int16 destMapY) {
@@ -890,7 +890,7 @@ T0209089_DoubleSquareMove:
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;
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(k17_soundBUZZ, AL0450_i_DestinationMapX, AL0451_i_DestinationMapY, k1_soundModePlayIfPrioritized);
goto T0209061_MoveGroup;
}
}
@@ -1271,7 +1271,7 @@ int32 GroupMan::f179_getCreatureAspectUpdateTime(ActiveGroup *activeGroup, int16
if (getFlag(AL0326_ui_Aspect, k0x0080_MaskActiveGroupIsAttacking) && (L0331_ui_CreatureType == k18_CreatureTypeAnimatedArmourDethKnight)) {
if (_vm->getRandomNumber(2)) {
toggleFlag(AL0326_ui_Aspect, k0x0040_MaskActiveGroupFlipBitmap);
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(k16_soundCOMBAT_ATTACK_SKELETON_ANIMATED_ARMOUR_DETH_KNIGHT, _g378_currentGroupMapX, _g379_currentGroupMapY, k1_soundModePlayIfPrioritized);
}
} else {
if (!getFlag(AL0326_ui_Aspect, k0x0080_MaskActiveGroupIsAttacking) || !getFlag(L0327_ui_CreatureGraphicInfo, k0x0400_CreatureInfoGraphicMaskFlipDuringAttack)) {
@@ -1293,7 +1293,7 @@ int32 GroupMan::f179_getCreatureAspectUpdateTime(ActiveGroup *activeGroup, int16
toggleFlag(AL0326_ui_Aspect, k0x0040_MaskActiveGroupFlipBitmap);
L1635_ui_SoundIndex = _vm->_movsens->f514_getSound(k13_CreatureTypeCouatl);
if (L1635_ui_SoundIndex <= k34_D13_soundCount) {
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(L1635_ui_SoundIndex, _g378_currentGroupMapX, _g379_currentGroupMapY, k1_soundModePlayIfPrioritized);
}
}
} else {
@@ -1418,6 +1418,8 @@ bool GroupMan::f204_isArchenemyDoubleMovementPossible(CreatureInfo *info, int16
}
bool GroupMan::f207_isCreatureAttacking(Group *group, int16 mapX, int16 mapY, uint16 creatureIndex) {
+ static const uint8 G0244_auc_Graphic559_CreatureAttackSounds[11] = { 3, 7, 14, 15, 19, 21, 29, 30, 31, 4, 16 }; /* Atari ST: { 3, 7, 14, 15, 19, 21, 4, 16 } */
+
uint16 L0437_ui_Multiple;
#define AL0437_ui_CreatureType L0437_ui_Multiple
#define AL0437_T_Thing L0437_ui_Multiple
@@ -1486,7 +1488,7 @@ bool GroupMan::f207_isCreatureAttacking(Group *group, int16 mapX, int16 mapY, ui
AL0440_i_KineticEnergy = (L0441_ps_CreatureInfo->_attack >> 2) + 1;
AL0440_i_KineticEnergy += _vm->getRandomNumber(AL0440_i_KineticEnergy);
AL0440_i_KineticEnergy += _vm->getRandomNumber(AL0440_i_KineticEnergy);
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(k13_soundSPELL, mapX, mapY, k0_soundModePlayImmediately);
_vm->_projexpl->f212_projectileCreate(Thing(AL0437_T_Thing), mapX, mapY, AL0439_i_TargetCell, (direction)_g382_currGroupPrimaryDirToParty, f26_getBoundedValue((int16)20, AL0440_i_KineticEnergy, (int16)255), L0441_ps_CreatureInfo->_dexterity, 8);
} else {
if (getFlag(L0441_ps_CreatureInfo->_attributes, k0x0010_MaskCreatureInfo_attackAnyChamp)) {
@@ -1514,7 +1516,7 @@ bool GroupMan::f207_isCreatureAttacking(Group *group, int16 mapX, int16 mapY, ui
}
}
if (AL0440_i_AttackSoundOrdinal = L0441_ps_CreatureInfo->_attackSoundOrdinal) {
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(G0244_auc_Graphic559_CreatureAttackSounds[--AL0440_i_AttackSoundOrdinal], mapX, mapY, k1_soundModePlayIfPrioritized);
}
return true;
}
@@ -1637,7 +1639,7 @@ int16 GroupMan::f230_getChampionDamage(Group *group, uint16 champIndex) {
AL0558_i_Attack -= _vm->getRandomNumber((AL0558_i_Attack >> 1) + 1) - 1;
}
if (AL0558_i_Damage = _vm->_championMan->f321_addPendingDamageAndWounds_getDamage(champIndex, AL0558_i_Attack, AL0561_ui_AllowedWound, L0564_s_CreatureInfo._attackType)) {
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(k09_soundCHAMPION_0_DAMAGED + champIndex, _vm->_dungeonMan->_g306_partyMapX, _vm->_dungeonMan->_g307_partyMapY, k2_soundModePlayOneTickLater);
if ((AL0559_ui_PoisonAttack = L0564_s_CreatureInfo._poisonAttack) && _vm->getRandomNumber(2) && ((AL0559_ui_PoisonAttack = _vm->_championMan->f307_getStatisticAdjustedAttack(L0562_ps_Champion, k4_ChampionStatVitality, AL0559_ui_PoisonAttack)) >= 0)) {
_vm->_championMan->f322_championPoison(champIndex, AL0559_ui_PoisonAttack);
}
@@ -1808,7 +1810,7 @@ Thing GroupMan::f185_groupGetGenerated(int16 creatureType, int16 healthMultiplie
if (_vm->_movsens->f267_getMoveResult(L0349_T_GroupThing, kM1_MapXNotOnASquare, 0, mapX, mapY)) { /* If F0267_MOVE_GetMoveResult_CPSCE returns true then the group was either killed by a projectile impact (in which case the thing data was marked as unused) or the party is on the destination square and an event is created to move the creature into the dungeon later (in which case the thing is referenced in the event) */
return Thing::_none;
}
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(k17_soundBUZZ, mapX, mapY, k1_soundModePlayIfPrioritized);
return L0349_T_GroupThing;
}
diff --git a/engines/dm/menus.cpp b/engines/dm/menus.cpp
index 06a286c65e..146a75e919 100644
--- a/engines/dm/menus.cpp
+++ b/engines/dm/menus.cpp
@@ -1114,10 +1114,10 @@ T0407014:
case k13_ChampionActionSwing:
case k2_ChampionActionChop:
if ((Square(AL1244_ui_TargetSquare).getType() == k4_DoorElemType) && (Square(AL1244_ui_TargetSquare).getDoorState() == k4_doorState_CLOSED)) {
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(k16_soundCOMBAT_ATTACK_SKELETON_ANIMATED_ARMOUR_DETH_KNIGHT, _vm->_dungeonMan->_g306_partyMapX, _vm->_dungeonMan->_g307_partyMapY, k1_soundModePlayIfPrioritized);
L1249_ui_ActionDisabledTicks = 6;
_vm->_groupMan->f232_groupIsDoorDestoryedByAttack(L1251_i_MapX, L1252_i_MapY, _vm->_championMan->f312_getStrength(champIndex, k1_ChampionSlotActionHand), false, 2);
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(k04_soundWOODEN_THUD_ATTACK_TROLIN_ANTMAN_STONE_GOLEM, _vm->_dungeonMan->_g306_partyMapX, _vm->_dungeonMan->_g307_partyMapY, k2_soundModePlayOneTickLater);
break;
}
case k24_ChampionActionDisrupt:
@@ -1143,10 +1143,10 @@ T0407014:
case k41_ChampionActionBrandish:
case k4_ChampionActionBlowHorn:
if (actionIndex == k8_ChampionActionWarCry) {
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(k28_soundWAR_CRY, L1251_i_MapX, L1252_i_MapY, k0_soundModePlayImmediately);
}
if (actionIndex == k4_ChampionActionBlowHorn) {
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(k25_soundBLOW_HORN, L1251_i_MapX, L1252_i_MapY, k0_soundModePlayImmediately);
}
AL1245_B_ActionPerformed = f401_isGroupFrightenedByAction(champIndex, actionIndex, L1251_i_MapX, L1252_i_MapY);
break;
@@ -1176,7 +1176,7 @@ T0407032:
f406_setChampionDirectionToPartyDirection(L1247_ps_Champion);
{ // so gotos won't skip init
Thing AL1250_T_Object = _vm->_championMan->f300_getObjectRemovedFromSlot(champIndex, k0_ChampionSlotReadyHand);
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(k16_soundCOMBAT_ATTACK_SKELETON_ANIMATED_ARMOUR_DETH_KNIGHT, _vm->_dungeonMan->_g306_partyMapX, _vm->_dungeonMan->_g307_partyMapY, k1_soundModePlayIfPrioritized);
_vm->_championMan->f326_championShootProjectile(L1247_ps_Champion, AL1250_T_Object, L1256_ps_WeaponInfoActionHand->_kineticEnergy + L1257_ps_WeaponInfoReadyHand->_kineticEnergy, (L1256_ps_WeaponInfoActionHand->getShootAttack() + _vm->_championMan->f303_getSkillLevel(champIndex, k11_ChampionSkillShoot)) << 1, AL1246_i_StepEnergy);
}
break;
@@ -1439,8 +1439,7 @@ bool MenuMan::f402_isMeleeActionPerformed(int16 champIndex, Champion* champ, int
#define AL1237_ui_ActionHitProbability L1237_ui_Multiple
int16 L1238_i_CreatureOrdinal;
-
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(k16_soundCOMBAT_ATTACK_SKELETON_ANIMATED_ARMOUR_DETH_KNIGHT, _vm->_dungeonMan->_g306_partyMapX, _vm->_dungeonMan->_g307_partyMapY, k1_soundModePlayIfPrioritized);
if (_g517_actionTargetGroupThing == Thing::_endOfList)
goto T0402010;
if (L1238_i_CreatureOrdinal = _vm->_groupMan->f177_getMeleeTargetCreatureOrdinal(targetMapX, targetMapY, _vm->_dungeonMan->_g306_partyMapX, _vm->_dungeonMan->_g307_partyMapY, AL1236_ui_ChampionCell = champ->_cell)) {
diff --git a/engines/dm/movesens.cpp b/engines/dm/movesens.cpp
index 65742e6dbb..75413800c6 100644
--- a/engines/dm/movesens.cpp
+++ b/engines/dm/movesens.cpp
@@ -181,7 +181,7 @@ bool MovesensMan::f275_sensorIsTriggeredByClickOnWall(int16 mapX, int16 mapY, ui
if (!L0753_B_DoNotTriggerSensor) {
L0759_B_AtLeastOneSensorWasTriggered = true;
if (L0755_ps_Sensor->getAudibleA()) {
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(k01_soundSWITCH, _vm->_dungeonMan->_g306_partyMapX, _vm->_dungeonMan->_g307_partyMapY, k1_soundModePlayIfPrioritized);
}
if (!_vm->_championMan->_g415_leaderEmptyHanded && ((L0757_ui_SensorType == k4_SensorWallOrnClickWithSpecObjRemoved) || (L0757_ui_SensorType == k11_SensorWallOrnClickWithSpecObjRemovedRotateSensors) || (L0757_ui_SensorType == k17_SensorWallOrnClickWithSpecObjRemovedSensor))) {
L0754_ps_Generic = (Thing *)_vm->_dungeonMan->f156_getThingData(L0761_T_LeaderHandObject);
@@ -296,7 +296,7 @@ bool MovesensMan::f267_getMoveResult(Thing thing, int16 mapX, int16 mapY, int16
_vm->_dungeonMan->_g306_partyMapX = destMapX;
_vm->_dungeonMan->_g307_partyMapY = destMapY;
if (L0712_ps_Teleporter->isAudible()) {
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(k17_soundBUZZ, _vm->_dungeonMan->_g306_partyMapX, _vm->_dungeonMan->_g307_partyMapY, k0_soundModePlayImmediately);
}
L0723_B_DrawDungeonViewWhileFalling = true;
if (L0712_ps_Teleporter->getAbsoluteRotation()) {
@@ -307,7 +307,7 @@ bool MovesensMan::f267_getMoveResult(Thing thing, int16 mapX, int16 mapY, int16
} else {
if (L0710_i_ThingType == k4_GroupThingType) {
if (L0712_ps_Teleporter->isAudible()) {
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(k17_soundBUZZ, destMapX, destMapY, k1_soundModePlayIfPrioritized);
}
L0720_ui_MoveGroupResult = f262_getTeleporterRotatedGroupResult(L0712_ps_Teleporter, thing, L0714_ui_MapIndexSource);
} else {
@@ -349,7 +349,7 @@ bool MovesensMan::f267_getMoveResult(Thing thing, int16 mapX, int16 mapY, int16
}
} else {
if (_vm->_championMan->f324_damageAll_getDamagedChampionCount(20, k0x0010_ChampionWoundLegs | k0x0020_ChampionWoundFeet, k2_attackType_SELF)) {
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(k06_soundSCREAM, _vm->_dungeonMan->_g306_partyMapX, _vm->_dungeonMan->_g307_partyMapY, k0_soundModePlayImmediately);
}
}
}
@@ -477,7 +477,7 @@ bool MovesensMan::f267_getMoveResult(Thing thing, int16 mapX, int16 mapY, int16
}
L1638_ui_MovementSoundIndex = f514_getSound(((Group *)_vm->_dungeonMan->_g284_thingData[k4_GroupThingType])[thing.getIndex()]._type);
if (L1638_ui_MovementSoundIndex < k34_D13_soundCount) {
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(L1638_ui_MovementSoundIndex, destMapX, destMapY, k1_soundModePlayIfPrioritized);
}
if (L0721_B_GroupOnPartyMap && (L0715_ui_MapIndexDestination != _vm->_dungeonMan->_g309_partyMapIndex)) { /* If the group leaves the party map */
_vm->_groupMan->f184_removeActiveGroup(AL0708_i_ActiveGroupIndex);
@@ -896,7 +896,7 @@ void MovesensMan::f276_sensorProcessThingAdditionOrRemoval(uint16 mapX, uint16 m
goto T0276079;
}
if (L0769_ps_Sensor->getAudibleA()) {
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(k01_soundSWITCH, mapX, mapY, k1_soundModePlayIfPrioritized);
}
f272_sensorTriggerEffect(L0769_ps_Sensor, L0778_i_Effect, mapX, mapY, (uint16)kM1_CellAny); // this will wrap around
goto T0276079;
diff --git a/engines/dm/projexpl.cpp b/engines/dm/projexpl.cpp
index 7d99b97648..8996693f4b 100644
--- a/engines/dm/projexpl.cpp
+++ b/engines/dm/projexpl.cpp
@@ -230,7 +230,7 @@ T0217004:
AL0507_ui_SoundIndex = k04_soundWOODEN_THUD_ATTACK_TROLIN_ANTMAN_STONE_GOLEM;
}
}
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(AL0507_ui_SoundIndex, L0499_i_ProjectileMapX, L0500_i_ProjectileMapY, k1_soundModePlayIfPrioritized);
}
T0217044:
if (L0509_B_RemovePotion) {
@@ -321,10 +321,10 @@ void ProjExpl::f213_explosionCreate(Thing explThing, uint16 attack, uint16 mapXC
L0470_ps_Explosion->setType(explThing.toUint16() - Thing::_firstExplosion.toUint16());
L0470_ps_Explosion->setAttack(attack);
if (explThing.toUint16() < Thing::_explHarmNonMaterial.toUint16()) {
- warning(false, "MISING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD((attack > 80) ? k05_soundSTRONG_EXPLOSION : k20_soundWEAK_EXPLOSION, AP0443_ui_ProjectileMapX, AP0444_ui_ProjectileMapY, k1_soundModePlayIfPrioritized);
} else {
if (explThing != Thing::_explSmoke) {
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(k13_soundSPELL, AP0443_ui_ProjectileMapX, AP0444_ui_ProjectileMapY, k1_soundModePlayIfPrioritized);
}
}
_vm->_dungeonMan->f163_linkThingToList(L0473_T_Thing, Thing(0), AP0443_ui_ProjectileMapX, AP0444_ui_ProjectileMapY);
@@ -564,7 +564,7 @@ void ProjExpl::f220_explosionProcessEvent25_explosion(TimelineEvent* event) {
break;
case 0xFFE4:
L0532_ps_Explosion->setType(L0532_ps_Explosion->getType() + 1);
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(k05_soundSTRONG_EXPLOSION, L0528_ui_MapX, L0529_ui_MapY, k1_soundModePlayIfPrioritized);
goto T0220026;
case 0xFFA8:
if (L0532_ps_Explosion->getAttack() > 55) {
diff --git a/engines/dm/text.h b/engines/dm/text.h
index c07b8f2491..e0f5e7a73c 100644
--- a/engines/dm/text.h
+++ b/engines/dm/text.h
@@ -56,9 +56,7 @@ public:
void f42_messageAreaMoveCursor(int16 column, int16 row); // @ F0042_TEXT_MESSAGEAREA_MoveCursor
void f44_messageAreaClearExpiredRows(); // @ F0044_TEXT_MESSAGEAREA_ClearExpiredRows
-
};
}
-
#endif
diff --git a/engines/dm/timeline.cpp b/engines/dm/timeline.cpp
index 37eb880690..09e31bf935 100644
--- a/engines/dm/timeline.cpp
+++ b/engines/dm/timeline.cpp
@@ -318,7 +318,7 @@ void Timeline::f261_processTimeline() {
f246_timelineProcesEvent65_enableGroupGenerator(L0681_ps_Event);
break;
case k20_TMEventTypePlaySound:
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(L0682_s_Event._C._soundIndex, L0682_s_Event._B._location._mapX, L0682_s_Event._B._location._mapY, k1_soundModePlayIfPrioritized);
break;
case k24_TMEventTypeRemoveFluxcage:
if (!_vm->_g302_gameWon) {
@@ -421,7 +421,7 @@ void Timeline::f241_timelineProcessEvent1_doorAnimation(TimelineEvent* event) {
// Original bug fixed - A closing horizontal door wounds champions to the head instead of to the hands. Missing parenthesis in the condition cause all doors to wound the head in addition to the torso
// See BUG0_78
if (_vm->_championMan->f324_damageAll_getDamagedChampionCount(5, k0x0008_ChampionWoundTorso | (AL0602_ui_VerticalDoor ? k0x0004_ChampionWoundHead : k0x0001_ChampionWoundReadHand | k0x0002_ChampionWoundActionHand), k2_attackType_SELF)) {
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(k18_soundPARTY_DAMAGED, L0593_ui_MapX, L0594_ui_MapY, k1_soundModePlayIfPrioritized);
}
}
event->_mapTime++;
@@ -435,7 +435,7 @@ void Timeline::f241_timelineProcessEvent1_doorAnimation(TimelineEvent* event) {
}
L0596_i_DoorState = (L0596_i_DoorState == k0_doorState_OPEN) ? k0_doorState_OPEN : (L0596_i_DoorState - 1);
L0597_puc_Square->setDoorState(L0596_i_DoorState);
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(k04_soundWOODEN_THUD_ATTACK_TROLIN_ANTMAN_STONE_GOLEM, L0593_ui_MapX, L0594_ui_MapY, k1_soundModePlayIfPrioritized);
event->_mapTime++;
_vm->_timeline->f238_addEventGetEventIndex(event);
return;
@@ -447,7 +447,8 @@ void Timeline::f241_timelineProcessEvent1_doorAnimation(TimelineEvent* event) {
}
L0596_i_DoorState += (L0595_i_Effect == k0_SensorEffSet) ? -1 : 1;
L0597_puc_Square->setDoorState(L0596_i_DoorState);
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(k02_soundDOOR_RATTLE, L0593_ui_MapX, L0594_ui_MapY, k1_soundModePlayIfPrioritized);
+
if (L0595_i_Effect == k0_SensorEffSet) {
if (L0596_i_DoorState == k0_doorState_OPEN) {
return;
@@ -838,7 +839,7 @@ void Timeline::f245_timlineProcessEvent5_squareCorridor(TimelineEvent* event) {
}
_vm->_groupMan->f185_groupGetGenerated(L0614_ps_Sensor->getData(), AL0618_ui_HealthMultiplier, L0612_i_CreatureCount, (direction)_vm->getRandomNumber(4), L0616_ui_MapX, L0617_ui_MapY);
if (L0614_ps_Sensor->getAudibleA()) {
- warning(false, "MISSING CODE: F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(k17_soundBUZZ, L0616_ui_MapX, L0617_ui_MapY, k1_soundModePlayIfPrioritized);
}
if (L0614_ps_Sensor->getOnlyOnce()) {
L0614_ps_Sensor->setTypeDisabled();
@@ -878,7 +879,7 @@ void Timeline::f252_timelineProcessEvents60to61_moveGroup(TimelineEvent* event)
T0252001:
if (((_vm->_dungeonMan->_g272_currMapIndex != _vm->_dungeonMan->_g309_partyMapIndex) || (L0656_ui_MapX != _vm->_dungeonMan->_g306_partyMapX) || (L0657_ui_MapY != _vm->_dungeonMan->_g307_partyMapY)) && (_vm->_groupMan->f175_groupGetThing(L0656_ui_MapX, L0657_ui_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) {
- warning(false, "F0064_SOUND_RequestPlay_CPSD");
+ _vm->f064_SOUND_RequestPlay_CPSD(k17_soundBUZZ, L0656_ui_MapX, L0657_ui_MapY, k1_soundModePlayIfPrioritized);
}
_vm->_movsens->f267_getMoveResult(Thing(event->_C._slot), kM1_MapXNotOnASquare, 0, L0656_ui_MapX, L0657_ui_MapY);
} else {