#pragma once #include #include "physics.h" #define VOICE_LOOPING (1<<10) /* Voice loops. */ #define VOICE_STATIC (1<<11) /* Voice isn't relative. */ struct alVoice; typedef struct alVoice alVoice; /* Sound subsystem. */ int sound_init(void); void sound_exit(void); void sound_update(void); /* Sound manupulation functions. */ ALuint sound_get(char* name); void sound_volume(const double vol); /* Voice manipulation function. */ alVoice* sound_addVoice(int priority, double px, double py, double vx, double vy, const ALuint buffer, const unsigned int flags); void sound_delVoice(alVoice* voice); /* Delete voice. */ void voice_update(alVoice* voice, double px, double py, double vx, double vy); void voice_buffer(alVoice* voice, const ALuint buffer, const unsigned int flags); void voice_stop(alVoice* voice); /* Listener manipulation. */ void sound_listener(double dir, double px, double py, double vx, double vy);