Skip to content

Commit

Permalink
Merge branch 'libretro:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
MatPoliquin authored Jan 26, 2025
2 parents 73f4d19 + b982ff6 commit d29f7fd
Show file tree
Hide file tree
Showing 17 changed files with 1,294 additions and 550 deletions.
32 changes: 31 additions & 1 deletion CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,41 @@
# Future
- 3DS: Fix unique IDs for newer cores
- AUTOCONF: Enable alternative display name in autoconfig files
- AUDIO/PIPEWIRE: Fix app launch when pipewire service is stopped
- AUDIO/PIPEWIRE: Fix speedup with threaded video mode
- AUDIO/PIPEWIRE: Fix latency setting and microphone handling
- CHEEVOS: Include achievement state in netplay states
- CLOUDSYNC: Fix Windows path issues
- CLOUDSYNC: Workaround for duplicated requests bug
- GENERAL: Fix save state auto increment
- GENERAL: Fix softpatching with periods/dots in the file name
- GENERAL: Fix compilation with --enable-videocore
- MENU: Add SSL support to the information list
- GENERAL: Allow asset directory redefinition and other directory overrides via environment variables
- GENERAL: Allow override of player 1/2 input with machine learning models (needs recompilation and external library)
- INPUT: Fix a crash when initializing illuminance sensor on Linux
- INPUT: Analog-to-digital refactor, fixing behavior when analogs are assigned to keys
- INPUT/COCOA: Include gravity in acceleration sensor values
- INPUT/WINRAW: Invert mouse index order
- IOS: Ensure webserver notice can be dismissed
- IOS: Fix clean playlist function
- MACOS: Fix some sandbox handling in App Store builds
- MACOS: Reset keyboard state when focus is lost
- MENU: Add SSL support to the information list
- MENU: Add warning to BFI and related menu items
- MENU: Fix latency statistics when using runahead
- MENU: Fix opening file inside archive with core selection
- MENU/PLAYLISTS: Random selection/shuffle function
- MENU/QT: Fix desktop menu crash with Cheevos disabled
- MENU/RGUI: Cleanups of certain menu items
- NETWORK: Refactor of net_http, improvements for task blocking and performance
- OVERLAY: Preferred overlay loading is now default only on mobile platforms
- TVOS: Fix 720p display
- TVOS: Fix refresh rate fetching on tvOS 13/14
- SAVESTATES: Reset state index when loading new content
- UWP: Fix slang shader compilation
- VIDEO: Enable BFI setting for mobile platforms (mind the warnings)
- VIDEO/SHADERS: Allow exact refresh rate sync with shader subframes
- WEBPLAYER: Update core list for 1.20.0

# 1.20.0
- AUDIO: Fix audio handling in case of RARCH_NETPLAY_CTL_USE_CORE_PACKET_INTERFACE
Expand Down
2 changes: 1 addition & 1 deletion ai/game_ai.c
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ extern void game_ai_init()
retro_assert(game_ai_lib_set_debug_log);
}
#else
g_lib_handle = dlopen("libgame_ai.so", RTLD_NOW);
g_lib_handle = dlopen("./libgame_ai.so", RTLD_NOW);
retro_assert(g_lib_handle);

if(g_lib_handle != NULL)
Expand Down
2 changes: 1 addition & 1 deletion cheevos/cheevos_menu.c
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,7 @@ void rcheevos_menu_populate(void* data)
rcheevos_menu_reset_badges();
rcheevos_locals->menuitem_count = 0;

