Commit Graph

14 Commits

Author SHA1 Message Date
nmlgc 4f63210c8a [Maintenance] [th01] Move boss entity loading calls next to their freeing calls
With loading and freeing code physically close together, it almost
looks like C++ classes.

Part of P0174, funded by Ember2528.
2022-01-31 05:15:08 +01:00
nmlgc e4343b2c95 [Maintenance] [th01] Better distinguish boss "entities" from "other sprites"
Part of P0174, funded by Ember2528.
2022-01-31 05:15:04 +01:00
nmlgc 920274f3d6 [Decompilation] [th01] Mima: Sprite loading
Part of P0167, funded by Ember2528.
2021-11-07 23:18:47 +01:00
nmlgc 61005a6deb [Decompilation] [th01] Mima: Sprite blitting
Part of P0167, funded by Ember2528.
2021-11-07 23:17:01 +01:00
nmlgc 256d699b82 [Decompilation] [th01] Mima: Boss sprite unblitting and background snapping
Part of P0166, funded by Ember2528.
2021-11-07 23:04:20 +01:00
nmlgc f2bca016e2 [Decompilation] [th01] Mima: Spread-in animation
Completes P0165, funded by Ember2528.
2021-11-07 23:01:21 +01:00
nmlgc f2d55e78bf [Decompilation] [th01] Mima: Broken vertical sprite transition
Also effectively unused.

Part of P0165, funded by Ember2528.
2021-11-07 22:58:54 +01:00
nmlgc 0aaa021c95 [Decompilation] [th01] Mima: Initial variables
Part of P0165, funded by Ember2528.
2021-11-07 22:57:58 +01:00
nmlgc b517bd3502 [Decompilation] [th01] Mima: Sprite freeing
Part of P0165, funded by Ember2528.
2021-11-07 22:56:50 +01:00
nmlgc 7bf183621c [Reverse-engineering] [th01] Bosses: .PTN slot IDs
Common sense: Entity backgrounds always go into slot X, missile sprites
into slot Y, and wave sprites into slot Z
ZUN: "Nah, let's set aside two slots, and bosses can just freely use
them as they want 🎺"

Part of P0165, funded by Ember2528.
2021-11-07 22:50:28 +01:00
nmlgc a99eb4ed44 [Decompilation] [th01] select_for_rank: Don't redeclare the rank variable
Otherwise, it gets quite annoying to use that variable in the rest of
the translation unit.

Part of P0153, funded by Ember2528.
2021-08-22 15:07:17 +02:00
nmlgc dc9e3ee475 [Decompilation] [th01] Bosses: Collision handling
Functions with 12 parameters are hard to describe, y'know. Looking
forward to decompiling these giant expressions for the actual
boss↔orb collision parameter passed to this function…

Oh well, at least we're now totally ready for some boss code next
year. 😌

Completes P0131, funded by Yanga.
2020-12-18 01:38:52 +01:00
nmlgc d5fd70c458 [Decompilation] [th01] HUD: HP rendering
And we're right back to things not being nice. Because yeah, why
shouldn't these three distinct rendering functions be part of a single
function, selected by magic numbers?
Or why shouldn't the 16×16 wrapper around a 32×32 set of graphics
functions be used to handle backgrounds for 16×8 sprites, resulting in
needlessly complex parameter calculations that lead to sloppy code?

Part of P0131, funded by Yanga.
2020-12-18 01:38:48 +01:00
nmlgc 64f872e5c5 [Decompilation] [th01] Difficulty-based value selection
And with that, TH01 is pushed over the 50% completion mark! 🎉

This time, it's only YuugenMagan who gets no own copy. Giant RE% gains
from all these calls, but let's hope I don't regret already decompiling
this one for all bosses. It's not quite at the beginning of SinGyoku's,
Mima's, and Elis' code segment, after all…

Part of P0130, funded by Yanga.
2020-12-18 00:59:41 +01:00