Skip to content

Commit 55ff975

Browse files
committed
Frontend messages (not yet hooked up).
1 parent 43edc8c commit 55ff975

File tree

4 files changed

+238
-9
lines changed

4 files changed

+238
-9
lines changed

intl/msg_hash_us.c

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -511,6 +511,51 @@ int msg_hash_get_help_us_enum(enum msg_hash_enums msg, char *s, size_t len)
511511
}
512512
#endif
513513

514+
#define ERROR_CODE_CASE(CODE) \
515+
case CODE :\
516+
strlcpy(s, msg_hash_to_str(MSG_##CODE), len);\
517+
break;
518+
519+
int msg_hash_get_error_msg_us_enum(enum retro_error err, char *s, size_t len)
520+
{
521+
settings_t *settings = config_get_ptr();
522+
523+
switch (err)
524+
{
525+
ERROR_CODE_CASE(RETROE_UNSUPPORTED_CONTENT)
526+
ERROR_CODE_CASE(RETROE_UNSUPPORTED_CONTENT_ISO_FORMAT_ERROR)
527+
ERROR_CODE_CASE(RETROE_UNSUPPORTED_CONTENT_CHD_FORMAT_ERROR)
528+
ERROR_CODE_CASE(RETROE_UNSUPPORTED_CONTENT_CUE_FORMAT_ERROR)
529+
ERROR_CODE_CASE(RETROE_UNSUPPORTED_CONTENT_BIN_FORMAT_ERROR)
530+
ERROR_CODE_CASE(RETROE_UNSUPPORTED_CONTENT_ZIP_FORMAT_ERROR)
531+
ERROR_CODE_CASE(RETROE_UNSUPPORTED_CONTENT_7Z_FORMAT_ERROR)
532+
ERROR_CODE_CASE(RETROE_UNSUPPORTED_CONTENT_FORMAT)
533+
ERROR_CODE_CASE(RETROE_MISSING_BIOS)
534+
ERROR_CODE_CASE(RETROE_MISSING_BIOS_REGION_PAL)
535+
ERROR_CODE_CASE(RETROE_MISSING_BIOS_REGION_NTSC)
536+
ERROR_CODE_CASE(RETROE_MISSING_BIOS_REGION_WORLD)
537+
ERROR_CODE_CASE(RETROE_MISSING_BIOS_REGION_COUNTRY)
538+
ERROR_CODE_CASE(RETROE_HARDWARE_RENDERING)
539+
ERROR_CODE_CASE(RETROE_HARDWARE_RENDERING_VULKAN_NOT_AVAILABLE)
540+
ERROR_CODE_CASE(RETROE_HARDWARE_RENDERING_VULKAN_VERSION_ERROR)
541+
ERROR_CODE_CASE(RETROE_HARDWARE_RENDERING_OPENGL_NOT_AVAILABLE)
542+
ERROR_CODE_CASE(RETROE_HARDWARE_RENDERING_OPENGL_VERSION_ERROR)
543+
ERROR_CODE_CASE(RETROE_HARDWARE_RENDERING_DX11_NOT_AVAILABLE)
544+
ERROR_CODE_CASE(RETROE_HARDWARE_RENDERING_DX12_NOT_AVAILABLE)
545+
ERROR_CODE_CASE(RETROE_HARDWARE_RENDERING_PXFMT_XRGB8888_UNSUPP)
546+
ERROR_CODE_CASE(RETROE_HARDWARE_RENDERING_PXFMT_RGB565_UNSUPP)
547+
ERROR_CODE_CASE(RETROE_UNSUPPORTED_ACTION)
548+
ERROR_CODE_CASE(RETROE_UNSUPPORTED_ACTION_SERIALIZE)
549+
ERROR_CODE_CASE(RETROE_UNSUPPORTED_ACTION_UNSERIALIZE)
550+
ERROR_CODE_CASE(RETROE_UNSUPPORTED_ACTION_UNSERIALIZE_FORMAT)
551+
ERROR_CODE_CASE(RETROE_UNSUPPORTED_ACTION_CORE_OPTION_COMBI)
552+
553+
default:
554+
return -1;
555+
}
556+
return 0;
557+
}
558+
514559
#ifdef HAVE_MENU
515560
static const char *menu_hash_to_str_us_label_enum(enum msg_hash_enums msg)
516561
{

intl/msg_hash_us.h

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16707,6 +16707,134 @@ MSG_HASH(
1670716707
MSG_AI_SERVICE_STOPPED,
1670816708
"stopped."
1670916709
)
16710+
MSG_HASH(
16711+
MSG_RETROE_UNSUPPORTED_CONTENT,
16712+
"This core does not support this kind of content."
16713+
)
16714+
MSG_HASH(
16715+
MSG_RETROE_UNSUPPORTED_CONTENT_ISO_FORMAT_ERROR,
16716+
"This core does not support the specific ISO format of this content."
16717+
)
16718+
MSG_HASH(
16719+
MSG_RETROE_UNSUPPORTED_CONTENT_CHD_FORMAT_ERROR,
16720+
"This core does not support the specific CHD format of this content."
16721+
)
16722+
MSG_HASH(
16723+
MSG_RETROE_UNSUPPORTED_CONTENT_CUE_FORMAT_ERROR,
16724+
"This core does not support the specific CUE format of this content."
16725+
)
16726+
MSG_HASH(
16727+
MSG_RETROE_UNSUPPORTED_CONTENT_BIN_FORMAT_ERROR,
16728+
"This core does not support the specific BIN format of this content."
16729+
)
16730+
MSG_HASH(
16731+
MSG_RETROE_UNSUPPORTED_CONTENT_ZIP_FORMAT_ERROR,
16732+
"This core does not support the specific ZIP format of this content."
16733+
)
16734+
MSG_HASH(
16735+
MSG_RETROE_UNSUPPORTED_CONTENT_7Z_FORMAT_ERROR,
16736+
"This core does not support the specific 7Z format of this content."
16737+
)
16738+
MSG_HASH(
16739+
MSG_RETROE_UNSUPPORTED_CONTENT_FORMAT,
16740+
"This core does not support the specific format of this content."
16741+
)
16742+
MSG_HASH(
16743+
MSG_RETROE_MISSING_BIOS,
16744+
"Necessary BIOS file(s) to run this content are not present."
16745+
)
16746+
MSG_HASH(
16747+
MSG_RETROE_MISSING_BIOS_REGION_PAL,
16748+
"Necessary PAL region BIOS file(s) to run this content are not present."
16749+
)
16750+
MSG_HASH(
16751+
MSG_RETROE_MISSING_BIOS_REGION_NTSC,
16752+
"Necessary NTSC region BIOS file(s) to run this content are not present."
16753+
)
16754+
MSG_HASH(
16755+
MSG_RETROE_MISSING_BIOS_REGION_WORLD,
16756+
"Necessary world region BIOS file(s) to run this content are not present."
16757+
)
16758+
MSG_HASH(
16759+
MSG_RETROE_MISSING_BIOS_REGION_USA,
16760+
"Necessary USA region BIOS file(s) to run this content are not present."
16761+
)
16762+
MSG_HASH(
16763+
MSG_RETROE_MISSING_BIOS_REGION_JAPAN,
16764+
"Necessary Japan region BIOS file(s) to run this content are not present."
16765+
)
16766+
MSG_HASH(
16767+
MSG_RETROE_MISSING_BIOS_REGION_EUROPE,
16768+
"Necessary Europe region BIOS file(s) to run this content are not present."
16769+
)
16770+
MSG_HASH(
16771+
MSG_RETROE_MISSING_BIOS_REGION_BRAZIL,
16772+
"Necessary Brazil region BIOS file(s) to run this content are not present."
16773+
)
16774+
MSG_HASH(
16775+
MSG_RETROE_MISSING_BIOS_REGION_COUNTRY,
16776+
"Necessary country specific BIOS file(s) to run this content are not present."
16777+
)
16778+
MSG_HASH(
16779+
MSG_RETROE_MISSING_SYSTEM_FILES,
16780+
"Necessary system file(s) to run this content are not present, they may be retrieved with the online updater."
16781+
)
16782+
MSG_HASH(
16783+
MSG_RETROE_HARDWARE_RENDERING,
16784+
"This core would require a hardware rendering feature that is not available."
16785+
)
16786+
MSG_HASH(
16787+
MSG_RETROE_HARDWARE_RENDERING_VULKAN_NOT_AVAILABLE,
16788+
"This core would require Vulkan rendering that is not available."
16789+
)
16790+
MSG_HASH(
16791+
MSG_RETROE_HARDWARE_RENDERING_VULKAN_VERSION_ERROR,
16792+
"This core would require Vulkan rendering version that is not available."
16793+
)
16794+
MSG_HASH(
16795+
MSG_RETROE_HARDWARE_RENDERING_OPENGL_NOT_AVAILABLE,
16796+
"This core would require OpenGL rendering that is not available."
16797+
)
16798+
MSG_HASH(
16799+
MSG_RETROE_HARDWARE_RENDERING_OPENGL_VERSION_ERROR,
16800+
"This core would require OpenGL rendering version that is not available."
16801+
)
16802+
MSG_HASH(
16803+
MSG_RETROE_HARDWARE_RENDERING_DX11_NOT_AVAILABLE,
16804+
"This core would require DirectX 11 rendering that is not available."
16805+
)
16806+
MSG_HASH(
16807+
MSG_RETROE_HARDWARE_RENDERING_DX12_NOT_AVAILABLE,
16808+
"This core would require DirectX 12 rendering that is not available."
16809+
)
16810+
MSG_HASH(
16811+
MSG_RETROE_HARDWARE_RENDERING_PXFMT_XRGB8888_UNSUPP,
16812+
"This core would require pixel format XRGB8888 that is not available."
16813+
)
16814+
MSG_HASH(
16815+
MSG_RETROE_HARDWARE_RENDERING_PXFMT_RGB565_UNSUPP,
16816+
"This core would require pixel format RGB565 that is not available."
16817+
)
16818+
MSG_HASH(
16819+
MSG_RETROE_UNSUPPORTED_ACTION,
16820+
"This core does not support this action."
16821+
)
16822+
MSG_HASH(
16823+
MSG_RETROE_UNSUPPORTED_ACTION_SERIALIZE,
16824+
"This core does not support serialization (save states)."
16825+
)
16826+
MSG_HASH(
16827+
MSG_RETROE_UNSUPPORTED_ACTION_UNSERIALIZE,
16828+
"This core does not support unserialization (save state loading)."
16829+
)
16830+
MSG_HASH(
16831+
MSG_RETROE_UNSUPPORTED_ACTION_UNSERIALIZE_FORMAT,
16832+
"Error encountered with save state format."
16833+
)
16834+
MSG_HASH(
16835+
MSG_RETROE_UNSUPPORTED_ACTION_CORE_OPTION_COMBI,
16836+
"This combination of core options is invalid."
16837+
)
1671016838
#ifdef HAVE_GAME_AI
1671116839
MSG_HASH(
1671216840
MENU_ENUM_LABEL_VALUE_GAME_AI_MENU_OPTION,

libretro-common/include/libretro.h

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -716,43 +716,67 @@ enum retro_mod
716716
* Explicitly listed errors within a range may have localized error
717717
* messages maintained by the frontend. The first item in the range
718718
* acts as a generic error indication for that kind of error.
719+
*
720+
* Frontend codes not in the list may be sent, but not encouraged as
721+
* later updates may extend the mapping.
722+
* Lower 16 bits are reserved for the core and can be freely defined.
719723
* @see RETRO_ENVIRONMENT_SET_ERROR_CODE
720724
*/
721725
enum retro_error
722726
{
723727
RETROE_NONE = 0x00000000,
724728

725-
RETROE_UNSUPPORTED_CONTENT = 0x01000000,
729+
/* A problem with the content not covered by more specific codes */
730+
RETROE_UNSUPPORTED_CONTENT = 0x01000000,
731+
/* The format is recognized, but internal contents are not appropriate for the core */
726732
RETROE_UNSUPPORTED_CONTENT_ISO_FORMAT_ERROR = 0x01010000,
727733
RETROE_UNSUPPORTED_CONTENT_CHD_FORMAT_ERROR = 0x01020000,
728734
RETROE_UNSUPPORTED_CONTENT_CUE_FORMAT_ERROR = 0x01030000,
729735
RETROE_UNSUPPORTED_CONTENT_BIN_FORMAT_ERROR = 0x01040000,
730736
RETROE_UNSUPPORTED_CONTENT_ZIP_FORMAT_ERROR = 0x01050000,
731737
RETROE_UNSUPPORTED_CONTENT_7Z_FORMAT_ERROR = 0x01060000,
738+
/* The format is not recognized. */
732739
RETROE_UNSUPPORTED_CONTENT_FORMAT = 0x01100000,
733-
RETROE_UNSUPPORTED_CONTENT_RANGE_END = 0x01FFFFFF,
734-
RETROE_MISSING_BIOS = 0x02000000,
740+
RETROE_UNSUPPORTED_CONTENT_RANGE_END = 0x01FFFFFF,
741+
/* A problem with firmware / BIOS not covered by more specific codes. */
742+
RETROE_MISSING_BIOS = 0x02000000,
743+
/* Content would need region specific BIOS that is not found */
735744
RETROE_MISSING_BIOS_REGION_PAL = 0x02010000,
736745
RETROE_MISSING_BIOS_REGION_NTSC = 0x02020000,
737746
RETROE_MISSING_BIOS_REGION_WORLD = 0x02030000,
738-
RETROE_MISSING_BIOS_REGION_COUNTRY = 0x02030000,
739-
RETROE_MISSING_BIOS_RANGE_END = 0x02FFFFFF,
740-
RETROE_HARDWARE_RENDERING = 0x03000000,
747+
/* Content would need country specific BIOS that is not found */
748+
RETROE_MISSING_BIOS_REGION_USA = 0x02100000,
749+
RETROE_MISSING_BIOS_REGION_JAPAN = 0x02110000,
750+
RETROE_MISSING_BIOS_REGION_EUROPE = 0x02120000,
751+
RETROE_MISSING_BIOS_REGION_BRAZIL = 0x02130000,
752+
/* Content would need other country specific BIOS that is not found */
753+
RETROE_MISSING_BIOS_REGION_COUNTRY = 0x02200000,
754+
/* Content would need system files from online updater */
755+
RETROE_MISSING_SYSTEM_FILES = 0x02300000,
756+
RETROE_MISSING_BIOS_RANGE_END = 0x02FFFFFF,
757+
/* A problem with the available display rendering from the frontend */
758+
RETROE_HARDWARE_RENDERING = 0x03000000,
759+
/* Specific API not available in general or with the required version */
741760
RETROE_HARDWARE_RENDERING_VULKAN_NOT_AVAILABLE = 0x03010000,
742761
RETROE_HARDWARE_RENDERING_VULKAN_VERSION_ERROR = 0x03020000,
743762
RETROE_HARDWARE_RENDERING_OPENGL_NOT_AVAILABLE = 0x03030000,
744763
RETROE_HARDWARE_RENDERING_OPENGL_VERSION_ERROR = 0x03040000,
745764
RETROE_HARDWARE_RENDERING_DX11_NOT_AVAILABLE = 0x03050000,
746765
RETROE_HARDWARE_RENDERING_DX12_NOT_AVAILABLE = 0x03060000,
766+
/* Specific pixel format not available */
747767
RETROE_HARDWARE_RENDERING_PXFMT_XRGB8888_UNSUPP = 0x03110000,
748768
RETROE_HARDWARE_RENDERING_PXFMT_RGB565_UNSUPP = 0x03120000,
749-
RETROE_HARDWARE_RENDERING_RANGE_END = 0x03FFFFFF,
750-
RETROE_UNSUPPORTED_ACTION = 0x04000000,
769+
RETROE_HARDWARE_RENDERING_RANGE_END = 0x03FFFFFF,
770+
/* The action from the frontend is not supported by the core */
771+
RETROE_UNSUPPORTED_ACTION = 0x04000000,
772+
/* (Un)serialization (save state, netplay) not available */
751773
RETROE_UNSUPPORTED_ACTION_SERIALIZE = 0x04010000,
752774
RETROE_UNSUPPORTED_ACTION_UNSERIALIZE = 0x04020000,
775+
/* Unserialization is available but the actual file is not compatible */
753776
RETROE_UNSUPPORTED_ACTION_UNSERIALIZE_FORMAT = 0x04030000,
777+
/* The currently selected core option combination is not valid */
754778
RETROE_UNSUPPORTED_ACTION_CORE_OPTION_COMBI = 0x04040000,
755-
RETROE_UNSUPPORTED_ACTION_RANGE_END = 0x04FFFFFF,
779+
RETROE_UNSUPPORTED_ACTION_RANGE_END = 0x04FFFFFF,
756780

757781
RETROE_DUMMY = INT_MAX /* Ensure sizeof(enum) == sizeof(int) */
758782
};

msg_hash.h

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4294,6 +4294,38 @@ enum msg_hash_enums
42944294
MSG_3DS_BOTTOM_MENU_SAVE_STATE,
42954295
MSG_3DS_BOTTOM_MENU_LOAD_STATE,
42964296

4297+
MSG_RETROE_UNSUPPORTED_CONTENT,
4298+
MSG_RETROE_UNSUPPORTED_CONTENT_ISO_FORMAT_ERROR,
4299+
MSG_RETROE_UNSUPPORTED_CONTENT_CHD_FORMAT_ERROR,
4300+
MSG_RETROE_UNSUPPORTED_CONTENT_CUE_FORMAT_ERROR,
4301+
MSG_RETROE_UNSUPPORTED_CONTENT_BIN_FORMAT_ERROR,
4302+
MSG_RETROE_UNSUPPORTED_CONTENT_ZIP_FORMAT_ERROR,
4303+
MSG_RETROE_UNSUPPORTED_CONTENT_7Z_FORMAT_ERROR,
4304+
MSG_RETROE_UNSUPPORTED_CONTENT_FORMAT,
4305+
MSG_RETROE_MISSING_BIOS,
4306+
MSG_RETROE_MISSING_BIOS_REGION_PAL,
4307+
MSG_RETROE_MISSING_BIOS_REGION_NTSC,
4308+
MSG_RETROE_MISSING_BIOS_REGION_WORLD,
4309+
MSG_RETROE_MISSING_BIOS_REGION_USA,
4310+
MSG_RETROE_MISSING_BIOS_REGION_JAPAN,
4311+
MSG_RETROE_MISSING_BIOS_REGION_EUROPE,
4312+
MSG_RETROE_MISSING_BIOS_REGION_BRAZIL,
4313+
MSG_RETROE_MISSING_BIOS_REGION_COUNTRY,
4314+
MSG_RETROE_MISSING_SYSTEM_FILES,
4315+
MSG_RETROE_HARDWARE_RENDERING,
4316+
MSG_RETROE_HARDWARE_RENDERING_VULKAN_NOT_AVAILABLE,
4317+
MSG_RETROE_HARDWARE_RENDERING_VULKAN_VERSION_ERROR,
4318+
MSG_RETROE_HARDWARE_RENDERING_OPENGL_NOT_AVAILABLE,
4319+
MSG_RETROE_HARDWARE_RENDERING_OPENGL_VERSION_ERROR,
4320+
MSG_RETROE_HARDWARE_RENDERING_DX11_NOT_AVAILABLE,
4321+
MSG_RETROE_HARDWARE_RENDERING_DX12_NOT_AVAILABLE,
4322+
MSG_RETROE_HARDWARE_RENDERING_PXFMT_XRGB8888_UNSUPP,
4323+
MSG_RETROE_HARDWARE_RENDERING_PXFMT_RGB565_UNSUPP,
4324+
MSG_RETROE_UNSUPPORTED_ACTION,
4325+
MSG_RETROE_UNSUPPORTED_ACTION_SERIALIZE,
4326+
MSG_RETROE_UNSUPPORTED_ACTION_UNSERIALIZE,
4327+
MSG_RETROE_UNSUPPORTED_ACTION_UNSERIALIZE_FORMAT,
4328+
MSG_RETROE_UNSUPPORTED_ACTION_CORE_OPTION_COMBI,
42974329

42984330
#ifdef HAVE_GAME_AI
42994331
MENU_LABEL(QUICK_MENU_SHOW_GAME_AI),

0 commit comments

Comments
 (0)