Add missing files

This commit is contained in:
dP
2024-02-22 02:15:03 +05:30
parent f70c17b002
commit d06acbfe35
2 changed files with 77 additions and 0 deletions

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,34 @@
#ifndef CM_COLOUR_HPP
#define CM_COLOUR_HPP
#include "../blitter/32bpp_base.hpp"
namespace citymania {
extern const uint8_t RGB_TO_M[];
static inline uint8_t GetMForRGB(uint8_t r, uint8_t g, uint8_t b) {
return RGB_TO_M[((uint)(r & 0xf0) >> 4) | ((uint)g & 0xf0) | ((uint)(b & 0xf0) << 4)];
}
static inline Colour Remap32RGB(uint r, uint g, uint b, const byte *remap)
{
return _cur_palette.palette[remap[GetMForRGB(r, g, b)]];
}
static inline Colour Remap32RGBANoCheck(uint r, uint g, uint b, uint a, Colour current, const byte *remap)
{
return Blitter_32bppBase::ComposeColourPANoCheck(Remap32RGB(r, g, b, remap), a, current);
}
static inline Colour Remap32RGBA(uint r, uint g, uint b, uint a, Colour current, const byte *remap)
{
if (a == 255) return Remap32RGB(r, g, b, remap);
return Remap32RGBANoCheck(r, g, b, a, current, remap);
}
} // namespace citymania
#endif