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 |