diff options
author | easyaspi314 (Devin) <easyaspi314@users.noreply.github.com> | 2019-08-23 20:44:01 -0400 |
---|---|---|
committer | easyaspi314 (Devin) <easyaspi314@users.noreply.github.com> | 2019-08-23 20:44:01 -0400 |
commit | a631973b73977f33ef98042abca9fca287792439 (patch) | |
tree | 5418525ee00fbfaa046adecfb3d328c4c00e02d7 /include/global.h | |
parent | bc159dbb03735db55e6a09bb7947dccc70d0532b (diff) |
[WIP] English Debug menu translations! (Plus some build system fixes)
I'm back!
す
Éß テ-ブ↑& ÒÛªù! (かなテーブルを捨てろよ!/Throw away the kana table!)
When compiled in English with DEBUG, instead of óじばÌ (mojibake),
you now get actual English translations!
No more switching from the game, to the kana chart, and if you don't know
Japanese, Google Translate, just to read one sentence.
Additionally, the few unknown translations should use proper encoding or
Romaji.
I decided to use a nicer macro system:
static const u8 sStrHello[] = DTR("こんにちは", "Hello");
This prevents ifdef HELL, as the mixed Japanese and English would
be messy.
Additionally, some special character issues were corrected.
Things untranslated/bugs:
- Tomomichi's dummy functions. Of course, they don't do much.
- The title screen battle menu. This uses a Gen 2 style tile rendering
and the way it is rendered is incredibly overcomplicated.
- A few phrases which I couldn't get a clear translation for. I don't know
much Japanese lol.
- Song names. Just tedious with the limited buffer size.
- A few layout issues. Some dimensions should be tweaked to avoid text
box ovetflows.
- Potential buffer overflows, which I want to try to avoid
- (ASan for GBA? :morphon:)
- While I use the DEBUG_TRANSLATE flag (automatic with ENGLISH && DEBUG)
for C code, the asm data only checks for ENGLISH && DEBUG. Additionally,
they are ugly.
- Haven't tested all builds yet.
- Some code formatting issues.
I also made it so this will compile with the system preprocessor (including
Clang), and my agbcc binutils (which will attempt to be selected automatically
if you don't have DKP).
Clang needs a few flags (it can't do asm enums with line numbers and it does
trigraphs in standard mode), but it is no longer flipping out.
I am going to restart my build system project. It was getting way off track,
and ucpp was too difficult to maintain (one of the main reasons for the silence).
Diffstat (limited to 'include/global.h')
-rw-r--r-- | include/global.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/global.h b/include/global.h index d64cf987d..9e8d2e115 100644 --- a/include/global.h +++ b/include/global.h @@ -18,6 +18,20 @@ #define INCBIN_S32 {0} #endif +// For debug menu translations. +// DTR("こんにちは", "Hello") will expand to "Hello" with DEBUG_TRANSLATE, +// or "こんにちは" if not. +// The KANA macro will wrap Japanese text with encoding markers to +// prevent mojibake while they are being translated. + +#if DEBUG_TRANSLATE +#define DTR(japanese, english) _(english) +#define KANA(txt) _("{JPN}" txt "{ENG}") +#else +#define DTR(japanese, english) _(japanese) +#define KANA(txt) _(txt) +#endif + // Prevent cross-jump optimization. #define BLOCK_CROSS_JUMP asm(""); |