Commit Graph

6 Commits

Author SHA1 Message Date
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 5a65324625 [Maintenance] [th04/th05] Split OP and MAINE data before graph_putsa_fx()
Part of P0265, funded by [Anonymous] and iruleatgames.
2024-02-03 08:59:48 +01:00
nmlgc ef57125be2 [Maintenance] [th02/th03/th04/th05] Split segment #1 before the Music Room
Yup, TH02 as well.

Part of P0264, funded by [Anonymous] and Blue Bolt.
2024-02-02 23:49:04 +01:00
nmlgc 49c1cda526 [Decompilation] [th05] OP.EXE: .CDG loading and freeing
It's absolutely not worth decompiling the TH04 counterpart right now.

Part of P0263, funded by [Anonymous].
2023-11-30 20:55:36 +01:00
nmlgc 7c3160c38d [Reverse-engineering] [th04/th05] Setup menu: MSWIN.BFT sprite IDs
And yes, replicating them in ASM land does speed up decompilation, as I
don't have to pause and manually look up each value.
Too bad that the two resident structure assignments and the different
.PI freeing functions are the only reasons why we have to compile the
entire thing twice. Would have been nicer if ZUN had directly saved the
selection to MIKO.CFG instead 😛

Part of P0263, funded by [Anonymous].
2023-11-30 20:25:50 +01:00
nmlgc d55c2cbad0 [Maintenance] [th03/th04/th05] Split OP.EXE into two assembly units
Wow, that was unexpectedly painless – even for TH03 where we have to
deal with a significant number of un-RE'd pieces of data. And for TH04
and TH05, it turns out that we not only *want* to move the entire _TEXT
segment into the new unit to keep the amount of `extern` declarations
to a minimum, but in fact *have* to because of graph_putsa_fx()'s fancy
labels in the data segment.

Part of P0263, funded by [Anonymous].
2023-11-30 20:00:39 +01:00