mirror of
				https://github.com/KartKrewDev/RingRacers.git
				synced 2025-10-30 08:01:28 +00:00 
			
		
		
		
	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:
		
						commit
						4786d9f224
					
				
					 16 changed files with 44 additions and 31 deletions
				
			
		| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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)
 | 
			
		||||
	{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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)
 | 
			
		||||
		{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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_)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue