From bd3d17975c0c1040dd315d5205bc68b55cd4b253 Mon Sep 17 00:00:00 2001 From: obligaron Date: Fri, 22 Dec 2023 15:32:50 +0100 Subject: [PATCH] Fix MSVC SDL1 warnings --- Source/engine/assets.hpp | 4 ++++ Source/interfac.cpp | 8 ++++---- Source/interfac.h | 12 +++++++++--- Source/pfile.cpp | 4 ++++ 4 files changed, 21 insertions(+), 7 deletions(-) diff --git a/Source/engine/assets.hpp b/Source/engine/assets.hpp index 6b6f623a1ee..03a135d9a1b 100644 --- a/Source/engine/assets.hpp +++ b/Source/engine/assets.hpp @@ -192,7 +192,11 @@ struct AssetHandle { bool read(void *buffer, size_t len) { +#if SDL_VERSION_ATLEAST(2, 0, 0) return handle->read(handle, buffer, len, 1) == 1; +#else + return handle->read(handle, buffer, static_cast(len), 1) == 1; +#endif } bool seek(long pos) diff --git a/Source/interfac.cpp b/Source/interfac.cpp index 40f9d90fe41..601473e5d2b 100644 --- a/Source/interfac.cpp +++ b/Source/interfac.cpp @@ -46,7 +46,7 @@ const int BarPos[3][2] = { { 53, 37 }, { 53, 421 }, { 53, 37 } }; OptionalOwnedClxSpriteList ArtCutsceneWidescreen; -uint16_t CustomEventsBegin = SDL_USEREVENT; +SdlEventType CustomEventsBegin = SDL_USEREVENT; constexpr uint16_t NumCustomEvents = WM_LAST - WM_FIRST + 1; Cutscenes GetCutSceneFromLevelType(dungeon_type type) @@ -234,17 +234,17 @@ void RegisterCustomEvents() #endif } -bool IsCustomEvent(uint16_t eventType) +bool IsCustomEvent(SdlEventType eventType) { return eventType >= CustomEventsBegin && eventType < CustomEventsBegin + NumCustomEvents; } -interface_mode GetCustomEvent(uint16_t eventType) +interface_mode GetCustomEvent(SdlEventType eventType) { return static_cast(eventType - CustomEventsBegin); } -uint16_t CustomEventToSdlEvent(interface_mode eventType) +SdlEventType CustomEventToSdlEvent(interface_mode eventType) { return CustomEventsBegin + eventType; } diff --git a/Source/interfac.h b/Source/interfac.h index 29ec122b661..eeabe434c5b 100644 --- a/Source/interfac.h +++ b/Source/interfac.h @@ -32,11 +32,17 @@ enum interface_mode : uint8_t { void RegisterCustomEvents(); -bool IsCustomEvent(uint16_t eventType); +#if SDL_VERSION_ATLEAST(2, 0, 0) +using SdlEventType = uint16_t; +#else +using SdlEventType = uint8_t; +#endif -interface_mode GetCustomEvent(uint16_t eventType); +bool IsCustomEvent(SdlEventType eventType); -uint16_t CustomEventToSdlEvent(interface_mode eventType); +interface_mode GetCustomEvent(SdlEventType eventType); + +SdlEventType CustomEventToSdlEvent(interface_mode eventType); enum Cutscenes : uint8_t { CutStart, diff --git a/Source/pfile.cpp b/Source/pfile.cpp index a1d22273409..f2baa6c75ce 100644 --- a/Source/pfile.cpp +++ b/Source/pfile.cpp @@ -286,7 +286,11 @@ void CreateDetailDiffs(std::string_view prefix, std::string_view memoryMapFile, size_t readBytes = static_cast(SDL_RWsize(handle)); std::unique_ptr memoryMapFileData { new std::byte[readBytes] }; +#if SDL_VERSION_ATLEAST(2, 0, 0) SDL_RWread(handle, memoryMapFileData.get(), readBytes, 1); +#else + SDL_RWread(handle, memoryMapFileData.get(), static_cast(readBytes), 1); +#endif SDL_RWclose(handle); const std::string_view buffer(reinterpret_cast(memoryMapFileData.get()), readBytes);