diff --git a/CHANGELOG.md b/CHANGELOG.md
index 91d6740eb..19c4827de 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -13,6 +13,7 @@
* Made fundamental changes to the application logic by removing most view styles and replacing them with a new theme variants concept
* Added theme support for defining and applying different layouts for various display aspect ratios such as 16:9 and 4:3
* Added theme support for defining and applying different color schemes
+* Added a new grid component that is usable in both the system and gamelist views
* Made gamelist theming much more flexible by allowing any number of elements of any types to be defined
* Deprecated multiple older theming concepts like features, extras and hardcoded metadata attributes
* Renamed the default theme set from rbsimple-DE to slate-DE
@@ -21,10 +22,15 @@
* Added support for caching of SVG images
* Added support for sizing SVG images arbitrarily (overriding the image aspect ratio by stretching and squashing)
* (Windows) Made game launching more seamless by making the application window one pixel wider instead of one pixel less in height
+* Expanded the quick system select menu option from an on/off entry to a selection of different button combinations
+* Changed the order of the help system entries Y, X, B and A to instead be listed as A, B, X and Y
+* Changed the start button for the screensaver from "Back" to "X"
+* Changed the help system description for the "A" button in the gamelist view from "Launch" to "Select"
+* Changed the menu header for the gamelist options menu from "Options" to "Gamelist options"
+* Added support for the Nintendo Wii U (wiiu) game system on Linux and macOS by adding the Cemu standalone emulator
* Added ares standalone as an alternative emulator for many systems
* Added MAME standalone as an alternative emulator for the gameandwatch system
* Added openMSX standalone as an alternative emulator for the colecovision, msx, msx1, msx2 and msxturbor systems
-* (Linux) Added support for the Nintendo Wii U (wiiu) game system by adding the Cemu standalone emulator
* (Linux) Added support for the Sega Model 3 (model3) game system by adding the Supermodel standalone emulator
* (Linux) Added Supermodel standalone as an alternative emulator for the arcade and mame systems
* Added support for the Sega Model 2 (model2) game system on Linux on macOS by adding the MAME - Current RetroArch core
@@ -34,7 +40,7 @@
* Added a %GAMEDIR% variable to the -rompath option for all MAME standalone entries to allow launching games from subdirectories
* Added Triforce (Dolphin fork) standalone as an alternative emulator for the gc system on Linux and Windows
* Added simple64 standalone as an alternative emulator for the n64 system on Linux and Windows
-* (Linux) Added Rosalie's Mupen GUI standalone as an alternative emulator for the n64 system
+* Added Rosalie's Mupen GUI standalone as an alternative emulator for the n64 system on Linux and Windows
* Added VICE standalone as an alternative emulator for the c64 (x64sc only) and vic20 systems
* (Windows) Added PrimeHack as an alternative emulator for the gc and wii systems
* (Windows) Added Project64 as an alternative emulator for the n64 system
@@ -43,6 +49,7 @@
* Added support for the mugen system on Linux and macOS using the Ikemen GO game engine
* Added CPCemu standalone as an alternative emulator for the amstradcpc system
* Added MAME standalone as an alternative emulator for the gx4000 system
+* Added the . (dot) file extension to the xbox360 system on Windows to support extensionless XBLA games
* Added the .car and .rom file extensions to the a5200 system
* Added the .car file extension to the atari800 system
* Added the .bin file extension to the gx4000 system
@@ -72,6 +79,7 @@
* Greatly improved application startup speed by avoiding a lot of unnecessary SVG rasterizations
* Implemented dynamic texture allocation to the font code to reduce memory usage and avoid missing glyphs
* Large optimizations to the text wrapping code (generallly 300-400% faster)
+* Added support for linear interpolation for font texture magnifications
* Added support for texture mipmapping with trilinear filtering
* Added on-demand texture loading to the carousel
* Improved the renderer scaling accuracy
@@ -102,11 +110,13 @@
* Added support for defining the scrollable container speed, start delay and reset delay from the theme configuration
* Added support for arbitrary aspect ratios for RatingComponent images and also added an overlay property
* Added theme support for defining the opacity for most element types
+* Added theme support for defining relative brightness for images, videos and animations
* Added theme support for defining color saturation for images, videos and animations
* Added theme support for defining the video fade-in time
* Added theme support for enabling and disabling video pillarboxes and scanline rendering
* Added theme support for defining the threshold for when pillarboxes should be applied to a video
* Added theme support for enabling or disabling audio playback for videos
+* Added theme support for color shifting videos (and the static image)
* Added theme support for setting separate textColorDimmed and iconColorDimmed properties for the system and gamelist views
* Added support for nesting of theme variables
* Added support for defining multiple theme "variables" tags in the same XML file
@@ -120,6 +130,7 @@
* Improved theme element placement by replacing the "alignment" and "logoAlignment" properties with specific horizontal and vertical properties
* Made it possible to use almost all game metadata field when theming text elements
* Made it possible to set the image interpolation method (nearest neighbor or linear filtering) per image from the theme configuration
+* Added support for resizing and cropping images to fill the entire defined area (cover fitting)
* Changed the helpsystem properties entrySpacing and iconTextSpacing from fixed pixel values to relative values
* Added support for using unsigned integers for theme properties
* Added a metadataElement theme property to the image, video, animation and text element types to control fading and hiding of arbitrary elements
@@ -129,6 +140,7 @@
* Added scraping of fan art and updated the media viewer to display these images
* Added scraping of box back covers when using TheGamesDB
* If a wheel (marquee) image on ScreenScraper falls back to another region, then the wheel-hd image is now used instead if it matches the set region
+* Removed scraping of arcade controller information using ScreenScraper as they have ruined this functionality
* Added a ScreenScraper-specific option to remove dots from game name searches when using the multi-scraper in automatic mode
* Moved the option "Scrape actual folders" higher up in the scraper options menu
* Added the ability to set a manual sortname specifically for custom collections using the metadata editor
@@ -148,7 +160,7 @@
* Added opacity support to the scanline shader
* Added the rlottie library as a Git subtree
* Updated to build correctly with FFmpeg 5.1
-* Updated FFmpeg to 5.1.2, SDL to 2.24.1, FreeType to 2.12.1 and pugixml to 1.12.1 on Windows and macOS
+* Updated SDL to 2.26.1, FFmpeg to 5.1.2, FreeType to 2.12.1 and pugixml to 1.12.1 on Windows and macOS
* Updated curl to 7.86.0 on Windows
* Added a workaround for playing broken video files with invalid PTS values
* Refactored the rendering code from a shared namespace into proper classes
@@ -166,9 +178,12 @@
* Made the logging thread safe
* (Windows) Changed many logging entries to use backslashes instead of forward slashes as directory separators
* Added the build date to to main menu for alpha and dev builds
+* Added a left trigger + right trigger help system icon and removed the deprecated hotkey icon
+* Added an arcade twin stick controller badge icon
* Moved all Platform functions to the utility namespace instead of using the global namespace
* Implemented proper XML attribute support in ThemeData that eliminates the risk of name collisions
* Added size restrictions to images and fonts so incorrect theme configuration would not lead to crashes or excessive memory utilization
+* Made animations on the carousel better looking by using a new non-linear interpolation method
* Migrated the carousel code from SystemView to a separate new CarouselComponent
* Changed the carousel properties to be more generic by renaming "logo" to "item", e.g. itemSize, maxItemCount etc.
* Added the properties "itemsBeforeCenter" and "itemsAfterCenter" to define entries for carousels of the wheel type
@@ -176,7 +191,11 @@
* Added reflections support to the carousel
* Added a new itemAxisHorizontal property to the carousel to keep wheel items horizontal at all times
* Added carousel theme support for setting the opacity for unfocused entries
+* Added carousel theme support for applying image color shifts
+* Added carousel theme support for defining image brightness
+* Added carousel theme support for defining image saturation
* Added carousel theme support for setting item transitions to "slide" or "instant"
+* Added carousel theme support for controlling item stacking for overlapping items
* Added a fadeAbovePrimary property to control whether elements above the system view carousel and textlist should be rendered during fade transitions
* Removed support for the thumbnail game media type
* Changed all occurances of "GameList" to "Gamelist" throughout the codebase
@@ -206,11 +225,14 @@
### Bug fixes
* Multiple levels of symlinking in the ROMs directory tree could crash the application on startup
+* Adding a dot (.) to the es_systems.xml extension tag (to setup extensionless entries) lead to a crash if the system contained folders
* For the cps system, MAME standalone was configured with the wrong system directory for the -rompath option, pointing to "arcade" instead of "cps"
* During some menu operations that reloaded the gamelist view, the cached background could miss some components as they were not rendered in time
* Text wrapping did not work correctly for text that typically does not contain spaces, like Japanese
* Changing some values using the metadata editor could lead to an incorrect sort order if the changes were done from within a grouped custom collection
* Changing the setting "Group unthemed custom collections" could lead to incorrect custom collections sorting under some circumstances
+* For gamelists which mixed files and folders, the folder sorting was sometimes incorrect
+* Incorrect folder paths were displayed in the metadata editor if the setting "Only show ROMs from gamelist.xml files" was enabled
* Games located in subdirectories were not added back to custom collections when disabling the "Exclude from game counter" metadata option
* Enabling and then disabling the "Exclude from game counter" metadata option would remove a game from all currently disabled custom collections
* Navigation sounds for the trigger buttons would play when repeatedly pressed at the start or end of text lists
@@ -226,6 +248,7 @@
* The video player output frame width was not set correctly which made some videos render as garbled when using FFmpeg 5.1 and later
* If a gamelist scroll fade-in animation was playing when opening a menu, it would continue to play after closing the menu
* The gamelist quick list scrolling overlay would not disappear as intended under some circumstances
+* Using the trigger buttons to jump to the start or end of a gamelist did not reset any currently held navigation buttons
* When a legacy theme set had a video view style but did not have a valid md_video entry then the video player would still start (and play the audio)
* Clearing a game in the metadata editor would sometimes not remove all media files (if there were both a .jpg and a .png for a certain file type)
* The tile property for the image element did not work correctly with SVG images
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 75ffc9f82..3a4103d06 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -401,7 +401,7 @@ elseif(WIN32)
${CMAKE_CURRENT_SOURCE_DIR}/external/FreeImage/Dist/x64
${CMAKE_CURRENT_SOURCE_DIR}/external/freetype/include
${CMAKE_CURRENT_SOURCE_DIR}/external/pugixml/src
- ${CMAKE_CURRENT_SOURCE_DIR}/external/SDL2-2.24.1)
+ ${CMAKE_CURRENT_SOURCE_DIR}/external/SDL2-2.26.1)
elseif(EMSCRIPTEN)
set(COMMON_INCLUDE_DIRS ${COMMON_INCLUDE_DIRS}
${CMAKE_CURRENT_SOURCE_DIR}/external/curl/include
@@ -450,7 +450,7 @@ if(APPLE)
${PROJECT_SOURCE_DIR}/libfreeimage.a
${PROJECT_SOURCE_DIR}/libfreetype.6.dylib
${PROJECT_SOURCE_DIR}/libpugixml.a
- ${PROJECT_SOURCE_DIR}/libSDL2-2.0.dylib)
+ ${PROJECT_SOURCE_DIR}/libSDL2-2.0.0.dylib)
elseif(WIN32)
if(CMAKE_CXX_COMPILER_ID MATCHES MSVC)
set(COMMON_LIBRARIES ${PROJECT_SOURCE_DIR}/avcodec.lib
diff --git a/INSTALL-DEV.md b/INSTALL-DEV.md
index 0d9d28b06..2d5d81c6a 100644
--- a/INSTALL-DEV.md
+++ b/INSTALL-DEV.md
@@ -8,7 +8,7 @@ Table of contents:
[[_TOC_]]
-## Development Environment
+## Development environment
ES-DE is developed and compiled using Clang/LLVM and GCC on Unix, Clang/LLVM on macOS and MSVC and GCC (MinGW) on Windows.
@@ -1165,6 +1165,8 @@ Wildcards are supported for emulator binaries, but not for directories:
~/App*/yuzu*.AppImage %ROM%
```
+There is a special case when it comes to file extensions where it's possible to use extensionless files if required. To accomplish this simply add a dot (.) to the list of extensions in the `` tag. Obviously this makes it impossible to use the _directories interpreted as files_ functionality as there is no file extension, but apart from that everything should work the same as for regular files.
+
Keep in mind that you have to set up your emulators separately from ES-DE as the es_systems.xml file assumes that your emulator environment is properly configured.
Below is an overview of the file layout with various examples. For the command tag, the newer es_find_rules.xml logic described later in this document removes the need for most of the legacy options, but they are still supported for special configurations and for backward compatibility with old configuration files.
@@ -1195,8 +1197,8 @@ Below is an overview of the file layout with various examples. For the command t
All subdirectories (and non-recursive links) will be included. -->
%ROMPATH%/snes
-
+
.smc .SMC .sfc .SFC .swc .SWC .fig .FIG .bs .BS .bin .BIN .mgd .MGD .7z .7Z .zip .ZIP
+
+
diff --git a/resources/graphics/help/button_hotkey.svg b/resources/graphics/help/button_hotkey.svg
deleted file mode 100644
index f4e200c8b..000000000
--- a/resources/graphics/help/button_hotkey.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
diff --git a/resources/graphics/help/button_ltrt.svg b/resources/graphics/help/button_ltrt.svg
new file mode 100644
index 000000000..4487ab02d
--- /dev/null
+++ b/resources/graphics/help/button_ltrt.svg
@@ -0,0 +1,17 @@
+
+
diff --git a/resources/shaders/glsl/core.glsl b/resources/shaders/glsl/core.glsl
index 22fb53cfc..9e60a02d2 100644
--- a/resources/shaders/glsl/core.glsl
+++ b/resources/shaders/glsl/core.glsl
@@ -4,7 +4,7 @@
// core.glsl
//
// Core shader functionality:
-// Clipping, opacity, saturation, dimming and reflections falloff.
+// Clipping, brightness, saturation, opacity, dimming and reflections falloff.
//
// Vertex section of code:
@@ -39,8 +39,9 @@ in vec2 texCoord;
in vec4 color;
uniform vec4 clipRegion;
-uniform float opacity;
+uniform float brightness;
uniform float saturation;
+uniform float opacity;
uniform float dimming;
uniform float reflectionsFalloff;
uniform uint shaderFlags;
@@ -70,6 +71,25 @@ void main()
vec4 sampledColor = texture(textureSampler, texCoord);
+ // Brightness.
+ if (brightness != 0.0) {
+ sampledColor.rgb /= sampledColor.a;
+ sampledColor.rgb += 0.3 * brightness;
+ sampledColor.rgb *= sampledColor.a;
+ }
+
+ // Saturation.
+ if (saturation != 1.0) {
+ vec3 grayscale;
+ // Premultiplied textures are all in BGRA format.
+ if (0x0u != (shaderFlags & 0x01u))
+ grayscale = vec3(dot(sampledColor.bgr, vec3(0.114, 0.587, 0.299)));
+ else
+ grayscale = vec3(dot(sampledColor.rgb, vec3(0.299, 0.587, 0.114)));
+ vec3 blendedColor = mix(grayscale, sampledColor.rgb, saturation);
+ sampledColor = vec4(blendedColor, sampledColor.a);
+ }
+
// For fonts the alpha information is stored in the red channel.
if (0x0u != (shaderFlags & 0x2u))
sampledColor = vec4(1.0, 1.0, 1.0, sampledColor.r);
@@ -97,18 +117,6 @@ void main()
sampledColor *= opacity;
}
- // Saturation.
- if (saturation != 1.0) {
- vec3 grayscale;
- // Premultiplied textures are all in BGRA format.
- if (0x0u != (shaderFlags & 0x01u))
- grayscale = vec3(dot(sampledColor.bgr, vec3(0.34, 0.55, 0.11)));
- else
- grayscale = vec3(dot(sampledColor.rgb, vec3(0.34, 0.55, 0.11)));
- vec3 blendedColor = mix(grayscale, sampledColor.rgb, saturation);
- sampledColor = vec4(blendedColor, sampledColor.a);
- }
-
// Dimming.
if (dimming != 1.0) {
vec4 dimColor = vec4(dimming, dimming, dimming, 1.0);
diff --git a/resources/shaders/glsl/scanlines.glsl b/resources/shaders/glsl/scanlines.glsl
index 960a0065e..39df227f4 100644
--- a/resources/shaders/glsl/scanlines.glsl
+++ b/resources/shaders/glsl/scanlines.glsl
@@ -30,10 +30,13 @@ precision mediump float;
uniform mat4 MVPMatrix;
in vec2 positionVertex;
in vec2 texCoordVertex;
+in vec4 colorVertex;
uniform vec2 textureSize;
+
out vec2 texCoord;
out vec2 onex;
out vec2 oney;
+out vec4 colorShift;
#define SourceSize vec4(textureSize, 1.0 / textureSize)
@@ -43,6 +46,7 @@ void main()
texCoord = texCoordVertex;
onex = vec2(SourceSize.z, 0.0);
oney = vec2(0.0, SourceSize.w);
+ colorShift.abgr = colorVertex.rgba;
}
// Fragment section of code:
@@ -54,11 +58,13 @@ precision mediump float;
uniform vec2 textureSize;
uniform float opacity;
+uniform float brightness;
uniform float saturation;
uniform sampler2D textureSampler;
in vec2 texCoord;
in vec2 onex;
in vec2 oney;
+in vec4 colorShift;
out vec4 FragColor;
#define SourceSize vec4(textureSize, 1.0 / textureSize)
@@ -101,13 +107,6 @@ void main()
float h_weight_00 = dx / SPOT_WIDTH;
WEIGHT(h_weight_00);
- // Saturation.
- if (saturation != 1.0) {
- vec3 grayscale = vec3(dot(color.rgb, vec3(0.34, 0.55, 0.11)));
- vec3 blendedColor = mix(grayscale, color.rgb, saturation);
- color = vec4(blendedColor, color.a);
- }
-
color *= vec4(h_weight_00, h_weight_00, h_weight_00, h_weight_00);
// Get closest horizontal neighbour to blend.
@@ -122,13 +121,6 @@ void main()
}
vec4 colorNB = TEX2D(texture_coords + coords01);
- // Saturation.
- if (saturation != 1.0) {
- vec3 grayscale = vec3(dot(colorNB.rgb, vec3(0.34, 0.55, 0.11)));
- vec3 blendedColor = mix(grayscale, colorNB.rgb, saturation);
- colorNB = vec4(blendedColor, colorNB.a);
- }
-
float h_weight_01 = dx / SPOT_WIDTH;
WEIGHT(h_weight_01);
@@ -152,13 +144,6 @@ void main()
}
colorNB = TEX2D(texture_coords + coords10);
- // Saturation.
- if (saturation != 1.0) {
- vec3 grayscale = vec3(dot(colorNB.rgb, vec3(0.34, 0.55, 0.11)));
- vec3 blendedColor = mix(grayscale, colorNB.rgb, saturation);
- colorNB = vec4(blendedColor, colorNB.a);
- }
-
float v_weight_10 = dy / SPOT_HEIGHT;
WEIGHT(v_weight_10);
@@ -170,6 +155,26 @@ void main()
color *= vec4(COLOR_BOOST);
vec4 colorTemp = clamp(GAMMA_OUT(color), 0.0, 1.0);
+
+ // Brightness.
+ if (brightness != 0.0) {
+ colorTemp.rgb /= colorTemp.a;
+ colorTemp.rgb += 0.3 * brightness;
+ colorTemp.rgb *= colorTemp.a;
+ }
+
+ // Saturation.
+ if (saturation != 1.0) {
+ vec3 grayscale;
+ grayscale = vec3(dot(colorTemp.bgr, vec3(0.114, 0.587, 0.299)));
+ vec3 blendedColor = mix(grayscale, colorTemp.rgb, saturation);
+ colorTemp = vec4(blendedColor, colorTemp.a);
+ }
+
+ // Color shift.
+ colorTemp.rgb *= colorShift.rgb;
+ colorTemp.a *= colorShift.a;
+
FragColor = vec4(colorTemp.rgb, colorTemp.a * opacity);
}
#endif
diff --git a/resources/systems/macos/es_find_rules.xml b/resources/systems/macos/es_find_rules.xml
index fb9ceb0c2..d0fc5d791 100644
--- a/resources/systems/macos/es_find_rules.xml
+++ b/resources/systems/macos/es_find_rules.xml
@@ -46,6 +46,12 @@
/Applications/BasiliskII.app/Contents/MacOS/BasiliskII
+
+
+
+ /Applications/Cemu.app/Contents/MacOS/Cemu
+
+
@@ -218,6 +224,12 @@
/Applications/Ruffle.app/Contents/MacOS/ruffle
+
+
+
+ /Applications/Ryujinx.app/Contents/MacOS/Ryujinx
+
+
diff --git a/resources/systems/macos/es_systems.xml b/resources/systems/macos/es_systems.xml
index 8ccbc59f9..a4fbf3f9b 100644
--- a/resources/systems/macos/es_systems.xml
+++ b/resources/systems/macos/es_systems.xml
@@ -1440,8 +1440,8 @@
switchNintendo Switch%ROMPATH%/switch
- .7z .7Z .zip .ZIP
- PLACEHOLDER %ROM%
+ .nca .NCA .nro .NRO .nso .NSO .nsp .NSP .xci .XCI .7z .7Z .zip .ZIP
+ %EMULATOR_RYUJINX% %ROM%switchswitch
@@ -1584,8 +1584,8 @@
wiiuNintendo Wii U%ROMPATH%/wiiu
- .7z .7Z .zip .ZIP
- PLACEHOLDER %ROM%
+ .rpx .RPX .wua .WUA .wud .WUD .wux .WUX
+ %EMULATOR_CEMU% -g %ROM%wiiuwiiu
diff --git a/resources/systems/unix/es_find_rules.xml b/resources/systems/unix/es_find_rules.xml
index 680b34cee..19dbda890 100644
--- a/resources/systems/unix/es_find_rules.xml
+++ b/resources/systems/unix/es_find_rules.xml
@@ -326,6 +326,7 @@
mgba
+ mgba-qtio.mgba.mGBA
@@ -591,6 +592,7 @@
snes9x
+ snes9x-gtk/var/lib/flatpak/exports/bin/com.snes9x.Snes9x
diff --git a/resources/systems/unix/es_systems.xml b/resources/systems/unix/es_systems.xml
index eecc1024c..b4beb63c3 100644
--- a/resources/systems/unix/es_systems.xml
+++ b/resources/systems/unix/es_systems.xml
@@ -115,6 +115,7 @@
%EMULATOR_FLYCAST% %ROM%%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/kronos_libretro.so %ROM%%STARTDIR%=%GAMEDIR% %EMULATOR_SUPERMODEL% -log-output=%GAMEDIR%/Config/Supermodel.log -force-feedback %INJECT%=%BASENAME%.commands %ROM%
+ %STARTDIR%=%GAMEDIR% %EMULATOR_SUPERMODEL% -log-output=%GAMEDIR%/Config/Supermodel.log -fullscreen -force-feedback %INJECT%=%BASENAME%.commands %ROM%arcadearcade
@@ -682,6 +683,7 @@
%EMULATOR_FLYCAST% %ROM%%EMULATOR_RETROARCH% -L %CORE_RETROARCH%/kronos_libretro.so %ROM%%STARTDIR%=%GAMEDIR% %EMULATOR_SUPERMODEL% -log-output=%GAMEDIR%/Config/Supermodel.log -force-feedback %INJECT%=%BASENAME%.commands %ROM%
+ %STARTDIR%=%GAMEDIR% %EMULATOR_SUPERMODEL% -log-output=%GAMEDIR%/Config/Supermodel.log -fullscreen -force-feedback %INJECT%=%BASENAME%.commands %ROM%arcademame
@@ -791,6 +793,7 @@
%ROMPATH%/model3.7z .7Z .zip .ZIP%STARTDIR%=%GAMEDIR% %EMULATOR_SUPERMODEL% -log-output=%GAMEDIR%/Config/Supermodel.log -force-feedback %INJECT%=%BASENAME%.commands %ROM%
+ %STARTDIR%=%GAMEDIR% %EMULATOR_SUPERMODEL% -log-output=%GAMEDIR%/Config/Supermodel.log -fullscreen -force-feedback %INJECT%=%BASENAME%.commands %ROM%arcademodel3
@@ -1684,7 +1687,7 @@
xbox360Microsoft Xbox 360%ROMPATH%/xbox360
- .iso .ISO .xex .XEX
+ . .iso .ISO .xex .XEXPLACEHOLDER %ROM%xbox360xbox360
diff --git a/resources/systems/windows/es_find_rules.xml b/resources/systems/windows/es_find_rules.xml
index e80952930..95183ec34 100644
--- a/resources/systems/windows/es_find_rules.xml
+++ b/resources/systems/windows/es_find_rules.xml
@@ -502,6 +502,18 @@
%ESPATH%\..\redream\redream.exe
+
+
+
+ RMG.exe
+
+
+ ~\AppData\Local\Programs\Rosalie's Mupen GUI\RMG.exe
+ %ESPATH%\Emulators\RMG\RMG.exe
+ %ESPATH%\RMG\RMG.exe
+ %ESPATH%\..\RMG\RMG.exe
+
+
diff --git a/resources/systems/windows/es_find_rules_portable.xml b/resources/systems/windows/es_find_rules_portable.xml
index 8d455c56c..0a11a5879 100644
--- a/resources/systems/windows/es_find_rules_portable.xml
+++ b/resources/systems/windows/es_find_rules_portable.xml
@@ -339,6 +339,14 @@
%ESPATH%\..\redream\redream.exe
+
+
+
+ %ESPATH%\Emulators\RMG\RMG.exe
+ %ESPATH%\RMG\RMG.exe
+ %ESPATH%\..\RMG\RMG.exe
+
+
diff --git a/resources/systems/windows/es_systems.xml b/resources/systems/windows/es_systems.xml
index 886acab35..6e3ac762d 100644
--- a/resources/systems/windows/es_systems.xml
+++ b/resources/systems/windows/es_systems.xml
@@ -116,7 +116,8 @@
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\kronos_libretro.dll %ROM%%RUNINBACKGROUND% %STARTDIR%=%EMUDIR% %EMULATOR_M2EMULATOR% %BASENAME%%STARTDIR%=%EMUDIR% %EMULATOR_M2EMULATOR% %BASENAME%
- %STARTDIR%=%EMUDIR% %EMULATOR_SUPERMODEL% -fullscreen -force-feedback %INJECT%=%BASENAME%.commands %ROM%
+ %STARTDIR%=%EMUDIR% %EMULATOR_SUPERMODEL% -force-feedback %INJECT%=%BASENAME%.commands %ROM%
+ %STARTDIR%=%EMUDIR% %EMULATOR_SUPERMODEL% -fullscreen -force-feedback %INJECT%=%BASENAME%.commands %ROM%arcadearcade
@@ -682,7 +683,8 @@
%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\kronos_libretro.dll %ROM%%RUNINBACKGROUND% %STARTDIR%=%EMUDIR% %EMULATOR_M2EMULATOR% %BASENAME%%STARTDIR%=%EMUDIR% %EMULATOR_M2EMULATOR% %BASENAME%
- %STARTDIR%=%EMUDIR% %EMULATOR_SUPERMODEL% -fullscreen -force-feedback %INJECT%=%BASENAME%.commands %ROM%
+ %STARTDIR%=%EMUDIR% %EMULATOR_SUPERMODEL% -force-feedback %INJECT%=%BASENAME%.commands %ROM%
+ %STARTDIR%=%EMUDIR% %EMULATOR_SUPERMODEL% -fullscreen -force-feedback %INJECT%=%BASENAME%.commands %ROM%arcademame
@@ -792,7 +794,8 @@
Sega Model 3%ROMPATH%\model3.7z .7Z .zip .ZIP
- %STARTDIR%=%EMUDIR% %EMULATOR_SUPERMODEL% -fullscreen -force-feedback %INJECT%=%BASENAME%.commands %ROM%
+ %STARTDIR%=%EMUDIR% %EMULATOR_SUPERMODEL% -force-feedback %INJECT%=%BASENAME%.commands %ROM%
+ %STARTDIR%=%EMUDIR% %EMULATOR_SUPERMODEL% -fullscreen -force-feedback %INJECT%=%BASENAME%.commands %ROM%arcademodel3
@@ -902,6 +905,7 @@
%EMULATOR_MUPEN64PLUS% --fullscreen %ROM%%EMULATOR_RETROARCH% -L %CORE_RETROARCH%\parallel_n64_libretro.dll %ROM%%EMULATOR_SIMPLE64% --nogui %ROM%
+ %EMULATOR_ROSALIES-MUPEN-GUI% %ROM%%EMULATOR_PROJECT64% %ROM%%EMULATOR_ARES% --fullscreen --system "Nintendo 64" %ROM%n64
@@ -1686,7 +1690,7 @@
xbox360Microsoft Xbox 360%ROMPATH%\xbox360
- .iso .ISO .xex .XEX
+ . .iso .ISO .xex .XEX%STARTDIR%=%EMUDIR% %EMULATOR_XENIA% %ROM%xbox360xbox360
diff --git a/themes/modern-DE/theme.xml b/themes/modern-DE/theme.xml
index bfd86797b..27988003b 100644
--- a/themes/modern-DE/theme.xml
+++ b/themes/modern-DE/theme.xml
@@ -60,7 +60,7 @@
0 0.31 0.4horizontal
- ./art/${system.theme}.jpg
+ ./art/${system.theme}.jpg1center1
diff --git a/themes/slate-DE/capabilities.xml b/themes/slate-DE/capabilities.xml
index 8efdc6e72..ba3329bd0 100644
--- a/themes/slate-DE/capabilities.xml
+++ b/themes/slate-DE/capabilities.xml
@@ -47,6 +47,11 @@
true
+
+
+ true
+
+
false
diff --git a/themes/slate-DE/core/images/grid_frame.svg b/themes/slate-DE/core/images/grid_frame.svg
new file mode 100644
index 000000000..68d8815c9
--- /dev/null
+++ b/themes/slate-DE/core/images/grid_frame.svg
@@ -0,0 +1,26 @@
+
+
+
+
diff --git a/themes/slate-DE/theme.xml b/themes/slate-DE/theme.xml
index bf94eb049..9697d4750 100644
--- a/themes/slate-DE/theme.xml
+++ b/themes/slate-DE/theme.xml
@@ -27,11 +27,11 @@
0 0.3837961 0.232407horizontal
- ./${system.theme}/images/logo.svg
+ ./${system.theme}/images/logo.svg30.25 0.1251.23
- linear
+ linear0.5${systemCarouselColor}${system.fullName}
@@ -431,4 +431,8 @@
./theme_engine_test_3.xml
+
+
+ ./theme_engine_test_4.xml
+
\ No newline at end of file
diff --git a/themes/slate-DE/theme_engine_test_1.xml b/themes/slate-DE/theme_engine_test_1.xml
index 841b00745..5609c013a 100644
--- a/themes/slate-DE/theme_engine_test_1.xml
+++ b/themes/slate-DE/theme_engine_test_1.xml
@@ -6,7 +6,7 @@
0 00.28 1.0vertical_wheel
- ./${system.theme}/images/logo.svg
+ ./${system.theme}/images/logo.svg440.15 0.125
@@ -28,7 +28,7 @@
lastplayed
- 3
+ 1random
@@ -40,7 +40,6 @@
fanart, titlescreenselector_randomnearest
- true0.80.83
@@ -52,7 +51,6 @@
coverselector_recentnearest
- true3