Commit Graph

9 Commits

Author SHA1 Message Date
nmlgc 6e7ab07659 [Decompilation] [th01] Loading and initializing common data used in all stages
Stupid one-off functions deserve stupid names, Part 2. If it only
loaded sprites, I might have given it a somewhat better name.

Part of P0167, funded by Ember2528.
2021-11-07 23:22:10 +01:00
nmlgc 6d572b33cf [Decompilation] [th01] Player: Main control and rendering function
Yup, what a giant, unstructured mess. Enjoy the 85 conditional
branches.

Completes P0163, funded by Ember2528.
2021-10-20 10:59:36 +02:00
nmlgc 8d6ab75353 [Naming] [th01] Reduce CPlayerAnim instances to their width and height
Everything about these is bad, including my previous attempt at naming
them. The "forward" instance also contains the flip kick animations
(facing sideways), and MIKO.PTN also contains animations. Those sprite
sizes really are the only reason why those needed to exist at all, so
why pretend that they fulfill some higher semantic reason?

Part of P0162, funded by Ember2528.
2021-10-20 00:06:16 +02:00
nmlgc 7b2653fcab [Decompilation] [th01] Reimu's animations: .BOS freeing function
*Still* no need for the classic `if(ptr) { delete[] ptr; ptr = NULL }`
macro, because who cares about dangling pointers anyway, right?
:zunpet:

Part of P0123, funded by Yanga.
2020-10-13 21:48:07 +02:00
nmlgc d2ba0c7b3b [Decompilation] [th01] Reimu's animations: Byte-aligned overlapped blitting
All this CPU time spent optimizing the unblitting mask, yet the code
still ends up glitching if the two sprites are more than 2 horizontal
bytes away. So, Reimu's slide speed can only be as high as 8 pixels per
frame, before this function fails to unblit the previous sprite and
leaves little Reimu parts in VRAM.

Part of P0123, funded by Yanga.
2020-10-13 21:36:07 +02:00
nmlgc 0be79aa641 [Decompilation] [th01] Reimu's animations: Byte-aligned blitting
Part of P0123, funded by Yanga.
2020-10-13 21:34:41 +02:00
nmlgc d391dd4a3b [Decompilation] [th01] Reimu's animations: Byte-aligned unblitting
"Let's add a row to the offset, and then subtract it again" :zunpet:
This could only *possibly* have been intended as a DoS attack against a
future manual decompilation, right?

Part of P0123, funded by Yanga.
2020-10-13 21:34:35 +02:00
nmlgc 10666131ec [Decompilation] [th01] Reimu's animations: .BOS load function
Part of P0123, funded by Yanga.
2020-10-13 21:15:19 +02:00
nmlgc 11f65e4afb [Reverse-engineering] [th01] Reimu's animations: Structure
Part of P0123, funded by Yanga.
2020-10-13 20:50:09 +02:00