Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

True-color rendering #132

Draft
wants to merge 13 commits into
base: master
Choose a base branch
from
Prev Previous commit
Next Next commit
Use bitwise OR instead of addition where prudent
MrAlaux committed Jan 15, 2025

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
commit 37f4cb72500342f21bb18251a2827d260765a24c
4 changes: 2 additions & 2 deletions src/st_stuff.c
Original file line number Diff line number Diff line change
@@ -1837,8 +1837,8 @@
if (truecolor_rendering)
{
col = ((r / 2) << PIXEL_RED_SHIFT)
+ ((g / 2) << PIXEL_GREEN_SHIFT)
+ ((b / 2) << PIXEL_BLUE_SHIFT);
| ((g / 2) << PIXEL_GREEN_SHIFT)
| ((b / 2) << PIXEL_BLUE_SHIFT);
}
else
{
@@ -3239,7 +3239,7 @@
if ((lumpnum = (W_CheckNumForName)("NHTPRCNT", ns_global)) >= 0)
{
tnum.percent = V_CachePatchNum(lumpnum, PU_STATIC);
maxwidth = MAX(maxwidth, SHORT(tnum.percent->width));

Check warning on line 3242 in src/st_stuff.c

GitHub Actions / Clang-Tidy

src/st_stuff.c:3242:5 [clang-analyzer-deadcode.DeadStores]

Value stored to 'maxwidth' is never read
maxheight = MAX(maxheight, SHORT(tnum.percent->height));
}
else { goto no_nhtnum; }
@@ -3272,7 +3272,7 @@
if ((lumpnum = (W_CheckNumForName)("STTPRCNT", ns_global)) >= 0)
{
tnum.percent = V_CachePatchNum(lumpnum, PU_STATIC);
maxwidth = MAX(maxwidth, SHORT(tnum.percent->width));

Check warning on line 3275 in src/st_stuff.c

GitHub Actions / Clang-Tidy

src/st_stuff.c:3275:5 [clang-analyzer-deadcode.DeadStores]

Value stored to 'maxwidth' is never read
maxheight = MAX(maxheight, SHORT(tnum.percent->height));
}

@@ -3306,7 +3306,7 @@
if ((lumpnum = (W_CheckNumForName)("NHRMINUS", ns_global)) >= 0)
{
rnum.minus = V_CachePatchNum(lumpnum, PU_STATIC);
maxwidth = MAX(maxwidth, SHORT(rnum.minus->width));

Check warning on line 3309 in src/st_stuff.c

GitHub Actions / Clang-Tidy

src/st_stuff.c:3309:5 [clang-analyzer-deadcode.DeadStores]

Value stored to 'maxwidth' is never read
maxheight = MAX(maxheight, SHORT(rnum.minus->height));
}
else { goto no_nhrnum; }
@@ -3315,7 +3315,7 @@

no_nhrnum:

maxwidth = tnum.monowidth;

Check warning on line 3318 in src/st_stuff.c

GitHub Actions / Clang-Tidy

src/st_stuff.c:3318:3 [clang-analyzer-deadcode.DeadStores]

Value stored to 'maxwidth' is never read
maxheight = tnum.maxheight;

for (int i = 0; i < 10; i++)
6 changes: 3 additions & 3 deletions src/v_video.c
Original file line number Diff line number Diff line change
@@ -244,9 +244,9 @@ void V_InitPalsColors(void)
// Calculate final color values
pc[j] = ((byte) ((a_hi * channels[0]) + (a_lo * channels[1]) + (a_lo * channels[2]))
<< PIXEL_RED_SHIFT)
+ ((byte) ((a_lo * channels[0]) + (a_hi * channels[1]) + (a_lo * channels[2]))
| ((byte) ((a_lo * channels[0]) + (a_hi * channels[1]) + (a_lo * channels[2]))
<< PIXEL_GREEN_SHIFT)
+ ((byte) ((a_lo * channels[0]) + (a_lo * channels[1]) + (a_hi * channels[2]))
| ((byte) ((a_lo * channels[0]) + (a_lo * channels[1]) + (a_hi * channels[2]))
<< PIXEL_BLUE_SHIFT);
}
}
@@ -267,7 +267,7 @@ pixel_t V_ShadeRGB(const pixel_t rgb, const int level, const int maxlevel)
g = g * (maxlevel - level) / maxlevel;
b = b * (maxlevel - level) / maxlevel;

return (r << PIXEL_RED_SHIFT) + (g << PIXEL_GREEN_SHIFT) + (b << PIXEL_BLUE_SHIFT);
return (r << PIXEL_RED_SHIFT) | (g << PIXEL_GREEN_SHIFT) | (b << PIXEL_BLUE_SHIFT);
}

// [Nugget] -----------------------------------------------------------------/
6 changes: 3 additions & 3 deletions src/v_video.h
Original file line number Diff line number Diff line change
@@ -204,7 +204,7 @@ void V_SetPalColors(const int palette_index);

inline static pixel_t V_IndexToRGB(const byte index)
{
return (index << PIXEL_INDEX_SHIFT) + palcolors[index];
return (index << PIXEL_INDEX_SHIFT) | palcolors[index];
}

inline static byte V_IndexFromRGB(const pixel_t rgb)
@@ -242,9 +242,9 @@ inline static pixel_t V_LerpRGB(const pixel_t a, const pixel_t b, const int leve
{
return (((V_RedFromRGB(a) * (maxlevel - level) / maxlevel)
+ (V_RedFromRGB(b) * level / maxlevel)) << PIXEL_RED_SHIFT)
+ (((V_GreenFromRGB(a) * (maxlevel - level) / maxlevel)
| (((V_GreenFromRGB(a) * (maxlevel - level) / maxlevel)
+ (V_GreenFromRGB(b) * level / maxlevel)) << PIXEL_GREEN_SHIFT)
+ (((V_BlueFromRGB(a) * (maxlevel - level) / maxlevel)
| (((V_BlueFromRGB(a) * (maxlevel - level) / maxlevel)
+ (V_BlueFromRGB(b) * level / maxlevel)) << PIXEL_BLUE_SHIFT);
}

Loading