2025-07-14 18:24:46 -07:00

13 lines
412 B
C

#include <stdint.h>
uint32_t light_apply_intensity(uint32_t original_color, float p) {
if (p < 0) p = 0;
if (p > 1) p = 1;
uint32_t a = (original_color & 0xFF000000);
uint32_t r = (original_color & 0x00FF0000) * p;
uint32_t g = (original_color & 0x0000FF00) * p;
uint32_t b = (original_color & 0x000000FF) * p;
return (a | (r & 0x00FF0000) | (g & 0x0000FF00) | (b & 0x000000FF));
}