Skip to content

Commit 9bd3d1b

Browse files
authored
Merge branch 'libretro:master' into master
2 parents c117a73 + bfa6038 commit 9bd3d1b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+1707
-163
lines changed

CHANGES.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
- AUTOCONF: Autoconfig match extended with a physical identifier
1313
- CAMERA: Use ffmpeg libavfilter virtual input device as default
1414
- CHEEVOS: Show additional message for unsupported achievements
15-
- CHEEVOS: Upgrade to rcheevos 12.0
15+
- CHEEVOS: Upgrade to rcheevos 12.1
16+
- CHEEVOS: Change expired token message from info to error
1617
- DATABASE: Filter in Database Manager now works for genre and region
1718
- CLOUDSYNC: Enable icloud_drive cloud sync backend on MacOS / iOS
1819
- CLOUDSYNC: Don't always trust the server hash
@@ -44,10 +45,12 @@
4445
- INPUT/BSV/REPLAY: Add a text command to seek to a specific frame of the currently playing/recording replay; it will return via the command replier the actual seeked-to frame (right now it only supports seeking to checkpoints).
4546
- INTL: Add Irish Gaelic to selectable languages
4647
- IOS: Fix crash on iOS9 when fetching refresh rate
48+
- IOS/MACOS: Fix display server resolution and refresh rates
4749
- LIBRETRO: Deprecate intfstream_open_writable_memory
4850
- LIBRETRO: New environment function RETRO_ENVIRONMENT_GET_TARGET_SAMPLE_RATE
4951
- LINUX: Add full complement of key/value pairs to desktop entry
5052
- MACOS: Fix coreaudio microphone handling
53+
- MACOS: Fix window size calculation
5154
- MENU: Common Thumbnail Background option for all menu drivers
5255
- MENU: Move core options reset from Settings/Configuration to Main Menu / Configuration Files
5356
- MENU: Use right analog stick for thumbnail cycling in playlists
@@ -73,6 +76,7 @@
7376
- MENU/OZONE: Horizontal padding factor option
7477
- MENU/OZONE: Custom font selection and scaling factor
7578
- MENU/RGUI: Clock format is now configurable and moved to top header
79+
- NETPLAY: Push room info to lobby
7680
- NETWORK: Fixes for nmcli wifi driver
7781
- NETWORK: Network command interface enabled for Android, iOS, TVOS
7882
- OTHER: ZStandard support and libchdr update for support of chd files converted with createdvd option
@@ -94,11 +98,13 @@
9498
- VIDEO/D3D11/D3D12: snappy extra vsync presentation mode
9599
- VIDEO/GL: Fallback OpenGL symbol loader for Linux devices with EGL < 1.5
96100
- VIDEO/GL: Support for Cg and GLSL shaders in the GLCore video driver
101+
- VIDEO/GL: Improve GLES version detection
97102
- VIDEO/SHADER: Shader hold function, useful for some lightguns and shader comparison
98103
- VIDEO/SWITCHRES: Horizontal and vertical geometry adjustment options added
99104
- VIDEO/SWITCHRES: Game overrides
100105
- VIDEO/WAYLAND: Support for xdg-toplevel-icon-v1
101106
- VIDEO/WAYLAND: Fix deadlock when using Wayland Vulkan driver
107+
- VIDEO/WAYLAND: Fix fullscreen on auto monitor index (partial)
102108
- VITA: Touchscreen support for PS Vita
103109
- WEBOS: Various fixes and tunings
104110
- WEBOS: Disable core dumps

Makefile.common

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2404,6 +2404,12 @@ ifeq ($(HAVE_NETWORKING), 1)
24042404
deps/rcheevos/src/rapi/rc_api_runtime.o \
24052405
deps/rcheevos/src/rapi/rc_api_user.o \
24062406

2407+
# RVZ/WIA disc image support for RetroAchievements
2408+
ifeq ($(HAVE_ZSTD), 1)
2409+
DEFINES += -DHAVE_CHEEVOS_RVZ
2410+
OBJ += cheevos/cheevos_rvz.o
2411+
endif
2412+
24072413
ifeq ($(HAVE_LUA), 1)
24082414
DEFINES += -DHAVE_LUA \
24092415
-DLUA_32BITS

cheevos/cheevos.c

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@
5252
#include "streams/chd_stream.h"
5353
#endif
5454

55+
#ifdef HAVE_CHEEVOS_RVZ
56+
#include "cheevos_rvz.h"
57+
#endif
58+
5559
#include "cheevos.h"
5660
#include "cheevos_client.h"
5761
#include "cheevos_menu.h"
@@ -1636,8 +1640,33 @@ bool rcheevos_load(const void *data)
16361640
gfx_widget_set_cheevos_set_loading(true);
16371641
#endif
16381642

1639-
rc_client_begin_identify_and_load_game(rcheevos_locals.client, RC_CONSOLE_UNKNOWN,
1640-
info->path, (const uint8_t*)info->data, info->size, rcheevos_client_load_game_callback, NULL);
1643+
/* Detect RVZ files and determine console type (GameCube or Wii) */
1644+
{
1645+
uint32_t console_id = RC_CONSOLE_UNKNOWN;
1646+
1647+
#ifdef HAVE_CHEEVOS_RVZ
1648+
if (string_is_equal_noncase(path_get_extension(info->path), "rvz"))
1649+
{
1650+
console_id = rcheevos_rvz_get_console_id(info->path);
1651+
1652+
/* Only register custom file reader for valid RVZ files */
1653+
if (console_id != RC_CONSOLE_UNKNOWN)
1654+
{
1655+
struct rc_hash_filereader filereader;
1656+
1657+
filereader.open = rcheevos_rvz_open;
1658+
filereader.seek = rcheevos_rvz_seek;
1659+
filereader.tell = rcheevos_rvz_tell;
1660+
filereader.read = rcheevos_rvz_read;
1661+
filereader.close = rcheevos_rvz_close;
1662+
rc_hash_init_custom_filereader(&filereader);
1663+
}
1664+
}
1665+
#endif
1666+
1667+
rc_client_begin_identify_and_load_game(rcheevos_locals.client, console_id,
1668+
info->path, (const uint8_t*)info->data, info->size, rcheevos_client_load_game_callback, NULL);
1669+
}
16411670

16421671
return true;
16431672
}

0 commit comments

Comments
 (0)