Rangi42
f63167dd0f
Use const reference
2025-01-16 23:45:43 -05:00
Rangi42
0ee4ba95b3
Replace old-style cast in Windows-only code with static_cast
2025-01-16 23:41:12 -05:00
Rangi
d829fd2ffe
Remove the 99999 macro arg limit ( #1597 )
2025-01-04 04:04:12 -05:00
Rangi
b13c0f2f8e
Use a constant for 0x8001 ( #1596 )
2025-01-04 04:03:40 -05:00
Rangi42
d9773424e4
RGBDS_OBJECT_VERSION_STRING is a literal
2025-01-04 03:53:59 -05:00
Rangi42
4e2464a69d
Replace some #define with constexpr
2025-01-04 03:53:59 -05:00
Rangi42
a5f12f66bb
Define the default -recursion depth in main.cpp with other default values
2025-01-04 03:53:59 -05:00
Rangi
73ad431b8d
Fix the node type for "file" nodes in object files ( #1593 )
2025-01-03 17:20:06 +01:00
Rangi42
5963dc9e0e
Only define __asan_default_options in make develop builds
...
`NDEBUG` is not defined in `develop`, `debug`, `profile`, and `coverage`
builds.
`__SANITIZE_ADDRESS__` is defined in `develop` builds.
2024-12-31 11:01:26 -05:00
Rangi
8363f25d47
Enable more sanitizers in make develop ( #1588 )
...
- `-fsanitize=undefined` encompasses multiple checks we were specifying
- "detect_leaks=1" for `__asan_default_options` checks for memory leaks
(except for with macOS clang++, which does not support LSan)
- `-fsanitize=float-divide-by-zero` is an extra UBSan check
(and reveals a UB bug to fix with fixed-point `DIV` and `LOG`)
2024-12-31 10:02:20 +01:00
Rangi
72b2a4d7c0
Use if constexpr to guarantee compile-time simplification ( #1590 )
2024-12-30 23:44:12 -05:00
Rangi
ad95d2e06f
Allow deduplicating tiles with neither an input nor output tileset ( #1585 )
2024-12-30 18:58:07 +01:00
Rangi42
b99ce3845e
Fix RGBFIX writing bytes when one syscall is not sufficient
2024-12-30 11:25:20 +01:00
Rangi42
151f83db6d
Using C++20 [[unlikely]] here would be excessive micro-optimization
2024-12-23 14:14:10 -05:00
Rangi42
22838ce2d8
Remove redundant 0xC7 masking for RST values (the parser handles it)
2024-12-23 10:10:01 -05:00
Rangi42
b058bb6e15
Sorting RGB palettes by luminance is not a "legacy" feature
2024-12-23 10:01:30 -05:00
Rangi42
36b04b5dea
Rename parser value const to iconst to distinguish it from C++ keyword
2024-12-23 09:21:30 -05:00
Sylvie
c1c5b10082
Deprecate LDH with $00-$FF ( #1575 )
2024-12-10 21:27:37 -05:00
Sylvie
f44de0c7ae
Deprecate LD with [C] ( #1574 )
2024-12-10 21:13:09 -05:00
Rangi42
b18cfe6bdb
Consistently use UINT32_MAX, not -1, for uint32_t values
2024-12-10 19:47:23 -05:00
Sylvie
b877c81c32
Use C++-style casts ( #1576 )
2024-12-09 21:56:54 -05:00
Sylvie
573e044b30
Deprecate LDIO ( #1567 )
...
* Deprecate `LDIO`
* `ld [$ff00+n8], a` is not treated as `ldh [n8], a`
2024-12-05 12:49:13 -05:00
Sylvie
0b147c9386
Fix ** right-associativity, and clarify docs ( #1566 )
2024-12-03 20:40:50 -05:00
Eldred Habert
d5f39c8dce
Remove the use of floating-point for palette packing ( #1565 )
...
This is primarily a correctness change, *not* a performance one.
The expected performance impact is minimal anyway.
The goal is to eliminate the use of platform-inconsistent floating-point operations
for this load-bearing task.
2024-11-29 13:44:19 -05:00
Rangi42
a27f704c25
Implement -Wunmatched-directive
2024-11-28 20:30:38 +01:00
Rangi42
9216485bca
Add TRACE-level verbose logging for efficiency calculations
2024-11-27 21:06:18 +01:00
Rangi42
c33acb905b
Avoid precision loss from floating-point division in calculating efficiency
...
This was breaking test results on 32-bit MinGW
2024-11-27 21:06:18 +01:00
Sylvie
e0ee9dc3ad
Add reverse_1bit RGBGFX test ( #1555 )
...
Fixes a bug to always use 2bpp `_data` in `TileData`
2024-11-24 19:30:49 -05:00
Sylvie
a7fdb2c3d3
Add more RGBGFX test coverage ( #1553 )
2024-10-27 11:32:21 -04:00
Sylvie
5efd303b7f
Allow LOAD FRAGMENT ( #1552 )
...
This was implemented in #736 but removed after discussion in #869 .
Fixes #1537
2024-10-24 19:45:44 -04:00
Rangi42
0d3980d039
Refactor how map file sections are printed
...
This makes size-0 sections print as "($0000 bytes)" instead of
"(0 bytes)", which is more consistent.
2024-10-23 17:10:39 +02:00
Rangi42
ab6244d81c
Escape characters in section names in map files
2024-10-23 17:10:39 +02:00
Sylvie
7fcf4ba60f
Correctly recover from syntax errors at the first token of a line ( #1549 )
2024-10-22 21:01:44 +02:00
Sylvie
90286ccbbc
Fix detection of tiles with too many colors ( #1546 )
2024-10-20 13:51:39 -04:00
Sylvie
3b3263273c
Make ENDL optional like ENDSECTION ( #1538 )
...
Add warning for `LOAD` without `ENDL`
2024-10-15 21:13:50 -04:00
Sylvie
bc5a71ff88
Update some RGBLINK error messages ( #1544 )
2024-10-16 01:42:49 +02:00
JL2210
e623aeb85d
Make tests work with CTest ( #1539 )
...
Adds option to disable non-free tests
2024-10-15 19:26:17 -04:00
Sylvie
a2ff653a83
Fix nested undefined interpolation segfault ( #1542 )
2024-10-16 00:09:47 +02:00
Sylvie
a13723c523
Implement 0x/0o/0b number prefixes ( #1533 )
2024-10-08 15:56:00 -04:00
Sylvie
cf85146353
Refactoring and enhancements to RGBASM warnings ( #1526 )
...
* Allow a `no-` prefix to negate "meta" warnings
(`-Wno-all`, `-Wno-extra`, `-Wno-everything`)
* Allow `-Wno-error=...` to override `-Werror`
(including for "meta" warnings)
2024-10-04 21:52:40 +02:00
Rangi42
a9e49a09fd
Allow tab character after backslash line continuation
2024-10-01 22:41:55 -04:00
ISSOtm
86bf289452
Process the last line of textual palette specs even without a trailing newline
...
Fixes #1519
2024-09-30 22:26:00 +02:00
Sylvie
d5159f66be
-Wall enables -Wcharmap-redef, and document -Wnested-comment (#1528 )
2024-09-30 14:34:58 -04:00
Sylvie
4cd0dd5314
Use setmode instead of fdopen ( #1520 )
2024-09-29 14:06:59 -04:00
Sylvie
9783671399
Simplify some C++ abstractions ( #1518 )
...
* Remove namespaces
* Prefer `bool operator==`, not `friend auto operator==`
* Prefer not to use `using`
* Use a `constexpr` function instead of a template for `flipTable`
2024-09-26 00:07:27 -04:00
Rangi42
8037b9e10a
Run clang-format
2024-09-25 13:15:58 -04:00
Rangi42
7c74653aa1
Fix swapped warning comments
2024-09-25 11:25:03 -04:00
Sylvie
22767e36e2
Refer to "end of line", not "newline" ( #1517 )
2024-09-23 02:15:02 +02:00
Sylvie
6b89938da7
Avoid treating labels and macros differently in column 1 ( #1515 )
...
Fixes #1512
2024-09-23 01:26:25 +02:00
Sylvie
9ef2e43bf7
Track local label scope, string equated as .. ( #1504 )
2024-09-18 09:52:30 -04:00