diff --git a/Source/DiabloUI/art.cpp b/Source/DiabloUI/art.cpp index 5e2ee87a6..375c0d7d4 100644 --- a/Source/DiabloUI/art.cpp +++ b/Source/DiabloUI/art.cpp @@ -1,10 +1,9 @@ -#include "art.h" +#include "DiabloUI/art.h" #include #include #include -#include "DiabloUI/art.h" #include "storm/storm.h" #include "utils/display.h" #include "utils/log.hpp" @@ -142,13 +141,13 @@ void LoadMaskedArt(const char *pszFile, Art *art, int frames, int mask) SDLC_SetColorKey(art->surface.get(), mask); } -void LoadArt(Art *art, const BYTE *artData, int w, int h, int frames) +void LoadArt(Art *art, const std::uint8_t *artData, int w, int h, int frames) { constexpr int DefaultArtBpp = 8; constexpr int DefaultArtFormat = SDL_PIXELFORMAT_INDEX8; art->frames = frames; art->surface = ScaleSurfaceToOutput(SDLSurfaceUniquePtr { SDL_CreateRGBSurfaceWithFormatFrom( - const_cast(artData), w, h, DefaultArtBpp, w, DefaultArtFormat) }); + const_cast(artData), w, h, DefaultArtBpp, w, DefaultArtFormat) }); art->logical_width = w; art->frame_height = h / frames; } diff --git a/Source/DiabloUI/art.h b/Source/DiabloUI/art.h index fd6f3cd13..c21c12993 100644 --- a/Source/DiabloUI/art.h +++ b/Source/DiabloUI/art.h @@ -1,6 +1,7 @@ #pragma once -#include "storm/storm.h" +#include + #include "utils/sdl_ptrs.h" namespace devilution { @@ -39,6 +40,6 @@ struct Art { void LoadArt(const char *pszFile, Art *art, int frames = 1, SDL_Color *pPalette = NULL); void LoadMaskedArt(const char *pszFile, Art *art, int frames = 1, int mask = 250); -void LoadArt(Art *art, const BYTE *artData, int w, int h, int frames = 1); +void LoadArt(Art *art, const std::uint8_t *artData, int w, int h, int frames = 1); } // namespace devilution diff --git a/Source/DiabloUI/art_draw.h b/Source/DiabloUI/art_draw.h index cc894cdfc..4a4801882 100644 --- a/Source/DiabloUI/art_draw.h +++ b/Source/DiabloUI/art_draw.h @@ -1,6 +1,7 @@ #pragma once #include "DiabloUI/art.h" +#include "engine.h" namespace devilution { diff --git a/Source/DiabloUI/errorart.cpp b/Source/DiabloUI/errorart.cpp index 70ebcd15b..2391bb61d 100644 --- a/Source/DiabloUI/errorart.cpp +++ b/Source/DiabloUI/errorart.cpp @@ -2,7 +2,7 @@ namespace devilution { -const unsigned char btnData[] = { +const std::uint8_t btnData[] = { // clang-format off 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, @@ -63,7 +63,7 @@ const unsigned char btnData[] = { // clang-format on }; -const unsigned char popupData[] = { +const std::uint8_t popupData[] = { // clang-format off 0xDE, 0xB5, 0xB5, 0xB5, 0xB6, 0xB7, 0xB8, 0xB4, 0xB1, 0xB1, 0xB0, 0xB0, 0xB0, 0xB1, 0xB1, 0xB4, 0xB4, 0xB4, 0xB6, 0xB4, 0xB4, 0xB4, 0xB4, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB8, 0xB7, 0xB6, 0xB5, 0xB5, 0xB4, 0xB4, 0xB1, 0xB1, 0xB0, 0xB0, 0xB0, 0xB1, 0xB1, 0xB4, 0xB4, 0xB4, 0xB1, 0xB1, 0xB0, 0xB0, 0xB0, 0xB1, 0xB1, 0xB4, 0xB4, 0xB4, 0xB6, 0xB4, 0xB4, 0xB4, 0xB4, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB8, 0xB7, 0xB6, 0xB5, 0xB5, 0xB4, 0xB4, 0xB1, 0xB1, 0xB0, 0xB0, 0xB0, 0xB1, 0xB1, 0xB4, 0xB4, 0xB4, 0xB6, 0xB4, 0xB4, 0xB4, 0xB4, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB8, 0xB7, 0xB6, 0xB5, 0xB5, 0xB4, 0xB4, 0xB1, 0xB1, 0xB0, 0xB0, 0xB0, 0xB1, 0xB1, 0xB4, 0xB4, 0xB4, 0xB6, 0xB8, 0xB7, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB8, 0xB7, 0xB6, 0xB5, 0xB5, 0xB4, 0xB4, 0xB1, 0xB1, 0xB0, 0xB0, 0xB0, 0xB1, 0xB1, 0xB4, 0xB4, 0xB4, 0xB6, 0xB4, 0xB4, 0xB4, 0xB4, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB8, 0xB7, 0xB6, 0xB5, 0xB5, 0xB4, 0xB4, 0xB1, 0xB1, 0xB0, 0xB0, 0xB0, 0xB1, 0xB1, 0xB4, 0xB4, 0xB4, 0xB6, 0xB8, 0xB7, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB8, 0xB7, 0xB6, 0xB5, 0xB5, 0xB4, 0xB4, 0xB1, 0xB1, 0xB0, 0xB0, 0xB0, 0xB1, 0xB1, 0xB4, 0xB4, 0xB4, 0xB6, 0xB8, 0xB7, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB8, 0xB7, 0xB6, 0xB5, 0xB5, 0xB4, 0xB4, 0xB1, 0xB1, 0xB0, 0xB0, 0xB0, 0xB1, 0xB1, 0xB4, 0xB4, 0xB4, 0xB6, 0xB4, 0xB4, 0xB4, 0xB4, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB8, 0xB7, 0xB6, 0xB5, 0xB5, 0xB4, 0xB4, 0xB1, 0xB1, 0xB0, 0xB0, 0xB0, 0xB1, 0xB1, 0xB4, 0xB4, 0xB4, 0xB6, 0xB8, 0xB7, 0xB6, 0xB5, 0xB5, 0xB4, 0xB4, 0xB1, 0xB1, 0xB0, 0xB0, 0xB0, 0xB1, 0xB1, 0xB4, 0xB4, 0xB4, 0xB4, 0xB1, 0xB1, 0xB0, 0xB0, 0xB0, 0xB1, 0xB1, 0xB4, 0xB4, 0xB4, 0xB6, 0xB4, 0xB4, 0xB4, 0xB4, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB6, 0xB8, 0xB7, 0xB6, 0xB5, 0xB5, 0xB4, 0xB4, 0xB1, 0xB1, 0xB0, 0xB0, 0xB0, 0xB1, 0xB1, 0xB4, 0xB4, 0xB4, 0xB6, 0xB8, 0xB7, 0xB6, 0xB5, 0xB5, 0xB4, 0xB4, 0xB1, 0xB1, 0xB0, 0xB0, 0xB0, 0xB1, 0xB1, 0xB4, 0xB4, 0xB4, 0xB4, 0xB1, 0xB1, 0xB0, 0xB0, 0xB0, 0xB1, 0xB1, 0xB4, 0xB4, 0xB4, 0xB6, 0xB4, 0xB4, 0xB4, 0xB4, 0xB6, 0xB6, 0xB6, 0xB6, 0xB8, 0xB7, 0xB6, 0xB5, 0xB5, 0xB5, 0xDE, 0xDC, 0xB5, 0xBE, 0xBE, 0xBE, 0xBE, 0xB7, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xB1, 0xB0, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xB1, 0xB0, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xB1, 0xB0, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xB1, 0xB1, 0xB0, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xB1, 0xB0, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xB1, 0xB0, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xB1, 0xB0, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xBE, 0xB7, 0xBE, 0xBE, 0xBE, 0xBE, 0xB5, 0xDC, diff --git a/Source/DiabloUI/errorart.h b/Source/DiabloUI/errorart.h index 60774647a..9dc2bcd70 100644 --- a/Source/DiabloUI/errorart.h +++ b/Source/DiabloUI/errorart.h @@ -1,8 +1,12 @@ #pragma once +#include + +#include "engine.h" + namespace devilution { -extern const unsigned char btnData[]; -extern const unsigned char popupData[]; +extern const std::uint8_t btnData[]; +extern const std::uint8_t popupData[]; } // namespace devilution diff --git a/Source/dx.cpp b/Source/dx.cpp index a49443e21..56c32683d 100644 --- a/Source/dx.cpp +++ b/Source/dx.cpp @@ -185,8 +185,10 @@ void dx_cleanup() pal_surface = nullptr; SDL_FreePalette(palette); SDL_FreeSurface(renderer_texture_surface); +#ifndef USE_SDL1 SDL_DestroyTexture(texture); SDL_DestroyRenderer(renderer); +#endif SDL_DestroyWindow(ghMainWnd); } diff --git a/Source/engine/render/text_render.hpp b/Source/engine/render/text_render.hpp index 88b8ee4d8..5396c235e 100644 --- a/Source/engine/render/text_render.hpp +++ b/Source/engine/render/text_render.hpp @@ -11,6 +11,7 @@ #include "DiabloUI/ui_item.h" #include "engine.h" +#include "utils/stdcompat/optional.hpp" namespace devilution { diff --git a/Source/utils/sdl2_to_1_2_backports.h b/Source/utils/sdl2_to_1_2_backports.h index d07961cf2..8979e83d7 100644 --- a/Source/utils/sdl2_to_1_2_backports.h +++ b/Source/utils/sdl2_to_1_2_backports.h @@ -11,7 +11,6 @@ #include "utils/attributes.h" #include "utils/console.h" -#include "utils/stubs.h" #define WINDOW_ICON_NAME 0 @@ -174,22 +173,10 @@ SDL_WarpMouseInWindow(SDL_Window *window, int x, int y) #define SDL_Renderer void -inline void SDL_DestroyRenderer(SDL_Renderer *renderer) -{ - if (renderer != NULL) - UNIMPLEMENTED(); -} - //= Texture stubs #define SDL_Texture void -inline void SDL_DestroyTexture(SDL_Texture *texture) -{ - if (texture != NULL) - UNIMPLEMENTED(); -} - //= Palette handling inline SDL_Palette * diff --git a/Source/utils/stubs.h b/Source/utils/stubs.h index 624d946ac..2e10306d6 100644 --- a/Source/utils/stubs.h +++ b/Source/utils/stubs.h @@ -1,23 +1,21 @@ #pragma once -#include -#include -#include +#include "utils/log.hpp" -#define UNIMPLEMENTED() \ - do { \ - SDL_Log("UNIMPLEMENTED: %s @ %s:%i", __FUNCTION__, __FILE__, __LINE__); \ - abort(); \ +#define UNIMPLEMENTED() \ + do { \ + ::devilution::LogDebug("UNIMPLEMENTED: {} @ {}:{}", __FUNCTION__, __FILE__, __LINE__); \ + abort(); \ } while (0) -#define ABORT() \ - do { \ - SDL_Log("ABORT: %s @ %s:%i", __FUNCTION__, __FILE__, __LINE__); \ - abort(); \ +#define ABORT() \ + do { \ + ::devilution::LogCritical("ABORT: {} @ {}:{}", __FUNCTION__, __FILE__, __LINE__); \ + abort(); \ } while (0) -#define ASSERT(x) \ - if (!(x)) { \ - SDL_Log("Assertion failed in %s:%i: %s", __FILE__, __LINE__, #x); \ - abort(); \ +#define ASSERT(x) \ + if (!(x)) { \ + ::devilution::LogCritical("Assertion failed in {}:{}: {}", __FILE__, __LINE__, #x); \ + abort(); \ }