if (rcheevos_locals->client->state.disconnect)
if (rcheevos_locals->client && rcheevos_locals->client->state.disconnect)
{
menu_entries_append(info->list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ACHIEVEMENT_SERVER_UNREACHABLE),
Expand Down
2 changes: 1 addition & 1 deletion gfx/display_servers/dispserv_apple.m
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ static bool apple_display_server_set_resolution(void *data,

UIScreen *mainScreen = [UIScreen mainScreen];
#if (TARGET_OS_IOS && __IPHONE_OS_VERSION_MAX_ALLOWED >= 150000) || (TARGET_OS_TV && __TV_OS_VERSION_MAX_ALLOWED >= 150000)
if (@available(iOS 15, *))
if (@available(iOS 15, tvOS 15, *))
currentRate = [CocoaView get].displayLink.preferredFrameRateRange.preferred;
else
#endif
Expand Down
19 changes: 11 additions & 8 deletions input/drivers/cocoa_input.m
Original file line number Diff line number Diff line change
Expand Up @@ -742,7 +742,6 @@ static int16_t cocoa_input_state(

static void cocoa_input_free(void *data)
{
unsigned i;
cocoa_input_data_t *apple = (cocoa_input_data_t*)data;

if (!apple || !data)
Expand Down Expand Up @@ -782,6 +781,10 @@ static bool cocoa_input_set_sensor_state(void *data, unsigned port,
continue;
if (!controller.motion)
break;
if (action == RETRO_SENSOR_ACCELEROMETER_ENABLE && !controller.motion.hasGravityAndUserAcceleration)
break;
if (action == RETRO_SENSOR_GYROSCOPE_ENABLE && !controller.motion.hasAttitudeAndRotationRate)
break;
if (controller.motion.sensorsRequireManualActivation)
{
/* This is a bug, we assume if you turn on/off either
Expand Down Expand Up @@ -827,7 +830,7 @@ static bool cocoa_input_set_sensor_state(void *data, unsigned port,
static float cocoa_input_get_sensor_input(void *data, unsigned port, unsigned id)
{
#ifdef HAVE_MFI
if (@available(iOS 14.0, *))
if (@available(iOS 14.0, macOS 11.0, tvOS 14.0, *))
{
for (GCController *controller in [GCController controllers])
{
Expand All @@ -838,11 +841,11 @@ static float cocoa_input_get_sensor_input(void *data, unsigned port, unsigned id
switch (id)
{
case RETRO_SENSOR_ACCELEROMETER_X:
return controller.motion.userAcceleration.x;
return controller.motion.acceleration.x;
case RETRO_SENSOR_ACCELEROMETER_Y:
return controller.motion.userAcceleration.y;
return controller.motion.acceleration.y;
case RETRO_SENSOR_ACCELEROMETER_Z:
return controller.motion.userAcceleration.z;
return controller.motion.acceleration.z;
case RETRO_SENSOR_GYROSCOPE_X:
return controller.motion.rotationRate.x;
case RETRO_SENSOR_GYROSCOPE_Y:
Expand All @@ -860,11 +863,11 @@ static float cocoa_input_get_sensor_input(void *data, unsigned port, unsigned id
switch (id)
{
case RETRO_SENSOR_ACCELEROMETER_X:
return motionManager.deviceMotion.userAcceleration.x;
return motionManager.deviceMotion.gravity.x + motionManager.deviceMotion.userAcceleration.x;
case RETRO_SENSOR_ACCELEROMETER_Y:
return motionManager.deviceMotion.userAcceleration.y;
return motionManager.deviceMotion.gravity.y + motionManager.deviceMotion.userAcceleration.y;
case RETRO_SENSOR_ACCELEROMETER_Z:
return motionManager.deviceMotion.userAcceleration.z;
return motionManager.deviceMotion.gravity.z + motionManager.deviceMotion.userAcceleration.z;
case RETRO_SENSOR_GYROSCOPE_X:
return motionManager.deviceMotion.rotationRate.x;
case RETRO_SENSOR_GYROSCOPE_Y:
Expand Down
44 changes: 44 additions & 0 deletions intl/msg_hash_ast.h
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,18 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_ADD_CONTENT_LIST,
"Crea y anueva llistes pente la busca de conteníu."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_SHOW_WIMP,
"Amosar el menú pa escritorios"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_SHOW_WIMP,
"Abre'l menú tradicional pa escritorios."
)
MSG_HASH(
MENU_ENUM_SUBLABEL_MENU_DISABLE_KIOSK_MODE,
"Amuesa toles opciones de configuración rellacionaes."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_ONLINE_UPDATER,
"Anovador"
Expand Down Expand Up @@ -1479,10 +1491,22 @@ MSG_HASH(

/* Settings > Core */

MSG_HASH(
MENU_ENUM_LABEL_VALUE_DRIVER_SWITCH_ENABLE,
"Permitir que los nucleos cambien el controlador de videu"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_DUMMY_ON_CORE_SHUTDOWN,
"Dalgunos nucleos tienen una función d'apagáu, la carga d'un nucleu maniquín impide que RetroArch cole."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_CHECK_FOR_MISSING_FIRMWARE,
"Comprobar el firmware que falte enantes de cargar"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_CORE_INFO_CACHE_ENABLE,
"Atroxar na cache los ficheros d'información de los núcleos"
)
#ifndef HAVE_DYNAMIC
#endif
MSG_HASH(
Expand Down Expand Up @@ -1512,6 +1536,10 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_CONFIG_SAVE_ON_EXIT,
"Guardar la configuración al colar"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_AUTO_OVERRIDES_ENABLE,
"Cargar automáticamente los ficheros d'anulación"
)

/* Settings > Saving */

Expand Down Expand Up @@ -1964,6 +1992,14 @@ MSG_HASH(

/* Settings > AI Service */

MSG_HASH(
MENU_ENUM_LABEL_VALUE_AI_SERVICE_MODE,
"Salida del serviciu d'IA"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_AI_SERVICE_URL,
"URL del serviciu d'IA"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_AI_SERVICE_SOURCE_LANG,
"Llingua d'orixe"
Expand Down Expand Up @@ -2887,6 +2923,10 @@ MSG_HASH(
MENU_ENUM_LABEL_CHEAT_HANDLER_TYPE_EMU,
"Emulador"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_THUMBNAIL_MODE_BOXARTS,
"Carátula"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_ON,
"Sí"
Expand Down Expand Up @@ -3411,6 +3451,10 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_QT_MENU_DOCK_CONTENT_BROWSER,
"Restolador de conteníu"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_QT_THUMBNAIL_BOXART,
"Carátula"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_QT_ALL_PLAYLISTS,
"Toles llistes"
Expand Down
36 changes: 36 additions & 0 deletions intl/msg_hash_de.h
Original file line number Diff line number Diff line change
Expand Up @@ -15485,9 +15485,45 @@ MSG_HASH(
"gestoppt."
)
#ifdef HAVE_GAME_AI
MSG_HASH(
MENU_ENUM_LABEL_VALUE_GAME_AI_MENU_OPTION,
"KI-Player überschreiben"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_GAME_AI_MENU_OPTION,
"KI-Spieler überschreiben Unterlabel"
)

MSG_HASH(
MENU_ENUM_LABEL_VALUE_CORE_GAME_AI_OPTIONS,
"Spiel-KI"
)

MSG_HASH(
MENU_ENUM_LABEL_VALUE_GAME_AI_OVERRIDE_P1,
"P1 überschreiben"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_GAME_AI_OVERRIDE_P1,
"Spieler 01 überschreiben"
)

MSG_HASH(
MENU_ENUM_LABEL_VALUE_GAME_AI_OVERRIDE_P2,
"P2 überschreiben"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_GAME_AI_OVERRIDE_P2,
"Spieler 02 überschreiben"
)

MSG_HASH(
MENU_ENUM_LABEL_VALUE_GAME_AI_SHOW_DEBUG,
"Fehlerinformation anzeigen"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_GAME_AI_SHOW_DEBUG,
"Fehlerinformation anzeigen"
)

#endif
8 changes: 8 additions & 0 deletions intl/msg_hash_en.h
Original file line number Diff line number Diff line change
Expand Up @@ -838,6 +838,14 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_INPUT_OVERLAY_SHOW_MOUSE_CURSOR,
"Show the Mouse Cursor With Overlay"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_INPUT_OVERLAY_ANALOG_RECENTER_ZONE,
"Analogue Recentring Zone"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_INPUT_OVERLAY_ANALOG_RECENTER_ZONE,
"Analogue stick input will be relative to first touch if pressed within this zone."
)

/* Settings > On-Screen Display > On-Screen Overlay > Keyboard Overlay */

Expand Down
42 changes: 41 additions & 1 deletion intl/msg_hash_fr.h
Original file line number Diff line number Diff line change
Expand Up @@ -4888,7 +4888,7 @@ MSG_HASH(
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_LOG_VERBOSITY_DEBUG,
"0 (debug)"
"0 (diagnostic)"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_LOG_VERBOSITY_INFO,
Expand Down Expand Up @@ -15765,13 +15765,53 @@ MSG_HASH(
"arrêté."
)
#ifdef HAVE_GAME_AI
MSG_HASH(
MENU_ENUM_LABEL_VALUE_GAME_AI_MENU_OPTION,
"Remplacement du joueur IA"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_GAME_AI_MENU_OPTION,
"Sous-label remplacement du joueur IA"
)

MSG_HASH(
MENU_ENUM_LABEL_VALUE_CORE_GAME_AI_OPTIONS,
"IA du jeu"
)

MSG_HASH(
MENU_ENUM_LABEL_VALUE_GAME_AI_OVERRIDE_P1,
"Remplacer j1"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_GAME_AI_OVERRIDE_P1,
"Remplace le joueur 01"
)

MSG_HASH(
MENU_ENUM_LABEL_VALUE_GAME_AI_OVERRIDE_P2,
"Remplacer j2"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_GAME_AI_OVERRIDE_P2,
"Remplace le joueur 02"
)

MSG_HASH(
MENU_ENUM_LABEL_VALUE_GAME_AI_SHOW_DEBUG,
"Afficher le diagnostic"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_GAME_AI_SHOW_DEBUG,
"Afficher le diagnostic"
)

MSG_HASH(
MENU_ENUM_LABEL_VALUE_QUICK_MENU_SHOW_GAME_AI,
"Afficher 'IA du jeu'"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_QUICK_MENU_SHOW_GAME_AI,
"Afficher l'option 'IA du jeu'."
)
#endif
Loading

0 comments on commit d29f7fd

Please sign in to comment.