diff --git a/src/audio/SDL_audio.c b/src/audio/SDL_audio.c index f7c3ec81b3..8ae372ed53 100644 --- a/src/audio/SDL_audio.c +++ b/src/audio/SDL_audio.c @@ -1162,7 +1162,7 @@ GetDefaultSamplesFromFreq(int freq) { /* Pick a default of ~46 ms at desired frequency */ /* !!! FIXME: remove this when the non-Po2 resampling is in. */ - const Uint16 max_sample = (freq / 1000) * 46; + const Uint16 max_sample = (Uint16)((freq / 1000) * 46); Uint16 current_sample = 1; while (current_sample < max_sample) { current_sample *= 2; @@ -1373,7 +1373,13 @@ static SDL_AudioDeviceID open_audio_device(const char *devname, int iscapture, * value we got from 'desired' and round up to the nearest value */ if (!current_audio.impl.SupportsNonPow2Samples && device->spec.samples > 0) { - device->spec.samples = SDL_powerof2(device->spec.samples); + int samples = SDL_powerof2(device->spec.samples); + if (samples <= SDL_MAX_UINT16) { + device->spec.samples = (Uint16)samples; + } else { + SDL_SetError("Couldn't hold sample count %d\n", samples); + return 0; + } } if (current_audio.impl.OpenDevice(device, devname) < 0) { diff --git a/src/audio/SDL_mixer.c b/src/audio/SDL_mixer.c index 337083cac7..e1d257d999 100644 --- a/src/audio/SDL_mixer.c +++ b/src/audio/SDL_mixer.c @@ -78,8 +78,8 @@ static const Uint8 mix8[] = { }; /* 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) +#define ADJUST_VOLUME(type, s, v) ((s) = (type)(((s) * (v)) / SDL_MIX_MAXVOLUME)) +#define ADJUST_VOLUME_U8(s, v) ((s) = (Uint8)(((((s) - 128) * (v)) / SDL_MIX_MAXVOLUME) + 128)) int SDL_MixAudioFormat(Uint8 *dst, const Uint8 *src, SDL_AudioFormat format, Uint32 len, int volume) @@ -115,14 +115,14 @@ int SDL_MixAudioFormat(Uint8 *dst, const Uint8 *src, SDL_AudioFormat format, dst8 = (Sint8 *)dst; while (len--) { src_sample = *src8; - ADJUST_VOLUME(src_sample, volume); + ADJUST_VOLUME(Sint8, src_sample, volume); dst_sample = *dst8 + src_sample; if (dst_sample > max_audioval) { dst_sample = max_audioval; } else if (dst_sample < min_audioval) { dst_sample = min_audioval; } - *dst8 = dst_sample; + *dst8 = (Sint8)dst_sample; ++dst8; ++src8; } @@ -138,7 +138,7 @@ int SDL_MixAudioFormat(Uint8 *dst, const Uint8 *src, SDL_AudioFormat format, len /= 2; while (len--) { src1 = SDL_SwapLE16(*(Sint16 *)src); - ADJUST_VOLUME(src1, volume); + ADJUST_VOLUME(Sint16, src1, volume); src2 = SDL_SwapLE16(*(Sint16 *)dst); src += 2; dst_sample = src1 + src2; @@ -147,7 +147,7 @@ int SDL_MixAudioFormat(Uint8 *dst, const Uint8 *src, SDL_AudioFormat format, } else if (dst_sample < min_audioval) { dst_sample = min_audioval; } - *(Sint16 *)dst = SDL_SwapLE16(dst_sample); + *(Sint16 *)dst = SDL_SwapLE16((Sint16)dst_sample); dst += 2; } } break; @@ -162,7 +162,7 @@ int SDL_MixAudioFormat(Uint8 *dst, const Uint8 *src, SDL_AudioFormat format, len /= 2; while (len--) { src1 = SDL_SwapBE16(*(Sint16 *)src); - ADJUST_VOLUME(src1, volume); + ADJUST_VOLUME(Sint16, src1, volume); src2 = SDL_SwapBE16(*(Sint16 *)dst); src += 2; dst_sample = src1 + src2; @@ -171,7 +171,7 @@ int SDL_MixAudioFormat(Uint8 *dst, const Uint8 *src, SDL_AudioFormat format, } else if (dst_sample < min_audioval) { dst_sample = min_audioval; } - *(Sint16 *)dst = SDL_SwapBE16(dst_sample); + *(Sint16 *)dst = SDL_SwapBE16((Sint16)dst_sample); dst += 2; } } break; @@ -189,7 +189,7 @@ int SDL_MixAudioFormat(Uint8 *dst, const Uint8 *src, SDL_AudioFormat format, while (len--) { src1 = (Sint64)((Sint32)SDL_SwapLE32(*src32)); src32++; - ADJUST_VOLUME(src1, volume); + ADJUST_VOLUME(Sint64, src1, volume); src2 = (Sint64)((Sint32)SDL_SwapLE32(*dst32)); dst_sample = src1 + src2; if (dst_sample > max_audioval) { @@ -214,7 +214,7 @@ int SDL_MixAudioFormat(Uint8 *dst, const Uint8 *src, SDL_AudioFormat format, while (len--) { src1 = (Sint64)((Sint32)SDL_SwapBE32(*src32)); src32++; - ADJUST_VOLUME(src1, volume); + ADJUST_VOLUME(Sint64, src1, volume); src2 = (Sint64)((Sint32)SDL_SwapBE32(*dst32)); dst_sample = src1 + src2; if (dst_sample > max_audioval) { diff --git a/src/haptic/SDL_haptic.c b/src/haptic/SDL_haptic.c index 72dc78899b..b12fafb625 100644 --- a/src/haptic/SDL_haptic.c +++ b/src/haptic/SDL_haptic.c @@ -134,7 +134,7 @@ SDL_HapticOpen(int device_index) /* Initialize the haptic device */ SDL_memset(haptic, 0, sizeof(*haptic)); haptic->rumble_id = -1; - haptic->index = device_index; + haptic->index = (Uint8)device_index; if (SDL_SYS_HapticOpen(haptic) < 0) { SDL_free(haptic); return NULL; diff --git a/src/haptic/windows/SDL_dinputhaptic.c b/src/haptic/windows/SDL_dinputhaptic.c index 2acf6fd4fd..20901a1654 100644 --- a/src/haptic/windows/SDL_dinputhaptic.c +++ b/src/haptic/windows/SDL_dinputhaptic.c @@ -463,7 +463,7 @@ int SDL_DINPUT_JoystickSameHaptic(SDL_Haptic *haptic, SDL_Joystick *joystick) int SDL_DINPUT_HapticOpenFromJoystick(SDL_Haptic *haptic, SDL_Joystick *joystick) { SDL_hapticlist_item *item; - int index = 0; + Uint8 index = 0; HRESULT ret; DIDEVICEINSTANCE joy_instance; diff --git a/src/haptic/windows/SDL_xinputhaptic.c b/src/haptic/windows/SDL_xinputhaptic.c index fce0033c99..681b4571ea 100644 --- a/src/haptic/windows/SDL_xinputhaptic.c +++ b/src/haptic/windows/SDL_xinputhaptic.c @@ -226,7 +226,7 @@ int SDL_XINPUT_JoystickSameHaptic(SDL_Haptic *haptic, SDL_Joystick *joystick) int SDL_XINPUT_HapticOpenFromJoystick(SDL_Haptic *haptic, SDL_Joystick *joystick) { SDL_hapticlist_item *item; - int index = 0; + Uint8 index = 0; /* Since it comes from a joystick we have to try to match it with a haptic device on our haptic list. */ for (item = SDL_hapticlist; item != NULL; item = item->next) { diff --git a/src/hidapi/windows/hid.c b/src/hidapi/windows/hid.c index 9f22521e70..858ce2a1fa 100644 --- a/src/hidapi/windows/hid.c +++ b/src/hidapi/windows/hid.c @@ -603,7 +603,7 @@ static int hid_get_bluetooth_info(const char *path, struct hid_device_info* dev) for (id = compatible_ids; *id; id += wcslen(id) + 1) { /* Normalize to upper case */ wchar_t* p = id; - for (; *p; ++p) *p = towupper(*p); + for (; *p; ++p) *p = (wchar_t)towupper(*p); /* USB devices https://docs.microsoft.com/windows-hardware/drivers/hid/plug-and-play-support diff --git a/src/joystick/SDL_joystick.c b/src/joystick/SDL_joystick.c index a35bd56ada..709cda80c1 100644 --- a/src/joystick/SDL_joystick.c +++ b/src/joystick/SDL_joystick.c @@ -1421,7 +1421,7 @@ void SDL_PrivateJoystickAdded(SDL_JoystickID instance_id) void SDL_PrivateJoystickForceRecentering(SDL_Joystick *joystick) { - int i, j; + Uint8 i, j; Uint64 timestamp = SDL_GetTicksNS(); SDL_AssertJoysticksLocked(); diff --git a/src/joystick/hidapi/SDL_hidapi_luna.c b/src/joystick/hidapi/SDL_hidapi_luna.c index 905de9c55f..1b28b99f09 100644 --- a/src/joystick/hidapi/SDL_hidapi_luna.c +++ b/src/joystick/hidapi/SDL_hidapi_luna.c @@ -117,8 +117,8 @@ static int HIDAPI_DriverLuna_RumbleJoystick(SDL_HIDAPI_Device *device, SDL_Joyst Uint8 rumble_packet[] = { 0x03, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xEB }; /* Magnitude is 1..100 so scale the 16-bit input here */ - rumble_packet[4] = low_frequency_rumble / 655; - rumble_packet[5] = high_frequency_rumble / 655; + rumble_packet[4] = (Uint8)(low_frequency_rumble / 655); + rumble_packet[5] = (Uint8)(high_frequency_rumble / 655); if (SDL_HIDAPI_SendRumble(device, rumble_packet, sizeof(rumble_packet)) != sizeof(rumble_packet)) { return SDL_SetError("Couldn't send rumble packet"); diff --git a/src/joystick/hidapi/SDL_hidapi_ps3.c b/src/joystick/hidapi/SDL_hidapi_ps3.c index 882f9e4e41..498a872151 100644 --- a/src/joystick/hidapi/SDL_hidapi_ps3.c +++ b/src/joystick/hidapi/SDL_hidapi_ps3.c @@ -447,7 +447,7 @@ static void HIDAPI_DriverPS3_HandleStatePacket(SDL_Joystick *joystick, SDL_Drive 17, /* SDL_GAMEPAD_BUTTON_DPAD_LEFT */ 15, /* SDL_GAMEPAD_BUTTON_DPAD_RIGHT */ }; - int i, axis_index = 6; + Uint8 i, axis_index = 6; for (i = 0; i < SDL_arraysize(button_axis_offsets); ++i) { int offset = button_axis_offsets[i]; @@ -772,7 +772,7 @@ static void HIDAPI_DriverPS3ThirdParty_HandleStatePacket18(SDL_Joystick *joystic 7, /* SDL_GAMEPAD_BUTTON_DPAD_LEFT */ 6, /* SDL_GAMEPAD_BUTTON_DPAD_RIGHT */ }; - int i, axis_index = 6; + Uint8 i, axis_index = 6; for (i = 0; i < SDL_arraysize(button_axis_offsets); ++i) { int offset = button_axis_offsets[i]; @@ -888,7 +888,7 @@ static void HIDAPI_DriverPS3ThirdParty_HandleStatePacket19(SDL_Joystick *joystic 8, /* SDL_GAMEPAD_BUTTON_DPAD_LEFT */ 7, /* SDL_GAMEPAD_BUTTON_DPAD_RIGHT */ }; - int i, axis_index = 6; + Uint8 i, axis_index = 6; for (i = 0; i < SDL_arraysize(button_axis_offsets); ++i) { int offset = button_axis_offsets[i]; diff --git a/src/joystick/hidapi/SDL_hidapi_steam.c b/src/joystick/hidapi/SDL_hidapi_steam.c index 54d3e40f32..9fc0874908 100644 --- a/src/joystick/hidapi/SDL_hidapi_steam.c +++ b/src/joystick/hidapi/SDL_hidapi_steam.c @@ -516,7 +516,7 @@ static bool ResetSteamController(SDL_hid_device *dev, bool bSuppressErrorSpew, u ADD_SETTING(SETTING_RIGHT_TRACKPAD_MODE, TRACKPAD_NONE); ADD_SETTING(SETTING_SMOOTH_ABSOLUTE_MOUSE, 0); #endif - buf[2] = nSettings * 3; + buf[2] = (unsigned char)(nSettings * 3); res = SetFeatureReport(dev, buf, 3 + nSettings * 3); if (res < 0) { @@ -616,7 +616,7 @@ static void CloseSteamController(SDL_hid_device *dev) SDL_memset(buf, 0, 65); buf[1] = ID_SET_SETTINGS_VALUES; ADD_SETTING(SETTING_RIGHT_TRACKPAD_MODE, TRACKPAD_ABSOLUTE_MOUSE); - buf[2] = nSettings * 3; + buf[2] = (unsigned char)(nSettings * 3); SetFeatureReport(dev, buf, 3 + nSettings * 3); } @@ -640,14 +640,14 @@ static float RemapValClamped(float val, float A, float B, float C, float D) //--------------------------------------------------------------------------- static void RotatePad(int *pX, int *pY, float flAngleInRad) { - short int origX = *pX, origY = *pY; + int origX = *pX, origY = *pY; *pX = (int)(SDL_cosf(flAngleInRad) * origX - SDL_sinf(flAngleInRad) * origY); *pY = (int)(SDL_sinf(flAngleInRad) * origX + SDL_cosf(flAngleInRad) * origY); } static void RotatePadShort(short *pX, short *pY, float flAngleInRad) { - short int origX = *pX, origY = *pY; + int origX = *pX, origY = *pY; *pX = (short)(SDL_cosf(flAngleInRad) * origX - SDL_sinf(flAngleInRad) * origY); *pY = (short)(SDL_sinf(flAngleInRad) * origX + SDL_cosf(flAngleInRad) * origY); @@ -753,8 +753,8 @@ static void FormatStatePacketUntilGyro(SteamControllerStateInternal_t *pState, V nPadOffset = 0; } - pState->sLeftPadX = clamp(nLeftPadX + nPadOffset, SDL_MIN_SINT16, SDL_MAX_SINT16); - pState->sLeftPadY = clamp(nLeftPadY + nPadOffset, SDL_MIN_SINT16, SDL_MAX_SINT16); + pState->sLeftPadX = (short)clamp(nLeftPadX + nPadOffset, SDL_MIN_SINT16, SDL_MAX_SINT16); + pState->sLeftPadY = (short)clamp(nLeftPadY + nPadOffset, SDL_MIN_SINT16, SDL_MAX_SINT16); nPadOffset = 0; if (pState->ulButtons & STEAM_RIGHTPAD_FINGERDOWN_MASK) { @@ -763,8 +763,8 @@ static void FormatStatePacketUntilGyro(SteamControllerStateInternal_t *pState, V nPadOffset = 0; } - pState->sRightPadX = clamp(nRightPadX + nPadOffset, SDL_MIN_SINT16, SDL_MAX_SINT16); - pState->sRightPadY = clamp(nRightPadY + nPadOffset, SDL_MIN_SINT16, SDL_MAX_SINT16); + pState->sRightPadX = (short)clamp(nRightPadX + nPadOffset, SDL_MIN_SINT16, SDL_MAX_SINT16); + pState->sRightPadY = (short)clamp(nRightPadY + nPadOffset, SDL_MIN_SINT16, SDL_MAX_SINT16); pState->sTriggerL = (unsigned short)RemapValClamped((float)((pStatePacket->ButtonTriggerData.Triggers.nLeft << 7) | pStatePacket->ButtonTriggerData.Triggers.nLeft), 0, STEAMCONTROLLER_TRIGGER_MAX_ANALOG, 0, SDL_MAX_SINT16); pState->sTriggerR = (unsigned short)RemapValClamped((float)((pStatePacket->ButtonTriggerData.Triggers.nRight << 7) | pStatePacket->ButtonTriggerData.Triggers.nRight), 0, STEAMCONTROLLER_TRIGGER_MAX_ANALOG, 0, SDL_MAX_SINT16); @@ -815,8 +815,8 @@ static bool UpdateBLESteamControllerState(const uint8_t *pData, int nDataSize, S } RotatePadShort(&pState->sLeftPadX, &pState->sLeftPadY, -flRotationAngle); - pState->sLeftPadX = clamp(pState->sLeftPadX + nPadOffset, SDL_MIN_SINT16, SDL_MAX_SINT16); - pState->sLeftPadY = clamp(pState->sLeftPadY + nPadOffset, SDL_MIN_SINT16, SDL_MAX_SINT16); + pState->sLeftPadX = (short)clamp(pState->sLeftPadX + nPadOffset, SDL_MIN_SINT16, SDL_MAX_SINT16); + pState->sLeftPadY = (short)clamp(pState->sLeftPadY + nPadOffset, SDL_MIN_SINT16, SDL_MAX_SINT16); pData += nLength; } if (ucOptionDataMask & k_EBLERightTrackpadChunk) { @@ -832,8 +832,8 @@ static bool UpdateBLESteamControllerState(const uint8_t *pData, int nDataSize, S } RotatePadShort(&pState->sRightPadX, &pState->sRightPadY, flRotationAngle); - pState->sRightPadX = clamp(pState->sRightPadX + nPadOffset, SDL_MIN_SINT16, SDL_MAX_SINT16); - pState->sRightPadY = clamp(pState->sRightPadY + nPadOffset, SDL_MIN_SINT16, SDL_MAX_SINT16); + pState->sRightPadX = (short)clamp(pState->sRightPadX + nPadOffset, SDL_MIN_SINT16, SDL_MAX_SINT16); + pState->sRightPadY = (short)clamp(pState->sRightPadY + nPadOffset, SDL_MIN_SINT16, SDL_MAX_SINT16); pData += nLength; } if (ucOptionDataMask & k_EBLEIMUAccelChunk) { @@ -1074,7 +1074,7 @@ static int HIDAPI_DriverSteam_SetSensorsEnabled(SDL_HIDAPI_Device *device, SDL_J } else { ADD_SETTING(SETTING_GYRO_MODE, 0x00 /* SETTING_GYRO_MODE_OFF */); } - buf[2] = nSettings * 3; + buf[2] = (unsigned char)(nSettings * 3); if (SetFeatureReport(device->dev, buf, 3 + nSettings * 3) < 0) { return SDL_SetError("Couldn't write feature report"); } diff --git a/src/joystick/hidapi/SDL_hidapi_switch.c b/src/joystick/hidapi/SDL_hidapi_switch.c index e03c3d66ea..ea2b5f9e2c 100644 --- a/src/joystick/hidapi/SDL_hidapi_switch.c +++ b/src/joystick/hidapi/SDL_hidapi_switch.c @@ -681,12 +681,15 @@ static void SDLCALL SDL_HomeLEDHintChanged(void *userdata, const char *name, con if (SDL_strchr(hint, '.') != NULL) { value = (int)(100.0f * SDL_atof(hint)); + if (value > 255) { + value = 255; + } } else if (SDL_GetStringBoolean(hint, SDL_TRUE)) { value = 100; } else { value = 0; } - SetHomeLED(ctx, value); + SetHomeLED(ctx, (Uint8)value); } } diff --git a/src/joystick/hidapi/SDL_hidapi_wii.c b/src/joystick/hidapi/SDL_hidapi_wii.c index 4d45345a4b..8b6fa2a861 100644 --- a/src/joystick/hidapi/SDL_hidapi_wii.c +++ b/src/joystick/hidapi/SDL_hidapi_wii.c @@ -256,11 +256,11 @@ static SDL_bool WriteRegister(SDL_DriverWii_Context *ctx, Uint32 address, const SDL_zeroa(writeRequest); writeRequest[0] = k_eWiiOutputReportIDs_WriteMemory; - writeRequest[1] = 0x04 | ctx->m_bRumbleActive; + writeRequest[1] = (Uint8)(0x04 | ctx->m_bRumbleActive); writeRequest[2] = (address >> 16) & 0xff; writeRequest[3] = (address >> 8) & 0xff; writeRequest[4] = address & 0xff; - writeRequest[5] = size; + writeRequest[5] = (Uint8)size; SDL_assert(size > 0 && size <= 16); SDL_memcpy(writeRequest + 6, data, size); @@ -285,7 +285,7 @@ static SDL_bool ReadRegister(SDL_DriverWii_Context *ctx, Uint32 address, int siz Uint8 readRequest[7]; readRequest[0] = k_eWiiOutputReportIDs_ReadMemory; - readRequest[1] = 0x04 | ctx->m_bRumbleActive; + readRequest[1] = (Uint8)(0x04 | ctx->m_bRumbleActive); readRequest[2] = (address >> 16) & 0xff; readRequest[3] = (address >> 8) & 0xff; readRequest[4] = address & 0xff; @@ -1400,7 +1400,7 @@ static void GetExtensionData(WiiButtonData *dst, const Uint8 *src, int size) } if (valid_data) { SDL_memcpy(dst->rgucExtension, src, size); - dst->ucNExtensionBytes = size; + dst->ucNExtensionBytes = (Uint8)size; } } diff --git a/src/joystick/hidapi/SDL_hidapi_xboxone.c b/src/joystick/hidapi/SDL_hidapi_xboxone.c index aa0b323636..0dd31db979 100644 --- a/src/joystick/hidapi/SDL_hidapi_xboxone.c +++ b/src/joystick/hidapi/SDL_hidapi_xboxone.c @@ -514,8 +514,8 @@ static int HIDAPI_DriverXboxOne_RumbleJoystick(SDL_HIDAPI_Device *device, SDL_Jo SDL_DriverXboxOne_Context *ctx = (SDL_DriverXboxOne_Context *)device->context; /* Magnitude is 1..100 so scale the 16-bit input here */ - ctx->low_frequency_rumble = low_frequency_rumble / 655; - ctx->high_frequency_rumble = high_frequency_rumble / 655; + ctx->low_frequency_rumble = (Uint8)(low_frequency_rumble / 655); + ctx->high_frequency_rumble = (Uint8)(high_frequency_rumble / 655); ctx->rumble_pending = SDL_TRUE; return HIDAPI_DriverXboxOne_UpdateRumble(device); @@ -530,8 +530,8 @@ static int HIDAPI_DriverXboxOne_RumbleJoystickTriggers(SDL_HIDAPI_Device *device } /* Magnitude is 1..100 so scale the 16-bit input here */ - ctx->left_trigger_rumble = left_rumble / 655; - ctx->right_trigger_rumble = right_rumble / 655; + ctx->left_trigger_rumble = (Uint8)(left_rumble / 655); + ctx->right_trigger_rumble = (Uint8)(right_rumble / 655); ctx->rumble_pending = SDL_TRUE; return HIDAPI_DriverXboxOne_UpdateRumble(device); @@ -638,7 +638,7 @@ static void HIDAPI_DriverXboxOne_HandleUnmappedStatePacket(SDL_Joystick *joystic } if (ctx->last_paddle_state != data[paddle_index]) { - int nButton = SDL_GAMEPAD_BUTTON_MISC1 + ctx->has_share_button; /* Next available button */ + Uint8 nButton = (Uint8)(SDL_GAMEPAD_BUTTON_MISC1 + ctx->has_share_button); /* Next available button */ SDL_SendJoystickButton(timestamp, joystick, nButton++, (data[paddle_index] & button1_bit) ? SDL_PRESSED : SDL_RELEASED); SDL_SendJoystickButton(timestamp, joystick, nButton++, (data[paddle_index] & button2_bit) ? SDL_PRESSED : SDL_RELEASED); SDL_SendJoystickButton(timestamp, joystick, nButton++, (data[paddle_index] & button3_bit) ? SDL_PRESSED : SDL_RELEASED); @@ -781,7 +781,7 @@ static void HIDAPI_DriverXboxOne_HandleStatePacket(SDL_Joystick *joystick, SDL_D } if (ctx->last_paddle_state != data[paddle_index]) { - int nButton = SDL_GAMEPAD_BUTTON_MISC1 + ctx->has_share_button; /* Next available button */ + Uint8 nButton = (Uint8)(SDL_GAMEPAD_BUTTON_MISC1 + ctx->has_share_button); /* Next available button */ SDL_SendJoystickButton(timestamp, joystick, nButton++, (data[paddle_index] & button1_bit) ? SDL_PRESSED : SDL_RELEASED); SDL_SendJoystickButton(timestamp, joystick, nButton++, (data[paddle_index] & button2_bit) ? SDL_PRESSED : SDL_RELEASED); SDL_SendJoystickButton(timestamp, joystick, nButton++, (data[paddle_index] & button3_bit) ? SDL_PRESSED : SDL_RELEASED); @@ -948,7 +948,7 @@ static void HIDAPI_DriverXboxOneBluetooth_HandleButtons(Uint64 timestamp, SDL_Jo } if (ctx->last_paddle_state != data[paddle_index]) { - int nButton = SDL_GAMEPAD_BUTTON_MISC1; /* Next available button */ + Uint8 nButton = SDL_GAMEPAD_BUTTON_MISC1; /* Next available button */ SDL_SendJoystickButton(timestamp, joystick, nButton++, (data[paddle_index] & button1_bit) ? SDL_PRESSED : SDL_RELEASED); SDL_SendJoystickButton(timestamp, joystick, nButton++, (data[paddle_index] & button2_bit) ? SDL_PRESSED : SDL_RELEASED); SDL_SendJoystickButton(timestamp, joystick, nButton++, (data[paddle_index] & button3_bit) ? SDL_PRESSED : SDL_RELEASED); diff --git a/src/joystick/virtual/SDL_virtualjoystick.c b/src/joystick/virtual/SDL_virtualjoystick.c index b221b29edc..7ac3bb2338 100644 --- a/src/joystick/virtual/SDL_virtualjoystick.c +++ b/src/joystick/virtual/SDL_virtualjoystick.c @@ -530,7 +530,7 @@ static int VIRTUAL_JoystickSetSensorsEnabled(SDL_Joystick *joystick, SDL_bool en static void VIRTUAL_JoystickUpdate(SDL_Joystick *joystick) { joystick_hwdata *hwdata; - int i; + Uint8 i; Uint64 timestamp = SDL_GetTicksNS(); SDL_AssertJoysticksLocked(); @@ -582,8 +582,8 @@ static void VIRTUAL_JoystickQuit(void) static SDL_bool VIRTUAL_JoystickGetGamepadMapping(int device_index, SDL_GamepadMapping *out) { joystick_hwdata *hwdata = VIRTUAL_HWDataForIndex(device_index); - int current_button = 0; - int current_axis = 0; + Uint8 current_button = 0; + Uint8 current_axis = 0; if (hwdata->desc.type != SDL_JOYSTICK_TYPE_GAMEPAD) { return SDL_FALSE; diff --git a/src/joystick/windows/SDL_dinputjoystick.c b/src/joystick/windows/SDL_dinputjoystick.c index 3e14b470dd..3d4ce62344 100644 --- a/src/joystick/windows/SDL_dinputjoystick.c +++ b/src/joystick/windows/SDL_dinputjoystick.c @@ -607,12 +607,12 @@ static BOOL CALLBACK EnumDevObjectsCallback(LPCDIDEVICEOBJECTINSTANCE pDeviceObj if (pDeviceObject->dwType & DIDFT_BUTTON) { in->type = BUTTON; - in->num = joystick->nbuttons; + in->num = (Uint8)joystick->nbuttons; in->ofs = DIJOFS_BUTTON(in->num); joystick->nbuttons++; } else if (pDeviceObject->dwType & DIDFT_POV) { in->type = HAT; - in->num = joystick->nhats; + in->num = (Uint8)joystick->nhats; in->ofs = DIJOFS_POV(in->num); joystick->nhats++; } else if (pDeviceObject->dwType & DIDFT_AXIS) { @@ -620,7 +620,7 @@ static BOOL CALLBACK EnumDevObjectsCallback(LPCDIDEVICEOBJECTINSTANCE pDeviceObj DIPROPDWORD dilong; in->type = AXIS; - in->num = joystick->naxes; + in->num = (Uint8)joystick->naxes; if (SDL_memcmp(&pDeviceObject->guidType, &GUID_XAxis, sizeof(pDeviceObject->guidType)) == 0) { in->ofs = DIJOFS_X; } else if (SDL_memcmp(&pDeviceObject->guidType, &GUID_YAxis, sizeof(pDeviceObject->guidType)) == 0) { @@ -703,9 +703,9 @@ static int SDLCALL SortDevFunc(const void *a, const void *b) static void SortDevObjects(SDL_Joystick *joystick) { input_t *inputs = joystick->hwdata->Inputs; - int nButtons = 0; - int nHats = 0; - int nAxis = 0; + Uint8 nButtons = 0; + Uint8 nHats = 0; + Uint8 nAxis = 0; int n; SDL_qsort(inputs, joystick->hwdata->NumInputs, sizeof(input_t), SortDevFunc); @@ -949,7 +949,7 @@ SDL_DINPUT_JoystickGetCapabilities(SDL_Joystick *joystick) static Uint8 TranslatePOV(DWORD value) { - const int HAT_VALS[] = { + const Uint8 HAT_VALS[] = { SDL_HAT_UP, SDL_HAT_UP | SDL_HAT_RIGHT, SDL_HAT_RIGHT, diff --git a/src/render/SDL_yuv_sw_c.h b/src/render/SDL_yuv_sw_c.h index 8b674aade5..85d67f045a 100644 --- a/src/render/SDL_yuv_sw_c.h +++ b/src/render/SDL_yuv_sw_c.h @@ -34,7 +34,7 @@ struct SDL_SW_YUVTexture Uint8 *pixels; /* These are just so we don't have to allocate them separately */ - Uint16 pitches[3]; + int pitches[3]; Uint8 *planes[3]; /* This is a temporary surface in case we have to stretch copy */ diff --git a/src/render/software/SDL_rotate.c b/src/render/software/SDL_rotate.c index 7c2e075c83..8bdc8188a3 100644 --- a/src/render/software/SDL_rotate.c +++ b/src/render/software/SDL_rotate.c @@ -343,16 +343,16 @@ static void transformSurfaceRGBA(SDL_Surface *src, SDL_Surface *dst, int isin, i ey = (sdy & 0xffff); t1 = ((((c01.r - c00.r) * ex) >> 16) + c00.r) & 0xff; t2 = ((((c11.r - c10.r) * ex) >> 16) + c10.r) & 0xff; - pc->r = (((t2 - t1) * ey) >> 16) + t1; + pc->r = (Uint8)((((t2 - t1) * ey) >> 16) + t1); t1 = ((((c01.g - c00.g) * ex) >> 16) + c00.g) & 0xff; t2 = ((((c11.g - c10.g) * ex) >> 16) + c10.g) & 0xff; - pc->g = (((t2 - t1) * ey) >> 16) + t1; + pc->g = (Uint8)((((t2 - t1) * ey) >> 16) + t1); t1 = ((((c01.b - c00.b) * ex) >> 16) + c00.b) & 0xff; t2 = ((((c11.b - c10.b) * ex) >> 16) + c10.b) & 0xff; - pc->b = (((t2 - t1) * ey) >> 16) + t1; + pc->b = (Uint8)((((t2 - t1) * ey) >> 16) + t1); t1 = ((((c01.a - c00.a) * ex) >> 16) + c00.a) & 0xff; t2 = ((((c11.a - c10.a) * ex) >> 16) + c10.a) & 0xff; - pc->a = (((t2 - t1) * ey) >> 16) + t1; + pc->a = (Uint8)((((t2 - t1) * ey) >> 16) + t1); } sdx += icos; sdy += isin; diff --git a/src/render/software/SDL_triangle.c b/src/render/software/SDL_triangle.c index d2e8dd8eeb..2896ddcb47 100644 --- a/src/render/software/SDL_triangle.c +++ b/src/render/software/SDL_triangle.c @@ -171,11 +171,11 @@ static void bounding_rect(const SDL_Point *a, const SDL_Point *b, const SDL_Poin int srcy = (int)(((Sint64)w0 * s2s0_y + (Sint64)w1 * s2s1_y + s2_x_area.y) / area); #define TRIANGLE_GET_MAPPED_COLOR \ - int r = (int)(((Sint64)w0 * c0.r + (Sint64)w1 * c1.r + (Sint64)w2 * c2.r) / area); \ - int g = (int)(((Sint64)w0 * c0.g + (Sint64)w1 * c1.g + (Sint64)w2 * c2.g) / area); \ - int b = (int)(((Sint64)w0 * c0.b + (Sint64)w1 * c1.b + (Sint64)w2 * c2.b) / area); \ - int a = (int)(((Sint64)w0 * c0.a + (Sint64)w1 * c1.a + (Sint64)w2 * c2.a) / area); \ - int color = SDL_MapRGBA(format, r, g, b, a); + Uint8 r = (Uint8)(((Sint64)w0 * c0.r + (Sint64)w1 * c1.r + (Sint64)w2 * c2.r) / area); \ + Uint8 g = (Uint8)(((Sint64)w0 * c0.g + (Sint64)w1 * c1.g + (Sint64)w2 * c2.g) / area); \ + Uint8 b = (Uint8)(((Sint64)w0 * c0.b + (Sint64)w1 * c1.b + (Sint64)w2 * c2.b) / area); \ + Uint8 a = (Uint8)(((Sint64)w0 * c0.a + (Sint64)w1 * c1.a + (Sint64)w2 * c2.a) / area); \ + Uint32 color = SDL_MapRGBA(format, r, g, b, a); #define TRIANGLE_GET_COLOR \ int r = (int)(((Sint64)w0 * c0.r + (Sint64)w1 * c1.r + (Sint64)w2 * c2.r) / area); \ @@ -366,13 +366,13 @@ int SDL_SW_FillTriangle(SDL_Surface *dst, SDL_Point *d0, SDL_Point *d1, SDL_Poin } else if (dstbpp == 2) { TRIANGLE_BEGIN_LOOP { - *(Uint16 *)dptr = color; + *(Uint16 *)dptr = (Uint16)color; } TRIANGLE_END_LOOP } else if (dstbpp == 1) { TRIANGLE_BEGIN_LOOP { - *dptr = color; + *dptr = (Uint8)color; } TRIANGLE_END_LOOP } @@ -402,14 +402,14 @@ int SDL_SW_FillTriangle(SDL_Surface *dst, SDL_Point *d0, SDL_Point *d1, SDL_Poin TRIANGLE_BEGIN_LOOP { TRIANGLE_GET_MAPPED_COLOR - *(Uint16 *)dptr = color; + *(Uint16 *)dptr = (Uint16)color; } TRIANGLE_END_LOOP } else if (dstbpp == 1) { TRIANGLE_BEGIN_LOOP { TRIANGLE_GET_MAPPED_COLOR - *dptr = color; + *dptr = (Uint8)color; } TRIANGLE_END_LOOP } diff --git a/src/stdlib/SDL_string.c b/src/stdlib/SDL_string.c index 1229c3798a..e68ae47a75 100644 --- a/src/stdlib/SDL_string.c +++ b/src/stdlib/SDL_string.c @@ -479,8 +479,8 @@ int SDL_wcscasecmp(const wchar_t *str1, const wchar_t *str2) a = *str1; b = *str2; } else { - a = SDL_toupper((unsigned char)*str1); - b = SDL_toupper((unsigned char)*str2); + a = (wchar_t)SDL_toupper((unsigned char)*str1); + b = (wchar_t)SDL_toupper((unsigned char)*str2); } if (a != b) { break; @@ -494,8 +494,8 @@ int SDL_wcscasecmp(const wchar_t *str1, const wchar_t *str2) a = *str1; b = *str2; } else { - a = SDL_toupper((unsigned char)*str1); - b = SDL_toupper((unsigned char)*str2); + a = (wchar_t)SDL_toupper((unsigned char)*str1); + b = (wchar_t)SDL_toupper((unsigned char)*str2); } return (int)((unsigned int)a - (unsigned int)b); #endif /* HAVE__WCSICMP */ @@ -516,8 +516,8 @@ int SDL_wcsncasecmp(const wchar_t *str1, const wchar_t *str2, size_t maxlen) a = *str1; b = *str2; } else { - a = SDL_toupper((unsigned char)*str1); - b = SDL_toupper((unsigned char)*str2); + a = (wchar_t)SDL_toupper((unsigned char)*str1); + b = (wchar_t)SDL_toupper((unsigned char)*str2); } if (a != b) { break; @@ -535,8 +535,8 @@ int SDL_wcsncasecmp(const wchar_t *str1, const wchar_t *str2, size_t maxlen) a = *str1; b = *str2; } else { - a = SDL_toupper((unsigned char)*str1); - b = SDL_toupper((unsigned char)*str2); + a = (wchar_t)SDL_toupper((unsigned char)*str1); + b = (wchar_t)SDL_toupper((unsigned char)*str2); } return (int)((unsigned int)a - (unsigned int)b); } @@ -565,7 +565,7 @@ SDL_utf8strlcpy(SDL_OUT_Z_CAP(dst_bytes) char *dst, const char *src, size_t dst_ size_t src_bytes = SDL_strlen(src); size_t bytes = SDL_min(src_bytes, dst_bytes - 1); size_t i = 0; - unsigned char trailing_bytes = 0; + size_t trailing_bytes = 0; if (bytes) { unsigned char c = (unsigned char)src[bytes - 1]; @@ -576,7 +576,7 @@ SDL_utf8strlcpy(SDL_OUT_Z_CAP(dst_bytes) char *dst, const char *src, size_t dst_ c = (unsigned char)src[i]; trailing_bytes = UTF8_GetTrailingBytes(c); if (trailing_bytes) { - if ((bytes - i) != ((size_t)trailing_bytes + 1)) { + if ((bytes - i) != (trailing_bytes + 1)) { bytes = i; } @@ -678,7 +678,7 @@ SDL_strupr(char *string) #else char *bufp = string; while (*bufp) { - *bufp = SDL_toupper((unsigned char)*bufp); + *bufp = (char)SDL_toupper((unsigned char)*bufp); ++bufp; } return string; @@ -693,7 +693,7 @@ SDL_strlwr(char *string) #else char *bufp = string; while (*bufp) { - *bufp = SDL_tolower((unsigned char)*bufp); + *bufp = (char)SDL_tolower((unsigned char)*bufp); ++bufp; } return string; @@ -1652,7 +1652,7 @@ SDL_PrintFloat(char *text, size_t maxlen, SDL_FormatInfo *info, double arg, SDL_ arg *= 10.0; arg = SDL_modf(arg, &integer_value); SDL_assert(length < sizeof(num)); - num[length++] = '0' + (int)integer_value; + num[length++] = '0' + (char)integer_value; --precision; } if (precision == 1) { @@ -1682,7 +1682,7 @@ SDL_PrintFloat(char *text, size_t maxlen, SDL_FormatInfo *info, double arg, SDL_ num[length++] = '0'; } else { SDL_assert(length < sizeof(num)); - num[length++] = '0' + (int)integer_value; + num[length++] = '0' + (char)integer_value; } } diff --git a/src/video/SDL_RLEaccel.c b/src/video/SDL_RLEaccel.c index 1a3ee4a0e4..5b2d47114b 100644 --- a/src/video/SDL_RLEaccel.c +++ b/src/video/SDL_RLEaccel.c @@ -1111,20 +1111,20 @@ static int RLEAlphaSurface(SDL_Surface *surface) Uint8 *lastline = dst; /* end of last non-blank line */ /* opaque counts are 8 or 16 bits, depending on target depth */ -#define ADD_OPAQUE_COUNTS(n, m) \ - if (df->BytesPerPixel == 4) { \ - ((Uint16 *)dst)[0] = n; \ - ((Uint16 *)dst)[1] = m; \ - dst += 4; \ - } else { \ - dst[0] = n; \ - dst[1] = m; \ - dst += 2; \ +#define ADD_OPAQUE_COUNTS(n, m) \ + if (df->BytesPerPixel == 4) { \ + ((Uint16 *)dst)[0] = (Uint16)n; \ + ((Uint16 *)dst)[1] = (Uint16)m; \ + dst += 4; \ + } else { \ + dst[0] = (Uint8)n; \ + dst[1] = (Uint8)m; \ + dst += 2; \ } /* translucent counts are always 16 bit */ #define ADD_TRANSL_COUNTS(n, m) \ - (((Uint16 *)dst)[0] = n, ((Uint16 *)dst)[1] = m, dst += 4) + (((Uint16 *)dst)[0] = (Uint16)n, ((Uint16 *)dst)[1] = (Uint16)m, dst += 4) for (y = 0; y < h; y++) { int runstart, skipstart; @@ -1314,15 +1314,15 @@ static int RLEColorkeySurface(SDL_Surface *surface) w = surface->w; h = surface->h; -#define ADD_COUNTS(n, m) \ - if (bpp == 4) { \ - ((Uint16 *)dst)[0] = n; \ - ((Uint16 *)dst)[1] = m; \ - dst += 4; \ - } else { \ - dst[0] = n; \ - dst[1] = m; \ - dst += 2; \ +#define ADD_COUNTS(n, m) \ + if (bpp == 4) { \ + ((Uint16 *)dst)[0] = (Uint16)n; \ + ((Uint16 *)dst)[1] = (Uint16)m; \ + dst += 4; \ + } else { \ + dst[0] = (Uint8)n; \ + dst[1] = (Uint8)m; \ + dst += 2; \ } for (y = 0; y < h; y++) { diff --git a/src/video/SDL_blit.h b/src/video/SDL_blit.h index 6635f10659..a0554748c8 100644 --- a/src/video/SDL_blit.h +++ b/src/video/SDL_blit.h @@ -226,11 +226,11 @@ extern SDL_BlitFunc SDL_CalculateBlitA(SDL_Surface *surface); } #define RGB565_FROM_RGB(Pixel, r, g, b) \ { \ - Pixel = ((r >> 3) << 11) | ((g >> 2) << 5) | (b >> 3); \ + Pixel = (Uint16)(((r >> 3) << 11) | ((g >> 2) << 5) | (b >> 3)); \ } #define RGB555_FROM_RGB(Pixel, r, g, b) \ { \ - Pixel = ((r >> 3) << 10) | ((g >> 3) << 5) | (b >> 3); \ + Pixel = (Uint16)(((r >> 3) << 10) | ((g >> 3) << 5) | (b >> 3)); \ } #define RGB888_FROM_RGB(Pixel, r, g, b) \ { \ @@ -574,9 +574,8 @@ extern SDL_BlitFunc SDL_CalculateBlitA(SDL_Surface *surface); #endif /* USE_DUFFS_LOOP */ -/* Prevent Visual C++ 6.0 from printing out stupid warnings */ #if defined(_MSC_VER) && (_MSC_VER >= 600) -#pragma warning(disable : 4550) +#pragma warning(disable : 4244) /* '=': conversion from 'X' to 'Y', possible loss of data */ #endif #endif /* SDL_blit_h_ */ diff --git a/src/video/SDL_blit_1.c b/src/video/SDL_blit_1.c index a4a6d53229..f3f95abc79 100644 --- a/src/video/SDL_blit_1.c +++ b/src/video/SDL_blit_1.c @@ -492,7 +492,7 @@ static void Blit1toNAlphaKey(SDL_BlitInfo *info) sB = srcpal[*src].b; DISEMBLE_RGBA(dst, dstbpp, dstfmt, pixel, dR, dG, dB, dA); ALPHA_BLEND_RGBA(sR, sG, sB, A, dR, dG, dB, dA); - ASSEMBLE_RGBA(dst, dstbpp, dstfmt, dR, dG, dB, dA); + ASSEMBLE_RGBA(dst, dstbpp, dstfmt, dR, dG, dB, dA); } src++; dst += dstbpp; diff --git a/src/video/SDL_blit_A.c b/src/video/SDL_blit_A.c index 5ae6c88f96..ee9f936c81 100644 --- a/src/video/SDL_blit_A.c +++ b/src/video/SDL_blit_A.c @@ -58,7 +58,7 @@ static void BlitNto1SurfaceAlpha(SDL_BlitInfo *info) dB &= 0xff; /* Pack RGB into 8bit pixel */ if ( palmap == NULL ) { - *dst =((dR>>5)<<(3+2))|((dG>>5)<<(2))|((dB>>6)<<(0)); + *dst = (Uint8)(((dR>>5)<<(3+2))|((dG>>5)<<(2))|((dB>>6)<<(0))); } else { *dst = palmap[((dR>>5)<<(3+2))|((dG>>5)<<(2))|((dB>>6)<<(0))]; } @@ -103,7 +103,7 @@ static void BlitNto1PixelAlpha(SDL_BlitInfo *info) dB &= 0xff; /* Pack RGB into 8bit pixel */ if ( palmap == NULL ) { - *dst =((dR>>5)<<(3+2))|((dG>>5)<<(2))|((dB>>6)<<(0)); + *dst = (Uint8)(((dR>>5)<<(3+2))|((dG>>5)<<(2))|((dB>>6)<<(0))); } else { *dst = palmap[((dR>>5)<<(3+2))|((dG>>5)<<(2))|((dB>>6)<<(0))]; } @@ -151,7 +151,7 @@ static void BlitNto1SurfaceAlphaKey(SDL_BlitInfo *info) dB &= 0xff; /* Pack RGB into 8bit pixel */ if ( palmap == NULL ) { - *dst =((dR>>5)<<(3+2))|((dG>>5)<<(2))|((dB>>6)<<(0)); + *dst = (Uint8)(((dR>>5)<<(3+2))|((dG>>5)<<(2))|((dB>>6)<<(0))); } else { *dst = palmap[((dR>>5)<<(3+2))|((dG>>5)<<(2))|((dB>>6)<<(0))]; } diff --git a/src/video/SDL_blit_N.c b/src/video/SDL_blit_N.c index 123282eb7b..f1ec83810d 100644 --- a/src/video/SDL_blit_N.c +++ b/src/video/SDL_blit_N.c @@ -2117,9 +2117,7 @@ static void BlitNto1(SDL_BlitInfo *info) sR, sG, sB); if ( 1 ) { /* Pack RGB into 8bit pixel */ - *dst = ((sR>>5)<<(3+2))| - ((sG>>5)<<(2)) | - ((sB>>6)<<(0)) ; + *dst = (Uint8)(((sR>>5)<<(3+2)) | ((sG>>5)<<(2)) | ((sB>>6)<<(0))); } dst++; src += srcbpp; @@ -2343,7 +2341,7 @@ static void BlitNtoN(SDL_BlitInfo *info) dst[1] = src[p1]; dst[2] = src[p2]; dst[3] = src[p3]; - dst[alpha_channel] = alpha; + dst[alpha_channel] = (Uint8)alpha; src += 4; dst += 4; }, width); @@ -2397,7 +2395,7 @@ static void BlitNtoN(SDL_BlitInfo *info) dst[1] = src[p1]; dst[2] = src[p2]; dst[3] = src[p3]; - dst[alpha_channel] = alpha; + dst[alpha_channel] = (Uint8)alpha; src += 3; dst += 4; }, width); @@ -2670,7 +2668,7 @@ static void BlitNtoNKey(SDL_BlitInfo *info) dst[1] = src[p1]; dst[2] = src[p2]; dst[3] = src[p3]; - dst[alpha_channel] = alpha; + dst[alpha_channel] = (Uint8)alpha; } src += 4; dst += 4; @@ -2819,7 +2817,7 @@ static void BlitNtoNKey(SDL_BlitInfo *info) dst[1] = src[p1]; dst[2] = src[p2]; dst[3] = src[p3]; - dst[alpha_channel] = alpha; + dst[alpha_channel] = (Uint8)alpha; } src += 3; dst += 4; diff --git a/src/video/SDL_pixels.c b/src/video/SDL_pixels.c index 6b9f85ffbd..ba0007667e 100644 --- a/src/video/SDL_pixels.c +++ b/src/video/SDL_pixels.c @@ -565,8 +565,8 @@ int SDL_InitFormat(SDL_PixelFormat *format, Uint32 pixel_format) /* Set up the format */ SDL_zerop(format); format->format = pixel_format; - format->BitsPerPixel = bpp; - format->BytesPerPixel = (bpp + 7) / 8; + format->BitsPerPixel = (Uint8)bpp; + format->BytesPerPixel = (Uint8)((bpp + 7) / 8); format->Rmask = Rmask; format->Rshift = 0; @@ -772,14 +772,14 @@ void SDL_DitherColors(SDL_Color *colors, int bpp) so 0 is mapped to (0, 0, 0) and 255 to (255, 255, 255) */ r = i & 0xe0; r |= r >> 3 | r >> 6; - colors[i].r = r; + colors[i].r = (Uint8)r; g = (i << 3) & 0xe0; g |= g >> 3 | g >> 6; - colors[i].g = g; + colors[i].g = (Uint8)g; b = i & 0x3; b |= b << 2; b |= b << 4; - colors[i].b = b; + colors[i].b = (Uint8)b; colors[i].a = SDL_ALPHA_OPAQUE; } } @@ -804,7 +804,7 @@ Uint8 SDL_FindColor(SDL_Palette *pal, Uint8 r, Uint8 g, Uint8 b, Uint8 a) ad = pal->colors[i].a - a; distance = (rd * rd) + (gd * gd) + (bd * bd) + (ad * ad); if (distance < smallest) { - pixel = i; + pixel = (Uint8)i; if (distance == 0) { /* Perfect match! */ break; } diff --git a/src/video/SDL_stretch.c b/src/video/SDL_stretch.c index 2d1dfdfe8e..4640399c80 100644 --- a/src/video/SDL_stretch.c +++ b/src/video/SDL_stretch.c @@ -263,10 +263,10 @@ static SDL_INLINE void INTERPOL(const Uint32 *src_x0, const Uint32 *src_x1, int cx->c = c0->c + INTEGER(frac0 * (c1->c - c0->c)); cx->d = c0->d + INTEGER(frac0 * (c1->d - c0->d)); #else - cx->a = INTEGER(frac1 * c0->a + frac0 * c1->a); - cx->b = INTEGER(frac1 * c0->b + frac0 * c1->b); - cx->c = INTEGER(frac1 * c0->c + frac0 * c1->c); - cx->d = INTEGER(frac1 * c0->d + frac0 * c1->d); + cx->a = (Uint8)INTEGER(frac1 * c0->a + frac0 * c1->a); + cx->b = (Uint8)INTEGER(frac1 * c0->b + frac0 * c1->b); + cx->c = (Uint8)INTEGER(frac1 * c0->c + frac0 * c1->c); + cx->d = (Uint8)INTEGER(frac1 * c0->d + frac0 * c1->d); #endif } @@ -375,7 +375,7 @@ static SDL_INLINE void SDL_TARGETING("sse2") INTERPOL_BILINEAR_SSE(const Uint32 int f, f2; f = frac_w; f2 = FRAC_ONE - frac_w; - v_frac_w0 = _mm_set_epi16(f, f2, f, f2, f, f2, f, f2); + v_frac_w0 = _mm_set_epi16((short)f, (short)f2, (short)f, (short)f2, (short)f, (short)f2, (short)f, (short)f2); x_00_01 = _mm_loadl_epi64((const __m128i *)s0); /* Load x00 and x01 */ x_10_11 = _mm_loadl_epi64((const __m128i *)s1); @@ -418,8 +418,8 @@ static int SDL_TARGETING("sse2") scale_mat_SSE(const Uint32 *src, int src_w, int nb_block2 = middle / 2; - v_frac_h0 = _mm_set_epi16(frac_h0, frac_h0, frac_h0, frac_h0, frac_h0, frac_h0, frac_h0, frac_h0); - v_frac_h1 = _mm_set_epi16(frac_h1, frac_h1, frac_h1, frac_h1, frac_h1, frac_h1, frac_h1, frac_h1); + v_frac_h0 = _mm_set_epi16((short)frac_h0, (short)frac_h0, (short)frac_h0, (short)frac_h0, (short)frac_h0, (short)frac_h0, (short)frac_h0, (short)frac_h0); + v_frac_h1 = _mm_set_epi16((short)frac_h1, (short)frac_h1, (short)frac_h1, (short)frac_h1, (short)frac_h1, (short)frac_h1, (short)frac_h1, (short)frac_h1); zero = _mm_setzero_si128(); while (left_pad_w--) { @@ -460,11 +460,11 @@ static int SDL_TARGETING("sse2") scale_mat_SSE(const Uint32 *src, int src_w, int f = frac_w_0; f2 = FRAC_ONE - frac_w_0; - v_frac_w0 = _mm_set_epi16(f, f2, f, f2, f, f2, f, f2); + v_frac_w0 = _mm_set_epi16((short)f, (short)f2, (short)f, (short)f2, (short)f, (short)f2, (short)f, (short)f2); f = frac_w_1; f2 = FRAC_ONE - frac_w_1; - v_frac_w1 = _mm_set_epi16(f, f2, f, f2, f, f2, f, f2); + v_frac_w1 = _mm_set_epi16((short)f, (short)f2, (short)f, (short)f2, (short)f, (short)f2, (short)f, (short)f2); x_00_01 = _mm_loadl_epi64((const __m128i *)s_00_01); /* Load x00 and x01 */ x_02_03 = _mm_loadl_epi64((const __m128i *)s_02_03); diff --git a/src/video/SDL_surface.c b/src/video/SDL_surface.c index cb0fc9361a..9a67d33892 100644 --- a/src/video/SDL_surface.c +++ b/src/video/SDL_surface.c @@ -1105,7 +1105,7 @@ SDL_ConvertSurface(SDL_Surface *surface, const SDL_PixelFormat *format) SDL_Rect bounds; int ret; SDL_bool palette_ck_transform = SDL_FALSE; - int palette_ck_value = 0; + Uint8 palette_ck_value = 0; SDL_bool palette_has_alpha = SDL_FALSE; Uint8 *palette_saved_alpha = NULL; int palette_saved_alpha_ncolors = 0; diff --git a/src/video/windows/SDL_windowsmessagebox.c b/src/video/windows/SDL_windowsmessagebox.c index d95a6f7a3d..d49b40b9c1 100644 --- a/src/video/windows/SDL_windowsmessagebox.c +++ b/src/video/windows/SDL_windowsmessagebox.c @@ -414,8 +414,8 @@ static void Vec2ToDLU(short *x, short *y) { SDL_assert(s_BaseUnitsX != 0); /* we init in WIN_ShowMessageBox(), which is the only public function... */ - *x = MulDiv(*x, 4, s_BaseUnitsX); - *y = MulDiv(*y, 8, s_BaseUnitsY); + *x = (short)MulDiv(*x, 4, s_BaseUnitsX); + *y = (short)MulDiv(*y, 8, s_BaseUnitsY); } static SDL_bool AddDialogControl(WIN_DialogData *dialog, WORD type, DWORD style, DWORD exStyle, int x, int y, int w, int h, int id, const char *caption, WORD ordinal) @@ -427,10 +427,10 @@ static SDL_bool AddDialogControl(WIN_DialogData *dialog, WORD type, DWORD style, SDL_zero(item); item.style = style; item.exStyle = exStyle; - item.x = x; - item.y = y; - item.cx = w; - item.cy = h; + item.x = (short)x; + item.y = (short)y; + item.cx = (short)w; + item.cy = (short)h; item.id = id; Vec2ToDLU(&item.x, &item.y); @@ -516,8 +516,8 @@ static WIN_DialogData *CreateDialogData(int w, int h, const char *caption) dialogTemplate.style = (WS_CAPTION | DS_CENTER | DS_SHELLFONT); dialogTemplate.x = 0; dialogTemplate.y = 0; - dialogTemplate.cx = w; - dialogTemplate.cy = h; + dialogTemplate.cx = (short)w; + dialogTemplate.cy = (short)h; Vec2ToDLU(&dialogTemplate.cx, &dialogTemplate.cy); dialog = (WIN_DialogData *)SDL_calloc(1, sizeof(*dialog)); diff --git a/src/video/windows/SDL_windowsopengl.c b/src/video/windows/SDL_windowsopengl.c index 2e48e2dd4e..88e92fffa3 100644 --- a/src/video/windows/SDL_windowsopengl.c +++ b/src/video/windows/SDL_windowsopengl.c @@ -249,25 +249,24 @@ static void WIN_GL_SetupPixelFormat(_THIS, PIXELFORMATDESCRIPTOR *pfd) } pfd->iLayerType = PFD_MAIN_PLANE; pfd->iPixelType = PFD_TYPE_RGBA; - pfd->cRedBits = _this->gl_config.red_size; - pfd->cGreenBits = _this->gl_config.green_size; - pfd->cBlueBits = _this->gl_config.blue_size; - pfd->cAlphaBits = _this->gl_config.alpha_size; + pfd->cRedBits = (BYTE)_this->gl_config.red_size; + pfd->cGreenBits = (BYTE)_this->gl_config.green_size; + pfd->cBlueBits = (BYTE)_this->gl_config.blue_size; + pfd->cAlphaBits = (BYTE)_this->gl_config.alpha_size; if (_this->gl_config.buffer_size) { - pfd->cColorBits = - _this->gl_config.buffer_size - _this->gl_config.alpha_size; + pfd->cColorBits = (BYTE)(_this->gl_config.buffer_size - _this->gl_config.alpha_size); } else { pfd->cColorBits = (pfd->cRedBits + pfd->cGreenBits + pfd->cBlueBits); } - pfd->cAccumRedBits = _this->gl_config.accum_red_size; - pfd->cAccumGreenBits = _this->gl_config.accum_green_size; - pfd->cAccumBlueBits = _this->gl_config.accum_blue_size; - pfd->cAccumAlphaBits = _this->gl_config.accum_alpha_size; + pfd->cAccumRedBits = (BYTE)_this->gl_config.accum_red_size; + pfd->cAccumGreenBits = (BYTE)_this->gl_config.accum_green_size; + pfd->cAccumBlueBits = (BYTE)_this->gl_config.accum_blue_size; + pfd->cAccumAlphaBits = (BYTE)_this->gl_config.accum_alpha_size; pfd->cAccumBits = (pfd->cAccumRedBits + pfd->cAccumGreenBits + pfd->cAccumBlueBits + pfd->cAccumAlphaBits); - pfd->cDepthBits = _this->gl_config.depth_size; - pfd->cStencilBits = _this->gl_config.stencil_size; + pfd->cDepthBits = (BYTE)_this->gl_config.depth_size; + pfd->cStencilBits = (BYTE)_this->gl_config.stencil_size; } /* Choose the closest pixel format that meets or exceeds the target.