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.
It's rather noisy, the header isn't supposed to be publicly used
anyway, and the TH03/TH04/TH05 cutscene system uses the same
conventions. Also shortening the `CURSOR_` constants to `TEXT_`.
Part of P0258, funded by [Anonymous] and Blue Bolt.
Thanks to the required word alignment of the `switch` jump table in
TH05's dialog_op(), we do in fact have to slice dialog code into
exactly two* translation units. Three might have been better because we
would have only needed to compile this shared code once, but TH05 also
has one exclusive function in the area covered by this new shared
translation unit anyway. At least we can meaningfully share the actual
source files between games here.
* With an additional one at the end for now, because I absolutely had
to RE that EMS code in late 2021, but we'll catch up with that one in
the end.
Part of P0258, funded by [Anonymous] and Blue Bolt.