mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-20 10:12:06 +00:00
Support rgbgfx -c auto for automatic palette generation
This commit is contained in:
10
man/rgbgfx.1
10
man/rgbgfx.1
@@ -180,6 +180,16 @@ and so on.
|
|||||||
Gray shade 0 is the lightest (white), 3 is the darkest (black).
|
Gray shade 0 is the lightest (white), 3 is the darkest (black).
|
||||||
The same gray shade cannot go in two color indexes.
|
The same gray shade cannot go in two color indexes.
|
||||||
To specify a DMG palette, the input PNG must have all its colors in shades of gray, without any transparent colors.
|
To specify a DMG palette, the input PNG must have all its colors in shades of gray, without any transparent colors.
|
||||||
|
.It Sy automatic palette generation
|
||||||
|
If
|
||||||
|
.Ar pal_spec
|
||||||
|
is the case-insensitive word
|
||||||
|
.Cm auto ,
|
||||||
|
then a palette is automatically generated using the procedure described in
|
||||||
|
.Sx PALETTE GENERATION .
|
||||||
|
This is the default behavior if
|
||||||
|
.Fl c
|
||||||
|
was not specified.
|
||||||
.It Sy external palette spec
|
.It Sy external palette spec
|
||||||
Otherwise,
|
Otherwise,
|
||||||
.Ar pal_spec
|
.Ar pal_spec
|
||||||
|
|||||||
@@ -343,6 +343,8 @@ static char *parseArgv(int argc, char *argv[]) {
|
|||||||
} else if (strcasecmp(musl_optarg, "embedded") == 0) {
|
} else if (strcasecmp(musl_optarg, "embedded") == 0) {
|
||||||
// Use PLTE, error out if missing
|
// Use PLTE, error out if missing
|
||||||
options.palSpecType = Options::EMBEDDED;
|
options.palSpecType = Options::EMBEDDED;
|
||||||
|
} else if (strcasecmp(musl_optarg, "auto") == 0) {
|
||||||
|
options.palSpecType = Options::NO_SPEC;
|
||||||
} else if (strncasecmp(musl_optarg, "dmg=", literal_strlen("dmg=")) == 0) {
|
} else if (strncasecmp(musl_optarg, "dmg=", literal_strlen("dmg=")) == 0) {
|
||||||
options.palSpecType = Options::DMG;
|
options.palSpecType = Options::DMG;
|
||||||
parseDmgPalSpec(&musl_optarg[literal_strlen("dmg=")]);
|
parseDmgPalSpec(&musl_optarg[literal_strlen("dmg=")]);
|
||||||
@@ -634,7 +636,9 @@ static void verboseOutputConfig() {
|
|||||||
// -s/--palette-size
|
// -s/--palette-size
|
||||||
fprintf(stderr, "\tPalettes contain %" PRIu8 " colors\n", options.nbColorsPerPal);
|
fprintf(stderr, "\tPalettes contain %" PRIu8 " colors\n", options.nbColorsPerPal);
|
||||||
// -c/--colors
|
// -c/--colors
|
||||||
if (options.palSpecType != Options::NO_SPEC) {
|
if (options.palSpecType == Options::NO_SPEC) {
|
||||||
|
fputs("\tAutomatic palette generation\n", stderr);
|
||||||
|
} else {
|
||||||
fprintf(stderr, "\t%s palette spec\n", [] {
|
fprintf(stderr, "\t%s palette spec\n", [] {
|
||||||
switch (options.palSpecType) {
|
switch (options.palSpecType) {
|
||||||
case Options::EXPLICIT:
|
case Options::EXPLICIT:
|
||||||
|
|||||||
Reference in New Issue
Block a user