Rangi
9c3ce69180
Factor out shared backtrace code ( #1793 )
2025-08-12 17:56:54 -04:00
Rangi42
1bf1219e07
Factor out shared --color-parsing code
2025-08-12 15:53:57 -04:00
Rangi
7b405513d9
Make quote marks consistent in error/warning messages ( #1791 )
...
- "Double quotes" for strings (filenames, section names, CLI option arguments, etc)
- 'Single quotes' for characters and CLI option flags
- `Backticks` for keywords and identifiers (symbol names, charmap names, etc)
CLI option flags also have their leading dashes
2025-08-12 15:24:21 -04:00
Rangi42
30a8503dcd
Format RGBFIX and RGBGFX warnings/errors the same way as RGBASM and RGBLINK
2025-08-11 15:16:00 -04:00
Rangi
5f8b7474b4
Add -B/--backtrace option to RGBASM and RGBLINK ( #1787 )
2025-08-11 14:30:14 -04:00
Rangi42
bf66e346f0
Add -Wobsolete to RGBFIX and RGBGFX, and deprecate rgbfix -O
2025-08-05 17:18:54 -04:00
Rangi42
a3983b7b0f
Support rgbgfx -c dmg to imply -c dmg=e4
...
Fixes #1776
2025-08-05 14:18:25 -04:00
Rangi42
504a45a4ed
Reuse isWhitespace and isNewline, also refactoring readAtFile
2025-08-05 13:46:53 -04:00
Rangi42
98c5c7f776
Support rgbgfx -c auto for automatic palette generation
2025-08-05 13:05:21 -04:00
Rangi42
2d5f4d8910
More consistent missing-input error messages
2025-08-05 11:22:58 -04:00
Rangi42
2cae47a5a2
Color verbose output as magenta
...
Output RGBASM's lexed tokens at level 5 (TRACE)
2025-08-05 00:00:57 -04:00
Rangi
23ce888d65
Use colored/styled text output for diagnostics and usage info ( #1775 )
2025-08-04 17:02:24 -04:00
Rangi
752b273aec
Extend RGBASM and RGBLINK verbosity flags to have multiple levels like RGBGFX ( #1772 )
2025-08-02 17:10:10 -04:00
Rangi42
499edaecd0
Exclude verboseOutputAssignments from LCOV coverage testing
2025-07-29 14:53:30 -04:00
Rangi
225490163e
Fix RGBGFX "decanting" on "components" (color sets sharing colors) ( #1768 )
2025-07-29 14:52:20 -04:00
Rangi42
d388a60daa
Reduce deep nesting in gfx/pal_packing.cpp
2025-07-29 14:02:51 -04:00
Rangi42
5d6e571338
Mention palette filenames in rgbgfx -c error messages
2025-07-29 06:44:33 -04:00
Rangi42
53949761a7
Factor out our manual std::filesystem::path.replace_extension replacement into its own function
2025-07-28 13:11:47 -04:00
Rangi42
75aed1afd5
Factor out an UpperMap for case-insensitive matching
2025-07-28 00:00:24 -04:00
Rangi42
b2747dfbd8
Factor out common usage-help code
2025-07-27 19:20:04 -04:00
Rangi42
92acb6e547
Implement a single nbErrors counter inside generic diagnostic code
2025-07-26 12:54:50 -04:00
Rangi42
d6a28a6259
Prefer pre-increment/decrement operators in for loops
2025-07-24 18:08:17 -04:00
Rangi42
ded4ef4072
Avoid non-ASCII characters when not necessary
2025-07-23 21:18:21 -04:00
Rangi42
1849a35e61
Rename proto-palettes to color sets (copied from rsgbds)
2025-07-23 21:13:46 -04:00
Rangi42
18e35053fa
Replace vectors with unordered_sets
2025-07-23 18:17:39 -04:00
Rangi
7e151f16c3
Factor out a single PNG-reading function to encapsulate the libpng API ( #1765 )
2025-07-23 15:53:33 -04:00
Rangi42
2ce4cdbff6
Reduce deep nesting some more, including larger refactors to assign.cpp
2025-07-22 19:38:49 -04:00
Rangi42
5f333d9753
More refactoring around extern variables
2025-07-21 19:22:10 -04:00
Rangi
ad81c74cda
Support PNG-format palette spec files ( #1764 )
2025-07-21 11:33:16 -04:00
Rangi42
14f5e16ae8
Prefer pre-inc/dec unless post-inc/dec are necessary
2025-07-19 16:18:35 -04:00
Rangi42
bf69043a1d
Reduce deep nesting some more
2025-07-19 16:18:30 -04:00
Rangi42
e99ff5ac45
Use more concrete types instead of auto
2025-07-17 23:52:09 -04:00
Rangi
0c96234532
Use concrete types instead of auto when convenient and not redundant ( #1757 )
2025-07-17 14:59:51 -04:00
Rangi42
2adeda0318
Use std::tie for sort comparator functions
2025-07-13 14:47:10 -04:00
Rangi42
ddb2acb652
Reduce more nesting depth, and fix an error message
2025-07-12 08:17:26 -04:00
Rangi42
01a5c94c7e
Factor out common code from readString and appendStringLiteral
2025-07-11 22:37:28 -04:00
Rangi
3f4e8396aa
Implement warning diagnostic flags for RGBGFX ( #1738 )
2025-07-10 09:58:40 -04:00
Rangi42
276a200590
A few miscellaneous edits
2025-07-10 00:33:03 -04:00
Rangi
34cf959c9d
Refactor to reduce nesting depth some more ( #1740 )
2025-07-09 22:46:40 -04:00
Rangi
5e43ece578
Remove errx and errors.hpp ( #1737 )
2025-07-09 11:04:23 -04:00
Rangi42
8c50839109
Miscellaneous updates
2025-07-08 17:45:13 -04:00
Rangi
6869e4807c
Make file.hpp independent of gfx ( #1733 )
2025-07-08 15:16:16 -04:00
Rangi
5de05e2e4b
Replace DefaultInitVec with std::vector ( #1732 )
2025-07-08 14:55:28 -04:00
Rangi
35962dedc4
Refactor warnings and errors ( #1728 )
...
* Remove `err` and `warn`, keep `errx` and `warnx`, using them in RGBGFX too
* Separate RGBGFX and RGBLINK warnings/errors from main options
* Separate `report` function into `error` and `fatal` messages
* Implicit newlines for most RGBASM errors
2025-07-08 12:58:23 -04:00
Rangi42
185a3b29e6
Implement base palette ID
2025-07-06 12:57:20 +02:00
Rangi42
965288de38
Fix out-of-bounds image slices
2025-07-02 19:43:11 +02:00
Rangi
7054d81650
Implement grayscale DMG palette specs ( #1709 )
2025-06-30 14:53:05 -04:00
Rangi42
e7a3b9d90e
Format rgbgfx -vvvvvv string visually
2025-06-21 14:16:48 -04:00
Rangi
b13d623ad4
Encode reversed PNG images as grayscale or indexed when possible ( #1703 )
2025-06-19 09:48:27 -04:00
Rangi42
081f48404c
Remove a TODO comment about overlapping proto-palettes
...
The original algorithm makes a simplifying assumption that one
proto-palette does not fully contain another, and we have no
particular reason to violate this condition.
2025-05-03 10:19:33 -04:00