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
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
Rangi42
4a2f9fc744
A little refactoring
2025-07-18 14:17:23 -04:00
Rangi42
e7d63f5f6b
Refactor code that handles when included files are missing
...
- Single unified routine for erroring out or handling missing dependencies
- Single three-state enum instead of two Booleans for missing dependencies
(this causes `-MC` to imply `-MG` instead of needing `-MG -MC`)
- Functions than can miss included files return a Boolean for whether the
parser should `YYACCEPT` and exit
2025-07-18 14:03:23 -04:00
Rangi42
b80b30fba1
Ensure that INCBIN parameters are non-negative
2025-07-18 12:44:27 -04:00
Rangi42
8e84850679
Run clang-tidy with make tidy
2025-07-18 10:10:34 -04:00
Rangi42
e31256c0d4
Remove rgbasm-only -lm from Makefile
2025-07-18 08:22:40 -04:00
Rangi42
9a9fd6603c
Replace test comments with assertions
2025-07-18 07:47:40 -04:00
Rangi42
e99ff5ac45
Use more concrete types instead of auto
2025-07-17 23:52:09 -04:00
Rangi42
60cec85638
Use separate caches for zlib and libpng on Windows 2022 vs 2025
...
Windows 2025 no longer has a D:/ drive
<https://github.com/actions/runner-images/issues/12416 >
which affects where the cached files go.
This can result in one of two errors in the "Install zlib" step
after restoring from cache:
- file cannot create directory: D:/a/rgbds/rgbds/install_dir/lib.
Maybe need administrative privileges.
- file INSTALL cannot find "C:/a/rgbds/rgbds/zbuild/Release/zlib1.dll":
File exists.
Separate caches per OS should solve this problem.
2025-07-17 21:47:45 -04:00
Rangi42
39f2ed1339
Fix order of sentences
2025-07-17 20:14:50 -04:00
Rangi42
cf6e5fec63
Fix unterminated strings in linkerscripts consuming their newline
2025-07-16 09:59:48 -04:00
Rangi42
d8fc25ee43
Add TODO comment for SDAS XL4 support
2025-07-15 22:07:11 -04:00
Rangi42
a0eccceb01
Remove unplanned TODO comments
2025-07-15 21:53:55 -04:00
Rangi42
2720224890
Refactor parsing of ld hl, sp + e8
2025-07-15 21:52:22 -04:00
Rangi42
8bebab1db0
Abbreviate RGBLINK errput that includes a src+lineNo
2025-07-15 18:37:28 -04:00
Rangi42
ee29579d3e
Reduce some more deep nesting
2025-07-15 17:41:32 -04:00
Rangi42
5aec36350b
Document more deprecated/removed features
...
Fixes #1748
2025-07-15 16:32:03 -04:00
Rangi42
0149122cd0
Note how to print lexed token names for future reference
2025-07-14 10:25:47 -04:00
Rangi42
35335aadbe
Add test for labels when expecting symbols
2025-07-14 00:10:14 -04:00
Rangi42
80df858ee3
Clarify comment
2025-07-14 00:02:25 -04:00
Rangi42
eafc32fd68
Simplify switch with one case to if
2025-07-13 23:48:01 -04:00
Rangi42
2adeda0318
Use std::tie for sort comparator functions
2025-07-13 14:47:10 -04:00
Rangi42
21a6d35b8b
Simplify readString
2025-07-13 13:26:59 -04:00
Rangi42
ce78280af3
Simplify appendCharInLiteral
2025-07-13 13:22:40 -04:00
Rangi42
041b86b8dd
Use Defer instead of relying on a "Don't return before this" comment
2025-07-13 12:52:45 -04:00
Rangi42
ddb2acb652
Reduce more nesting depth, and fix an error message
2025-07-12 08:17:26 -04:00
Rangi42
da133baf17
Reduce nesting depth in lexer.cpp
2025-07-12 07:54:16 -04:00
Rangi42
d32b1912ed
Use verbosePrint in rgbasm as well as rgblink
2025-07-12 01:38:19 -04:00
Rangi42
82513e5255
Simplify appendCharInLiteral
2025-07-11 23:52:52 -04:00
Rangi42
f2708ce967
Consolidate readString and appendStringLiteral
2025-07-11 23:43:36 -04:00
Rangi42
01a5c94c7e
Factor out common code from readString and appendStringLiteral
2025-07-11 22:37:28 -04:00
Rangi42
e7a05b1db8
Refactor for better formatting
2025-07-11 10:59:03 -04:00
Rangi42
276a200590
A few miscellaneous edits
2025-07-10 00:33:03 -04:00
Rangi42
bf6875f160
Reduce nesting depth in diagnostics.cpp
2025-07-09 19:37:55 -04:00
Rangi42
8c50839109
Miscellaneous updates
2025-07-08 17:45:13 -04:00
Rangi42
6736d2ec66
Ignore errors to allow lcov 2.3 to work
2025-07-08 17:02:28 -04:00
Rangi42
202c91471c
Fix alignment compatibility with current lower alignment
2025-07-07 22:43:19 +02:00
Rangi42
185a3b29e6
Implement base palette ID
2025-07-06 12:57:20 +02:00
Rangi42
d7b1569ee6
Document % changing from remainder to modulo in 0.5.0
2025-07-04 23:02:45 +02:00
Rangi42
468f1cd912
"The windows-2019 runner image is being deprecated"
2025-07-02 19:43:11 +02:00
Rangi42
965288de38
Fix out-of-bounds image slices
2025-07-02 19:43:11 +02:00
Rangi42
20ed6a52ee
Clarify release procedure checklist
2025-06-30 15:52:42 -04:00
Rangi42
8b85875b67
Release v0.9.3
2025-06-30 15:08:04 -04:00
Rangi42
e7a3b9d90e
Format rgbgfx -vvvvvv string visually
2025-06-21 14:16:48 -04:00
Rangi42
612cf3b7dd
Fix some formatting
2025-06-12 17:27:08 -04:00
Rangi42
1715f85d50
Release v0.9.2
2025-05-04 10:04:11 -04:00
Rangi42
c2de0a991a
Update test dependency
2025-05-03 12:43:57 -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
Rangi42
bdac0ce053
Remove unplanned TODO comments in src/gfx/pal_spec.cpp
...
ACT palette files support a transparent color index, but RGBGFX
cannot apply *one* such transparent color; it would need every
palette's first color to be transparent. Also ACT files tend to
say the first color is transparent anyway, which the user may
not have intended.
ACO palette files can specify version 2 color data, but it's
required to come after version 1 data, and the colors themselves
already exist in the earlier v1 data; v2 just adds UTF-16 names.
Thus, we do not need to be handling these data in those formats.
2025-05-02 21:29:14 -04:00
Rangi42
e0a8eb8aff
Update test dependencies
2025-04-24 09:52:08 -04:00
Rangi42
a72843748f
Avoid using indirect C++ types
2025-04-23 00:53:20 -04:00
Rangi42
762e2311d2
Add test case for FOR loop variable reusing an existing one
2025-04-22 15:10:50 -04:00
Rangi42
df83bc31d2
Consistently use PRId* not PRIi*
2025-04-19 23:44:34 -04:00
Rangi42
c841672059
Don't use tabs for alignment
2025-03-31 19:13:46 -04:00
Rangi42
75b605797d
Fix rgblink(5) man page syntax error
...
Copied from https://salsa.debian.org/twolife/rgbds/-/blob/640a5293/debian/patches/groff.patch
2025-03-07 10:37:20 -05:00
Rangi42
00d0ae840d
Avoid use of goto in nextLine
2025-02-27 14:28:17 -05:00
Rangi42
2cdbb145da
Avoid use of goto in shiftChar
2025-02-27 14:17:01 -05:00
Rangi42
d8192560b0
Avoid use of goto in FormatSpec::useCharacter
2025-02-27 13:45:13 -05:00
Rangi42
9b395f3bf1
Fix double negative
2025-02-23 13:36:55 -05:00
Rangi42
ad4d9da4cf
Remove unnecessary default constructor definitions
2025-02-14 18:58:34 +01:00
Rangi42
1489854932
Use more const references when possible
2025-02-14 18:58:34 +01:00
Rangi42
48412e9c56
Some miscellaneous refactoring and copy-editing
2025-02-10 16:51:51 +01:00
Rangi42
d9d381cb62
Refactor the parser to have fewer *_no_str intermediate rules
2025-02-04 18:59:11 +01:00
Rangi42
81ea4ee920
Release 0.9.1
2025-02-02 20:16:54 +01:00
Rangi42
d54619a453
Remove colNo column tracking from lexer
...
This was added as part of 71f88717 just for debug and fstack trace
output, but we no longer output it anyway.
2025-01-28 01:12:18 -05:00
Rangi42
e49291b7cf
Refactor readUTF8Char into charmap_ConvertNext
2025-01-28 00:07:08 -05:00
Rangi42
34a9c8e083
Add some more string test cases
2025-01-28 00:02:25 -05:00
Rangi42
c4b456b166
Remove unused fix_PrecisionFactor function
2025-01-27 23:04:11 -05:00
Rangi42
79401cce8b
Add braces inside #define macro bodies
2025-01-27 20:12:12 -05:00
Rangi42
4e44958d26
Add braces to Bison .y files
2025-01-27 20:12:12 -05:00
Rangi42
cae31005f8
Always use braces with InsertBraces: true in .clang-format
2025-01-27 20:12:12 -05:00
Rangi42
25c9f8f383
Add more rules to .clang-format
2025-01-27 20:12:12 -05:00
Rangi42
01c9106b59
Include windows.h before other Win32 header files
2025-01-27 20:12:12 -05:00
Rangi42
192fc808c8
Run clang-format on some Bison .y file contents
2025-01-27 20:12:12 -05:00
Rangi42
9c8e327ae2
Zero-initialize trimmedTile array
2025-01-27 20:12:12 -05:00
Rangi42
9ebd2a7e8e
Fix clang-format of sectionTypeInfo array
2025-01-27 20:12:12 -05:00
Rangi42
b8b60207f5
Use // line comments not /* block comments
2025-01-27 20:12:12 -05:00
Rangi42
c5e59f40fd
Get rid of unnecessary extern "C" blocks
2025-01-27 20:12:12 -05:00
Rangi42
a354af3d08
Reformat source files with clang-format 19.1.7
2025-01-27 20:12:12 -05:00
Rangi42
890528812e
Prefer C++ constructs to C-style sizeof-based macros
2025-01-24 18:56:41 -05:00
Rangi42
84f59e14ed
Rename Z80 prefix to SM83
2025-01-24 12:11:46 -05:00
Rangi42
91d7ce5e09
Add test case for expansions changing context
2025-01-21 21:47:22 -05:00
Rangi42
157826bf82
Support fetch-test-deps.sh --get-deps debian
...
Also use `apt-get` instead of `pip` to install
Pillow for libbet
2025-01-21 14:40:09 -05:00
Rangi42
a5e36f924f
Update help and error messages in run-tests.sh
2025-01-21 14:10:36 -05:00
Rangi42
056190413e
Add test to cover RGBLINK behavior for patch overflow
2025-01-20 14:42:58 -05:00
Rangi42
edc9e07a2d
Move all common error checks together inside mergeSections
2025-01-17 02:18:40 -05:00
Rangi42
fac5e35d24
Prefer empty braces to semicolons for empty loop bodies
2025-01-17 00:20:33 -05:00
Rangi42
a85d6b3b57
Remove unused readMagic function
2025-01-17 00:09:47 -05:00
Rangi42
f23a14afc7
Remove unnecessary semicolons after closing braces
2025-01-17 00:01:06 -05:00
Rangi42
f63167dd0f
Use const reference
2025-01-16 23:45:43 -05:00