Commit Graph

14 Commits

Author SHA1 Message Date
nmlgc 5b4f24aa0c [Decompilation] [th03/th04/th05] Music Room: Move titles and files to C land
Featuring a return of the recently developed `$ -` tech, along with
some unfortunate PI breaks… But hey, at least it makes sense to start
out with this move!

Part of P0264, funded by [Anonymous] and Blue Bolt.
2024-02-03 08:59:47 +01:00
nmlgc cf44223d80 [Decompilation] [th04/th05] Setup menu: Entry point
Part of P0263, funded by [Anonymous].
2023-11-30 20:28:27 +01:00
nmlgc 7aa0459306 [Decompilation] [th04/th05] Setup menu: BGM and SE mode menus
I think this is the first time that function pointers as `inline`
function parameters actually inlined perfectly?

Part of P0263, funded by [Anonymous].
2023-11-30 20:27:19 +01:00
nmlgc 449aa37343 [Decompilation] [th04/th05] Setup menu: Text blitting
Been a while since I abused string constants for temporary alignment
hacks! Almost forgot about that technique. This time around though, I'm
using `$` to address the extra string in C land, which only *slightly*
breaks position independence.

Part of P0263, funded by [Anonymous].
2023-11-30 20:25:50 +01:00
nmlgc 741d889c07 [Decompilation] [th04/th05] Main menu: Move decompiled data to C land
Completes P0262, funded by [Anonymous] and Blue Bolt.
2023-11-30 19:50:52 +01:00
nmlgc b4980bbd8a [Decompilation] [th04/th05] OP.EXE: main()
Not the final function to be decompiled this time around!

Part of P0262, funded by [Anonymous] and Blue Bolt.
2023-11-30 19:43:57 +01:00
nmlgc c6c07e2c4d [Decompilation] [th04/th05] Main menu: Option menu update/render function
Part of P0262, funded by [Anonymous] and Blue Bolt.
2023-11-30 19:43:53 +01:00
nmlgc ad4cd15bb6 [Decompilation] [th04/th05] Main menu: Top-level menu update/render function
Part of P0262, funded by [Anonymous] and Blue Bolt.
2023-11-30 19:37:58 +01:00
nmlgc 4c888ee4ad [Maintenance] [th04/th05] Demo Play: Move OP return code into the header
Part of P0258, funded by [Anonymous] and Blue Bolt.
2023-10-31 22:33:19 +01: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 354a4724f3 [Decompilation] [th04/th05] Bosses: Defeat sequence
With TH04's version hardcoding not only Gengetsu's dialog and
initialization, but also the Bad Ending after having clearing Stage 5
with continues or on Easy difficulty.

Part of P0188, funded by [Anonymous] and nrook.
2022-03-27 01:35:37 +01:00
nmlgc 3e99a30c17 [Decompilation] [th04/th05] EMS: Preloading player character .CDG images
Stupid one-off functions deserve stupid names, Part 3. This time also
coming with an unnecessary precondition.

Part of P0168, funded by Blue Bolt and rosenrose.
2021-11-29 02:00:03 +01:00
nmlgc fe33d49e0a [Decompilation] [th04/th05] EMS: Allocation + Preloading the eyecatch image
No, I'm not copying exactly what was on ZUN's monitor during the 2010
MAG・ネット documentary. Also, this one was very lucky not to receive
a stupid function name.

Part of P0168, funded by Blue Bolt and rosenrose.
2021-11-29 01:53:43 +01:00
nmlgc 241b61e808 [Maintenance] Distinguish between Shift-JIS and gaiji strings
The main point of the previous strings/ subdirectory was to bundle all
hardcoded strings for translators. And sure, *technically*, gaiji
strings are *both* strings *and* something you might want to translate.
But mainly, they're sprites with an attached enum, and their own
directory. Changes to the enum quickly tend to involve changes to the
strings that use these values, so it makes sense to keep both in the
same directory.

Especially since 82% of the previous strings/ directories consisted of
such gaiji strings.

That leaves the strings/ directory rather empty and nondescript though.
Recently though, I've been wanting to generally move all Shift-JIS text
to this directory. While that wouldn't *solve* the typical "text editor
accidentally a file upon save, due to wrongly detected encoding" issue,
it's at least a mitigation: If all Shift-JIS strings are in files that
contain nothing *but* Shift-JIS strings, a wrongly detected encoding
becomes immediately noticeable.

For that job, strings/ can have a more descriptive name though. Hence,
shiftjis/.

Part of P0141, funded by [Anonymous] and rosenrose.
2021-05-27 19:10:26 +02:00