From 9ba1adb152c17650022719f35a88a7dc68d8d3d6 Mon Sep 17 00:00:00 2001 From: turbocat Date: Tue, 26 Apr 2022 08:58:22 +0000 Subject: [PATCH] wolf3d: - Now used standart SDL timer functions; - Removed old files and useless functions. git-svn-id: svn://kolibrios.org@9790 a494cfbc-eb01-0410-851d-a64ba20cac60 --- contrib/games/wolf3d/Makefile | 22 +- contrib/games/wolf3d/SDL/SDL_audiocvt.c | 642 ------------------ contrib/games/wolf3d/SDL/SDL_mixer.c | 218 ------ contrib/games/wolf3d/SDL/SDL_sysaudio.h | 150 ---- contrib/games/wolf3d/SDL/SDL_wave.c | 591 ---------------- contrib/games/wolf3d/SDL/SDL_wave.h | 65 -- contrib/games/wolf3d/SDL/uSDL.c | 28 - contrib/games/wolf3d/SDL_mixer/dynamic_flac.h | 66 -- .../wolf3d/SDL_mixer/dynamic_fluidsynth.h | 57 -- contrib/games/wolf3d/SDL_mixer/dynamic_mod.h | 62 -- contrib/games/wolf3d/SDL_mixer/dynamic_mp3.h | 47 -- contrib/games/wolf3d/SDL_mixer/dynamic_ogg.h | 53 -- contrib/games/wolf3d/SDL_mixer/fluidsynth.h | 51 -- contrib/games/wolf3d/SDL_mixer/load_flac.h | 31 - contrib/games/wolf3d/SDL_mixer/load_ogg.h | 31 - contrib/games/wolf3d/SDL_mixer/mixer.c | 31 +- contrib/games/wolf3d/SDL_mixer/music.c | 9 +- contrib/games/wolf3d/SDL_mixer/music_cmd.h | 62 -- contrib/games/wolf3d/SDL_mixer/music_flac.h | 90 --- contrib/games/wolf3d/SDL_mixer/music_mad.h | 72 -- contrib/games/wolf3d/SDL_mixer/music_mod.h | 62 -- .../games/wolf3d/SDL_mixer/music_modplug.h | 42 -- contrib/games/wolf3d/SDL_mixer/music_ogg.h | 75 -- contrib/games/wolf3d/SDL_mixer/wavestream.h | 60 -- contrib/games/wolf3d/Tupfile.lua | 7 +- contrib/games/wolf3d/id_in.cpp | 2 +- contrib/games/wolf3d/id_sd.cpp | 4 +- contrib/games/wolf3d/id_sd.h | 10 +- contrib/games/wolf3d/id_us_1.cpp | 4 +- contrib/games/wolf3d/id_vl.h | 2 +- contrib/games/wolf3d/kolibri.cpp | 210 +----- contrib/games/wolf3d/wl_def.h | 6 +- contrib/games/wolf3d/wl_draw.cpp | 4 +- contrib/games/wolf3d/wl_inter.cpp | 2 +- contrib/games/wolf3d/wl_main.cpp | 16 +- contrib/games/wolf3d/wl_menu.cpp | 20 +- contrib/games/wolf3d/wl_play.cpp | 4 +- contrib/games/wolf3d/wl_text.cpp | 2 +- 38 files changed, 65 insertions(+), 2845 deletions(-) delete mode 100644 contrib/games/wolf3d/SDL/SDL_audiocvt.c delete mode 100644 contrib/games/wolf3d/SDL/SDL_mixer.c delete mode 100644 contrib/games/wolf3d/SDL/SDL_sysaudio.h delete mode 100644 contrib/games/wolf3d/SDL/SDL_wave.c delete mode 100644 contrib/games/wolf3d/SDL/SDL_wave.h delete mode 100644 contrib/games/wolf3d/SDL/uSDL.c delete mode 100644 contrib/games/wolf3d/SDL_mixer/dynamic_flac.h delete mode 100644 contrib/games/wolf3d/SDL_mixer/dynamic_fluidsynth.h delete mode 100644 contrib/games/wolf3d/SDL_mixer/dynamic_mod.h delete mode 100644 contrib/games/wolf3d/SDL_mixer/dynamic_mp3.h delete mode 100644 contrib/games/wolf3d/SDL_mixer/dynamic_ogg.h delete mode 100644 contrib/games/wolf3d/SDL_mixer/fluidsynth.h delete mode 100644 contrib/games/wolf3d/SDL_mixer/load_flac.h delete mode 100644 contrib/games/wolf3d/SDL_mixer/load_ogg.h delete mode 100644 contrib/games/wolf3d/SDL_mixer/music_cmd.h delete mode 100644 contrib/games/wolf3d/SDL_mixer/music_flac.h delete mode 100644 contrib/games/wolf3d/SDL_mixer/music_mad.h delete mode 100644 contrib/games/wolf3d/SDL_mixer/music_mod.h delete mode 100644 contrib/games/wolf3d/SDL_mixer/music_modplug.h delete mode 100644 contrib/games/wolf3d/SDL_mixer/music_ogg.h delete mode 100644 contrib/games/wolf3d/SDL_mixer/wavestream.h diff --git a/contrib/games/wolf3d/Makefile b/contrib/games/wolf3d/Makefile index 779458fa78..762e9e83f2 100755 --- a/contrib/games/wolf3d/Makefile +++ b/contrib/games/wolf3d/Makefile @@ -1,14 +1,18 @@ CC = kos32-gcc LD = kos32-ld +OBJCOPY = kos32-objcopy +KPACK = kpack SDK_DIR = $(abspath ../../sdk) CFLAGS = -c -fno-ident -O2 -fomit-frame-pointer -fno-ident -U__WIN32__ -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32 -D_KOLIBRI -LDFLAGS = -static -S -nostdlib -T $(SDK_DIR)/sources/newlib/app.lds --image-base 0 +LDFLAGS = -static -S -nostdlib -T $(SDK_DIR)/sources/newlib/app.lds --image-base 0 --subsystem native INCLUDES = -I$(SDK_DIR)/sources/newlib/libc/include -I$(SDK_DIR)/sources/SDL-1.2.2_newlib/include -I. -I SDL_mixer LIBPATH = -L $(SDK_DIR)/lib -L /home/autobuild/tools/win32/mingw32/lib -L $(SDK_DIR)/lib +TARGET = bin/wolf3d + OBJECTS += wl_cloudsky.o OBJECTS += wl_debug.o OBJECTS += id_sd.o @@ -40,10 +44,6 @@ OBJECTS += joystick_stub.o OBJECTS += kolibri.o OBJECTS += mame/fmopl.o -SDL_OBJ += SDL/SDL_wave.o -SDL_OBJ += SDL/SDL_audiocvt.o -SDL_OBJ += SDL/SDL_mixer.o -SDL_OBJ += SDL/uSDL.o SDL_MIX_OBJ += SDL_mixer/mixer.o SDL_MIX_OBJ += SDL_mixer/music.o @@ -52,10 +52,12 @@ SDL_MIX_OBJ += SDL_mixer/load_voc.o SDL_MIX_OBJ += SDL_mixer/effects_internal.o SDL_MIX_OBJ += SDL_mixer/effect_position.o -default: $(OBJECTS) $(SDL_MIX_OBJ) $(SDL_OBJ) - kos32-ld $(LDFLAGS) $(LIBPATH) --subsystem native -o bin/wolf3d $(OBJECTS) $(SDL_MIX_OBJ) $(SDL_OBJ) -lSDLn -lsound -lstdc++ -lsupc++ -lgcc -lc.dll - objcopy bin/wolf3d -O binary - kpack --nologo bin/wolf3d +LIBS = -lSDLn -lsound -lgcc -lc.dll + +$(TARGET): $(OBJECTS) $(SDL_MIX_OBJ) $(SDL_OBJ) + $(LD) $(LDFLAGS) $(LIBPATH) -o $(TARGET) $(OBJECTS) $(SDL_MIX_OBJ) $(SDL_OBJ) $(LIBS) + $(OBJCOPY) $(TARGET) -O binary + $(KPACK) --nologo $(TARGET) %.o : %.cpp $(CC) $(CFLAGS) $(INCLUDES) -o $@ $< @@ -64,4 +66,4 @@ default: $(OBJECTS) $(SDL_MIX_OBJ) $(SDL_OBJ) $(CC) $(CFLAGS) $(INCLUDES) -o $@ $< clean: - rm *.o SDL_mixer/*.o mame/*.o SDL/*.o *.d SDL_mixer/*.d mame/*.d SDL/*.d + rm -f $(OBJECTS) diff --git a/contrib/games/wolf3d/SDL/SDL_audiocvt.c b/contrib/games/wolf3d/SDL/SDL_audiocvt.c deleted file mode 100644 index e9a82ce6c6..0000000000 --- a/contrib/games/wolf3d/SDL/SDL_audiocvt.c +++ /dev/null @@ -1,642 +0,0 @@ -/* - SDL - Simple DirectMedia Layer - Copyright (C) 1997, 1998, 1999, 2000, 2001 Sam Lantinga - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Sam Lantinga - slouken@devolution.com -*/ - -#ifdef SAVE_RCSID -static char rcsid = - "@(#) $Id: SDL_audiocvt.c,v 1.2 2001/04/26 16:50:17 hercules Exp $"; -#endif - -/* Functions for audio drivers to perform runtime conversion of audio format */ - -#include - -#include "SDL_error.h" -#include "SDL_audio.h" - - -/* Effectively mix right and left channels into a single channel */ -void SDL_ConvertMono(SDL_AudioCVT *cvt, Uint16 format) -{ - int i; - Sint32 sample; - -#ifdef DEBUG_CONVERT - fprintf(stderr, "Converting to mono\n"); -#endif - switch (format&0x8018) { - - case AUDIO_U8: { - Uint8 *src, *dst; - - src = cvt->buf; - dst = cvt->buf; - for ( i=cvt->len_cvt/2; i; --i ) { - sample = src[0] + src[1]; - if ( sample > 255 ) { - *dst = 255; - } else { - *dst = sample; - } - src += 2; - dst += 1; - } - } - break; - - case AUDIO_S8: { - Sint8 *src, *dst; - - src = (Sint8 *)cvt->buf; - dst = (Sint8 *)cvt->buf; - for ( i=cvt->len_cvt/2; i; --i ) { - sample = src[0] + src[1]; - if ( sample > 127 ) { - *dst = 127; - } else - if ( sample < -128 ) { - *dst = -128; - } else { - *dst = sample; - } - src += 2; - dst += 1; - } - } - break; - - case AUDIO_U16: { - Uint8 *src, *dst; - - src = cvt->buf; - dst = cvt->buf; - if ( (format & 0x1000) == 0x1000 ) { - for ( i=cvt->len_cvt/4; i; --i ) { - sample = (Uint16)((src[0]<<8)|src[1])+ - (Uint16)((src[2]<<8)|src[3]); - if ( sample > 65535 ) { - dst[0] = 0xFF; - dst[1] = 0xFF; - } else { - dst[1] = (sample&0xFF); - sample >>= 8; - dst[0] = (sample&0xFF); - } - src += 4; - dst += 2; - } - } else { - for ( i=cvt->len_cvt/4; i; --i ) { - sample = (Uint16)((src[1]<<8)|src[0])+ - (Uint16)((src[3]<<8)|src[2]); - if ( sample > 65535 ) { - dst[0] = 0xFF; - dst[1] = 0xFF; - } else { - dst[0] = (sample&0xFF); - sample >>= 8; - dst[1] = (sample&0xFF); - } - src += 4; - dst += 2; - } - } - } - break; - - case AUDIO_S16: { - Uint8 *src, *dst; - - src = cvt->buf; - dst = cvt->buf; - if ( (format & 0x1000) == 0x1000 ) { - for ( i=cvt->len_cvt/4; i; --i ) { - sample = (Sint16)((src[0]<<8)|src[1])+ - (Sint16)((src[2]<<8)|src[3]); - if ( sample > 32767 ) { - dst[0] = 0x7F; - dst[1] = 0xFF; - } else - if ( sample < -32768 ) { - dst[0] = 0x80; - dst[1] = 0x00; - } else { - dst[1] = (sample&0xFF); - sample >>= 8; - dst[0] = (sample&0xFF); - } - src += 4; - dst += 2; - } - } else { - for ( i=cvt->len_cvt/4; i; --i ) { - sample = (Sint16)((src[1]<<8)|src[0])+ - (Sint16)((src[3]<<8)|src[2]); - if ( sample > 32767 ) { - dst[1] = 0x7F; - dst[0] = 0xFF; - } else - if ( sample < -32768 ) { - dst[1] = 0x80; - dst[0] = 0x00; - } else { - dst[0] = (sample&0xFF); - sample >>= 8; - dst[1] = (sample&0xFF); - } - src += 4; - dst += 2; - } - } - } - break; - } - cvt->len_cvt /= 2; - if ( cvt->filters[++cvt->filter_index] ) { - cvt->filters[cvt->filter_index](cvt, format); - } -} - - -/* Duplicate a mono channel to both stereo channels */ -void SDL_ConvertStereo(SDL_AudioCVT *cvt, Uint16 format) -{ - int i; - -#ifdef DEBUG_CONVERT - fprintf(stderr, "Converting to stereo\n"); -#endif - if ( (format & 0xFF) == 16 ) { - Uint16 *src, *dst; - - src = (Uint16 *)(cvt->buf+cvt->len_cvt); - dst = (Uint16 *)(cvt->buf+cvt->len_cvt*2); - for ( i=cvt->len_cvt/2; i; --i ) { - dst -= 2; - src -= 1; - dst[0] = src[0]; - dst[1] = src[0]; - } - } else { - Uint8 *src, *dst; - - src = cvt->buf+cvt->len_cvt; - dst = cvt->buf+cvt->len_cvt*2; - for ( i=cvt->len_cvt; i; --i ) { - dst -= 2; - src -= 1; - dst[0] = src[0]; - dst[1] = src[0]; - } - } - cvt->len_cvt *= 2; - if ( cvt->filters[++cvt->filter_index] ) { - cvt->filters[cvt->filter_index](cvt, format); - } -} - -/* Convert 8-bit to 16-bit - LSB */ -void SDL_Convert16LSB(SDL_AudioCVT *cvt, Uint16 format) -{ - int i; - Uint8 *src, *dst; - -#ifdef DEBUG_CONVERT - fprintf(stderr, "Converting to 16-bit LSB\n"); -#endif - src = cvt->buf+cvt->len_cvt; - dst = cvt->buf+cvt->len_cvt*2; - for ( i=cvt->len_cvt; i; --i ) { - src -= 1; - dst -= 2; - dst[1] = *src; - dst[0] = 0; - } - format = ((format & ~0x0008) | AUDIO_U16LSB); - cvt->len_cvt *= 2; - if ( cvt->filters[++cvt->filter_index] ) { - cvt->filters[cvt->filter_index](cvt, format); - } -} -/* Convert 8-bit to 16-bit - MSB */ -void SDL_Convert16MSB(SDL_AudioCVT *cvt, Uint16 format) -{ - int i; - Uint8 *src, *dst; - -#ifdef DEBUG_CONVERT - fprintf(stderr, "Converting to 16-bit MSB\n"); -#endif - src = cvt->buf+cvt->len_cvt; - dst = cvt->buf+cvt->len_cvt*2; - for ( i=cvt->len_cvt; i; --i ) { - src -= 1; - dst -= 2; - dst[0] = *src; - dst[1] = 0; - } - format = ((format & ~0x0008) | AUDIO_U16MSB); - cvt->len_cvt *= 2; - if ( cvt->filters[++cvt->filter_index] ) { - cvt->filters[cvt->filter_index](cvt, format); - } -} - -/* Convert 16-bit to 8-bit */ -void SDL_Convert8(SDL_AudioCVT *cvt, Uint16 format) -{ - int i; - Uint8 *src, *dst; - -#ifdef DEBUG_CONVERT - fprintf(stderr, "Converting to 8-bit\n"); -#endif - src = cvt->buf; - dst = cvt->buf; - if ( (format & 0x1000) != 0x1000 ) { /* Little endian */ - ++src; - } - for ( i=cvt->len_cvt/2; i; --i ) { - *dst = *src; - src += 2; - dst += 1; - } - format = ((format & ~0x9010) | AUDIO_U8); - cvt->len_cvt /= 2; - if ( cvt->filters[++cvt->filter_index] ) { - cvt->filters[cvt->filter_index](cvt, format); - } -} - -/* Toggle signed/unsigned */ -void SDL_ConvertSign(SDL_AudioCVT *cvt, Uint16 format) -{ - int i; - Uint8 *data; - -#ifdef DEBUG_CONVERT - fprintf(stderr, "Converting audio signedness\n"); -#endif - data = cvt->buf; - if ( (format & 0xFF) == 16 ) { - if ( (format & 0x1000) != 0x1000 ) { /* Little endian */ - ++data; - } - for ( i=cvt->len_cvt/2; i; --i ) { - *data ^= 0x80; - data += 2; - } - } else { - for ( i=cvt->len_cvt; i; --i ) { - *data++ ^= 0x80; - } - } - format = (format ^ 0x8000); - if ( cvt->filters[++cvt->filter_index] ) { - cvt->filters[cvt->filter_index](cvt, format); - } -} - -/* Toggle endianness */ -void SDL_ConvertEndian(SDL_AudioCVT *cvt, Uint16 format) -{ - int i; - Uint8 *data, tmp; - -#ifdef DEBUG_CONVERT - fprintf(stderr, "Converting audio endianness\n"); -#endif - data = cvt->buf; - for ( i=cvt->len_cvt/2; i; --i ) { - tmp = data[0]; - data[0] = data[1]; - data[1] = tmp; - data += 2; - } - format = (format ^ 0x1000); - if ( cvt->filters[++cvt->filter_index] ) { - cvt->filters[cvt->filter_index](cvt, format); - } -} - -/* Convert rate up by multiple of 2 */ -void SDL_RateMUL2(SDL_AudioCVT *cvt, Uint16 format) -{ - int i; - Uint8 *src, *dst; - -#ifdef DEBUG_CONVERT - fprintf(stderr, "Converting audio rate * 2\n"); -#endif - src = cvt->buf+cvt->len_cvt; - dst = cvt->buf+cvt->len_cvt*2; - switch (format & 0xFF) { - case 8: - for ( i=cvt->len_cvt; i; --i ) { - src -= 1; - dst -= 2; - dst[0] = src[0]; - dst[1] = src[0]; - } - break; - case 16: - for ( i=cvt->len_cvt/2; i; --i ) { - src -= 2; - dst -= 4; - dst[0] = src[0]; - dst[1] = src[1]; - dst[2] = src[0]; - dst[3] = src[1]; - } - break; - } - cvt->len_cvt *= 2; - if ( cvt->filters[++cvt->filter_index] ) { - cvt->filters[cvt->filter_index](cvt, format); - } -} - -/* Convert rate down by multiple of 2 */ -void SDL_RateDIV2(SDL_AudioCVT *cvt, Uint16 format) -{ - int i; - Uint8 *src, *dst; - -#ifdef DEBUG_CONVERT - fprintf(stderr, "Converting audio rate / 2\n"); -#endif - src = cvt->buf; - dst = cvt->buf; - switch (format & 0xFF) { - case 8: - for ( i=cvt->len_cvt/2; i; --i ) { - dst[0] = src[0]; - src += 2; - dst += 1; - } - break; - case 16: - for ( i=cvt->len_cvt/4; i; --i ) { - dst[0] = src[0]; - dst[1] = src[1]; - src += 4; - dst += 2; - } - break; - } - cvt->len_cvt /= 2; - if ( cvt->filters[++cvt->filter_index] ) { - cvt->filters[cvt->filter_index](cvt, format); - } -} - -/* Very slow rate conversion routine */ -void SDL_RateSLOW(SDL_AudioCVT *cvt, Uint16 format) -{ - double ipos; - int i, clen; - -#ifdef DEBUG_CONVERT - fprintf(stderr, "Converting audio rate * %4.4f\n", 1.0/cvt->rate_incr); -#endif - clen = (int)((double)cvt->len_cvt / cvt->rate_incr); - if ( cvt->rate_incr > 1.0 ) { - switch (format & 0xFF) { - case 8: { - Uint8 *output; - - output = cvt->buf; - ipos = 0.0; - for ( i=clen; i; --i ) { - *output = cvt->buf[(int)ipos]; - ipos += cvt->rate_incr; - output += 1; - } - } - break; - - case 16: { - Uint16 *output; - - clen &= ~1; - output = (Uint16 *)cvt->buf; - ipos = 0.0; - for ( i=clen/2; i; --i ) { - *output=((Uint16 *)cvt->buf)[(int)ipos]; - ipos += cvt->rate_incr; - output += 1; - } - } - break; - } - } else { - switch (format & 0xFF) { - case 8: { - Uint8 *output; - - output = cvt->buf+clen; - ipos = (double)cvt->len_cvt; - for ( i=clen; i; --i ) { - ipos -= cvt->rate_incr; - output -= 1; - *output = cvt->buf[(int)ipos]; - } - } - break; - - case 16: { - Uint16 *output; - - clen &= ~1; - output = (Uint16 *)(cvt->buf+clen); - ipos = (double)cvt->len_cvt/2; - for ( i=clen/2; i; --i ) { - ipos -= cvt->rate_incr; - output -= 1; - *output=((Uint16 *)cvt->buf)[(int)ipos]; - } - } - break; - } - } - cvt->len_cvt = clen; - if ( cvt->filters[++cvt->filter_index] ) { - cvt->filters[cvt->filter_index](cvt, format); - } -} - -int SDL_ConvertAudio(SDL_AudioCVT *cvt) -{ - /* Make sure there's data to convert */ - if ( cvt->buf == NULL ) { - SDL_SetError("No buffer allocated for conversion"); - return(-1); - } - /* Return okay if no conversion is necessary */ - cvt->len_cvt = cvt->len; - if ( cvt->filters[0] == NULL ) { - return(0); - } - - /* Set up the conversion and go! */ - cvt->filter_index = 0; - cvt->filters[0](cvt, cvt->src_format); - return(0); -} - -/* Creates a set of audio filters to convert from one format to another. - Returns -1 if the format conversion is not supported, or 1 if the - audio filter is set up. -*/ - -int SDL_BuildAudioCVT(SDL_AudioCVT *cvt, - Uint16 src_format, Uint8 src_channels, int src_rate, - Uint16 dst_format, Uint8 dst_channels, int dst_rate) -{ - /* Start off with no conversion necessary */ - cvt->needed = 0; - cvt->filter_index = 0; - cvt->filters[0] = NULL; - cvt->len_mult = 1; - cvt->len_ratio = 1.0; - - /* First filter: Endian conversion from src to dst */ - if ( (src_format & 0x1000) != (dst_format & 0x1000) - && ((src_format & 0xff) != 8) ) { - cvt->filters[cvt->filter_index++] = SDL_ConvertEndian; - } - - /* Second filter: Sign conversion -- signed/unsigned */ - if ( (src_format & 0x8000) != (dst_format & 0x8000) ) { - cvt->filters[cvt->filter_index++] = SDL_ConvertSign; - } - - /* Next filter: Convert 16 bit <--> 8 bit PCM */ - if ( (src_format & 0xFF) != (dst_format & 0xFF) ) { - switch (dst_format&0x10FF) { - case AUDIO_U8: - cvt->filters[cvt->filter_index++] = - SDL_Convert8; - cvt->len_ratio /= 2; - break; - case AUDIO_U16LSB: - cvt->filters[cvt->filter_index++] = - SDL_Convert16LSB; - cvt->len_mult *= 2; - cvt->len_ratio *= 2; - break; - case AUDIO_U16MSB: - cvt->filters[cvt->filter_index++] = - SDL_Convert16MSB; - cvt->len_mult *= 2; - cvt->len_ratio *= 2; - break; - } - } - - /* Last filter: Mono/Stereo conversion */ - if ( src_channels != dst_channels ) { - while ( (src_channels*2) <= dst_channels ) { - cvt->filters[cvt->filter_index++] = - SDL_ConvertStereo; - cvt->len_mult *= 2; - src_channels *= 2; - cvt->len_ratio *= 2; - } - /* This assumes that 4 channel audio is in the format: - Left {front/back} + Right {front/back} - so converting to L/R stereo works properly. - */ - while ( ((src_channels%2) == 0) && - ((src_channels/2) >= dst_channels) ) { - cvt->filters[cvt->filter_index++] = - SDL_ConvertMono; - src_channels /= 2; - cvt->len_ratio /= 2; - } - if ( src_channels != dst_channels ) { - /* Uh oh.. */; - } - } - - /* Do rate conversion */ - cvt->rate_incr = 0.0; - if ( (src_rate/100) != (dst_rate/100) ) { - Uint32 hi_rate, lo_rate; - int len_mult; - double len_ratio; - void (*rate_cvt)(SDL_AudioCVT *cvt, Uint16 format); - - if ( src_rate > dst_rate ) { - hi_rate = src_rate; - lo_rate = dst_rate; - rate_cvt = SDL_RateDIV2; - len_mult = 1; - len_ratio = 0.5; - } else { - hi_rate = dst_rate; - lo_rate = src_rate; - rate_cvt = SDL_RateMUL2; - len_mult = 2; - len_ratio = 2.0; - } - /* If hi_rate = lo_rate*2^x then conversion is easy */ - while ( ((lo_rate*2)/100) <= (hi_rate/100) ) { - cvt->filters[cvt->filter_index++] = rate_cvt; - cvt->len_mult *= len_mult; - lo_rate *= 2; - cvt->len_ratio *= len_ratio; - } - /* We may need a slow conversion here to finish up */ - if ( (lo_rate/100) != (hi_rate/100) ) { -#if 1 - /* The problem with this is that if the input buffer is - say 1K, and the conversion rate is say 1.1, then the - output buffer is 1.1K, which may not be an acceptable - buffer size for the audio driver (not a power of 2) - */ - /* For now, punt and hope the rate distortion isn't great. - */ -#else - if ( src_rate < dst_rate ) { - cvt->rate_incr = (double)lo_rate/hi_rate; - cvt->len_mult *= 2; - cvt->len_ratio /= cvt->rate_incr; - } else { - cvt->rate_incr = (double)hi_rate/lo_rate; - cvt->len_ratio *= cvt->rate_incr; - } - cvt->filters[cvt->filter_index++] = SDL_RateSLOW; -#endif - } - } - - /* Set up the filter information */ - if ( cvt->filter_index != 0 ) { - cvt->needed = 1; - cvt->src_format = src_format; - cvt->dst_format = dst_format; - cvt->len = 0; - cvt->buf = NULL; - cvt->filters[cvt->filter_index] = NULL; - } - return(cvt->needed); -} diff --git a/contrib/games/wolf3d/SDL/SDL_mixer.c b/contrib/games/wolf3d/SDL/SDL_mixer.c deleted file mode 100644 index 03cf713587..0000000000 --- a/contrib/games/wolf3d/SDL/SDL_mixer.c +++ /dev/null @@ -1,218 +0,0 @@ -/* - SDL - Simple DirectMedia Layer - Copyright (C) 1997, 1998, 1999, 2000, 2001 Sam Lantinga - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Sam Lantinga - slouken@devolution.com -*/ - -#ifdef SAVE_RCSID -static char rcsid = - "@(#) $Id: SDL_mixer.c,v 1.2 2001/04/26 16:50:17 hercules Exp $"; -#endif - -/* This provides the default mixing callback for the SDL audio routines */ - -#include -#include -#include - -#include "SDL_audio.h" -#include "SDL_mutex.h" -#include "SDL_timer.h" -#include "SDL_sysaudio.h" - -SDL_AudioDevice *current_audio = NULL; - -/* This table is used to add two sound values together and pin - * the value to avoid overflow. (used with permission from ARDI) - * Changed to use 0xFE instead of 0xFF for better sound quality. - */ -static const Uint8 mix8[] = -{ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, - 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, - 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, - 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, - 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, - 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, - 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, - 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, - 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, - 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, - 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, - 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B, 0x7C, - 0x7D, 0x7E, 0x7F, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, - 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x91, 0x92, - 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, - 0x9E, 0x9F, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, - 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xB2, 0xB3, - 0xB4, 0xB5, 0xB6, 0xB7, 0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, - 0xBF, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, - 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, - 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF, - 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, - 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, - 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFE, 0xFE, - 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, - 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, - 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, - 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, - 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, - 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, - 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, - 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, - 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, - 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, - 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, - 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE -}; - -/* The volume ranges from 0 - 128 */ -#define ADJUST_VOLUME(s, v) (s = (s*v)/SDL_MIX_MAXVOLUME) -#define ADJUST_VOLUME_U8(s, v) (s = (((s-128)*v)/SDL_MIX_MAXVOLUME)+128) - -void SDL_MixAudio (Uint8 *dst, const Uint8 *src, Uint32 len, int volume) -{ - Uint16 format; - - if ( volume == 0 ) { - return; - } - /* Mix the user-level audio format */ - if ( current_audio ) { - if ( current_audio->convert.needed ) { - format = current_audio->convert.src_format; - } else { - format = current_audio->spec.format; - } - } else { - format = AUDIO_S16; - } - format = AUDIO_S16; - switch (format) { - - case AUDIO_U8: { - Uint8 src_sample; - - while ( len-- ) { - src_sample = *src; - ADJUST_VOLUME_U8(src_sample, volume); - *dst = mix8[*dst+src_sample]; - ++dst; - ++src; - } - } - break; - - case AUDIO_S8: { - Sint8 *dst8, *src8; - Sint8 src_sample; - int dst_sample; - const int max_audioval = ((1<<(8-1))-1); - const int min_audioval = -(1<<(8-1)); - - src8 = (Sint8 *)src; - dst8 = (Sint8 *)dst; - while ( len-- ) { - src_sample = *src8; - ADJUST_VOLUME(src_sample, volume); - dst_sample = *dst8 + src_sample; - if ( dst_sample > max_audioval ) { - *dst8 = max_audioval; - } else - if ( dst_sample < min_audioval ) { - *dst8 = min_audioval; - } else { - *dst8 = dst_sample; - } - ++dst8; - ++src8; - } - } - break; - - case AUDIO_S16LSB: { - Sint16 src1, src2; - int dst_sample; - const int max_audioval = ((1<<(16-1))-1); - const int min_audioval = -(1<<(16-1)); - - len /= 2; - while ( len-- ) { - src1 = ((src[1])<<8|src[0]); - ADJUST_VOLUME(src1, volume); - src2 = ((dst[1])<<8|dst[0]); - src += 2; - dst_sample = src1+src2; - if ( dst_sample > max_audioval ) { - dst_sample = max_audioval; - } else - if ( dst_sample < min_audioval ) { - dst_sample = min_audioval; - } - dst[0] = dst_sample&0xFF; - dst_sample >>= 8; - dst[1] = dst_sample&0xFF; - dst += 2; - } - } - break; - - case AUDIO_S16MSB: { - Sint16 src1, src2; - int dst_sample; - const int max_audioval = ((1<<(16-1))-1); - const int min_audioval = -(1<<(16-1)); - - len /= 2; - while ( len-- ) { - src1 = ((src[0])<<8|src[1]); - ADJUST_VOLUME(src1, volume); - src2 = ((dst[0])<<8|dst[1]); - src += 2; - dst_sample = src1+src2; - if ( dst_sample > max_audioval ) { - dst_sample = max_audioval; - } else - if ( dst_sample < min_audioval ) { - dst_sample = min_audioval; - } - dst[1] = dst_sample&0xFF; - dst_sample >>= 8; - dst[0] = dst_sample&0xFF; - dst += 2; - } - } - break; - - default: /* If this happens... FIXME! */ - SDL_SetError("SDL_MixAudio(): unknown audio format"); - return; - } -} diff --git a/contrib/games/wolf3d/SDL/SDL_sysaudio.h b/contrib/games/wolf3d/SDL/SDL_sysaudio.h deleted file mode 100644 index 074ba3e5d3..0000000000 --- a/contrib/games/wolf3d/SDL/SDL_sysaudio.h +++ /dev/null @@ -1,150 +0,0 @@ -/* - SDL - Simple DirectMedia Layer - Copyright (C) 1997, 1998, 1999, 2000, 2001 Sam Lantinga - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Sam Lantinga - slouken@devolution.com -*/ - -#ifdef SAVE_RCSID -static char rcsid = - "@(#) $Id: SDL_sysaudio.h,v 1.8 2001/07/23 02:58:42 slouken Exp $"; -#endif - -#ifndef _SDL_sysaudio_h -#define _SDL_sysaudio_h - -#include "SDL_mutex.h" -#include "SDL_thread.h" - -/* The SDL audio driver */ -typedef struct SDL_AudioDevice SDL_AudioDevice; - -/* Define the SDL audio driver structure */ -#define _THIS SDL_AudioDevice *_this -#ifndef _STATUS -#define _STATUS SDL_status *status -#endif -struct SDL_AudioDevice { - /* * * */ - /* The name of this audio driver */ - const char *name; - - /* * * */ - /* The description of this audio driver */ - const char *desc; - - /* * * */ - /* Public driver functions */ - int (*OpenAudio)(_THIS, SDL_AudioSpec *spec); - void (*ThreadInit)(_THIS); /* Called by audio thread at start */ - void (*WaitAudio)(_THIS); - void (*PlayAudio)(_THIS); - Uint8 *(*GetAudioBuf)(_THIS); - void (*WaitDone)(_THIS); - void (*CloseAudio)(_THIS); - - /* * * */ - /* Data common to all devices */ - - /* The current audio specification (shared with audio thread) */ - SDL_AudioSpec spec; - - /* An audio conversion block for audio format emulation */ - SDL_AudioCVT convert; - - /* Current state flags */ - int enabled; - int paused; - int opened; - - /* Fake audio buffer for when the audio hardware is busy */ - Uint8 *fake_stream; - - /* A semaphore for locking the mixing buffers */ - SDL_mutex *mixer_lock; - - /* A thread to feed the audio device */ - SDL_Thread *thread; - Uint32 threadid; - - /* * * */ - /* Data private to this driver */ - struct SDL_PrivateAudioData *hidden; - - /* * * */ - /* The function used to dispose of this structure */ - void (*free)(_THIS); -}; -#undef _THIS - -typedef struct AudioBootStrap { - const char *name; - const char *desc; - int (*available)(void); - SDL_AudioDevice *(*create)(int devindex); -} AudioBootStrap; - -#ifdef OPENBSD_AUDIO_SUPPORT -extern AudioBootStrap OPENBSD_AUDIO_bootstrap; -#endif -#ifdef OSS_SUPPORT -extern AudioBootStrap DSP_bootstrap; -extern AudioBootStrap DMA_bootstrap; -#endif -#ifdef ALSA_SUPPORT -extern AudioBootStrap ALSA_bootstrap; -#endif -#if (defined(unix) && !defined(__CYGWIN32__)) && \ - !defined(OSS_SUPPORT) && !defined(ALSA_SUPPORT) -extern AudioBootStrap AUDIO_bootstrap; -#endif -#ifdef ARTSC_SUPPORT -extern AudioBootStrap ARTSC_bootstrap; -#endif -#ifdef ESD_SUPPORT -extern AudioBootStrap ESD_bootstrap; -#endif -#ifdef NAS_SUPPORT -extern AudioBootStrap NAS_bootstrap; -#endif -#ifdef ENABLE_DIRECTX -extern AudioBootStrap DSOUND_bootstrap; -#endif -#ifdef ENABLE_WINDIB -extern AudioBootStrap WAVEOUT_bootstrap; -#endif -#ifdef _AIX -extern AudioBootStrap Paud_bootstrap; -#endif -#ifdef __BEOS__ -extern AudioBootStrap BAUDIO_bootstrap; -#endif -#if defined(macintosh) || TARGET_API_MAC_CARBON -extern AudioBootStrap SNDMGR_bootstrap; -#endif -#ifdef ENABLE_AHI -extern AudioBootStrap AHI_bootstrap; -#endif -#ifdef DISKAUD_SUPPORT -extern AudioBootStrap DISKAUD_bootstrap; -#endif - -/* This is the current audio device */ -extern SDL_AudioDevice *current_audio; - -#endif /* _SDL_sysaudio_h */ diff --git a/contrib/games/wolf3d/SDL/SDL_wave.c b/contrib/games/wolf3d/SDL/SDL_wave.c deleted file mode 100644 index 237ec15087..0000000000 --- a/contrib/games/wolf3d/SDL/SDL_wave.c +++ /dev/null @@ -1,591 +0,0 @@ -/* - SDL - Simple DirectMedia Layer - Copyright (C) 1997, 1998, 1999, 2000, 2001 Sam Lantinga - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Sam Lantinga - slouken@devolution.com -*/ - -#ifdef SAVE_RCSID -static char rcsid = - "@(#) $Id: SDL_wave.c,v 1.2 2001/04/26 16:50:17 hercules Exp $"; -#endif - -#ifndef DISABLE_FILE - -/* Microsoft WAVE file loading routines */ - -#include -#include - -#include "SDL_error.h" -#include "SDL_audio.h" -#include "SDL_wave.h" -#include "SDL_endian.h" - -#ifndef NELEMS -#define NELEMS(array) ((sizeof array)/(sizeof array[0])) -#endif - -static int ReadChunk(SDL_RWops *src, Chunk *chunk); - -struct MS_ADPCM_decodestate { - Uint8 hPredictor; - Uint16 iDelta; - Sint16 iSamp1; - Sint16 iSamp2; -}; -static struct MS_ADPCM_decoder { - WaveFMT wavefmt; - Uint16 wSamplesPerBlock; - Uint16 wNumCoef; - Sint16 aCoeff[7][2]; - /* * * */ - struct MS_ADPCM_decodestate state[2]; -} MS_ADPCM_state; - -static int InitMS_ADPCM(WaveFMT *format) -{ - Uint8 *rogue_feel; - Uint16 extra_info; - int i; - - /* Set the rogue pointer to the MS_ADPCM specific data */ - MS_ADPCM_state.wavefmt.encoding = SDL_SwapLE16(format->encoding); - MS_ADPCM_state.wavefmt.channels = SDL_SwapLE16(format->channels); - MS_ADPCM_state.wavefmt.frequency = SDL_SwapLE32(format->frequency); - MS_ADPCM_state.wavefmt.byterate = SDL_SwapLE32(format->byterate); - MS_ADPCM_state.wavefmt.blockalign = SDL_SwapLE16(format->blockalign); - MS_ADPCM_state.wavefmt.bitspersample = - SDL_SwapLE16(format->bitspersample); - rogue_feel = (Uint8 *)format+sizeof(*format); - if ( sizeof(*format) == 16 ) { - extra_info = ((rogue_feel[1]<<8)|rogue_feel[0]); - rogue_feel += sizeof(Uint16); - } - MS_ADPCM_state.wSamplesPerBlock = ((rogue_feel[1]<<8)|rogue_feel[0]); - rogue_feel += sizeof(Uint16); - MS_ADPCM_state.wNumCoef = ((rogue_feel[1]<<8)|rogue_feel[0]); - rogue_feel += sizeof(Uint16); - if ( MS_ADPCM_state.wNumCoef != 7 ) { - SDL_SetError("Unknown set of MS_ADPCM coefficients"); - return(-1); - } - for ( i=0; iiSamp1 * coeff[0]) + - (state->iSamp2 * coeff[1]))/256; - if ( nybble & 0x08 ) { - new_sample += state->iDelta * (nybble-0x10); - } else { - new_sample += state->iDelta * nybble; - } - if ( new_sample < min_audioval ) { - new_sample = min_audioval; - } else - if ( new_sample > max_audioval ) { - new_sample = max_audioval; - } - delta = ((Sint32)state->iDelta * adaptive[nybble])/256; - if ( delta < 16 ) { - delta = 16; - } - state->iDelta = delta; - state->iSamp2 = state->iSamp1; - state->iSamp1 = new_sample; - return(new_sample); -} - -static int MS_ADPCM_decode(Uint8 **audio_buf, Uint32 *audio_len) -{ - struct MS_ADPCM_decodestate *state[2]; - Uint8 *freeable, *encoded, *decoded; - Sint32 encoded_len, samplesleft; - Sint8 nybble, stereo; - Sint16 *coeff[2]; - Sint32 new_sample; - - /* Allocate the proper sized output buffer */ - encoded_len = *audio_len; - encoded = *audio_buf; - freeable = *audio_buf; - *audio_len = (encoded_len/MS_ADPCM_state.wavefmt.blockalign) * - MS_ADPCM_state.wSamplesPerBlock* - MS_ADPCM_state.wavefmt.channels*sizeof(Sint16); - *audio_buf = (Uint8 *)malloc(*audio_len); - if ( *audio_buf == NULL ) { - SDL_Error(SDL_ENOMEM); - return(-1); - } - decoded = *audio_buf; - - /* Get ready... Go! */ - stereo = (MS_ADPCM_state.wavefmt.channels == 2); - state[0] = &MS_ADPCM_state.state[0]; - state[1] = &MS_ADPCM_state.state[stereo]; - while ( encoded_len >= MS_ADPCM_state.wavefmt.blockalign ) { - /* Grab the initial information for this block */ - state[0]->hPredictor = *encoded++; - if ( stereo ) { - state[1]->hPredictor = *encoded++; - } - state[0]->iDelta = ((encoded[1]<<8)|encoded[0]); - encoded += sizeof(Sint16); - if ( stereo ) { - state[1]->iDelta = ((encoded[1]<<8)|encoded[0]); - encoded += sizeof(Sint16); - } - state[0]->iSamp1 = ((encoded[1]<<8)|encoded[0]); - encoded += sizeof(Sint16); - if ( stereo ) { - state[1]->iSamp1 = ((encoded[1]<<8)|encoded[0]); - encoded += sizeof(Sint16); - } - state[0]->iSamp2 = ((encoded[1]<<8)|encoded[0]); - encoded += sizeof(Sint16); - if ( stereo ) { - state[1]->iSamp2 = ((encoded[1]<<8)|encoded[0]); - encoded += sizeof(Sint16); - } - coeff[0] = MS_ADPCM_state.aCoeff[state[0]->hPredictor]; - coeff[1] = MS_ADPCM_state.aCoeff[state[1]->hPredictor]; - - /* Store the two initial samples we start with */ - decoded[0] = state[0]->iSamp2&0xFF; - decoded[1] = state[0]->iSamp2>>8; - decoded += 2; - if ( stereo ) { - decoded[0] = state[1]->iSamp2&0xFF; - decoded[1] = state[1]->iSamp2>>8; - decoded += 2; - } - decoded[0] = state[0]->iSamp1&0xFF; - decoded[1] = state[0]->iSamp1>>8; - decoded += 2; - if ( stereo ) { - decoded[0] = state[1]->iSamp1&0xFF; - decoded[1] = state[1]->iSamp1>>8; - decoded += 2; - } - - /* Decode and store the other samples in this block */ - samplesleft = (MS_ADPCM_state.wSamplesPerBlock-2)* - MS_ADPCM_state.wavefmt.channels; - while ( samplesleft > 0 ) { - nybble = (*encoded)>>4; - new_sample = MS_ADPCM_nibble(state[0],nybble,coeff[0]); - decoded[0] = new_sample&0xFF; - new_sample >>= 8; - decoded[1] = new_sample&0xFF; - decoded += 2; - - nybble = (*encoded)&0x0F; - new_sample = MS_ADPCM_nibble(state[1],nybble,coeff[1]); - decoded[0] = new_sample&0xFF; - new_sample >>= 8; - decoded[1] = new_sample&0xFF; - decoded += 2; - - ++encoded; - samplesleft -= 2; - } - encoded_len -= MS_ADPCM_state.wavefmt.blockalign; - } - free(freeable); - return(0); -} - -struct IMA_ADPCM_decodestate { - Sint32 sample; - Sint8 index; -}; -static struct IMA_ADPCM_decoder { - WaveFMT wavefmt; - Uint16 wSamplesPerBlock; - /* * * */ - struct IMA_ADPCM_decodestate state[2]; -} IMA_ADPCM_state; - -static int InitIMA_ADPCM(WaveFMT *format) -{ - Uint8 *rogue_feel; - Uint16 extra_info; - - /* Set the rogue pointer to the IMA_ADPCM specific data */ - IMA_ADPCM_state.wavefmt.encoding = SDL_SwapLE16(format->encoding); - IMA_ADPCM_state.wavefmt.channels = SDL_SwapLE16(format->channels); - IMA_ADPCM_state.wavefmt.frequency = SDL_SwapLE32(format->frequency); - IMA_ADPCM_state.wavefmt.byterate = SDL_SwapLE32(format->byterate); - IMA_ADPCM_state.wavefmt.blockalign = SDL_SwapLE16(format->blockalign); - IMA_ADPCM_state.wavefmt.bitspersample = - SDL_SwapLE16(format->bitspersample); - rogue_feel = (Uint8 *)format+sizeof(*format); - if ( sizeof(*format) == 16 ) { - extra_info = ((rogue_feel[1]<<8)|rogue_feel[0]); - rogue_feel += sizeof(Uint16); - } - IMA_ADPCM_state.wSamplesPerBlock = ((rogue_feel[1]<<8)|rogue_feel[0]); - return(0); -} - -static Sint32 IMA_ADPCM_nibble(struct IMA_ADPCM_decodestate *state,Uint8 nybble) -{ - const Sint32 max_audioval = ((1<<(16-1))-1); - const Sint32 min_audioval = -(1<<(16-1)); - const int index_table[16] = { - -1, -1, -1, -1, - 2, 4, 6, 8, - -1, -1, -1, -1, - 2, 4, 6, 8 - }; - const Sint32 step_table[89] = { - 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 19, 21, 23, 25, 28, 31, - 34, 37, 41, 45, 50, 55, 60, 66, 73, 80, 88, 97, 107, 118, 130, - 143, 157, 173, 190, 209, 230, 253, 279, 307, 337, 371, 408, - 449, 494, 544, 598, 658, 724, 796, 876, 963, 1060, 1166, 1282, - 1411, 1552, 1707, 1878, 2066, 2272, 2499, 2749, 3024, 3327, - 3660, 4026, 4428, 4871, 5358, 5894, 6484, 7132, 7845, 8630, - 9493, 10442, 11487, 12635, 13899, 15289, 16818, 18500, 20350, - 22385, 24623, 27086, 29794, 32767 - }; - Sint32 delta, step; - - /* Compute difference and new sample value */ - step = step_table[state->index]; - delta = step >> 3; - if ( nybble & 0x04 ) delta += step; - if ( nybble & 0x02 ) delta += (step >> 1); - if ( nybble & 0x01 ) delta += (step >> 2); - if ( nybble & 0x08 ) delta = -delta; - state->sample += delta; - - /* Update index value */ - state->index += index_table[nybble]; - if ( state->index > 88 ) { - state->index = 88; - } else - if ( state->index < 0 ) { - state->index = 0; - } - - /* Clamp output sample */ - if ( state->sample > max_audioval ) { - state->sample = max_audioval; - } else - if ( state->sample < min_audioval ) { - state->sample = min_audioval; - } - return(state->sample); -} - -/* Fill the decode buffer with a channel block of data (8 samples) */ -static void Fill_IMA_ADPCM_block(Uint8 *decoded, Uint8 *encoded, - int channel, int numchannels, struct IMA_ADPCM_decodestate *state) -{ - int i; - Sint8 nybble; - Sint32 new_sample; - - decoded += (channel * 2); - for ( i=0; i<4; ++i ) { - nybble = (*encoded)&0x0F; - new_sample = IMA_ADPCM_nibble(state, nybble); - decoded[0] = new_sample&0xFF; - new_sample >>= 8; - decoded[1] = new_sample&0xFF; - decoded += 2 * numchannels; - - nybble = (*encoded)>>4; - new_sample = IMA_ADPCM_nibble(state, nybble); - decoded[0] = new_sample&0xFF; - new_sample >>= 8; - decoded[1] = new_sample&0xFF; - decoded += 2 * numchannels; - - ++encoded; - } -} - -static int IMA_ADPCM_decode(Uint8 **audio_buf, Uint32 *audio_len) -{ - struct IMA_ADPCM_decodestate *state; - Uint8 *freeable, *encoded, *decoded; - Sint32 encoded_len, samplesleft; - int c, channels; - - /* Check to make sure we have enough variables in the state array */ - channels = IMA_ADPCM_state.wavefmt.channels; - if ( channels > NELEMS(IMA_ADPCM_state.state) ) { - SDL_SetError("IMA ADPCM decoder can only handle %d channels", - NELEMS(IMA_ADPCM_state.state)); - return(-1); - } - state = IMA_ADPCM_state.state; - - /* Allocate the proper sized output buffer */ - encoded_len = *audio_len; - encoded = *audio_buf; - freeable = *audio_buf; - *audio_len = (encoded_len/IMA_ADPCM_state.wavefmt.blockalign) * - IMA_ADPCM_state.wSamplesPerBlock* - IMA_ADPCM_state.wavefmt.channels*sizeof(Sint16); - *audio_buf = (Uint8 *)malloc(*audio_len); - if ( *audio_buf == NULL ) { - SDL_Error(SDL_ENOMEM); - return(-1); - } - decoded = *audio_buf; - - /* Get ready... Go! */ - while ( encoded_len >= IMA_ADPCM_state.wavefmt.blockalign ) { - /* Grab the initial information for this block */ - for ( c=0; c>8; - decoded += 2; - } - - /* Decode and store the other samples in this block */ - samplesleft = (IMA_ADPCM_state.wSamplesPerBlock-1)*channels; - while ( samplesleft > 0 ) { - for ( c=0; cencoding)) { - case PCM_CODE: - /* We can understand this */ - break; - case MS_ADPCM_CODE: - /* Try to understand this */ - if ( InitMS_ADPCM(format) < 0 ) { - was_error = 1; - goto done; - } - MS_ADPCM_encoded = 1; - break; - case IMA_ADPCM_CODE: - /* Try to understand this */ - if ( InitIMA_ADPCM(format) < 0 ) { - was_error = 1; - goto done; - } - IMA_ADPCM_encoded = 1; - break; - default: - SDL_SetError("Unknown WAVE data format: 0x%.4x", - SDL_SwapLE16(format->encoding)); - was_error = 1; - goto done; - } - memset(spec, 0, (sizeof *spec)); - spec->freq = SDL_SwapLE32(format->frequency); - switch (SDL_SwapLE16(format->bitspersample)) { - case 4: - if ( MS_ADPCM_encoded || IMA_ADPCM_encoded ) { - spec->format = AUDIO_S16; - } else { - was_error = 1; - } - break; - case 8: - spec->format = AUDIO_U8; - break; - case 16: - spec->format = AUDIO_S16; - break; - default: - was_error = 1; - break; - } - if ( was_error ) { - SDL_SetError("Unknown %d-bit PCM data format", - SDL_SwapLE16(format->bitspersample)); - goto done; - } - spec->channels = (Uint8)SDL_SwapLE16(format->channels); - spec->samples = 4096; /* Good default buffer size */ - - /* Read the audio data chunk */ - *audio_buf = NULL; - do { - if ( *audio_buf != NULL ) { - free(*audio_buf); - } - lenread = ReadChunk(src, &chunk); - if ( lenread < 0 ) { - was_error = 1; - goto done; - } - *audio_len = lenread; - *audio_buf = chunk.data; - } while ( chunk.magic != DATA ); - - if ( MS_ADPCM_encoded ) { - if ( MS_ADPCM_decode(audio_buf, audio_len) < 0 ) { - was_error = 1; - goto done; - } - } - if ( IMA_ADPCM_encoded ) { - if ( IMA_ADPCM_decode(audio_buf, audio_len) < 0 ) { - was_error = 1; - goto done; - } - } - - /* Don't return a buffer that isn't a multiple of samplesize */ - samplesize = ((spec->format & 0xFF)/8)*spec->channels; - *audio_len &= ~(samplesize-1); - -done: - if ( format != NULL ) { - free(format); - } - if ( freesrc && src ) { - SDL_RWclose(src); - } - if ( was_error ) { - spec = NULL; - } - return(spec); -} - -/* Since the WAV memory is allocated in the shared library, it must also - be freed here. (Necessary under Win32, VC++) - */ -void SDL_FreeWAV(Uint8 *audio_buf) -{ - if ( audio_buf != NULL ) { - free(audio_buf); - } -} - -static int ReadChunk(SDL_RWops *src, Chunk *chunk) -{ - chunk->magic = SDL_ReadLE32(src); - chunk->length = SDL_ReadLE32(src); - chunk->data = (Uint8 *)malloc(chunk->length); - if ( chunk->data == NULL ) { - SDL_Error(SDL_ENOMEM); - return(-1); - } - if ( SDL_RWread(src, chunk->data, chunk->length, 1) != 1 ) { - SDL_Error(SDL_EFREAD); - free(chunk->data); - return(-1); - } - return(chunk->length); -} - -#endif /* ENABLE_FILE */ diff --git a/contrib/games/wolf3d/SDL/SDL_wave.h b/contrib/games/wolf3d/SDL/SDL_wave.h deleted file mode 100644 index 7f0247e3c2..0000000000 --- a/contrib/games/wolf3d/SDL/SDL_wave.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - SDL - Simple DirectMedia Layer - Copyright (C) 1997, 1998, 1999, 2000, 2001 Sam Lantinga - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with this library; if not, write to the Free - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - Sam Lantinga - slouken@devolution.com -*/ - -#ifdef SAVE_RCSID -static char rcsid = - "@(#) $Id: SDL_wave.h,v 1.2 2001/04/26 16:50:17 hercules Exp $"; -#endif - -/* WAVE files are little-endian */ - -/*******************************************/ -/* Define values for Microsoft WAVE format */ -/*******************************************/ -#define RIFF 0x46464952 /* "RIFF" */ -#define WAVE 0x45564157 /* "WAVE" */ -#define FACT 0x74636166 /* "fact" */ -#define LIST 0x5453494c /* "LIST" */ -#define FMT 0x20746D66 /* "fmt " */ -#define DATA 0x61746164 /* "data" */ -#define PCM_CODE 0x0001 -#define MS_ADPCM_CODE 0x0002 -#define IMA_ADPCM_CODE 0x0011 -#define WAVE_MONO 1 -#define WAVE_STEREO 2 - -/* Normally, these three chunks come consecutively in a WAVE file */ -typedef struct WaveFMT { -/* Not saved in the chunk we read: - Uint32 FMTchunk; - Uint32 fmtlen; -*/ - Uint16 encoding; - Uint16 channels; /* 1 = mono, 2 = stereo */ - Uint32 frequency; /* One of 11025, 22050, or 44100 Hz */ - Uint32 byterate; /* Average bytes per second */ - Uint16 blockalign; /* Bytes per sample block */ - Uint16 bitspersample; /* One of 8, 12, 16, or 4 for ADPCM */ -} WaveFMT; - -/* The general chunk found in the WAVE file */ -typedef struct Chunk { - Uint32 magic; - Uint32 length; - Uint8 *data; /* Data includes magic and length */ -} Chunk; - diff --git a/contrib/games/wolf3d/SDL/uSDL.c b/contrib/games/wolf3d/SDL/uSDL.c deleted file mode 100644 index 93ba823f07..0000000000 --- a/contrib/games/wolf3d/SDL/uSDL.c +++ /dev/null @@ -1,28 +0,0 @@ -static unsigned __starttime; - -void uSDL_StartTicks(void){ - __asm__ __volatile__ ( - "int $0x40" - :"=a"(__starttime) - :"a"(26),"b"(9) - :"memory" - ); -} - -unsigned uSDL_GetTicks(void){ - unsigned __curtime; - __asm__ __volatile__( - "int $0x40" - :"=a"(__curtime) - :"a"(26),"b"(9) - :"memory" - ); - return (__curtime-__starttime)*10; -} - -void uSDL_Delay(unsigned ms){ - unsigned start = uSDL_GetTicks(); - do{ - __asm__ __volatile__("int $0x40" :: "a"(5),"b"(1)); - }while (uSDL_GetTicks()-start < ms); -} diff --git a/contrib/games/wolf3d/SDL_mixer/dynamic_flac.h b/contrib/games/wolf3d/SDL_mixer/dynamic_flac.h deleted file mode 100644 index e2dd3f7540..0000000000 --- a/contrib/games/wolf3d/SDL_mixer/dynamic_flac.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - SDL_mixer: An audio mixer library based on the SDL library - Copyright (C) 1997-2012 Sam Lantinga - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - The following file defines all of the functions/objects used to dynamically - link to the libFLAC library. - ~ Austen Dicken (admin@cvpcs.org) -*/ - -#ifdef FLAC_MUSIC - -#include - -typedef struct { - int loaded; - void *handle; - FLAC__StreamDecoder *(*FLAC__stream_decoder_new)(); - void (*FLAC__stream_decoder_delete)(FLAC__StreamDecoder *decoder); - FLAC__StreamDecoderInitStatus (*FLAC__stream_decoder_init_stream)( - FLAC__StreamDecoder *decoder, - FLAC__StreamDecoderReadCallback read_callback, - FLAC__StreamDecoderSeekCallback seek_callback, - FLAC__StreamDecoderTellCallback tell_callback, - FLAC__StreamDecoderLengthCallback length_callback, - FLAC__StreamDecoderEofCallback eof_callback, - FLAC__StreamDecoderWriteCallback write_callback, - FLAC__StreamDecoderMetadataCallback metadata_callback, - FLAC__StreamDecoderErrorCallback error_callback, - void *client_data); - FLAC__bool (*FLAC__stream_decoder_finish)(FLAC__StreamDecoder *decoder); - FLAC__bool (*FLAC__stream_decoder_flush)(FLAC__StreamDecoder *decoder); - FLAC__bool (*FLAC__stream_decoder_process_single)( - FLAC__StreamDecoder *decoder); - FLAC__bool (*FLAC__stream_decoder_process_until_end_of_metadata)( - FLAC__StreamDecoder *decoder); - FLAC__bool (*FLAC__stream_decoder_process_until_end_of_stream)( - FLAC__StreamDecoder *decoder); - FLAC__bool (*FLAC__stream_decoder_seek_absolute)( - FLAC__StreamDecoder *decoder, - FLAC__uint64 sample); - FLAC__StreamDecoderState (*FLAC__stream_decoder_get_state)( - const FLAC__StreamDecoder *decoder); -} flac_loader; - -extern flac_loader flac; - -#endif /* FLAC_MUSIC */ - -extern int Mix_InitFLAC(); -extern void Mix_QuitFLAC(); diff --git a/contrib/games/wolf3d/SDL_mixer/dynamic_fluidsynth.h b/contrib/games/wolf3d/SDL_mixer/dynamic_fluidsynth.h deleted file mode 100644 index 5d25232a22..0000000000 --- a/contrib/games/wolf3d/SDL_mixer/dynamic_fluidsynth.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - SDL_mixer: An audio mixer library based on the SDL library - Copyright (C) 1997-2012 Sam Lantinga - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - James Le Cuirot - chewi@aura-online.co.uk -*/ - -#ifdef USE_FLUIDSYNTH_MIDI - -#include - -typedef struct { - int loaded; - void *handle; - - int (*delete_fluid_player)(fluid_player_t*); - void (*delete_fluid_settings)(fluid_settings_t*); - int (*delete_fluid_synth)(fluid_synth_t*); - int (*fluid_player_add)(fluid_player_t*, const char*); - int (*fluid_player_add_mem)(fluid_player_t*, const void*, size_t); - int (*fluid_player_get_status)(fluid_player_t*); - int (*fluid_player_play)(fluid_player_t*); - int (*fluid_player_set_loop)(fluid_player_t*, int); - int (*fluid_player_stop)(fluid_player_t*); - int (*fluid_settings_setnum)(fluid_settings_t*, const char*, double); - fluid_settings_t* (*fluid_synth_get_settings)(fluid_synth_t*); - void (*fluid_synth_set_gain)(fluid_synth_t*, float); - int (*fluid_synth_sfload)(fluid_synth_t*, const char*, int); - int (*fluid_synth_write_s16)(fluid_synth_t*, int, void*, int, int, void*, int, int); - fluid_player_t* (*new_fluid_player)(fluid_synth_t*); - fluid_settings_t* (*new_fluid_settings)(void); - fluid_synth_t* (*new_fluid_synth)(fluid_settings_t*); -} fluidsynth_loader; - -extern fluidsynth_loader fluidsynth; - -#endif /* USE_FLUIDSYNTH_MIDI */ - -extern int Mix_InitFluidSynth(); -extern void Mix_QuitFluidSynth(); diff --git a/contrib/games/wolf3d/SDL_mixer/dynamic_mod.h b/contrib/games/wolf3d/SDL_mixer/dynamic_mod.h deleted file mode 100644 index 3561b151db..0000000000 --- a/contrib/games/wolf3d/SDL_mixer/dynamic_mod.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - SDL_mixer: An audio mixer library based on the SDL library - Copyright (C) 1997-2012 Sam Lantinga - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. -*/ - -#ifdef MOD_MUSIC - -#include "mikmod.h" - -typedef struct { - int loaded; - void *handle; - - void (*MikMod_Exit)(void); - CHAR* (*MikMod_InfoDriver)(void); - CHAR* (*MikMod_InfoLoader)(void); - BOOL (*MikMod_Init)(CHAR*); - void (*MikMod_RegisterAllLoaders)(void); - void (*MikMod_RegisterDriver)(struct MDRIVER*); - int* MikMod_errno; - char* (*MikMod_strerror)(int); - BOOL (*Player_Active)(void); - void (*Player_Free)(MODULE*); - MODULE* (*Player_LoadGeneric)(MREADER*,int,BOOL); - void (*Player_SetPosition)(UWORD); - void (*Player_SetVolume)(SWORD); - void (*Player_Start)(MODULE*); - void (*Player_Stop)(void); - ULONG (*VC_WriteBytes)(SBYTE*,ULONG); - struct MDRIVER* drv_nos; - UWORD* md_device; - UWORD* md_mixfreq; - UWORD* md_mode; - UBYTE* md_musicvolume; - UBYTE* md_pansep; - UBYTE* md_reverb; - UBYTE* md_sndfxvolume; - UBYTE* md_volume; -} mikmod_loader; - -extern mikmod_loader mikmod; - -#endif /* MOD_MUSIC */ - -extern int Mix_InitMOD(); -extern void Mix_QuitMOD(); diff --git a/contrib/games/wolf3d/SDL_mixer/dynamic_mp3.h b/contrib/games/wolf3d/SDL_mixer/dynamic_mp3.h deleted file mode 100644 index 03cbbbf9cf..0000000000 --- a/contrib/games/wolf3d/SDL_mixer/dynamic_mp3.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - SDL_mixer: An audio mixer library based on the SDL library - Copyright (C) 1997-2012 Sam Lantinga - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. -*/ - -#ifdef MP3_MUSIC -#include "smpeg.h" - -typedef struct { - int loaded; - void *handle; - void (*SMPEG_actualSpec)( SMPEG *mpeg, SDL_AudioSpec *spec ); - void (*SMPEG_delete)( SMPEG* mpeg ); - void (*SMPEG_enableaudio)( SMPEG* mpeg, int enable ); - void (*SMPEG_enablevideo)( SMPEG* mpeg, int enable ); - SMPEG* (*SMPEG_new_rwops)(SDL_RWops *src, SMPEG_Info* info, int sdl_audio); - void (*SMPEG_play)( SMPEG* mpeg ); - int (*SMPEG_playAudio)( SMPEG *mpeg, Uint8 *stream, int len ); - void (*SMPEG_rewind)( SMPEG* mpeg ); - void (*SMPEG_setvolume)( SMPEG* mpeg, int volume ); - void (*SMPEG_skip)( SMPEG* mpeg, float seconds ); - SMPEGstatus (*SMPEG_status)( SMPEG* mpeg ); - void (*SMPEG_stop)( SMPEG* mpeg ); -} smpeg_loader; - -extern smpeg_loader smpeg; - -#endif /* MUSIC_MP3 */ - -extern int Mix_InitMP3(); -extern void Mix_QuitMP3(); diff --git a/contrib/games/wolf3d/SDL_mixer/dynamic_ogg.h b/contrib/games/wolf3d/SDL_mixer/dynamic_ogg.h deleted file mode 100644 index 822458d49e..0000000000 --- a/contrib/games/wolf3d/SDL_mixer/dynamic_ogg.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - SDL_mixer: An audio mixer library based on the SDL library - Copyright (C) 1997-2012 Sam Lantinga - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. -*/ - -#ifdef OGG_MUSIC -#ifdef OGG_USE_TREMOR -#include -#else -#include -#endif - -typedef struct { - int loaded; - void *handle; - int (*ov_clear)(OggVorbis_File *vf); - vorbis_info *(*ov_info)(OggVorbis_File *vf,int link); - int (*ov_open_callbacks)(void *datasource, OggVorbis_File *vf, char *initial, long ibytes, ov_callbacks callbacks); - ogg_int64_t (*ov_pcm_total)(OggVorbis_File *vf,int i); -#ifdef OGG_USE_TREMOR - long (*ov_read)(OggVorbis_File *vf,char *buffer,int length, int *bitstream); -#else - long (*ov_read)(OggVorbis_File *vf,char *buffer,int length, int bigendianp,int word,int sgned,int *bitstream); -#endif -#ifdef OGG_USE_TREMOR - int (*ov_time_seek)(OggVorbis_File *vf,ogg_int64_t pos); -#else - int (*ov_time_seek)(OggVorbis_File *vf,double pos); -#endif -} vorbis_loader; - -extern vorbis_loader vorbis; - -#endif /* OGG_MUSIC */ - -extern int Mix_InitOgg(); -extern void Mix_QuitOgg(); diff --git a/contrib/games/wolf3d/SDL_mixer/fluidsynth.h b/contrib/games/wolf3d/SDL_mixer/fluidsynth.h deleted file mode 100644 index 47538bbc2b..0000000000 --- a/contrib/games/wolf3d/SDL_mixer/fluidsynth.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - SDL_mixer: An audio mixer library based on the SDL library - Copyright (C) 1997-2012 Sam Lantinga - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - James Le Cuirot - chewi@aura-online.co.uk -*/ - -#ifndef _FLUIDSYNTH_H_ -#define _FLUIDSYNTH_H_ - -#ifdef USE_FLUIDSYNTH_MIDI - -#include "dynamic_fluidsynth.h" -#include -#include - -typedef struct { - SDL_AudioCVT convert; - fluid_synth_t *synth; - fluid_player_t* player; -} FluidSynthMidiSong; - -int fluidsynth_init(SDL_AudioSpec *mixer); -FluidSynthMidiSong *fluidsynth_loadsong_RW(SDL_RWops *rw, int freerw); -void fluidsynth_freesong(FluidSynthMidiSong *song); -void fluidsynth_start(FluidSynthMidiSong *song); -void fluidsynth_stop(FluidSynthMidiSong *song); -int fluidsynth_active(FluidSynthMidiSong *song); -void fluidsynth_setvolume(FluidSynthMidiSong *song, int volume); -int fluidsynth_playsome(FluidSynthMidiSong *song, void *stream, int len); - -#endif /* USE_FLUIDSYNTH_MIDI */ - -#endif /* _FLUIDSYNTH_H_ */ diff --git a/contrib/games/wolf3d/SDL_mixer/load_flac.h b/contrib/games/wolf3d/SDL_mixer/load_flac.h deleted file mode 100644 index 63fcd4bcd0..0000000000 --- a/contrib/games/wolf3d/SDL_mixer/load_flac.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - SDL_mixer: An audio mixer library based on the SDL library - Copyright (C) 1997-2012 Sam Lantinga - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - This is the source needed to decode a FLAC into a waveform. - ~ Austen Dicken (admin@cvpcs.org). -*/ - -/* $Id: $ */ - -#ifdef FLAC_MUSIC -/* Don't call this directly; use Mix_LoadWAV_RW() for now. */ -SDL_AudioSpec *Mix_LoadFLAC_RW (SDL_RWops *src, int freesrc, - SDL_AudioSpec *spec, Uint8 **audio_buf, Uint32 *audio_len); -#endif diff --git a/contrib/games/wolf3d/SDL_mixer/load_ogg.h b/contrib/games/wolf3d/SDL_mixer/load_ogg.h deleted file mode 100644 index e63b04f7b3..0000000000 --- a/contrib/games/wolf3d/SDL_mixer/load_ogg.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - SDL_mixer: An audio mixer library based on the SDL library - Copyright (C) 1997-2012 Sam Lantinga - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - This is the source needed to decode an Ogg Vorbis into a waveform. - This file by Vaclav Slavik (vaclav.slavik@matfyz.cz). -*/ - -/* $Id$ */ - -#ifdef OGG_MUSIC -/* Don't call this directly; use Mix_LoadWAV_RW() for now. */ -SDL_AudioSpec *Mix_LoadOGG_RW (SDL_RWops *src, int freesrc, - SDL_AudioSpec *spec, Uint8 **audio_buf, Uint32 *audio_len); -#endif diff --git a/contrib/games/wolf3d/SDL_mixer/mixer.c b/contrib/games/wolf3d/SDL_mixer/mixer.c index 89937bb57f..353a2664c0 100644 --- a/contrib/games/wolf3d/SDL_mixer/mixer.c +++ b/contrib/games/wolf3d/SDL_mixer/mixer.c @@ -32,19 +32,16 @@ #include "SDL_mixer.h" #include "load_aiff.h" #include "load_voc.h" -#include "load_ogg.h" -#include "load_flac.h" -#include "dynamic_flac.h" -#include "dynamic_mod.h" -#include "dynamic_mp3.h" -#include "dynamic_ogg.h" +//#include "load_ogg.h" +//#include "load_flac.h" +//#include "dynamic_flac.h" +//#include "dynamic_mod.h" +//#include "dynamic_mp3.h" +//#include "dynamic_ogg.h" #define __MIX_INTERNAL_EFFECT__ #include "effects_internal.h" -#define uSDL_Delay SDL_Delay -#define uSDL_GetTicks SDL_GetTicks - /* Magic numbers for various audio file formats */ #define RIFF 0x46464952 /* "RIFF" */ #define WAVE 0x45564157 /* "WAVE" */ @@ -303,7 +300,7 @@ static void mix_channels(void *udata, Uint8 *stream, int len) } /* Mix any playing channels... */ - sdl_ticks = uSDL_GetTicks(); + sdl_ticks = SDL_GetTicks(); for ( i=0; i 0 && mix_channel[i].expire < sdl_ticks ) { @@ -860,7 +857,7 @@ int Mix_PlayChannelTimed(int which, Mix_Chunk *chunk, int loops, int ticks) /* Queue up the audio data for this channel */ if ( which >= 0 && which < num_channels ) { - Uint32 sdl_ticks = uSDL_GetTicks(); + Uint32 sdl_ticks = SDL_GetTicks(); if (Mix_Playing(which)) _Mix_channel_done_playing(which); mix_channel[which].samples = chunk->abuf; @@ -891,7 +888,7 @@ int Mix_ExpireChannel(int which, int ticks) } } else if ( which < num_channels ) { SDL_LockAudio(); - mix_channel[which].expire = (ticks>0) ? ( uSDL_GetTicks() + ticks) : 0; + mix_channel[which].expire = (ticks>0) ? ( SDL_GetTicks() + ticks) : 0; SDL_UnlockAudio(); ++ status; } @@ -930,7 +927,7 @@ int Mix_FadeInChannelTimed(int which, Mix_Chunk *chunk, int loops, int ms, int t /* Queue up the audio data for this channel */ if ( which >= 0 && which < num_channels ) { - Uint32 sdl_ticks = uSDL_GetTicks(); + Uint32 sdl_ticks = SDL_GetTicks(); if (Mix_Playing(which)) _Mix_channel_done_playing(which); mix_channel[which].samples = chunk->abuf; @@ -1049,7 +1046,7 @@ int Mix_FadeOutChannel(int which, int ms) mix_channel[which].fade_volume = mix_channel[which].volume; mix_channel[which].fading = MIX_FADING_OUT; mix_channel[which].fade_length = ms; - mix_channel[which].ticks_fade = uSDL_GetTicks(); + mix_channel[which].ticks_fade = SDL_GetTicks(); /* only change fade_volume_reset if we're not fading. */ if (mix_channel[which].fading == MIX_NO_FADING) { @@ -1154,7 +1151,7 @@ void Mix_CloseAudio(void) /* Pause a particular channel (or all) */ void Mix_Pause(int which) { - Uint32 sdl_ticks = uSDL_GetTicks(); + Uint32 sdl_ticks = SDL_GetTicks(); if ( which == -1 ) { int i; @@ -1173,7 +1170,7 @@ void Mix_Pause(int which) /* Resume a paused channel */ void Mix_Resume(int which) { - Uint32 sdl_ticks = uSDL_GetTicks(); + Uint32 sdl_ticks = SDL_GetTicks(); SDL_LockAudio(); if ( which == -1 ) { @@ -1263,7 +1260,7 @@ int Mix_GroupCount(int tag) int Mix_GroupOldest(int tag) { int chan = -1; - Uint32 mintime = uSDL_GetTicks(); + Uint32 mintime = SDL_GetTicks(); int i; for( i=0; i < num_channels; i ++ ) { if ( (mix_channel[i].tag==tag || tag==-1) && mix_channel[i].playing > 0 diff --git a/contrib/games/wolf3d/SDL_mixer/music.c b/contrib/games/wolf3d/SDL_mixer/music.c index e172dc44f4..e15def2d1c 100644 --- a/contrib/games/wolf3d/SDL_mixer/music.c +++ b/contrib/games/wolf3d/SDL_mixer/music.c @@ -70,10 +70,7 @@ #if defined(MP3_MUSIC) || defined(MP3_MAD_MUSIC) static SDL_AudioSpec used_mixer; #endif -unsigned uSDL_GetTicks(); - -#define uSDL_Delay SDL_Delay -#define uSDL_GetTicks SDL_GetTicks +unsigned SDL_GetTicks(); int volatile music_active = 1; static int volatile music_stopped = 0; @@ -764,7 +761,7 @@ void Mix_FreeMusic(Mix_Music *music) /* Wait for any fade out to finish */ while ( music->fading == MIX_FADING_OUT ) { SDL_UnlockAudio(); - uSDL_Delay(100); + SDL_Delay(100); SDL_LockAudio(); } if ( music == music_playing ) { @@ -1016,7 +1013,7 @@ int Mix_FadeInMusicPos(Mix_Music *music, int loops, int ms, double position) /* If the current music is fading out, wait for the fade to complete */ while ( music_playing && (music_playing->fading == MIX_FADING_OUT) ) { SDL_UnlockAudio(); - uSDL_Delay(100); + SDL_Delay(100); SDL_LockAudio(); } music_active = 1; diff --git a/contrib/games/wolf3d/SDL_mixer/music_cmd.h b/contrib/games/wolf3d/SDL_mixer/music_cmd.h deleted file mode 100644 index 10168deaa0..0000000000 --- a/contrib/games/wolf3d/SDL_mixer/music_cmd.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - SDL_mixer: An audio mixer library based on the SDL library - Copyright (C) 1997-2012 Sam Lantinga - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. -*/ - -/* This file supports an external command for playing music */ - -#ifdef CMD_MUSIC - -#include -#include -#include -#if defined(__linux__) && defined(__arm__) -# include -#endif -typedef struct { - char file[PATH_MAX]; - char cmd[PATH_MAX]; - pid_t pid; -} MusicCMD; - -/* Unimplemented */ -extern void MusicCMD_SetVolume(int volume); - -/* Load a music stream from the given file */ -extern MusicCMD *MusicCMD_LoadSong(const char *cmd, const char *file); - -/* Start playback of a given music stream */ -extern void MusicCMD_Start(MusicCMD *music); - -/* Stop playback of a stream previously started with MusicCMD_Start() */ -extern void MusicCMD_Stop(MusicCMD *music); - -/* Pause playback of a given music stream */ -extern void MusicCMD_Pause(MusicCMD *music); - -/* Resume playback of a given music stream */ -extern void MusicCMD_Resume(MusicCMD *music); - -/* Close the given music stream */ -extern void MusicCMD_FreeSong(MusicCMD *music); - -/* Return non-zero if a stream is currently playing */ -extern int MusicCMD_Active(MusicCMD *music); - -#endif /* CMD_MUSIC */ diff --git a/contrib/games/wolf3d/SDL_mixer/music_flac.h b/contrib/games/wolf3d/SDL_mixer/music_flac.h deleted file mode 100644 index c87dc9ea9f..0000000000 --- a/contrib/games/wolf3d/SDL_mixer/music_flac.h +++ /dev/null @@ -1,90 +0,0 @@ -/* - SDL_mixer: An audio mixer library based on the SDL library - Copyright (C) 1997-2012 Sam Lantinga - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. - - Header to handle loading FLAC music files in SDL. - ~ Austen Dicken (admin@cvpcs.org) -*/ - -/* $Id: $ */ - -#ifdef FLAC_MUSIC - -#include - -typedef struct { - FLAC__uint64 sample_size; - unsigned sample_rate; - unsigned channels; - unsigned bits_per_sample; - FLAC__uint64 total_samples; - - // the following are used to handle the callback nature of the writer - int max_to_read; - char *data; // pointer to beginning of data array - int data_len; // size of data array - int data_read; // amount of data array used - char *overflow; // pointer to beginning of overflow array - int overflow_len; // size of overflow array - int overflow_read; // amount of overflow array used -} FLAC_Data; - -typedef struct { - int playing; - int volume; - int section; - FLAC__StreamDecoder *flac_decoder; - FLAC_Data flac_data; - SDL_RWops *rwops; - int freerw; - SDL_AudioCVT cvt; - int len_available; - Uint8 *snd_available; -} FLAC_music; - -/* Initialize the FLAC player, with the given mixer settings - This function returns 0, or -1 if there was an error. - */ -extern int FLAC_init(SDL_AudioSpec *mixer); - -/* Set the volume for a FLAC stream */ -extern void FLAC_setvolume(FLAC_music *music, int volume); - -/* Load an FLAC stream from an SDL_RWops object */ -extern FLAC_music *FLAC_new_RW(SDL_RWops *rw, int freerw); - -/* Start playback of a given FLAC stream */ -extern void FLAC_play(FLAC_music *music); - -/* Return non-zero if a stream is currently playing */ -extern int FLAC_playing(FLAC_music *music); - -/* Play some of a stream previously started with FLAC_play() */ -extern int FLAC_playAudio(FLAC_music *music, Uint8 *stream, int len); - -/* Stop playback of a stream previously started with FLAC_play() */ -extern void FLAC_stop(FLAC_music *music); - -/* Close the given FLAC stream */ -extern void FLAC_delete(FLAC_music *music); - -/* Jump (seek) to a given position (time is in seconds) */ -extern void FLAC_jump_to_time(FLAC_music *music, double time); - -#endif /* FLAC_MUSIC */ diff --git a/contrib/games/wolf3d/SDL_mixer/music_mad.h b/contrib/games/wolf3d/SDL_mixer/music_mad.h deleted file mode 100644 index af93c8df5e..0000000000 --- a/contrib/games/wolf3d/SDL_mixer/music_mad.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - SDL_mixer: An audio mixer library based on the SDL library - Copyright (C) 1997-2012 Sam Lantinga - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. -*/ - -#ifdef MP3_MAD_MUSIC - -#include "mad.h" -#include "SDL_rwops.h" -#include "SDL_audio.h" -#include "SDL_mixer.h" - -#define MAD_INPUT_BUFFER_SIZE (5*8192) -#define MAD_OUTPUT_BUFFER_SIZE 8192 - -enum { - MS_input_eof = 0x0001, - MS_input_error = 0x0001, - MS_decode_eof = 0x0002, - MS_decode_error = 0x0004, - MS_error_flags = 0x000f, - - MS_playing = 0x0100, - MS_cvt_decoded = 0x0200, -}; - -typedef struct { - SDL_RWops *rw; - int freerw; - struct mad_stream stream; - struct mad_frame frame; - struct mad_synth synth; - int frames_read; - mad_timer_t next_frame_start; - int volume; - int status; - int output_begin, output_end; - SDL_AudioSpec mixer; - SDL_AudioCVT cvt; - - unsigned char input_buffer[MAD_INPUT_BUFFER_SIZE + MAD_BUFFER_GUARD]; - unsigned char output_buffer[MAD_OUTPUT_BUFFER_SIZE]; -} mad_data; - -mad_data *mad_openFileRW(SDL_RWops *rw, SDL_AudioSpec *mixer, int freerw); -void mad_closeFile(mad_data *mp3_mad); - -void mad_start(mad_data *mp3_mad); -void mad_stop(mad_data *mp3_mad); -int mad_isPlaying(mad_data *mp3_mad); - -int mad_getSamples(mad_data *mp3_mad, Uint8 *stream, int len); -void mad_seek(mad_data *mp3_mad, double position); -void mad_setVolume(mad_data *mp3_mad, int volume); - -#endif diff --git a/contrib/games/wolf3d/SDL_mixer/music_mod.h b/contrib/games/wolf3d/SDL_mixer/music_mod.h deleted file mode 100644 index 4328e2b2c7..0000000000 --- a/contrib/games/wolf3d/SDL_mixer/music_mod.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - SDL_mixer: An audio mixer library based on the SDL library - Copyright (C) 1997-2012 Sam Lantinga - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. -*/ - -/* $Id: music_mod.h 4211 2008-12-08 00:27:32Z slouken $ */ - -#ifdef MOD_MUSIC - -/* This file supports MOD tracker music streams */ - -struct MODULE; - -/* Initialize the Ogg Vorbis player, with the given mixer settings - This function returns 0, or -1 if there was an error. - */ -extern int MOD_init(SDL_AudioSpec *mixer); - -/* Uninitialize the music players */ -extern void MOD_exit(void); - -/* Set the volume for a MOD stream */ -extern void MOD_setvolume(struct MODULE *music, int volume); - -/* Load a MOD stream from an SDL_RWops object */ -extern struct MODULE *MOD_new_RW(SDL_RWops *rw, int freerw); - -/* Start playback of a given MOD stream */ -extern void MOD_play(struct MODULE *music); - -/* Return non-zero if a stream is currently playing */ -extern int MOD_playing(struct MODULE *music); - -/* Play some of a stream previously started with MOD_play() */ -extern int MOD_playAudio(struct MODULE *music, Uint8 *stream, int len); - -/* Stop playback of a stream previously started with MOD_play() */ -extern void MOD_stop(struct MODULE *music); - -/* Close the given MOD stream */ -extern void MOD_delete(struct MODULE *music); - -/* Jump (seek) to a given position (time is in seconds) */ -extern void MOD_jump_to_time(struct MODULE *music, double time); - -#endif /* MOD_MUSIC */ diff --git a/contrib/games/wolf3d/SDL_mixer/music_modplug.h b/contrib/games/wolf3d/SDL_mixer/music_modplug.h deleted file mode 100644 index 92cbafd094..0000000000 --- a/contrib/games/wolf3d/SDL_mixer/music_modplug.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifdef MODPLUG_MUSIC - -#include "modplug.h" -#include "SDL_rwops.h" -#include "SDL_audio.h" -#include "SDL_mixer.h" - -typedef struct { - ModPlugFile *file; - int playing; -} modplug_data; - -int modplug_init(SDL_AudioSpec *mixer); - -/* Uninitialize the music players */ -void modplug_exit(void); - -/* Set the volume for a modplug stream */ -void modplug_setvolume(modplug_data *music, int volume); - -/* Load a modplug stream from an SDL_RWops object */ -modplug_data *modplug_new_RW(SDL_RWops *rw, int freerw); - -/* Start playback of a given modplug stream */ -void modplug_play(modplug_data *music); - -/* Return non-zero if a stream is currently playing */ -int modplug_playing(modplug_data *music); - -/* Play some of a stream previously started with modplug_play() */ -int modplug_playAudio(modplug_data *music, Uint8 *stream, int len); - -/* Stop playback of a stream previously started with modplug_play() */ -void modplug_stop(modplug_data *music); - -/* Close the given modplug stream */ -void modplug_delete(modplug_data *music); - -/* Jump (seek) to a given position (time is in seconds) */ -void modplug_jump_to_time(modplug_data *music, double time); - -#endif diff --git a/contrib/games/wolf3d/SDL_mixer/music_ogg.h b/contrib/games/wolf3d/SDL_mixer/music_ogg.h deleted file mode 100644 index 4d93a2bc62..0000000000 --- a/contrib/games/wolf3d/SDL_mixer/music_ogg.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - SDL_mixer: An audio mixer library based on the SDL library - Copyright (C) 1997-2012 Sam Lantinga - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. -*/ - -/* $Id$ */ - -#ifdef OGG_MUSIC - -/* This file supports Ogg Vorbis music streams */ - -#ifdef OGG_USE_TREMOR -#include -#else -#include -#endif - -typedef struct { - SDL_RWops *rw; - int freerw; - int playing; - int volume; - OggVorbis_File vf; - int section; - SDL_AudioCVT cvt; - int len_available; - Uint8 *snd_available; -} OGG_music; - -/* Initialize the Ogg Vorbis player, with the given mixer settings - This function returns 0, or -1 if there was an error. - */ -extern int OGG_init(SDL_AudioSpec *mixer); - -/* Set the volume for an OGG stream */ -extern void OGG_setvolume(OGG_music *music, int volume); - -/* Load an OGG stream from an SDL_RWops object */ -extern OGG_music *OGG_new_RW(SDL_RWops *rw, int freerw); - -/* Start playback of a given OGG stream */ -extern void OGG_play(OGG_music *music); - -/* Return non-zero if a stream is currently playing */ -extern int OGG_playing(OGG_music *music); - -/* Play some of a stream previously started with OGG_play() */ -extern int OGG_playAudio(OGG_music *music, Uint8 *stream, int len); - -/* Stop playback of a stream previously started with OGG_play() */ -extern void OGG_stop(OGG_music *music); - -/* Close the given OGG stream */ -extern void OGG_delete(OGG_music *music); - -/* Jump (seek) to a given position (time is in seconds) */ -extern void OGG_jump_to_time(OGG_music *music, double time); - -#endif /* OGG_MUSIC */ diff --git a/contrib/games/wolf3d/SDL_mixer/wavestream.h b/contrib/games/wolf3d/SDL_mixer/wavestream.h deleted file mode 100644 index 9d119dc152..0000000000 --- a/contrib/games/wolf3d/SDL_mixer/wavestream.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - SDL_mixer: An audio mixer library based on the SDL library - Copyright (C) 1997-2012 Sam Lantinga - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. -*/ - -/* $Id$ */ - -/* This file supports streaming WAV files, without volume adjustment */ - -#include - -typedef struct { - SDL_RWops *rw; - SDL_bool freerw; - long start; - long stop; - SDL_AudioCVT cvt; -} WAVStream; - -/* Initialize the WAVStream player, with the given mixer settings - This function returns 0, or -1 if there was an error. - */ -extern int WAVStream_Init(SDL_AudioSpec *mixer); - -/* Unimplemented */ -extern void WAVStream_SetVolume(int volume); - -/* Load a WAV stream from an SDL_RWops object */ -extern WAVStream *WAVStream_LoadSong_RW(SDL_RWops *rw, const char *magic, int freerw); - -/* Start playback of a given WAV stream */ -extern void WAVStream_Start(WAVStream *wave); - -/* Play some of a stream previously started with WAVStream_Start() */ -extern int WAVStream_PlaySome(Uint8 *stream, int len); - -/* Stop playback of a stream previously started with WAVStream_Start() */ -extern void WAVStream_Stop(void); - -/* Close the given WAV stream */ -extern void WAVStream_FreeSong(WAVStream *wave); - -/* Return non-zero if a stream is currently playing */ -extern int WAVStream_Active(void); diff --git a/contrib/games/wolf3d/Tupfile.lua b/contrib/games/wolf3d/Tupfile.lua index 53f12176b7..80913fcf96 100644 --- a/contrib/games/wolf3d/Tupfile.lua +++ b/contrib/games/wolf3d/Tupfile.lua @@ -20,11 +20,10 @@ compile_gcc{ "joystick_stub.cpp", "kolibri.cpp", "mame/fmopl.cpp", } --- SDL and SDL_mixer -- +-- SDL_mixer stubs -- compile_gcc{ - "SDL/SDL_wave.c", "SDL/SDL_audiocvt.c", "SDL/SDL_mixer.c", "SDL_mixer/mixer.c", "SDL_mixer/music.c", - "SDL_mixer/load_aiff.c", "SDL_mixer/load_voc.c", - "SDL_mixer/effects_internal.c", "SDL_mixer/effect_position.c", + "SDL_mixer/mixer.c", "SDL_mixer/music.c", "SDL_mixer/load_aiff.c", "SDL_mixer/load_voc.c", + "SDL_mixer/effects_internal.c", "SDL_mixer/effect_position.c", } link_gcc("wolf3d") diff --git a/contrib/games/wolf3d/id_in.cpp b/contrib/games/wolf3d/id_in.cpp index d2fb29df45..95f6d6e7fd 100755 --- a/contrib/games/wolf3d/id_in.cpp +++ b/contrib/games/wolf3d/id_in.cpp @@ -650,7 +650,7 @@ boolean IN_UserInput(longword delay) IN_ProcessEvents(); if (IN_CheckAck()) return true; - uSDL_Delay(5); + SDL_Delay(5); } while (GetTimeCount() - lasttime < delay); return(false); } diff --git a/contrib/games/wolf3d/id_sd.cpp b/contrib/games/wolf3d/id_sd.cpp index 742449848a..7a9e3f346a 100755 --- a/contrib/games/wolf3d/id_sd.cpp +++ b/contrib/games/wolf3d/id_sd.cpp @@ -935,7 +935,7 @@ SD_SetMusicMode(SMMode mode) SD_FadeOutMusic(); while (SD_MusicPlaying()) - uSDL_Delay(5); + SDL_Delay(5); switch (mode) { @@ -1284,7 +1284,7 @@ void SD_WaitSoundDone(void) { while (SD_SoundPlaying()) - uSDL_Delay(5); + SDL_Delay(5); } /////////////////////////////////////////////////////////////////////////// diff --git a/contrib/games/wolf3d/id_sd.h b/contrib/games/wolf3d/id_sd.h index d503c6c26f..5184cabbaa 100755 --- a/contrib/games/wolf3d/id_sd.h +++ b/contrib/games/wolf3d/id_sd.h @@ -119,17 +119,11 @@ extern SMMode MusicMode; extern int DigiMap[]; extern int DigiChannel[]; -#ifdef _KOLIBRI - extern void uSDL_Delay(unsigned time); -#else - #define uSDL_Delay SDL_Delay -#endif - -#define GetTimeCount() (( uSDL_GetTicks()*7)/100) +#define GetTimeCount() ((SDL_GetTicks()*7)/100) inline void Delay(int wolfticks) { - if(wolfticks>0) uSDL_Delay(wolfticks * 100/ 7); + if(wolfticks>0) SDL_Delay(wolfticks * 100/ 7); } // Function prototypes diff --git a/contrib/games/wolf3d/id_us_1.cpp b/contrib/games/wolf3d/id_us_1.cpp index 51ccbf84fa..8a56f5093e 100755 --- a/contrib/games/wolf3d/id_us_1.cpp +++ b/contrib/games/wolf3d/id_us_1.cpp @@ -741,7 +741,7 @@ US_LineInput(int x,int y,char *buf,const char *def,boolean escok, cursorvis ^= true; } - else uSDL_Delay(5); + else SDL_Delay(5); if (cursorvis) USL_XORICursor(x,y,s,cursor); @@ -772,7 +772,7 @@ US_LineInput(int x,int y,char *buf,const char *def,boolean escok, void US_InitRndT(int randomize) { if(randomize) - rndindex = ( uSDL_GetTicks() >> 4) & 0xff; + rndindex = ( SDL_GetTicks() >> 4) & 0xff; else rndindex = 0; } diff --git a/contrib/games/wolf3d/id_vl.h b/contrib/games/wolf3d/id_vl.h index 19cdb778e1..55b7b84f97 100755 --- a/contrib/games/wolf3d/id_vl.h +++ b/contrib/games/wolf3d/id_vl.h @@ -28,7 +28,7 @@ extern SDL_Color gamepal[256]; // VGA hardware routines // -#define VL_WaitVBL(a) uSDL_Delay((a)*8) +#define VL_WaitVBL(a) SDL_Delay((a)*8) void VL_SetVGAPlaneMode (void); void VL_SetTextMode (void); diff --git a/contrib/games/wolf3d/kolibri.cpp b/contrib/games/wolf3d/kolibri.cpp index 6e15b1e22b..3f96cf835a 100644 --- a/contrib/games/wolf3d/kolibri.cpp +++ b/contrib/games/wolf3d/kolibri.cpp @@ -1,215 +1,7 @@ #include -#include +#include #include -#define asm_inline __asm__ __volatile__ - -#pragma pack(push,1) -typedef union{ - unsigned val; - struct{ - short x; - short y; - }; -}ksys_pos_t; - -typedef union ksys_oskey_t{ - unsigned val; - struct{ - unsigned char state; - unsigned char code; - unsigned char ctrl_key; - }; -}ksys_oskey_t; - -typedef struct{ - unsigned handle; - unsigned io_code; - unsigned *input; - int inp_size; - void *output; - int out_size; -}ksys_ioctl_t; - -typedef struct{ - void *data; - size_t size; -}ksys_ufile_t; - - -typedef struct{ - unsigned p00; - union{ - uint64_t p04; - struct { - unsigned p04dw; - unsigned p08dw; - }; - }; - unsigned p12; - union { - unsigned p16; - const char *new_name; - void *bdfe; - void *buf16; - const void *cbuf16; - }; - char p20; - const char *p21; -}ksys70_t; - -typedef struct { - int cpu_usage; //+0 - int window_pos_info; //+4 - short int reserved1; //+8 - char name[12]; //+10 - int memstart; //+22 - int memused; //+26 - int pid; //+30 - int winx_start; //+34 - int winy_start; //+38 - int winx_size; //+42 - int winy_size; //+46 - short int slot_info; //+50 - short int reserved2; //+52 - int clientx; //+54 - int clienty; //+58 - int clientwidth; //+62 - int clientheight; //+66 - unsigned char window_state;//+70 - char reserved3[1024-71]; //+71 -}ksys_proc_table_t; - -#pragma pack(pop) - -static inline -int _ksys_process_info(ksys_proc_table_t* table, int pid) -{ - int val; - asm_inline( - "int $0x40" - :"=a"(val) - :"a"(9), "b"(table), "c"(pid) - :"memory" - ); - return val; -} - -static inline -void _ksys_change_window(int new_x, int new_y, int new_w, int new_h) -{ - asm_inline( - "int $0x40" - ::"a"(67), "b"(new_x), "c"(new_y), "d"(new_w),"S"(new_h) - ); -} - -static inline -ksys_pos_t _ksys_screen_size() -{ - ksys_pos_t size; - ksys_pos_t size_tmp; - asm_inline( - "int $0x40" - :"=a"(size_tmp) - :"a"(14) - :"memory" - ); - size.x = size_tmp.y; - size.y = size_tmp.x; - return size; -} - -void *memrchr(const void *m, int c, size_t n) -{ - const unsigned char *s = (const unsigned char*)m; - c = (unsigned char)c; - while (n--) if (s[n]==c) return (void *)(s+n); - return 0; -} - -void kolibri_set_win_center() -{ - ksys_proc_table_t *info = (ksys_proc_table_t*)malloc(sizeof(ksys_proc_table_t)); - _ksys_process_info(info, -1); - - ksys_pos_t screen_size= _ksys_screen_size(); - int new_x = screen_size.x/2-info->winx_size/2; - int new_y = screen_size.y/2-info->winy_size/2; - _ksys_change_window(new_x, new_y, -1, -1); - free(info); -} - -int mkdir(const char *path, unsigned v) -{ - int status; - ksys70_t dir_opt; - dir_opt.p00 = 9; - dir_opt.p21 = path; - asm_inline( - "int $0x40" - :"=a"(status) - :"a"(70), "b"(&dir_opt) - :"memory" - ); - return status; -} - -char *dirname (char *path) -{ - static const char dot[] = "."; - char *last_slash; - /* Find last '/'. */ - last_slash = path != NULL ? strrchr (path, '/') : NULL; - if (last_slash != NULL && last_slash != path && last_slash[1] == '\0') - { - /* Determine whether all remaining characters are slashes. */ - char *runp; - for (runp = last_slash; runp != path; --runp) - if (runp[-1] != '/') - break; - /* The '/' is the last character, we have to look further. */ - if (runp != path) - last_slash = (char*)memrchr((void*)path, '/', runp - path); - } - if (last_slash != NULL) - { - /* Determine whether all remaining characters are slashes. */ - char *runp; - for (runp = last_slash; runp != path; --runp) - if (runp[-1] != '/') - break; - /* Terminate the path. */ - if (runp == path) - { - /* The last slash is the first character in the string. We have to - return "/". As a special case we have to return "//" if there - are exactly two slashes at the beginning of the string. See - XBD 4.10 Path Name Resolution for more information. */ - if (last_slash == path + 1) - ++last_slash; - else - last_slash = path + 1; - } - else - last_slash = runp; - last_slash[0] = '\0'; - } - else - /* This assignment is ill-designed but the XPG specs require to - return a string containing "." in any case no directory part is - found and so a static and constant string is required. */ - path = (char *) dot; - return path; -} - -void setcwd(char* path){ - asm_inline( - "int $0x40" - ::"a"(30), "b"(1), "c"(path) - :"memory" - ); -} extern unsigned screenWidth; extern unsigned screenHeight; diff --git a/contrib/games/wolf3d/wl_def.h b/contrib/games/wolf3d/wl_def.h index b468029781..f1e2c43aed 100755 --- a/contrib/games/wolf3d/wl_def.h +++ b/contrib/games/wolf3d/wl_def.h @@ -24,10 +24,6 @@ # define O_BINARY 0 #endif -#define uSDL_Delay SDL_Delay -#define uSDL_GetTicks SDL_GetTicks - - #pragma pack(1) #if defined(_arch_dreamcast) @@ -1395,7 +1391,7 @@ static inline fixed FixedMul(fixed a, fixed b) #endif #define DEMOCOND_SDL (!DEMOCOND_ORIG) -#define GetTicks() (( uSDL_GetTicks()*7)/100) +#define GetTicks() (( SDL_GetTicks()*7)/100) #define ISPOINTER(x) ((((uintptr_t)(x)) & ~0xffff) != 0) diff --git a/contrib/games/wolf3d/wl_draw.cpp b/contrib/games/wolf3d/wl_draw.cpp index e9f5d0ac87..cee81552eb 100755 --- a/contrib/games/wolf3d/wl_draw.cpp +++ b/contrib/games/wolf3d/wl_draw.cpp @@ -1074,12 +1074,12 @@ void CalcTics (void) if (lasttimecount > (int32_t) GetTimeCount()) lasttimecount = GetTimeCount(); // if the game was paused a LONG time - uint32_t curtime = uSDL_GetTicks(); + uint32_t curtime = SDL_GetTicks(); tics = (curtime * 7) / 100 - lasttimecount; if(!tics) { // wait until end of current tic - uSDL_Delay(((lasttimecount + 1) * 100) / 7 - curtime); + SDL_Delay(((lasttimecount + 1) * 100) / 7 - curtime); tics = 1; } diff --git a/contrib/games/wolf3d/wl_inter.cpp b/contrib/games/wolf3d/wl_inter.cpp index bd78d7b288..5c66555865 100755 --- a/contrib/games/wolf3d/wl_inter.cpp +++ b/contrib/games/wolf3d/wl_inter.cpp @@ -403,7 +403,7 @@ BJ_Breathe (void) static int which = 0, max = 10; int pics[2] = { L_GUYPIC, L_GUY2PIC }; - uSDL_Delay(5); + SDL_Delay(5); if ((int32_t) GetTimeCount () - lastBreathTime > max) { diff --git a/contrib/games/wolf3d/wl_main.cpp b/contrib/games/wolf3d/wl_main.cpp index be108f23f1..395a7e35cf 100755 --- a/contrib/games/wolf3d/wl_main.cpp +++ b/contrib/games/wolf3d/wl_main.cpp @@ -11,6 +11,11 @@ #include "wl_atmos.h" #include +#ifdef _KOLIBRI + #include + #include +#endif + /* ============================================================================= @@ -24,10 +29,6 @@ */ extern byte signon[]; -extern void kolibri_set_win_center(); -extern char* dirname(char* path); -extern void setcwd(char* path); - extern boolean SD_Started; /* ============================================================================= @@ -1128,7 +1129,7 @@ void DoJukebox(void) #ifndef SPEAR #ifndef UPLOAD - start = (( uSDL_GetTicks()/10)%3)*6; + start = (( SDL_GetTicks()/10)%3)*6; #else start = 0; #endif @@ -1239,9 +1240,6 @@ static void InitGame() #endif SignonScreen (); -#ifdef _KOLIBRI - kolibri_set_win_center(); -#endif #if defined _WIN32 if(!fullscreen) @@ -1978,7 +1976,7 @@ extern void kolibri_set_win_max(void); int main (int argc, char *argv[]) { #ifdef _KOLIBRI - setcwd(dirname(argv[0])); + _ksys_setcwd(dirname(argv[0])); kolibri_set_win_max(); #endif diff --git a/contrib/games/wolf3d/wl_menu.cpp b/contrib/games/wolf3d/wl_menu.cpp index 90f8685c14..e2a3b1bfef 100755 --- a/contrib/games/wolf3d/wl_menu.cpp +++ b/contrib/games/wolf3d/wl_menu.cpp @@ -1956,7 +1956,7 @@ MouseSensitivity (int) DrawMouseSens (); do { - uSDL_Delay(5); + SDL_Delay(5); ReadAnyControl (&ci); switch (ci.dir) { @@ -2228,7 +2228,7 @@ EnterCtrlData (int index, CustomCtrls * cust, void (*DrawRtn) (int), void (*Prin redraw = 0; } - uSDL_Delay(5); + SDL_Delay(5); ReadAnyControl (&ci); if (type == MOUSE || type == JOYSTICK) @@ -2274,7 +2274,7 @@ EnterCtrlData (int index, CustomCtrls * cust, void (*DrawRtn) (int), void (*Prin lastFlashTime = GetTimeCount(); VW_UpdateScreen (); } - else uSDL_Delay(5); + else SDL_Delay(5); // // WHICH TYPE OF INPUT DO WE PROCESS? @@ -2397,7 +2397,7 @@ EnterCtrlData (int index, CustomCtrls * cust, void (*DrawRtn) (int), void (*Prin while (!cust->allowed[which]); redraw = 1; SD_PlaySound (MOVEGUN1SND); - while (ReadAnyControl (&ci), ci.dir != dir_None) uSDL_Delay(5); + while (ReadAnyControl (&ci), ci.dir != dir_None) SDL_Delay(5); IN_ClearKeysDown (); break; @@ -2411,7 +2411,7 @@ EnterCtrlData (int index, CustomCtrls * cust, void (*DrawRtn) (int), void (*Prin while (!cust->allowed[which]); redraw = 1; SD_PlaySound (MOVEGUN1SND); - while (ReadAnyControl (&ci), ci.dir != dir_None) uSDL_Delay(5); + while (ReadAnyControl (&ci), ci.dir != dir_None) SDL_Delay(5); IN_ClearKeysDown (); break; case dir_North: @@ -2837,7 +2837,7 @@ CP_ChangeView (int) do { CheckPause (); - uSDL_Delay(5); + SDL_Delay(5); ReadAnyControl (&ci); switch (ci.dir) { @@ -3284,7 +3284,7 @@ HandleMenu (CP_iteminfo * item_i, CP_itemtype * items, void (*routine) (int w)) routine (which); VW_UpdateScreen (); } - else uSDL_Delay(5); + else SDL_Delay(5); CheckPause (); @@ -3484,7 +3484,7 @@ DrawHalfStep (int x, int y) VWB_DrawPic (x, y, C_CURSOR1PIC); VW_UpdateScreen (); SD_PlaySound (MOVEGUN1SND); - uSDL_Delay(1); //Fixed too long delay in the menu + SDL_Delay(1); //Fixed too long delay in the menu } @@ -3526,7 +3526,7 @@ TicDelay (int count) int32_t startTime = GetTimeCount (); do { - uSDL_Delay(5); + SDL_Delay(5); ReadAnyControl (&ci); } while ((int32_t) GetTimeCount () - startTime < count && ci.dir != dir_None); @@ -3732,7 +3732,7 @@ Confirm (const char *string) tick ^= 1; lastBlinkTime = GetTimeCount(); } - else uSDL_Delay(5); + else SDL_Delay(5); #ifdef SPANISH } diff --git a/contrib/games/wolf3d/wl_play.cpp b/contrib/games/wolf3d/wl_play.cpp index 0b8c63b506..5a3823c053 100755 --- a/contrib/games/wolf3d/wl_play.cpp +++ b/contrib/games/wolf3d/wl_play.cpp @@ -406,11 +406,11 @@ void PollControls (void) if (demoplayback || demorecord) // demo recording and playback needs to be constant { // wait up to DEMOTICS Wolf tics - uint32_t curtime = uSDL_GetTicks(); + uint32_t curtime = SDL_GetTicks(); lasttimecount += DEMOTICS; int32_t timediff = (lasttimecount * 100) / 7 - curtime; if(timediff > 0) - uSDL_Delay(timediff); + SDL_Delay(timediff); if(timediff < -2 * DEMOTICS) // more than 2-times DEMOTICS behind? lasttimecount = (curtime * 7) / 100; // yes, set to current timecount diff --git a/contrib/games/wolf3d/wl_text.cpp b/contrib/games/wolf3d/wl_text.cpp index 2b5b96ecd3..03a437df59 100755 --- a/contrib/games/wolf3d/wl_text.cpp +++ b/contrib/games/wolf3d/wl_text.cpp @@ -669,7 +669,7 @@ void ShowArticle (char *article) firstpage = false; } } - uSDL_Delay(5); + SDL_Delay(5); LastScan = 0; ReadAnyControl(&ci);