Commit Graph

2 Commits

Author SHA1 Message Date
nmlgc f21269f373 [Reverse-engineering] [th04/th05] Bullet template structure
Turns out that angles are more clearly expressed in hex after all. And
if we use negative values for everything greater than 80h, we still
remove those from the PI calculation.

*Really* not sure about using that delta union in the TH04 one though.
Might be saner to just hide the complexity of the technically two
separate types after all… Let's see.

Part of P0075, funded by Myles and -Tom-.
2020-02-16 21:47:53 +01:00
nmlgc 3292af086b [Reverse-engineering] [th04/th05] Bullet pattern types
uth05win TL note: "n-way all-around" means "ring"… yep, let's better
improve on the naming here, once again using established terminology
from Sparen's Danmaku Design Guide at

	https://sparen.github.io/ph3tutorials/ddsga3.html

Since TH04 only supports rings *or* spreads *or* stacks, overloading
[delta] to store both spread angle and stack speed, that enum does
serve kind of a purpose in TH04. Unlike TH05, where it could be vastly
simplified to a bitfield with 4 flags: aim to player, randomize angle,
randomize speed, force single. Which could then actually create *more*
types of patterns than these uselessly defined 14 distinct types, all
of which can already be derived from the other values of the upcoming
template structure:
• Set [stack] to 1 if you don't want a stack
• Set [spread] to 1 if you don't want a spread
• Set [spread_delta_angle] to 0 to turn a N-way spread into a ring
Easy.

Part of P0075, funded by Myles and -Tom-.
2020-02-16 21:47:28 +01:00