Added support for the Lutris gaming platform (Unix only).

This commit is contained in:
Leon Styhre 2020-10-07 19:53:41 +02:00
parent 965f96bbc8
commit 194865f533
10 changed files with 393 additions and 11 deletions

View file

@ -202,22 +202,24 @@ The platform name for the Commodore 64 is **c64**, so the following structure wo
~/ROMs/c64/Multidisk ~/ROMs/c64/Multidisk
~/ROMs/c64/Multidisk/Last Ninja 2/LNINJA2A.D64 ~/ROMs/c64/Multidisk/Last Ninja 2/LNINJA2A.D64
~/ROMs/c64/Multidisk/Last Ninja 2/LNINJA2B.D64 ~/ROMs/c64/Multidisk/Last Ninja 2/LNINJA2B.D64
~/ROMs/c64/Multidisk/Last Ninja 2/Last Ninja 2.m3u ~/ROMs/c64/Multidisk/Last Ninja 2/Last Ninja 2 (playlist).m3u
~/ROMs/c64/Multidisk/Pirates/PIRAT-E0.d64 ~/ROMs/c64/Multidisk/Pirates/PIRAT-E0.d64
~/ROMs/c64/Multidisk/Pirates/PIRAT-E1.d64 ~/ROMs/c64/Multidisk/Pirates/PIRAT-E1.d64
~/ROMs/c64/Multidisk/Pirates/PIRAT-E2.d64 ~/ROMs/c64/Multidisk/Pirates/PIRAT-E2.d64
~/ROMs/c64/Multidisk/Pirates/Pirates!.m3u ~/ROMs/c64/Multidisk/Pirates/Pirates! (playlist).m3u
``` ```
It's highly recommended to create **.m3u** playlist files for multi-disk images as this simplifies the disk swapping in the emulator. It's then this .m3u file that should be selected for launching the game. It's highly recommended to create **.m3u** playlist files for multi-disk images as this simplifies the disk swapping in the emulator. It's then this .m3u file that should be selected for launching the game.
The .m3u file simply contains a list of the game files, for example in the case of Last Ninja 2.m3u: The .m3u file simply contains a list of the game files, for example in the case of Last Ninja 2 (playlist).m3u:
``` ```
LNINJA2A.D64 LNINJA2A.D64
LNINJA2B.D64 LNINJA2B.D64
``` ```
It's recommended to not have the exact same filename for the .m3u file as for the directory as that will lead to a quite strange behavior where any game video that was playing when displaying the directory will continue to play when entering the directory (assuming the .m3u playlist is the first file that is selected). For some people this may be the desired behavior though, so the possibility is retained and it's not considered a bug. Putting the text within brackets will make the scraper skip this data so that automatic scraping still works correctly.
It's of course also possible to skip this type of directory structure and put all the games in the root folder, but then there will be multiple entries for the same game which is not so tidy. Another approach would be to put all the files in the root folder and then hide the game files, showing only the .m3u playlist. But it's probably quite confusing to start a game that looks like a single-disk game and then be prompted for disk swaps by the emulator (even if the .m3u playlists automates disk swapping, it's still somehow confusing and I wouldn't recommend it). It's of course also possible to skip this type of directory structure and put all the games in the root folder, but then there will be multiple entries for the same game which is not so tidy. Another approach would be to put all the files in the root folder and then hide the game files, showing only the .m3u playlist. But it's probably quite confusing to start a game that looks like a single-disk game and then be prompted for disk swaps by the emulator (even if the .m3u playlists automates disk swapping, it's still somehow confusing and I wouldn't recommend it).
When setting up games in this fashion, it's recommended to scrape the directory in addition to the .m3u file as it looks nicer to see images and metadata for the games also when browsing the folders. ES fully supports scraping folders, although some metadata is not included for folders for logical reasons. If you only scrape the folders and not the actual game files, it looks ok when browsing, but when a game is part of a collection, the metadata and images will be missing there. This includes the **Last played** and **All games** collections for instance. Also note that while it's possible to mark a folder as a favorite, it will never be part of a collection, such as **Favorites**. When setting up games in this fashion, it's recommended to scrape the directory in addition to the .m3u file as it looks nicer to see images and metadata for the games also when browsing the folders. ES fully supports scraping folders, although some metadata is not included for folders for logical reasons. If you only scrape the folders and not the actual game files, it looks ok when browsing, but when a game is part of a collection, the metadata and images will be missing there. This includes the **Last played** and **All games** collections for instance. Also note that while it's possible to mark a folder as a favorite, it will never be part of a collection, such as **Favorites**.
@ -267,12 +269,13 @@ Ports are not really executed using emulators, but is instead software running n
It's of course possible to add these as single files to the root folder, but normally it's recommended to setup a separate folder per game as there may be more than a single file available per game. You very often want to have easy access to the game setup utility for instance. It's of course possible to add these as single files to the root folder, but normally it's recommended to setup a separate folder per game as there may be more than a single file available per game. You very often want to have easy access to the game setup utility for instance.
Here's an example for running Chocolate-doom and Quakespasm on Unix: Here's an example for setting up Chocolate-Doom, GZDoom and DarkPlaces on Unix:
``` ```
~/ROMs/ports/Chocolate-doom/chocolate-doom.sh ~/ROMs/ports/Chocolate-Doom/chocolate-doom.sh
~/ROMs/ports/Chocolate-doom/chocolate-doom-setup.sh ~/ROMs/ports/Chocolate-Doom/chocolate-doom-setup.sh
~/ROMs/ports/Quakespasm/quakespasm.sh ~/ROMs/ports/GZDoom/gzdoom.sh
~/ROMs/ports/DarkPlaces/darkplaces.sh
``` ```
chocolate-doom.sh: chocolate-doom.sh:
@ -289,15 +292,59 @@ chocolate-doom-setup.sh:
chocolate-doom-setup chocolate-doom-setup
``` ```
quakespasm.sh: gzdoom.sh:
``` ```
#!/bin/bash #!/bin/bash
cd ~/games/quake # Required to find the .pak files. GZ_dir=/home/myusername/Games/Ports/GZDoom
quakespasm
gzdoom -iwad /home/myusername/Games/Ports/GameData/Doom/doom.wad -config $GZ_dir/gzdoom.ini -savedir $GZ_dir/Savegames \
-file $GZ_dir/Mods/DoomMetalVol4_44100.wad \
-file $GZ_dir/Mods/brutalv21.pk3 \
-file $GZ_dir/Mods/DHTP-2019_11_17.pk3
``` ```
Don't forget to make the scripts executable (e.g. 'chmod 755 ./chocolate-doom.sh'). darkplaces.sh:
```
#!/bin/bash
darkplaces -basedir ~/Games/Ports/GameData/Quake
```
You don't need to set execution permissions for these scripts, ES will run them anyway.
#### Lutris
Lutris runs only on Unix so it's not present in the es_systems.cfg templates for macOS or Windows.
These games are executed via the Lutris binary (well it's actually a Python script), and you simply create a shell script per game with the following contents:
`lutris lutris:rungame/<game name>`
You can see the list of installed games by running the command `lutris --list-games`.
Here's an example for adding Diablo and Fallout:
```
~/ROMs/lutris/Diablo.sh
~/ROMs/lutris/Fallout.sh
```
Diablo.sh:
```
lutris lutris:rungame/diablo
```
Fallout.sh:
```
lutris lutris:rungame/fallout
```
You don't need to set execution permissions for these scripts, ES will run them anyway.
As an alternative, you can add the Lutris games to the Ports game system, if you prefer to not separate them. The instructions above are identical in this case except that the shell scripts should be located inside the **ports** directory rather than inside the **lutris** directory.
#### Steam #### Steam
@ -1113,6 +1160,7 @@ Sometimes the name of the console is (more or less) the same for multiple region
| intellivision | Mattel Electronics Intellivision | | | intellivision | Mattel Electronics Intellivision | |
| chailove | ChaiLove game engine | | | chailove | ChaiLove game engine | |
| kodi | Kodi home theatre software | | | kodi | Kodi home theatre software | |
| lutris | Lutris open gaming platform (Unix only) | Shell script in root folder |
| lutro | Lutro game engine | | | lutro | Lutro game engine | |
| macintosh | Apple Macintosh | | | macintosh | Apple Macintosh | |
| mame | Multiple Arcade Machine Emulator | Single archive file following MAME name standard in root folder | | mame | Multiple Arcade Machine Emulator | Single archive file following MAME name standard in root folder |

View file

@ -442,6 +442,15 @@
<platform>pc</platform> <platform>pc</platform>
<theme>kodi</theme> <theme>kodi</theme>
</system> </system>
<system>
<name>lutris</name>
<fullname>Lutris open gaming platform</fullname>
<path>%ROMPATH%/lutris</path>
<extension>.sh .csh</extension>
<command>bash %ROM%</command>
<platform>pc</platform>
<theme>lutris</theme>
</system>
<system> <system>
<name>lutro</name> <name>lutro</name>
<fullname>Lutro game engine</fullname> <fullname>Lutro game engine</fullname>

View file

@ -35,6 +35,7 @@ Missing (or not updated) theme data
* intellivision: Intellivision - system info, customized colors, consolegame.svg, console.svg, controller.svg, game.svg * intellivision: Intellivision - system info, customized colors, consolegame.svg, console.svg, controller.svg, game.svg
* kodi: Kodi home theatre software - system info, customized colors, consolegame.svg, console.svg, controller.svg, game.svg * kodi: Kodi home theatre software - system info, customized colors, consolegame.svg, console.svg, controller.svg, game.svg
* love: Löve game engine - system info, customized colors, consolegame.svg, console.svg, controller.svg, game.svg * love: Löve game engine - system info, customized colors, consolegame.svg, console.svg, controller.svg, game.svg
* lutris: Lutris open gaming platform - system info, customized colors, consolegame.svg, console.svg, controller.svg, game.svg
* macintosh: Apple Macintosh - system info, customized colors, consolegame.svg, console.svg, controller.svg, game.svg * macintosh: Apple Macintosh - system info, customized colors, consolegame.svg, console.svg, controller.svg, game.svg
* mess: MESS (Multi Emulator Super System) - system info, customized colors, consolegame.svg, console.svg, controller.svg, game.svg * mess: MESS (Multi Emulator Super System) - system info, customized colors, consolegame.svg, console.svg, controller.svg, game.svg
* naomi: Sega NAOMI - system info, customized colors, logo.svg, consolegame.svg, console.svg, controller.svg, game.svg * naomi: Sega NAOMI - system info, customized colors, logo.svg, consolegame.svg, console.svg, controller.svg, game.svg

View file

@ -0,0 +1,18 @@
<theme>
<formatVersion>6</formatVersion>
<view name="system, basic, detailed, grid, video">
<image name="band1" extra="true">
<color>F6DD08</color>
</image>
<image name="band2" extra="true">
<color>800000</color>
</image>
<image name="band3" extra="true">
<color>FF0000</color>
</image>
<image name="band4" extra="true">
<color>4C504E</color>
</image>
</view>
</theme>

View file

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="42" height="42" version="1.1" viewBox="0 0 42 42" xmlns="http://www.w3.org/2000/svg">
</svg>

After

Width:  |  Height:  |  Size: 144 B

View file

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="42" height="42" version="1.1" viewBox="0 0 42 42" xmlns="http://www.w3.org/2000/svg">
</svg>

After

Width:  |  Height:  |  Size: 144 B

View file

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="42" height="42" version="1.1" viewBox="0 0 42 42" xmlns="http://www.w3.org/2000/svg">
</svg>

After

Width:  |  Height:  |  Size: 144 B

View file

@ -0,0 +1,248 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="715"
height="256"
viewBox="0 0 189.17708 67.733331"
version="1.1"
id="svg866"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
sodipodi:docname="logo.svg">
<defs
id="defs860">
<radialGradient
r="77.057365"
fy="-121.30928"
fx="365.89624"
cy="-121.30928"
cx="365.89624"
gradientTransform="matrix(1.2677782,0.01426727,-0.01587862,1.4102951,-99.301495,606.72372)"
gradientUnits="userSpaceOnUse"
id="radialGradient4544-0"
xlink:href="#linearGradient4146"
inkscape:collect="always" />
<linearGradient
id="linearGradient4146">
<stop
id="stop4148"
offset="0"
style="stop-color:#ffba00;stop-opacity:1;" />
<stop
id="stop4150"
offset="1"
style="stop-color:#ff7f02;stop-opacity:1;" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4520"
id="linearGradient1049"
gradientUnits="userSpaceOnUse"
x1="332.25"
y1="369.85709"
x2="332.25"
y2="522.87469" />
<linearGradient
id="linearGradient4520">
<stop
id="stop4522"
offset="0"
style="stop-color:#794d3b;stop-opacity:1;" />
<stop
id="stop4524"
offset="1"
style="stop-color:#5e3c2e;stop-opacity:1;" />
</linearGradient>
<linearGradient
y2="-183.11708"
x2="369.23862"
y1="-117.5489"
x1="369.23862"
gradientTransform="translate(0,564.66572)"
gradientUnits="userSpaceOnUse"
id="linearGradient4550-5"
xlink:href="#linearGradient4214"
inkscape:collect="always" />
<linearGradient
id="linearGradient4214">
<stop
id="stop4216"
offset="0"
style="stop-color:#e5dfdd;stop-opacity:1;" />
<stop
id="stop4218"
offset="1"
style="stop-color:#ffffff;stop-opacity:1;" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4520"
id="linearGradient1627"
gradientUnits="userSpaceOnUse"
x1="332.25"
y1="369.85709"
x2="332.25"
y2="522.87469" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4520"
id="linearGradient1629"
gradientUnits="userSpaceOnUse"
x1="332.25"
y1="369.85709"
x2="332.25"
y2="522.87469" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="222.43369"
inkscape:cy="159.57375"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
units="px"
inkscape:window-width="1920"
inkscape:window-height="1139"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1" />
<metadata
id="metadata863">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-229.26668)">
<g
transform="matrix(0.31002721,0,0,0.31319941,-81.72243,98.635507)"
id="layer1-6"
inkscape:label="Layer 1">
<g
transform="translate(5.8770956,91.426111)"
id="g4532-1">
<path
style="fill:url(#radialGradient4544-0);fill-opacity:1;stroke:none"
d="m 421.12559,370.59555 -0.22191,7.93679 -59.06905,4.6472 -44.51391,28.90141 -10.54758,48.3126 c 0,0 7.17038,31.22666 13.28891,37.55616 6.11851,6.3295 18.77128,24.48348 34.38405,27.64823 15.61277,3.16475 28.90472,6.74153 41.56372,3.57678 12.65901,-3.16475 21.10821,-6.95775 21.10821,-6.95775 l 5.27379,-2.53246 c 0,0 -1.29791,1.13683 -3.38097,2.59773 25.19125,-16.15038 41.87702,-44.40295 41.87702,-76.54826 0,-31.23648 -15.75649,-58.78641 -39.76228,-75.13843 z"
id="path2996-71-2"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccssscccsc" />
<path
style="fill:url(#linearGradient1627);fill-opacity:1;stroke:none"
d="m 407.73556,341.565 c 0,0 2.22629,-5.49152 4.30416,-5.63994 2.07787,-0.14842 3.26523,1.18736 4.601,2.67155 1.33578,1.4842 4.00733,3.71049 4.00733,3.71049 0,0 12.1704,-4.15574 25.82499,3.26523 13.65459,7.42097 15.58405,9.64727 18.2556,14.84195 2.67155,5.19468 1.48419,18.25559 1.48419,18.25559 l 1.59552,7.79202 -3.37655,4.37838 -23.74712,-4.00732 -28.34812,-20.92715 z"
id="path3970-2-2"
inkscape:connector-curvature="0"
sodipodi:nodetypes="csscsscccccc" />
<path
sodipodi:nodetypes="cccccssscccccsccsccccssssccc"
style="fill:#000000;fill-opacity:0.15686275;stroke:none"
d="m 421.14051,370.59877 -4.71875,6.4375 -54.5625,6.125 -44.53125,28.90625 -10.53125,48.3125 c 0,0 7.16272,31.233 13.28125,37.5625 6.11851,6.3295 18.76223,24.4915 34.375,27.65625 15.61277,3.16475 28.9035,6.72725 41.5625,3.5625 12.65901,-3.16476 21.125,-6.9375 21.125,-6.9375 l 5.28125,-2.53125 c 0,0 -1.32319,1.13285 -3.40625,2.59375 2.85284,-1.82899 5.59596,-3.84127 8.21875,-5.96875 -14.61843,9.14896 -32.44705,13.74807 -42.5625,13.75 -37.58529,0 -68.0625,-30.44595 -68.0625,-68.03125 0,-13.26857 3.20363,-26.22913 9.71875,-36.78125 4.58818,1.97009 9.419,5.31967 12.46875,10.21875 0.49071,0.70737 0.82821,1.51845 1.375,2.1875 2.69222,3.29423 5.6,4.14654 8.53125,4.28125 6.26371,0.18237 9.22096,-4.49396 9.5,-10.78125 0.008,-0.4932 0.0453,-0.24655 0.0107,-0.67835 -0.19809,-4.19006 -6.3732,-19.67162 -16.63572,-21.44665 1.79623,-1.38222 3.66804,-2.67393 5.625,-3.84375 6.60974,-3.95111 20.65354,-8.43512 40.125,-5.5 9.8747,1.48851 17.96522,3.61684 30.4375,7.59375 14.47518,4.61555 22.51928,11.06231 33.65625,12.34375 1.87408,0.21564 3.76589,0.12973 5.59375,-0.21875 -6.07268,-20.0996 -18.90378,-37.25222 -35.875,-48.8125 z"
id="path2996-71-9-9"
inkscape:connector-curvature="0" />
<path
style="fill:url(#linearGradient1629);fill-opacity:1;stroke:none"
d="m 364.27074,330.97552 c -56.86691,0 -102.96753,46.10062 -102.96753,102.96752 0,56.86692 46.31202,104.53546 102.96753,104.54176 36.96195,1.09859 71.24999,-16.1124 82.55185,-44.15204 -4.17009,1.92437 -8.75719,6.55973 -12.21576,9.59364 -6.52122,5.72051 -13.59622,6.87984 -22.59008,11.56447 -17.43318,9.0804 -36.28791,7.87436 -53.8771,4.0099 -14.29694,-3.14114 -29.97844,-10.13252 -38.39328,-21.31617 -8.41484,-11.18365 -13.35469,-37.74208 -13.35469,-37.74208 l 10.59979,-48.55176 44.73427,-29.04448 59.36146,-4.67021 0.22301,-7.97608 c 8.96128,6.10416 16.77558,13.7674 23.06242,22.59015 h 14.29922 c -15.88288,-36.37996 -52.16799,-61.81462 -94.40111,-61.81462 z"
id="path2996-7-5-8"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ssccssazcccccccs" />
<path
style="fill:url(#linearGradient4550-5);fill-opacity:1;stroke:none"
d="m 402.89176,361.81724 c -19.94083,0.10177 -31.55369,2.41314 -52.24554,11.24749 -26.25073,12.21158 -52.60694,35.07689 -52.75536,72.44929 -0.17297,43.55343 35.31496,78.85563 78.86874,78.85563 22.50608,0 46.74156,-8.22147 61.10833,-23.34185 -15.46163,12.94697 -40.94323,17.04829 -52.97408,17.05059 -37.58529,0 -68.30905,-27.96064 -68.30905,-65.54594 0,-23.74751 11.64012,-41.24257 30.60558,-52.57958 6.60974,-3.95111 20.64508,-8.44491 40.11654,-5.50979 9.8747,1.48851 17.96277,3.61873 30.43505,7.59564 14.47518,4.61555 22.53835,11.06312 33.67532,12.34456 12.68384,1.45943 26.08344,-10.49297 16.1883,-29.08383 0,0 -1.7935,1.78974 -3.29276,2.6893 -1.49926,0.89956 -3.59261,-0.28861 -9.58966,-2.38758 -5.99706,-2.09896 -6.90036,-4.50903 -15.29624,-10.20623 -8.39587,-5.6972 -8.39212,-11.98661 -32.98004,-13.48587 -1.15256,-0.0703 -2.3448,-0.10399 -3.55513,-0.0918 z"
id="path3004-7-2"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccssccssssscsssscc" />
<circle
style="fill:#3f3f3f;fill-opacity:1;stroke:none"
id="path3026-6-2"
transform="matrix(0.43552317,0,0,0.43552317,200.99133,207.88928)"
cx="542.14288"
cy="384.50504"
r="17.857143" />
<circle
style="fill:#3f3f3f;fill-opacity:1;stroke:none"
id="path3026-4-1-7"
transform="matrix(0.22576754,0,0,0.28084084,343.47729,272.83142)"
cx="542.14288"
cy="384.50504"
r="17.857143" />
<path
style="fill:url(#linearGradient1049);fill-opacity:1;stroke:none"
d="m 334.29213,381.2133 c -5.0673,1.23397 -17.41583,4.23292 -24.7524,14.18981 -7.04618,9.56276 -6.47436,20.71233 -6.63135,23.68137 2.04048,-3.28467 7.62657,-2.8188 11.47779,-2.22301 9.08081,1.40481 18.39265,3.8222 24.21457,13.17446 0.49071,0.70737 0.83913,1.52443 1.38592,2.19348 2.69222,3.29423 5.60185,4.13912 8.5331,4.27383 6.26371,0.18237 9.22123,-4.49314 9.50027,-10.78043 0.008,-0.4932 0.002,-0.25694 -0.0327,-0.68874 -0.20697,-4.37798 -6.92743,-21.07877 -18.01254,-21.59268 -0.12354,-0.004 -0.24871,-0.003 -0.37117,-0.0108 -6.14897,-0.3757 -10.92788,-5.61334 -10.74875,-11.86496 0.61735,-4.05018 2.50816,-7.25309 6.21847,-9.85231 z"
id="path3889-4-8"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cscacscccccccc" />
<path
style="fill:#3f3f3f;fill-opacity:1;stroke:none"
d="m 463.82955,388.18782 c 0,0 -1.00956,1.74485 -3.18699,2.79051 -0.89408,0.42937 -2.46423,-0.6477 -3.93792,0.84949 -3.12914,6.28101 4.51484,11.52502 8.07692,11.3766 3.56207,-0.14842 6.37226,-3.73749 6.22386,-6.85431 -0.14844,-4.82363 -7.17587,-8.16229 -7.17587,-8.16229 z"
id="path3950-2-5"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cscscc" />
<path
style="fill:#ffffff;fill-opacity:0.15686275;stroke:none"
d="m 364.27072,330.97552 c -56.86689,0 -102.96751,46.10062 -102.96751,102.96752 0,0.88855 0.0168,1.76604 0.0395,2.64995 1.43019,-55.62033 46.96307,-100.2651 102.92817,-100.2651 15.6777,0 30.54322,3.50458 43.8422,9.77332 0.70651,-1.52648 2.35421,-4.71467 3.93557,-4.82763 2.07785,-0.14841 3.25571,1.19199 4.59149,2.67619 1.33579,1.48419 4.01428,3.71255 4.01428,3.71255 0,0 12.16272,-4.15446 25.81731,3.26652 13.65459,7.42097 15.58946,9.6424 18.26103,14.83708 1.1117,2.16165 1.55378,5.68588 1.69231,9.06492 0.14458,-4.27194 0.0599,-11.0101 -1.69231,-14.41729 -2.67157,-5.19468 -4.60644,-7.41611 -18.26103,-14.83708 -13.65459,-7.42098 -25.81731,-3.26652 -25.81731,-3.26652 0,0 -2.67849,-2.22836 -4.01428,-3.71255 -1.33578,-1.4842 -2.51364,-2.8246 -4.59149,-2.67619 -1.58136,0.11296 -3.22906,3.30115 -3.93557,4.82763 -13.29898,-6.26874 -28.1645,-9.77332 -43.8422,-9.77332 z"
id="path2996-7-8-5-3-8"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cscscsscsscsscsscsc" />
</g>
</g>
<g
aria-label="Lutris"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:160px;line-height:1.25;font-family:Montserrat;-inkscape-font-specification:Montserrat;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
id="text38"
transform="matrix(0.26458333,0,0,0.26458333,-4.2928598,232.16652)">
<path
d="m 301.74,73 h 11.84 V 174.76 H 376.3 V 185 h -74.56 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Montserrat;-inkscape-font-specification:Montserrat;fill:#ff9900;fill-opacity:1"
id="path847"
inkscape:connector-curvature="0" />
<path
d="M 468.13959,100.84 V 185 h -10.88 v -15.36 q -4.48,7.68 -12.32,12 -7.84,4.16 -17.92,4.16 -16.48,0 -26.08,-9.12 -9.44,-9.28 -9.44,-27.04 v -48.8 h 11.36 v 47.68 q 0,13.28 6.56,20.16 6.56,6.88 18.72,6.88 13.28,0 20.96,-8 7.68,-8.16 7.68,-22.56 v -44.16 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Montserrat;-inkscape-font-specification:Montserrat;fill:#ff9900;fill-opacity:1"
id="path849"
inkscape:connector-curvature="0" />
<path
d="m 544.29934,179.88 q -3.2,2.88 -8,4.48 -4.64,1.44 -9.76,1.44 -11.84,0 -18.24,-6.4 -6.4,-6.4 -6.4,-18.08 v -50.88 h -15.04 v -9.6 h 15.04 v -18.4 h 11.36 v 18.4 h 25.6 v 9.6 h -25.6 v 50.24 q 0,7.52 3.68,11.52 3.84,3.84 10.88,3.84 3.52,0 6.72,-1.12 3.36,-1.12 5.76,-3.2 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Montserrat;-inkscape-font-specification:Montserrat;fill:#ff9900;fill-opacity:1"
id="path851"
inkscape:connector-curvature="0" />
<path
d="m 575.81906,117.32 q 4,-8.48 11.84,-12.8 8,-4.32 19.68,-4.32 v 11.04 l -2.72,-0.16 q -13.28,0 -20.8,8.16 -7.52,8.16 -7.52,22.88 V 185 h -11.36 v -84.16 h 10.88 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Montserrat;-inkscape-font-specification:Montserrat;fill:#ff9900;fill-opacity:1"
id="path853"
inkscape:connector-curvature="0" />
<path
d="m 627.8187,100.84 h 11.36 V 185 h -11.36 z m 5.76,-18.4 q -3.52,0 -5.92,-2.4 -2.4,-2.4 -2.4,-5.76 0,-3.2 2.4,-5.6 2.4,-2.4 5.92,-2.4 3.52,0 5.92,2.4 2.4,2.24 2.4,5.44 0,3.52 -2.4,5.92 -2.4,2.4 -5.92,2.4 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Montserrat;-inkscape-font-specification:Montserrat;fill:#ff9900;fill-opacity:1"
id="path855"
inkscape:connector-curvature="0" />
<path
d="m 693.41855,185.8 q -10.24,0 -19.68,-2.88 -9.28,-3.04 -14.56,-7.52 l 5.12,-8.96 q 5.28,4.16 13.28,6.88 8,2.56 16.64,2.56 11.52,0 16.96,-3.52 5.6,-3.68 5.6,-10.24 0,-4.64 -3.04,-7.2 -3.04,-2.72 -7.68,-4 -4.64,-1.44 -12.32,-2.72 -10.24,-1.92 -16.48,-3.84 -6.24,-2.08 -10.72,-6.88 -4.32,-4.8 -4.32,-13.28 0,-10.56 8.8,-17.28 8.8,-6.72 24.48,-6.72 8.16,0 16.32,2.24 8.16,2.08 13.44,5.6 l -4.96,9.12 q -10.4,-7.2 -24.8,-7.2 -10.88,0 -16.48,3.84 -5.44,3.84 -5.44,10.08 0,4.8 3.04,7.68 3.2,2.88 7.84,4.32 4.64,1.28 12.8,2.72 10.08,1.92 16.16,3.84 6.08,1.92 10.4,6.56 4.32,4.64 4.32,12.8 0,11.04 -9.28,17.6 -9.12,6.4 -25.44,6.4 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Montserrat;-inkscape-font-specification:Montserrat;fill:#ff9900;fill-opacity:1"
id="path857"
inkscape:connector-curvature="0" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 15 KiB

View file

@ -0,0 +1,9 @@
<theme>
<formatVersion>6</formatVersion>
<view name="system">
<text name="info1" extra="true">
<text>Lutris open gaming platform</text>
</text>
</view>
</theme>

View file

@ -0,0 +1,40 @@
<theme>
<formatVersion>6</formatVersion>
<include>./../theme.xml</include>
<include>./colors.xml</include>
<include>./systeminfo.xml</include>
<view name="system">
<image name="controller" extra="true">
<path>./images/controller.svg</path>
</image>
</view>
<view name="basic, detailed, grid, video">
<helpsystem name="help">
<textColor>262626</textColor>
<iconColor>262626</iconColor>
</helpsystem>
</view>
<view name="system, basic, detailed, video">
<image name="logo">
<path>./images/logo.svg</path>
</image>
<image name="consolegame" extra="true">
<path>./images/consolegame.svg</path>
</image>
</view>
<view name="basic, detailed">
<image name="console" extra="true">
<path>./images/console.svg</path>
</image>
</view>
<view name="grid">
<image name="logo">
<path>./images/logo.svg</path>
</image>
</view>
</theme>