aboutsummaryrefslogtreecommitdiff
path: root/games
diff options
context:
space:
mode:
authorMaxim Sobolev <sobomax@FreeBSD.org>2000-05-18 09:41:57 +0000
committerMaxim Sobolev <sobomax@FreeBSD.org>2000-05-18 09:41:57 +0000
commit23dea21c8ff65be7b2b0bc49ff4028fed3f36b58 (patch)
tree8d4fcfee981c33936be55149a1e281603c14a7c7 /games
parentda2b85ca61f71265a10cf7f05413b418681002c1 (diff)
downloadports-23dea21c8ff65be7b2b0bc49ff4028fed3f36b58.tar.gz
ports-23dea21c8ff65be7b2b0bc49ff4028fed3f36b58.zip
Notes
Diffstat (limited to 'games')
-rw-r--r--games/quakeforge/files/patch-aa164
-rw-r--r--games/quakeforge/files/patch-ab11
-rw-r--r--games/quakeforge/files/patch-ac42
-rw-r--r--games/quakeforge/files/patch-ad42
4 files changed, 259 insertions, 0 deletions
diff --git a/games/quakeforge/files/patch-aa b/games/quakeforge/files/patch-aa
new file mode 100644
index 000000000000..5ff35452191a
--- /dev/null
+++ b/games/quakeforge/files/patch-aa
@@ -0,0 +1,164 @@
+--- common/snd_oss.c.orig Wed Jan 19 13:01:04 2000
++++ common/snd_oss.c Thu Mar 30 17:41:06 2000
+@@ -22,6 +22,7 @@
+ #include "quakedef.h"
+
+ #include <stdio.h>
++#ifndef SDL
+ #include <stdlib.h>
+ #ifdef HAVE_UNISTD_H
+ #include <unistd.h>
+@@ -50,9 +51,30 @@
+ static int snd_inited;
+
+ static int tryrates[] = { 11025, 22051, 44100, 8000 };
++#else /* SDL */
++#include "SDL_audio.h"
++#include "SDL_byteorder.h"
++
++static dma_t the_shm;
++static int snd_inited;
++
++extern int desired_speed;
++extern int desired_bits;
++
++static void paint_audio(void *unused, Uint8 *stream, int len)
++{
++ if ( shm ) {
++ shm->buffer = stream;
++ shm->samplepos += len/(shm->samplebits/8);
++ // Check for samplepos overflow?
++ S_PaintChannels (shm->samplepos);
++ }
++}
++#endif /*SDL */
+
+ qboolean SNDDMA_Init(void)
+ {
++#ifndef SDL
+
+ int rc;
+ int fmt;
+@@ -147,7 +169,7 @@
+ // memory map the dma buffer
+
+ shm->buffer = (unsigned char *) mmap(NULL, info.fragstotal
+- * info.fragsize, PROT_WRITE, MAP_FILE|MAP_SHARED, audio_fd, 0);
++ * info.fragsize, PROT_READ | PROT_WRITE, MAP_FILE|MAP_SHARED, audio_fd, 0);
+
+ if (shm->buffer == MAP_FAILED)
+ {
+@@ -240,11 +262,87 @@
+ snd_inited = 1;
+ return 1;
+
++#else /* SDL */
++
++ SDL_AudioSpec desired, obtained;
++
++ snd_inited = 0;
++
++ /* Set up the desired format */
++ desired.freq = desired_speed;
++ switch (desired_bits) {
++ case 8:
++ desired.format = AUDIO_U8;
++ break;
++ case 16:
++ if ( SDL_BYTEORDER == SDL_BIG_ENDIAN )
++ desired.format = AUDIO_S16MSB;
++ else
++ desired.format = AUDIO_S16LSB;
++ break;
++ default:
++ Con_Printf("Unknown number of audio bits: %d\n",
++ desired_bits);
++ return 0;
++ }
++ desired.channels = 2;
++ desired.samples = 512;
++ desired.callback = paint_audio;
++
++ /* Open the audio device */
++ if ( SDL_OpenAudio(&desired, &obtained) < 0 ) {
++ Con_Printf("Couldn't open SDL audio: %s\n", SDL_GetError());
++ return 0;
++ }
++
++ /* Make sure we can support the audio format */
++ switch (obtained.format) {
++ case AUDIO_U8:
++ /* Supported */
++ break;
++ case AUDIO_S16LSB:
++ case AUDIO_S16MSB:
++ if ( ((obtained.format == AUDIO_S16LSB) &&
++ (SDL_BYTEORDER == SDL_LIL_ENDIAN)) ||
++ ((obtained.format == AUDIO_S16MSB) &&
++ (SDL_BYTEORDER == SDL_BIG_ENDIAN)) ) {
++ /* Supported */
++ break;
++ }
++ /* Unsupported, fall through */;
++ default:
++ /* Not supported -- force SDL to do our bidding */
++ SDL_CloseAudio();
++ if ( SDL_OpenAudio(&desired, NULL) < 0 ) {
++ Con_Printf("Couldn't open SDL audio: %s\n",
++ SDL_GetError());
++ return 0;
++ }
++ memcpy(&obtained, &desired, sizeof(desired));
++ break;
++ }
++ SDL_PauseAudio(0);
++
++ /* Fill the audio DMA information block */
++ shm = &the_shm;
++ shm->splitbuffer = 0;
++ shm->samplebits = (obtained.format & 0xFF);
++ shm->speed = obtained.freq;
++ shm->channels = obtained.channels;
++ shm->samples = obtained.samples*shm->channels;
++ shm->samplepos = 0;
++ shm->submission_chunk = 1;
++ shm->buffer = NULL;
++
++ snd_inited = 1;
++ return 1;
++#endif /* SDL */
+ }
+
+ int SNDDMA_GetDMAPos(void)
+ {
+
++#ifndef SDL
+ struct count_info count;
+
+ if (!snd_inited) return 0;
+@@ -260,6 +358,7 @@
+ // shm->samplepos = (count.bytes / (shm->samplebits / 8)) & (shm->samples-1);
+ // fprintf(stderr, "%d \r", count.ptr);
+ shm->samplepos = count.ptr / (shm->samplebits / 8);
++#endif /* SDL */
+
+ return shm->samplepos;
+
+@@ -267,11 +366,17 @@
+
+ void SNDDMA_Shutdown(void)
+ {
++
+ if (snd_inited)
+ {
++#ifndef SDL
+ close(audio_fd);
++#else /* SDL */
++ SDL_CloseAudio();
++#endif
+ snd_inited = 0;
+ }
++
+ }
+
+ /*
diff --git a/games/quakeforge/files/patch-ab b/games/quakeforge/files/patch-ab
new file mode 100644
index 000000000000..d34e5eafa190
--- /dev/null
+++ b/games/quakeforge/files/patch-ab
@@ -0,0 +1,11 @@
+--- configure.in.orig Thu Mar 30 17:32:37 2000
++++ configure.in Thu Mar 30 17:32:45 2000
+@@ -335,7 +335,7 @@
+ dnl Make sure -lpthread works (for SDL)
+ if test "x$HAS_SDL" = xyes; then
+ AC_CHECK_LIB(pthread, pthread_exit ,SDL_LIBS="$SDL_LIBS -lpthread"
+- HAS_SDL=yes, HAS_SDL=no, [$SDL_LIBS])
++ HAS_SDL=yes, HAS_SDL=yes, [$SDL_LIBS])
+ fi
+ if test "x$HAS_SDL" != xyes; then
+ SDL_CFLAGS="" SDL_LIBS=""
diff --git a/games/quakeforge/files/patch-ac b/games/quakeforge/files/patch-ac
new file mode 100644
index 000000000000..46711cfe434c
--- /dev/null
+++ b/games/quakeforge/files/patch-ac
@@ -0,0 +1,42 @@
+--- uquake/Makefile.in.orig Wed Jan 19 03:24:41 2000
++++ uquake/Makefile.in Wed Apr 19 12:15:39 2000
+@@ -282,10 +282,13 @@
+ $(COMMON_DIR)/@X11_VID_SRC@
+ $(CC) $(CFLAGS) $(X11_CFLAGS) -o $@ -c $<
+
++$(BUILD_DIR)/soft/snd_oss.@OBJEXT@: $(COMMON_DIR)/snd_oss.c
++ $(CC) $(CFLAGS) $(SDL_CFLAGS) -o $@ -c $<
++
+ $(X11QUAKE): soft_DIR $(BUILD_DIR)/../$(X11QUAKE)
+
+ $(BUILD_DIR)/../$(X11QUAKE): $(ALL_X11_OBJS)
+- $(CC) $(CFLAGS) $(ALL_X11_OBJS) $(X11_LDFLAGS) $(LDFLAGS) $(LIBS) \
++ $(CC) $(CFLAGS) $(ALL_X11_OBJS) $(X11_LDFLAGS) $(SDL_LDFLAGS) $(LDFLAGS) $(LIBS) \
+ -o $(BUILD_DIR)/../$(X11QUAKE)
+
+ endif
+@@ -358,6 +361,9 @@
+ $(BUILD_DIR)/soft/cd_sdl.@OBJEXT@: $(COMMON_DIR)/cd_sdl.c
+ $(CC) $(CFLAGS) $(SDL_CFLAGS) -o $@ -c $<
+
++$(BUILD_DIR)/soft/snd_oss.@OBJEXT@: $(COMMON_DIR)/snd_oss.c
++ $(CC) $(CFLAGS) $(SDL_CFLAGS) -o $@ -c $<
++
+ $(SDLQUAKE): soft_DIR $(BUILD_DIR)/../$(SDLQUAKE)
+
+ $(BUILD_DIR)/../$(SDLQUAKE): $(ALL_SDL_OBJS)
+@@ -438,10 +444,13 @@
+ $(BUILD_DIR)/gl/dga_check.@OBJEXT@: $(COMMON_DIR)/dga_check.c
+ $(CC) $(CFLAGS) $(X11_CFLAGS) -o $@ -c $<
+
++$(BUILD_DIR)/soft/snd_oss.@OBJEXT@: $(COMMON_DIR)/snd_oss.c
++ $(CC) $(CFLAGS) $(SDL_CFLAGS) -o $@ -c $<
++
+ $(GLQUAKE): gl_DIR $(BUILD_DIR)/../$(GLQUAKE)
+
+ $(BUILD_DIR)/../$(GLQUAKE): $(ALL_GL_OBJS)
+- $(CC) $(CFLAGS) $(ALL_GL_OBJS) $(GL_LDFLAGS) $(LDFLAGS) $(LIBS) \
++ $(CC) $(CFLAGS) $(ALL_GL_OBJS) $(GL_LDFLAGS) $(SDL_LDFLAGS) $(LDFLAGS) $(LIBS) \
+ -o $(BUILD_DIR)/../$(GLQUAKE)
+
+ endif
diff --git a/games/quakeforge/files/patch-ad b/games/quakeforge/files/patch-ad
new file mode 100644
index 000000000000..97f9a2db692b
--- /dev/null
+++ b/games/quakeforge/files/patch-ad
@@ -0,0 +1,42 @@
+--- qw_client/Makefile.in.orig Wed Jan 19 03:24:41 2000
++++ qw_client/Makefile.in Wed Apr 19 12:14:39 2000
+@@ -277,10 +277,13 @@
+ $(COMMON_DIR)/@X11_VID_SRC@
+ $(CC) $(CFLAGS) $(X11_CFLAGS) -o $@ -c $<
+
++$(BUILD_DIR)/soft/snd_oss.@OBJEXT@: $(COMMON_DIR)/snd_oss.c
++ $(CC) $(CFLAGS) $(SDL_CFLAGS) -o $@ -c $<
++
+ $(X11QUAKE): soft_DIR $(BUILD_DIR)/../$(X11QUAKE)
+
+ $(BUILD_DIR)/../$(X11QUAKE): $(ALL_X11_OBJS)
+- $(CC) $(CFLAGS) $(ALL_X11_OBJS) $(X11_LDFLAGS) $(LDFLAGS) $(LIBS) \
++ $(CC) $(CFLAGS) $(ALL_X11_OBJS) $(X11_LDFLAGS) $(SDL_LDFLAGS) $(LDFLAGS) $(LIBS) \
+ -o $(BUILD_DIR)/../$(X11QUAKE)
+
+ endif
+@@ -353,6 +356,9 @@
+ $(BUILD_DIR)/soft/cd_sdl.@OBJEXT@: $(COMMON_DIR)/cd_sdl.c
+ $(CC) $(CFLAGS) $(SDL_CFLAGS) -o $@ -c $<
+
++$(BUILD_DIR)/soft/snd_oss.@OBJEXT@: $(COMMON_DIR)/snd_oss.c
++ $(CC) $(CFLAGS) $(SDL_CFLAGS) -o $@ -c $<
++
+ $(SDLQUAKE): soft_DIR $(BUILD_DIR)/../$(SDLQUAKE)
+
+ $(BUILD_DIR)/../$(SDLQUAKE): $(ALL_SDL_OBJS)
+@@ -402,10 +408,13 @@
+ $(BUILD_DIR)/gl/dga_check.@OBJEXT@: $(COMMON_DIR)/dga_check.c
+ $(CC) $(CFLAGS) $(X11_CFLAGS) -o $@ -c $<
+
++$(BUILD_DIR)/soft/snd_oss.@OBJEXT@: $(COMMON_DIR)/snd_oss.c
++ $(CC) $(CFLAGS) $(SDL_CFLAGS) -o $@ -c $<
++
+ $(GLQUAKE): gl_DIR $(BUILD_DIR)/../$(GLQUAKE)
+
+ $(BUILD_DIR)/../$(GLQUAKE): $(ALL_GL_OBJS)
+- $(CC) $(CFLAGS) $(ALL_GL_OBJS) $(GL_LDFLAGS) $(LDFLAGS) $(LIBS) \
++ $(CC) $(CFLAGS) $(ALL_GL_OBJS) $(GL_LDFLAGS) $(SDL_LDFLAGS) $(LDFLAGS) $(LIBS) \
+ -o $(BUILD_DIR)/../$(GLQUAKE)
+
+ endif