MCPcopy Create free account
hub / github.com/DescentDevelopers/Descent3 / StartObjectSounds

Function StartObjectSounds

Descent3/gamesequence.cpp:1699–1733  ·  view source on GitHub ↗

Start object ambient sounds

Source from the content-addressed store, hash-verified

1697
1698// Start object ambient sounds
1699void StartObjectSounds() {
1700 for (int i = 0; i < MAX_OBJECTS; i++) {
1701 object *objp = &Objects[i];
1702
1703 // If generic object, check for ambient sound
1704 switch (objp->type) {
1705
1706 case OBJ_CLUTTER:
1707 case OBJ_BUILDING:
1708 case OBJ_ROBOT:
1709 case OBJ_POWERUP: {
1710 int ambient_sound = Object_info[objp->id].sounds[GSI_AMBIENT];
1711 if (ambient_sound != SOUND_NONE_INDEX)
1712 Sound_system.Play3dSound(ambient_sound, SND_PRIORITY_LOWEST, objp);
1713 break;
1714 }
1715
1716 case OBJ_SOUNDSOURCE:
1717 ASSERT(objp->control_type == CT_SOUNDSOURCE);
1718 if (objp->name) // if has name, attach sound to object
1719 Sound_system.Play3dSound(objp->ctype.soundsource_info.sound_index, SND_PRIORITY_NORMAL, objp,
1720 objp->ctype.soundsource_info.volume);
1721 else { // no name, so attach to 3D position & delete object
1722 pos_state ps;
1723 ps.position = &objp->pos;
1724 ps.roomnum = objp->roomnum;
1725 ps.orient = (matrix *)&Identity_matrix;
1726 Sound_system.Play3dSound(objp->ctype.soundsource_info.sound_index, SND_PRIORITY_NORMAL, &ps,
1727 objp->ctype.soundsource_info.volume);
1728 ObjDelete(i);
1729 }
1730 break;
1731 }
1732 }
1733}
1734
1735// Go through the level and start and sounds associated with textures
1736void StartTextureSounds() {

Callers 1

StartLevelSoundsFunction · 0.85

Calls 2

ObjDeleteFunction · 0.85
Play3dSoundMethod · 0.80

Tested by

no test coverage detected