mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-20 10:12:06 +00:00
Color verbose output as magenta
Output RGBASM's lexed tokens at level 5 (TRACE)
This commit is contained in:
@@ -3,11 +3,15 @@
|
|||||||
#ifndef RGBDS_VERBOSITY_HPP
|
#ifndef RGBDS_VERBOSITY_HPP
|
||||||
#define RGBDS_VERBOSITY_HPP
|
#define RGBDS_VERBOSITY_HPP
|
||||||
|
|
||||||
|
#include "style.hpp"
|
||||||
|
|
||||||
// This macro does not evaluate its arguments unless the condition is true.
|
// This macro does not evaluate its arguments unless the condition is true.
|
||||||
#define verbosePrint(level, ...) \
|
#define verbosePrint(level, ...) \
|
||||||
do { \
|
do { \
|
||||||
if (checkVerbosity(level)) { \
|
if (checkVerbosity(level)) { \
|
||||||
|
style_Set(stderr, STYLE_MAGENTA, false); \
|
||||||
fprintf(stderr, __VA_ARGS__); \
|
fprintf(stderr, __VA_ARGS__); \
|
||||||
|
style_Reset(stderr); \
|
||||||
} \
|
} \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
|||||||
@@ -2255,8 +2255,9 @@ yy::parser::symbol_type yylex() {
|
|||||||
lexerState->lastToken = token.type;
|
lexerState->lastToken = token.type;
|
||||||
lexerState->atLineStart = token.type == T_(NEWLINE) || token.type == T_(EOB);
|
lexerState->atLineStart = token.type == T_(NEWLINE) || token.type == T_(EOB);
|
||||||
|
|
||||||
// Uncomment this if you want to debug what the lexer is lexing:
|
// LCOV_EXCL_START
|
||||||
// fprintf(stderr, "{lexing %s}\n", yy::parser::symbol_type(token.type).name());
|
verbosePrint(VERB_TRACE, "Lexed '%s' token\n", yy::parser::symbol_type(token.type).name());
|
||||||
|
// LCOV_EXCL_STOP
|
||||||
|
|
||||||
if (std::holds_alternative<uint32_t>(token.value)) {
|
if (std::holds_alternative<uint32_t>(token.value)) {
|
||||||
return yy::parser::symbol_type(token.type, std::get<uint32_t>(token.value));
|
return yy::parser::symbol_type(token.type, std::get<uint32_t>(token.value));
|
||||||
|
|||||||
@@ -100,6 +100,8 @@ static void verboseOutputConfig(int argc, char *argv[]) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
style_Set(stderr, STYLE_MAGENTA, false);
|
||||||
|
|
||||||
fprintf(stderr, "rgbasm %s\n", get_package_version_string());
|
fprintf(stderr, "rgbasm %s\n", get_package_version_string());
|
||||||
|
|
||||||
printVVVVVVerbosity();
|
printVVVVVVerbosity();
|
||||||
@@ -216,6 +218,8 @@ static void verboseOutputConfig(int argc, char *argv[]) {
|
|||||||
// [-MG] [-MC]
|
// [-MG] [-MC]
|
||||||
}
|
}
|
||||||
fputs("Ready.\n", stderr);
|
fputs("Ready.\n", stderr);
|
||||||
|
|
||||||
|
style_Reset(stderr);
|
||||||
}
|
}
|
||||||
// LCOV_EXCL_STOP
|
// LCOV_EXCL_STOP
|
||||||
|
|
||||||
|
|||||||
@@ -592,6 +592,8 @@ static void verboseOutputConfig() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
style_Set(stderr, STYLE_MAGENTA, false);
|
||||||
|
|
||||||
fprintf(stderr, "rgbgfx %s\n", get_package_version_string());
|
fprintf(stderr, "rgbgfx %s\n", get_package_version_string());
|
||||||
|
|
||||||
printVVVVVVerbosity();
|
printVVVVVVerbosity();
|
||||||
@@ -718,6 +720,8 @@ static void verboseOutputConfig() {
|
|||||||
fprintf(stderr, "\tReverse image width: %" PRIu16 " tiles\n", options.reversedWidth);
|
fprintf(stderr, "\tReverse image width: %" PRIu16 " tiles\n", options.reversedWidth);
|
||||||
}
|
}
|
||||||
fputs("Ready.\n", stderr);
|
fputs("Ready.\n", stderr);
|
||||||
|
|
||||||
|
style_Reset(stderr);
|
||||||
}
|
}
|
||||||
// LCOV_EXCL_STOP
|
// LCOV_EXCL_STOP
|
||||||
|
|
||||||
|
|||||||
@@ -252,6 +252,7 @@ static void verboseOutputAssignments(
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
style_Set(stderr, STYLE_MAGENTA, false);
|
||||||
for (AssignedSets const &assignment : assignments) {
|
for (AssignedSets const &assignment : assignments) {
|
||||||
fputs("{ ", stderr);
|
fputs("{ ", stderr);
|
||||||
for (ColorSetAttrs const &attrs : assignment) {
|
for (ColorSetAttrs const &attrs : assignment) {
|
||||||
@@ -262,6 +263,7 @@ static void verboseOutputAssignments(
|
|||||||
}
|
}
|
||||||
fprintf(stderr, "} (volume = %zu)\n", assignment.volume());
|
fprintf(stderr, "} (volume = %zu)\n", assignment.volume());
|
||||||
}
|
}
|
||||||
|
style_Reset(stderr);
|
||||||
}
|
}
|
||||||
// LCOV_EXCL_STOP
|
// LCOV_EXCL_STOP
|
||||||
|
|
||||||
|
|||||||
@@ -142,11 +142,13 @@ Png::Png(char const *filename, std::streambuf &file) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (checkVerbosity(VERB_INFO)) {
|
if (checkVerbosity(VERB_INFO)) {
|
||||||
|
style_Set(stderr, STYLE_MAGENTA, false);
|
||||||
fprintf(stderr, "Embedded PNG palette has %d colors: [", nbColors);
|
fprintf(stderr, "Embedded PNG palette has %d colors: [", nbColors);
|
||||||
for (int i = 0; i < nbColors; ++i) {
|
for (int i = 0; i < nbColors; ++i) {
|
||||||
fprintf(stderr, "%s#%08x", i > 0 ? ", " : "", palette[i].toCSS());
|
fprintf(stderr, "%s#%08x", i > 0 ? ", " : "", palette[i].toCSS());
|
||||||
}
|
}
|
||||||
fprintf(stderr, "]\n");
|
fprintf(stderr, "]\n");
|
||||||
|
style_Reset(stderr);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
verbosePrint(VERB_INFO, "No embedded PNG palette\n");
|
verbosePrint(VERB_INFO, "No embedded PNG palette\n");
|
||||||
|
|||||||
@@ -338,12 +338,14 @@ static std::tuple<std::vector<size_t>, std::vector<Palette>>
|
|||||||
|
|
||||||
// LCOV_EXCL_START
|
// LCOV_EXCL_START
|
||||||
if (checkVerbosity(VERB_INFO)) {
|
if (checkVerbosity(VERB_INFO)) {
|
||||||
|
style_Set(stderr, STYLE_MAGENTA, false);
|
||||||
fprintf(
|
fprintf(
|
||||||
stderr, "Color set mappings: (%zu palette%s)\n", nbPalettes, nbPalettes != 1 ? "s" : ""
|
stderr, "Color set mappings: (%zu palette%s)\n", nbPalettes, nbPalettes != 1 ? "s" : ""
|
||||||
);
|
);
|
||||||
for (size_t i = 0; i < mappings.size(); ++i) {
|
for (size_t i = 0; i < mappings.size(); ++i) {
|
||||||
fprintf(stderr, "%zu -> %zu\n", i, mappings[i]);
|
fprintf(stderr, "%zu -> %zu\n", i, mappings[i]);
|
||||||
}
|
}
|
||||||
|
style_Reset(stderr);
|
||||||
}
|
}
|
||||||
// LCOV_EXCL_STOP
|
// LCOV_EXCL_STOP
|
||||||
|
|
||||||
@@ -440,6 +442,7 @@ static std::tuple<std::vector<size_t>, std::vector<Palette>>
|
|||||||
static void outputPalettes(std::vector<Palette> const &palettes) {
|
static void outputPalettes(std::vector<Palette> const &palettes) {
|
||||||
// LCOV_EXCL_START
|
// LCOV_EXCL_START
|
||||||
if (checkVerbosity(VERB_INFO)) {
|
if (checkVerbosity(VERB_INFO)) {
|
||||||
|
style_Set(stderr, STYLE_MAGENTA, false);
|
||||||
for (Palette const &palette : palettes) {
|
for (Palette const &palette : palettes) {
|
||||||
fputs("{ ", stderr);
|
fputs("{ ", stderr);
|
||||||
for (uint16_t colorIndex : palette) {
|
for (uint16_t colorIndex : palette) {
|
||||||
@@ -447,6 +450,7 @@ static void outputPalettes(std::vector<Palette> const &palettes) {
|
|||||||
}
|
}
|
||||||
fputs("}\n", stderr);
|
fputs("}\n", stderr);
|
||||||
}
|
}
|
||||||
|
style_Reset(stderr);
|
||||||
}
|
}
|
||||||
// LCOV_EXCL_STOP
|
// LCOV_EXCL_STOP
|
||||||
|
|
||||||
@@ -915,6 +919,7 @@ void process() {
|
|||||||
|
|
||||||
// LCOV_EXCL_START
|
// LCOV_EXCL_START
|
||||||
if (checkVerbosity(VERB_INFO)) {
|
if (checkVerbosity(VERB_INFO)) {
|
||||||
|
style_Set(stderr, STYLE_MAGENTA, false);
|
||||||
fputs("Image colors: [ ", stderr);
|
fputs("Image colors: [ ", stderr);
|
||||||
for (std::optional<Rgba> const &slot : image.colors) {
|
for (std::optional<Rgba> const &slot : image.colors) {
|
||||||
if (!slot.has_value()) {
|
if (!slot.has_value()) {
|
||||||
@@ -923,6 +928,7 @@ void process() {
|
|||||||
fprintf(stderr, "#%08x, ", slot->toCSS());
|
fprintf(stderr, "#%08x, ", slot->toCSS());
|
||||||
}
|
}
|
||||||
fputs("]\n", stderr);
|
fputs("]\n", stderr);
|
||||||
|
style_Reset(stderr);
|
||||||
}
|
}
|
||||||
// LCOV_EXCL_STOP
|
// LCOV_EXCL_STOP
|
||||||
|
|
||||||
@@ -1034,6 +1040,7 @@ continue_visiting_tiles:;
|
|||||||
);
|
);
|
||||||
// LCOV_EXCL_START
|
// LCOV_EXCL_START
|
||||||
if (checkVerbosity(VERB_INFO)) {
|
if (checkVerbosity(VERB_INFO)) {
|
||||||
|
style_Set(stderr, STYLE_MAGENTA, false);
|
||||||
for (ColorSet const &colorSet : colorSets) {
|
for (ColorSet const &colorSet : colorSets) {
|
||||||
fputs("[ ", stderr);
|
fputs("[ ", stderr);
|
||||||
for (uint16_t color : colorSet) {
|
for (uint16_t color : colorSet) {
|
||||||
@@ -1041,6 +1048,7 @@ continue_visiting_tiles:;
|
|||||||
}
|
}
|
||||||
fputs("]\n", stderr);
|
fputs("]\n", stderr);
|
||||||
}
|
}
|
||||||
|
style_Reset(stderr);
|
||||||
}
|
}
|
||||||
// LCOV_EXCL_STOP
|
// LCOV_EXCL_STOP
|
||||||
|
|
||||||
|
|||||||
@@ -95,6 +95,8 @@ static void verboseOutputConfig(int argc, char *argv[]) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
style_Set(stderr, STYLE_MAGENTA, false);
|
||||||
|
|
||||||
fprintf(stderr, "rgblink %s\n", get_package_version_string());
|
fprintf(stderr, "rgblink %s\n", get_package_version_string());
|
||||||
|
|
||||||
printVVVVVVerbosity();
|
printVVVVVVerbosity();
|
||||||
@@ -173,6 +175,8 @@ static void verboseOutputConfig(int argc, char *argv[]) {
|
|||||||
// -n/--sym
|
// -n/--sym
|
||||||
printPath("Output sym file", options.symFileName);
|
printPath("Output sym file", options.symFileName);
|
||||||
fputs("Ready.\n", stderr);
|
fputs("Ready.\n", stderr);
|
||||||
|
|
||||||
|
style_Reset(stderr);
|
||||||
}
|
}
|
||||||
// LCOV_EXCL_STOP
|
// LCOV_EXCL_STOP
|
||||||
|
|
||||||
|
|||||||
@@ -27,6 +27,8 @@ void printVVVVVVerbosity() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
style_Set(stderr, STYLE_CYAN, true); // "Viridian"
|
||||||
|
|
||||||
putc('\n', stderr);
|
putc('\n', stderr);
|
||||||
// clang-format off: vertically align values
|
// clang-format off: vertically align values
|
||||||
static std::array<std::bitset<10>, 21> gfx{
|
static std::array<std::bitset<10>, 21> gfx{
|
||||||
@@ -70,6 +72,8 @@ void printVVVVVVerbosity() {
|
|||||||
putc('\n', stderr);
|
putc('\n', stderr);
|
||||||
}
|
}
|
||||||
putc('\n', stderr);
|
putc('\n', stderr);
|
||||||
|
|
||||||
|
style_Set(stderr, STYLE_MAGENTA, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// LCOV_EXCL_STOP
|
// LCOV_EXCL_STOP
|
||||||
|
|||||||
Reference in New Issue
Block a user