FS2_Open
Open source remastering of the Freespace 2 engine
objectsnd.cpp File Reference
#include "cmdline/cmdline.h"
#include "debugconsole/console.h"
#include "gamesnd/gamesnd.h"
#include "globalincs/linklist.h"
#include "io/joy_ff.h"
#include "io/timer.h"
#include "object/object.h"
#include "object/objectsnd.h"
#include "render/3d.h"
#include "ship/ship.h"
#include "sound/ds.h"
#include "sound/ds3d.h"
#include "species_defs/species_defs.h"

Go to the source code of this file.

Classes

struct  _obj_snd
 

Macros

#define VOL_PAN_UPDATE   50
 
#define MIN_PERSISTANT_VOL   0.10f
 
#define MIN_FORWARD_SPEED   5
 
#define SPEED_SOUND   600.0f
 
#define OBJSND_CHANGE_FREQUENCY_THRESHOLD   10
 
#define MAX_OBJ_SNDS   256
 
#define FLYBY_MIN_DISTANCE   90
 
#define FLYBY_MIN_SPEED   50
 
#define FLYBY_MIN_RELATIVE_SPEED   100
 
#define FLYBY_MIN_NEXT_TIME   1000
 
#define FLYBY_MIN_REPEAT_TIME   4000
 

Typedefs

typedef struct _obj_snd obj_snd
 

Functions

void obj_snd_source_pos (vec3d *sound_pos, obj_snd *osp)
 
 DCF (objsnd,"Persistent sound stuff")
 
int obj_snd_get_slot ()
 
void obj_snd_level_init ()
 
void obj_snd_stop (object *objp, int index)
 
void obj_snd_stop_all ()
 
int obj_snd_get_freq (int source_freq, object *source, object *observor, vec3d *source_pos)
 
int obj_snd_stop_lowest_vol (float new_vol)
 
void maybe_play_flyby_snd (float closest_dist, object *closest_objp, object *listener_objp)
 
void obj_snd_do_frame ()
 
int obj_snd_assign (int objnum, int sndnum, vec3d *pos, int main, int flags, ship_subsys *associated_sub)
 
void obj_snd_delete (int objnum, int index)
 
void obj_snd_delete_type (int objnum, int sndnum, ship_subsys *ss)
 
void obj_snd_delete_all ()
 
void obj_snd_level_close ()
 
int obj_snd_is_playing (int object, int index)
 
int obj_snd_return_instance (int objnum, int index)
 
int obj_snd_update_offset (int objnum, int index, vec3d *new_offset)
 

Variables

obj_snd Objsnds [MAX_OBJ_SNDS]
 
int Obj_snd_enabled = TRUE
 
int Obj_snd_last_update
 
int Obj_snd_level_inited =0
 
int Flyby_next_sound
 
int Flyby_next_repeat
 
objectFlyby_last_objp
 

Macro Definition Documentation

#define FLYBY_MIN_DISTANCE   90

Definition at line 71 of file objectsnd.cpp.

#define FLYBY_MIN_NEXT_TIME   1000

Definition at line 74 of file objectsnd.cpp.

#define FLYBY_MIN_RELATIVE_SPEED   100

Definition at line 73 of file objectsnd.cpp.

#define FLYBY_MIN_REPEAT_TIME   4000

Definition at line 75 of file objectsnd.cpp.

#define FLYBY_MIN_SPEED   50

Definition at line 72 of file objectsnd.cpp.

#define MAX_OBJ_SNDS   256

Definition at line 63 of file objectsnd.cpp.

#define MIN_FORWARD_SPEED   5

Definition at line 52 of file objectsnd.cpp.

#define MIN_PERSISTANT_VOL   0.10f

Definition at line 51 of file objectsnd.cpp.

#define OBJSND_CHANGE_FREQUENCY_THRESHOLD   10

Definition at line 58 of file objectsnd.cpp.

#define SPEED_SOUND   600.0f

Definition at line 53 of file objectsnd.cpp.

#define VOL_PAN_UPDATE   50

Definition at line 50 of file objectsnd.cpp.

Typedef Documentation

typedef struct _obj_snd obj_snd

Function Documentation

DCF ( objsnd  ,
"Persistent sound stuff"   
)

Definition at line 97 of file objectsnd.cpp.

void maybe_play_flyby_snd ( float  closest_dist,
object closest_objp,
object listener_objp 
)

Definition at line 395 of file objectsnd.cpp.

int obj_snd_assign ( int  objnum,
int  sndnum,
vec3d pos,
int  main,
int  flags,
ship_subsys associated_sub 
)

Definition at line 705 of file objectsnd.cpp.

void obj_snd_delete ( int  objnum,
int  index 
)

Definition at line 780 of file objectsnd.cpp.

void obj_snd_delete_all ( )

Definition at line 849 of file objectsnd.cpp.

void obj_snd_delete_type ( int  objnum,
int  sndnum,
ship_subsys ss 
)

Definition at line 812 of file objectsnd.cpp.

void obj_snd_do_frame ( )

Definition at line 457 of file objectsnd.cpp.

int obj_snd_get_freq ( int  source_freq,
object source,
object observor,
vec3d source_pos 
)

Definition at line 316 of file objectsnd.cpp.

int obj_snd_get_slot ( )

Definition at line 174 of file objectsnd.cpp.

int obj_snd_is_playing ( int  object,
int  index 
)

Definition at line 878 of file objectsnd.cpp.

void obj_snd_level_close ( )

Definition at line 864 of file objectsnd.cpp.

void obj_snd_level_init ( )

Definition at line 191 of file objectsnd.cpp.

int obj_snd_return_instance ( int  objnum,
int  index 
)

Definition at line 891 of file objectsnd.cpp.

void obj_snd_source_pos ( vec3d sound_pos,
obj_snd osp 
)

Definition at line 81 of file objectsnd.cpp.

void obj_snd_stop ( object objp,
int  index 
)

Definition at line 228 of file objectsnd.cpp.

void obj_snd_stop_all ( )

Definition at line 299 of file objectsnd.cpp.

int obj_snd_stop_lowest_vol ( float  new_vol)

Stop a playing object sound, if it is quieter than sound at new_distance

Parameters
new_volVolume of requested sound to play
Returns
1 A sound was stopped
0 A sound was not stopped

Definition at line 340 of file objectsnd.cpp.

int obj_snd_update_offset ( int  objnum,
int  index,
vec3d new_offset 
)

Definition at line 910 of file objectsnd.cpp.

Variable Documentation

object* Flyby_last_objp

Definition at line 78 of file objectsnd.cpp.

int Flyby_next_repeat

Definition at line 77 of file objectsnd.cpp.

int Flyby_next_sound

Definition at line 76 of file objectsnd.cpp.

int Obj_snd_enabled = TRUE

Definition at line 66 of file objectsnd.cpp.

int Obj_snd_last_update

Definition at line 67 of file objectsnd.cpp.

int Obj_snd_level_inited =0

Definition at line 68 of file objectsnd.cpp.

Definition at line 64 of file objectsnd.cpp.