Rangi
|
0c9920d4a6
|
Use C++ iterator for fragment/union "pieces" of RGBLINK sections
|
2025-10-05 15:07:25 -04:00 |
|
Rangi
|
7733ccdeb6
|
Implement __SCOPE__ (#1845)
|
2025-10-04 16:41:21 -04:00 |
|
Rangi
|
13e85b5151
|
Replace all ctype.h functions with locale-independent ones
|
2025-10-03 12:52:24 -04:00 |
|
Rangi
|
85d3b5df58
|
Add more RGBFIX tests
|
2025-09-30 18:20:53 -04:00 |
|
Rangi
|
eea277ae9c
|
Add more tests for RGBFIX
|
2025-09-29 22:43:16 -04:00 |
|
Rangi
|
538395b92c
|
Prevent simple syntax highlighters from breaking on /* in a string
|
2025-09-29 11:11:40 -04:00 |
|
Rangi42
|
0297da4d4c
|
Add more tests for RGBASM coverage
|
2025-09-25 13:30:30 -04:00 |
|
Rangi42
|
0670c03bc2
|
Add CLI tests for RGBASM
|
2025-09-25 11:57:56 -04:00 |
|
Rangi42
|
09ef5b7e06
|
Refactor error fix suggestions in fstk_RunMacro
|
2025-09-24 19:35:41 -04:00 |
|
Rangi42
|
d5bb462f25
|
Separate isLetter into isUpper and isLower
|
2025-09-24 19:19:50 -04:00 |
|
Rangi42
|
b0727e9779
|
Suggest removing space before colon to define a label instead of invoking a macro
|
2025-09-24 18:32:45 -04:00 |
|
Rangi42
|
ca4b890273
|
Consistently do & alignMask, not % alignSize
Also add more unrelated tests for coverage
|
2025-09-23 13:25:51 -04:00 |
|
Rangi
|
634fd853d1
|
Factor out a single parseNumber utility function (#1839)
|
2025-09-22 15:15:24 -04:00 |
|
Rangi42
|
c8d22d8744
|
Refactor some iterator template code in RGBGFX pal_packing.cpp
|
2025-09-21 10:59:59 -04:00 |
|
Rangi42
|
3ece61b103
|
Use fewer templates in RGBGFX pal_packing.cpp
|
2025-09-20 22:00:17 -04:00 |
|
Rangi42
|
a82fd17529
|
Simplify RGBGFX code by using fewer templates
|
2025-09-20 21:06:51 -04:00 |
|
Rangi42
|
e7f5ab3f55
|
Warn about rgbgfx -O without -o or any of -A -T -P -Q
|
2025-09-20 20:23:29 -04:00 |
|
Rangi
|
c49a7d1e2f
|
Make CLI and OPT options -p and -Q more consistent (#1834)
|
2025-09-20 13:54:28 -04:00 |
|
Rangi42
|
d8aff148bb
|
Factor out RRANGE macro like RANGE
|
2025-09-19 16:53:44 -04:00 |
|
Rangi
|
e31bcabbaa
|
Implement === and !== string comparison operators (#1832)
|
2025-09-19 14:06:36 -04:00 |
|
Rangi
|
67741ab428
|
Trim left space from macro args, even past block comments (#1831)
|
2025-09-19 13:44:18 -04:00 |
|
Rangi
|
e0a6199f83
|
Allow charmap to map 'characters' as well as "strings" (#1830)
|
2025-09-16 12:51:07 +02:00 |
|
Rangi42
|
9f16881d64
|
Use for-each loop
|
2025-09-10 21:18:33 -04:00 |
|
Rangi
|
223b3d1921
|
More accurate 8-bit <=> 5-bit RGB color conversion (#1827)
|
2025-09-08 15:13:25 -04:00 |
|
Rangi42
|
00b5077b2a
|
Make usage info output responsive to the terminal width
|
2025-09-05 21:58:17 -04:00 |
|
Rangi42
|
1fc9ba86c4
|
Some RGBLINK refactoring
- Consistently refer to `Section` fragments/unions as "pieces" (renaming `.nextu`)
- Remove `Symbol`'s `.label()` accessors (use `std::get<Label>`)
- Move some `Label`-related logic into `Symbol` methods
|
2025-09-05 16:34:51 -04:00 |
|
Rangi42
|
e569e0c200
|
Don't comment "; Next fragment/union" in .map files for empty section pieces
Fixes #1821
|
2025-09-05 15:31:46 -04:00 |
|
Rangi42
|
f7fb3af615
|
Run make tidy with Checks: '-*,misc-include-cleaner' in .clang-tidy (IWYU)
|
2025-09-04 13:39:23 -04:00 |
|
Rangi42
|
1dfc1d3231
|
Factor out isBinDigit and parseHexDigit utility functions
|
2025-09-04 13:23:10 -04:00 |
|
Rangi42
|
891e6f98df
|
Fix formatting of very long fixed-point numbers
|
2025-09-04 12:54:14 -04:00 |
|
Rangi42
|
bdc885bd69
|
Avoid UB when checking truncation range
Fixes #1818
|
2025-09-04 12:04:10 -04:00 |
|
Rangi42
|
5b67dc94b6
|
Add more test coverage
|
2025-09-04 01:29:50 -04:00 |
|
Rangi42
|
4f702a4be8
|
Try to optimize RPN expressions with .emplace_back instead of .push_back
|
2025-09-03 23:00:06 -04:00 |
|
Rangi42
|
c5d437ab3c
|
Tell people to use character literals or CHARVAL instead of strings as numbers
|
2025-09-03 22:46:19 -04:00 |
|
Rangi42
|
c5c2800f17
|
Move RPN buffer encoding logic into rpn.cpp
|
2025-09-03 22:36:00 -04:00 |
|
Rangi42
|
c798500563
|
Don't call rpn.clear() when we can safely assume it's already empty()
|
2025-09-03 21:02:57 -04:00 |
|
Rangi
|
590d113e94
|
Use a vector of RPN values (#1820)
This is instead of byte-encoding them in a different way than the actual object output's RPN buffer
|
2025-09-03 14:42:37 -04:00 |
|
Rangi
|
ee1db0a582
|
Fix RPN patches for all commands (#1819)
|
2025-09-02 16:44:25 -04:00 |
|
Rangi42
|
2110aaca20
|
Fix RGBLINK and RGBGFX warning/error message colors
|
2025-09-01 20:51:33 -04:00 |
|
Rangi
|
534a4efee4
|
Add 0/1/2 warning levels to rgblink -Wtruncation (#1816)
|
2025-09-01 15:35:53 -04:00 |
|
Rangi42
|
cc96b4d517
|
Two small improvements
- Check whether `.read()` completed
- `.reserve()` expected space ahead of time
|
2025-09-01 11:46:41 -04:00 |
|
Rangi42
|
0ccdbf509a
|
Simplify format specs to not use a per-character state machine
|
2025-08-30 12:23:01 -04:00 |
|
Rangi
|
531278961f
|
Require underscores to actually be digit separators (#1812)
Multiple, trailing, or next to decimal point are errors
|
2025-08-30 10:44:20 -04:00 |
|
Rangi
|
85176ef10a
|
Fix q format spec (#1811)
|
2025-08-29 14:23:49 -04:00 |
|
Rangi
|
02b880e1b0
|
Separate RGBFIX header fixing from CLI option parsing (#1808)
|
2025-08-28 12:28:08 -04:00 |
|
Rangi42
|
c6997fe73c
|
Factor out InsertionOrderedMap to group an indexed list with a string-keyed map
|
2025-08-26 16:04:45 -04:00 |
|
Rangi42
|
c578a7b761
|
More specific error message when an expression is not constant because a symbol is undefined
|
2025-08-24 22:02:41 -04:00 |
|
Rangi42
|
8564df51e5
|
-Wexport-undefined warning for exporting undefined symbols
|
2025-08-24 17:36:47 -04:00 |
|
Rangi42
|
ead5337fe0
|
Use scoped blocks for case-specific variables
|
2025-08-23 21:52:22 -04:00 |
|
Rangi42
|
0d509aa65c
|
Suggest DEF when undefined macros look like definitions
|
2025-08-23 21:40:51 -04:00 |
|