From 5b72bfdf16b1e3376a04570405a497b7753aa631 Mon Sep 17 00:00:00 2001 From: d0k3 Date: Thu, 24 May 2018 16:59:37 +0200 Subject: [PATCH] Shift-JIS workaround for NDS image mounting Fixes #368 --- arm9/source/virtual/vgame.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/arm9/source/virtual/vgame.c b/arm9/source/virtual/vgame.c index 20c2348..13415f1 100644 --- a/arm9/source/virtual/vgame.c +++ b/arm9/source/virtual/vgame.c @@ -1158,6 +1158,15 @@ bool GetVGameNitroFilename(char* name, const VirtualFile* vfile, u32 n_chars) { for (u32 i = 0; i < name_len; i++) if (name[i] == '%') name[i] = '_'; + // Shift-JIS workaround + for (u32 i = 0; i < name_len; i++) { + if (name[i] >= 0x80) { // this is a Shift-JIS filename + // the sequence below is UTF-8 for "Japanese" + snprintf(name, 32, "\xe6\x97\xa5\xe6\x9c\xac\xe8\xaa\x9e%08lX.sjis", (u32) (vfile->offset >> 32)); + break; + } + } + return true; }