As reported in PR #223, having UTF-8 characters in libretro_core_options.h requires a BOM marker + build fix when using MSVC 2010-2013.
Unfortunately, simply adding a BOM breaks any possible compatibility with c89.
This PR fixes the issue by updating the core options definition code to v1.3 format, which means the following:
All non-US-English translations are moved from libretro_core_options.h to a new libretro_core_options_intl.h file
libretro_core_options_intl.h includes a BOM marker + the MSVC build fix from PR #223
We now check for a new define flag: HAVE_NO_LANGEXTRA. If this is set, libretro_core_options_intl.h is ignored (i.e. we don't break c89 compilation) and only US-English option definitions are used. (Note that HAVE_NO_LANGEXTRA is currently unset here for all platforms)
As reported in PR #223, having UTF-8 characters in
libretro_core_options.h
requires a BOM marker + build fix when using MSVC 2010-2013.Unfortunately, simply adding a BOM breaks any possible compatibility with c89.
This PR fixes the issue by updating the core options definition code to v1.3 format, which means the following:
All non-US-English translations are moved from
libretro_core_options.h
to a newlibretro_core_options_intl.h
filelibretro_core_options_intl.h
includes a BOM marker + the MSVC build fix from PR #223We now check for a new define flag:
HAVE_NO_LANGEXTRA
. If this is set,libretro_core_options_intl.h
is ignored (i.e. we don't break c89 compilation) and only US-English option definitions are used. (Note thatHAVE_NO_LANGEXTRA
is currently unset here for all platforms)This replaces PR #223