Commit Graph

7 Commits

Author SHA1 Message Date
nmlgc c8f05b8675 [Decompilation] [th01] Items: Generic unblit/update/render function
So generic that every individual structure member is separately passed
by reference. 🤪 That's one way to practice this aspect of C++, I
guess?

Part of P0158, funded by Yanga.
2021-09-28 18:05:24 +02:00
nmlgc fc40bdaa09 [Maintenance] [th01] Wrap EGC rectangle copies with 16-bit-aligned widths
Consolidating the associated "WTF" and "I don't even" and "lol ZUN"
into one place.

Part of P0158, funded by Yanga.
2021-09-28 18:05:24 +02:00
nmlgc 18757c33f9 [Maintenance] [th01] Use a common macro for sloppy unblitting of 8×8 sprites
… treating them as conceptually the same thing allows us to deduplicate
these macros.

Part of P0153, funded by Ember2528.
2021-08-22 15:03:15 +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 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 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