Merge branch 'png-cxx-pointer-casts' into 'master'

Fix several Clang compile warnings

Closes #894

See merge request KartKrew/Kart!1846
This commit is contained in:
Oni 2024-01-17 05:23:26 +00:00
commit 4786d9f224
16 changed files with 44 additions and 31 deletions

View file

@ -517,6 +517,7 @@ target_compile_options(SRB2SDL2 PRIVATE
-Wno-trigraphs -Wno-trigraphs
-Wno-error=non-literal-null-conversion -Wno-error=non-literal-null-conversion
-Wno-error=constant-conversion -Wno-error=constant-conversion
-Wno-unused-but-set-variable
-Wno-error=unused-but-set-variable -Wno-error=unused-but-set-variable
> >
@ -530,6 +531,9 @@ target_compile_options(SRB2SDL2 PRIVATE
# C++, GNU, Clang and Apple Clang # C++, GNU, Clang and Apple Clang
$<$<AND:$<COMPILE_LANGUAGE:CXX>,$<OR:$<C_COMPILER_ID:GNU>,$<C_COMPILER_ID:AppleClang>,$<C_COMPILER_ID:Clang>>>: $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<OR:$<C_COMPILER_ID:GNU>,$<C_COMPILER_ID:AppleClang>,$<C_COMPILER_ID:Clang>>>:
-Wall -Wall
-Wno-unused-function
-Wno-unused-but-set-variable
-Wno-unused-private-field
> >
# C++, MSVC # C++, MSVC

View file

@ -1574,7 +1574,7 @@ bool CallFunc_HaveUnlockableTrigger(ACSVM::Thread *thread, const ACSVM::Word *ar
--------------------------------------------------*/ --------------------------------------------------*/
bool CallFunc_HaveUnlockable(ACSVM::Thread *thread, const ACSVM::Word *argV, ACSVM::Word argC) bool CallFunc_HaveUnlockable(ACSVM::Thread *thread, const ACSVM::Word *argV, ACSVM::Word argC)
{ {
UINT8 id = 0; UINT32 id = 0;
bool unlocked = false; bool unlocked = false;
(void)argC; (void)argC;
@ -1636,7 +1636,7 @@ bool CallFunc_PlayerBot(ACSVM::Thread *thread, const ACSVM::Word *argV, ACSVM::W
&& (info->mo != NULL && P_MobjWasRemoved(info->mo) == false) && (info->mo != NULL && P_MobjWasRemoved(info->mo) == false)
&& (info->mo->player != NULL)) && (info->mo->player != NULL))
{ {
thread->dataStk.push(info->mo->player->bot); thread->dataStk.push(info->mo->player->bot);
return false; return false;
} }

View file

@ -216,10 +216,10 @@ Wav::Wav(tcb::span<std::byte> data)
switch (read_fmt->bit_width) switch (read_fmt->bit_width)
{ {
case 8: case 8:
interleaved_samples = std::move(read_uint8_samples_from_stream(stream, sample_count)); interleaved_samples = read_uint8_samples_from_stream(stream, sample_count);
break; break;
case 16: case 16:
interleaved_samples = std::move(read_int16_samples_from_stream(stream, sample_count)); interleaved_samples = read_int16_samples_from_stream(stream, sample_count);
break; break;
default: default:
throw std::runtime_error("unsupported sample amplitude bit width"); throw std::runtime_error("unsupported sample amplitude bit width");

View file

@ -41,7 +41,7 @@ static const uint16_t kIndices[] = {0, 1, 2, 1, 3, 2};
static const PipelineDesc kUnshadedPipelineDescription = { static const PipelineDesc kUnshadedPipelineDescription = {
PipelineProgram::kUnshaded, PipelineProgram::kUnshaded,
{{{sizeof(BlitVertex)}}, {{VertexAttributeName::kPosition, 0, 0}, {VertexAttributeName::kTexCoord0, 0, 12}}}, {{{sizeof(BlitVertex)}}, {{VertexAttributeName::kPosition, 0, 0}, {VertexAttributeName::kTexCoord0, 0, 12}}},
{{{{UniformName::kProjection}}, {{UniformName::kModelView, UniformName::kTexCoord0Transform}}}}, {{{UniformName::kProjection}, {{UniformName::kModelView, UniformName::kTexCoord0Transform}}}},
{{// RGB/A texture {{// RGB/A texture
SamplerName::kSampler0}}, SamplerName::kSampler0}},
std::nullopt, std::nullopt,

View file

@ -23,7 +23,7 @@ static const PipelineDesc kPipelineDesc = {
{{VertexAttributeName::kPosition, 0, 0}, {{VertexAttributeName::kPosition, 0, 0},
{VertexAttributeName::kTexCoord0, 0, 12}, {VertexAttributeName::kTexCoord0, 0, 12},
{VertexAttributeName::kColor, 0, 24}}}, {VertexAttributeName::kColor, 0, 24}}},
{{{{UniformName::kProjection}}, {{UniformName::kModelView, UniformName::kTexCoord0Transform}}}}, {{{UniformName::kProjection}, {{UniformName::kModelView, UniformName::kTexCoord0Transform}}}},
{{SamplerName::kSampler0}}, {{SamplerName::kSampler0}},
PipelineDepthStencilStateDesc {true, true, CompareFunc::kAlways, false, {}, {}}, PipelineDepthStencilStateDesc {true, true, CompareFunc::kAlways, false, {}, {}},
{BlendDesc { {BlendDesc {
@ -200,7 +200,7 @@ void ImguiPass::transfer(Rhi& rhi, Handle<GraphicsContext> ctx)
for (auto& draw_cmd : draw_list.cmds) for (auto& draw_cmd : draw_list.cmds)
{ {
// Binding set // Binding set
std::array<rhi::VertexAttributeBufferBinding, 1> vbos = {{0, vbo}}; std::array<rhi::VertexAttributeBufferBinding, 1> vbos = {{{0, vbo}}};
std::array<rhi::TextureBinding, 1> tbs = {{{rhi::SamplerName::kSampler0, draw_cmd.tex}}}; std::array<rhi::TextureBinding, 1> tbs = {{{rhi::SamplerName::kSampler0, draw_cmd.tex}}};
rhi::Handle<rhi::BindingSet> binding_set = rhi.create_binding_set(ctx, pipeline_, {vbos, tbs}); rhi::Handle<rhi::BindingSet> binding_set = rhi.create_binding_set(ctx, pipeline_, {vbos, tbs});
draw_cmd.binding_set = binding_set; draw_cmd.binding_set = binding_set;

View file

@ -137,7 +137,7 @@ public:
Draw2dQuadBuilder(const Draw2dQuadBuilder&) = delete; Draw2dQuadBuilder(const Draw2dQuadBuilder&) = delete;
Draw2dQuadBuilder(Draw2dQuadBuilder&&) = default; Draw2dQuadBuilder(Draw2dQuadBuilder&&) = default;
Draw2dQuadBuilder& operator=(const Draw2dQuadBuilder&) = delete; Draw2dQuadBuilder& operator=(const Draw2dQuadBuilder&) = delete;
Draw2dQuadBuilder& operator=(Draw2dQuadBuilder&&) = default; Draw2dQuadBuilder& operator=(Draw2dQuadBuilder&&) = delete;
Draw2dQuadBuilder& rect(float x, float y, float w, float h) Draw2dQuadBuilder& rect(float x, float y, float w, float h)
{ {
@ -218,7 +218,7 @@ public:
Draw2dVerticesBuilder(const Draw2dVerticesBuilder&) = delete; Draw2dVerticesBuilder(const Draw2dVerticesBuilder&) = delete;
Draw2dVerticesBuilder(Draw2dVerticesBuilder&&) = default; Draw2dVerticesBuilder(Draw2dVerticesBuilder&&) = default;
Draw2dVerticesBuilder& operator=(const Draw2dVerticesBuilder&) = delete; Draw2dVerticesBuilder& operator=(const Draw2dVerticesBuilder&) = delete;
Draw2dVerticesBuilder& operator=(Draw2dVerticesBuilder&&) = default; Draw2dVerticesBuilder& operator=(Draw2dVerticesBuilder&&) = delete;
Draw2dVerticesBuilder& vert(float x, float y, float u = 0, float v = 0) Draw2dVerticesBuilder& vert(float x, float y, float u = 0, float v = 0)
{ {

View file

@ -104,7 +104,7 @@ static PipelineDesc make_pipeline_desc(TwodeePipelineKey key)
return { return {
PipelineProgram::kUnshadedPaletted, PipelineProgram::kUnshadedPaletted,
kTwodeeVertexInput, kTwodeeVertexInput,
{{{{UniformName::kProjection}}, {{{UniformName::kProjection},
{{UniformName::kModelView, UniformName::kTexCoord0Transform, UniformName::kSampler0IsIndexedAlpha}}}}, {{UniformName::kModelView, UniformName::kTexCoord0Transform, UniformName::kSampler0IsIndexedAlpha}}}},
{{SamplerName::kSampler0, SamplerName::kSampler1, SamplerName::kSampler2}}, {{SamplerName::kSampler0, SamplerName::kSampler1, SamplerName::kSampler2}},
std::nullopt, std::nullopt,

View file

@ -5632,7 +5632,7 @@ typedef struct
sfxenum_t sound; sfxenum_t sound;
} message_t; } message_t;
typedef struct struct messagestate_t
{ {
std::deque<std::string> messages; std::deque<std::string> messages;
tic_t timer = 0; tic_t timer = 0;
@ -5658,7 +5658,7 @@ typedef struct
} }
void tick() void tick()
{ {
if (messages.size() == 0) if (messages.size() == 0)
return; return;
@ -5693,7 +5693,7 @@ typedef struct
messages.pop_front(); messages.pop_front();
} }
} messagestate_t; };
static std::vector<messagestate_t> messagestates{MAXSPLITSCREENPLAYERS}; static std::vector<messagestate_t> messagestates{MAXSPLITSCREENPLAYERS};

View file

@ -900,7 +900,7 @@ static patch_t *g_exclamation = NULL;
static patch_t *g_exclamationLoop[ZVOTE_PATCH_EXC_LOOP] = {NULL}; static patch_t *g_exclamationLoop[ZVOTE_PATCH_EXC_LOOP] = {NULL};
static patch_t *g_zBar[2] = {NULL}; static patch_t *g_zBar[2] = {NULL};
static patch_t *g_zBarEnds[2][2][2] = {NULL}; static patch_t *g_zBarEnds[2][2][2] = {{{NULL}}};
void K_UpdateMidVotePatches(void) void K_UpdateMidVotePatches(void)
{ {

View file

@ -1052,14 +1052,14 @@ static inline boolean M_PNGLib(void)
if (!pnglib) if (!pnglib)
return false; return false;
#ifdef HAVE_SDL #ifdef HAVE_SDL
aPNG_set_acTL = hwSym("png_set_acTL", pnglib); aPNG_set_acTL = (P_png_set_acTL) hwSym("png_set_acTL", pnglib);
aPNG_write_frame_head = hwSym("png_write_frame_head", pnglib); aPNG_write_frame_head = (P_png_write_frame_head) hwSym("png_write_frame_head", pnglib);
aPNG_write_frame_tail = hwSym("png_write_frame_tail", pnglib); aPNG_write_frame_tail = (P_png_write_frame_tail) hwSym("png_write_frame_tail", pnglib);
#endif #endif
#ifdef _WIN32 #ifdef _WIN32
aPNG_set_acTL = GetProcAddress("png_set_acTL", pnglib); aPNG_set_acTL = (P_png_set_acTL) GetProcAddress("png_set_acTL", pnglib);
aPNG_write_frame_head = GetProcAddress("png_write_frame_head", pnglib); aPNG_write_frame_head = (P_png_write_frame_head) GetProcAddress("png_write_frame_head", pnglib);
aPNG_write_frame_tail = GetProcAddress("png_write_frame_tail", pnglib); aPNG_write_frame_tail = (P_png_write_frame_tail) GetProcAddress("png_write_frame_tail", pnglib);
#endif #endif
return (aPNG_set_acTL && aPNG_write_frame_head && aPNG_write_frame_tail); return (aPNG_set_acTL && aPNG_write_frame_head && aPNG_write_frame_tail);
#endif #endif
@ -1072,7 +1072,7 @@ static void M_PNGFrame(png_structp png_ptr, png_infop png_info_ptr, png_bytep pn
png_uint_32 pitch = png_get_rowbytes(png_ptr, png_info_ptr); png_uint_32 pitch = png_get_rowbytes(png_ptr, png_info_ptr);
PNG_CONST png_uint_32 width = vid.width / downscale; PNG_CONST png_uint_32 width = vid.width / downscale;
PNG_CONST png_uint_32 height = vid.height / downscale; PNG_CONST png_uint_32 height = vid.height / downscale;
png_bytepp row_pointers = png_malloc(png_ptr, height * sizeof (png_bytep)); png_bytepp row_pointers = (png_bytepp) png_malloc(png_ptr, height * sizeof (png_bytep));
png_uint_32 x, y; png_uint_32 x, y;
png_uint_16 framedelay = (png_uint_16)cv_apng_delay.value; png_uint_16 framedelay = (png_uint_16)cv_apng_delay.value;
@ -1080,7 +1080,7 @@ static void M_PNGFrame(png_structp png_ptr, png_infop png_info_ptr, png_bytep pn
for (y = 0; y < height; y++) for (y = 0; y < height; y++)
{ {
row_pointers[y] = malloc(pitch * sizeof(png_byte)); row_pointers[y] = (png_bytep) malloc(pitch * sizeof(png_byte));
for (x = 0; x < width; x++) for (x = 0; x < width; x++)
row_pointers[y][x] = png_buf[x * downscale]; row_pointers[y][x] = png_buf[x * downscale];
png_buf += pitch * (downscale * downscale); png_buf += pitch * (downscale * downscale);

View file

@ -57,7 +57,7 @@ consvar_t Options::values(const char* default_value, const Range<T> range, std::
const std::size_t min_max_size = (range.min || range.max) ? 2 : 0; const std::size_t min_max_size = (range.min || range.max) ? 2 : 0;
auto* arr = new CV_PossibleValue_t[list.size() + min_max_size + 1]; auto* arr = new CV_PossibleValue_t[list.size() + min_max_size + 1];
auto cast = [is_float](T n) auto cast = [](T n)
{ {
if constexpr (is_float) if constexpr (is_float)
{ {

View file

@ -20,6 +20,18 @@
using namespace srb2::media; using namespace srb2::media;
YUV420pFrame::YUV420pFrame(int pts, Buffer y, Buffer u, Buffer v, const BufferRGBA& rgba)
: VideoFrame(pts)
, y_(y)
, u_(u)
, v_(v)
, rgba_(&rgba)
{
}
YUV420pFrame::~YUV420pFrame() = default;
bool YUV420pFrame::BufferRGBA::resize(int width, int height) bool YUV420pFrame::BufferRGBA::resize(int width, int height)
{ {
if (width == width_ && height == height_) if (width == width_ && height == height_)

View file

@ -41,12 +41,9 @@ public:
std::vector<uint8_t> vec_; std::vector<uint8_t> vec_;
}; };
YUV420pFrame(int pts, Buffer y, Buffer u, Buffer v, const BufferRGBA& rgba) : YUV420pFrame(int pts, Buffer y, Buffer u, Buffer v, const BufferRGBA& rgba);
VideoFrame(pts), y_(y), u_(u), v_(v), rgba_(&rgba)
{
}
~YUV420pFrame() = default; virtual ~YUV420pFrame();
// Simply resets PTS and RGBA buffer while keeping YUV // Simply resets PTS and RGBA buffer while keeping YUV
// buffers intact. // buffers intact.

View file

@ -5070,7 +5070,7 @@ sector_t *P_FindPlayerTrigger(player_t *player, line_t *sourceline)
return loopsector; return loopsector;
} }
return false; return NULL;
} }
boolean P_IsPlayerValid(size_t playernum) boolean P_IsPlayerValid(size_t playernum)

View file

@ -363,7 +363,7 @@ void* operator new(size_t count)
return p; return p;
} }
void operator delete(void* ptr) void operator delete(void* ptr) noexcept
{ {
TracyFree(ptr); TracyFree(ptr);
free(ptr); free(ptr);

View file

@ -1809,7 +1809,7 @@ void I_Error(const char *error, ...)
W_Shutdown(); W_Shutdown();
#if defined (PARANOIA) || defined (DEVELOP) #if defined (PARANOIA) || defined (DEVELOP)
*(INT32 *)0 = 4; //Alam: Debug! *(volatile INT32 *)0 = 4; //Alam: Debug!
#endif #endif
exit(-1); exit(-1);