Refactor color conversion logic for improved accuracy and consistency

- Updated color channel assignments in ConvertRgbToSnes and SnesColor constructor to remove unnecessary static_cast, enhancing clarity and ensuring correct value usage.
- Simplified namespace declaration in snes_palette.cc for better readability.
- Changed Paletteset constructor parameters to use const references, improving performance and consistency in object handling.
This commit is contained in:
scawful
2025-05-26 13:55:38 -04:00
parent 006624c0d8
commit e05e59fb14
4 changed files with 13 additions and 14 deletions

View File

@@ -39,9 +39,9 @@ uint16_t ConvertRgbToSnes(const snes_color& color) {
uint16_t ConvertRgbToSnes(const ImVec4& color) {
snes_color new_color;
new_color.red = static_cast<uint8_t>(color.x) * kColorByteMax;
new_color.green = static_cast<uint8_t>(color.y) * kColorByteMax;
new_color.blue = static_cast<uint8_t>(color.z) * kColorByteMax;
new_color.red = color.x * kColorByteMax;
new_color.green = color.y * kColorByteMax;
new_color.blue = color.z * kColorByteMax;
return ConvertRgbToSnes(new_color);
}

View File

@@ -42,9 +42,9 @@ class SnesColor {
explicit SnesColor(const ImVec4 val) : rgb_(val) {
snes_color color;
color.red = static_cast<uint8_t>(val.x) / kColorByteMax;
color.green = static_cast<uint8_t>(val.y) / kColorByteMax;
color.blue = static_cast<uint8_t>(val.z) / kColorByteMax;
color.red = val.x / kColorByteMax;
color.green = val.y / kColorByteMax;
color.blue = val.z / kColorByteMax;
snes_ = ConvertRgbToSnes(color);
}

View File

@@ -14,8 +14,7 @@
#include "imgui/imgui.h"
#include "util/macro.h"
namespace yaze {
namespace gfx {
namespace yaze::gfx {
SnesPalette::SnesPalette(char *data) {
assert((sizeof(data) % 4 == 0) && (sizeof(data) <= 32));
@@ -359,5 +358,4 @@ absl::Status LoadAllPalettes(const std::vector<uint8_t> &rom_data,
std::unordered_map<uint8_t, gfx::Paletteset> GfxContext::palettesets_;
} // namespace gfx
} // namespace yaze
} // namespace yaze::gfx

View File

@@ -395,10 +395,11 @@ struct Paletteset {
* @param spr2 The second sprite palette.
* @param comp The composite palette.
*/
Paletteset(gfx::SnesPalette main, gfx::SnesPalette animated,
gfx::SnesPalette aux1, gfx::SnesPalette aux2,
gfx::SnesColor background, gfx::SnesPalette hud,
gfx::SnesPalette spr, gfx::SnesPalette spr2, gfx::SnesPalette comp)
Paletteset(const gfx::SnesPalette& main, const gfx::SnesPalette& animated,
const gfx::SnesPalette& aux1, const gfx::SnesPalette& aux2,
const gfx::SnesColor& background, const gfx::SnesPalette& hud,
const gfx::SnesPalette& spr, const gfx::SnesPalette& spr2,
const gfx::SnesPalette& comp)
: main_(main),
animated(animated),
aux1(aux1),