bbbbbr / png2hicolorgb

Updated, cross-platform console version of Glen Cook's Hi-Color converter for the Game Boy Color
Other
16 stars 0 forks source link

Suggestions and comparison with Alone in the Dark #7

Open nummacway opened 6 days ago

nummacway commented 6 days ago

This is a long one. Feel free to split the accepted suggestions into multiple issues.

First of all, I like the fact that this tool accepts full-width and arbitrary-height input. I also like the fact that the widths per palette aren't fixed anymore but can be adjusted. (For full-width, you kinda had to.)

Let's start with a question:

Here are some suggestions for features:

Here are some ideas how image quality could be improved. Some of which will likely increase complexity beyond an acceptable point, especially when combined.

After writing the above suggestions, I wanted to know which of these are employed by Alone in the Dark (related code always runs from WRAM at $D000 through $DFCB):

Appendix: Background palette indizes used Alone in the Dark scene 1 and 2, from red (BG0) to pink (BG7): Scene 1 (where you start, at the gate): image Scene 2 (the only way to exit scene 1): image

bbbbbr commented 6 days ago

Thanks for opening the PR, some of these features sound cool and could be useful. In general I'm not planning to make improvements and in particular algorithmic and structural changes such as might be required by some of the suggestions in the present time. While the code base has been improved somewhat from the original, it's still not particularly pleasant to work in and modify.

If you'd like to work on implementing some of the changes I am open to merging PRs which add them. The requirements would be that they don't make the code more complex and harder to work with (ideally they would improve surrounding code quality and readability somewhat), and are well named, commented and generally documented (something that is still a work in progress from the original).

I don't remember the details from testing exactly, but there was headroom for up to something like 10 objs per line with 4 palettes loading per scanline. Maybe a bit more with the pre-compiled output version.