Subversion Repositories Games.Carmageddon

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 pmbaty 1
#ifndef S3_SOUND_H
2
#define S3_SOUND_H
3
 
4
// External typedefs
5
 
6
typedef float tF32;
7
typedef struct tS3_sound_source tS3_sound_source;
8
typedef tS3_sound_source* tS3_sound_source_ptr;
9
typedef int tS3_sound_tag;
10
typedef int tS3_sound_id;
11
typedef int tS3_type;
12
typedef int tS3_repeats;
13
typedef int tS3_volume;
14
typedef int tS3_effect_tag;
15
typedef long tS3_priority;
16
typedef long tS3_pitch;
17
typedef long tS3_speed;
18
typedef struct tS3_outlet tS3_outlet;
19
typedef tS3_outlet* tS3_outlet_ptr;
20
 
21
typedef void tS3_sample_filter(tS3_effect_tag, tS3_sound_tag);
22
 
23
typedef struct tS3_vector3 {
24
    tF32 x;
25
    tF32 y;
26
    tF32 z;
27
} tS3_vector3;
28
 
29
int S3Init(char* path, int low_memory_mode);
30
void S3Shutdown(void);
31
 
32
void S3Disable(void);
33
void S3Enable(void);
34
 
35
void S3Set3DSoundEnvironment(float a1, float a2, float a3);
36
int S3BindAmbientSoundToOutlet(tS3_outlet_ptr pOutlet, int pSound, tS3_sound_source* source, float pMax_distance, int pPeriod, int pRepeats, int pVolume, int pPitch, int pSpeed);
37
 
38
tS3_sound_tag S3StartSound3D(tS3_outlet_ptr pOutlet, tS3_sound_id pSound, tS3_vector3* pInitial_position, tS3_vector3* pInitial_velocity, tS3_repeats pRepeats, tS3_volume pVolume, tS3_pitch pPitch, tS3_speed pSpeed);
39
 
40
tS3_outlet_ptr S3CreateOutlet(int unk1, int pChannel_count);
41
void S3ReleaseOutlet(tS3_outlet_ptr outlet);
42
int S3ReleaseSound(tS3_sound_id id);
43
int S3ReleaseSoundSource(tS3_sound_source_ptr src);
44
 
45
int S3ChangeVolume(tS3_sound_tag pTag, tS3_volume pVolume);
46
 
47
void S3Service(int inside_cockpit, int unk1);
48
 
49
int S3LoadSample(tS3_sound_id id);
50
tS3_sound_tag S3StartSound(tS3_outlet_ptr pOutlet, tS3_sound_id pSound);
51
tS3_sound_tag S3StartSound2(tS3_outlet_ptr pOutlet, tS3_sound_id pSound, tS3_repeats pRepeats, tS3_volume pLVolume, tS3_volume pRVolume, tS3_pitch pPitch, tS3_speed pSpeed);
52
void S3StopAllOutletSounds(void);
53
int S3SoundStillPlaying(tS3_sound_tag pSound);
54
int S3ChangePitchSpeed(tS3_sound_tag pTag, tS3_pitch pNew_pitch);
55
int S3StopSound(tS3_sound_tag pSound_tag);
56
int S3StopOutletSound(tS3_outlet_ptr pOutlet);
57
int S3SetOutletVolume(tS3_outlet_ptr pOutlet, tS3_volume pVolume);
58
void S3UpdateSoundSource(tS3_outlet_ptr outlet, tS3_sound_tag tag, tS3_sound_source_ptr src, float pMax_distance_squared, int pPeriod, tS3_repeats pAmbient_repeats, tS3_volume pVolume, int pPitch, tS3_speed pSpeed);
59
 
60
int S3IsCDAPlaying2(void);
61
 
62
int S3SetEffects(tS3_sample_filter* filter1, tS3_sample_filter* filter2);
63
 
64
#endif