Commit Graph

20 Commits

Author SHA1 Message Date
nmlgc 6400e6a689 [Maintenance] [th04/th05] Boss explosions: Update to current coding standards
Part of P0186, funded by [Anonymous] and Blue Bolt.
2022-03-26 20:44:54 +01:00
nmlgc a21ab3d225 [Decompilation] [th04/th05] Midbosses: Defeat animation update function
This code structure is driving me insane.

Completes P0185, funded by [Anonymous], -Tom-, and Blue Bolt.
2022-03-05 17:50:33 +01:00
nmlgc db05bffca3 [Maintenance] Turn motion_t into a template
motion_t is also used for certain animations in MAINE.EXE, so not all
instances refer to entities in playfield space. Explicitly specifying
the latter now allows us to gain…

Part of P0149, funded by Blue Bolt, Ember2528, and -Tom-.
2021-07-31 09:33:50 +02:00
nmlgc c940059037 [Decompilation] [th05] Shinki + EX-Alice: Background rendering
Palette hacks not included yet. Yup, that's how all phases can use
hardware color #0 as their background color.

Completes P0147, funded by -Tom- and Ember2528.
2021-06-21 15:48:42 +02:00
nmlgc a157739665 [Reverse-engineering] [th04/th05] .CDG slot IDs for MAIN.EXE
64 slots reserved, 16 slots actually used, another 768 bytes of
conventional RAM wasted…

(And yes, that naming convention is indeed meant as a shoutout to all
the RPG Maker veterans out there.)

Part of P0147, funded by -Tom- and Ember2528.
2021-06-21 15:48:41 +02:00
nmlgc b265134541 [Reverse-engineering] [th04/th05] Background rendering function pointers
That could have easily been architected without forcing every boss to
manually set the "background to be drawn while bombing" function
pointer.
And without the laziness of just redrawing all tiles during the blocky
opening animation of certain bombs…

Part of P0147, funded by -Tom- and Ember2528.
2021-06-21 15:48:38 +02:00
nmlgc 8691b23716 [Reverse-engineering] [th04/th05] .BB tile animation: Cel rendering
Not exclusively used for the boss entrance animations, even though its
data is declared in that general vicinity. It's also used for all bombs
in TH04, and Reimu's and Yuuka's bomb in TH05.

Part of P0147, funded by -Tom- and Ember2528.
2021-06-21 15:48:28 +02:00
nmlgc 5990ccd3b9 [Maintenance] Declare CDG blitting functions in C land
Part of P0119, funded by [Anonymous] and -Tom-.
2020-09-21 15:00:01 +02:00
nmlgc fb67d4d054 [Maintenance] Rename all old *_X and *_Y constants to *_LEFT and *_TOP
Part of P0112, funded by [Anonymous] and Blue Bolt.
2020-08-28 15:14:22 +02:00
nmlgc d6f634631f [Maintenance] Declare distinct types for pixel and VRAM sizes
Oh wait, we also need one of those for an upcoming structure!

Part of P0111, funded by [Anonymous] and Blue Bolt.
2020-08-28 14:53:33 +02:00
nmlgc 368f151759 [Maintenance] Declare distinct types for screen, VRAM, and TRAM coordinates
Whew, time to look at every `int` variable we ever declared! The best
moment to do this would have been a year ago, but well, better late
than never. No need to communicate that in comments anymore.

These shouldn't be used for widths, heights, or sprite-space
coordinates. Maybe we'll cover that another time, this commit is
already large enough.

Part of P0111, funded by [Anonymous] and Blue Bolt.
2020-08-28 14:53:30 +02:00
nmlgc 18a8eccd2f [Decompilation] [th05] Bosses: Smooth random movement
Part of P0109, funded by [Anonymous] and Blue Bolt.
2020-08-16 21:41:34 +02:00
nmlgc 023417a1b4 [Maintenance] Move boss declarations to boss.hpp
Part of P0109, funded by [Anonymous] and Blue Bolt.
2020-08-16 21:40:35 +02:00
nmlgc e1f3af547f [Maintenance] [th04/th05] Declare null callbacks in a single place in C land
Part of P0089, funded by [Anonymous] and Blue Bolt.
2020-05-04 16:14:18 +02:00
nmlgc bf40b4e375 [Maintenance] [th04/th05] Declare GRCG register setting functions in C land
Part of P0089, funded by [Anonymous] and Blue Bolt.
2020-05-03 23:38:32 +02:00
nmlgc cf68f49803 [Reverse-engineering] [th04/th05] Boss phase end functions
…which I'd like to cover all at once.

Part of P0086, funded by [Anonymous] and Blue Bolt.
2020-04-15 21:34:19 +02:00
nmlgc 117fa02525 [Reverse-engineering] [th04] Stage 6 Yuuka's parasol and vanishing animations
Yes, this is the best time to cover these, since Stage 6 Yuuka's
animation state is reset in a variety of the boss phase end functions…

Part of P0086, funded by [Anonymous] and Blue Bolt.
2020-04-15 21:34:18 +02:00
nmlgc 4bab289d8a [Maintenance] [th04/th05] Declare boss explosions in C land
Part of P0086, funded by [Anonymous] and Blue Bolt.
2020-04-15 21:34:13 +02:00
nmlgc cb8da961c9 [Reverse-engineering] [th04/th05] Boss item drops
Part of P0086, funded by [Anonymous] and Blue Bolt.
2020-04-15 21:01:59 +02:00
nmlgc d1f3dcd620 [Maintenance] Move all features exclusive to MAIN.EXE to a main/ subdirectory
Adding op/, main/, and end/ directories does nicely cover a great
majority of the "not really further classifiable slices" implied in
d56bd45.

Part of P0086, funded by [Anonymous] and Blue Bolt.
2020-04-15 20:58:01 +02:00