diff --git a/Makefile b/Makefile index 5325b2b..423f734 100644 --- a/Makefile +++ b/Makefile @@ -624,9 +624,7 @@ else endif $(TARGET): $(OBJECTS) -ifeq ($(platform), emscripten) - $(CXX) $(CXXFLAGS) -o $@ $^ -else ifeq ($(STATIC_LINKING), 1) +ifeq ($(STATIC_LINKING), 1) $(AR) rcs $@ $(OBJECTS) else $(LD) $(LINKOUT)$@ $^ $(LDFLAGS) diff --git a/libretro.cpp b/libretro.cpp index 8587581..51f0bcd 100644 --- a/libretro.cpp +++ b/libretro.cpp @@ -31,6 +31,7 @@ static retro_input_poll_t input_poll_cb; static retro_input_state_t input_state_cb; static bool overscan; +static bool force_60hz; static MDFN_PixelFormat last_pixel_format; static unsigned rotate_mode; @@ -150,6 +151,17 @@ static void check_variables(void) rotate_fixed = 3; } } + + var.key = "lynx_force_60hz"; + var.value = NULL; + + if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value) + { + if (strcmp(var.value, "enabled") == 0) + force_60hz = true; + else + force_60hz = false; + } } #define MAX_PLAYERS 1 @@ -468,7 +480,10 @@ void retro_get_system_info(struct retro_system_info *info) void retro_get_system_av_info(struct retro_system_av_info *info) { memset(info, 0, sizeof(*info)); - info->timing.fps = MEDNAFEN_CORE_TIMING_FPS; + if (!force_60hz) + info->timing.fps = MEDNAFEN_CORE_TIMING_FPS; + else + info->timing.fps = 60.0; info->timing.sample_rate = 44100.0; info->geometry.base_width = MEDNAFEN_CORE_GEOMETRY_BASE_W; info->geometry.base_height = MEDNAFEN_CORE_GEOMETRY_BASE_H; diff --git a/libretro_core_options.h b/libretro_core_options.h index 1d6c4df..332eab7 100644 --- a/libretro_core_options.h +++ b/libretro_core_options.h @@ -94,6 +94,21 @@ struct retro_core_option_v2_definition option_defs_us[] = { "16", }, + { + "lynx_force_60hz", + "Force 60Hz", + NULL, + "Force 60Hz instead of original 75Hz refresh rate, for perfectly smooth movement on 60Hz displays", + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; diff --git a/libretro_core_options_intl.h b/libretro_core_options_intl.h index 76dfda9..665ce92 100644 --- a/libretro_core_options_intl.h +++ b/libretro_core_options_intl.h @@ -46,6 +46,8 @@ extern "C" { #define LYNX_PIX_FORMAT_LABEL_AR NULL #define OPTION_VAL_16_AR NULL #define OPTION_VAL_32_AR NULL +#define LYNX_FORCE_60HZ_LABEL_AR NULL +#define LYNX_FORCE_60HZ_INFO_0_AR NULL struct retro_core_option_v2_category option_cats_ar[] = { { NULL, NULL, NULL }, @@ -90,6 +92,21 @@ struct retro_core_option_v2_definition option_defs_ar[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_AR, + NULL, + LYNX_FORCE_60HZ_INFO_0_AR, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_ar = { @@ -106,6 +123,8 @@ struct retro_core_options_v2 options_ar = { #define LYNX_PIX_FORMAT_LABEL_AST NULL #define OPTION_VAL_16_AST NULL #define OPTION_VAL_32_AST NULL +#define LYNX_FORCE_60HZ_LABEL_AST NULL +#define LYNX_FORCE_60HZ_INFO_0_AST NULL struct retro_core_option_v2_category option_cats_ast[] = { { NULL, NULL, NULL }, @@ -150,6 +169,21 @@ struct retro_core_option_v2_definition option_defs_ast[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_AST, + NULL, + LYNX_FORCE_60HZ_INFO_0_AST, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_ast = { @@ -157,15 +191,94 @@ struct retro_core_options_v2 options_ast = { option_defs_ast }; +/* RETRO_LANGUAGE_BE */ + +#define LYNX_ROT_SCREEN_LABEL_BE NULL +#define LYNX_ROT_SCREEN_INFO_0_BE NULL +#define OPTION_VAL_AUTO_BE "Аўта" +#define OPTION_VAL_MANUAL_BE NULL +#define LYNX_PIX_FORMAT_LABEL_BE NULL +#define OPTION_VAL_16_BE NULL +#define OPTION_VAL_32_BE NULL +#define LYNX_FORCE_60HZ_LABEL_BE NULL +#define LYNX_FORCE_60HZ_INFO_0_BE NULL + +struct retro_core_option_v2_category option_cats_be[] = { + { NULL, NULL, NULL }, +}; +struct retro_core_option_v2_definition option_defs_be[] = { + + /* These variable names and possible values constitute an ABI with ZMZ (ZSNES Libretro player). + * Changing "Show layer 1" is fine, but don't change "layer_1"/etc or the possible values ("Yes|No"). + * Adding more variables and rearranging them is safe. */ + + { + "lynx_rot_screen", + LYNX_ROT_SCREEN_LABEL_BE, + NULL, + LYNX_ROT_SCREEN_INFO_0_BE, + NULL, + NULL, + { + { "auto", OPTION_VAL_AUTO_BE }, + { "manual", OPTION_VAL_MANUAL_BE }, + { "0", NULL }, + { "90", NULL }, + { "180", NULL }, + { "270", NULL }, + { NULL, NULL}, + }, + "auto", + }, + + { + "lynx_pix_format", + LYNX_PIX_FORMAT_LABEL_BE, + NULL, + "", + NULL, + NULL, + { + { "16", OPTION_VAL_16_BE }, + { "32", OPTION_VAL_32_BE }, + { NULL, NULL}, + }, + "16", + }, + + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_BE, + NULL, + LYNX_FORCE_60HZ_INFO_0_BE, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, +}; +struct retro_core_options_v2 options_be = { + option_cats_be, + option_defs_be +}; + /* RETRO_LANGUAGE_CA */ -#define LYNX_ROT_SCREEN_LABEL_CA NULL -#define LYNX_ROT_SCREEN_INFO_0_CA NULL +#define LYNX_ROT_SCREEN_LABEL_CA "Gir de Pantalla Automàtic" +#define LYNX_ROT_SCREEN_INFO_0_CA "Gira virtualment l'orientació de la pantalla i els mapes de botons per a jocs coneguts. Quan s'estableix a \"Manual\", la rotació de la pantalla s'ajusta prement el botó SELECT; en cas contrari, es pot establir una rotació fixa a 0, 90, 180 o 270 graus en sentit contrari a les agulles del rellotge." #define OPTION_VAL_AUTO_CA "Automàtic" #define OPTION_VAL_MANUAL_CA NULL -#define LYNX_PIX_FORMAT_LABEL_CA NULL +#define LYNX_PIX_FORMAT_LABEL_CA "Format de Color (Reinici Necessari)" #define OPTION_VAL_16_CA NULL #define OPTION_VAL_32_CA NULL +#define LYNX_FORCE_60HZ_LABEL_CA NULL +#define LYNX_FORCE_60HZ_INFO_0_CA NULL struct retro_core_option_v2_category option_cats_ca[] = { { NULL, NULL, NULL }, @@ -210,6 +323,21 @@ struct retro_core_option_v2_definition option_defs_ca[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_CA, + NULL, + LYNX_FORCE_60HZ_INFO_0_CA, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_ca = { @@ -220,12 +348,14 @@ struct retro_core_options_v2 options_ca = { /* RETRO_LANGUAGE_CHS */ #define LYNX_ROT_SCREEN_LABEL_CHS "自动旋转屏幕" -#define LYNX_ROT_SCREEN_INFO_0_CHS "为已知游戏自动旋转虚拟屏幕方向和按钮映射。 当设置为'手动'时,按选择按钮调整屏幕旋转,否则可以将固定旋转设置为逆时针旋转 0、90、180 或 270 度。" +#define LYNX_ROT_SCREEN_INFO_0_CHS "为已知游戏自动旋转虚拟屏幕方向和按键映射。当设置为“手动”时,按选择按钮调整屏幕旋转,否则可以设置 逆时针旋转0°、90°、180° 或 270 °为固定旋转角度。" #define OPTION_VAL_AUTO_CHS "自动" -#define OPTION_VAL_MANUAL_CHS "手工" -#define LYNX_PIX_FORMAT_LABEL_CHS "聊天格式 (需要重启)" -#define OPTION_VAL_16_CHS "16位 (RGB565)" -#define OPTION_VAL_32_CHS "32位 (RGB8888)" +#define OPTION_VAL_MANUAL_CHS "手动" +#define LYNX_PIX_FORMAT_LABEL_CHS "色彩格式 (需要重启)" +#define OPTION_VAL_16_CHS "16位格式 (RGB565格式)" +#define OPTION_VAL_32_CHS "32位 格式(RGB8888格式)" +#define LYNX_FORCE_60HZ_LABEL_CHS NULL +#define LYNX_FORCE_60HZ_INFO_0_CHS NULL struct retro_core_option_v2_category option_cats_chs[] = { { NULL, NULL, NULL }, @@ -270,6 +400,21 @@ struct retro_core_option_v2_definition option_defs_chs[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_CHS, + NULL, + LYNX_FORCE_60HZ_INFO_0_CHS, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_chs = { @@ -286,6 +431,8 @@ struct retro_core_options_v2 options_chs = { #define LYNX_PIX_FORMAT_LABEL_CHT "色彩格式 (需要重新啟動)" #define OPTION_VAL_16_CHT "16位元 (RGB565)" #define OPTION_VAL_32_CHT "32位元 (RGB8888)" +#define LYNX_FORCE_60HZ_LABEL_CHT NULL +#define LYNX_FORCE_60HZ_INFO_0_CHT NULL struct retro_core_option_v2_category option_cats_cht[] = { { NULL, NULL, NULL }, @@ -330,6 +477,21 @@ struct retro_core_option_v2_definition option_defs_cht[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_CHT, + NULL, + LYNX_FORCE_60HZ_INFO_0_CHT, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_cht = { @@ -346,6 +508,8 @@ struct retro_core_options_v2 options_cht = { #define LYNX_PIX_FORMAT_LABEL_CS "Formát barev (nutný restart)" #define OPTION_VAL_16_CS NULL #define OPTION_VAL_32_CS NULL +#define LYNX_FORCE_60HZ_LABEL_CS "Vynutit 60Hz" +#define LYNX_FORCE_60HZ_INFO_0_CS "Vynucení 60 Hz namísto původní obnovovací frekvence 75 Hz pro dokonale plynulý pohyb na 60Hz displejích" struct retro_core_option_v2_category option_cats_cs[] = { { NULL, NULL, NULL }, @@ -390,6 +554,21 @@ struct retro_core_option_v2_definition option_defs_cs[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_CS, + NULL, + LYNX_FORCE_60HZ_INFO_0_CS, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_cs = { @@ -406,6 +585,8 @@ struct retro_core_options_v2 options_cs = { #define LYNX_PIX_FORMAT_LABEL_CY NULL #define OPTION_VAL_16_CY NULL #define OPTION_VAL_32_CY NULL +#define LYNX_FORCE_60HZ_LABEL_CY NULL +#define LYNX_FORCE_60HZ_INFO_0_CY NULL struct retro_core_option_v2_category option_cats_cy[] = { { NULL, NULL, NULL }, @@ -450,6 +631,21 @@ struct retro_core_option_v2_definition option_defs_cy[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_CY, + NULL, + LYNX_FORCE_60HZ_INFO_0_CY, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_cy = { @@ -466,6 +662,8 @@ struct retro_core_options_v2 options_cy = { #define LYNX_PIX_FORMAT_LABEL_DA NULL #define OPTION_VAL_16_DA NULL #define OPTION_VAL_32_DA NULL +#define LYNX_FORCE_60HZ_LABEL_DA NULL +#define LYNX_FORCE_60HZ_INFO_0_DA NULL struct retro_core_option_v2_category option_cats_da[] = { { NULL, NULL, NULL }, @@ -510,6 +708,21 @@ struct retro_core_option_v2_definition option_defs_da[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_DA, + NULL, + LYNX_FORCE_60HZ_INFO_0_DA, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_da = { @@ -526,6 +739,8 @@ struct retro_core_options_v2 options_da = { #define LYNX_PIX_FORMAT_LABEL_DE "Farbformat (Neustart erforderlich)" #define OPTION_VAL_16_DE NULL #define OPTION_VAL_32_DE NULL +#define LYNX_FORCE_60HZ_LABEL_DE "60 Hz erzwingen" +#define LYNX_FORCE_60HZ_INFO_0_DE "60 Hz statt der originalen 75 Hz Bildwiederholrate erzwingen, um perfekt flüssige Bewegungen auf 60-Hz-Bildschirmen zu ermöglichen" struct retro_core_option_v2_category option_cats_de[] = { { NULL, NULL, NULL }, @@ -570,6 +785,21 @@ struct retro_core_option_v2_definition option_defs_de[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_DE, + NULL, + LYNX_FORCE_60HZ_INFO_0_DE, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_de = { @@ -586,6 +816,8 @@ struct retro_core_options_v2 options_de = { #define LYNX_PIX_FORMAT_LABEL_EL "Μορφή Χρώματος (Απαιτείται Επανεκκίνηση)" #define OPTION_VAL_16_EL NULL #define OPTION_VAL_32_EL NULL +#define LYNX_FORCE_60HZ_LABEL_EL NULL +#define LYNX_FORCE_60HZ_INFO_0_EL NULL struct retro_core_option_v2_category option_cats_el[] = { { NULL, NULL, NULL }, @@ -630,6 +862,21 @@ struct retro_core_option_v2_definition option_defs_el[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_EL, + NULL, + LYNX_FORCE_60HZ_INFO_0_EL, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_el = { @@ -646,6 +893,8 @@ struct retro_core_options_v2 options_el = { #define LYNX_PIX_FORMAT_LABEL_EN "Colour Format (Restart Required)" #define OPTION_VAL_16_EN NULL #define OPTION_VAL_32_EN NULL +#define LYNX_FORCE_60HZ_LABEL_EN NULL +#define LYNX_FORCE_60HZ_INFO_0_EN NULL struct retro_core_option_v2_category option_cats_en[] = { { NULL, NULL, NULL }, @@ -690,6 +939,21 @@ struct retro_core_option_v2_definition option_defs_en[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_EN, + NULL, + LYNX_FORCE_60HZ_INFO_0_EN, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_en = { @@ -706,6 +970,8 @@ struct retro_core_options_v2 options_en = { #define LYNX_PIX_FORMAT_LABEL_EO NULL #define OPTION_VAL_16_EO NULL #define OPTION_VAL_32_EO NULL +#define LYNX_FORCE_60HZ_LABEL_EO NULL +#define LYNX_FORCE_60HZ_INFO_0_EO NULL struct retro_core_option_v2_category option_cats_eo[] = { { NULL, NULL, NULL }, @@ -750,6 +1016,21 @@ struct retro_core_option_v2_definition option_defs_eo[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_EO, + NULL, + LYNX_FORCE_60HZ_INFO_0_EO, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_eo = { @@ -766,6 +1047,8 @@ struct retro_core_options_v2 options_eo = { #define LYNX_PIX_FORMAT_LABEL_ES "Formato de color (es necesario reiniciar)" #define OPTION_VAL_16_ES "16 bits (RGB565)" #define OPTION_VAL_32_ES "32 bits (RGB8888)" +#define LYNX_FORCE_60HZ_LABEL_ES "Forzar 60Hz" +#define LYNX_FORCE_60HZ_INFO_0_ES "Fuerza una frecuencia de actualización de 60 Hz en vez de utilizar la original de 75 Hz. Así, el movimiento será perfectamente suave en pantallas que funcionen a 60 Hz." struct retro_core_option_v2_category option_cats_es[] = { { NULL, NULL, NULL }, @@ -810,6 +1093,21 @@ struct retro_core_option_v2_definition option_defs_es[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_ES, + NULL, + LYNX_FORCE_60HZ_INFO_0_ES, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_es = { @@ -826,6 +1124,8 @@ struct retro_core_options_v2 options_es = { #define LYNX_PIX_FORMAT_LABEL_FA "فرمت رنگ (نیازمند بازآغاز)" #define OPTION_VAL_16_FA "۱۶-بیتی (RGB۵۶۵)" #define OPTION_VAL_32_FA "۳۲-بیتی (RGB۸۸۸۸)" +#define LYNX_FORCE_60HZ_LABEL_FA NULL +#define LYNX_FORCE_60HZ_INFO_0_FA NULL struct retro_core_option_v2_category option_cats_fa[] = { { NULL, NULL, NULL }, @@ -870,6 +1170,21 @@ struct retro_core_option_v2_definition option_defs_fa[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_FA, + NULL, + LYNX_FORCE_60HZ_INFO_0_FA, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_fa = { @@ -879,13 +1194,15 @@ struct retro_core_options_v2 options_fa = { /* RETRO_LANGUAGE_FI */ -#define LYNX_ROT_SCREEN_LABEL_FI "Näytön automaattinen kierto" -#define LYNX_ROT_SCREEN_INFO_0_FI "Kierrä virtuaalisesti näytön ja painikkeiden suuntaa automaattisesti tunnetuille peleille. Kun asetus on \"Manuaalinen\", näytön kierto säädetään painamalla SELECT-painiketta, muuten kiinteä kierto voidaan asettaa joko 0, 90, 180, tai 270 asteen vastapäivään." +#define LYNX_ROT_SCREEN_LABEL_FI "Näytön kierto" +#define LYNX_ROT_SCREEN_INFO_0_FI "Virtuaalisesti kierrä näytön ja painikkeiden suuntaa tunnetuille peleille. Kun asetus on \"Manuaalinen\", näytön kierto säädetään painamalla SELECT-painiketta, muuten kiinteä kierto voidaan asettaa joko 0, 90, 180, tai 270 asteen vastapäivään." #define OPTION_VAL_AUTO_FI "Automaattinen" #define OPTION_VAL_MANUAL_FI "Manuaalinen" #define LYNX_PIX_FORMAT_LABEL_FI "Väriformaatti (Uudelleenkäynnistys vaaditaan)" #define OPTION_VAL_16_FI NULL #define OPTION_VAL_32_FI NULL +#define LYNX_FORCE_60HZ_LABEL_FI "Pakota 60 Hz" +#define LYNX_FORCE_60HZ_INFO_0_FI "Pakota 60 hertsiä alkuperäisen 75 hertsin virkistystaajuuden sijaan, tekee liikkumisesta tasaista 60 hertsin näytöillä" struct retro_core_option_v2_category option_cats_fi[] = { { NULL, NULL, NULL }, @@ -930,6 +1247,21 @@ struct retro_core_option_v2_definition option_defs_fi[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_FI, + NULL, + LYNX_FORCE_60HZ_INFO_0_FI, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_fi = { @@ -946,6 +1278,8 @@ struct retro_core_options_v2 options_fi = { #define LYNX_PIX_FORMAT_LABEL_FR "Format des couleurs (Redémarrage requis)" #define OPTION_VAL_16_FR "16 bits (RVB565)" #define OPTION_VAL_32_FR "32 bits (RVB8888)" +#define LYNX_FORCE_60HZ_LABEL_FR "Forcer 60 Hz" +#define LYNX_FORCE_60HZ_INFO_0_FR "Forcer une fréquence de rafraîchissement de 60 Hz au lieu des 75 Hz d'origine, pour un mouvement parfaitement fluide sur les écrans à 60 Hz" struct retro_core_option_v2_category option_cats_fr[] = { { NULL, NULL, NULL }, @@ -990,6 +1324,21 @@ struct retro_core_option_v2_definition option_defs_fr[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_FR, + NULL, + LYNX_FORCE_60HZ_INFO_0_FR, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_fr = { @@ -1006,6 +1355,8 @@ struct retro_core_options_v2 options_fr = { #define LYNX_PIX_FORMAT_LABEL_GL NULL #define OPTION_VAL_16_GL NULL #define OPTION_VAL_32_GL NULL +#define LYNX_FORCE_60HZ_LABEL_GL NULL +#define LYNX_FORCE_60HZ_INFO_0_GL NULL struct retro_core_option_v2_category option_cats_gl[] = { { NULL, NULL, NULL }, @@ -1050,6 +1401,21 @@ struct retro_core_option_v2_definition option_defs_gl[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_GL, + NULL, + LYNX_FORCE_60HZ_INFO_0_GL, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_gl = { @@ -1066,6 +1432,8 @@ struct retro_core_options_v2 options_gl = { #define LYNX_PIX_FORMAT_LABEL_HE NULL #define OPTION_VAL_16_HE NULL #define OPTION_VAL_32_HE NULL +#define LYNX_FORCE_60HZ_LABEL_HE NULL +#define LYNX_FORCE_60HZ_INFO_0_HE NULL struct retro_core_option_v2_category option_cats_he[] = { { NULL, NULL, NULL }, @@ -1110,6 +1478,21 @@ struct retro_core_option_v2_definition option_defs_he[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_HE, + NULL, + LYNX_FORCE_60HZ_INFO_0_HE, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_he = { @@ -1126,6 +1509,8 @@ struct retro_core_options_v2 options_he = { #define LYNX_PIX_FORMAT_LABEL_HR NULL #define OPTION_VAL_16_HR NULL #define OPTION_VAL_32_HR NULL +#define LYNX_FORCE_60HZ_LABEL_HR NULL +#define LYNX_FORCE_60HZ_INFO_0_HR NULL struct retro_core_option_v2_category option_cats_hr[] = { { NULL, NULL, NULL }, @@ -1170,6 +1555,21 @@ struct retro_core_option_v2_definition option_defs_hr[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_HR, + NULL, + LYNX_FORCE_60HZ_INFO_0_HR, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_hr = { @@ -1186,6 +1586,8 @@ struct retro_core_options_v2 options_hr = { #define LYNX_PIX_FORMAT_LABEL_HU "Színformátum (újraindítás szükséges)" #define OPTION_VAL_16_HU "16 bites (RGB565)" #define OPTION_VAL_32_HU "32 bites (RGB8888)" +#define LYNX_FORCE_60HZ_LABEL_HU "Mindenképpen 60 Hz" +#define LYNX_FORCE_60HZ_INFO_0_HU "Az eredeti 75 Hz-es képfrissítés helyett 60 Hz használata, a teljesen sima mozgásért 60 Hz-es kijelzőkön" struct retro_core_option_v2_category option_cats_hu[] = { { NULL, NULL, NULL }, @@ -1230,6 +1632,21 @@ struct retro_core_option_v2_definition option_defs_hu[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_HU, + NULL, + LYNX_FORCE_60HZ_INFO_0_HU, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_hu = { @@ -1239,13 +1656,15 @@ struct retro_core_options_v2 options_hu = { /* RETRO_LANGUAGE_ID */ -#define LYNX_ROT_SCREEN_LABEL_ID NULL -#define LYNX_ROT_SCREEN_INFO_0_ID NULL +#define LYNX_ROT_SCREEN_LABEL_ID "Putar-layar Otomatis" +#define LYNX_ROT_SCREEN_INFO_0_ID "Putar orientasi layar dan pemetaan tombol secara virtual secara otomatis untuk game yang dikenal. Saat disetel ke 'Manual', rotasi layar disesuaikan dengan menekan tombol PILIH, jika tidak, rotasi tetap dapat disetel ke 0, 90, 180, atau 270 derajat berlawanan arah jarum jam." #define OPTION_VAL_AUTO_ID "Otomatis" #define OPTION_VAL_MANUAL_ID NULL -#define LYNX_PIX_FORMAT_LABEL_ID NULL +#define LYNX_PIX_FORMAT_LABEL_ID "Format Warna (Diperlukan Mulai Ulang)" #define OPTION_VAL_16_ID NULL #define OPTION_VAL_32_ID NULL +#define LYNX_FORCE_60HZ_LABEL_ID NULL +#define LYNX_FORCE_60HZ_INFO_0_ID NULL struct retro_core_option_v2_category option_cats_id[] = { { NULL, NULL, NULL }, @@ -1290,6 +1709,21 @@ struct retro_core_option_v2_definition option_defs_id[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_ID, + NULL, + LYNX_FORCE_60HZ_INFO_0_ID, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_id = { @@ -1306,6 +1740,8 @@ struct retro_core_options_v2 options_id = { #define LYNX_PIX_FORMAT_LABEL_IT "Formato Colore (Riavvio Richiesto)" #define OPTION_VAL_16_IT NULL #define OPTION_VAL_32_IT NULL +#define LYNX_FORCE_60HZ_LABEL_IT "Forza 60Hz" +#define LYNX_FORCE_60HZ_INFO_0_IT "Forza 60Hz invece della frequenza di aggiornamento 75Hz originale, per un movimento perfettamente fluido sui display a 60Hz" struct retro_core_option_v2_category option_cats_it[] = { { NULL, NULL, NULL }, @@ -1350,6 +1786,21 @@ struct retro_core_option_v2_definition option_defs_it[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_IT, + NULL, + LYNX_FORCE_60HZ_INFO_0_IT, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_it = { @@ -1366,6 +1817,8 @@ struct retro_core_options_v2 options_it = { #define LYNX_PIX_FORMAT_LABEL_JA "色深度 (再起動が必要)" #define OPTION_VAL_16_JA NULL #define OPTION_VAL_32_JA NULL +#define LYNX_FORCE_60HZ_LABEL_JA NULL +#define LYNX_FORCE_60HZ_INFO_0_JA NULL struct retro_core_option_v2_category option_cats_ja[] = { { NULL, NULL, NULL }, @@ -1410,6 +1863,21 @@ struct retro_core_option_v2_definition option_defs_ja[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_JA, + NULL, + LYNX_FORCE_60HZ_INFO_0_JA, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_ja = { @@ -1426,6 +1894,8 @@ struct retro_core_options_v2 options_ja = { #define LYNX_PIX_FORMAT_LABEL_KO "색 포맷 (재시작 필요)" #define OPTION_VAL_16_KO "16비트 (RGB565)" #define OPTION_VAL_32_KO "32비트 (RGB8888)" +#define LYNX_FORCE_60HZ_LABEL_KO "강제 60Hz" +#define LYNX_FORCE_60HZ_INFO_0_KO "60Hz 디스플레이에서 완벽하게 부드러운 움직임을 위해 원래 75Hz 재생률 대신 60Hz를 강제 적용" struct retro_core_option_v2_category option_cats_ko[] = { { NULL, NULL, NULL }, @@ -1470,6 +1940,21 @@ struct retro_core_option_v2_definition option_defs_ko[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_KO, + NULL, + LYNX_FORCE_60HZ_INFO_0_KO, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_ko = { @@ -1486,6 +1971,8 @@ struct retro_core_options_v2 options_ko = { #define LYNX_PIX_FORMAT_LABEL_NL NULL #define OPTION_VAL_16_NL NULL #define OPTION_VAL_32_NL NULL +#define LYNX_FORCE_60HZ_LABEL_NL NULL +#define LYNX_FORCE_60HZ_INFO_0_NL NULL struct retro_core_option_v2_category option_cats_nl[] = { { NULL, NULL, NULL }, @@ -1530,6 +2017,21 @@ struct retro_core_option_v2_definition option_defs_nl[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_NL, + NULL, + LYNX_FORCE_60HZ_INFO_0_NL, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_nl = { @@ -1546,6 +2048,8 @@ struct retro_core_options_v2 options_nl = { #define LYNX_PIX_FORMAT_LABEL_NO NULL #define OPTION_VAL_16_NO NULL #define OPTION_VAL_32_NO NULL +#define LYNX_FORCE_60HZ_LABEL_NO NULL +#define LYNX_FORCE_60HZ_INFO_0_NO NULL struct retro_core_option_v2_category option_cats_no[] = { { NULL, NULL, NULL }, @@ -1590,6 +2094,21 @@ struct retro_core_option_v2_definition option_defs_no[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_NO, + NULL, + LYNX_FORCE_60HZ_INFO_0_NO, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_no = { @@ -1597,15 +2116,94 @@ struct retro_core_options_v2 options_no = { option_defs_no }; +/* RETRO_LANGUAGE_OR */ + +#define LYNX_ROT_SCREEN_LABEL_OR NULL +#define LYNX_ROT_SCREEN_INFO_0_OR NULL +#define OPTION_VAL_AUTO_OR NULL +#define OPTION_VAL_MANUAL_OR NULL +#define LYNX_PIX_FORMAT_LABEL_OR NULL +#define OPTION_VAL_16_OR NULL +#define OPTION_VAL_32_OR NULL +#define LYNX_FORCE_60HZ_LABEL_OR NULL +#define LYNX_FORCE_60HZ_INFO_0_OR NULL + +struct retro_core_option_v2_category option_cats_or[] = { + { NULL, NULL, NULL }, +}; +struct retro_core_option_v2_definition option_defs_or[] = { + + /* These variable names and possible values constitute an ABI with ZMZ (ZSNES Libretro player). + * Changing "Show layer 1" is fine, but don't change "layer_1"/etc or the possible values ("Yes|No"). + * Adding more variables and rearranging them is safe. */ + + { + "lynx_rot_screen", + LYNX_ROT_SCREEN_LABEL_OR, + NULL, + LYNX_ROT_SCREEN_INFO_0_OR, + NULL, + NULL, + { + { "auto", OPTION_VAL_AUTO_OR }, + { "manual", OPTION_VAL_MANUAL_OR }, + { "0", NULL }, + { "90", NULL }, + { "180", NULL }, + { "270", NULL }, + { NULL, NULL}, + }, + "auto", + }, + + { + "lynx_pix_format", + LYNX_PIX_FORMAT_LABEL_OR, + NULL, + "", + NULL, + NULL, + { + { "16", OPTION_VAL_16_OR }, + { "32", OPTION_VAL_32_OR }, + { NULL, NULL}, + }, + "16", + }, + + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_OR, + NULL, + LYNX_FORCE_60HZ_INFO_0_OR, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, +}; +struct retro_core_options_v2 options_or = { + option_cats_or, + option_defs_or +}; + /* RETRO_LANGUAGE_PL */ #define LYNX_ROT_SCREEN_LABEL_PL "Autoobracanie ekranu" #define LYNX_ROT_SCREEN_INFO_0_PL "Automatycznie obracaj orietancję ekranu i przypisania klawiszy dla znanych gier. Po ustawieniu na 'Ręcznie', obrót ekranu jest regulowany poprzez naciśnięcie przycisku SELECT, w przeciwnym wypadku stałą wartość obrótu można ustawić na 0, 90, 180 lub 270 stopni w kierunku przeciwnym do ruchu wskazówek zegara." #define OPTION_VAL_AUTO_PL NULL #define OPTION_VAL_MANUAL_PL "Ręcznie" -#define LYNX_PIX_FORMAT_LABEL_PL "Format Kolorów (Wymagany Restart)" +#define LYNX_PIX_FORMAT_LABEL_PL "Format kolorów (wymagany restart)" #define OPTION_VAL_16_PL NULL #define OPTION_VAL_32_PL NULL +#define LYNX_FORCE_60HZ_LABEL_PL "Wymuś 60Hz" +#define LYNX_FORCE_60HZ_INFO_0_PL "Wymuś 60Hz zamiast oryginalnej szybkości odświeżania 75Hz, dla doskonale płynnego ruchu na wyświetlaczach 60Hz" struct retro_core_option_v2_category option_cats_pl[] = { { NULL, NULL, NULL }, @@ -1650,6 +2248,21 @@ struct retro_core_option_v2_definition option_defs_pl[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_PL, + NULL, + LYNX_FORCE_60HZ_INFO_0_PL, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_pl = { @@ -1666,6 +2279,8 @@ struct retro_core_options_v2 options_pl = { #define LYNX_PIX_FORMAT_LABEL_PT_BR "Formato de cor (requer reinício)" #define OPTION_VAL_16_PT_BR "16 bits (RGB565)" #define OPTION_VAL_32_PT_BR "32 bits (RGB8888)" +#define LYNX_FORCE_60HZ_LABEL_PT_BR NULL +#define LYNX_FORCE_60HZ_INFO_0_PT_BR NULL struct retro_core_option_v2_category option_cats_pt_br[] = { { NULL, NULL, NULL }, @@ -1710,6 +2325,21 @@ struct retro_core_option_v2_definition option_defs_pt_br[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_PT_BR, + NULL, + LYNX_FORCE_60HZ_INFO_0_PT_BR, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_pt_br = { @@ -1726,6 +2356,8 @@ struct retro_core_options_v2 options_pt_br = { #define LYNX_PIX_FORMAT_LABEL_PT_PT "Formato de cores (reinicialização necessária)" #define OPTION_VAL_16_PT_PT NULL #define OPTION_VAL_32_PT_PT NULL +#define LYNX_FORCE_60HZ_LABEL_PT_PT NULL +#define LYNX_FORCE_60HZ_INFO_0_PT_PT NULL struct retro_core_option_v2_category option_cats_pt_pt[] = { { NULL, NULL, NULL }, @@ -1770,6 +2402,21 @@ struct retro_core_option_v2_definition option_defs_pt_pt[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_PT_PT, + NULL, + LYNX_FORCE_60HZ_INFO_0_PT_PT, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_pt_pt = { @@ -1786,6 +2433,8 @@ struct retro_core_options_v2 options_pt_pt = { #define LYNX_PIX_FORMAT_LABEL_RU "Глубина цвета (требуется перезапуск)" #define OPTION_VAL_16_RU "16-битный (RGB565)" #define OPTION_VAL_32_RU "32-битный (RGB8888)" +#define LYNX_FORCE_60HZ_LABEL_RU "Форсировать 60 Гц" +#define LYNX_FORCE_60HZ_INFO_0_RU "Принудительно использовать частоту обновления 60 Гц вместо оригинальной 75 Гц для идеально плавного перемещения на 60 Гц дисплеях." struct retro_core_option_v2_category option_cats_ru[] = { { NULL, NULL, NULL }, @@ -1830,6 +2479,21 @@ struct retro_core_option_v2_definition option_defs_ru[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_RU, + NULL, + LYNX_FORCE_60HZ_INFO_0_RU, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_ru = { @@ -1846,6 +2510,8 @@ struct retro_core_options_v2 options_ru = { #define LYNX_PIX_FORMAT_LABEL_SK NULL #define OPTION_VAL_16_SK NULL #define OPTION_VAL_32_SK NULL +#define LYNX_FORCE_60HZ_LABEL_SK NULL +#define LYNX_FORCE_60HZ_INFO_0_SK NULL struct retro_core_option_v2_category option_cats_sk[] = { { NULL, NULL, NULL }, @@ -1890,6 +2556,21 @@ struct retro_core_option_v2_definition option_defs_sk[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_SK, + NULL, + LYNX_FORCE_60HZ_INFO_0_SK, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_sk = { @@ -1906,6 +2587,8 @@ struct retro_core_options_v2 options_sk = { #define LYNX_PIX_FORMAT_LABEL_SR NULL #define OPTION_VAL_16_SR NULL #define OPTION_VAL_32_SR NULL +#define LYNX_FORCE_60HZ_LABEL_SR NULL +#define LYNX_FORCE_60HZ_INFO_0_SR NULL struct retro_core_option_v2_category option_cats_sr[] = { { NULL, NULL, NULL }, @@ -1950,6 +2633,21 @@ struct retro_core_option_v2_definition option_defs_sr[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_SR, + NULL, + LYNX_FORCE_60HZ_INFO_0_SR, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_sr = { @@ -1959,13 +2657,15 @@ struct retro_core_options_v2 options_sr = { /* RETRO_LANGUAGE_SV */ -#define LYNX_ROT_SCREEN_LABEL_SV NULL -#define LYNX_ROT_SCREEN_INFO_0_SV NULL +#define LYNX_ROT_SCREEN_LABEL_SV "Rotera skärmen automatiskt" +#define LYNX_ROT_SCREEN_INFO_0_SV "Rotera skärmens orientering och knappmappningar automatiskt virtuellt för välkända spel. När det är inställt på 'Manuell' justeras skärmens rotation genom att trycka på 'SELECT'-knappen, annars kan en fast rotation ställas in till antingen 0, 90, 180 eller 270 grader moturs." #define OPTION_VAL_AUTO_SV "Automatiskt" -#define OPTION_VAL_MANUAL_SV NULL -#define LYNX_PIX_FORMAT_LABEL_SV NULL -#define OPTION_VAL_16_SV NULL -#define OPTION_VAL_32_SV NULL +#define OPTION_VAL_MANUAL_SV "Manuell" +#define LYNX_PIX_FORMAT_LABEL_SV "Färgformat (Omstart Krävs)" +#define OPTION_VAL_16_SV "16-Bitar (RGB565)" +#define OPTION_VAL_32_SV "32-Bitar (RGB8888)" +#define LYNX_FORCE_60HZ_LABEL_SV "Tvinga 60Hz" +#define LYNX_FORCE_60HZ_INFO_0_SV "Tvinga 60Hz istället för original 75Hz uppdateringsfrekvens, för perfekt jämn rörelse på 60Hz-skärmar" struct retro_core_option_v2_category option_cats_sv[] = { { NULL, NULL, NULL }, @@ -2010,6 +2710,21 @@ struct retro_core_option_v2_definition option_defs_sv[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_SV, + NULL, + LYNX_FORCE_60HZ_INFO_0_SV, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_sv = { @@ -2026,6 +2741,8 @@ struct retro_core_options_v2 options_sv = { #define LYNX_PIX_FORMAT_LABEL_TR "Renk Biçimi (Yeniden Başlatılmalı)" #define OPTION_VAL_16_TR NULL #define OPTION_VAL_32_TR NULL +#define LYNX_FORCE_60HZ_LABEL_TR "60Hz Olarak Zorla" +#define LYNX_FORCE_60HZ_INFO_0_TR "60 Hz ekranlarda kusursuz hareket için orijinal 75 Hz yenileme hızı yerine 60 Hz olarak zorlayın" struct retro_core_option_v2_category option_cats_tr[] = { { NULL, NULL, NULL }, @@ -2070,6 +2787,21 @@ struct retro_core_option_v2_definition option_defs_tr[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_TR, + NULL, + LYNX_FORCE_60HZ_INFO_0_TR, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_tr = { @@ -2086,6 +2818,8 @@ struct retro_core_options_v2 options_tr = { #define LYNX_PIX_FORMAT_LABEL_UK "Формат кольору (потрібний перезапуск)" #define OPTION_VAL_16_UK NULL #define OPTION_VAL_32_UK NULL +#define LYNX_FORCE_60HZ_LABEL_UK NULL +#define LYNX_FORCE_60HZ_INFO_0_UK NULL struct retro_core_option_v2_category option_cats_uk[] = { { NULL, NULL, NULL }, @@ -2130,6 +2864,21 @@ struct retro_core_option_v2_definition option_defs_uk[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_UK, + NULL, + LYNX_FORCE_60HZ_INFO_0_UK, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_uk = { @@ -2146,6 +2895,8 @@ struct retro_core_options_v2 options_uk = { #define LYNX_PIX_FORMAT_LABEL_VAL "Format de color (requerix reiniciar)" #define OPTION_VAL_16_VAL "16 bits (RGB565)" #define OPTION_VAL_32_VAL "32 bits (RGB8888)" +#define LYNX_FORCE_60HZ_LABEL_VAL NULL +#define LYNX_FORCE_60HZ_INFO_0_VAL NULL struct retro_core_option_v2_category option_cats_val[] = { { NULL, NULL, NULL }, @@ -2190,6 +2941,21 @@ struct retro_core_option_v2_definition option_defs_val[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_VAL, + NULL, + LYNX_FORCE_60HZ_INFO_0_VAL, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_val = { @@ -2206,6 +2972,8 @@ struct retro_core_options_v2 options_val = { #define LYNX_PIX_FORMAT_LABEL_VN "Định dạng màu (Yêu cầu khởi động lại)" #define OPTION_VAL_16_VN "16-Bit màu (RGB565)" #define OPTION_VAL_32_VN "32-Bit màu (RGB8888)" +#define LYNX_FORCE_60HZ_LABEL_VN NULL +#define LYNX_FORCE_60HZ_INFO_0_VN NULL struct retro_core_option_v2_category option_cats_vn[] = { { NULL, NULL, NULL }, @@ -2250,6 +3018,21 @@ struct retro_core_option_v2_definition option_defs_vn[] = { "16", }, + { + "lynx_force_60hz", + LYNX_FORCE_60HZ_LABEL_VN, + NULL, + LYNX_FORCE_60HZ_INFO_0_VN, + NULL, + NULL, + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled" + }, + { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL }, }; struct retro_core_options_v2 options_vn = {