Commit Graph

10 Commits

Author SHA1 Message Date
nmlgc 71cb7b5e93 [Decompilation] [th05] Shinki: Main function
3rd PC-98 Touhou boss completely decompiled, 28 to go… and the code
quality is taking a nosedive again, especially with that unnecessary
"relative phase" variable that collides with the laser activation flag
in the Devil pattern.
(The nearfunc_t_near workarounds are our fault, though!)

Completes P0191, funded by nrook.
2022-05-01 00:22:03 +02:00
nmlgc 7fc3208822 [Decompilation] [th05] Shinki: Pattern 11/11
The one where Shinki first fires two point-symmetric 32×32 bullets, and
later adds two alternating spirals of red vector bullets and pellets,
respectively. Final pattern of the boss fight.

Part of P0191, funded by nrook.
2022-05-01 00:22:03 +02:00
nmlgc 293e16a052 [Decompilation] [th05] Shinki: Pattern 10/11
There one where… nah, you all know The Devil Pattern™.

Completes P0190, funded by nrook.
2022-05-01 00:22:03 +02:00
nmlgc 37fac9a2a0 [Maintenance] [th05] Custom entities: Introduce separate template structures
Since the game uses global state to define its patterns, we'd really
like to see immediately which of the structure fields are relevant for
spawning bullets. This makes it easier to spot which of the patterns
rely on fields set in previous patterns – and there are several that
do.

Part of P0190, funded by nrook.
2022-05-01 00:22:02 +02:00
nmlgc 306a504ef5 [Naming] [th05] Officially rename "curve bullets" to "cheetos"
Short, sweet, fits more nicely into 8.3 filenames than "curve bullets"
does, and 76.7% of fans agree:

	https://twitter.com/ReC98Project/status/1500256959785746434

OMAKE.TXT calls them "homing lasers", but… eh, nah.

Part of P0190, funded by nrook.
2022-04-29 03:28:44 +02:00
nmlgc 944654596d [Decompilation] [th05] Curved bullets: Update function
The algorithm for gradually rotating these clockwise or counterclockwise
towards the player could have been 5 lines long. ZUN blows it up to 26
lines.

Also, a 16×16 killbox for the head node, and a 12×12 one for trail
nodes.

Part of P0185, funded by [Anonymous], -Tom-, and Blue Bolt.
2022-03-05 15:31:50 +01:00
nmlgc ec5b75daab [Maintenance] [th05] Yumeko's blades are actually swords, as stated in OMAKE.TXT
*Technically* also a uth05win inaccuracy. That codebase went with
"KnifeBullet", which seemed right, so I just ran with it without
researching it further… My bad.

(Maintenance mode commit)
2020-09-30 18:12:53 +02:00
nmlgc e447a2d687 [Position independence] [th04/th05] Final data references in TH05's MAIN.EXE
And that's it, actual position dependence achieved! 🎉 Again, the
website won't quite show 100% PI, but that (again) are all false
positives, to be covered in an upcoming push…

Completes P0112, funded by [Anonymous] and Blue Bolt.
2020-08-28 16:21:20 +02:00
nmlgc 40aea2d171 [Maintenance] [th05] Declare the particle sprite size in a single place
Because it's used by more than one entity type.

Part of P0110, funded by [Anonymous] and Blue Bolt.
2020-08-19 19:33:32 +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