Commit Graph

18 Commits

Author SHA1 Message Date
nmlgc 8943b52167 [Maintenance] Introduce types for VRAM colors and their components
Finally differentiating between colors and columns at least at the type
level.

Part of P0245, funded by [Anonymous], Blue Bolt, Ember2528, and Yanga.
2023-06-30 19:59:11 +02:00
nmlgc 3afb73eada [Reverse-engineering] [th01] Pellets: Document missing resets for delay clouds
The exact reason why pellets can be carried over from Sariel's first
form to her second… and why you probably shouldn't carelessly use that
redundant count of alive pellets to skip loops in the Anniversary
Edition, because that count will be incorrect after a reset.
Thanks to mu021 for reporting this issue!
2023-03-14 00:18:23 +01:00
nmlgc 4a0d2f3f20 [Maintenance] [th01] Introduce a top/left coordinate type for other branches
I'd really like to keep the semantics in usage code instead of using
`screen_point_t` everywhere.

Part of P0230, funded by [Anonymous].
2023-02-28 08:07:53 +01:00
nmlgc 010d6ae918 [Maintenance] [th01] Interpret redundant resident structure copies as such
And dissolve the "vars" units, which would be too annoying to merge on
the `debloated` branch otherwise. This interpretation of these globals
further highlights the type differences between REIIDEN.EXE and
FUUIN.EXE.
Placing them in directly in `resident.hpp`; on the `debloated` branch,
we could neatly define each of these fields in a matching .cpp file,
but that file would need to be compiled twice due to the aforementioned
differences between binaries. Better to keep those in `op_01.cpp`,
`main_01.cpp`, or `fuuin_01.cpp`, respectively.

Part of P0229, funded by Ember2528.
2023-02-28 08:07:52 +01:00
nmlgc 357573eaf7 [Naming] [th01] Use a consistent `rem_` prefix for current lives and bombs
Same rationale here – this naming scheme clarifies how these variables
are just redundant copies out of the resident structure.

Part of P0229, funded by Ember2528.
2023-02-28 08:07:52 +01:00
nmlgc 4716948b57 [Maintenance] [th01] Declare types for signed and unsigned scores
Will make it much easier for modders to resolve this inconsistency.

Part of P0229, funded by Ember2528.
2023-02-28 08:07:52 +01:00
nmlgc c4302b4ab7 [Maintenance] [th01] #include common.h from the resident structure header
Part of P0216, funded by JonathKane.
2022-08-16 01:41:14 +02:00
nmlgc 6a3c1e0f8d [Maintenance] [th01] REIIDEN.EXE: Fix the last remaining type mismatches
Part of P0215, funded by Ember2528 and Yanga.
2022-08-14 23:27:32 +02:00
nmlgc cf95cc8717 [Maintenance] [th01] Remove `extern "C"` from all remaining areas of code
Nothing says "we're getting things done" quite as much as this.

Part of P0214, funded by Ember2528.
2022-08-14 23:03:15 +02:00
nmlgc d79f06b66a [Decompilation] [th01] Bonus screens: Move all data to C land
Part of P0213, funded by Ember2528 and GhostRiderCog.
2022-08-11 23:21:22 +02:00
nmlgc 156c2455e7 [Decompilation] [th01] TOTLE screen: Main function
Where we learn that "MIKOsan" is just a fancy term for the current
lives and bombs. Same as "Bomb&Player", just with higher
multipliers.
Also, continuing the trend of ugly numeral rendering code.

Part of P0213, funded by Ember2528 and GhostRiderCog.
2022-08-11 23:21:02 +02:00
nmlgc 363fd54e6a [Decompilation] [th01] Stage bonus: Main function
Completes P0212, funded by GhostRiderCog, Lmocinemod, and LeyDud.
2022-08-11 23:18:29 +02:00
nmlgc 998721e6c1 [Decompilation] [th01] Stage bonus: 4-digit value → fullwidth string conversion
Seriously? Not even covering the whole range of an integer?

Part of P0212, funded by GhostRiderCog, Lmocinemod, and LeyDud.
2022-08-11 23:18:29 +02:00
nmlgc d6e7dbe387 [Decompilation] [th01] Stage bonus: Digit → fullwidth numeral conversion
Part of P0212, funded by GhostRiderCog, Lmocinemod, and LeyDud.
2022-08-11 23:18:29 +02:00
nmlgc 06379be894 [Decompilation] [th01] Stage bonus: Background box opening animation
40 functions left in TH01!

Part of P0212, funded by GhostRiderCog, Lmocinemod, and LeyDud.
2022-08-11 23:18:29 +02:00
nmlgc 4dc26ecc8f [Decompilation] [th01] TOTLE screen: Transition animation
Combining the previous effect with gradual activation of all lines and
ZUN's first correct interpolation between two palettes.

Part of P0212, funded by GhostRiderCog, Lmocinemod, and LeyDud.
2022-08-11 23:18:29 +02:00
nmlgc bd8e9ffa2e [Decompilation] [th01] Alternating left/right-shift VRAM row page transition
Is that a correct word order? The main effect behind the transition to
the TOTLE screen, and all its fanciness comes from alternating shift
directions on every row. No wave code anywhere.

Part of P0212, funded by GhostRiderCog, Lmocinemod, and LeyDud.
2022-08-11 23:18:29 +02:00
nmlgc 613f340b33 [Decompilation] [th01] TOTLE screen: Metric digit animation
First function, already found a ZUN quirk.

Part of P0212, funded by GhostRiderCog, Lmocinemod, and LeyDud.
2022-08-11 23:18:29 +02:00