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
f7eb986313
Encapsulate access to sectionList and currentSection
2025-07-28 11:47:37 -04:00
Rangi42
75aed1afd5
Factor out an UpperMap for case-insensitive matching
2025-07-28 00:00:24 -04:00
Rangi42
d16751f56a
Avoid hard-coding a redundant "FATAL:" in RGBLINK
2025-07-27 20:07:53 -04:00
Rangi42
8b1a5244f7
Avoid hard-coding a redundant "FATAL:" in RGBFIX
2025-07-27 19:35:08 -04:00
Rangi42
b2747dfbd8
Factor out common usage-help code
2025-07-27 19:20:04 -04:00
Rangi42
16e16cdf51
Split up the linkerscript lexer and layout actions
2025-07-27 13:38:20 -04:00
Rangi42
a353637a90
Split RGBLINK linkerscript parser functions into their own file
2025-07-27 11:31:25 -04:00
Rangi42
f3cbfcecf4
Split RGBASM parser action functions into their own file
2025-07-26 16:20:25 -04:00
Rangi42
3bc8b1ff7c
Handle unknown MBCs, since raw numeric values are accepted
2025-07-26 14:15:05 -04:00
Rangi42
aa46c79db6
Use unordered_map lookups instead of manual switches for MbcType data
2025-07-26 13:30:56 -04:00
Rangi42
92acb6e547
Implement a single nbErrors counter inside generic diagnostic code
2025-07-26 12:54:50 -04:00
Rangi42
ac632d9223
RGBFIX returns 1 if there was a -Werror before processing any files
2025-07-26 12:29:57 -04:00
Rangi
0df5b7b86d
Implement warning diagnostic flags for RGBFIX ( #1766 )
...
* Implement warning diagnostic flags for RGBFIX
* `-m/--mbc-type help` prints to stdout
* Support `-m list` as well as `-m help`
* Make invalid `rgbfix -l` characters a fatal error, like other invalid CLI arguments
* Refactor fix/main.cpp into multiple files
2025-07-26 12:11:52 -04:00
Rangi42
87c10988ed
Add test case for block comments after line continuations
2025-07-25 07:49:25 -04:00
Rangi42
d6a28a6259
Prefer pre-increment/decrement operators in for loops
2025-07-24 18:08:17 -04:00
Rangi42
c6d0e8de63
Improve some error messages
2025-07-24 11:19:04 -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
eea532ded1
Make sectionMap not extern
2025-07-21 20:20:04 -04:00
Rangi42
c83b87e0a0
Make all non-extern globals static
2025-07-21 20:14:09 -04:00
Rangi42
8d268e8a8a
Initialize maxRecursionDepth with other options
2025-07-21 19:58:37 -04:00
Rangi42
ee0f311c10
Make nbErrors not extern
2025-07-21 19:49:08 -04:00
Rangi42
61730be6ce
Make failedOnMissingInclude not extern
2025-07-21 19:40:01 -04:00
Rangi42
5f333d9753
More refactoring around extern variables
2025-07-21 19:22:10 -04:00
Rangi42
d1493a9f96
Group extern RGBASM variables in an Options struct
2025-07-21 19:02:21 -04:00
Rangi42
d652212857
Group extern RGBLINK variables in an Options struct, like RGBGFX
2025-07-21 18:12:40 -04:00
Rangi42
0cd60ea1e6
Use a patch_AddAssertion function instead of extern assertions
2025-07-21 17:49:41 -04:00
Rangi42
a0e23ee911
Remove unnecessary extern from nbSectionsToAssign
2025-07-21 17:27:43 -04:00
Rangi
ad81c74cda
Support PNG-format palette spec files ( #1764 )
2025-07-21 11:33:16 -04:00
Rangi42
9ef32e405c
Combine two places that did REPT chain printing
2025-07-20 15:16:53 -04:00
Rangi42
89ca6a325c
Increase parser test coverage
2025-07-20 13:52:29 -04:00
Rangi42
9e0e7ef9a1
Improve RGBASM test coverage
2025-07-20 13:13:45 -04:00
Rangi42
2dc948fefb
Miscellaneous refactoring
2025-07-20 12:28:59 -04:00
Rangi42
e3a5290dad
Restore blue-painting of macro arg expansions to prevent recursion
2025-07-20 11:53:36 -04:00
Rangi42
cfe1f60e47
Refactor peek() to use a loop instead of tail recursion
2025-07-20 11:38:26 -04:00
Rangi42
0eed237517
Refactor peeking at macro args to be like peeking at interpolations
2025-07-20 11:21:44 -04:00
Rangi42
68ffb01cac
Use nextChar() for shiftChar() and then peek()
2025-07-20 11:15:06 -04:00
Rangi42
169ac61e14
Rename nextChar to bumpChar in the RGBASM lexer for symmetry with std::filebuf in the RGBLINK lexer
2025-07-20 11:02:02 -04:00
Rangi42
0681110647
Refactor peek() some more
2025-07-20 10:59:35 -04:00
Rangi42
8d1b111692
Small lexer refactors, commenting when tail recursion occurs
2025-07-20 00:14:13 -04:00
Rangi
2935942667
Allow multiple preinclude files ( #1763 )
2025-07-19 17:07:15 -04:00
Rangi42
9a4593e823
Reduce nesting depth some more
2025-07-19 16:18:35 -04:00
Rangi42
250e08043b
Fix -W parameter parsing
2025-07-19 16:18:35 -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
7086b8aeff
Document that -MG and -MC count READFILE
2025-07-18 20:32:08 -04:00