From 43eec0cec7a7ac105fed6fc7a0b500dc4d11354c Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Tue, 26 Aug 2008 07:34:49 +0000 Subject: [PATCH] Fixed Visual Studio compilation problems --- src/audio/SDL_audio.c | 12 +++++------- src/audio/SDL_audiocvt.c | 17 ++++++++++------- src/video/win32/SDL_win32mouse.c | 4 ++-- src/video/win32/SDL_win32video.c | 16 ++++++++-------- src/video/win32/SDL_win32video.h | 4 ++-- src/video/win32/SDL_win32window.c | 11 ++++++----- 6 files changed, 33 insertions(+), 31 deletions(-) diff --git a/src/audio/SDL_audio.c b/src/audio/SDL_audio.c index 95d084f43..3038ff907 100644 --- a/src/audio/SDL_audio.c +++ b/src/audio/SDL_audio.c @@ -291,10 +291,8 @@ SDL_StreamLength(SDL_AudioStreamer * stream) int SDL_StreamInit(SDL_AudioStreamer * stream, int max_len, Uint8 silence) { - int i; - /* First try to allocate the buffer */ - stream->buffer = (Uint8 *) malloc(max_len); + stream->buffer = (Uint8 *) SDL_malloc(max_len); if (stream->buffer == NULL) { return -1; } @@ -304,9 +302,9 @@ SDL_StreamInit(SDL_AudioStreamer * stream, int max_len, Uint8 silence) stream->write_pos = 0; /* Zero out the buffer */ - for (i = 0; i < max_len; ++i) { - stream->buffer[i] = silence; - } + SDL_memset(stream->buffer, silence, max_len); + + return 0; } /* Deinitialize the stream simply by freeing the buffer */ @@ -314,7 +312,7 @@ void SDL_StreamDeinit(SDL_AudioStreamer * stream) { if (stream->buffer != NULL) { - free(stream->buffer); + SDL_free(stream->buffer); } } diff --git a/src/audio/SDL_audiocvt.c b/src/audio/SDL_audiocvt.c index 371b33b33..71708a06b 100644 --- a/src/audio/SDL_audiocvt.c +++ b/src/audio/SDL_audiocvt.c @@ -20,6 +20,8 @@ slouken@libsdl.org */ #include "SDL_config.h" + +#define _USE_MATH_DEFINES #include /* Functions for audio drivers to perform runtime conversion of audio format */ @@ -27,7 +29,7 @@ #include "SDL_audio.h" #include "SDL_audio_c.h" -#define DEBUG_CONVERT +//#define DEBUG_CONVERT /* These are fractional multiplication routines. That is, their inputs are two numbers in the range [-1, 1) and the result falls in that @@ -1369,7 +1371,7 @@ SDL_BuildIIRLowpass(SDL_AudioCVT * cvt, SDL_AudioFormat format) w0 = 2.0f * M_PI * fc; cosw0 = cosf(w0); - alpha = sin(w0) / (2.0f * Q); + alpha = sinf(w0) / (2.0f * Q); /* Compute coefficients, normalizing by a0 */ scale = 1.0f / (1.0f + alpha); @@ -1438,7 +1440,7 @@ SDL_BuildIIRLowpass(SDL_AudioCVT * cvt, SDL_AudioFormat format) #endif /* Initialize the state buffer to all zeroes, and set initial position */ - memset(cvt->state_buf, 0, 4 * SDL_AUDIO_BITSIZE(format) / 4); + SDL_memset(cvt->state_buf, 0, 4 * SDL_AUDIO_BITSIZE(format) / 4); cvt->state_pos = 0; #undef convert_fixed } @@ -1636,7 +1638,7 @@ SDL_BuildWindowedSinc(SDL_AudioCVT * cvt, SDL_AudioFormat format, cvt->len_sinc = m + 1; /* Allocate the floating point windowed sinc. */ - fSinc = (float *) malloc((m + 1) * sizeof(float)); + fSinc = SDL_stack_alloc(float, (m + 1)); if (fSinc == NULL) { return -1; } @@ -1699,16 +1701,17 @@ SDL_BuildWindowedSinc(SDL_AudioCVT * cvt, SDL_AudioFormat format, } /* Initialize the state buffer to all zeroes, and set initial position */ - memset(cvt->state_buf, 0, cvt->len_sinc * SDL_AUDIO_BITSIZE(format) / 4); + SDL_memset(cvt->state_buf, 0, + cvt->len_sinc * SDL_AUDIO_BITSIZE(format) / 4); cvt->state_pos = 0; /* Clean up */ #undef convert_fixed - free(fSinc); + SDL_stack_free(fSinc); } /* This is used to reduce the resampling ratio */ -inline int +static __inline__ int SDL_GCD(int a, int b) { int temp; diff --git a/src/video/win32/SDL_win32mouse.c b/src/video/win32/SDL_win32mouse.c index 9b9aacf66..c269e5319 100644 --- a/src/video/win32/SDL_win32mouse.c +++ b/src/video/win32/SDL_win32mouse.c @@ -173,8 +173,8 @@ WIN_InitMouse(_THIS) if (tablet == index) { AXIS pressure; int cursors; - data->WTInfo(WTI_DEVICES, DVC_NPRESSURE, &pressure); - data->WTInfo(WTI_DEVICES, DVC_NCSRTYPES, &cursors); + data->WTInfoA(WTI_DEVICES, DVC_NPRESSURE, &pressure); + data->WTInfoA(WTI_DEVICES, DVC_NCSRTYPES, &cursors); data->mouse = SDL_AddMouse(&mouse, index, device_name, pressure.axMax, pressure.axMin, cursors); diff --git a/src/video/win32/SDL_win32video.c b/src/video/win32/SDL_win32video.c index 29cdfe76a..e33936ab2 100644 --- a/src/video/win32/SDL_win32video.c +++ b/src/video/win32/SDL_win32video.c @@ -110,14 +110,14 @@ WIN_CreateDevice(int devindex) data->wintabDLL = LoadLibrary(TEXT("WINTAB32.DLL")); if (data->wintabDLL) { #define PROCNAME(X) #X - data->WTInfo = + data->WTInfoA = (UINT(*)(UINT, UINT, LPVOID)) GetProcAddress(data->wintabDLL, - PROCNAME(WTInfo)); - data->WTOpen = - (HCTX(*)(HWND, LPLOGCONTEXT, BOOL)) GetProcAddress(data-> - wintabDLL, - PROCNAME - (WTOpen)); + PROCNAME(WTInfoA)); + data->WTOpenA = + (HCTX(*)(HWND, LPLOGCONTEXTA, BOOL)) GetProcAddress(data-> + wintabDLL, + PROCNAME + (WTOpenA)); data->WTPacket = (int (*)(HCTX, UINT, LPVOID)) GetProcAddress(data->wintabDLL, PROCNAME(WTPacket)); @@ -126,7 +126,7 @@ WIN_CreateDevice(int devindex) PROCNAME(WTClose)); #undef PROCNAME - if (!data->WTInfo || !data->WTOpen || !data->WTPacket + if (!data->WTInfoA || !data->WTOpenA || !data->WTPacket || !data->WTClose) { FreeLibrary(data->wintabDLL); data->wintabDLL = NULL; diff --git a/src/video/win32/SDL_win32video.h b/src/video/win32/SDL_win32video.h index 095d7a562..a4f896460 100644 --- a/src/video/win32/SDL_win32video.h +++ b/src/video/win32/SDL_win32video.h @@ -69,8 +69,8 @@ typedef struct SDL_VideoData /* *INDENT-OFF* */ /* Function pointers for the Wacom API */ HANDLE wintabDLL; - UINT (*WTInfo) (UINT, UINT, LPVOID); - HCTX (*WTOpen) (HWND, LPLOGCONTEXT, BOOL); + UINT (*WTInfoA) (UINT, UINT, LPVOID); + HCTX (*WTOpenA) (HWND, LPLOGCONTEXTA, BOOL); int (*WTPacket) (HCTX, UINT, LPVOID); BOOL (*WTClose) (HCTX); /* *INDENT-ON* */ diff --git a/src/video/win32/SDL_win32window.c b/src/video/win32/SDL_win32window.c index f4122cc1a..bc920f493 100644 --- a/src/video/win32/SDL_win32window.c +++ b/src/video/win32/SDL_win32window.c @@ -151,7 +151,7 @@ WIN_CreateWindow(_THIS, SDL_Window * window) SDL_VideoData *videodata = (SDL_VideoData *) _this->driverdata; RAWINPUTDEVICE Rid; AXIS TabX, TabY; - LOGCONTEXT lc; + LOGCONTEXTA lc; HWND hwnd; HWND top; RECT rect; @@ -206,15 +206,16 @@ WIN_CreateWindow(_THIS, SDL_Window * window) } /* we're configuring the tablet data. See Wintab reference for more info */ - if (videodata->wintabDLL && videodata->WTInfo(WTI_DEFSYSCTX, 0, &lc) != 0) { + if (videodata->wintabDLL + && videodata->WTInfoA(WTI_DEFSYSCTX, 0, &lc) != 0) { lc.lcPktData = PACKETDATA; lc.lcPktMode = PACKETMODE; lc.lcOptions |= CXO_MESSAGES; lc.lcOptions |= CXO_SYSTEM; lc.lcMoveMask = PACKETDATA; lc.lcBtnDnMask = lc.lcBtnUpMask = PACKETDATA; - videodata->WTInfo(WTI_DEVICES, DVC_X, &TabX); - videodata->WTInfo(WTI_DEVICES, DVC_Y, &TabY); + videodata->WTInfoA(WTI_DEVICES, DVC_X, &TabX); + videodata->WTInfoA(WTI_DEVICES, DVC_Y, &TabY); lc.lcInOrgX = 0; lc.lcInOrgY = 0; lc.lcInExtX = TabX.axMax; @@ -235,7 +236,7 @@ WIN_CreateWindow(_THIS, SDL_Window * window) } g_hCtx = tmp_hctx; } - g_hCtx[window->id] = videodata->WTOpen(hwnd, &lc, TRUE); + g_hCtx[window->id] = videodata->WTOpenA(hwnd, &lc, TRUE); } /* we're telling the window, we want it to report raw input events from mice */