From 1faaf68d9d16507dac3020029cc186061b7b4a04 Mon Sep 17 00:00:00 2001 From: Dwedit Date: Tue, 21 May 2019 18:02:25 -0500 Subject: [PATCH 1/4] UTF-8 Fix favoring MSVC 2010-2013. MSVC 2015 and 2017 projects: Add /utf-8 switch Makefile.griffin: Add -utf-8 switch to MSVC 2015 builds Makefile.msvc: Add -utf-8 switch to MSVC 2017 builds intl/msg_hash files: Added BOM and MSVC 2010-2013 pragmas menu_cbs.c: Replace Euro character with raw bytes menu_osk_utf8_pages.h: Replace pragma with MSVC 2010-2013 version range shaderparamsdialog.cpp: Add BOM and MSVC 2010-2013 pragma --- Makefile.griffin | 1 + Makefile.msvc | 2 +- intl/msg_hash_ar.c | 2 +- intl/msg_hash_ar.h | 8 ++- intl/msg_hash_chs.c | 4 +- intl/msg_hash_chs.h | 8 ++- intl/msg_hash_cht.c | 4 +- intl/msg_hash_cht.h | 8 ++- intl/msg_hash_de.c | 8 ++- intl/msg_hash_de.h | 6 +++ intl/msg_hash_el.c | 6 +++ intl/msg_hash_el.h | 8 ++- intl/msg_hash_eo.c | 8 ++- intl/msg_hash_eo.h | 6 +++ intl/msg_hash_es.c | 8 ++- intl/msg_hash_es.h | 6 +++ intl/msg_hash_fr.c | 8 ++- intl/msg_hash_fr.h | 6 +++ intl/msg_hash_it.c | 8 ++- intl/msg_hash_it.h | 6 +++ intl/msg_hash_ja.c | 4 +- intl/msg_hash_ja.h | 3 +- intl/msg_hash_ko.c | 4 +- intl/msg_hash_ko.h | 8 ++- intl/msg_hash_nl.c | 8 ++- intl/msg_hash_nl.h | 6 +++ intl/msg_hash_pl.c | 4 +- intl/msg_hash_pl.h | 8 ++- intl/msg_hash_pt_br.c | 8 ++- intl/msg_hash_pt_br.h | 6 +++ intl/msg_hash_pt_pt.c | 8 ++- intl/msg_hash_pt_pt.h | 6 +++ intl/msg_hash_ru.c | 6 +++ intl/msg_hash_ru.h | 3 +- intl/msg_hash_tr.c | 8 ++- intl/msg_hash_tr.h | 6 +++ intl/msg_hash_vn.c | 5 +- intl/msg_hash_vn.h | 8 ++- menu/menu_cbs.c | 2 +- menu/widgets/menu_osk_utf8_pages.h | 3 +- pkg/msvc/msvc-2015/RetroArch-msvc2015.vcxproj | 8 +++ pkg/msvc/msvc-2017/RetroArch-msvc2017.vcxproj | 51 ++++++++++++++++++- ui/drivers/qt/shaderparamsdialog.cpp | 8 ++- 43 files changed, 265 insertions(+), 37 deletions(-) diff --git a/Makefile.griffin b/Makefile.griffin index bddb023b6b..70177a627c 100644 --- a/Makefile.griffin +++ b/Makefile.griffin @@ -710,6 +710,7 @@ else ifneq (,$(findstring windows_msvc2015,$(platform))) CXX = cl.exe LD = link.exe + PLATCFLAGS += -utf-8 PLATCFLAGS += -D_WIN32 -D__STDC_CONSTANT_MACROS -D_MBCS PLATCFLAGS += -D__i686__ -D__MMX__ -D__SSE__ -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DHAVE_CC_RESAMPLER -DHAVE_GL_SYNC -DHAVE_GLSL -DHAVE_IMAGEVIEWER -DHAVE_LANGEXTRA -DHAVE_OPENGL -DHAVE_SHADERPIPELINE -DHAVE_UPDATE_ASSETS -DWIN32 -DHAVE_EASTEREGG LDFLAGS += shell32.lib user32.lib gdi32.lib comdlg32.lib winmm.lib ole32.lib iphlpapi.lib diff --git a/Makefile.msvc b/Makefile.msvc index dc99920fa7..5eee104a72 100644 --- a/Makefile.msvc +++ b/Makefile.msvc @@ -123,7 +123,7 @@ endif FLAGS += -nologo -MP FLAGS += -Gm- -Zc:inline -fp:precise -Zc:forScope -GR- -Gd -Oi -volatile:iso #FLAGS += -Zc:wchar_t -Zp16 -Z7 -#FLAGS += -utf-8 +FLAGS += -utf-8 #FLAGS += -source-charset:utf-8 CXXFLAGS += $(CFLAGS) -TP -EHsc diff --git a/intl/msg_hash_ar.c b/intl/msg_hash_ar.c index c237c6e534..3b71318668 100644 --- a/intl/msg_hash_ar.c +++ b/intl/msg_hash_ar.c @@ -25,7 +25,7 @@ #include "../configuration.h" #include "../verbosity.h" -#if defined(_MSC_VER) && !defined(_XBOX) +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) /* https://support.microsoft.com/en-us/kb/980263 */ #pragma execution_character_set("utf-8") #pragma warning(disable: 4566) diff --git a/intl/msg_hash_ar.h b/intl/msg_hash_ar.h index 127892e311..da004dfb84 100644 --- a/intl/msg_hash_ar.h +++ b/intl/msg_hash_ar.h @@ -1,4 +1,10 @@ -MSG_HASH( +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + +MSG_HASH( MSG_COMPILER, "Compiler" ) diff --git a/intl/msg_hash_chs.c b/intl/msg_hash_chs.c index 3073da2669..0a66acae8e 100644 --- a/intl/msg_hash_chs.c +++ b/intl/msg_hash_chs.c @@ -24,10 +24,10 @@ #include "../configuration.h" #include "../verbosity.h" -#if defined(_MSC_VER) && !defined(_XBOX) +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) /* https://support.microsoft.com/en-us/kb/980263 */ #pragma execution_character_set("utf-8") -#pragma warning( disable : 4566 ) +#pragma warning(disable:4566) #endif int menu_hash_get_help_chs_enum(enum msg_hash_enums msg, char *s, size_t len) diff --git a/intl/msg_hash_chs.h b/intl/msg_hash_chs.h index d499e2b770..459aaa332d 100644 --- a/intl/msg_hash_chs.h +++ b/intl/msg_hash_chs.h @@ -1,4 +1,10 @@ -#ifdef HAVE_LAKKA_SWITCH +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + +#ifdef HAVE_LAKKA_SWITCH MSG_HASH( MENU_ENUM_LABEL_VALUE_SWITCH_GPU_PROFILE, "GPU 超频" diff --git a/intl/msg_hash_cht.c b/intl/msg_hash_cht.c index a35a38cd0e..9fcf5bd203 100644 --- a/intl/msg_hash_cht.c +++ b/intl/msg_hash_cht.c @@ -24,10 +24,10 @@ #include "../configuration.h" #include "../verbosity.h" -#if defined(_MSC_VER) && !defined(_XBOX) +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) /* https://support.microsoft.com/en-us/kb/980263 */ #pragma execution_character_set("utf-8") -#pragma warning( disable : 4566 ) +#pragma warning(disable:4566) #endif int menu_hash_get_help_cht_enum(enum msg_hash_enums msg, char *s, size_t len) diff --git a/intl/msg_hash_cht.h b/intl/msg_hash_cht.h index 1e8d1ea807..4a36d41a6b 100644 --- a/intl/msg_hash_cht.h +++ b/intl/msg_hash_cht.h @@ -1,4 +1,10 @@ -MSG_HASH( +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + +MSG_HASH( MSG_COMPILER, "編譯器" ) diff --git a/intl/msg_hash_de.c b/intl/msg_hash_de.c index 1a0e7fa67e..b9a1697bfa 100644 --- a/intl/msg_hash_de.c +++ b/intl/msg_hash_de.c @@ -1,4 +1,4 @@ -/* RetroArch - A frontend for Libretro. +/* RetroArch - A frontend for Libretro. * Copyright (C) 2011-2017 - Daniel De Matteis * Copyright (C) 2016-2019 - Brad Parker * Translation currently maintained by Lothar Serra Mari [rootfather] @@ -26,6 +26,12 @@ #include "../configuration.h" #include "../verbosity.h" +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + int menu_hash_get_help_de_enum(enum msg_hash_enums msg, char *s, size_t len) { settings_t *settings = config_get_ptr(); diff --git a/intl/msg_hash_de.h b/intl/msg_hash_de.h index 649e573b26..9bf7f6026d 100644 --- a/intl/msg_hash_de.h +++ b/intl/msg_hash_de.h @@ -1,3 +1,9 @@ +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + #ifdef HAVE_LAKKA_SWITCH MSG_HASH( MENU_ENUM_LABEL_VALUE_SWITCH_GPU_PROFILE, diff --git a/intl/msg_hash_el.c b/intl/msg_hash_el.c index fc2c26292a..4e5c6a1d28 100644 --- a/intl/msg_hash_el.c +++ b/intl/msg_hash_el.c @@ -27,6 +27,12 @@ #ifdef RARCH_INTERNAL #include "../configuration.h" +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + int menu_hash_get_help_el_enum(enum msg_hash_enums msg, char *s, size_t len) { settings_t *settings = config_get_ptr(); diff --git a/intl/msg_hash_el.h b/intl/msg_hash_el.h index b2d57d9c3e..192d584821 100644 --- a/intl/msg_hash_el.h +++ b/intl/msg_hash_el.h @@ -1,4 +1,10 @@ -MSG_HASH( +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + +MSG_HASH( MSG_COMPILER, "Μεταγλωττιστής" ) diff --git a/intl/msg_hash_eo.c b/intl/msg_hash_eo.c index b7d67fcdda..cbef637f29 100644 --- a/intl/msg_hash_eo.c +++ b/intl/msg_hash_eo.c @@ -1,4 +1,4 @@ -/* RetroArch - A frontend for libretro. +/* RetroArch - A frontend for libretro. * Copyright (C) 2011-2017 - Daniel De Matteis * * RetroArch is free software: you can redistribute it and/or modify it under the terms @@ -22,6 +22,12 @@ #include "../configuration.h" #include "../msg_hash.h" +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + int menu_hash_get_help_eo_enum(enum msg_hash_enums msg, char *s, size_t len) { switch (msg) diff --git a/intl/msg_hash_eo.h b/intl/msg_hash_eo.h index 790a3ceea7..9a93730381 100644 --- a/intl/msg_hash_eo.h +++ b/intl/msg_hash_eo.h @@ -1,3 +1,9 @@ +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + MSG_HASH( MSG_COMPILER, "Compiler" diff --git a/intl/msg_hash_es.c b/intl/msg_hash_es.c index 7cf9685353..a557cab4ba 100644 --- a/intl/msg_hash_es.c +++ b/intl/msg_hash_es.c @@ -1,4 +1,4 @@ -/* RetroArch - A frontend for libretro. +/* RetroArch - A frontend for libretro. * Copyright (C) 2011-2017 - Daniel De Matteis * Copyright (C) 2018 - Alfredo Monclus * @@ -28,6 +28,12 @@ #pragma clang diagnostic ignored "-Winvalid-source-encoding" #endif +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + int menu_hash_get_help_es_enum(enum msg_hash_enums msg, char *s, size_t len) { settings_t *settings = config_get_ptr(); diff --git a/intl/msg_hash_es.h b/intl/msg_hash_es.h index e5a3841886..09c1166ed0 100644 --- a/intl/msg_hash_es.h +++ b/intl/msg_hash_es.h @@ -1,3 +1,9 @@ +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + #ifdef HAVE_LAKKA_SWITCH MSG_HASH( MENU_ENUM_LABEL_VALUE_SWITCH_GPU_PROFILE, diff --git a/intl/msg_hash_fr.c b/intl/msg_hash_fr.c index c2dd36e5d1..4b8651082c 100644 --- a/intl/msg_hash_fr.c +++ b/intl/msg_hash_fr.c @@ -1,4 +1,4 @@ -/* RetroArch - A frontend for libretro. +/* RetroArch - A frontend for libretro. * Copyright (C) 2011-2017 - Daniel De Matteis * Copyright (C) 2014-2017 - Jean-André Santoni * Copyright (C) 2016-2019 - Brad Parker @@ -29,6 +29,12 @@ #ifdef RARCH_INTERNAL #include "../configuration.h" +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + int menu_hash_get_help_fr_enum(enum msg_hash_enums msg, char *s, size_t len) { settings_t *settings = config_get_ptr(); diff --git a/intl/msg_hash_fr.h b/intl/msg_hash_fr.h index d0e24eac67..c21e3fc68b 100644 --- a/intl/msg_hash_fr.h +++ b/intl/msg_hash_fr.h @@ -1,3 +1,9 @@ +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + #ifdef HAVE_LAKKA_SWITCH MSG_HASH( MENU_ENUM_LABEL_VALUE_SWITCH_GPU_PROFILE, diff --git a/intl/msg_hash_it.c b/intl/msg_hash_it.c index 50a72b7c05..9a64487305 100644 --- a/intl/msg_hash_it.c +++ b/intl/msg_hash_it.c @@ -1,4 +1,4 @@ -/* RetroArch - A frontend for libretro. +/* RetroArch - A frontend for libretro. * Copyright (C) 2011-2017 - Daniel De Matteis * * RetroArch is free software: you can redistribute it and/or modify it under the terms @@ -23,6 +23,12 @@ #include "../msg_hash.h" #include "../configuration.h" +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + int menu_hash_get_help_it_enum(enum msg_hash_enums msg, char *s, size_t len) { settings_t *settings = config_get_ptr(); diff --git a/intl/msg_hash_it.h b/intl/msg_hash_it.h index 4d536328c4..c96de31dab 100644 --- a/intl/msg_hash_it.h +++ b/intl/msg_hash_it.h @@ -1,3 +1,9 @@ +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + #ifdef HAVE_LAKKA_SWITCH MSG_HASH( MENU_ENUM_LABEL_VALUE_SWITCH_GPU_PROFILE, diff --git a/intl/msg_hash_ja.c b/intl/msg_hash_ja.c index 230cf993ff..e126a1962e 100644 --- a/intl/msg_hash_ja.c +++ b/intl/msg_hash_ja.c @@ -25,10 +25,10 @@ #include "../configuration.h" #include "../verbosity.h" -#if defined(_MSC_VER) && !defined(_XBOX) +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) /* https://support.microsoft.com/en-us/kb/980263 */ #pragma execution_character_set("utf-8") -#pragma warning(disable: 4566) +#pragma warning(disable:4566) #endif int menu_hash_get_help_jp_enum(enum msg_hash_enums msg, char *s, size_t len) diff --git a/intl/msg_hash_ja.h b/intl/msg_hash_ja.h index d4b4930e9e..0a98cc23fe 100644 --- a/intl/msg_hash_ja.h +++ b/intl/msg_hash_ja.h @@ -1,6 +1,7 @@ -#if defined(_MSC_VER) && !defined(_XBOX) +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) /* https://support.microsoft.com/en-us/kb/980263 */ #pragma execution_character_set("utf-8") +#pragma warning(disable:4566) #endif MSG_HASH( diff --git a/intl/msg_hash_ko.c b/intl/msg_hash_ko.c index 29b45397fd..a853dc88cc 100644 --- a/intl/msg_hash_ko.c +++ b/intl/msg_hash_ko.c @@ -25,10 +25,10 @@ #include "../configuration.h" #include "../verbosity.h" -#if defined(_MSC_VER) && !defined(_XBOX) +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) /* https://support.microsoft.com/en-us/kb/980263 */ #pragma execution_character_set("utf-8") -#pragma warning(disable: 4566) +#pragma warning(disable:4566) #endif int menu_hash_get_help_ko_enum(enum msg_hash_enums msg, char *s, size_t len) diff --git a/intl/msg_hash_ko.h b/intl/msg_hash_ko.h index 46db4aee26..aa4c0bbaff 100644 --- a/intl/msg_hash_ko.h +++ b/intl/msg_hash_ko.h @@ -1,4 +1,10 @@ -MSG_HASH( +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + +MSG_HASH( MSG_COMPILER, "컴파일러" ) diff --git a/intl/msg_hash_nl.c b/intl/msg_hash_nl.c index d350ea8414..823fb98b98 100644 --- a/intl/msg_hash_nl.c +++ b/intl/msg_hash_nl.c @@ -1,4 +1,4 @@ -/* RetroArch - A frontend for libretro. +/* RetroArch - A frontend for libretro. * Copyright (C) 2011-2017 - Daniel De Matteis * * RetroArch is free software: you can redistribute it and/or modify it under the terms @@ -21,6 +21,12 @@ #include "../msg_hash.h" +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + int menu_hash_get_help_nl_enum(enum msg_hash_enums msg, char *s, size_t len) { int ret = 0; diff --git a/intl/msg_hash_nl.h b/intl/msg_hash_nl.h index be9887997e..b25655dc48 100644 --- a/intl/msg_hash_nl.h +++ b/intl/msg_hash_nl.h @@ -1,3 +1,9 @@ +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + MSG_HASH( MSG_COMPILER, "Compiler" diff --git a/intl/msg_hash_pl.c b/intl/msg_hash_pl.c index 1ad5fa1a2b..e7c35164eb 100644 --- a/intl/msg_hash_pl.c +++ b/intl/msg_hash_pl.c @@ -17,10 +17,10 @@ #include "../msg_hash.h" -#if defined(_MSC_VER) && !defined(_XBOX) +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) /* https://support.microsoft.com/en-us/kb/980263 */ #pragma execution_character_set("utf-8") -#pragma warning( disable: 4566 ) +#pragma warning(disable:4566) #endif int menu_hash_get_help_pl_enum(enum msg_hash_enums msg, char *s, size_t len) diff --git a/intl/msg_hash_pl.h b/intl/msg_hash_pl.h index ebf1a6c89b..f422c5da32 100644 --- a/intl/msg_hash_pl.h +++ b/intl/msg_hash_pl.h @@ -1,4 +1,10 @@ -MSG_HASH( +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + +MSG_HASH( MSG_COMPILER, "Kompilator" ) diff --git a/intl/msg_hash_pt_br.c b/intl/msg_hash_pt_br.c index 86cb5487fd..0218497f6f 100644 --- a/intl/msg_hash_pt_br.c +++ b/intl/msg_hash_pt_br.c @@ -1,4 +1,4 @@ -/* RetroArch - A frontend for libretro. +/* RetroArch - A frontend for libretro. * Copyright (C) 2011-2017 - Daniel De Matteis * Copyright (C) 2016-2019 - Brad Parker * @@ -27,6 +27,12 @@ #ifdef RARCH_INTERNAL #include "../configuration.h" +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + int menu_hash_get_help_pt_br_enum(enum msg_hash_enums msg, char *s, size_t len) { settings_t *settings = config_get_ptr(); diff --git a/intl/msg_hash_pt_br.h b/intl/msg_hash_pt_br.h index d7c5605e14..b55bbc3d44 100644 --- a/intl/msg_hash_pt_br.h +++ b/intl/msg_hash_pt_br.h @@ -1,3 +1,9 @@ +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + #ifdef HAVE_LAKKA_SWITCH MSG_HASH( MENU_ENUM_LABEL_VALUE_SWITCH_GPU_PROFILE, diff --git a/intl/msg_hash_pt_pt.c b/intl/msg_hash_pt_pt.c index 416f592a56..d5df686ee6 100644 --- a/intl/msg_hash_pt_pt.c +++ b/intl/msg_hash_pt_pt.c @@ -1,4 +1,4 @@ -/* RetroArch - A frontend for libretro. +/* RetroArch - A frontend for libretro. * Copyright (C) 2011-2017 - Daniel De Matteis * * RetroArch is free software: you can redistribute it and/or modify it under the terms @@ -23,6 +23,12 @@ #include "../msg_hash.h" #include "../../configuration.h" +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + int menu_hash_get_help_pt_pt_enum(enum msg_hash_enums msg, char *s, size_t len) { settings_t *settings = config_get_ptr(); diff --git a/intl/msg_hash_pt_pt.h b/intl/msg_hash_pt_pt.h index 9b6e2fede6..90bdde5433 100644 --- a/intl/msg_hash_pt_pt.h +++ b/intl/msg_hash_pt_pt.h @@ -1,3 +1,9 @@ +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + MSG_HASH( MSG_COMPILER, "Compilador" diff --git a/intl/msg_hash_ru.c b/intl/msg_hash_ru.c index 9a48e61b7e..b7f9f9fa66 100644 --- a/intl/msg_hash_ru.c +++ b/intl/msg_hash_ru.c @@ -15,6 +15,12 @@ #include "../msg_hash.h" +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + const char *msg_hash_to_str_ru(enum msg_hash_enums msg) { switch (msg) diff --git a/intl/msg_hash_ru.h b/intl/msg_hash_ru.h index 7252b37afe..7edb2694ab 100644 --- a/intl/msg_hash_ru.h +++ b/intl/msg_hash_ru.h @@ -1,6 +1,7 @@ -#if defined(_MSC_VER) && !defined(_XBOX) +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) /* https://support.microsoft.com/en-us/kb/980263 */ #pragma execution_character_set("utf-8") +#pragma warning(disable:4566) #endif MSG_HASH( diff --git a/intl/msg_hash_tr.c b/intl/msg_hash_tr.c index ea39b4026e..41ab3a3fe2 100644 --- a/intl/msg_hash_tr.c +++ b/intl/msg_hash_tr.c @@ -1,4 +1,4 @@ -/* RetroArch - A frontend for libretro. +/* RetroArch - A frontend for libretro. * Copyright (C) 2011-2017 - Daniel De Matteis * Copyright (C) 2016-2019 - Brad Parker * @@ -27,6 +27,12 @@ #ifdef RARCH_INTERNAL #include "../configuration.h" +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + int menu_hash_get_help_tr_enum(enum msg_hash_enums msg, char *s, size_t len) { settings_t *settings = config_get_ptr(); diff --git a/intl/msg_hash_tr.h b/intl/msg_hash_tr.h index cbefc60667..33bbc081b4 100644 --- a/intl/msg_hash_tr.h +++ b/intl/msg_hash_tr.h @@ -1,3 +1,9 @@ +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + #ifdef HAVE_LAKKA_SWITCH MSG_HASH( MENU_ENUM_LABEL_VALUE_SWITCH_GPU_PROFILE, diff --git a/intl/msg_hash_vn.c b/intl/msg_hash_vn.c index 1769dd2b88..0a69ddfd71 100644 --- a/intl/msg_hash_vn.c +++ b/intl/msg_hash_vn.c @@ -1,4 +1,4 @@ -/* RetroArch - A frontend for libretro. +/* RetroArch - A frontend for libretro. * Copyright (C) 2011-2017 - Daniel De Matteis * Copyright (C) 2016-2019 - Brad Parker * @@ -25,9 +25,10 @@ #include "../configuration.h" #include "../verbosity.h" -#if defined(_MSC_VER) && !defined(_XBOX) +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) /* https://support.microsoft.com/en-us/kb/980263 */ #pragma execution_character_set("utf-8") +#pragma warning(disable:4566) #endif int menu_hash_get_help_vn_enum(enum msg_hash_enums msg, char *s, size_t len) diff --git a/intl/msg_hash_vn.h b/intl/msg_hash_vn.h index 0eb51fa021..995b1054c9 100644 --- a/intl/msg_hash_vn.h +++ b/intl/msg_hash_vn.h @@ -1,4 +1,10 @@ -MSG_HASH( +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + +MSG_HASH( MSG_COMPILER, "Compiler" ) diff --git a/menu/menu_cbs.c b/menu/menu_cbs.c index 002e5039fe..8c7f0e6da2 100644 --- a/menu/menu_cbs.c +++ b/menu/menu_cbs.c @@ -173,7 +173,7 @@ struct key_desc key_descriptors[RARCH_MAX_KEYS] = {RETROK_BREAK, "Break"}, {RETROK_MENU, "Menu"}, {RETROK_POWER, "Power"}, - {RETROK_EURO, "€"}, + {RETROK_EURO, {0xE2, 0x82, 0xAC, 0x00}}, /* "€" */ {RETROK_UNDO, "Undo"}, {RETROK_OEM_102, "OEM-102"} }; diff --git a/menu/widgets/menu_osk_utf8_pages.h b/menu/widgets/menu_osk_utf8_pages.h index 2ff1f9397a..d90100b484 100644 --- a/menu/widgets/menu_osk_utf8_pages.h +++ b/menu/widgets/menu_osk_utf8_pages.h @@ -14,9 +14,10 @@ * If not, see . */ -#if defined(_MSC_VER) && !defined(_XBOX) +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) /* https://support.microsoft.com/en-us/kb/980263 */ #pragma execution_character_set("utf-8") +#pragma warning(disable:4566) #endif static const char *symbols_page1_grid[] = { diff --git a/pkg/msvc/msvc-2015/RetroArch-msvc2015.vcxproj b/pkg/msvc/msvc-2015/RetroArch-msvc2015.vcxproj index a342d8ee05..1688487c05 100644 --- a/pkg/msvc/msvc-2015/RetroArch-msvc2015.vcxproj +++ b/pkg/msvc/msvc-2015/RetroArch-msvc2015.vcxproj @@ -197,6 +197,7 @@ Fast StreamingSIMDExtensions OldStyle + /utf-8 %(AdditionalOptions) Console @@ -217,6 +218,7 @@ Fast StreamingSIMDExtensions OldStyle + /utf-8 %(AdditionalOptions) Console @@ -238,6 +240,7 @@ /bigobj Fast OldStyle + /utf-8 %(AdditionalOptions) Console @@ -257,6 +260,7 @@ CompileAsCpp Fast OldStyle + /utf-8 %(AdditionalOptions) Console @@ -281,6 +285,7 @@ StreamingSIMDExtensions true OldStyle + /utf-8 %(AdditionalOptions) Console @@ -306,6 +311,7 @@ StreamingSIMDExtensions true OldStyle + /utf-8 %(AdditionalOptions) Console @@ -331,6 +337,7 @@ Fast true OldStyle + /utf-8 %(AdditionalOptions) Console @@ -355,6 +362,7 @@ Fast true OldStyle + /utf-8 %(AdditionalOptions) Console diff --git a/pkg/msvc/msvc-2017/RetroArch-msvc2017.vcxproj b/pkg/msvc/msvc-2017/RetroArch-msvc2017.vcxproj index ed8deec4b1..22f0f12594 100644 --- a/pkg/msvc/msvc-2017/RetroArch-msvc2017.vcxproj +++ b/pkg/msvc/msvc-2017/RetroArch-msvc2017.vcxproj @@ -556,6 +556,8 @@ Fast StreamingSIMDExtensions OldStyle + 4819 + /utf-8 %(AdditionalOptions) Console @@ -576,7 +578,8 @@ Fast StreamingSIMDExtensions OldStyle - /bigobj %(AdditionalOptions) + 4819 + /bigobj /utf-8 %(AdditionalOptions) Console @@ -598,6 +601,8 @@ Fast StreamingSIMDExtensions OldStyle + 4819 + /utf-8 %(AdditionalOptions) Console @@ -619,6 +624,8 @@ Fast StreamingSIMDExtensions OldStyle + 4819 + /utf-8 %(AdditionalOptions) Console @@ -640,6 +647,8 @@ Fast StreamingSIMDExtensions OldStyle + 4819 + /utf-8 %(AdditionalOptions) Console @@ -661,6 +670,8 @@ Fast StreamingSIMDExtensions OldStyle + 4819 + /utf-8 %(AdditionalOptions) Console @@ -682,6 +693,8 @@ Fast StreamingSIMDExtensions OldStyle + 4819 + /utf-8 %(AdditionalOptions) Console @@ -703,6 +716,8 @@ Fast StreamingSIMDExtensions OldStyle + 4819 + /utf-8 %(AdditionalOptions) Console @@ -723,6 +738,8 @@ CompileAsCpp Fast OldStyle + 4819 + /utf-8 %(AdditionalOptions) Console @@ -742,6 +759,8 @@ CompileAsCpp Fast OldStyle + 4819 + /utf-8 %(AdditionalOptions) Console @@ -762,6 +781,8 @@ CompileAsCpp Fast OldStyle + 4819 + /utf-8 %(AdditionalOptions) Console @@ -782,6 +803,8 @@ CompileAsCpp Fast OldStyle + 4819 + /utf-8 %(AdditionalOptions) Console @@ -806,6 +829,8 @@ StreamingSIMDExtensions true OldStyle + 4819 + /utf-8 %(AdditionalOptions) Console @@ -831,6 +856,8 @@ StreamingSIMDExtensions true OldStyle + 4819 + /utf-8 %(AdditionalOptions) Console @@ -857,6 +884,8 @@ StreamingSIMDExtensions true OldStyle + 4819 + /utf-8 %(AdditionalOptions) Console @@ -883,6 +912,8 @@ StreamingSIMDExtensions true OldStyle + 4819 + /utf-8 %(AdditionalOptions) Console @@ -909,6 +940,8 @@ StreamingSIMDExtensions true OldStyle + 4819 + /utf-8 %(AdditionalOptions) Console @@ -935,6 +968,8 @@ StreamingSIMDExtensions true OldStyle + 4819 + /utf-8 %(AdditionalOptions) Console @@ -961,6 +996,8 @@ StreamingSIMDExtensions true OldStyle + 4819 + /utf-8 %(AdditionalOptions) Console @@ -987,6 +1024,8 @@ StreamingSIMDExtensions true OldStyle + 4819 + /utf-8 %(AdditionalOptions) Console @@ -1012,6 +1051,8 @@ Fast true OldStyle + 4819 + /utf-8 %(AdditionalOptions) Console @@ -1037,6 +1078,8 @@ Fast true OldStyle + 4819 + /utf-8 %(AdditionalOptions) Console @@ -1062,6 +1105,8 @@ Fast true OldStyle + 4819 + /utf-8 %(AdditionalOptions) Console @@ -1087,6 +1132,8 @@ Fast true OldStyle + 4819 + /utf-8 %(AdditionalOptions) Console @@ -1911,4 +1958,4 @@ - + \ No newline at end of file diff --git a/ui/drivers/qt/shaderparamsdialog.cpp b/ui/drivers/qt/shaderparamsdialog.cpp index 6d884f954f..23b2ef8ab1 100644 --- a/ui/drivers/qt/shaderparamsdialog.cpp +++ b/ui/drivers/qt/shaderparamsdialog.cpp @@ -1,4 +1,4 @@ -#include +#include #include #include #include @@ -37,6 +37,12 @@ extern "C" { } #endif +#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900) +/* https://support.microsoft.com/en-us/kb/980263 */ +#pragma execution_character_set("utf-8") +#pragma warning(disable:4566) +#endif + enum { SHADER_PRESET_SAVE_CORE = 0, From 64a43dd2801de65214bef4f5d2014366617c6c6e Mon Sep 17 00:00:00 2001 From: Dwedit Date: Tue, 21 May 2019 20:09:05 -0500 Subject: [PATCH 2/4] Move `#pragma code_page(932)` into `rarch.rc`, as `#pragma code_page` is ignored for included files. Fixes locale problems for Japanese resources. --- media/rarch.rc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/media/rarch.rc b/media/rarch.rc index ebd8d5142b..fb7af6e78b 100644 --- a/media/rarch.rc +++ b/media/rarch.rc @@ -102,4 +102,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL 2 RT_MANIFEST "rarch.manifest" +// Per the documentation, this should be used before including resource files. +// https://docs.microsoft.com/en-us/windows/desktop/menurc/pragma-directives +#pragma code_page(932) #include "rarch_ja.rc" From f8002218cd48f0bbeb095ff5b80c34ba5dd9821f Mon Sep 17 00:00:00 2001 From: Dwedit Date: Tue, 21 May 2019 20:56:52 -0500 Subject: [PATCH 3/4] attempt to fix narrowing char compiler error --- menu/menu_cbs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/menu/menu_cbs.c b/menu/menu_cbs.c index 8c7f0e6da2..535a81a062 100644 --- a/menu/menu_cbs.c +++ b/menu/menu_cbs.c @@ -173,7 +173,7 @@ struct key_desc key_descriptors[RARCH_MAX_KEYS] = {RETROK_BREAK, "Break"}, {RETROK_MENU, "Menu"}, {RETROK_POWER, "Power"}, - {RETROK_EURO, {0xE2, 0x82, 0xAC, 0x00}}, /* "€" */ + {RETROK_EURO, {(char)0xE2, (char)0x82, (char)0xAC, (char)0x00}}, /* "€" */ {RETROK_UNDO, "Undo"}, {RETROK_OEM_102, "OEM-102"} }; From dac332a123ee2b5923fbe54104a5ed8442414784 Mon Sep 17 00:00:00 2001 From: Dwedit Date: Tue, 21 May 2019 21:08:13 -0500 Subject: [PATCH 4/4] explicitly enter signed chars and avoid undefined behavior --- menu/menu_cbs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/menu/menu_cbs.c b/menu/menu_cbs.c index 535a81a062..e21d330e4c 100644 --- a/menu/menu_cbs.c +++ b/menu/menu_cbs.c @@ -173,7 +173,7 @@ struct key_desc key_descriptors[RARCH_MAX_KEYS] = {RETROK_BREAK, "Break"}, {RETROK_MENU, "Menu"}, {RETROK_POWER, "Power"}, - {RETROK_EURO, {(char)0xE2, (char)0x82, (char)0xAC, (char)0x00}}, /* "€" */ + {RETROK_EURO, {-30, -126, -84, 0}}, /* "€" */ {RETROK_UNDO, "Undo"}, {RETROK_OEM_102, "OEM-102"} };