nmlgc
881094f9c6
[Naming] [th01] Player: Clearly distinguish the reset subfunction
...
This clarifies so much that it's worth its own commit.
Part of P0214, funded by Ember2528.
2022-08-14 23:05:45 +02:00
nmlgc
8877c66b24
[Maintenance] [th01] Add functions for blitting default player and Orb sprites
...
Part of P0214, funded by Ember2528.
2022-08-14 23:05:08 +02:00
nmlgc
3f8c0f4685
[Maintenance] [th01] Rename the `test_*()` functions to `debug_*()`
...
Conceptually, we can lump both "test" and "debug" modes under a single
"debug" umbrella.
Part of P0214, funded by Ember2528.
2022-08-14 23:04:21 +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
40051f5ae2
[Maintenance] [th01] Move remaining non-literal data into a new assembly unit
...
Yeah, no, I'm not going to declare all of those as `extern` and then
"Move all data to C land" after decompiling the entire segment. Once
again (94372d2
), it's not too bad – heck, in REIIDEN.EXE, it's less
than a screen worth of identifiers that are still being referenced.
Part of P0214, funded by Ember2528.
2022-08-14 23:02:39 +02:00
nmlgc
cc9b323501
[Maintenance] Keep Turbo C++'s <conio.h> from redefining I/O port intrinsics
...
Especially since it uses the inferior fundamental integer types because
this was the 90's.
Part of P0214, funded by Ember2528.
2022-08-14 22:58:18 +02:00
nmlgc
158a91e3ce
[Maintenance] [th01] FUUIN.EXE: Move master.lib data back to the main ASM husk
...
Completes P0213, funded by Ember2528 and GhostRiderCog.
2022-08-11 23:21:23 +02:00
nmlgc
1fd32fad0f
[Decompilation] [th01] FUUIN.EXE: Move the final pieces of data to C land
...
100%.
Part of P0213, funded by Ember2528 and GhostRiderCog.
2022-08-11 23:21:23 +02:00
nmlgc
96e18b33be
[Decompilation] [th01] FUUIN.EXE: main()
...
The final secret of this executable: With a loaded MDRV2, enter
fuuin t1
on the DOS prompt to view the 魔界/Makai Good Ending, or
fuuin t
for the 地獄/Jigoku Good Ending.
(Bad Endings can only be accessed by pre-allocating the TH01 resident
structure and setting one of the `continues_per_scene` array members to
a nonzero value.)
Part of P0213, funded by Ember2528 and GhostRiderCog.
2022-08-11 23:21:23 +02:00
nmlgc
90077fdc79
[Decompilation] [th01] Move FUUIN.EXE input and High Score data to C land
...
Might as well figure out that horribly entangled data layout sooner
rather than later…
Part of P0213, funded by Ember2528 and GhostRiderCog.
2022-08-11 23:21:23 +02:00
nmlgc
643f662815
[Decompilation] [th01] VSync interrupt handler: Move all data to C land
...
Ending the data catch-up with… an unused mouse cursor graphic?!
Part of P0213, funded by Ember2528 and GhostRiderCog.
2022-08-11 23:21:23 +02:00
nmlgc
c5b7f8d771
[Decompilation] [th01] Text mode functions: Move all data to C land
...
Part of P0213, funded by Ember2528 and GhostRiderCog.
2022-08-11 23:21:23 +02:00
nmlgc
6b3fc6c4d1
[Decompilation] [th01] Game init and exit functions: Move all data to C land
...
Part of P0213, funded by Ember2528 and GhostRiderCog.
2022-08-11 23:21:23 +02:00
nmlgc
443a334067
[Decompilation] [th01] Core graphics/palette functions: Move all data to C land
...
Part of P0213, funded by Ember2528 and GhostRiderCog.
2022-08-11 23:21:23 +02:00
nmlgc
e79f6c62bf
[Decompilation] [th01] .GRP / .GRZ / .PTN: Move all data to C land
...
Cross-executable ZUN bloat 🤮
Part of P0213, funded by Ember2528 and GhostRiderCog.
2022-08-11 23:21:23 +02:00
nmlgc
ce9f1ed0c0
[Maintenance] [th01] Move OP and REIIDEN master.lib data to new assembly units
...
Part of P0213, funded by Ember2528 and GhostRiderCog.
2022-08-11 23:21:23 +02:00
nmlgc
774c97e31d
[Decompilation] [th01] Pellet delay clouds: Move all data to C land
...
That's all hardcoded sprites transferred to C land! Yeah, I know,
what a significant milestone… except…
Part of P0213, funded by Ember2528 and GhostRiderCog.
2022-08-11 23:21:23 +02:00
nmlgc
738964a451
[Decompilation] [th01] Random resident structure stuff: Move all data to C land
...
Part of P0213, funded by Ember2528 and GhostRiderCog.
2022-08-11 23:21:23 +02:00
nmlgc
1971682309
[Decompilation] [th01] VRAM page transitions: Move all data to C land
...
Part of P0213, funded by Ember2528 and GhostRiderCog.
2022-08-11 23:21:23 +02:00
nmlgc
1031815450
[Decompilation] [th01] Shootout lasers: Move all data to C land
...
Part of P0213, funded by Ember2528 and GhostRiderCog.
2022-08-11 23:21:23 +02:00
nmlgc
a3bc614e68
[Decompilation] [th01] MDRV2: Move all data to C land
...
Part of P0213, funded by Ember2528 and GhostRiderCog.
2022-08-11 23:21:23 +02:00
nmlgc
04f5c27d13
[Maintenance] [th01] Move FUUIN.EXE's master.lib data to a new assembly unit
...
Part of P0213, funded by Ember2528 and GhostRiderCog.
2022-08-11 23:21:22 +02:00
nmlgc
bfb15c7afe
[Decompilation] [th01] High score menu: Move BSS data in REIIDEN.EXE to C land
...
Work around inconsistency now, save catch-up work later.
Part of P0213, funded by Ember2528 and GhostRiderCog.
2022-08-11 23:21:22 +02:00
nmlgc
36930a2604
[Decompilation] REYHI*.DAT: Loading only the high score
...
Still finding more obscure Turbo C++ code generation details.
Part of P0213, funded by Ember2528 and GhostRiderCog.
2022-08-11 23:21:22 +02:00
nmlgc
09d45778c0
[Decompilation] [th01] Boss defeat sequence: Move all data to C land
...
Part of P0213, funded by Ember2528 and GhostRiderCog.
2022-08-11 23:21:22 +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
nmlgc
b93f216982
[Maintenance] Correctly declare unsigned VRAM byte amount types -.-
...
Part of P0212, funded by GhostRiderCog, Lmocinemod, and LeyDud.
2022-08-11 18:34:34 +02:00
nmlgc
79e9ab77dc
[Maintenance] Simplify EGC macros and hardcode the chip's register size
...
No reason to continue pretending it supports anything else.
Part of P0212, funded by GhostRiderCog, Lmocinemod, and LeyDud.
2022-08-11 18:03:44 +02:00
nmlgc
60a7e44b53
[Maintenance] Introduce proper Shift-JIS and JIS X 0208 types
...
Much more semantic than that twobyte_t abomination.
Part of P0212, funded by GhostRiderCog, Lmocinemod, and LeyDud.
2022-08-11 15:53:13 +02:00
nmlgc
e4124ca004
[Maintenance] [th01] Move REYHI*.DAT declarations to the formats/ subdirectory
...
Part of P0212, funded by GhostRiderCog, Lmocinemod, and LeyDud.
2022-08-11 15:52:41 +02:00
nmlgc
3e3aded807
[Maintenance] [th01] Pellets: Avoid the header's dependency on sprite sizes
...
Leads to mildly uglier code in exchange for not having to burden a
handful of translation units with a needless header.
Part of P0212, funded by GhostRiderCog, Lmocinemod, and LeyDud.
2022-08-11 15:52:07 +02:00
nmlgc
96510b3cba
[Maintenance] [th01] Don't #include grppsafx.h inside graph.h
...
That file is about to gain a dependency on a Shift-JIS type header.
Part of P0212, funded by GhostRiderCog, Lmocinemod, and LeyDud.
2022-08-11 15:50:46 +02:00
nmlgc
e97a869e90
[Maintenance] [th01] Compile all remaining C code as C++
...
And all that it needed was a few ellipses.
Part of P0212, funded by GhostRiderCog, Lmocinemod, and LeyDud.
2022-08-11 15:50:19 +02:00
nmlgc
d398a949fc
[Decompilation] High score menu: Move all data to C land
...
Completes P0211, funded by Lmocinemod and Arandui.
2022-08-08 20:16:29 +02:00
nmlgc
6e36dfd93b
[Decompilation] [th01] Verdict screen: Move all data to C land
...
Part of P0211, funded by Lmocinemod and Arandui.
2022-08-08 20:16:25 +02:00
nmlgc
64fe9bbff9
[Decompilation] [th01] Endings: Common beginning
...
Part of P0211, funded by Lmocinemod and Arandui.
2022-08-08 20:16:21 +02:00
nmlgc
54653a33c3
[Decompilation] [th01] Boss entities and animations: Move all data to C land
...
Part of P0211, funded by Lmocinemod and Arandui.
2022-08-08 20:16:16 +02:00
nmlgc
00f3cacc5e
[Translation unit catch-up] [th01] Archive functions
...
That was the one piece of technical debt in TH01 we've been carrying
around since March 2015! (0fd7f14
)
Part of P0211, funded by Lmocinemod and Arandui.
2022-08-08 20:16:11 +02:00
nmlgc
5fa0cd5a86
[Decompilation] [th01] .GRC / 8×8 shapes: Move all data to C land
...
Part of P0211, funded by Lmocinemod and Arandui.
2022-08-08 20:16:05 +02:00
nmlgc
624799bff2
[Decompilation] [th01] Items: Move all data to C land
...
Part of P0211, funded by Lmocinemod and Arandui.
2022-08-08 20:16:01 +02:00
nmlgc
459f3db4bd
[Decompilation] [th01] HUD: Move all data to C land
...
Part of P0211, funded by Lmocinemod and Arandui.
2022-08-08 20:15:57 +02:00
nmlgc
a2200fef28
[Decompilation] [th01] Stage timer: Move all data to C land
...
Part of P0211, funded by Lmocinemod and Arandui.
2022-08-08 20:15:53 +02:00