diff --git a/src/openal/sound.c b/src/openal/sound.c
index fc1e60ab43b37acfeccea68b4c86a26eef80e3a4..8d0b342c4ff656dee368401530f64946d9e4d98a 100644 (file)
--- a/src/openal/sound.c
+++ b/src/openal/sound.c
+/* Copyright (C) 2020 SovietPony
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, version 3 of the License ONLY.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
#include "sound.h"
#include "music.h"
#include "sound.h"
#include "music.h"
# include <AL/alc.h>
#endif
# include <AL/alc.h>
#endif
-#include <SDL.h> // SDL_BuildAudioCVT SDL_ConvertAudio
+#include "SDL.h" // SDL_BuildAudioCVT SDL_ConvertAudio
#include <assert.h>
#include <stdlib.h> // malloc
#include <string.h> // memcpy
#include <assert.h>
#include <stdlib.h> // malloc
#include <string.h> // memcpy
ALuint source;
} openal_channel;
ALuint source;
} openal_channel;
-short snd_vol;
-short mus_vol;
-char music_random;
-int music_time;
-int music_fade;
+static short snd_vol;
static ALCdevice *device;
static ALCcontext *context;
static ALCdevice *device;
static ALCcontext *context;
/* Music */
/* Music */
-void S_initmusic (void) {
+const cfg_t *MUS_args (void) {
+ return NULL;
+}
+const cfg_t *MUS_conf (void) {
+ return NULL;
}
}
-void S_donemusic (void) {
+const menu_t *MUS_menu (void) {
+ return NULL;
+}
+
+void MUS_init (void) {
}
}
-void S_startmusic (int time) {
+void MUS_done (void) {
}
}
-void S_stopmusic (void) {
+void MUS_start (int time) {
}
}
-void S_volumemusic (int v) {
+void MUS_stop (void) {
}
}
-void F_loadmus (char n[8]) {
+void MUS_volume (int v) {
}
}
-void F_freemus (void) {
+void MUS_load (char n[8]) {
}
}
-void S_updatemusic (void) {
+void MUS_free (void) {
+
+}
+
+void MUS_update (void) {
}
/* Sound */
}
/* Sound */
+static int sound_menu_handler (menu_msg_t *msg, const menu_t *m, int i) {
+ static int cur;
+ enum { VOLUME, __NUM__ };
+ static const simple_menu_t sm = {
+ GM_BIG, "Sound", NULL,
+ {
+ { "Volume", NULL },
+ }
+ };
+ if (i == VOLUME) {
+ switch (msg->type) {
+ case GM_GETENTRY: return GM_init_int0(msg, GM_SCROLLER, 0, 0, 0);
+ case GM_GETINT: return GM_init_int(msg, snd_vol, 0, 128, 8);
+ case GM_SETINT: S_volume(msg->integer.i); return 1;
+ }
+ }
+ return simple_menu_handler(msg, i, __NUM__, &sm, &cur);
+}
+
+const menu_t *S_menu (void) {
+ static const menu_t m = { &sound_menu_handler };
+ return &m;
+}
+
+const cfg_t *S_args (void) {
+ static const cfg_t args[] = {
+ { "sndvol", &snd_vol, Y_WORD },
+ { NULL, NULL, 0 }
+ };
+ return args;
+}
+
+const cfg_t *S_conf (void) {
+ static const cfg_t conf[] = {
+ { "sound_volume", &snd_vol, Y_WORD },
+ { NULL, NULL, 0 }
+ };
+ return conf;
+}
+
static void convert_this_ext (Uint32 src_format, int src_chan, int src_rate, Uint32 dst_format, int dst_chan, int dst_rate, const void *buf, int len, void **maxbuf, int *maxlen) {
SDL_AudioCVT cvt;
*maxlen = 0;
static void convert_this_ext (Uint32 src_format, int src_chan, int src_rate, Uint32 dst_format, int dst_chan, int dst_rate, const void *buf, int len, void **maxbuf, int *maxlen) {
SDL_AudioCVT cvt;
*maxlen = 0;