nmlgc
8d5b08306f
[Build] 32-bit: Move ASM land `GAME` constants onto the build command line
...
More complex now, less complex in the Lua rewrite.
Part of P0002, funded by GhostPhanom.
2024-06-30 05:52:59 +02:00
nmlgc
3123c9d3fd
[Maintenance] [th01] REIIDEN.EXE: Move master.lib data back to the ASM husk
...
Completes P0215, funded by Ember2528 and Yanga.
2022-08-15 00:44:05 +02:00
nmlgc
65ce43443c
[Decompilation] [th01] REIIDEN.EXE: Move the final pieces of data to C land
...
100%. What a giant, uncategorizable mess of data.
Part of P0215, funded by Ember2528.
2022-08-15 00:44:05 +02:00
nmlgc
08e064fce0
[Decompilation] [th01] REIIDEN.EXE: main()
...
Three nested infinite loops, and negative glitch stages in debug mode.
What a fitting end, indeed.
Part of P0215, funded by Ember2528 and Yanga.
2022-08-15 00:44:05 +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
0fbc674973
[Decompilation] [th01] Bosses: Freeing function switch
...
Alright, time for the last bigger one.
Part of P0215, funded by Ember2528 and Yanga.
2022-08-14 23:27:11 +02:00
nmlgc
7b79d185bd
[Decompilation] [th01] Pellets: Committing the destroy score
...
The final dumb function to remain in REIIDEN.EXE, and it only was the
4th last one to be decompiled…
Part of P0215, funded by Ember2528 and Yanga.
2022-08-14 23:26:48 +02:00
nmlgc
36958c2c1f
[Decompilation] [th01] Error message for invalid resident state
...
The only game to show an error message if you try directly launching a
game through its main executable without setting up sound drivers or
the resident structure, and a really good one at that. "Please start
from the batch file" is the most user-friendly sentence you could print
in that case.
Part of P0215, funded by Ember2528 and Yanga.
2022-08-14 23:26:20 +02:00
nmlgc
2174245229
[Decompilation] [th01] Redundant and incomplete graphics freeing function
...
Part of P0215, funded by Ember2528 and Yanga.
2022-08-14 23:25:57 +02:00
nmlgc
07ea484425
[Decompilation] [th01] In-game debug variable display
...
Part of P0215, funded by Ember2528 and Yanga.
2022-08-14 23:25:33 +02:00
nmlgc
414770c717
[Decompilation] [th01] Memory info screen
...
Hiding a lot of dynamic .PTN buffer size information behind misleading
labels. Nothing there to tell ZUN that he could have just easily saved
20% of all this memory by using a structure without an unneeded alpha
plane.
Completes P0214, funded by Ember2528.
2022-08-14 23:24:53 +02:00
nmlgc
ea8e2a2f9f
[Decompilation] [th01] REIIDEN.EXE: Out-of-memory handler
...
Part of P0214, funded by Ember2528.
2022-08-14 23:24:29 +02:00
nmlgc
44dbae8062
[Decompilation] [th01] Score-based extends
...
Part of P0214, funded by Ember2528.
2022-08-14 23:24:06 +02:00
nmlgc
9814f769fb
[Decompilation] [th01] Player: Game Over animation
...
Where ZUN forgets the trigonometry functions used everywhere else in
the game, attempts to implement a velocity calculation from scratch
instead, and fails in every way possible. Oh, and it also has an
out-of-bounds memory access…
Part of P0214, funded by Ember2528.
2022-08-14 23:23:25 +02:00
nmlgc
a981007b7a
[Decompilation] [th01] Continue menu
...
Part of P0214, funded by Ember2528.
2022-08-14 23:22:47 +02:00
nmlgc
f075c0904e
[Maintenance] [th01] REIIDEN.EXE: Merge the first two translation units again
...
Part of P0214, funded by Ember2528.
2022-08-14 23:22:35 +02:00
nmlgc
191a3497d8
[Decompilation] [th01] Pause menu
...
Part of P0214, funded by Ember2528.
2022-08-14 23:21:16 +02:00
nmlgc
402bb38324
[Decompilation] [th01] Orb/stage/pellet unblit/update/render/VSync function
...
✅ Doing way too many things and thus being impossible to name
✅ 1 ZUN bug
✅ 1 ZUN quirk
Off to a final great start! 😵 Stupid one-off functions deserve stupid
names, Part 5. Oh well, only 30 functions to go…
Part of P0214, funded by Ember2528.
2022-08-14 23:20:24 +02:00
nmlgc
ff42470c8d
[Maintenance] [th01] REIIDEN.EXE: Merge the first two translation units
...
Yup, code generation details force us to merge these as soon as we can.
Part of P0214, funded by Ember2528.
2022-08-14 23:20:11 +02:00
nmlgc
d4140adb6e
[Decompilation] [th01] REIIDEN.EXE: Move already referenced literals to C land
...
Part of P0214, funded by Ember2528.
2022-08-14 23:17:46 +02:00
nmlgc
b60a23e737
[Naming] [th01] Rename `done` to `player_is_hit`
...
One disgusting abuse of this flag shouldn't ruin a perfectly adequate
variable name, and force a dependency on input variables on every
gameplay-related translation unit. Especially since the "ZUN bloat"
convention allows us to clearly highlight it.
Part of P0214, funded by Ember2528.
2022-08-14 23:16:40 +02:00
nmlgc
c26f885502
[Naming] [th01] Fix stage ID vs. stage number confusion
...
Part of P0214, funded by Ember2528.
2022-08-14 23:16:40 +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
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
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
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