polishedcrystal
polishedcrystal copied to clipboard
Summary screen
Replaces the old stats screen with the new and improved summary screen. Mostly functional, but slightly incomplete.
https://github.com/user-attachments/assets/62a286aa-0d28-42e3-9dca-b1c4f700e1cd
I would not consider this ready to merge and be played (the way 9bit has an active playerbase) for mostly visual issues. It may be reasonable to have a short lived summary screen branch off of 9bit on this main repo so that multiple people can contribute to knocking out the last couple issues and get this out the door.
Code has been documented to the best of my ability when I was writing it, but it's been written over so many months at this point that multiple authors may as well have had their hands in it. Implementation ideas and reasons have been discussed over several long conversations that at this point it is probably easier to simply respond to questions than try to explain everything.
Outstanding TODOs in the summary screen file, copied for posterity
- [ ] use/make proper vblank routine to remove flicker due to music (other existing ones cause freezes, maybe because of GFX decompression requests?) (SafeCopyTilemapAtOnce would be great, but it causes hblanks to be missed, a dedicated routine would be required)
- [ ] entire egg page
- [ ] status indication (including palette allocation)
- [ ] nature indicators (red/blue stats)
- [ ] allow swapping move order
- [ ] replace move learning page
- [ ] remove party moves screen (by replacing it properly)
- [ ] fix artifacts when exiting PC or in battle summary
This is certainly not comprehensive, the summary screen has some artifacting and non-perfect transitions that would be good to polish over as well.
Some things I'd like to further do or seen done for the summary screen code wise that aren't necessarily functional
- [ ] Further remove all references to the "stats screen" in symbols, files, and documentation and otherwise and replace it with the "summary screen" to better reflect the change in game (reflecting modern games' usage of the term summary rather than stats)
- [ ] Adjust hblank routines to be usable elsewhere without major pain.
- [ ] Adjust summary window buffer to be usable elsewhere without major pain.
I'm sure there's more but I've lost it all in my head over the months, if I think of anything I'll make edits