Commit Graph

9 Commits

Author SHA1 Message Date
nmlgc cf356bbf5e [Maintenance] [th01] Start a new header for commonly used VRAM color indices
Part of P0158, funded by Yanga.
2021-09-28 18:05:24 +02:00
nmlgc 308b73524d [Maintenance] [th01] Merge invincibility sprites into the regular 8×8 shapes
They have the same size, their hardcoded sprites are stored next to
each other in the code, and…

Part of P0153, funded by Ember2528.
2021-08-22 14:55:54 +02:00
nmlgc 9739f69729 [Maintenance] Add a 1bpp rectangle template, for custom per-row types
This gets rid of a couple of per-entity sprite bitplane types, makes
sprite declarations easier to read by putting width and height next to
each other… and points out a number of array dimension mistakes -.-
Even in places where we can't use it.

Part of P0138, funded by [Anonymous] and Blue Bolt.
2021-04-21 18:01:57 +02:00
nmlgc 668b9033ab [Decompilation] [th01] Line loop unblitting
Same here.

Part of P0121, funded by Yanga.
2020-09-28 13:01:07 +02:00
nmlgc 60389473aa [Decompilation] [th01] Line loop blitting
Wait, so if this is only used for the rotating white squares around
Mima, that must mean that the white star in the YuugenMagan fight got a
completely redundant reimplementation…

Part of P0121, funded by Yanga.
2020-09-28 12:56:52 +02:00
nmlgc 3c008b6a4f [Decompilation] [th01] Invincibility sprite blitting
In which ZUN accidentally the GRCG rather than the EGC in what should
have been (?) the unblitting function. Which then ends up actually
blitting yet another randomly background-masked version of the same
sprite on top of the old one. And after just a few frames, you get
those fully filled red diamonds you don't see in the sprite sheet.

Then again, if the 16w×h rectangle unblitting function is all you
have, and you can't be bothered to actually learn the EGC, this *is*
the better option 🎺

Completes P0120, funded by Yanga.
2020-09-28 12:56:05 +02:00
nmlgc b974c1a915 [Maintenance] Add separate macros for GRCG/EGC-accelerated reads and writes
Not only getting rid of the "useless" (and thankfully, consistent)
bitplane parameter, but also allowing those shortened macros to be
redefined for the upcoming little ZUN inconsistency.

Part of P0120, funded by Yanga.
2020-09-28 12:51:01 +02:00
nmlgc c12cddfe47 [Decompilation] [th01] Sloppy ellipse arc unblitting
The usual case where ZUN should have just written a custom EGC-powered
unblitter, instead of resorting to the word-aligned rectangle one…

Part of P0120, funded by Yanga.
2020-09-28 12:50:16 +02:00
nmlgc 23f5645be5 [Decompilation] [th01] Ellipse arc blitting
Most frequently used for complete circles, though… but who cares, as
of this commit, ReC98, as a whole, is ⅓ done!

Part of P0120, funded by Yanga.
2020-09-28 12:46:29 +02:00