From 34ee6c994578e3f90539f36d32bd9f7cf0961574 Mon Sep 17 00:00:00 2001 From: scawful Date: Tue, 6 Aug 2024 22:46:05 -0400 Subject: [PATCH] add base snes_color for clib --- src/app/gfx/snes_color.h | 15 +++------------ src/app/gfx/snes_palette.cc | 4 ++-- src/base/snes_color.h | 24 ++++++++++++++++++++++++ 3 files changed, 29 insertions(+), 14 deletions(-) create mode 100644 src/base/snes_color.h diff --git a/src/app/gfx/snes_color.h b/src/app/gfx/snes_color.h index dcaea639..8ac5e764 100644 --- a/src/app/gfx/snes_color.h +++ b/src/app/gfx/snes_color.h @@ -1,25 +1,16 @@ #ifndef YAZE_APP_GFX_SNES_COLOR_H_ #define YAZE_APP_GFX_SNES_COLOR_H_ -#include "imgui/imgui.h" - #include #include +#include "base/snes_color.h" +#include "imgui/imgui.h" + namespace yaze { namespace app { namespace gfx { -/** - * @brief Primitive of 16-bit RGB SNES color. - */ -struct snes_color { - uint16_t red; /**< Red component of the color. */ - uint16_t blue; /**< Blue component of the color. */ - uint16_t green; /**< Green component of the color. */ -}; -typedef struct snes_color snes_color; - snes_color ConvertSNEStoRGB(uint16_t snes_color); uint16_t ConvertRGBtoSNES(const snes_color& color); uint16_t ConvertRGBtoSNES(const ImVec4& color); diff --git a/src/app/gfx/snes_palette.cc b/src/app/gfx/snes_palette.cc index b5388c3d..364302bb 100644 --- a/src/app/gfx/snes_palette.cc +++ b/src/app/gfx/snes_palette.cc @@ -1,7 +1,6 @@ #include "snes_palette.h" #include -#include "imgui/imgui.h" #include #include @@ -15,6 +14,7 @@ #include "absl/status/statusor.h" #include "app/core/constants.h" #include "app/gfx/snes_color.h" +#include "imgui/imgui.h" namespace yaze { namespace app { @@ -307,7 +307,7 @@ SnesPalette ReadPaletteFromRom(int offset, int num_colors, const uchar* rom) { while (color_offset < num_colors) { short color = (ushort)((rom[offset + 1]) << 8) | rom[offset]; - gfx::snes_color new_color; + snes_color new_color; new_color.red = (color & 0x1F) * 8; new_color.green = ((color >> 5) & 0x1F) * 8; new_color.blue = ((color >> 10) & 0x1F) * 8; diff --git a/src/base/snes_color.h b/src/base/snes_color.h new file mode 100644 index 00000000..12d665d2 --- /dev/null +++ b/src/base/snes_color.h @@ -0,0 +1,24 @@ +#ifndef YAZE_BASE_SNES_COLOR_H_ +#define YAZE_BASE_SNES_COLOR_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Primitive of 16-bit RGB SNES color. + */ +struct snes_color { + uint16_t red; /**< Red component of the color. */ + uint16_t blue; /**< Blue component of the color. */ + uint16_t green; /**< Green component of the color. */ +}; +typedef struct snes_color snes_color; + +#ifdef __cplusplus +} +#endif + +#endif // YAZE_BASE_SNES_COLOR_H_ \ No newline at end of file