summaryrefslogtreecommitdiffhomepage
path: root/src/rtextures.c
diff options
context:
space:
mode:
authorBruno Cabral <[email protected]>2024-07-01 03:24:01 -0700
committerGitHub <[email protected]>2024-07-01 12:24:01 +0200
commitb5473d5ffde38fb0a6f9e31cfaf0fc8d50aaff74 (patch)
treeb4081431fc6c61128053788eb46e261c5ca136b7 /src/rtextures.c
parent9e22fddf1ac54d0075f1b4a5c2bbc819116dfb83 (diff)
downloadraylib-b5473d5ffde38fb0a6f9e31cfaf0fc8d50aaff74.tar.gz
raylib-b5473d5ffde38fb0a6f9e31cfaf0fc8d50aaff74.zip
[rtextures] advance k in LoadImageColors (#4120)
Some formats are not advancing k to get pixels values
Diffstat (limited to 'src/rtextures.c')
-rw-r--r--src/rtextures.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/rtextures.c b/src/rtextures.c
index ccfa12ec..54bf7c6a 100644
--- a/src/rtextures.c
+++ b/src/rtextures.c
@@ -3111,6 +3111,7 @@ Color *LoadImageColors(Image image)
pixels[i].b = 0;
pixels[i].a = 255;
+ k += 1;
} break;
case PIXELFORMAT_UNCOMPRESSED_R32G32B32:
{
@@ -3124,9 +3125,9 @@ Color *LoadImageColors(Image image)
case PIXELFORMAT_UNCOMPRESSED_R32G32B32A32:
{
pixels[i].r = (unsigned char)(((float *)image.data)[k]*255.0f);
- pixels[i].g = (unsigned char)(((float *)image.data)[k]*255.0f);
- pixels[i].b = (unsigned char)(((float *)image.data)[k]*255.0f);
- pixels[i].a = (unsigned char)(((float *)image.data)[k]*255.0f);
+ pixels[i].g = (unsigned char)(((float *)image.data)[k + 1]*255.0f);
+ pixels[i].b = (unsigned char)(((float *)image.data)[k + 2]*255.0f);
+ pixels[i].a = (unsigned char)(((float *)image.data)[k + 3]*255.0f);
k += 4;
} break;
@@ -3137,6 +3138,7 @@ Color *LoadImageColors(Image image)
pixels[i].b = 0;
pixels[i].a = 255;
+ k += 1;
} break;
case PIXELFORMAT_UNCOMPRESSED_R16G16B16:
{
@@ -3150,9 +3152,9 @@ Color *LoadImageColors(Image image)
case PIXELFORMAT_UNCOMPRESSED_R16G16B16A16:
{
pixels[i].r = (unsigned char)(HalfToFloat(((unsigned short *)image.data)[k])*255.0f);
- pixels[i].g = (unsigned char)(HalfToFloat(((unsigned short *)image.data)[k])*255.0f);
- pixels[i].b = (unsigned char)(HalfToFloat(((unsigned short *)image.data)[k])*255.0f);
- pixels[i].a = (unsigned char)(HalfToFloat(((unsigned short *)image.data)[k])*255.0f);
+ pixels[i].g = (unsigned char)(HalfToFloat(((unsigned short *)image.data)[k + 1])*255.0f);
+ pixels[i].b = (unsigned char)(HalfToFloat(((unsigned short *)image.data)[k + 2])*255.0f);
+ pixels[i].a = (unsigned char)(HalfToFloat(((unsigned short *)image.data)[k + 3])*255.0f);
k += 4;
} break;