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
Sylvie
a3f9952b9e
Advise on how to use -x to make -r work ( #1459 )
2024-08-08 19:50:51 +02:00
Sylvie
0cd79c33ef
Fix RGBGFX reversal ( #1425 )
...
* Print all OoB tilemap IDs before aborting
* Rename `nbTileInstances` to `mapSize`
* Check that reversing doesn't overflow the tile array
---------
Co-authored-by: ISSOtm <me@eldred.fr >
2024-08-08 19:40:41 +02:00
Sylvie
8af9e9d465
Add rgbgfx -r 0 to infer a width ( #1437 )
2024-08-04 20:31:05 +02:00
ISSOtm
98bca79df4
Run clang-format
2024-08-02 22:36:33 -04:00
ISSOtm
dae4219acd
With -r, print both palettes if -c and -p mismatch
2024-08-02 22:36:33 -04:00
ISSOtm
41046c287f
Use appropriate format specifier for number of palettes
2024-08-02 21:59:51 +02:00
Chris Pickel
7aecc00919
Fix rectangular rgbgfx --reverse --columns ( #1392 )
...
When width != height, the math was off, causing some tiles to be
repeated or skipped.
2024-04-20 18:20:16 +02:00
Sylvie
a234da42a6
Replace assert with assume for release build optimization ( #1390 )
2024-04-02 11:09:31 -04:00
Rangi42
cf7bdb19b6
Run clang-format 14 on everything
...
Later versions may need some proprties added or changed to not
format closing braces weirdly.
2024-03-28 09:17:27 -04:00
ISSOtm
20b7b591d4
Run clang-format
...
Fix some small style inconsistencies
2024-03-28 01:41:25 +01:00
ISSOtm
e5078aba3b
Clean up #includes
...
Remove unused headers, and avoid relying on transitive inclusions
`include-what-you-use` has been very useful for this!
2024-03-28 01:25:38 +01:00
Sylvie
820f6b5b3c
Consistently format type qualifiers like const on the right ( #1347 )
2024-03-10 12:21:52 -04:00
Sylvie
17444e825a
Reduce the header declarations ( #1342 )
...
- Since we have style rules to include foo.hpp at the top of its
corresponding foo.cpp, this takes any headers included by foo.hpp
as being also guaranteed for foo.cpp.
- Use C-style <foo.h> instead of <cfoo>, since the latter only
guarantees putting symbols in the `std` namespace, which we are
not using for C functions (e.g. `printf` not `std::printf`).
- Remove now-unused `__PRETTY_FUNCTION__` reporting
2024-03-09 14:55:39 -05:00
Rangi42
9f5bf5e285
Remove an unnecessary .close() call that the destructor handles
2024-03-08 22:29:37 -05:00
Sylvie
e74073e480
Run clang-format on everything ( #1332 )
2024-03-04 14:22:49 -05:00
Evie
6b67c82b94
Implement -c #none ( #1301 )
...
Also adds a test case for round-tripping `-r` with `-c #none`.
2024-03-03 18:45:33 -05:00
Rangi42
d812acff24
Check RGBGFX warning/error format strings with format_ macro
2024-03-02 23:17:54 -05:00
Rangi42
464000bca8
Clarify TODO comment
2024-02-19 08:49:12 -05:00
Sylvie
d71a161bc9
Phrase error messages as "Failed to", not "Could not" or "Couldn't" ( #1298 )
2024-02-18 14:52:31 +01:00
Sylvie
66fd5a7062
Fix some usually disabled compiler warnings ( #1286 )
...
* Fixes from temporarily re-enabling more compiler warnings
* More edits suggested by cppcheck
* Fix hanging on append_yylval_string
* Fix FOR loop increment
2024-01-18 20:47:20 +01:00
ISSOtm
6b559e99b2
Revert "Switch to using std::filesystem ( #1235 )"
...
This reverts commit cf62ff772f .
Some functions used by this break on macOS before 10.15,
which we want to keep supporting.
2023-12-30 23:20:04 -05:00
Rangi42
b46aa0f55b
colour->color, behaviour->behavior
...
These spellings are more common elsewhere in the codebase
2023-11-27 16:02:17 -05:00
Eldred Habert
f4463b1708
Honor -c with rgbgfx -r ( #1254 )
...
Fixes #1166
2023-11-24 13:19:04 -05:00
Rangi
232416b30d
Fix the hack for File::c_str to work ( #1242 )
2023-11-14 13:38:18 +01:00
Rangi
cf62ff772f
Switch to using std::filesystem ( #1235 )
...
Allows better platform-agnostic path manipulation.
Also, using `std::optional` rather than empty strings allows
correctly handling empty arguments (treating them as such,
instead of acting as they were never passed).
2023-11-13 18:10:09 +01:00
Rangi
1e70e703a7
Build everything as C++ ( #1176 )
2023-11-07 21:45:56 +01:00
Rangi
6ac1dd8966
Fix RGBGFX -r with -d 1 ( #1224 )
2023-11-07 08:25:30 +01:00
Rangi
f8af569680
Shorten license comments and consolidate an AUTHORS file ( #1217 )
2023-11-05 09:54:32 +01:00
Rangi
259ec58140
Implement ENDSECTION ( #1211 )
2023-11-04 23:41:17 +01:00
Rangi42
45c2a5e4ec
Consistently use uppercase hex digits
2023-10-31 14:28:38 -04:00
ISSOtm
3e5cd8ce1a
Use a special name for stdin/stdout in diagnostics
2022-11-15 19:49:04 +01:00
ISSOtm
6902387991
Allow rgbgfx - for stdin and stdout
...
Closes #1087
2022-11-15 19:49:04 +01:00
ISSOtm
d90a7e4302
Terminate RGBGFX when opening a file fails
...
`std::filebuf::open`'s result must be checked, though that's not obvious.
2022-10-04 13:58:05 +02:00
ISSOtm
92eb0a133b
Allow rgbgfx -r to read an infinite amount of tiles without tilemap
...
Previously, indices would be wrapped after 256 even without a tilemap;
since RGBGFX can generate arbitrarily large tile data if `-N` is not used,
it should be possible to read those in.
Of course, this won't work if a tilemap is provided, but such "big blobs"
can't generate a meaningful tilemap anyway.
2022-08-04 20:50:08 +02:00
ISSOtm
b02ccf8f4a
Check before attempting to generate empty image
...
This causes a libpng warning then error, but print a better error message
Fixes #1016
2022-08-04 20:40:20 +02:00
ISSOtm
6a51e39a5c
Print error if reverse() fails to open a file
2022-07-10 11:55:56 +02:00
ISSOtm
0d32775a1f
Add more sanity checks when reversing an image
2022-07-02 17:04:17 +02:00
ISSOtm
0df07d3688
Add note on supporting extra pal formats
2022-07-02 17:04:17 +02:00
ISSOtm
3f70372308
Implement slicing input image
2022-07-02 17:04:17 +02:00
ISSOtm
7a7126f3b8
Implement bit flipping with a lookup table
...
Should improve performance.
This version is cooler, and also does not suffer from iteration limits
2022-07-02 17:04:17 +02:00
ISSOtm
05e36767b0
Implement "palette map" output
2022-07-02 17:04:17 +02:00
ISSOtm
c4359c1058
Ignore -b and -N when reversing without tilemap
...
These offsets should only be applied to a tile ID read as input... but this ain't one!
2022-07-02 17:04:17 +02:00
ISSOtm
5be2b96b40
Remove incorrect check for reversed image width
...
That check was when the image width was in tiles, and another check right below
is the correct equivalent for the new pixel-unit argument
2022-07-02 17:04:17 +02:00
ISSOtm
7fdfbbbbba
Fix inverted condition in tile dedup warning
2022-07-02 17:04:17 +02:00
ISSOtm
cc27169ecd
Implement preliminary version of "reverse" feature
...
Not hooked to all RGBGFX flags yet, but good enough for most use cases
(and as a base for future development, should I need to `reset --hard`.)
TODOs marked appropriately.
2022-07-02 17:04:17 +02:00