diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/constants/rgb.h | 13 | ||||
-rw-r--r-- | include/global.h | 12 |
2 files changed, 22 insertions, 3 deletions
diff --git a/include/constants/rgb.h b/include/constants/rgb.h new file mode 100644 index 000000000..136b74d5e --- /dev/null +++ b/include/constants/rgb.h @@ -0,0 +1,13 @@ +#ifndef POKERUBY_CONSTANTS_RGB_H +#define POKERUBY_CONSTANTS_RGB_H + +#define GET_R(color) ((color) & 0x1F) +#define GET_G(color) (((color) >> 5) & 0x1F) +#define GET_B(color) (((color) >> 10) & 0x1F) + +#define RGB_ALPHA (1 << 15) +#define IS_ALPHA(color) ((color) & RGB_ALPHA) + +#define RGB2(r, g, b) (((b) << 10) | ((g) << 5) | (r)) + +#endif // POKERUBY_CONSTANTS_RGB_H diff --git a/include/global.h b/include/global.h index 7897e20c2..3a26a2c3e 100644 --- a/include/global.h +++ b/include/global.h @@ -96,16 +96,22 @@ enum }) // Converts a number to Q8.8 fixed-point format -#define Q_8_8(n) ((s16)((n) * 256)) +#define Q_8_8(n) ((s16)((n) * 256)) // Converts a number from Q8.8 fixed-point format to integer #define Q_8_8_TO_INT(n) ((s16)((n) >> 8)) // Converts a number to Q4.12 fixed-point format -#define Q_4_12(n) ((s16)((n) * 4096)) +#define Q_4_12(n) ((s16)((n) * 4096)) // Converts a number from Q4.12 fixed-point format to integer -#define Q_4_12_TO_INT(n) ((s16)((n) >> 12)) +#define Q_4_12_TO_INT(n) ((s16)((n) >> 12)) + +// Converts a number to Q24.8 fixed-point format +#define Q_24_8(n) ((s32)((n) * 256)) + +// Converts a number from Q24.8 fixed-point format to integer +#define Q_24_8_TO_INT(x) ((s32)((x) >> 8)) // Credits to Made (dolphin emoji) #define S16TOPOSFLOAT(val) \ |