Commit Graph

17 Commits

Author SHA1 Message Date
nmlgc 1bb6068d6a [Reverse-engineering] [th02] Player: Current master.lib sprite ID
And here we find a bunch of unconditional PAT_PLAYCHAR_STILL render
calls… 🤔

Part of P0259, funded by Splashman and Yanga.
2023-11-01 23:17:51 +01:00
nmlgc 42abdc3de4 [Reverse-engineering] [th02] Player: Option position
Exactly 4 years and 1 month after 881f2c6, TH02 finally received the
dedicated attention for this feature. But Why are the options rendered
with PAT_OPTION_A all the time? 🤔

Part of P0259, funded by Splashman and Yanga.
2023-11-01 23:17:51 +01:00
nmlgc bc552cac8e [Reverse-engineering] [th02] Player: Position references
Featuring one redundant reference and one redundant copy…

Part of P0259, funded by Splashman and Yanga.
2023-11-01 23:17:51 +01:00
nmlgc 943da08767 [Decompilation] [th02] Items: Collision detection and collection
Part of P0243, funded by Yanga.
2023-06-07 16:57:41 +02:00
nmlgc 720fd575b1 [Reverse-engineering] [th02] Player: Current position
Part of P0243, funded by Yanga.
2023-06-07 15:34:44 +02:00
nmlgc 9aad9ad114 [Maintenance] Declare 8-bit pixel delta and length types
Part of P0242, funded by Yanga.
2023-06-06 21:02:47 +02:00
nmlgc 71c010855d [Maintenance] [th02/th04/th05] Properly declare shot power-related variables
Part of P0237, funded by Yanga.
2023-03-29 18:03:05 +02:00
nmlgc 152bbd6a0f [Decompilation] [th02] Bombs: High-level update and render function
Containing no actual update and render code. (Which is also why we can
already cover it right now.)

Part of P0237, funded by Yanga.
2023-03-29 18:03:05 +02:00
nmlgc fe93bc8218 [Decompilation] [th02] Bombs: Rendering bytes from BOMBS.BFT
Why keep it all in one function when you can split it up into three?
:onricdennat:

Part of P0237, funded by Yanga.
2023-03-29 18:03:05 +02:00
nmlgc 3afa60fbd0 [Decompilation] [th02] Bombs: Smear column rendering
Part of P0237, funded by Yanga.
2023-03-29 18:03:05 +02:00
nmlgc e56fb33f71 [Decompilation] [th02] Bombs: Particle rendering
One of the few cases where byte alignment doesn't matter.

Part of P0237, funded by Yanga.
2023-03-29 18:03:05 +02:00
nmlgc 522976d668 [Decompilation] [th02] Bombs: Circle point rendering
An entire function that will just vanish in this game's Anniversary
Edition.

Part of P0237, funded by Yanga.
2023-03-29 18:03:05 +02:00
nmlgc 38eb77c828 [Decompilation] [th04/th05] Bosses: Item drops
Part of P0188, funded by [Anonymous] and nrook.
2022-03-27 01:35:40 +01:00
nmlgc d876eeb7bd [Decompilation] [th04] Bullets: Clipping and pre-spawn hit test
First place to confirm the hitbox of both the 8×8 pellets and the 16×16
sprite bullets!

Well, "hitbox". It's really more of a kill delta of 8×8 pixels between
the center points of a bullet and the player. You can distribute these
pixels to any combination of bullet and player "hitboxes" that make up
8×8. 4×4 around both the player and bullets? 1×1 for bullets, and 8×8
for the player? All equally valid… or perhaps none of them, once you
keep in mind that other entity types might have different kill deltas,
which turns the concept of a "hitbox" into just a confusing abstraction.

Part of P0150, funded by Blue Bolt.
2021-07-31 20:19:26 +02:00
nmlgc a99cda80fd [Maintenance] Point out that player_invincible_via_bomb is exclusive to TH02
Will make it easier to comprehend that the bullet update function is
actually correct with regards to only looking at a single variable.
(Yes, I know, hard to believe!)

Part of P0149, funded by Blue Bolt, Ember2528, and -Tom-.
2021-07-31 09:33:49 +02:00
nmlgc c5b5dc0201 [Reverse-engineering] General bomb-related globals
Yup, function pointers, frame counters, and general state variables for
all 5 games.

Part of P0111, funded by [Anonymous] and Blue Bolt.
2020-08-28 15:03:03 +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