mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Merge branch 'shrink-darken-subtract' into 'master'
Shrink lighting improvement Closes #1400 See merge request KartKrew/Kart!2381
This commit is contained in:
commit
0cd3cac8a8
1 changed files with 24 additions and 3 deletions
|
|
@ -41,12 +41,33 @@ void R_CheckDebugHighlight(debugrender_highlight_t k)
|
||||||
|
|
||||||
INT32 R_AdjustLightLevel(INT32 light)
|
INT32 R_AdjustLightLevel(INT32 light)
|
||||||
{
|
{
|
||||||
constexpr fixed_t kRange = (LIGHTLEVELS - 1) * FRACUNIT;
|
constexpr INT32 kRangeCoarse = (LIGHTLEVELS - 1);
|
||||||
|
constexpr fixed_t kRange = kRangeCoarse * FRACUNIT;
|
||||||
|
|
||||||
if (!debugrender_highlight && cv_debugrender_contrast.value == 0)
|
if (!debugrender_highlight && cv_debugrender_contrast.value == 0)
|
||||||
{
|
{
|
||||||
const fixed_t darken = FixedMul(FixedMul(g_darkness.value[R_GetViewNumber()], mapheaderinfo[gamemap-1]->darkness), kRange);
|
const fixed_t darken = FixedMul(
|
||||||
return std::clamp<size_t>((light * FRACUNIT) - darken, 0, kRange) / FRACUNIT;
|
FixedMul(
|
||||||
|
g_darkness.value[ R_GetViewNumber() ],
|
||||||
|
mapheaderinfo[gamemap-1]->darkness
|
||||||
|
),
|
||||||
|
kRange
|
||||||
|
);
|
||||||
|
|
||||||
|
fixed_t factor = FRACUNIT;
|
||||||
|
if (darken > 0)
|
||||||
|
{
|
||||||
|
// Sal: Already dark areas don't need darkened nearly as much.
|
||||||
|
factor = FixedDiv(
|
||||||
|
light * light * light * light,
|
||||||
|
kRangeCoarse * kRangeCoarse * kRangeCoarse * kRangeCoarse
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return std::clamp<size_t>(
|
||||||
|
(light * FRACUNIT) - FixedMul(darken, factor),
|
||||||
|
0, kRange
|
||||||
|
) / FRACUNIT;
|
||||||
}
|
}
|
||||||
|
|
||||||
const fixed_t adjust = FixedMul(cv_debugrender_contrast.value, kRange);
|
const fixed_t adjust = FixedMul(cv_debugrender_contrast.value, kRange);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue