ISSOtm
82012f698e
Fix alpha channel checking in RGBGFX test driver
...
Compare CGB colors only, including ignoring RGB components if alpha says
the color is transparent
2022-07-02 17:04:17 +02:00
ISSOtm
57ac07b03e
Correctly handle fully-transparent tiles when outputting unoptimized tilemap
2022-07-02 17:04:17 +02:00
ISSOtm
c521233499
Fix ProtoPalette::compare
...
Some disjoint sets were mistakenly reported not as such
For example, {0} was considered to include {1}.
2022-07-02 17:04:17 +02:00
ISSOtm
bf869f6961
Fix memory leak in test driver program
...
Teeny tiny
2022-07-02 17:04:17 +02:00
ISSOtm
0f8cbb1faf
Generate all necessary files for RGBGFX tests
2022-07-02 17:04:17 +02:00
ISSOtm
fcce42d3d2
Avoid sorting proto-palettes breaking mappings
...
The sorting was performed without updating the mappings, which broke the world.
We can instead sort the IDs as they are inserted into the packing queue,
which should also be faster than moving the actual proto-pal objects around.
2022-07-02 17:04:17 +02:00
Eievui
ed104a9f70
Add rgbgfx test program
...
Co-Authored-By: ISSOtm <eldredhabert0@gmail.com >
2022-07-02 17:04:17 +02:00
ISSOtm
f5d4126303
Report when an input "tile" contains too many colors
...
Which otherwise trips a later assertion in debug mode (phew!)
and crashes in release mode (oops)
2022-07-02 17:04:17 +02:00
ISSOtm
78e751f022
Fix reading interlaced PNGs
...
Either we let libpng handle the transform, or we don't.
But make up your mind!
2022-07-02 17:04:17 +02:00
ISSOtm
d569c6392c
Avoid initializing the PNG row
...
It gets overwritten right after, and uncovers an error in the interlaced read
2022-07-02 17:04:17 +02:00
ISSOtm
75b9d48990
Make randtilegen report the file names it fails to open
...
Which of the two is erroring out can be inferred from the file name,
anyway.
2022-07-02 17:04:17 +02:00
ISSOtm
3aabe9c799
Move randtilegen to test/gfx subdir
...
It's tool-specific, so categorize it where it belongs
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
7fdc6cbced
Fix erroneous tabs in rgbgfx usage text
...
Thanks @GreenAndEievui!
2022-07-02 17:04:17 +02:00
ISSOtm
56115653ef
Include cross-ref link to at-files where mentioned
2022-07-02 17:04:17 +02:00
ISSOtm
7927dfd2e3
Remove negative values in parseNumber checking
...
Including removal of a dead & useless check.
By the way, fuck integer promotion.
2022-07-02 17:04:17 +02:00
ISSOtm
b1aec91912
Assert that row size is not null
...
Silences some static analysis warning
2022-07-02 17:04:17 +02:00
ISSOtm
7defaad9d2
Remove placeholder palette output format from -p
...
This is now described in its own section
2022-07-02 17:04:17 +02:00
ISSOtm
dc9185e50b
Make output format descriptions more succinct and link to Pan Docs
2022-07-02 17:04:17 +02:00
ISSOtm
02d957278d
Document output formats
2022-07-02 17:04:17 +02:00
ISSOtm
6feb1fb73a
Retire -f
2022-07-02 17:04:17 +02:00
ISSOtm
dc67f152a9
Document accepted external palette formats
2022-07-02 17:04:17 +02:00
ISSOtm
913c3dd711
Accept both colons and semicolons in inline pal spec
2022-07-02 17:04:17 +02:00
ISSOtm
32242e0ff2
Switch from colon separators to semicolon
...
As documented, oops
2022-07-02 17:04:17 +02:00
ISSOtm
91071009a8
Implement some external palette specs
...
PSP, ACT, and ACO are complete
2022-07-02 17:04:17 +02:00
ISSOtm
1da884db15
Handle processing errors appropriately
...
Alter the return status accordingly, and print the error counts on exit
2022-07-02 17:04:17 +02:00
ISSOtm
ef473de75a
Explicitly error out if no input image is given
2022-07-02 17:04:17 +02:00
ISSOtm
6b0cab32a6
Implement inline palette spec parsing
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
ISSOtm
843022772b
Clean up randtilegen
...
Apply review comments
2022-07-02 17:04:17 +02:00
ISSOtm
75f8b16f33
Implement "at-files" for RGBGFX
...
Useful for persisting flags outside of the build system
2022-07-02 17:04:17 +02:00
ISSOtm
188027bccc
Rename convert to process
...
More consistent with its "main" function's name
2022-07-02 17:04:17 +02:00
ISSOtm
79adcdb7ea
Ignore tested sub-projects
2022-07-02 17:04:17 +02:00
ISSOtm
8ed65078da
Import fixes to random image generator
2022-07-02 17:04:17 +02:00
ISSOtm
7311fc9ef8
Fix transparency handling
...
Ensure that the color count is properly used, and that
transparency is not counted as a color when packing palettes
2022-07-02 17:04:17 +02:00
ISSOtm
7d54145e56
Record "seed" when generating images as well
...
For reproducibility
2022-07-02 17:04:17 +02:00
ISSOtm
e753b62d1a
Add program by @aaaaaa123456789 to generate RGBGFX-able images
2022-07-02 17:04:17 +02:00
ISSOtm
6ed220b4c1
Make some style corrections
...
Co-Authored-By: Rangi <remy.oukaour+rangi42@gmail.com >
2022-07-02 17:04:17 +02:00
ISSOtm
e49fb457ea
Factor out row bitplanes extraction into a common function
2022-07-02 17:04:17 +02:00
ISSOtm
3c9d5b05d6
Implement transparency handling
...
Though none of this has been tested so far...
2022-07-02 17:04:17 +02:00
ISSOtm
e86eb9337a
Check the range of the CLI-specified palette size
2022-07-02 17:04:17 +02:00
ISSOtm
b0f8e04fb7
Do not do anything if option parsing goes wrong
2022-07-02 17:04:17 +02:00
ISSOtm
493b94919f
Fix -TAP being non-functional
2022-07-02 17:04:17 +02:00
ISSOtm
71e22f3bfe
Correct "is this palette empty?" function
...
This notably caused decantation to delete non-empty palettes, which crashes
2022-07-02 17:04:17 +02:00
ISSOtm
ac02382632
Clean up palette packing a bit
...
Rename a poorly-named attribute, and add a bunch of debug logging
2022-07-02 17:04:17 +02:00
ISSOtm
943d631701
Implement max palette count
2022-07-02 17:04:17 +02:00
ISSOtm
d2f9cc7e8c
Document accepted number formats
2022-07-02 17:04:17 +02:00
ISSOtm
76bb950be5
Parse bank capacities
2022-07-02 17:04:17 +02:00
ISSOtm
f29c5d81ec
Provide a per-option sane default when number parsing fails
2022-07-02 17:04:17 +02:00