summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authoreasyaspi314 (Devin) <easyaspi314@users.noreply.github.com>2019-08-23 20:44:01 -0400
committereasyaspi314 (Devin) <easyaspi314@users.noreply.github.com>2019-08-23 20:44:01 -0400
commita631973b73977f33ef98042abca9fca287792439 (patch)
tree5418525ee00fbfaa046adecfb3d328c4c00e02d7 /src/main.c
parentbc159dbb03735db55e6a09bb7947dccc70d0532b (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 'src/main.c')
-rw-r--r--src/main.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/main.c b/src/main.c
index d7ef91df0..ad4a669b7 100644
--- a/src/main.c
+++ b/src/main.c
@@ -34,10 +34,12 @@ const u8 gGameVersion = GAME_VERSION;
const u8 gGameLanguage = GAME_LANGUAGE;
-#if defined(ENGLISH)
-const char BuildDateTime[] = "2002 10 15 20:34";
-#elif defined(GERMAN)
+// The debug menu expects this exact format. With the English build string, it
+// will overflow on the title debug menu, outputting '9999ィ'.
+#if defined(GERMAN) || DEBUG
const char BuildDateTime[] = "$Name: debug-Euro-2003-05-09-A $";
+#elif defined(ENGLISH)
+const char BuildDateTime[] = "2002 10 15 20:34";
#endif
const IntrFunc gIntrTableTemplate[] =