From 7654f1a671348119118ba49f5547ee2225e28426 Mon Sep 17 00:00:00 2001 From: kichikuou Date: Mon, 24 Feb 2020 19:31:36 +0900 Subject: [PATCH] Fix character encoding in string literals --- src/sys/nact.h | 3 +++ src/sys/nact_sys1.cpp | 29 +++++++++++++++++------------ src/sys/nact_sys2.cpp | 2 +- src/sys/nact_sys3.cpp | 2 +- 4 files changed, 22 insertions(+), 14 deletions(-) diff --git a/src/sys/nact.h b/src/sys/nact.h index 73d7ea6..af478c9 100644 --- a/src/sys/nact.h +++ b/src/sys/nact.h @@ -77,6 +77,9 @@ #define MAX_CAPTION 32 #define MAX_PCM 256 +constexpr char SJIS_BACK[] = "\x96\xDF\x82\xE9"; // "戻る" in SJIS +constexpr char SJIS_NEXT_PAGE [] = "\x8E\x9F\x82\xCC\x83\x79\x81\x5B\x83\x57"; // "次のページ" in SJIS + class AGS; class MAKO; diff --git a/src/sys/nact_sys1.cpp b/src/sys/nact_sys1.cpp index 7794cea..80720cb 100644 --- a/src/sys/nact_sys1.cpp +++ b/src/sys/nact_sys1.cpp @@ -67,13 +67,13 @@ NACT_Sys1::NACT_Sys1(uint32 crc32, const char* font_file, const char* playlist) switch (crc32) { case CRC32_DPS: text_refresh = false; - strcpy_s(tvar[0], 22, "カスタム"); - strcpy_s(tvar[1], 22, "リーナス"); - strcpy_s(tvar[2], 22, "かつみ"); - strcpy_s(tvar[3], 22, "由美子"); - strcpy_s(tvar[4], 22, "いつみ"); - strcpy_s(tvar[5], 22, "ひとみ"); - strcpy_s(tvar[6], 22, "真理子"); + strcpy_s(tvar[0], 22, "\x83\x4A\x83\x58\x83\x5E\x83\x80"); // "カスタム" in SJIS + strcpy_s(tvar[1], 22, "\x83\x8A\x81\x5B\x83\x69\x83\x58"); // "リーナス" in SJIS + strcpy_s(tvar[2], 22, "\x82\xA9\x82\xC2\x82\xDD"); // "かつみ" in SJIS + strcpy_s(tvar[3], 22, "\x97\x52\x94\xFC\x8E\x71"); // "由美子" in SJIS + strcpy_s(tvar[4], 22, "\x82\xA2\x82\xC2\x82\xDD"); // "いつみ" in SJIS + strcpy_s(tvar[5], 22, "\x82\xD0\x82\xC6\x82\xDD"); // "ひとみ" in SJIS + strcpy_s(tvar[6], 22, "\x90\x5E\x97\x9D\x8E\x71"); // "真理子" in SJIS break; case CRC32_INTRUDER: menu_max = 11; @@ -548,7 +548,7 @@ top2: // 次のページを追加 ags->menu_dest_x = 2; ags->menu_dest_y += 2; - ags->draw_text("次のページ"); + ags->draw_text(SJIS_NEXT_PAGE); id[index++] = -1; ags->menu_dest_y += ags->menu_font_size + 2; } @@ -703,7 +703,7 @@ top: // 戻るを追加 ags->menu_dest_x = 2; ags->menu_dest_y += 2; - ags->draw_text("戻る"); + ags->draw_text(SJIS_BACK); id[index++] = 0; ags->menu_dest_y += ags->menu_font_size + 2; } else { @@ -729,14 +729,14 @@ top2: // 戻るを追加 ags->menu_dest_x = 2; ags->menu_dest_y += 2; - ags->draw_text("戻る"); + ags->draw_text(SJIS_BACK); id[index++] = 0; ags->menu_dest_y += ags->menu_font_size + 2; // 次のページを追加 ags->menu_dest_x = 2; ags->menu_dest_y += 2; - ags->draw_text("次のページ"); + ags->draw_text(SJIS_NEXT_PAGE); id[index++] = -1; ags->menu_dest_y += ags->menu_font_size + 2; } @@ -1457,7 +1457,12 @@ void NACT_Sys1::cmd_z() switch (crc32) { case CRC32_INTRUDER: if(cmd == 1 && 1 <= param && param <= 4) { - const char* buf[4] = {"<", "∧", ">", "∨"}; + const char* buf[4] = { + "\x81\x83", // "<" in SJIS + "\x81\xC8", // "∧" in SJIS + "\x81\x84", // ">" in SJIS + "\x81\xC9", // "∨" in SJIS + }; // 矢印を消去する if(map_page) { diff --git a/src/sys/nact_sys2.cpp b/src/sys/nact_sys2.cpp index 8e3a067..f6e024f 100644 --- a/src/sys/nact_sys2.cpp +++ b/src/sys/nact_sys2.cpp @@ -671,7 +671,7 @@ void NACT_Sys2::cmd_open_obj(int verb) // 戻るを追加 ags->menu_dest_x = 2; ags->menu_dest_y += 2; - ags->draw_text("戻る"); + ags->draw_text(SJIS_BACK); id[index++] = 0; ags->menu_dest_y += ags->menu_font_size + 2; ags->draw_menu = false; diff --git a/src/sys/nact_sys3.cpp b/src/sys/nact_sys3.cpp index f758748..aa5dede 100644 --- a/src/sys/nact_sys3.cpp +++ b/src/sys/nact_sys3.cpp @@ -411,7 +411,7 @@ void NACT_Sys3::cmd_open_obj(int verb) // 戻るを追加 ags->menu_dest_x = 2; ags->menu_dest_y += 2; - ags->draw_text("戻る"); + ags->draw_text(SJIS_BACK); id[index++] = 0; ags->menu_dest_y += ags->menu_font_size + 2; ags->draw_menu = false;