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-error=non-literal-null-conversion
-Wno-error=constant-conversion
-Wno-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
$<$<AND:$<COMPILE_LANGUAGE:CXX>,$<OR:$<C_COMPILER_ID:GNU>,$<C_COMPILER_ID:AppleClang>,$<C_COMPILER_ID:Clang>>>:
-Wall
-Wno-unused-function
-Wno-unused-but-set-variable
-Wno-unused-private-field
>
# 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)
{
UINT8 id = 0;
UINT32 id = 0;
bool unlocked = false;
(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->player != NULL))
{
thread->dataStk.push(info->mo->player->bot);
return false;
}

View file

@ -216,10 +216,10 @@ Wav::Wav(tcb::span<std::byte> data)
switch (read_fmt->bit_width)
{
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;
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;
default:
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 = {
PipelineProgram::kUnshaded,
{{{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
SamplerName::kSampler0}},
std::nullopt,

View file

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

View file

@ -137,7 +137,7 @@ public:
Draw2dQuadBuilder(const Draw2dQuadBuilder&) = delete;
Draw2dQuadBuilder(Draw2dQuadBuilder&&) = default;
Draw2dQuadBuilder& operator=(const Draw2dQuadBuilder&) = delete;
Draw2dQuadBuilder& operator=(Draw2dQuadBuilder&&) = default;
Draw2dQuadBuilder& operator=(Draw2dQuadBuilder&&) = delete;
Draw2dQuadBuilder& rect(float x, float y, float w, float h)
{
@ -218,7 +218,7 @@ public:
Draw2dVerticesBuilder(const Draw2dVerticesBuilder&) = delete;
Draw2dVerticesBuilder(Draw2dVerticesBuilder&&) = default;
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)
{

View file

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

View file

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

View file

@ -1052,14 +1052,14 @@ static inline boolean M_PNGLib(void)
if (!pnglib)
return false;
#ifdef HAVE_SDL
aPNG_set_acTL = hwSym("png_set_acTL", pnglib);
aPNG_write_frame_head = hwSym("png_write_frame_head", pnglib);
aPNG_write_frame_tail = hwSym("png_write_frame_tail", pnglib);
aPNG_set_acTL = (P_png_set_acTL) hwSym("png_set_acTL", pnglib);
aPNG_write_frame_head = (P_png_write_frame_head) hwSym("png_write_frame_head", pnglib);
aPNG_write_frame_tail = (P_png_write_frame_tail) hwSym("png_write_frame_tail", pnglib);
#endif
#ifdef _WIN32
aPNG_set_acTL = GetProcAddress("png_set_acTL", pnglib);
aPNG_write_frame_head = GetProcAddress("png_write_frame_head", pnglib);
aPNG_write_frame_tail = GetProcAddress("png_write_frame_tail", pnglib);
aPNG_set_acTL = (P_png_set_acTL) GetProcAddress("png_set_acTL", pnglib);
aPNG_write_frame_head = (P_png_write_frame_head) GetProcAddress("png_write_frame_head", pnglib);
aPNG_write_frame_tail = (P_png_write_frame_tail) GetProcAddress("png_write_frame_tail", pnglib);
#endif
return (aPNG_set_acTL && aPNG_write_frame_head && aPNG_write_frame_tail);
#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_CONST png_uint_32 width = vid.width / 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_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++)
{
row_pointers[y] = malloc(pitch * sizeof(png_byte));
row_pointers[y] = (png_bytep) malloc(pitch * sizeof(png_byte));
for (x = 0; x < width; x++)
row_pointers[y][x] = png_buf[x * 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;
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)
{

View file

@ -20,6 +20,18 @@
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)
{
if (width == width_ && height == height_)

View file

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

View file

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

View file

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

View file

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