diff --git a/.gitignore b/.gitignore index 7cb4fe57f0..e50728c20d 100644 --- a/.gitignore +++ b/.gitignore @@ -55,7 +55,6 @@ DerivedData apple/tmp apple/*.mobileprovision apple/RetroArch_iOS.xcodeproj/project.xcworkspace/* -menu/driverspzarch.c /Cg/ /GL/ /SDL/ @@ -76,6 +75,7 @@ libretro-super run.sh convert_rumble.awk *~ +assets # Wii U *.depend @@ -121,7 +121,6 @@ wiiu/wut/elf2rpl/elf2rpl /media/libretrodb/ pkg/apple/iOS/build/ -pkg/apple/iOS/modules/ pkg/apple/build/ ui/drivers/qt/moc_* ui/drivers/moc_* diff --git a/.travis.yml b/.travis.yml index 6fea0eee65..7be5f133d8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -39,9 +39,8 @@ matrix: script: - xcodebuild -target RetroArch -configuration Release -project pkg/apple/RetroArch.xcodeproj - os: osx - osx_image: xcode9.3 + osx_image: xcode10.1 script: - - brew update - brew install --force-bottle qt5 - xcodebuild -target RetroArchQt -configuration Release -project pkg/apple/RetroArch_Metal.xcodeproj deploy: diff --git a/CHANGES.md b/CHANGES.md index 782daae2ed..c15ae1dc99 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,14 +1,27 @@ -# 1.7.6 (future) -- ANDROID: Fix Xperia Play input binding -- CHEEVOS: Reset when hardcore mode is toggled -- COMMON: Add new JSON playlist format -- CORE UPDATER: Allow sideloading cores from the menu +# 1.7.7 (future) + +# 1.7.6 +- ANDROID: Fix Xperia Play input binding. +- CHEEVOS: Reset when hardcore mode is toggled. +- CHEEVOS: Update the hashing methods to identify NES, SNES and Lynx games (more accurate and accepting headerless ROMs). +- COMMON: Add new JSON playlist format. +- COMMON: Fix playlist corruption when deleting items. +- COMMON: Fix archive progress display calculation. +- COMMON: Fix playlist entries appearing with previously used names. +- COMMON: Fix screenshot filename with no core or content. +- COMMON: Allow compiling without menu support. +- CORE UPDATER: Allow sideloading cores from the menu. - CPU FILTERS: Add Normal2x filter. +- CRT/LINUX: New Linux switching method partially implemented. +- CRT/LINUX: Linux restore desktop resolution fixed. +- CRT/LINUX: Monitor index switching and auto enumerate for output detection in Linux (still working on the windows method). +- CRT/RASPBERRY PI: Initial support. - DATE: Add Date / Time style options. - DEBUGGING: Add an integrated crash handler for debug builds (see https://docs.libretro.com/tech/debugging) - DISCORD: Register the application name properly. - DISK CONTROL: Remember the last used folder / current active folder to make disk-swapping faster. - INPUT: Add new menu toggle (hold start button for 2 seconds) +- INPUT: Fix arrow keys being incorrectly bound as numpad keys - INPUT/SDL: Flush the joypad events. Decreases cpu usage over time with the SDL joypad driver. - LOCALIZATION: Add Greek translation. - LOCALIZATION: Update German translation. @@ -16,11 +29,24 @@ - LOCALIZATION: Update Japanese translation. - LOCALIZATION: Update Simplified Chinese translation. - LOCALIZATION: Update Spanish translation. +- MENU: New "ozone" menu driver. - MENU: Only show CRT SwitchRes if video display server is implemented (Windows/Linux for now) - MENU: User Interface -> Appearance -> 'Menu Font Green/Blue Color' settings now work properly. +- MENU: Add option to enable in-menu sound effects. +- MENU/D3D: Scissoring support (will be used for Ozone and menu widgets). +- MENU/QT/WIMP: Allow building with MSVC2017. +- MENU/QT/WIMP: Add detailed file browser table. +- MENU/QT/WIMP: New grid view implementation that is faster and loads thumbnails on-demand. +- MENU/QT/WIMP: Thumbnail drag and drop support. +- MENU/RGUI: Overhaul custom theme interface + add wallpaper support. +- MENU/RGUI: Thumbnail support and thumbnail downscaling. +- MENU: Hide password values. +- MENU/SOUNDS: Implement in-menu sound effects (not enabled by default for now, still experimental). - MIDI: Add a Linux ALSA driver for MIDI. -- NETPLAY: Force fast-save-states when netlay is enabled -- NETPLAY: Allow quick joining subsystem lobbies +- NETPLAY: Force fast-save-states when netplay is enabled. +- NETPLAY: Allow quick joining subsystem lobbies. +- OSX: Initial CoreAudio V3 audio driver (not yet used in release builds). +- OSX: OpenGL 3.2 Core support for cores. - PS2: Initial PlayStation2 port. - PS4: Initial PlayStation4 port. - RECORDING: Implement recording options in the menu complete with quality profiles, streaming, and proper file naming @@ -31,17 +57,23 @@ - SUBSYSTEM: Remember the last used folder to make loading subsystem type content faster - SWITCH/LIBNX: Improve touch scaling calculation. - SWITCH: Proper button labels. +- TVOS: Initial tvOS port. - VULKAN: Fix RGUI crashing at startup. +- VULKAN/RGUI: Enable 'Menu Linear Filter' option. - VULKAN: Fix secondary screens in overlays not working. - WAYLAND: Implement idle-inhibit support (needed for screensaver suspend). +- WAYLAND: Fix fullscreen toggle. - WIIU: Initial netplay peer-to-peer support. Network information working. - WINDOWS/WSA: Network Information info is blank until first network operation. -- WINDOWS: Fix an ancient bug that caused wrong mappings for keyboard arrows -- WINDOWS: Remember window size and position if so desired +- WINDOWS: Fix an ancient bug that caused wrong mappings for keyboard arrows. +- WINDOWS: Remember window size and position if so desired. - WINDOWS: SSL/TLS connections now work properly. +- WINDOWS: Fall back to GDI driver if no accelerated graphics driver is found. - UWP: Initial UWP port. +- VFS: Update to version 3. - XBONE: Initial Xbox One port. - XMB/OZONE: Add more icons +- XMB: Add Automatic Inverted theme - ???: Easter Egg # 1.7.5 diff --git a/Makefile b/Makefile index 3243d38f0f..32e7a6b82b 100644 --- a/Makefile +++ b/Makefile @@ -19,6 +19,7 @@ TARGET = retroarch OBJ := LIBS := DEF_FLAGS := +ASFLAGS := DEFINES := -DHAVE_CONFIG_H -DRARCH_INTERNAL -D_FILE_OFFSET_BITS=64 DEFINES += -DGLOBAL_CONFIG_DIR='"$(GLOBAL_CONFIG_DIR)"' @@ -253,15 +254,9 @@ install: $(TARGET) @if test -d media/assets && test $(HAVE_ASSETS); then \ echo "Installing media assets..."; \ mkdir -p $(DESTDIR)$(ASSETS_DIR)/assets; \ - if test $(HAVE_ZARCH) = 1; then \ - cp -r media/assets/zarch/ $(DESTDIR)$(ASSETS_DIR)/assets; \ - fi; \ if test $(HAVE_MATERIALUI) = 1; then \ cp -r media/assets/glui/ $(DESTDIR)$(ASSETS_DIR)/assets; \ fi; \ - if test $(HAVE_NUKLEAR) = 1; then \ - cp -r media/assets/nuklear/ $(DESTDIR)$(ASSETS_DIR)/assets; \ - fi; \ if test $(HAVE_XMB) = 1; then \ cp -r media/assets/xmb/ $(DESTDIR)$(ASSETS_DIR)/assets; \ fi; \ diff --git a/Makefile.common b/Makefile.common index a6bf00da77..aea2d6d4c2 100644 --- a/Makefile.common +++ b/Makefile.common @@ -27,10 +27,6 @@ ifeq ($(HAVE_LIBRETRODB),) HAVE_LIBRETRODB = 1 endif -ifeq ($(HAVE_VIDEO_PROCESSOR), 1) - DEFINES += -DHAVE_VIDEO_PROCESSOR -endif - ifeq ($(HAVE_SOCKET_LEGACY), 1) DEFINES += -DHAVE_SOCKET_LEGACY endif @@ -67,8 +63,14 @@ ifeq ($(VULKAN_DEBUG), 1) DEF_FLAGS += -DVULKAN_DEBUG endif -ifeq ($(HAVE_HARD_FLOAT), 1) - DEFINES += -mfloat-abi=hard +ifeq ($(HAVE_FLOATHARD), 1) + DEF_FLAGS += $(FLOATHARD_CFLAGS) + ASFLAGS += $(FLOATHARD_CFLAGS) +endif + +ifeq ($(HAVE_FLOATSOFTFP), 1) + DEF_FLAGS += $(FLOATSOFTFP_CFLAGS) + ASFLAGS += $(FLOATSOFTFP_CFLAGS) endif ifeq ($(TDM_GCC),) @@ -374,6 +376,10 @@ ifeq ($(HAVE_SSA),1) LIBS += $(SSA_LIBS) endif +ifeq ($(HAVE_SSE),1) + DEF_FLAGS += $(SSE_LIBS) +endif + # LibretroDB ifeq ($(HAVE_LIBRETRODB), 1) @@ -504,9 +510,19 @@ endif # Audio + ifeq ($(HAVE_COREAUDIO), 1) OBJ += audio/drivers/coreaudio.o - LIBS += -framework CoreServices -framework CoreAudio -framework AudioUnit + HAVE_COREAUDIO_LIBS = 1 +endif + +ifeq ($(HAVE_COREAUDIO3), 1) + OBJ += audio/drivers/coreaudio3.o + HAVE_COREAUDIO_LIBS = 1 +endif + +ifeq ($(HAVE_COREAUDIO_LIBS), 1) + LIBS += -framework CoreServices -framework CoreAudio -framework AudioUnit endif ifeq ($(HAVE_CORETEXT), 1) @@ -625,7 +641,10 @@ ifeq ($(HAVE_NEON),1) OBJ += $(LIBRETRO_COMM_DIR)/audio/resampler/drivers/sinc_resampler_neon.o \ audio/drivers_resampler/cc_resampler_neon.o \ memory/neon/memcpy-neon.o - DEFINES += -DHAVE_NEON + + DEFINES += -DHAVE_NEON + ASFLAGS += $(NEON_ASFLAGS) + DEF_FLAGS += $(NEON_CFLAGS) endif OBJ += $(LIBRETRO_COMM_DIR)/audio/conversion/s16_to_float.o \ @@ -651,10 +670,6 @@ endif # XMB and MaterialUI are always enabled if supported and not explicitly disabled ifeq ($(HW_CONTEXT_MENU_DRIVERS), 1) - ifeq ($(HAVE_ZARCH),) - HAVE_ZARCH = 0 - endif - ifeq ($(HAVE_RGUI),) HAVE_RGUI = 1 endif @@ -663,10 +678,6 @@ ifeq ($(HW_CONTEXT_MENU_DRIVERS), 1) HAVE_MATERIALUI = 1 endif - ifeq ($(HAVE_NUKLEAR),) - HAVE_NUKLEAR = 0 - endif - ifeq ($(HAVE_XMB),) HAVE_XMB = 1 endif @@ -679,10 +690,8 @@ ifeq ($(HW_CONTEXT_MENU_DRIVERS), 1) HAVE_OZONE = 1 endif else - HAVE_ZARCH ?= 0 HAVE_RGUI ?= 0 HAVE_MATERIALUI ?= 0 - HAVE_NUKLEAR ?= 0 HAVE_XMB ?= 0 HAVE_STRIPES ?= 0 HAVE_OZONE ?= 0 @@ -703,21 +712,6 @@ ifeq ($(HAVE_MENU), 1) HAVE_ASSETS = 1 endif - ifeq ($(HAVE_NUKLEAR), 1) - OBJ += menu/drivers/nuklear/nk_common.o \ - menu/drivers/nuklear/nk_menu.o \ - menu/drivers/nuklear/nk_wnd_debug.o \ - menu/drivers/nuklear.o - DEFINES += -DHAVE_NUKLEAR - HAVE_ASSETS = 1 - endif - - ifeq ($(HAVE_ZARCH), 1) - OBJ += menu/drivers/zarch.o - DEFINES += -DHAVE_ZARCH - HAVE_ASSETS = 1 - endif - ifeq ($(HAVE_XMB), 1) OBJ += menu/drivers/xmb.o DEFINES += -DHAVE_XMB @@ -1061,9 +1055,7 @@ endif ifeq ($(HAVE_GL_CONTEXT), 1) DEFINES += -DHAVE_OPENGL -DHAVE_GLSL OBJ += gfx/drivers/gl.o \ - gfx/drivers_renderchain/gl2_renderchain.o \ $(LIBRETRO_COMM_DIR)/gfx/gl_capabilities.o \ - gfx/common/gl_common.o \ gfx/drivers_font/gl_raster_font.o \ $(LIBRETRO_COMM_DIR)/glsym/rglgen.o @@ -1160,7 +1152,6 @@ ifeq ($(HAVE_GL_CONTEXT), 1) endif OBJ += gfx/drivers_shader/shader_glsl.o - DEFINES += -DHAVE_GLSL endif ifeq ($(HAVE_EGL), 1) @@ -1170,36 +1161,27 @@ ifeq ($(HAVE_EGL), 1) endif ifeq ($(HAVE_SDL2), 1) - HAVE_SDL=0 -endif - -ifeq ($(HAVE_SDL), 1) - OBJ += gfx/drivers/sdl_gfx.o \ - input/drivers/sdl_input.o \ - input/drivers_joypad/sdl_joypad.o \ - audio/drivers/sdl_audio.o - - ifeq ($(HAVE_GL_CONTEXT), 1) - OBJ += gfx/drivers_context/sdl_gl_ctx.o - endif - - DEFINES += $(SDL_CFLAGS) $(BSD_LOCAL_INC) + HAVE_SDL_COMMON = 1 + OBJ += gfx/drivers/sdl2_gfx.o + DEFINES += $(SDL2_CFLAGS) + LIBS += $(SDL2_LIBS) +else ifeq ($(HAVE_SDL), 1) + HAVE_SDL_COMMON = 1 + OBJ += gfx/drivers/sdl_gfx.o + DEFINES += $(SDL_CFLAGS) LIBS += $(SDL_LIBS) endif -ifeq ($(HAVE_SDL2), 1) - OBJ += gfx/drivers/sdl2_gfx.o \ - input/drivers/sdl_input.o \ +ifeq ($(HAVE_SDL_COMMON), 1) + OBJ += input/drivers/sdl_input.o \ input/drivers_joypad/sdl_joypad.o \ audio/drivers/sdl_audio.o ifeq ($(HAVE_GL_CONTEXT), 1) - OBJ += gfx/drivers_context/sdl_gl_ctx.o + OBJ += gfx/drivers_context/sdl_gl_ctx.o endif - DEFINES += $(SDL2_CFLAGS) $(BSD_LOCAL_INC) - LIBS += $(SDL2_LIBS) - HAVE_SDL = 0 + DEFINES += $(BSD_LOCAL_INC) endif ifeq ($(HAVE_XSHM), 1) @@ -1254,8 +1236,6 @@ endif ifeq ($(HAVE_DISPMANX), 1) OBJ += gfx/drivers/dispmanx_gfx.o HAVE_VIDEOCORE = 1 - LIBS += $(DISPMANX_LIBS) - DEFINES += $(DISPMANX_CFLAGS) endif ifeq ($(HAVE_SUNXI), 1) @@ -1547,8 +1527,6 @@ ifeq ($(HAVE_ZLIB), 1) else LIBS += $(ZLIB_LIBS) endif -endif - ifeq ($(HAVE_CHD), 1) DEF_FLAGS += -I$(LIBRETRO_COMM_DIR)/formats/libchdr DEFINES += -DHAVE_CHD -DWANT_SUBCODE -DWANT_RAW_DATA_SECTOR @@ -1558,18 +1536,17 @@ ifeq ($(HAVE_CHD), 1) $(LIBRETRO_COMM_DIR)/formats/libchdr/libchdr_huffman.o \ $(LIBRETRO_COMM_DIR)/streams/chd_stream.o - ifeq ($(HAVE_FLAC), 1) + + + OBJ += $(LIBRETRO_COMM_DIR)/formats/libchdr/libchdr_zlib.o + ifeq ($(HAVE_FLAC),1) OBJ += $(LIBRETRO_COMM_DIR)/formats/libchdr/libchdr_flac.o \ $(LIBRETRO_COMM_DIR)/formats/libchdr/libchdr_flac_codec.o endif - ifeq ($(HAVE_7ZIP), 1) OBJ += $(LIBRETRO_COMM_DIR)/formats/libchdr/libchdr_lzma.o endif - - ifeq ($(HAVE_ZLIB), 1) - OBJ += $(LIBRETRO_COMM_DIR)/formats/libchdr/libchdr_zlib.o - endif +endif endif ifeq ($(HAVE_RTGA), 1) @@ -1612,7 +1589,8 @@ endif ifeq ($(HAVE_V4L2),1) OBJ += camera/drivers/video4linux2.o - ifeq ($(HAVE_VIDEO_PROCESSOR),1) + ifeq ($(HAVE_VIDEOPROCESSOR),1) + DEFINES += -DHAVE_VIDEOPROCESSOR OBJ += cores/libretro-video-processor/video_processor_v4l2.o endif DEFINES += -DHAVE_V4L2 @@ -1665,54 +1643,78 @@ ifeq ($(HAVE_NETWORKING), 1) network/netplay/netplay_buf.o \ network/netplay/netplay_room_parse.o - # Retro Achievements + # RetroAchievements ifeq ($(HAVE_CHEEVOS), 1) DEFINES += -DHAVE_CHEEVOS - - OBJ += cheevos/cheevos.o \ - cheevos/badges.o \ - cheevos/var.o \ - cheevos/cond.o - ifeq ($(HAVE_LUA), 1) - DEFINES += -DHAVE_LUA \ - -DLUA_32BITS \ - -Ideps/lua/src - OBJ += deps/lua/src/lapi.o \ - deps/lua/src/lcode.o \ - deps/lua/src/lctype.o \ - deps/lua/src/ldebug.o \ - deps/lua/src/ldo.o \ - deps/lua/src/ldump.o \ - deps/lua/src/lfunc.o \ - deps/lua/src/lgc.o \ - deps/lua/src/llex.o \ - deps/lua/src/lmem.o \ - deps/lua/src/lobject.o \ - deps/lua/src/lopcodes.o \ - deps/lua/src/lparser.o \ - deps/lua/src/lstate.o \ - deps/lua/src/lstring.o \ - deps/lua/src/ltable.o \ - deps/lua/src/ltm.o \ - deps/lua/src/lundump.o \ - deps/lua/src/lvm.o \ - deps/lua/src/lzio.o \ - deps/lua/src/lauxlib.o \ - deps/lua/src/lbaselib.o \ - deps/lua/src/lbitlib.o \ - deps/lua/src/lcorolib.o \ - deps/lua/src/ldblib.o \ - deps/lua/src/liolib.o \ - deps/lua/src/lmathlib.o \ - deps/lua/src/loslib.o \ - deps/lua/src/lstrlib.o \ - deps/lua/src/ltablib.o \ - deps/lua/src/lutf8lib.o \ - deps/lua/src/loadlib.o \ - deps/lua/src/linit.o + ifeq ($(HAVE_NEW_CHEEVOS), 1) + DEFINES += -DHAVE_NEW_CHEEVOS \ + -Ideps/rcheevos/include \ + -Ideps/lua/src + OBJ += cheevos-new/cheevos.o \ + cheevos-new/badges.o \ + cheevos-new/fixup.o \ + cheevos-new/parser.o \ + cheevos-new/hash.o \ + deps/rcheevos/src/rcheevos/trigger.o \ + deps/rcheevos/src/rcheevos/condset.o \ + deps/rcheevos/src/rcheevos/condition.o \ + deps/rcheevos/src/rcheevos/operand.o \ + deps/rcheevos/src/rcheevos/term.o \ + deps/rcheevos/src/rcheevos/expression.o \ + deps/rcheevos/src/rcheevos/value.o \ + deps/rcheevos/src/rcheevos/lboard.o \ + deps/rcheevos/src/rcheevos/alloc.o \ + deps/rcheevos/src/rcheevos/format.o \ + deps/rcheevos/src/rurl/url.o + + ifeq ($(HAVE_LUA), 1) + DEFINES += -DHAVE_LUA \ + -DLUA_32BITS \ + -Ideps/lua/src + OBJ += deps/lua/src/lapi.o \ + deps/lua/src/lcode.o \ + deps/lua/src/lctype.o \ + deps/lua/src/ldebug.o \ + deps/lua/src/ldo.o \ + deps/lua/src/ldump.o \ + deps/lua/src/lfunc.o \ + deps/lua/src/lgc.o \ + deps/lua/src/llex.o \ + deps/lua/src/lmem.o \ + deps/lua/src/lobject.o \ + deps/lua/src/lopcodes.o \ + deps/lua/src/lparser.o \ + deps/lua/src/lstate.o \ + deps/lua/src/lstring.o \ + deps/lua/src/ltable.o \ + deps/lua/src/ltm.o \ + deps/lua/src/lundump.o \ + deps/lua/src/lvm.o \ + deps/lua/src/lzio.o \ + deps/lua/src/lauxlib.o \ + deps/lua/src/lbaselib.o \ + deps/lua/src/lbitlib.o \ + deps/lua/src/lcorolib.o \ + deps/lua/src/ldblib.o \ + deps/lua/src/liolib.o \ + deps/lua/src/lmathlib.o \ + deps/lua/src/loslib.o \ + deps/lua/src/lstrlib.o \ + deps/lua/src/ltablib.o \ + deps/lua/src/lutf8lib.o \ + deps/lua/src/loadlib.o \ + deps/lua/src/linit.o + else + DEFINES += -DRC_DISABLE_LUA + endif + + # if not HAVE_NEW_CHEEVOS else - DEFINES += -DRC_DISABLE_LUA + OBJ += cheevos/cheevos.o \ + cheevos/badges.o \ + cheevos/var.o \ + cheevos/cond.o endif endif @@ -1720,6 +1722,11 @@ ifeq ($(HAVE_NETWORKING), 1) NEED_CXX_LINKER = 1 DEFINES += -DHAVE_DISCORD DEFINES += -Ideps/discord-rpc/include/ -Ideps/discord-rpc/thirdparty/rapidjson-1.1.0/include/ + + ifneq ($(HAVE_THREADS), 1) + DEFINES += -DDISCORD_DISABLE_IO_THREAD + endif + OBJ += deps/discord-rpc/src/discord_rpc.o \ deps/discord-rpc/src/rpc_connection.o \ deps/discord-rpc/src/serialization.o \ diff --git a/Makefile.ctr b/Makefile.ctr index c276e79b3e..9e96d6f6bc 100644 --- a/Makefile.ctr +++ b/Makefile.ctr @@ -68,7 +68,6 @@ else HAVE_7ZIP = 1 HAVE_BUILTINZLIB = 1 HAVE_LIBRETRODB = 1 - HAVE_ZARCH = 0 HAVE_MATERIALUI = 1 HAVE_XMB = 1 HAVE_STATIC_VIDEO_FILTERS = 1 @@ -137,7 +136,6 @@ CFLAGS += -I. \ -Ideps/libz \ -Ideps/7zip \ -Ideps/stb \ - -Ideps/rcheevos/include \ -Ilibretro-common/include CFLAGS += -DRARCH_INTERNAL -DRARCH_CONSOLE diff --git a/Makefile.libnx b/Makefile.libnx index 566730ecb3..df8a4de7cc 100644 --- a/Makefile.libnx +++ b/Makefile.libnx @@ -41,7 +41,7 @@ HAVE_NETWORKING = 1 HAVE_NETPLAYDISCOVERY = 1 HAVE_STB_FONT = 1 HAVE_CHEEVOS = 1 -HAVE_CHD = 1 +HAVE_CHD = 0 # disabled due to static libretro-common and libchdr conflicts between different cores HAVE_STB_VORBIS = 1 # RetroArch libnx useful flags @@ -56,18 +56,13 @@ HAVE_LANGEXTRA = 1 ifeq ($(HAVE_OPENGL), 1) HAVE_EGL = 1 HAVE_SHADERPIPELINE = 1 - HAVE_RGUI = 1 HAVE_MATERIALUI = 1 - HAVE_XMB = 1 HAVE_OZONE = 1 - HAVE_OVERLAY = 1 else HAVE_RGUI = 1 - - HAVE_ZARCH = 0 HAVE_MATERIALUI = 0 HAVE_XMB = 0 HAVE_OZONE = 0 diff --git a/Makefile.orbis b/Makefile.orbis index ee0e5a8a44..b0cba71a20 100644 --- a/Makefile.orbis +++ b/Makefile.orbis @@ -30,18 +30,17 @@ else HAVE_RBMP := 1 HAVE_RTGA := 1 HAVE_ZLIB := 1 - HAVE_OVERLAY := 1 + HAVE_OVERLAY := 1 HAVE_7ZIP := 1 HAVE_EGL := 1 - HAVE_OPENGLES := 1 + HAVE_OPENGLES := 1 HAVE_NETWORKING := 0 HAVE_SOCKET_LEGACY := 0 HAVE_MENU := 1 HAVE_MENU_COMMON := 1 HAVE_RGUI := 0 - HAVE_MATERIALUI := 0 - HAVE_XMB := 1 - HAVE_ZARCH := 0 + HAVE_MATERIALUI := 0 + HAVE_XMB := 1 HAVE_THREADS := 1 HAVE_LIBRETRODB := 1 HAVE_CC_RESAMPLER := 1 diff --git a/Makefile.switch b/Makefile.switch index fb27990459..8c75e91dd4 100644 --- a/Makefile.switch +++ b/Makefile.switch @@ -24,7 +24,6 @@ else HAVE_ZLIB = 1 HAVE_BUILTINZLIB = 1 HAVE_LIBRETRODB = 1 - HAVE_ZARCH = 0 HAVE_MATERIALUI = 0 # enable later? HAVE_XMB = 0 HAVE_STATIC_VIDEO_FILTERS = 1 diff --git a/Makefile.wiiu b/Makefile.wiiu index 58412548df..7515fc6eab 100644 --- a/Makefile.wiiu +++ b/Makefile.wiiu @@ -122,7 +122,6 @@ endif HAVE_7ZIP = 1 HAVE_BUILTINZLIB = 0 HAVE_LIBRETRODB = 1 - HAVE_ZARCH = 0 HAVE_MATERIALUI = 1 HAVE_XMB = 1 HAVE_STB_FONT = 1 diff --git a/audio/audio_defines.h b/audio/audio_defines.h new file mode 100644 index 0000000000..14693aa296 --- /dev/null +++ b/audio/audio_defines.h @@ -0,0 +1,88 @@ +/* RetroArch - A frontend for libretro. + * Copyright (C) 2010-2014 - Hans-Kristian Arntzen + * Copyright (C) 2011-2017 - Daniel De Matteis + * + * RetroArch is free software: you can redistribute it and/or modify it under the terms + * of the GNU General Public License as published by the Free Software Found- + * ation, either version 3 of the License, or (at your option) any later version. + * + * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with RetroArch. + * If not, see . + */ + +#ifndef __AUDIO_DEFINES__H +#define __AUDIO_DEFINES__H + +#include + +RETRO_BEGIN_DECLS + +#define AUDIO_CHUNK_SIZE_BLOCKING 512 + +/* So we don't get complete line-noise when fast-forwarding audio. */ +#define AUDIO_CHUNK_SIZE_NONBLOCKING 2048 + +#define AUDIO_MAX_RATIO 16 + +#define AUDIO_MIXER_MAX_STREAMS 16 + +#define AUDIO_MIXER_MAX_SYSTEM_STREAMS (AUDIO_MIXER_MAX_STREAMS + 4) + +/* do not define more than (MAX_SYSTEM_STREAMS - MAX_STREAMS) */ +enum audio_mixer_system_slot +{ + AUDIO_MIXER_SYSTEM_SLOT_OK = AUDIO_MIXER_MAX_STREAMS, + AUDIO_MIXER_SYSTEM_SLOT_CANCEL, + AUDIO_MIXER_SYSTEM_SLOT_NOTICE, + AUDIO_MIXER_SYSTEM_SLOT_BGM +}; + +enum audio_action +{ + AUDIO_ACTION_NONE = 0, + AUDIO_ACTION_RATE_CONTROL_DELTA, + AUDIO_ACTION_MIXER_MUTE_ENABLE, + AUDIO_ACTION_MUTE_ENABLE, + AUDIO_ACTION_VOLUME_GAIN, + AUDIO_ACTION_MIXER_VOLUME_GAIN, + AUDIO_ACTION_MIXER +}; + +enum audio_mixer_slot_selection_type +{ + AUDIO_MIXER_SLOT_SELECTION_AUTOMATIC = 0, + AUDIO_MIXER_SLOT_SELECTION_MANUAL +}; + +enum audio_mixer_stream_type +{ + AUDIO_STREAM_TYPE_NONE = 0, + AUDIO_STREAM_TYPE_USER, + AUDIO_STREAM_TYPE_SYSTEM +}; + +enum audio_mixer_state +{ + AUDIO_STREAM_STATE_NONE = 0, + AUDIO_STREAM_STATE_STOPPED, + AUDIO_STREAM_STATE_PLAYING, + AUDIO_STREAM_STATE_PLAYING_LOOPED, + AUDIO_STREAM_STATE_PLAYING_SEQUENTIAL +}; + +typedef struct audio_statistics +{ + float average_buffer_saturation; + float std_deviation_percentage; + float close_to_underrun; + float close_to_blocking; + unsigned samples; +} audio_statistics_t; + +RETRO_END_DECLS + +#endif diff --git a/audio/audio_driver.c b/audio/audio_driver.c index 9290dc41b1..6633d8147b 100644 --- a/audio/audio_driver.c +++ b/audio/audio_driver.c @@ -21,10 +21,12 @@ #include #include