From 6e47f538696d4025c61b97d756bd0802ca524366 Mon Sep 17 00:00:00 2001 From: Sylvain Date: Thu, 1 Apr 2021 20:18:05 +0200 Subject: [PATCH] Fix warnings --- src/render/SDL_render.c | 22 ++++++++++++++++------ src/render/software/SDL_render_sw.c | 12 ++++++------ src/render/software/SDL_triangle.c | 2 +- 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/src/render/SDL_render.c b/src/render/SDL_render.c index 123c3a73d..11995032c 100644 --- a/src/render/SDL_render.c +++ b/src/render/SDL_render.c @@ -213,6 +213,16 @@ DebugLogRenderCommands(const SDL_RenderCommand *cmd) (int) cmd->data.draw.b, (int) cmd->data.draw.a, (int) cmd->data.draw.blend, cmd->data.draw.texture); break; + + case SDL_RENDERCMD_GEOMETRY: + SDL_Log(" %u. geometry (first=%u, count=%u, r=%d, g=%d, b=%d, a=%d, blend=%d, tex=%p)", i++, + (unsigned int) cmd->data.draw.first, + (unsigned int) cmd->data.draw.count, + (int) cmd->data.draw.r, (int) cmd->data.draw.g, + (int) cmd->data.draw.b, (int) cmd->data.draw.a, + (int) cmd->data.draw.blend, cmd->data.draw.texture); + break; + } cmd = cmd->next; } @@ -3427,8 +3437,8 @@ SDL_SW_RenderGeometryRaw(SDL_Renderer *renderer, const int debug = 0; int prev[3]; /* Previous triangle vertex indices */ int texw = 0, texh = 0; - SDL_BlendMode blendMode; - Uint8 r, g, b, a; + SDL_BlendMode blendMode = SDL_BLENDMODE_NONE; + Uint8 r = 0, g = 0, b = 0, a = 0; /* Save */ SDL_GetRenderDrawBlendMode(renderer, &blendMode); @@ -3604,10 +3614,10 @@ SDL_SW_RenderGeometryRaw(SDL_Renderer *renderer, if (texture) { uv0_ = (const float *)((const char*)uv + A * uv_stride); uv1_ = (const float *)((const char*)uv + B * uv_stride); - s.x = uv0_[0] * texw; - s.y = uv0_[1] * texh; - s.w = uv1_[0] * texw - s.x; - s.h = uv1_[1] * texh - s.y; + s.x = (int) (uv0_[0] * texw); + s.y = (int) (uv0_[1] * texh); + s.w = (int) (uv1_[0] * texw - s.x); + s.h = (int) (uv1_[1] * texh - s.y); } d.x = xy0_[0]; diff --git a/src/render/software/SDL_render_sw.c b/src/render/software/SDL_render_sw.c index 9bf56981b..47242a495 100644 --- a/src/render/software/SDL_render_sw.c +++ b/src/render/software/SDL_render_sw.c @@ -615,11 +615,11 @@ SW_QueueGeometry(SDL_Renderer *renderer, SDL_RenderCommand *cmd, SDL_Texture *te uv_ = (float *)((char*)uv + j * uv_stride); - ptr->src.x = uv_[0] * texture->w; - ptr->src.y = uv_[1] * texture->h; + ptr->src.x = (int)(uv_[0] * texture->w); + ptr->src.y = (int)(uv_[1] * texture->h); - ptr->dst.x = xy_[0] * scale_x + renderer->viewport.x; - ptr->dst.y = xy_[1] * scale_y + renderer->viewport.y; + ptr->dst.x = (int)(xy_[0] * scale_x + renderer->viewport.x); + ptr->dst.y = (int)(xy_[1] * scale_y + renderer->viewport.y); trianglepoint_2_fixedpoint(&ptr->dst); ptr->color = col_; @@ -646,8 +646,8 @@ SW_QueueGeometry(SDL_Renderer *renderer, SDL_RenderCommand *cmd, SDL_Texture *te xy_ = (float *)((char*)xy + j * xy_stride); col_ = *(SDL_Color *)((char*)color + j * color_stride); - ptr->dst.x = xy_[0] * scale_x + renderer->viewport.x; - ptr->dst.y = xy_[1] * scale_y + renderer->viewport.y; + ptr->dst.x = (int)(xy_[0] * scale_x + renderer->viewport.x); + ptr->dst.y = (int)(xy_[1] * scale_y + renderer->viewport.y); trianglepoint_2_fixedpoint(&ptr->dst); ptr->color = col_; diff --git a/src/render/software/SDL_triangle.c b/src/render/software/SDL_triangle.c index 41fdebfb7..03f4a52a7 100644 --- a/src/render/software/SDL_triangle.c +++ b/src/render/software/SDL_triangle.c @@ -88,7 +88,7 @@ int SDL_FillTriangle(SDL_Surface *dst, const SDL_Point points[3], Uint32 color) #endif /* cross product AB x AC */ -static float cross_product(const SDL_Point *a, const SDL_Point *b, int c_x, int c_y) +static int cross_product(const SDL_Point *a, const SDL_Point *b, int c_x, int c_y) { return (b->x - a->x) * (c_y - a->y) - (b->y - a->y) * (c_x - a->x); }