X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_bd%2Fbd_colors.h;h=15f1e367b7a7bd4977d0e2c431c39914c810370d;hb=3b292f6abf8f677bbfdbd9b583c54113b8e64959;hp=26fd2b6d6d96715b69412aacf7e9d20a1d900818;hpb=93a37840d8ff4a84fc878f148e3abfeecb701821;p=rocksndiamonds.git diff --git a/src/game_bd/bd_colors.h b/src/game_bd/bd_colors.h index 26fd2b6d..15f1e367 100644 --- a/src/game_bd/bd_colors.h +++ b/src/game_bd/bd_colors.h @@ -38,51 +38,97 @@ typedef enum _color_type GD_COLOR_TYPE_UNKNOWN // should be the last one } GdColorType; +#define GD_DEFAULT_COLOR_TYPE GD_COLOR_TYPE_RGB + // traditional c64 color indexes. -#define GD_COLOR_INDEX_BLACK (0) -#define GD_COLOR_INDEX_WHITE (1) -#define GD_COLOR_INDEX_RED (2) -#define GD_COLOR_INDEX_PURPLE (4) -#define GD_COLOR_INDEX_CYAN (3) -#define GD_COLOR_INDEX_GREEN (5) -#define GD_COLOR_INDEX_BLUE (6) -#define GD_COLOR_INDEX_YELLOW (7) -#define GD_COLOR_INDEX_ORANGE (8) -#define GD_COLOR_INDEX_BROWN (9) -#define GD_COLOR_INDEX_LIGHTRED (10) -#define GD_COLOR_INDEX_GRAY1 (11) -#define GD_COLOR_INDEX_GRAY2 (12) -#define GD_COLOR_INDEX_LIGHTGREEN (13) -#define GD_COLOR_INDEX_LIGHTBLUE (14) -#define GD_COLOR_INDEX_GRAY3 (15) - -#define GD_GDASH_BLACK (gd_gdash_color(GD_COLOR_INDEX_BLACK)) -#define GD_GDASH_WHITE (gd_gdash_color(GD_COLOR_INDEX_WHITE)) -#define GD_GDASH_RED (gd_gdash_color(GD_COLOR_INDEX_RED)) -#define GD_GDASH_PURPLE (gd_gdash_color(GD_COLOR_INDEX_PURPLE)) -#define GD_GDASH_CYAN (gd_gdash_color(GD_COLOR_INDEX_CYAN)) -#define GD_GDASH_GREEN (gd_gdash_color(GD_COLOR_INDEX_GREEN)) -#define GD_GDASH_BLUE (gd_gdash_color(GD_COLOR_INDEX_BLUE)) -#define GD_GDASH_YELLOW (gd_gdash_color(GD_COLOR_INDEX_YELLOW)) -#define GD_GDASH_ORANGE (gd_gdash_color(GD_COLOR_INDEX_ORANGE)) -#define GD_GDASH_BROWN (gd_gdash_color(GD_COLOR_INDEX_BROWN)) -#define GD_GDASH_LIGHTRED (gd_gdash_color(GD_COLOR_INDEX_LIGHTRED)) -#define GD_GDASH_GRAY1 (gd_gdash_color(GD_COLOR_INDEX_GRAY1)) -#define GD_GDASH_GRAY2 (gd_gdash_color(GD_COLOR_INDEX_GRAY2)) -#define GD_GDASH_LIGHTGREEN (gd_gdash_color(GD_COLOR_INDEX_LIGHTGREEN)) -#define GD_GDASH_LIGHTBLUE (gd_gdash_color(GD_COLOR_INDEX_LIGHTBLUE)) -#define GD_GDASH_GRAY3 (gd_gdash_color(GD_COLOR_INDEX_GRAY3)) - -#define GD_GDASH_MIDDLEBLUE (gd_gdash_color(16)) - -#define GD_COLOR_INVALID (0xFFFFFFFF) +#define GD_COLOR_INDEX_BLACK 0 +#define GD_COLOR_INDEX_WHITE 1 +#define GD_COLOR_INDEX_RED 2 +#define GD_COLOR_INDEX_CYAN 3 +#define GD_COLOR_INDEX_PURPLE 4 +#define GD_COLOR_INDEX_GREEN 5 +#define GD_COLOR_INDEX_BLUE 6 +#define GD_COLOR_INDEX_YELLOW 7 +#define GD_COLOR_INDEX_ORANGE 8 +#define GD_COLOR_INDEX_BROWN 9 +#define GD_COLOR_INDEX_LIGHTRED 10 +#define GD_COLOR_INDEX_GRAY1 11 +#define GD_COLOR_INDEX_GRAY2 12 +#define GD_COLOR_INDEX_LIGHTGREEN 13 +#define GD_COLOR_INDEX_LIGHTBLUE 14 +#define GD_COLOR_INDEX_GRAY3 15 + +#define GD_GDASH_BLACK gd_gdash_color(GD_COLOR_INDEX_BLACK) +#define GD_GDASH_WHITE gd_gdash_color(GD_COLOR_INDEX_WHITE) +#define GD_GDASH_RED gd_gdash_color(GD_COLOR_INDEX_RED) +#define GD_GDASH_CYAN gd_gdash_color(GD_COLOR_INDEX_CYAN) +#define GD_GDASH_PURPLE gd_gdash_color(GD_COLOR_INDEX_PURPLE) +#define GD_GDASH_GREEN gd_gdash_color(GD_COLOR_INDEX_GREEN) +#define GD_GDASH_BLUE gd_gdash_color(GD_COLOR_INDEX_BLUE) +#define GD_GDASH_YELLOW gd_gdash_color(GD_COLOR_INDEX_YELLOW) +#define GD_GDASH_ORANGE gd_gdash_color(GD_COLOR_INDEX_ORANGE) +#define GD_GDASH_BROWN gd_gdash_color(GD_COLOR_INDEX_BROWN) +#define GD_GDASH_LIGHTRED gd_gdash_color(GD_COLOR_INDEX_LIGHTRED) +#define GD_GDASH_GRAY1 gd_gdash_color(GD_COLOR_INDEX_GRAY1) +#define GD_GDASH_GRAY2 gd_gdash_color(GD_COLOR_INDEX_GRAY2) +#define GD_GDASH_LIGHTGREEN gd_gdash_color(GD_COLOR_INDEX_LIGHTGREEN) +#define GD_GDASH_LIGHTBLUE gd_gdash_color(GD_COLOR_INDEX_LIGHTBLUE) +#define GD_GDASH_GRAY3 gd_gdash_color(GD_COLOR_INDEX_GRAY3) + +#define GD_GDASH_MIDDLEBLUE gd_gdash_color(16) + +#define GD_COLOR_INVALID 0xFFFFFFFF + +#define GD_C64_COLOR(index) ((GD_COLOR_TYPE_C64 << 24) + (index)) + +// palette numbers must match pointer array positions in source file +#define GD_PALETTE_C64_VICE_NEW 0 +#define GD_PALETTE_C64_VICE_OLD 1 +#define GD_PALETTE_C64_VIDE_DEFAULT 2 +#define GD_PALETTE_C64_C64HQ 3 +#define GD_PALETTE_C64_C64S 4 +#define GD_PALETTE_C64_CCS64 5 +#define GD_PALETTE_C64_FRODO 6 +#define GD_PALETTE_C64_GODOT 7 +#define GD_PALETTE_C64_PC64 8 +#define GD_PALETTE_C64_RTADASH 9 + +#define GD_DEFAULT_PALETTE_C64 GD_PALETTE_C64_VICE_NEW + +// palette numbers must match pointer array positions in source file +#define GD_PALETTE_C64DTV_SPIFF 0 +#define GD_PALETTE_C64DTV_MURRAY 1 + +#define GD_DEFAULT_PALETTE_C64DTV GD_PALETTE_C64DTV_SPIFF + +// palette numbers must match pointer array positions in source file +#define GD_PALETTE_ATARI_BUILTIN 0 +#define GD_PALETTE_ATARI_BUILTIN_CONTRAST 1 +#define GD_PALETTE_ATARI_DEFAULT 2 +#define GD_PALETTE_ATARI_JAKUB 3 +#define GD_PALETTE_ATARI_JAKUB_CONTRAST 4 +#define GD_PALETTE_ATARI_REAL 5 +#define GD_PALETTE_ATARI_REAL_CONTRAST 6 +#define GD_PALETTE_ATARI_XFORMER 7 + +#define GD_DEFAULT_PALETTE_ATARI GD_PALETTE_ATARI_BUILTIN // color GdColor gd_c64_color(int index); GdColor gd_atari_color(int index); GdColor gd_c64dtv_color(int index); + +GdColor gd_atari_color_huesat(int hue, int sat); +GdColor gd_c64dtv_color_huesat(int hue, int sat); + +unsigned int gd_color_get_r(GdColor color); +unsigned int gd_color_get_g(GdColor color); +unsigned int gd_color_get_b(GdColor color); + +GdColor gd_color_get_rgb(GdColor color); GdColor gd_color_get_from_rgb(int r, int g, int b); +GdColor gd_color_get_from_hsv(double h, double s, double v); GdColor gd_color_get_from_string(const char *color); const char *gd_color_get_string(GdColor color);