Commit Graph

8 Commits

Author SHA1 Message Date
nmlgc b61e612fdf [Maintenance] #include each header's dependencies within the header itself
OK, this is the big one. We still keep using `#include` guards only
where we absolutely need to, but with each header now being valid in
isolation, this can now actually help *minimize* the length of each
translation unit's `#include` list. Turns out that after removing all
the duplicates, we only *actually* need to guard 29 headers across all
5 games.

Part of P0285, funded by [Anonymous] and iruleatgames.
2024-07-09 08:46:42 +02:00
nmlgc bca1b7d38a [Maintenance] Add a `nullptr` polyfill to platform.h
Which allows us to remove <stddef.h> from translation units that just
needed it for `NULL`.

Part of P0203, funded by [Anonymous] and GhostRiderCog.
2022-07-10 13:02:51 +02:00
nmlgc 90a2e367bc [Decompilation] [th04] EMS / Dialog: Exit function
That's where TH04 crashes in Stage 5 without an EMS driver, but the
code is fine?! (Well, apart from its silly behavior in the Extra
Stage.)

Part of P0169, funded by Blue Bolt.
2021-11-29 02:01:10 +01:00
nmlgc 8b046dad0f [Decompilation] [th04/th05] EMS: Rendering the eyecatch image
Copied in from EMS memory if available.

Completes P0168, funded by Blue Bolt and rosenrose.
2021-11-29 02:01:01 +01:00
nmlgc bd77463f59 [Decompilation] [th05] EMS: Preloading boss facesets
Oh, an EMS function that does one single thing, and is not potentially
bugged within TH05's original sprite limits?! (Although that last part
might have just been a happy accident.)

Part of P0168, funded by Blue Bolt and rosenrose.
2021-11-29 02:00:58 +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 ccca7bf6ee [Reverse-engineering] [th04/th05] EMS: Cache area layout
Part of P0168, funded by Blue Bolt and rosenrose.
2021-11-29 01:53:13 +01:00