@@ -10791,13 +10791,11 @@ void update_firing_sounds(object* objp, ship* shipp)
1079110791
1079210792 if (swp->firing_loop_sounds[i] == -1 && trigger_down && !primaries_locked && selected && has_resources && burst_only_allowed && !dying) {
1079310793 auto* pm = model_get(Ship_info[shipp->ship_info_index].model_num);
10794- vec3d snd_pos, world_snd_pos ;
10794+ vec3d snd_pos;
1079510795 vm_vec_avg_n(&snd_pos, pm->gun_banks[i].num_slots, pm->gun_banks[i].pnt);
10796- vm_vec_unrotate(&world_snd_pos, &snd_pos, &objp->orient);
10797- world_snd_pos += objp->pos;
1079810796
1079910797 if (wip->start_firing_snd.isValid() && start_snd_played != wip->start_firing_snd) {
10800- snd_play_3d(gamesnd_get_game_sound(wip->start_firing_snd), &objp->pos , &world_snd_pos );
10798+ obj_snd_assign(shipp->objnum, wip->start_firing_snd , &snd_pos, OS_PLAY_ON_PLAYER | OS_LOOPING_DISABLED );
1080110799
1080210800 start_snd_played = wip->start_firing_snd;
1080310801 }
@@ -10812,13 +10810,11 @@ void update_firing_sounds(object* objp, ship* shipp)
1081210810
1081310811 if (swp->firing_loop_sounds[i] != -1 && (!trigger_down || primaries_locked || !selected || !has_resources || !burst_only_allowed || dying)) {
1081410812 auto* pm = model_get(Ship_info[shipp->ship_info_index].model_num);
10815- vec3d world_snd_pos;
10816- vm_vec_avg_n(&world_snd_pos, pm->gun_banks[i].num_slots, pm->gun_banks[i].pnt);
10817- vm_vec_unrotate(&world_snd_pos, &world_snd_pos, &objp->orient);
10818- world_snd_pos += objp->pos;
10813+ vec3d snd_pos;
10814+ vm_vec_avg_n(&snd_pos, pm->gun_banks[i].num_slots, pm->gun_banks[i].pnt);
1081910815
1082010816 if (wip->end_firing_snd.isValid() && end_snd_played != wip->end_firing_snd) {
10821- snd_play_3d(gamesnd_get_game_sound(wip->end_firing_snd), &objp->pos , &world_snd_pos );
10817+ obj_snd_assign(shipp->objnum, wip->start_firing_snd , &snd_pos, OS_PLAY_ON_PLAYER | OS_LOOPING_DISABLED );
1082210818
1082310819 end_snd_played = wip->end_firing_snd;
1082410820 }
0 commit comments