|
|
@@ -108,41 +108,40 @@ PUBLISHED:
|
|
|
// Changes to the positions of 3D spacialized sounds and the listener
|
|
|
// are all made at once when this method is called. It should be put
|
|
|
// in the main program loop.
|
|
|
- virtual void audio_3d_update() = 0;
|
|
|
+ virtual void audio_3d_update();
|
|
|
|
|
|
// This controls the "set of ears" that listens to 3D spacialized sound
|
|
|
- // px, py, pz are position coordinates. Can be NULL to ignore.
|
|
|
- // vx, vy, vz are a velocity vector in UNITS PER SECOND (default: meters). Can be NULL to ignore.
|
|
|
+ // px, py, pz are position coordinates.
|
|
|
+ // vx, vy, vz are a velocity vector in UNITS PER SECOND (default: meters).
|
|
|
// fx, fy and fz are the respective components of a unit forward-vector
|
|
|
// ux, uy and uz are the respective components of a unit up-vector
|
|
|
// These changes will NOT be invoked until audio_3d_update() is called.
|
|
|
virtual void audio_3d_set_listener_attributes(float px, float py, float pz,
|
|
|
float vx, float vy, float vz,
|
|
|
float fx, float fy, float fz,
|
|
|
- float ux, float uy, float uz) = 0;
|
|
|
- // Values should all default to NULL, so you can just pass the one you want to get.
|
|
|
- virtual void audio_3d_get_listener_attributes(float px = NULL, float py = NULL, float pz = NULL,
|
|
|
- float vx = NULL, float vy = NULL, float vz = NULL,
|
|
|
- float fx = NULL, float fy = NULL, float fz = NULL,
|
|
|
- float ux = NULL, float uy = NULL, float uz = NULL) = 0;
|
|
|
+ float ux, float uy, float uz);
|
|
|
+ virtual void audio_3d_get_listener_attributes(float *px, float *py, float *pz,
|
|
|
+ float *vx, float *vy, float *vz,
|
|
|
+ float *fx, float *fy, float *fz,
|
|
|
+ float *ux, float *uy, float *uz);
|
|
|
|
|
|
// Control the "relative distance factor" for 3D spacialized audio. Default is 1.0
|
|
|
// Fmod uses meters internally, so give a float in Units-per meter
|
|
|
// Don't know what Miles uses.
|
|
|
- virtual void audio_3d_set_distance_factor(float factor) = 0;
|
|
|
- virtual float audio_3d_get_distance_factor() const = 0;
|
|
|
+ virtual void audio_3d_set_distance_factor(float factor);
|
|
|
+ virtual float audio_3d_get_distance_factor() const;
|
|
|
|
|
|
// Control the presence of the Doppler effect. Default is 1.0
|
|
|
// Exaggerated Doppler, use >1.0
|
|
|
// Diminshed Doppler, use <1.0
|
|
|
- virtual void audio_3d_set_doppler_factor(float factor) = 0;
|
|
|
- virtual float audio_3d_get_doppler_factor() const = 0;
|
|
|
+ virtual void audio_3d_set_doppler_factor(float factor);
|
|
|
+ virtual float audio_3d_get_doppler_factor() const;
|
|
|
|
|
|
// Exaggerate or diminish the effect of distance on sound. Default is 1.0
|
|
|
// Faster drop off, use >1.0
|
|
|
// Slower drop off, use <1.0
|
|
|
- virtual void audio_3d_set_drop_off_factor(float factor) = 0;
|
|
|
- virtual float audio_3d_get_drop_off_factor() const = 0;
|
|
|
+ virtual void audio_3d_set_drop_off_factor(float factor);
|
|
|
+ virtual float audio_3d_get_drop_off_factor() const;
|
|
|
|
|
|
public:
|
|
|
static void register_AudioManager_creator(Create_AudioManager_proc* proc);
|