[Scummvm-git-logs] scummvm-web master -> dd152ef4531d89676de6c5f8fb7cffde23453c9b

Mataniko mataniko at gmail.com
Tue Nov 24 19:51:18 UTC 2020


This automated email contains information about 10 new commits which have been
pushed to the 'scummvm-web' repo located at https://github.com/scummvm/scummvm-web .

Summary:
6ca7a7c72d DATA: Move Downloads and Games to YAML
f34caa9203 WEB: add a "release" modifier
8b036bed3f WEB: Update downloads page to use the new data model
2140190f1b WEB: Update games page to use the new data model
ebe03e04d6 DATA: Update downloads filenames
cacfa61686 WEB: Download sha256 files from Fastly
b71677c47c WEB: Fix tools and legacy downloads
ca4d6887aa DATA: Update data
9590d5797e WEB: Revert release modifier regex
dd152ef453 DATA: FIx scummvm-tools atari link


Commit: 6ca7a7c72d46c29eb996871ca228e6d8ca7b9fe4
    https://github.com/scummvm/scummvm-web/commit/6ca7a7c72d46c29eb996871ca228e6d8ca7b9fe4
Author: Mataniko (mataniko at gmail.com)
Date: 2020-11-24T14:51:10-05:00

Commit Message:
DATA: Move Downloads and Games to YAML

Changed paths:
  A data/en/downloads.yaml
  A data/en/game_resources.yaml
  R data/en/downloads.xml
  R data/en/games.xml
    include/DataUtils.php


diff --git a/data/en/downloads.xml b/data/en/downloads.xml
deleted file mode 100644
index a5b9ddd1..00000000
--- a/data/en/downloads.xml
+++ /dev/null
@@ -1,1112 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<downloads xmlns:h="http://www.w3.org/TR/html4/">
-	<section>
-		<title>
-			{#downloadsXMLTitle#} <h:span style="color: rgb(170, 170, 170);">{'/\x7brelease\x7d/'|preg_replace:$release:#downloadsXMLVersion#}</h:span>
-		</title>
-		<subsection>
-			<title>{'/\x7brelease\x7d/'|preg_replace:$release:#downloadsBinaries#}</title>
-			<anchor>stable</anchor>
-			<notes>
-				{#downloadsBinariesNote1#}
-				<h:a href="/frs/scummvm/{$release}/ReleaseNotes.html">{#downloadsBinariesNote2#}</h:a>.
-				<h:br/>{'/\x7brelease_debian\x7d/'|preg_replace:$release_debian:#downloadsBinariesNote3#}<h:br/><h:br/>
-			</notes>
-			<entries>
-				<file>
-					<category_icon>windows</category_icon>
-					<url>scummvm-{$release}-win32.exe</url>
-					<name>Windows Installer (32 and 64 bit)</name>
-					<user_agent>Windows</user_agent>
-				</file>
-
-				<file>
-					<category_icon>windows</category_icon>
-					<url>scummvm-{$release}-win32-x86_64.zip</url>
-					<name>Windows zipfile (64 bit)</name>
-				</file>
-				<file>
-					<category_icon>windows</category_icon>
-					<url>scummvm-{$release}-win32.zip</url>
-					<name>Windows zipfile (32 bit)</name>
-				</file>
-<!--
-				<file>
-					<category_icon>windows</category_icon>
-					<url>scummvm-{$release}-win32-x86_64.exe</url>
-					<name>Windows 64bit Installer</name>
-				</file>
--->
-				<file>
-					<category_icon>winxp</category_icon>
-					<url>scummvm-{$release}-winxp-win32.exe</url>
-					<name>Windows XP Installer</name>
-				</file>
-				<file>
-					<category_icon>winxp</category_icon>
-					<url>scummvm-{$release}-winxp-win32.zip</url>
-					<name>Windows XP zipfile (32 bit)</name>
-				</file>
-				<file>
-					<category_icon>winxp</category_icon>
-					<url>scummvm-{$release}-winxp-win32-x86_64.zip</url>
-					<name>Windows XP zipfile (64 bit)</name>
-				</file>
-				<file>
-					<category_icon>win95</category_icon>
-					<url>scummvm-{$release}-win9x-win32.exe</url>
-					<name>Windows 95+ Installer</name>
-				</file>
-<!--
-				<file>
-					<category_icon>fedora</category_icon>
-					<url>scummvm-{$release}-1.i386.rpm</url>
-					<name>Fedora 8-20+ i386 package</name>
-				</file>
-
-				<file>
-					<category_icon>fedora</category_icon>
-					<url>scummvm-{$release}-1.x86_64.rpm</url>
-					<name>Fedora 24+ x86 64bit package</name>
-					<user_agent>Fedora</user_agent>
-				</file>
--->
-				<file>
-					<category_icon>snap</category_icon>
-					<url>https://snapcraft.io/scummvm</url>
-					<name>Snap package hosted at the snapcraft.io store</name>
-					<user_agent>Ubuntu</user_agent>
-				</file>
-				<file>
-					<category_icon>flatpak</category_icon>
-					<url>https://flathub.org/apps/details/org.scummvm.ScummVM</url>
-					<name>Flatpak package hosted at the flathub.org repository</name>
-					<user_agent>Ubuntu</user_agent>
-				</file>
-				<file>
-					<category_icon>debian</category_icon>
-					<url>scummvm_{$release}-1_debian10_amd64.deb</url>
-					<name>Debian 10 (buster) x86 64bit package</name>
-					<user_agent>Debian</user_agent>
-				</file>
-				<file>
-					<category_icon>debian</category_icon>
-					<url>scummvm_{$release}-1_debian10_i386.deb</url>
-					<name>Debian 10 (buster) i386 package</name>
-				</file>
-
-				<file>
-					<category_icon>debian</category_icon>
-					<url>scummvm_{$release}-1_debian9_amd64.deb</url>
-					<name>Debian 9 (stretch) x86 64bit package</name>
-					<user_agent>Debian</user_agent>
-				</file>
-				<file>
-					<category_icon>debian</category_icon>
-					<url>scummvm_{$release}-1_debian9_i386.deb</url>
-					<name>Debian 9 (stretch) i386 package</name>
-				</file>
-
-				<file>
-					<category_icon>ubuntu</category_icon>
-					<url>scummvm_{$release}-1_ubuntu20.04-lts_amd64.deb</url>
-					<name>Ubuntu 20.04 LTS (focal) x86 64bit package</name>
-				</file>
-				<file>
-					<category_icon>ubuntu</category_icon>
-					<url>scummvm_{$release}-1_ubuntu19.10_amd64.deb</url>
-					<name>Ubuntu 19.10 (eoam) x86 64bit package</name>
-				</file>
-				<file>
-					<category_icon>ubuntu</category_icon>
-					<url>scummvm_{$release}-1_ubuntu19.10_i386.deb</url>
-					<name>Ubuntu 19.10 (eoan) i386 package</name>
-				</file>
-
-				<file>
-					<category_icon>ubuntu</category_icon>
-					<url>scummvm_{$release}-1_ubuntu18.04-lts_i386.deb</url>
-					<name>Ubuntu 18.04 LTS (bionic) i386 package</name>
-				</file>
-<!--
-				<file>
-					<category_icon>slackware</category_icon>
-					<url>scummvm-{$release}_slack-i486-1.tgz</url>
-					<name>SlackWare i486 package</name>
-				</file>
-				<file>
-					<category_icon>slackware</category_icon>
-					<url>scummvm-{$release}_slack-x86_64-1.txz</url>
-					<name>SlackWare x86 64bit package</name>
-				</file>
--->
-				<file>
-					<category_icon>macos</category_icon>
-					<url>scummvm-{$release}-macosx.dmg</url>
-					<name>macOS 10.9+ 64 bits with Sparkle Disk Image</name>
-					<user_agent>Mac</user_agent>
-				</file>
-				<file>
-					<category_icon>macostiger</category_icon>
-					<url>scummvm-{$release}-macosx-i386.dmg</url>
-					<name>Mac OS X 10.6+ intel 32 bits (without Sparkle) Disk Image</name>
-				</file>
-				<file>
-					<category_icon>macosppc</category_icon>
-					<url>scummvm-{$release}-macosx-ppc.dmg</url>
-					<name>Mac OS X 10.4+ PPC 32 bits (without Sparkle) Disk Image</name>
-				</file>
-<!--
-				<file>
-					<category_icon>ps2</category_icon>
-					<url>scummvm-{$release}-ps2.zip</url>
-					<name>PlayStation2 package</name>
-				</file>
--->
-				<file>
-					<category_icon>ps3</category_icon>
-					<url>scummvm-{$release}-ps3.zip</url>
-					<name>PlayStation3 package</name>
-				</file>
-				<file>
-					<category_icon>psp</category_icon>
-					<url>scummvm-{$release}-psp.zip</url>
-					<name>PSP (PlayStation Portable) package</name>
-				</file>
-<!--
-				<file>
-					<category_icon>ds</category_icon>
-					<url>scummvm-{$release}-ds.zip</url>
-					<name>Nintendo DS package</name>
-				</file>
--->
-				<file>
-					<category_icon>psp2</category_icon>
-					<url>scummvm-{$release}-vita.vpk</url>
-					<name>PlayStation Vita package</name>
-					<user_agent>PlayStation Portable</user_agent>
-				</file>
-				<file>
-					<category_icon>android</category_icon>
-					<url>https://play.google.com/store/apps/details?id=org.scummvm.scummvm</url>
-					<name>Android app on Google Play Store</name>
-					<user_agent>Android</user_agent>
-				</file>
-				<file>
-					<category_icon>android</category_icon>
-					<url>scummvm-2.2.1-android-arm-v7a-251020-1355.apk</url>
-					<name>Android ARMv7a package</name>
-				</file>
-				<file>
-					<category_icon>android</category_icon>
-					<url>scummvm-2.2.1-android-arm64-v8a-251020-1355.apk</url>
-					<name>Android ARM64v8a package</name>
-				</file>
-				<file>
-					<category_icon>android</category_icon>
-					<url>scummvm-2.2.1-android-x86-251020-1355.apk</url>
-					<name>Android x86 32bit package</name>
-				</file>
-				<file>
-					<category_icon>android</category_icon>
-					<url>scummvm-2.2.1-android-x86_64-251020-1355.apk</url>
-					<name>Android x86 64bit package</name>
-				</file>
-<!--
-				<file>
-					<category_icon>ouya</category_icon>
-					<url>scummvm-{$release}-android-ouya.apk</url>
-					<name>OUYA package</name>
-				</file>
--->
-				<file>
-					<category_icon>symbian</category_icon>
-					<url>scummvm-2.2.0.1-SymbianS60.zip</url>
-					<name>Symbian S60 split binary</name>
-					<user_agent>SymbOS</user_agent>
-				</file>
-<!--
-				<file>
-					<category_icon>uiq</category_icon>
-					<url>scummvm-{$release}-uiq3.zip</url>
-					<name>Symbian UIQ 3 binary</name>
-				</file>
-
-				<file>
-					<category_icon>wince</category_icon>
-					<url>scummvm-{$release}-wince.zip</url>
-					<name>Windows CE ARM package</name>
-				</file>
--->
-				<file>
-					<category_icon>iphone</category_icon>
-					<url>scummvm-{$release}-ios.deb</url>
-					<name>iOS 8+ package .deb</name>
-					<user_agent>iOS</user_agent>
-				</file>
-				<file>
-					<category_icon>iphone</category_icon>
-					<url>scummvm-{$release}-ios.ipa</url>
-					<name>iOS 8+ package .ipa</name>
-					<user_agent>iOS</user_agent>
-				</file>
-				<file>
-					<category_icon>iphone</category_icon>
-					<url>scummvm-{$release}-ios3.deb</url>
-					<name>iOS 3+ package .deb</name>
-				</file>
-
-<!--
-				<file>
-					<category_icon>maemo</category_icon>
-					<url>scummvm_{$release}-maemo_armel.deb</url>
-					<name>Maemo package (OS 2008 and Maemo5/Fremantle)</name>
-				</file>
--->
-				<file>
-					<category_icon>dc</category_icon>
-					<url>scummvm-{$release}-dreamcast-plainfiles.tar.bz2</url>
-					<name>Dreamcast plain files</name>
-				</file>
-				<file>
-					<category_icon>dc</category_icon>
-					<url>scummvm-{$release}-dreamcast-nero+demos.zip</url>
-					<name>Dreamcast Nero Image & Demos</name>
-				</file>
-
-				<file>
-					<category_icon>3ds</category_icon>
-					<url>scummvm-{$release}-3ds.zip</url>
-					<name>Nintendo 3DS package</name>
-				</file>
-
-				<file>
-					<category_icon>switch</category_icon>
-					<url>scummvm-{$release}-switch.zip</url>
-					<name>Nintendo Switch package</name>
-				</file>
-
-				<file>
-					<category_icon>openpandora</category_icon>
-					<url>scummvm-{$release}-openpandora.zip</url>
-					<name>OpenPandora package</name>
-				</file>
-<!--
-				<file>
-					<category_icon>n64</category_icon>
-					<url>scummvm-{$release}-n64.zip</url>
-					<name>Nintendo 64 package</name>
-				</file>
-
-				<file>
-					<category_icon>gc</category_icon>
-					<url>scummvm-{$release}-gamecube.zip</url>
-					<name>Nintendo GameCube package</name>
-				</file>
--->
-				<file>
-					<category_icon>wii</category_icon>
-					<url>scummvm-{$release}-wii.zip</url>
-					<name>Wii package</name>
-				</file>
-
-				<file>
-					<category_icon>gcw0</category_icon>
-					<url>scummvm-{$release}-gcw0.opk</url>
-					<name>GCW-Zero package</name>
-				</file>
-<!--
-				<file>
-					<category_icon>raspberry</category_icon>
-					<url>scummvm-{$release}-rpi.zip</url>
-					<name>Raspberry Pi package (for Pi 2 and 3)</name>
-				</file>
-
-				<file>
-					<category_icon>solaris</category_icon>
-					<url>scummvm-{$release}-solaris10-sparc.pkg.7z</url>
-					<name>Solaris 10 sparc, Solaris 11 sparc binary</name>
-				</file>
-
-				<file>
-					<category_icon>solaris</category_icon>
-					<url>scummvm-{$release}-solaris10-x86.pkg.7z</url>
-					<name>Solaris 10 x86, Solaris 11 x86, OpenIndiana binary</name>
-					<user_agent>SunOS</user_agent>
-				</file>
--->
-				<file>
-					<category_icon>irix</category_icon>
-					<url>scummvm-{$release}-irix-mips3.tar.gz</url>
-					<name>IRIX (6.5.*, n32, mips3) package</name>
-				</file>
-
-				<file>
-					<category_icon>irix</category_icon>
-					<url>scummvm-{$release}-irix-mips4.tar.gz</url>
-					<name>IRIX (6.5.*, n32, mips4) package</name>
-				</file>
-
-				<file>
-					<category_icon>haiku</category_icon>
-					<url>scummvm_x86-{$release}-3-x86_gcc2.hpkg</url>
-					<name>Haiku package 32bits</name>
-				</file>
-				<file>
-					<category_icon>haiku</category_icon>
-					<url>scummvm-{$release}-3-x86_64.hpkg</url>
-					<name>Haiku package 64bits</name>
-				</file>
-
-				<file>
-					<category_icon>amiga</category_icon>
-					<url>scummvm-{$release}-amigaos4.lha</url>
-					<name>AmigaOS 4 package</name>
-					<user_agent>Amiga</user_agent>
-				</file>
-
-				<file>
-					<category_icon>morphos</category_icon>
-					<url>scummvm-{$release}-morphos.lha</url>
-					<name>MorphOS package</name>
-				</file>
-
-				<file>
-					<category_icon>riscos</category_icon>
-					<url>scummvm-{$release}-riscos.zip</url>
-					<name>RISC OS package</name>
-					<user_agent>RISC OS</user_agent>
-				</file>
-
-				<file>
-					<category_icon>riscos</category_icon>
-					<url>scummvm-{$release}-riscos-vfp.zip</url>
-					<name>RISC OS VFP package</name>
-					<user_agent>RISC OS</user_agent>
-				</file>
-
-				<file>
-					<category_icon>freemint</category_icon>
-					<url>scummvm-{$release}-atari-m68000.zip</url>
-					<name>Atari/FreeMiNT package (m68000 and up)</name>
-				</file>
-				<file>
-					<category_icon>freemint</category_icon>
-					<url>scummvm-{$release}-atari-m68020-60.zip</url>
-					<name>Atari/FreeMiNT package (m68020 - m68060)</name>
-				</file>
-				<file>
-					<category_icon>freemint</category_icon>
-					<url>scummvm-{$release}-atari-m5475.zip</url>
-					<name>Atari/FreeMiNT package (Coldfire MCF5475 / Firebee)</name>
-				</file>
-<!--
-				<file>
-					<category_icon>os2</category_icon>
-					<url>scummvm-{$release}-os2.zip</url>
-					<name>OS/2 package</name>
-					<user_agent>OS/2</user_agent>
-				</file>
--->
-				<file>
-					<category_icon>samsungtv</category_icon>
-					<url>scummvm-{$release}-samsungtv.zip</url>
-					<name>Samsung TV package (2009 series)</name>
-				</file>
-			</entries>
-		</subsection>
-
-		<subsection>
-			<title>{'/\x7brelease\x7d/'|preg_replace:$release:#downloadsSourceCode#}</title>
-			<anchor>source</anchor>
-			<entries>
-				<file>
-					<category_icon>cpp</category_icon>
-					<url>scummvm-{$release}.tar.lz</url>
-					<name>ScummVM - Source .tar.lz</name>
-				</file>
-				<file>
-					<category_icon>cpp</category_icon>
-					<url>scummvm-{$release}.tar.xz</url>
-					<name>ScummVM - Source .tar.xz</name>
-				</file>
-				<file>
-					<category_icon>cpp</category_icon>
-					<url>scummvm-{$release}.tar.bz2</url>
-					<name>ScummVM - Source .tar.bz2</name>
-				</file>
-				<file>
-					<category_icon>cpp</category_icon>
-					<url>scummvm-{$release}.tar.gz</url>
-					<name>ScummVM - Source .tar.gz</name>
-				</file>
-				<file>
-					<category_icon>cpp</category_icon>
-					<url>scummvm-{$release}.zip</url>
-					<name>ScummVM - Source .zip</name>
-				</file>
-<!--
-				<file>
-					<category_icon>cpp</category_icon>
-					<url>scummvm-{$release}-2.src.rpm</url>
-					<name>ScummVM - Source RPM</name>
-				</file>
--->
-			</entries>
-		</subsection>
-
-		<subsection>
-			<title>{'/\x7brelease_tools\x7d/'|preg_replace:$release_tools:#downloadsTools#}</title>
-			<anchor>tools</anchor>
-			<entries>
-<!--
-				<file>
-					<category_icon>windows</category_icon>
-					<url type="tools">scummvm-tools-{$release_tools}-win32.exe</url>
-					<name>Tools - Windows Installer</name>
-				</file>
--->
-				<file>
-					<category_icon>windows</category_icon>
-					<url type="tools">scummvm-tools-{$release_tools}-win32.zip</url>
-					<name>Tools - Windows 32bit zipfile</name>
-				</file>
-				<file>
-					<category_icon>windows</category_icon>
-					<url type="tools">scummvm-tools-{$release_tools}-win32-x86_64.zip</url>
-					<name>Tools - Windows 64bit zipfile</name>
-				</file>
-<!--
-				<file>
-					<category_icon>fedora</category_icon>
-					<url type="tools">scummvm-tools-{$release_tools}-1_F11.i586.rpm</url>
-					<name>Tools - Fedora 11 and 12 i586 RPM</name>
-				</file>
-				<file>
-					<category_icon>fedora</category_icon>
-					<url type="tools">scummvm-tools-{$release_tools}-1_F11.x86_64.rpm</url>
-					<name>Tools - Fedora 11 and 12 x86 64bit RPM</name>
-				</file>
--->
-				<file>
-					<category_icon>macos</category_icon>
-					<url type="tools">scummvm-tools-{$release_tools}-macosx.dmg</url>
-					<name>Tools - Mac OS X Intel binaries (10.6 and up)</name>
-				</file>
-<!--
-				<file>
-					<category_icon>solaris</category_icon>
-					<url type="tools">scummvm-tools-{$release_tools}-solaris8-sparc.pkg.bz2</url>
-					<name>Tools - Solaris 8 (Sparc)</name>
-				</file>
-
-				<file>
-					<category_icon>solaris</category_icon>
-					<url type="tools">scummvm-tools-{$release_tools}-solaris10-x86.pkg.bz2</url>
-					<name>Tools - Solaris 10 (both IA32 and AMD64)</name>
-				</file>
-
-				<file>
-					<category_icon>irix</category_icon>
-					<url type="tools">scummvm-tools-{$release_tools}-irix-mips3.tar.bz2</url>
-					<name>Tools - IRIX (6.5.*, n32, mips3) package</name>
-				</file>
-
-				<file>
-					<category_icon>irix</category_icon>
-					<url type="tools">scummvm-tools-{$release_tools}-irix-mips4.tar.bz2</url>
-					<name>Tools - IRIX (6.5.*, n32, mips4) package</name>
-				</file>
-
-				<file>
-					<category_icon>beos</category_icon>
-					<url type="tools">scummvm-tools-{$release_tools}-beos.tgz</url>
-					<name>Tools - BeOS</name>
-				</file>
--->
-				<file>
-					<category_icon>haiku</category_icon>
-					<url type="tools">scummvm_tools_x86-{$release_tools}-1-x86_gcc2.hpkg</url>
-					<name>Tools - Haiku package 32 bits package</name>
-				</file>
-				<file>
-					<category_icon>haiku</category_icon>
-					<url type="tools">scummvm_tools-{$release_tools}-1-x86_64.hpkg</url>
-					<name>Tools - Haiku package 64 bits package</name>
-				</file>
-
-				<file>
-					<category_icon>amiga</category_icon>
-					<url type="tools">scummvm-tools-{$release_tools}-amigaos4.lha</url>
-					<name>Tools - AmigaOS 4 package</name>
-				</file>
-
-				<file>
-					<category_icon>morphos</category_icon>
-					<url type="tools">scummvm-tools-{$release_tools}-morphos.lha</url>
-					<name>Tools - MorphOS package</name>
-				</file>
-
-				<file>
-					<category_icon>riscos</category_icon>
-					<url type="tools">scummvm-tools-{$release_tools}-riscos.zip</url>
-					<name>Tools - RISC OS package</name>
-				</file>
-				<file>
-					<category_icon>freemint</category_icon>
-					<url type="tools">scummvm-tools-{$release_tools}-atari-m68000.zip</url>
-					<name>Tools - Atari/FreeMiNT package (68000 and up)</name>
-				</file>
-				<file>
-					<category_icon>freemint</category_icon>
-					<url type="tools">scummvm-tools-{$release_tools}-atarim68020-60.zip</url>
-					<name>Tools - Atari/FreeMiNT package (m68020 - m68060)</name>
-				</file>
-				<file>
-					<category_icon>freemint</category_icon>
-					<url type="tools">scummvm-tools-{$release_tools}-atari-m5475.zip</url>
-					<name>Tools - Atari/FreeMiNT package (Coldfire MCF5475 / Firebee)</name>
-				</file>
-
-				<file>
-					<category_icon>cpp</category_icon>
-					<url type="tools">scummvm-tools-{$release_tools}.tar.lz</url>
-					<name>Tools - Source .tar.lz</name>
-				</file>
-				<file>
-					<category_icon>cpp</category_icon>
-					<url type="tools">scummvm-tools-{$release_tools}.tar.xz</url>
-					<name>Tools - Source .tar.xz</name>
-				</file>
-				<file>
-					<category_icon>cpp</category_icon>
-					<url type="tools">scummvm-tools-{$release_tools}.tar.bz2</url>
-					<name>Tools - Source .tar.bz2</name>
-				</file>
-				<file>
-					<category_icon>cpp</category_icon>
-					<url type="tools">scummvm-tools-{$release_tools}.tar.gz</url>
-					<name>Tools - Source .tar.gz</name>
-				</file>
-				<file>
-					<category_icon>cpp</category_icon>
-					<url type="tools">scummvm-tools-{$release_tools}.zip</url>
-					<name>Tools - Source .zip</name>
-				</file>
-<!--
-				<file>
-					<category_icon>cpp</category_icon>
-					<url type="tools">scummvm-tools-{$release_tools}-1.src.rpm</url>
-					<name>Tools - Source RPM</name>
-				</file>
--->
-			</entries>
-		</subsection>
-	</section>
-
-	<section>
-		<title>{#downloadsOldBinaries#}</title>
-		<subsection>
-			<title>{#downloadsOld#}</title>
-			<anchor>older</anchor>
-			<baseurl>/frs/scummvm/</baseurl>
-			<notes>
-				{#downloadsOldBinariesNote#}
-	{#downloadsOldBinariesFrsNote1#}
-				<h:a href="/frs/scummvm/">{#downloadsOldBinariesFrsNote2#}</h:a>
-				{#downloadsOldBinariesFrsNote3#}
-			</notes>
-			<entries>
-				<file>
-					<category_icon>maemo</category_icon>
-					<url>2.1.1/scummvm_2.1.1-maemo_armel.deb</url>
-					<name>2.1.1 Maemo package (OS 2008 and Maemo5/Fremantle)</name>
-				</file>
-				<file>
-					<category_icon>windows</category_icon>
-					<url>2.1.0/scummvm-2.1.0-win32-x86_64.exe</url>
-					<name>2.1.0 Windows 64bit Installer</name>
-				</file>
-
-				<file>
-					<category_icon>android</category_icon>
-					<url>2.0.0/scummvm-2.0.0-android-all.apk</url>
-					<name>2.0.0 Android package (all architectures)</name>
-					<user_agent>Android</user_agent>
-				</file>
-
-				<file>
-					<category_icon>fedora</category_icon>
-					<url>2.0.0/scummvm-2.0.0-1.x86_64.rpm</url>
-					<name>2.0.0 Fedora 24+ x86 64bit package</name>
-					<user_agent>Fedora</user_agent>
-				</file>
-
-				<file>
-					<category_icon>raspberry</category_icon>
-					<url>2.0.0/scummvm-2.0.0-rpi.zip</url>
-					<name>2.0.0 Raspberry Pi package (for Pi 2 and 3)</name>
-				</file>
-
-				<file>
-					<category_icon>android</category_icon>
-					<url>1.9.0/scummvm-1.9.0-android-mips.apk</url>
-					<name>1.9.0 Android MIPS package</name>
-				</file>
-				<file>
-					<category_icon>ouya</category_icon>
-					<url>1.9.0/scummvm-1.9.0-android-ouya.apk</url>
-					<name>1.9.0 OUYA package</name>
-				</file>
-				<file>
-					<category_icon>os2</category_icon>
-					<url>1.9.0/scummvm-1.9.0-os2.zip</url>
-					<name>1.9.0 OS/2 package</name>
-					<user_agent>OS/2</user_agent>
-				</file>
-
-				<file>
-					<category_icon>ps2</category_icon>
-					<url>1.7.0/scummvm-1.7.0-ps2.zip</url>
-					<name>1.7.0 PlayStation2 package</name>
-				</file>
-				<file>
-					<category_icon>webos</category_icon>
-					<url>1.7.0/scummvm-1.7.0-webos.zip</url>
-					<name>1.7.0 WebOS package</name>
-				</file>
-				<file>
-					<category_icon>tizen</category_icon>
-					<url>1.7.0/scummvm-1.7.0-tizen.tpk</url>
-					<name>1.7.0 Tizen package</name>
-				</file>
-				<file>
-					<category_icon>gp2x</category_icon>
-					<url>1.7.0/scummvm-1.7.0-gp2x.tar.bz2</url>
-					<name>1.7.0 GP2X package</name>
-				</file>
-				<file>
-					<category_icon>gp2xwiz</category_icon>
-					<url>1.7.0/scummvm-1.7.0-gp2xwiz.tar.bz2</url>
-					<name>1.7.0 GP2X Wiz package</name>
-				</file>
-				<file>
-					<category_icon>caanoo</category_icon>
-					<url>1.7.0/scummvm-1.7.0-caanoo.tar.bz2</url>
-					<name>1.7.0 Caanoo package</name>
-				</file>
-
-				<file>
-					<category_icon>slackware</category_icon>
-					<url>1.6.0/scummvm-1.6.0_slack-i486-1.tgz</url>
-					<name>1.6.0 SlackWare i486 package</name>
-				</file>
-				<file>
-					<category_icon>slackware</category_icon>
-					<url>1.6.0/scummvm-1.6.0_slack-x86_64-1.txz</url>
-					<name>1.6.0 SlackWare x86 64bit package</name>
-				</file>
-
-				<file>
-					<category_icon>n64</category_icon>
-					<url>1.6.0/scummvm-1.6.0-n64.zip</url>
-					<name>1.6.0 Nintendo 64 package</name>
-				</file>
-
-				<file>
-					<category_icon>dingux</category_icon>
-					<url>1.6.0/scummvm-1.6.0-dingux.zip</url>
-					<name>1.6.0 Dingux package</name>
-				</file>
-
-				<file>
-					<category_icon>solaris</category_icon>
-					<url>1.6.0/scummvm-1.6.0-solaris10-sparc.pkg.7z</url>
-					<name>1.6.0 Solaris 10 sparc, Solaris 11 sparc binary</name>
-				</file>
-
-				<file>
-					<category_icon>solaris</category_icon>
-					<url>1.6.0/scummvm-1.6.0-solaris10-x86.pkg.7z</url>
-					<name>1.6.0 Solaris 10 x86, Solaris 11 x86, OpenIndiana binary</name>
-					<user_agent>SunOS</user_agent>
-				</file>
-
-				<file>
-					<category_icon>wince</category_icon>
-					<url>1.5.0/scummvm-1.5.0-wince.zip</url>
-					<name>1.5.0 Windows CE ARM package</name>
-				</file>
-
-				<file>
-					<category_icon>gc</category_icon>
-					<url>1.5.0/scummvm-1.5.0-gamecube.zip</url>
-					<name>1.5.0 Nintendo GameCube package</name>
-				</file>
-
-				<file>
-					<category_icon>debian</category_icon>
-					<url>1.4.1/scummvm_1.4.1-squeeze.1_powerpc.deb</url>
-					<name>1.4.1 Debian 6.0 (squeeze) PowerPC package</name>
-				</file>
-
-				<file>
-					<category_icon>solaris</category_icon>
-					<url>1.4.1/scummvm-1.4.1-solaris10-x86.pkg.bz2</url>
-					<name>1.4.1 Solaris 10 (both IA32 and AMD64) binary</name>
-				</file>
-				<file>
-					<category_icon>linuxmoto</category_icon>
-					<url>1.3.0/scummvm-1.3.0-motoezx.pkg</url>
-					<name>1.3.0 Motorola A1200, ROKR E6, A1600 package</name>
-				</file>
-
-				<file>
-					<category_icon>linuxmoto</category_icon>
-					<url>1.3.0/scummvm-1.3.0-motomagx.mgx</url>
-					<name>1.3.0 Motorola E8, EM30, ZN5, U9 package</name>
-				</file>
-				<file>
-					<category_icon>linuxmoto</category_icon>
-					<url>1.3.0/scummvm-1.3.0-motomagx.pep</url>
-					<name>1.3.0 Motorola Z6, V8 package</name>
-				</file>
-				<file>
-					<category_icon>linuxmoto</category_icon>
-					<url>1.3.0/scummvm-1.3.0-motomagx.mpkg</url>
-					<name>1.3.0 Motorola Z6, V8 package</name>
-				</file>
-
-				<file>
-					<category_icon>ds</category_icon>
-					<url>1.2.1/scummvm-1.2.1-ds.zip</url>
-					<name>1.2.1 Nintendo DS package</name>
-				</file>
-
-				<file>
-					<category_icon>symbian</category_icon>
-					<url>1.2.1/scummvm-1.2.1-uiq3.sis</url>
-					<name>1.2.1 Symbian UIQ 3 binary</name>
-				</file>
-
-				<file>
-					<category_icon>solaris</category_icon>
-					<url>1.1.1/scummvm-1.1.1-solaris8-sparc.pkg.bz2</url>
-					<name>1.1.1 Solaris 8 and up (Sparc) binary</name>
-				</file>
-
-				<file>
-					<category_icon>beos</category_icon>
-					<url>1.0.0/scummvm-1.0.0-beos.tgz</url>
-					<name>1.0.0 BeOS package</name>
-					<user_agent>BeOS</user_agent>
-				</file>
-
-				<file>
-					<category_icon>palmos</category_icon>
-					<url>0.11.1/scummvm-0.11.1-palmos-os5.zip</url>
-					<name>0.11.1 PalmOS 5 binary</name>
-				</file>
-				<file>
-					<category_icon>palmos</category_icon>
-					<url>0.11.1/scummvm-0.11.1-palmos-zodiac.zip</url>
-					<name>0.11.1 PalmOS Tapwave Zodiac binary</name>
-				</file>
-
-				<file>
-					<category_icon>opie</category_icon>
-					<url>0.11.1/scummvm-0.11.1-opie_arm.ipk</url>
-					<name>0.11.1 Opie SDL package <h:b>Only</h:b> for iPAQ h1910/h1915 and MyPal 716</name>
-				</file>
-
-				<file>
-					<category_icon>symbian</category_icon>
-					<url>0.9.1/scummvm-0.9.1-s60-v1.sis</url>
-					<name>0.9.1 Symbian S60 version 1 binary</name>
-				</file>
-				<file>
-					<category_icon>symbian</category_icon>
-					<url>0.9.1/scummvm-0.9.1-s60-v2.sis</url>
-					<name>0.9.1 Symbian S60 version 2 binary</name>
-				</file>
-				<file>
-					<category_icon>symbian</category_icon>
-					<url>0.9.1/scummvm-0.9.1-s80.sis</url>
-					<name>0.9.1 Symbian S80 binary</name>
-				</file>
-				<file>
-					<category_icon>symbian</category_icon>
-					<url>0.9.1/scummvm-0.9.1-s90.sis</url>
-					<name>0.9.1 Symbian S90 binary</name>
-				</file>
-				<file>
-					<category_icon>symbian</category_icon>
-					<url>0.9.1/scummvm-0.9.1-uiq2.sis</url>
-					<name>0.9.1 Symbian UIQ 2 binary</name>
-				</file>
-
-				<file>
-					<category_icon>mandriva</category_icon>
-					<url>0.8.0/scummvm-0.8.0-1mdk.i586.rpm</url>
-					<name>0.8.0 Mandriva 2006 package</name>
-				</file>
-
-				<file>
-					<category_icon>wince</category_icon>
-					<url>0.7.1/scummvm-0.7.1-PocketPC_MIPS.zip</url>
-					<name>0.7.1 PocketPC MIPS binary</name>
-				</file>
-				<file>
-					<category_icon>wince</category_icon>
-					<url>0.7.1/scummvm-0.7.1-PocketPC_SH3.zip</url>
-					<name>0.7.1 PocketPC SH3 binary</name>
-				</file>
-				<file>
-					<category_icon>wince</category_icon>
-					<url>0.7.1/scummvm-0.7.1-HandheldPC_ARM.zip</url>
-					<name>0.7.1 HandheldPC ARM binary</name>
-				</file>
-				<file>
-					<category_icon>wince</category_icon>
-					<url>0.7.1/scummvm-0.7.1-HandheldPC_MIPS.zip</url>
-					<name>0.7.1 HandheldPC MIPS binary</name>
-				</file>
-				<file>
-					<category_icon>wince</category_icon>
-					<url>0.7.1/scummvm-0.7.1-HandheldPC_SH3.zip</url>
-					<name>0.7.1 HandheldPC SH3 binary</name>
-				</file>
-
-				<file>
-					<category_icon>macos9</category_icon>
-					<url>0.2.0/scummvm-0.2.0-macos9.sit</url>
-					<name>0.2.0 Mac OS 9 package</name>
-				</file>
-			</entries>
-		</subsection>
-	</section>
-
-	<section>
-		<title>{#downloadsExtra#}</title>
-		<anchor>extras</anchor>
-		<subsection>
-			<title>{#downloadsGames#}</title>
-			<entries>
-				<link>
-					<name>Games page</name>
-					<url>games</url>
-					<description>: Freeware game downloads and game extras</description>
-				</link>
-				<link>
-					<name>Demos page</name>
-					<url>demos</url>
-					<description>: Game demos</description>
-				</link>
-			</entries>
-		</subsection>
-		<subsection>
-			<title>{#downloadEngineData#}</title>
-			<entries>
-				<link>
-					<name>kyra.dat</name>
-					<url>https://github.com/scummvm/scummvm/raw/master/dists/engine-data/kyra.dat</url>
-					<description>: Kyrandia and Lands of Lore</description>
-				</link>
-				<link>
-					<name>lure.dat</name>
-					<url>https://github.com/scummvm/scummvm/raw/master/dists/engine-data/lure.dat</url>
-					<description>: Lure of the Temptress</description>
-				</link>
-				<link>
-					<name>queen.tbl</name>
-					<url>https://github.com/scummvm/scummvm/raw/master/dists/engine-data/queen.tbl</url>
-					<description>: Flight of the Amazon Queen</description>
-				</link>
-				<link>
-					<name>sky.cpt</name>
-					<url>https://github.com/scummvm/scummvm/raw/master/dists/engine-data/sky.cpt</url>
-					<description>: Beneath a Steel Sky</description>
-				</link>
-			</entries>
-		</subsection>
-		<subsection>
-			<title>{#downloadsSubprojects#}</title>
-			<entries>
-				<link>
-					<name>ScummEx</name>
-					<url>/frs/extras/ScummEx/scummex-win32.exe</url>
-					<description>: ScummEx is a multi-platform SCUMM resource browser, viewer and extractor using the wxWindows toolkit.
-						<h:p>
-							Development on this project is currently stalled. The code-base needs quite some cleanup, and viewers for many resource types still need adding to the code. Patches and volunteers are very welcome...
-						</h:p>
-					</description>
-				</link>
-			</entries>
-		</subsection>
-	</section>
-
-	<section>
-		<title>{#downloadsDailyBuilds#}</title>
-		<subsection>
-			<title>{#downloadsDailyBuilds#}</title>
-			<anchor>daily</anchor>
-			<notes>
-				<h:p>
-					<h:b>{#downloadsDailyNote1#}</h:b> {#downloadsDailyNote2#}
-					</h:p>
-				<h:p>
-					{#downloadsDailyLink1#} {#downloadsDailyLink2#}
-				</h:p>
-				<h:p>
-					View the <h:a href="https://github.com/scummvm/scummvm/commits">ChangeLog</h:a> to see the latest updates of ScummVM.
-				</h:p>
-				<h:p>{#downloadsDailyLink3#}</h:p>
-			</notes>
-			<entries>
-				<file>
-					<category_icon>windows</category_icon>
-					<url extra_info="true" type="daily">scummvm-snapshot-win32.exe</url>
-					<name>ScummVM Snapshot for Windows</name>
-					<extra_info>Provided by ScummVM Team member Lothar Serra Mari, updated several times daily</extra_info>
-				</file>
-				<file>
-					<category_icon>windows</category_icon>
-					<url extra_info="true" type="daily">scummvm-tools-snapshot-win32.zip</url>
-					<name>ScummVM Tools Snapshot for Windows</name>
-					<extra_info>Provided by ScummVM Team member Lothar Serra Mari, updated several times daily</extra_info>
-				</file>
-<!--
-				<file>
-					<category_icon>debian</category_icon>
-					<url extra_info="true" type="daily">scummvm_debian_i386.deb</url>
-					<name>Debian i386 ScummVM Daily Snapshot</name>
-					<extra_info>Provided by ScummVM Team member Pawel 'aquadran' Kolodziejski</extra_info>
-				</file>
-				<file>
-					<category_icon>debian</category_icon>
-					<url extra_info="true" type="daily">scummvm_debian_amd64.deb</url>
-					<name>Debian x86_64 ScummVM Daily Snapshot</name>
-					<extra_info>Provided by ScummVM Team member Pawel 'aquadran' Kolodziejski</extra_info>
-				</file>
-				<file>
-					<category_icon>ubuntu</category_icon>
-					<url extra_info="true" type="daily">scummvm_ubuntu_i386.deb</url>
-					<name>Ubuntu i386 ScummVM Daily Snapshot</name>
-					<extra_info>Provided by ScummVM Team member Pawel 'aquadran' Kolodziejski</extra_info>
-				</file>
-				<file>
-					<category_icon>ubuntu</category_icon>
-					<url extra_info="true" type="downloads">scummvm_ubuntu_amd64.deb</url>
-					<name>Ubuntu x86_64 ScummVM Daily Snapshot</name>
-					<extra_info>Provided by ScummVM Team member Pawel 'aquadran' Kolodziejski</extra_info>
-				</file>
--->
-				<file>
-					<category_icon>cpp</category_icon>
-					<url>https://github.com/scummvm/scummvm</url>
-					<name>Git Repository</name>
-					<extra_info> (for if you wish to retrieve the latest code to compile yourself)</extra_info>
-				</file>
-			</entries>
-		</subsection>
-	</section>
-	<section>
-		<title>{#downloadsLibraries#}</title>
-		<anchor>libs</anchor>
-		<subsection>
-			<title>{#downloadsRequiredLibraries#}</title>
-			<entries>
-				<link>
-					<name>SDL 2.0.x</name>
-					<url>http://www.libsdl.org/download-2.0.php</url>
-					<description> (or SDL 1.2.x)</description>
-				</link>
-			</entries>
-		</subsection>
-		<subsection>
-			<title>{#downloadsOptionalLibraries#}</title>
-			<entries>
-				<link>
-					<name>MAD</name>
-					<url>http://www.underbit.com/products/mad/</url>
-					<description>: MPEG Audio Decoder</description>
-				</link>
-				<link>
-					<name>Ogg Vorbis</name>
-					<url>http://www.xiph.org/vorbis/</url>
-					<description>: A free codec for lossy audio compression</description>
-				</link>
-				<link>
-					<name>FLAC</name>
-					<url>https://xiph.org/flac/</url>
-					<description>: Free Lossless Audio Codec</description>
-				</link>
-				<link>
-					<name>liba52</name>
-					<url>http://liba52.sourceforge.net</url>
-					<description>: ATSC A/52 stream decoder</description>
-				</link>
-				<link>
-					<name>FAAD2</name>
-					<url>http://www.audiocoding.com/faad2.html</url>
-					<description>: MPEG-4 and MPEG-2 AAC Decoder</description>
-				</link>
-				<link>
-					<name>Theora</name>
-					<url>http://theora.org/</url>
-					<description>: Theora Decoder</description>
-				</link>
-				<link>
-					<name>mpeg2</name>
-					<url>http://libmpeg2.sourceforge.net/</url>
-					<description>: mpeg2 Decoder</description>
-				</link>
-				<link>
-					<name>png</name>
-					<url>http://www.libpng.org/pub/png/libpng.html</url>
-					<description>: png image format decoder</description>
-				</link>
-				<link>
-					<name>jpeg</name>
-					<url>http://www.ijg.org</url>
-					<description> (or jpeg-turbo): jpeg image format decoder</description>
-				</link>
-				<link>
-					<name>zlib</name>
-					<url>http://zlib.net/</url>
-					<description>: Data Compression</description>
-				</link>
-				<link>
-					<name>FluidSynth</name>
-					<url>http://www.fluidsynth.org/</url>
-					<description>: Real-Time Software MIDI Synthesizer</description>
-				</link>
-				<link>
-					<name>Timidity</name>
-					<url>http://libtimidity.sourceforge.net/</url>
-					<description>: MIDI to WAVE converter library</description>
-				</link>
-				<link>
-					<name>FreeType</name>
-					<url>http://www.freetype.org/</url>
-					<description>: Font rendering</description>
-				</link>
-				<link>
-					<name>FriBiDi</name>
-					<url>https://github.com/fribidi/fribidi</url>
-					<description>: Bidirectional text support</description>
-				</link>
-				<link>
-					<name>SDL_net 2.0</name>
-					<url>https://www.libsdl.org/projects/SDL_net/</url>
-					<description>: Networking library</description>
-				</link>
-				<link>
-					<name>curl</name>
-					<url>https://curl.haxx.se/libcurl/</url>
-					<description>: URL transfer library</description>
-				</link>
-			</entries>
-		</subsection>
-	</section>
-</downloads>
diff --git a/data/en/downloads.yaml b/data/en/downloads.yaml
new file mode 100644
index 00000000..da22ebe1
--- /dev/null
+++ b/data/en/downloads.yaml
@@ -0,0 +1,1594 @@
+# This is a generated file, please do not edit manually
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: windows
+    user_agent: Windows
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-win32.exe'
+    name: 'Windows Installer (32 and 64 bit)'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: windows
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-win32-x86_64.zip'
+    name: 'Windows zipfile (64 bit)'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: windows
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-win32.zip'
+    name: 'Windows zipfile (32 bit)'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: winxp
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-winxp-win32.exe'
+    name: 'Windows XP Installer'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: winxp
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-winxp-win32.zip'
+    name: 'Windows XP zipfile (32 bit)'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: winxp
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-winxp-win32-x86_64.zip'
+    name: 'Windows XP zipfile (64 bit)'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: win95
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-win9x-win32.exe'
+    name: 'Windows 95+ Installer'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: snap
+    user_agent: Ubuntu
+    url: 'https://snapcraft.io/scummvm'
+    name: 'Snap package hosted at the snapcraft.io store'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: flatpak
+    user_agent: Ubuntu
+    url: 'https://flathub.org/apps/details/org.scummvm.ScummVM'
+    name: 'Flatpak package hosted at the flathub.org repository'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: debian
+    user_agent: Debian
+    url: '/frs/scummvm/{$release}/scummvm_{$release}-1_debian10_amd64.deb'
+    name: 'Debian 10 (buster) x86 64bit package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: debian
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm_{$release}-1_debian10_i386.deb'
+    name: 'Debian 10 (buster) i386 package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: debian
+    user_agent: Debian
+    url: '/frs/scummvm/{$release}/scummvm_{$release}-1_debian9_amd64.deb'
+    name: 'Debian 9 (stretch) x86 64bit package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: debian
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm_{$release}-1_debian9_i386.deb'
+    name: 'Debian 9 (stretch) i386 package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: ubuntu
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm_{$release}-1_ubuntu20.04-lts_amd64.deb'
+    name: 'Ubuntu 20.04 LTS (focal) x86 64bit package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: ubuntu
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm_{$release}-1_ubuntu19.10_amd64.deb'
+    name: 'Ubuntu 19.10 (eoam) x86 64bit package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: ubuntu
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm_{$release}-1_ubuntu19.10_i386.deb'
+    name: 'Ubuntu 19.10 (eoan) i386 package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: ubuntu
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm_{$release}-1_ubuntu18.04-lts_i386.deb'
+    name: 'Ubuntu 18.04 LTS (bionic) i386 package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: macos
+    user_agent: Mac
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-macosx.dmg'
+    name: 'macOS 10.9+ 64 bits with Sparkle Disk Image'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: macostiger
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-macosx-i386.dmg'
+    name: 'Mac OS X 10.6+ intel 32 bits (without Sparkle) Disk Image'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: macosppc
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-macosx-ppc.dmg'
+    name: 'Mac OS X 10.4+ PPC 32 bits (without Sparkle) Disk Image'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: ps3
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-ps3.zip'
+    name: 'PlayStation3 package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: psp
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-psp.zip'
+    name: 'PSP (PlayStation Portable) package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: psp2
+    user_agent: 'PlayStation Portable'
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-vita.vpk'
+    name: 'PlayStation Vita package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: android
+    user_agent: Android
+    url: 'https://play.google.com/store/apps/details?id=org.scummvm.scummvm'
+    name: 'Android app on Google Play Store'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: android
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-2.2.1-android-arm-v7a-251020-1355.apk'
+    name: 'Android ARMv7a package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: android
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-2.2.1-android-arm64-v8a-251020-1355.apk'
+    name: 'Android ARM64v8a package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: android
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-2.2.1-android-x86-251020-1355.apk'
+    name: 'Android x86 32bit package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: android
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-2.2.1-android-x86_64-251020-1355.apk'
+    name: 'Android x86 64bit package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: symbian
+    user_agent: SymbOS
+    url: '/frs/scummvm/{$release}/scummvm-2.2.0.1-SymbianS60.zip'
+    name: 'Symbian S60 split binary'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: iphone
+    user_agent: iOS
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-ios.deb'
+    name: 'iOS 8+ package .deb'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: iphone
+    user_agent: iOS
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-ios.ipa'
+    name: 'iOS 8+ package .ipa'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: iphone
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-ios3.deb'
+    name: 'iOS 3+ package .deb'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: dc
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-dreamcast-plainfiles.tar.bz2'
+    name: 'Dreamcast plain files'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: dc
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-dreamcast-nero+demos.zip'
+    name: 'Dreamcast Nero Image & Demos'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: 3ds
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-3ds.zip'
+    name: 'Nintendo 3DS package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: switch
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-switch.zip'
+    name: 'Nintendo Switch package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: openpandora
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-openpandora.zip'
+    name: 'OpenPandora package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: wii
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-wii.zip'
+    name: 'Wii package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: gcw0
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-gcw0.opk'
+    name: 'GCW-Zero package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: irix
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-irix-mips3.tar.gz'
+    name: 'IRIX (6.5.*, n32, mips3) package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: irix
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-irix-mips4.tar.gz'
+    name: 'IRIX (6.5.*, n32, mips4) package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: haiku
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm_x86-{$release}-3-x86_gcc2.hpkg'
+    name: 'Haiku package 32bits'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: haiku
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-3-x86_64.hpkg'
+    name: 'Haiku package 64bits'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: amiga
+    user_agent: Amiga
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-amigaos4.lha'
+    name: 'AmigaOS 4 package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: morphos
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-morphos.lha'
+    name: 'MorphOS package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: riscos
+    user_agent: 'RISC OS'
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-riscos.zip'
+    name: 'RISC OS package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: riscos
+    user_agent: 'RISC OS'
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-riscos-vfp.zip'
+    name: 'RISC OS VFP package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: freemint
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-atari-m68000.zip'
+    name: 'Atari/FreeMiNT package (m68000 and up)'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: freemint
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-atari-m68020-60.zip'
+    name: 'Atari/FreeMiNT package (m68020 - m68060)'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: freemint
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-atari-m5475.zip'
+    name: 'Atari/FreeMiNT package (Coldfire MCF5475 / Firebee)'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: release
+    category_icon: samsungtv
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-samsungtv.zip'
+    name: 'Samsung TV package (2009 series)'
+    description: ''
+-
+    enabled: false
+    category: current
+    subcategory: release
+    category_icon: windows
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-win32-x86_64.exe'
+    name: 'Windows 64bit Installer'
+    description: ''
+-
+    enabled: false
+    category: current
+    subcategory: release
+    category_icon: fedora
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-1.i386.rpm'
+    name: 'Fedora 8-20+ i386 package'
+    description: ''
+-
+    enabled: false
+    category: current
+    subcategory: release
+    category_icon: fedora
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-1.x86_64.rpm'
+    name: 'Fedora 24+ x86 64bit package'
+    description: ''
+-
+    enabled: false
+    category: current
+    subcategory: release
+    category_icon: slackware
+    user_agent: Fedora
+    url: '/frs/scummvm/{$release}/scummvm-{$release}_slack-i486-1.tgz'
+    name: 'SlackWare i486 package'
+    description: ''
+-
+    enabled: false
+    category: current
+    subcategory: release
+    category_icon: slackware
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}_slack-x86_64-1.txz'
+    name: 'SlackWare x86 64bit package'
+    description: ''
+-
+    enabled: false
+    category: current
+    subcategory: release
+    category_icon: ps2
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-ps2.zip'
+    name: 'PlayStation2 package'
+    description: ''
+-
+    enabled: false
+    category: current
+    subcategory: release
+    category_icon: ds
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-ds.zip'
+    name: 'Nintendo DS package'
+    description: ''
+-
+    enabled: false
+    category: current
+    subcategory: release
+    category_icon: ouya
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-android-ouya.apk'
+    name: 'OUYA package'
+    description: ''
+-
+    enabled: false
+    category: current
+    subcategory: release
+    category_icon: uiq
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-uiq3.zip'
+    name: 'Symbian UIQ 3 binary'
+    description: ''
+-
+    enabled: false
+    category: current
+    subcategory: release
+    category_icon: wince
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-wince.zip'
+    name: 'Windows CE ARM package'
+    description: ''
+-
+    enabled: false
+    category: current
+    subcategory: release
+    category_icon: maemo
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm_{$release}-maemo_armel.deb'
+    name: 'Maemo package (OS 2008 and Maemo5/Fremantle)'
+    description: ''
+-
+    enabled: false
+    category: current
+    subcategory: release
+    category_icon: n64
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-n64.zip'
+    name: 'Nintendo 64 package'
+    description: ''
+-
+    enabled: false
+    category: current
+    subcategory: release
+    category_icon: gc
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-gamecube.zip'
+    name: 'Nintendo GameCube package'
+    description: ''
+-
+    enabled: false
+    category: current
+    subcategory: release
+    category_icon: os2
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-os2.zip'
+    name: 'OS/2 package'
+    description: ''
+-
+    enabled: false
+    category: current
+    subcategory: release
+    category_icon: raspberry
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-rpi.zip'
+    name: 'Raspberry Pi package (for Pi 2 and 3'
+    description: ''
+-
+    enabled: false
+    category: current
+    subcategory: release
+    category_icon: solaris
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-solaris10-sparc.pkg.7z'
+    name: 'Solaris 10 sparc, Solaris 11 sparc binary'
+    description: ''
+-
+    enabled: false
+    category: current
+    subcategory: release
+    category_icon: solaris
+    user_agent: SunOS
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-solaris10-x86.pkg.7z'
+    name: 'Solaris 10 x86, Solaris 11 x86, OpenIndiana binary'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: source
+    category_icon: cpp
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}.tar.lz'
+    name: 'ScummVM - Source .tar.lz'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: source
+    category_icon: cpp
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}.tar.xz'
+    name: 'ScummVM - Source .tar.xz'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: source
+    category_icon: cpp
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}.tar.bz2'
+    name: 'ScummVM - Source .tar.bz2'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: source
+    category_icon: cpp
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}.tar.gz'
+    name: 'ScummVM - Source .tar.gz'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: source
+    category_icon: cpp
+    user_agent: ''
+    url: '/frs/scummvm/{$release}/scummvm-{$release}.zip'
+    name: 'ScummVM - Source .zip'
+    description: ''
+-
+    enabled: false
+    category: current
+    subcategory: source
+    category_icon: cpp
+    user_agent: OS/2
+    url: '/frs/scummvm/{$release}/scummvm-{$release}-2.src.rpm'
+    name: 'ScummVM - Source RPM'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: tools
+    category_icon: windows
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/scummvm-tools-{$release_tools}-win32.zip'
+    name: 'Tools - Windows 32bit zipfile'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: tools
+    category_icon: windows
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/scummvm-tools-{$release_tools}-win32-x86_64.zip'
+    name: 'Tools - Windows 64bit zipfile'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: tools
+    category_icon: macos
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/scummvm-tools-{$release_tools}-macosx.dmg'
+    name: 'Tools - Mac OS X Intel binaries (10.6 and up)'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: tools
+    category_icon: haiku
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/scummvm_tools_x86-{$release_tools}-1-x86_gcc2.hpkg'
+    name: 'Tools - Haiku package 32 bits package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: tools
+    category_icon: haiku
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/scummvm_tools-{$release_tools}-1-x86_64.hpkg'
+    name: 'Tools - Haiku package 64 bits package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: tools
+    category_icon: amiga
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/scummvm-tools-{$release_tools}-amigaos4.lha'
+    name: 'Tools - AmigaOS 4 package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: tools
+    category_icon: morphos
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/scummvm-tools-{$release_tools}-morphos.lha'
+    name: 'Tools - MorphOS package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: tools
+    category_icon: riscos
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/scummvm-tools-{$release_tools}-riscos.zip'
+    name: 'Tools - RISC OS package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: tools
+    category_icon: freemint
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/scummvm-tools-{$release_tools}-atari-m68000.zip'
+    name: 'Tools - Atari/FreeMiNT package (68000 and up)'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: tools
+    category_icon: freemint
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/scummvm-tools-{$release_tools}-atarim68020-60.zip'
+    name: 'Tools - Atari/FreeMiNT package (m68020 - m68060)'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: tools
+    category_icon: freemint
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/scummvm-tools-{$release_tools}-atari-m5475.zip'
+    name: 'Tools - Atari/FreeMiNT package (Coldfire MCF5475 / Firebee)'
+    description: ''
+-
+    enabled: false
+    category: current
+    subcategory: tools
+    category_icon: windows
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/scummvm-tools-{$release_tools}-win32.exe'
+    name: 'Tools - Windows Installer'
+    description: ''
+-
+    enabled: false
+    category: current
+    subcategory: tools
+    category_icon: fedora
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/scummvm-tools-{$release_tools}-1_F11.i586.rpm'
+    name: 'Tools - Fedora 11 and 12 i586 RPM'
+    description: ''
+-
+    enabled: false
+    category: current
+    subcategory: tools
+    category_icon: fedora
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/scummvm-tools-{$release_tools}-1_F11.x86_64.rpm'
+    name: 'Tools - Fedora 11 and 12 x86 64bit RPM'
+    description: ''
+-
+    enabled: false
+    category: current
+    subcategory: tools
+    category_icon: solaris
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/scummvm-tools-{$release_tools}-solaris8-sparc.pkg.bz2'
+    name: 'Tools - Solaris 8 (Sparc)'
+    description: ''
+-
+    enabled: false
+    category: current
+    subcategory: tools
+    category_icon: solaris
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/scummvm-tools-{$release_tools}-solaris10-x86.pkg.bz2'
+    name: 'Tools - Solaris 10 (both IA32 and AMD64)'
+    description: ''
+-
+    enabled: false
+    category: current
+    subcategory: tools
+    category_icon: irix
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/scummvm-tools-{$release_tools}-irix-mips3.tar.bz2'
+    name: 'Tools - IRIX (6.5.*, n32, mips3) package'
+    description: ''
+-
+    enabled: false
+    category: current
+    subcategory: tools
+    category_icon: irix
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/scummvm-tools-{$release_tools}-irix-mips4.tar.bz2'
+    name: 'Tools - IRIX (6.5.*, n32, mips4) package'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: tools
+    category_icon: cpp
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/scummvm-tools-{$release_tools}.tar.lz'
+    name: 'Tools - Source .tar.lz'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: tools
+    category_icon: cpp
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/scummvm-tools-{$release_tools}.tar.xz'
+    name: 'Tools - Source .tar.xz'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: tools
+    category_icon: cpp
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/scummvm-tools-{$release_tools}.tar.bz2'
+    name: 'Tools - Source .tar.bz2'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: tools
+    category_icon: cpp
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/scummvm-tools-{$release_tools}.tar.gz'
+    name: 'Tools - Source .tar.gz'
+    description: ''
+-
+    enabled: true
+    category: current
+    subcategory: tools
+    category_icon: cpp
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/scummvm-tools-{$release_tools}.zip'
+    name: 'Tools - Source .zip'
+    description: ''
+-
+    enabled: false
+    category: current
+    subcategory: tools
+    category_icon: beos
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/scummvm-tools-{$release_tools}-beos.tgz'
+    name: 'Tools - BeOS'
+    description: ''
+-
+    enabled: false
+    category: current
+    subcategory: tools
+    category_icon: cpp
+    user_agent: ''
+    url: '/frs/scummvm/scummvm-tools-{$release_tools}-1.src.rpm'
+    name: 'Tools - Source RPM'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: maemo
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/2.1.1/scummvm_2.1.1-maemo_armel.deb'
+    name: '2.1.1 Maemo package (OS 2008 and Maemo5/Fremantle)'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: windows
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/2.1.0/scummvm-2.1.0-win32-x86_64.exe'
+    name: '2.1.0 Windows 64bit Installer'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: android
+    user_agent: Android
+    url: '/frs/scummvm-tools/{$release_tools}/2.0.0/scummvm-2.0.0-android-all.apk'
+    name: '2.0.0 Android package (all architectures)'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: fedora
+    user_agent: Fedora
+    url: '/frs/scummvm-tools/{$release_tools}/2.0.0/scummvm-2.0.0-1.x86_64.rpm'
+    name: '2.0.0 Fedora 24+ x86 64bit package'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: raspberry
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/2.0.0/scummvm-2.0.0-rpi.zip'
+    name: '2.0.0 Raspberry Pi package (for Pi 2 and 3)'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: android
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/1.9.0/scummvm-1.9.0-android-mips.apk'
+    name: '1.9.0 Android MIPS package'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: ouya
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/1.9.0/scummvm-1.9.0-android-ouya.apk'
+    name: '1.9.0 OUYA package'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: os2
+    user_agent: OS/2
+    url: '/frs/scummvm-tools/{$release_tools}/1.9.0/scummvm-1.9.0-os2.zip'
+    name: '1.9.0 OS/2 package'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: ps2
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/1.7.0/scummvm-1.7.0-ps2.zip'
+    name: '1.7.0 PlayStation2 package'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: webos
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/1.7.0/scummvm-1.7.0-webos.zip'
+    name: '1.7.0 WebOS package'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: tizen
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/1.7.0/scummvm-1.7.0-tizen.tpk'
+    name: '1.7.0 Tizen package'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: gp2x
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/1.7.0/scummvm-1.7.0-gp2x.tar.bz2'
+    name: '1.7.0 GP2X package'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: gp2xwiz
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/1.7.0/scummvm-1.7.0-gp2xwiz.tar.bz2'
+    name: '1.7.0 GP2X Wiz package'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: caanoo
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/1.7.0/scummvm-1.7.0-caanoo.tar.bz2'
+    name: '1.7.0 Caanoo package'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: slackware
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/1.6.0/scummvm-1.6.0_slack-i486-1.tgz'
+    name: '1.6.0 SlackWare i486 package'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: slackware
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/1.6.0/scummvm-1.6.0_slack-x86_64-1.txz'
+    name: '1.6.0 SlackWare x86 64bit package'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: n64
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/1.6.0/scummvm-1.6.0-n64.zip'
+    name: '1.6.0 Nintendo 64 package'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: dingux
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/1.6.0/scummvm-1.6.0-dingux.zip'
+    name: '1.6.0 Dingux package'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: solaris
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/1.6.0/scummvm-1.6.0-solaris10-sparc.pkg.7z'
+    name: '1.6.0 Solaris 10 sparc, Solaris 11 sparc binary'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: solaris
+    user_agent: SunOS
+    url: '/frs/scummvm-tools/{$release_tools}/1.6.0/scummvm-1.6.0-solaris10-x86.pkg.7z'
+    name: '1.6.0 Solaris 10 x86, Solaris 11 x86, OpenIndiana binary'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: wince
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/1.5.0/scummvm-1.5.0-wince.zip'
+    name: '1.5.0 Windows CE ARM package'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: gc
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/1.5.0/scummvm-1.5.0-gamecube.zip'
+    name: '1.5.0 Nintendo GameCube package'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: debian
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/1.4.1/scummvm_1.4.1-squeeze.1_powerpc.deb'
+    name: '1.4.1 Debian 6.0 (squeeze) PowerPC package'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: solaris
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/1.4.1/scummvm-1.4.1-solaris10-x86.pkg.bz2'
+    name: '1.4.1 Solaris 10 (both IA32 and AMD64) binary'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: linuxmoto
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/1.3.0/scummvm-1.3.0-motoezx.pkg'
+    name: '1.3.0 Motorola A1200, ROKR E6, A1600 package'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: linuxmoto
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/1.3.0/scummvm-1.3.0-motomagx.mgx'
+    name: '1.3.0 Motorola E8, EM30, ZN5, U9 package'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: linuxmoto
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/1.3.0/scummvm-1.3.0-motomagx.pep'
+    name: '1.3.0 Motorola Z6, V8 package'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: linuxmoto
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/1.3.0/scummvm-1.3.0-motomagx.mpkg'
+    name: '1.3.0 Motorola Z6, V8 package'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: ds
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/1.2.1/scummvm-1.2.1-ds.zip'
+    name: '1.2.1 Nintendo DS package'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: symbian
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/1.2.1/scummvm-1.2.1-uiq3.sis'
+    name: '1.2.1 Symbian UIQ 3 binary'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: solaris
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/1.1.1/scummvm-1.1.1-solaris8-sparc.pkg.bz2'
+    name: '1.1.1 Solaris 8 and up (Sparc) binary'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: beos
+    user_agent: BeOS
+    url: '/frs/scummvm-tools/{$release_tools}/1.0.0/scummvm-1.0.0-beos.tgz'
+    name: '1.0.0 BeOS package'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: palmos
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/0.11.1/scummvm-0.11.1-palmos-os5.zip'
+    name: '0.11.1 PalmOS 5 binary'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: palmos
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/0.11.1/scummvm-0.11.1-palmos-zodiac.zip'
+    name: '0.11.1 PalmOS Tapwave Zodiac binary'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: opie
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/0.11.1/scummvm-0.11.1-opie_arm.ipk'
+    name: '0.11.1 Opie SDL package Only for iPAQ h1910/h1915 and MyPal 716'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: symbian
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/0.9.1/scummvm-0.9.1-s60-v1.sis'
+    name: '0.9.1 Symbian S60 version 1 binary'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: symbian
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/0.9.1/scummvm-0.9.1-s60-v2.sis'
+    name: '0.9.1 Symbian S60 version 2 binary'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: symbian
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/0.9.1/scummvm-0.9.1-s80.sis'
+    name: '0.9.1 Symbian S80 binary'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: symbian
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/0.9.1/scummvm-0.9.1-s90.sis'
+    name: '0.9.1 Symbian S90 binary'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: symbian
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/0.9.1/scummvm-0.9.1-uiq2.sis'
+    name: '0.9.1 Symbian UIQ 2 binary'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: mandriva
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/0.8.0/scummvm-0.8.0-1mdk.i586.rpm'
+    name: '0.8.0 Mandriva 2006 package'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: wince
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/0.7.1/scummvm-0.7.1-PocketPC_MIPS.zip'
+    name: '0.7.1 PocketPC MIPS binary'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: wince
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/0.7.1/scummvm-0.7.1-PocketPC_SH3.zip'
+    name: '0.7.1 PocketPC SH3 binary'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: wince
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/0.7.1/scummvm-0.7.1-HandheldPC_ARM.zip'
+    name: '0.7.1 HandheldPC ARM binary'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: wince
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/0.7.1/scummvm-0.7.1-HandheldPC_MIPS.zip'
+    name: '0.7.1 HandheldPC MIPS binary'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: wince
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/0.7.1/scummvm-0.7.1-HandheldPC_SH3.zip'
+    name: '0.7.1 HandheldPC SH3 binary'
+    description: ''
+-
+    enabled: true
+    category: legacy
+    subcategory: old
+    category_icon: macos9
+    user_agent: ''
+    url: '/frs/scummvm-tools/{$release_tools}/0.2.0/scummvm-0.2.0-macos9.sit'
+    name: '0.2.0 Mac OS 9 package'
+    description: ''
+-
+    enabled: true
+    category: extras
+    subcategory: games
+    category_icon: ''
+    user_agent: ''
+    url: /games
+    name: 'Games page'
+    description: 'Freeware game downloads and game extras'
+-
+    enabled: true
+    category: extras
+    subcategory: games
+    category_icon: ''
+    user_agent: ''
+    url: /demos
+    name: 'Demos page'
+    description: 'Game demos'
+-
+    enabled: true
+    category: extras
+    subcategory: engine
+    category_icon: ''
+    user_agent: ''
+    url: 'https://github.com/scummvm/scummvm/raw/master/dists/engine-data/kyra.dat'
+    name: kyra.dat
+    description: 'Kyrandia and Lands of Lore'
+-
+    enabled: true
+    category: extras
+    subcategory: engine
+    category_icon: ''
+    user_agent: ''
+    url: 'https://github.com/scummvm/scummvm/raw/master/dists/engine-data/lure.dat'
+    name: lure.dat
+    description: 'Lure of the Temptress'
+-
+    enabled: true
+    category: extras
+    subcategory: engine
+    category_icon: ''
+    user_agent: ''
+    url: 'https://github.com/scummvm/scummvm/raw/master/dists/engine-data/queen.tbl'
+    name: queen.tbl
+    description: 'Flight of the Amazon Queen'
+-
+    enabled: true
+    category: extras
+    subcategory: engine
+    category_icon: ''
+    user_agent: ''
+    url: 'https://github.com/scummvm/scummvm/raw/master/dists/engine-data/sky.cpt'
+    name: sky.cpt
+    description: 'Beneath a Steel Sky'
+-
+    enabled: true
+    category: extras
+    subcategory: subprojects
+    category_icon: ''
+    user_agent: ''
+    url: /frs/extras/ScummEx/scummex-win32.exe
+    name: ScummEx
+    description: 'ScummEx is a multi-platform SCUMM resource browser, viewer and extractor  using the wxWindows toolkit. <p>Development on this project is currently stalled. The code-base needs  quite some cleanup, and viewers for many resource types still need adding  to the code. Patches and volunteers are very welcome...</p>'
+-
+    enabled: true
+    category: daily
+    subcategory: daily_downloads
+    category_icon: windows
+    user_agent: ''
+    url: /frs/daily/scummvm-snapshot-win32.exe
+    name: 'ScummVM Snapshot for Windows'
+    description: 'Provided by ScummVM Team member Lothar Serra Mari, updated several times  daily'
+-
+    enabled: true
+    category: daily
+    subcategory: daily_downloads
+    category_icon: windows
+    user_agent: ''
+    url: /frs/daily/scummvm-tools-snapshot-win32.zip
+    name: 'ScummVM Tools Snapshot for Windows'
+    description: 'Provided by ScummVM Team member Lothar Serra Mari, updated several times  daily'
+-
+    enabled: false
+    category: daily
+    subcategory: daily_downloads
+    category_icon: debian
+    user_agent: ''
+    url: /frs/daily/scummvm_debian_i386.deb
+    name: 'Debian i386 ScummVM Daily Snapshot'
+    description: 'Provided by ScummVM Team member Pawel ''aquadran'' Kolodziejski'
+-
+    enabled: false
+    category: daily
+    subcategory: daily_downloads
+    category_icon: debian
+    user_agent: ''
+    url: /frs/daily/scummvm_debian_amd64.deb
+    name: 'Debian x86_64 ScummVM Daily Snapshot'
+    description: 'Provided by ScummVM Team member Pawel ''aquadran'' Kolodziejski'
+-
+    enabled: false
+    category: daily
+    subcategory: daily_downloads
+    category_icon: ubuntu
+    user_agent: ''
+    url: /frs/daily/scummvm_ubuntu_i386.deb
+    name: 'Ubuntu i386 ScummVM Daily Snapshot'
+    description: 'Provided by ScummVM Team member Pawel ''aquadran'' Kolodziejski'
+-
+    enabled: false
+    category: daily
+    subcategory: daily_downloads
+    category_icon: ubuntu
+    user_agent: ''
+    url: /frs/daily/scummvm_ubuntu_amd64.deb
+    name: 'Ubuntu x86_64 ScummVM Daily Snapshot'
+    description: 'Provided by ScummVM Team member Pawel ''aquadran'' Kolodziejski'
+-
+    enabled: true
+    category: daily
+    subcategory: daily_downloads
+    category_icon: cpp
+    user_agent: ''
+    url: 'https://github.com/scummvm/scummvm'
+    name: 'Git Repository'
+    description: '(for if you wish to retrieve the latest code to compile yourself)'
+-
+    enabled: true
+    category: libs
+    subcategory: required
+    category_icon: ''
+    user_agent: ''
+    url: 'http://www.libsdl.org/download-2.0.php'
+    name: 'SDL 2.0.x'
+    description: '(or SDL 1.2.x)'
+-
+    enabled: true
+    category: libs
+    subcategory: optional
+    category_icon: ''
+    user_agent: ''
+    url: 'http://www.underbit.com/products/mad/'
+    name: MAD
+    description: 'MPEG Audio Decoder'
+-
+    enabled: true
+    category: libs
+    subcategory: optional
+    category_icon: ''
+    user_agent: ''
+    url: 'http://www.xiph.org/vorbis/'
+    name: 'Ogg Vorbis'
+    description: 'A free codec for lossy audio compression'
+-
+    enabled: true
+    category: libs
+    subcategory: optional
+    category_icon: ''
+    user_agent: ''
+    url: 'https://xiph.org/flac/'
+    name: FLAC
+    description: 'Free Lossless Audio Codec'
+-
+    enabled: true
+    category: libs
+    subcategory: optional
+    category_icon: ''
+    user_agent: ''
+    url: 'http://liba52.sourceforge.net'
+    name: liba52
+    description: 'ATSC A/52 stream decoder'
+-
+    enabled: true
+    category: libs
+    subcategory: optional
+    category_icon: ''
+    user_agent: ''
+    url: 'http://www.audiocoding.com/faad2.html'
+    name: FAAD2
+    description: 'MPEG-4 and MPEG-2 AAC Decoder'
+-
+    enabled: true
+    category: libs
+    subcategory: optional
+    category_icon: ''
+    user_agent: ''
+    url: 'http://theora.org/'
+    name: Theora
+    description: 'Theora Decoder'
+-
+    enabled: true
+    category: libs
+    subcategory: optional
+    category_icon: ''
+    user_agent: ''
+    url: 'http://libmpeg2.sourceforge.net/'
+    name: mpeg2
+    description: 'mpeg2 Decoder'
+-
+    enabled: true
+    category: libs
+    subcategory: optional
+    category_icon: ''
+    user_agent: ''
+    url: 'http://www.libpng.org/pub/png/libpng.html'
+    name: png
+    description: 'png image format decoder'
+-
+    enabled: true
+    category: libs
+    subcategory: optional
+    category_icon: ''
+    user_agent: ''
+    url: 'http://www.ijg.org'
+    name: jpeg
+    description: '(or jpeg-turbo) jpeg image format decoder'
+-
+    enabled: true
+    category: libs
+    subcategory: optional
+    category_icon: ''
+    user_agent: ''
+    url: 'http://zlib.net/'
+    name: zlib
+    description: 'Data Compression'
+-
+    enabled: true
+    category: libs
+    subcategory: optional
+    category_icon: ''
+    user_agent: ''
+    url: 'http://www.fluidsynth.org/'
+    name: FluidSynth
+    description: 'Real-Time Software MIDI Synthesizer'
+-
+    enabled: true
+    category: libs
+    subcategory: optional
+    category_icon: ''
+    user_agent: ''
+    url: 'http://libtimidity.sourceforge.net/'
+    name: Timidity
+    description: 'MIDI to WAVE converter library'
+-
+    enabled: true
+    category: libs
+    subcategory: optional
+    category_icon: ''
+    user_agent: ''
+    url: 'http://www.freetype.org/'
+    name: FreeType
+    description: 'Font rendering'
+-
+    enabled: true
+    category: libs
+    subcategory: optional
+    category_icon: ''
+    user_agent: ''
+    url: 'https://github.com/fribidi/fribidi'
+    name: FriBiDi
+    description: 'Bidirectional text support'
+-
+    enabled: true
+    category: libs
+    subcategory: optional
+    category_icon: ''
+    user_agent: ''
+    url: 'https://www.libsdl.org/projects/SDL_net/'
+    name: 'SDL_net 2.0'
+    description: 'Networking library'
+-
+    enabled: true
+    category: libs
+    subcategory: optional
+    category_icon: ''
+    user_agent: ''
+    url: 'https://curl.haxx.se/libcurl/'
+    name: curl
+    description: 'URL transfer library'
diff --git a/data/en/game_resources.yaml b/data/en/game_resources.yaml
new file mode 100644
index 00000000..a71b6c21
--- /dev/null
+++ b/data/en/game_resources.yaml
@@ -0,0 +1,414 @@
+# This is a generated file, please do not edit manually
+-
+    category: games
+    game_id: sky
+    category_icon: sky
+    link: '/frs/extras/Beneath a Steel Sky/bass-cd-1.2.zip'
+    name: 'Beneath a Steel Sky, Freeware CD Version'
+    notes: ''
+-
+    category: games
+    game_id: sky
+    category_icon: sky
+    link: '/frs/extras/Beneath a Steel Sky/BASS-Floppy-1.3.zip'
+    name: 'Beneath a Steel Sky, Freeware Floppy Version'
+    notes: ''
+-
+    category: games
+    game_id: sword25
+    category_icon: sword
+    link: '/frs/extras/Broken Sword 2.5/sword25-v1.0.zip'
+    name: 'Broken Sword 2.5, Freeware Version'
+    notes: ''
+-
+    category: games
+    game_id: drascula
+    category_icon: drascula
+    link: '/frs/extras/Drascula_ The Vampire Strikes Back/drascula-1.0.zip'
+    name: 'Drascula: The Vampire Strikes Back, Freeware Version (English)'
+    notes: ''
+-
+    category: games
+    game_id: drascula
+    category_icon: mp3
+    link: '/frs/extras/Drascula_ The Vampire Strikes Back/drascula-audio-mp3-2.0.zip'
+    name: 'Drascula: The Vampire Strikes Back, Freeware Version (Music AddOn, MP3  format)'
+    notes: ''
+-
+    category: games
+    game_id: drascula
+    category_icon: flac
+    link: '/frs/extras/Drascula_ The Vampire Strikes Back/drascula-audio-flac-2.0.zip'
+    name: 'Drascula: The Vampire Strikes Back, Freeware Version (Music AddOn, FLAC  format)'
+    notes: ''
+-
+    category: games
+    game_id: drascula
+    category_icon: ogg
+    link: '/frs/extras/Drascula_ The Vampire Strikes Back/drascula-audio-2.0.zip'
+    name: 'Drascula: The Vampire Strikes Back, Freeware Version (Music AddOn, OGG  format)'
+    notes: ''
+-
+    category: games
+    game_id: drascula
+    category_icon: drascula
+    link: '/frs/extras/Drascula_ The Vampire Strikes Back/drascula-int-1.0.zip'
+    name: 'Drascula: The Vampire Strikes Back, Freeware Version (Spanish, German,  French and Italian AddOn)'
+    notes: ''
+-
+    category: games
+    game_id: drascula
+    category_icon: drascula
+    link: '/frs/extras/Drascula_ The Vampire Strikes Back/drascula-int-1.1.zip'
+    name: 'Drascula: The Vampire Strikes Back, Freeware Version (Updated Spanish,  German, French and Italian AddOn) - requires ScummVM 1.3.0 or more'
+    notes: ''
+-
+    category: games
+    game_id: dreamweb
+    category_icon: dreamweb
+    link: /frs/extras/Dreamweb/dreamweb-uk-1.1.zip
+    name: 'Dreamweb, Freeware Floppy DOS Version (English UK)'
+    notes: ''
+-
+    category: games
+    game_id: dreamweb
+    category_icon: dreamweb
+    link: /frs/extras/Dreamweb/dreamweb-cd-uk-1.1.zip
+    name: 'Dreamweb, Freeware CD DOS Version (English UK)'
+    notes: ''
+-
+    category: games
+    game_id: dreamweb
+    category_icon: dreamweb
+    link: /frs/extras/Dreamweb/dreamweb-cd-us-1.1.zip
+    name: 'Dreamweb, Freeware CD DOS Version (English US)'
+    notes: ''
+-
+    category: games
+    game_id: dreamweb
+    category_icon: dreamweb
+    link: /frs/extras/Dreamweb/dreamweb-cd-fr-1.1.zip
+    name: 'Dreamweb, Freeware CD DOS Version (French)'
+    notes: ''
+-
+    category: games
+    game_id: dreamweb
+    category_icon: dreamweb
+    link: /frs/extras/Dreamweb/dreamweb-cd-de-1.1.zip
+    name: 'Dreamweb, Freeware CD DOS Version (German)'
+    notes: ''
+-
+    category: games
+    game_id: dreamweb
+    category_icon: dreamweb
+    link: /frs/extras/Dreamweb/dreamweb-cd-it-1.1.zip
+    name: 'Dreamweb, Freeware CD DOS Version (Italian)'
+    notes: ''
+-
+    category: games
+    game_id: dreamweb
+    category_icon: dreamweb
+    link: /frs/extras/Dreamweb/dreamweb-cd-es-1.1.zip
+    name: 'Dreamweb, Freeware CD DOS Version (Spanish)'
+    notes: ''
+-
+    category: games
+    game_id: dreamweb
+    category_icon: dreamweb
+    link: /frs/extras/Dreamweb/dreamweb-manuals-en-highres.zip
+    name: 'Dreamweb, Manuals (English High Resolution)'
+    notes: ''
+-
+    category: games
+    game_id: dreamweb
+    category_icon: dreamweb
+    link: /frs/extras/Dreamweb/dreamweb-manuals-en-lores.zip
+    name: 'Dreamweb, Manuals (English Low Resolution)'
+    notes: ''
+-
+    category: games
+    game_id: queen
+    category_icon: queen
+    link: '/frs/extras/http://www.lysator.liu.se/~zino/scummvm/queen/'
+    name: 'Flight of the Amazon Queen, Freeware CD Version (unmodified original)'
+    notes: ''
+-
+    category: games
+    game_id: queen
+    category_icon: queen
+    link: '/frs/extras/Flight of the Amazon Queen/FOTAQ_Fr_Talkie_1.0.zip'
+    name: 'Flight of the Amazon Queen, Freeware CD Version (French voices and subtitles, ogg compressed sfx/speech)'
+    notes: '(87M) download this version if your ScummVM doesn''t have mp3 support'
+-
+    category: games
+    game_id: queen
+    category_icon: queen
+    link: '/frs/extras/Flight of the Amazon Queen/FOTAQ_Ger_talkie-1.0.zip'
+    name: 'Flight of the Amazon Queen, Freeware CD Version (German voices and subtitles, ogg compressed sfx/speech)'
+    notes: ''
+-
+    category: games
+    game_id: queen
+    category_icon: queen
+    link: '/frs/extras/Flight of the Amazon Queen/FOTAQ_Heb_talkie.zip'
+    name: 'Flight of the Amazon Queen, Freeware CD Version (Hebrew subtitles, English voices, ogg compressed sfx/speech)'
+    notes: ''
+-
+    category: games
+    game_id: queen
+    category_icon: queen
+    link: '/frs/extras/Flight of the Amazon Queen/FOTAQ_It_Talkie_1.0.zip'
+    name: 'Flight of the Amazon Queen, Freeware CD Version (Italian subtitles, English voices, ogg compressed sfx/speech)'
+    notes: ''
+-
+    category: games
+    game_id: queen
+    category_icon: queen
+    link: '/frs/extras/Flight of the Amazon Queen/FOTAQ_Floppy.zip'
+    name: 'Flight of the Amazon Queen, Freeware Floppy Version'
+    notes: ''
+-
+    category: games
+    game_id: queen
+    category_icon: queen
+    link: '/frs/extras/Flight of the Amazon Queen/FOTAQ_Fr_Floppy.zip'
+    name: 'Flight of the Amazon Queen, Freeware Floppy Version (French)'
+    notes: ''
+-
+    category: games
+    game_id: griffon
+    category_icon: griffon
+    link: '/frs/extras/Griffon Legend/griffon-1.0.zip'
+    name: 'The Griffon Legend, Freeware Version'
+    notes: ''
+-
+    category: games
+    game_id: lure
+    category_icon: lure
+    link: '/frs/extras/Lure of the Temptress/lure-1.1.zip'
+    name: 'Lure of the Temptress, Freeware Version (English)'
+    notes: ''
+-
+    category: games
+    game_id: lure
+    category_icon: lure
+    link: '/frs/extras/Lure of the Temptress/lure-fr-1.1.zip'
+    name: 'Lure of the Temptress, Freeware Version (French)'
+    notes: ''
+-
+    category: games
+    game_id: lure
+    category_icon: lure
+    link: '/frs/extras/Lure of the Temptress/lure-de-1.1.zip'
+    name: 'Lure of the Temptress, Freeware Version (German)'
+    notes: ''
+-
+    category: games
+    game_id: lure
+    category_icon: lure
+    link: '/frs/extras/Lure of the Temptress/lure-it-1.1.zip'
+    name: 'Lure of the Temptress, Freeware Version (Italian)'
+    notes: ''
+-
+    category: games
+    game_id: lure
+    category_icon: lure
+    link: '/frs/extras/Lure of the Temptress/lure-es-1.1.zip'
+    name: 'Lure of the Temptress, Freeware Version (Spanish)'
+    notes: ''
+-
+    category: games
+    game_id: hires1
+    category_icon: mysthous
+    link: '/frs/extras/Mystery House/MYSTHOUS.zip'
+    name: 'Mystery House, public domain version (Apple II)'
+    notes: ''
+-
+    category: games
+    game_id: sfinx
+    category_icon: sfinx
+    link: /frs/extras/Sfinx/sfinx-en-v1.1.zip
+    name: 'Sfinx, Freeware Version (English, v1.1)'
+    notes: ''
+-
+    category: games
+    game_id: sfinx
+    category_icon: sfinx
+    link: /frs/extras/Sfinx/sfinx-pl-v1.1.zip
+    name: 'Sfinx, Freeware Version (Polish, v1.1)'
+    notes: ''
+-
+    category: games
+    game_id: soltys
+    category_icon: soltys
+    link: /frs/extras/Soltys/soltys-en-v1.0.zip
+    name: 'Soltys, Freeware Version (English)'
+    notes: ''
+-
+    category: games
+    game_id: soltys
+    category_icon: soltys
+    link: /frs/extras/Soltys/soltys-pl-v1.0.zip
+    name: 'Soltys, Freeware Version (Polish)'
+    notes: ''
+-
+    category: games
+    game_id: soltys
+    category_icon: soltys
+    link: /frs/extras/Soltys/soltys-es-v1.0.zip
+    name: 'Soltys, Freeware Version (Spanish)'
+    notes: ''
+-
+    category: addons
+    game_id: bladerunner
+    category_icon: bladerunner
+    link: '/frs/extras/Blade Runner/Blade_Runner_Subtitles-v6.zip'
+    name: 'Blade Runner Subtitles (English, French, Spanish Subtitles AddOn)'
+    notes: ''
+-
+    category: addons
+    game_id: sword1
+    category_icon: flac
+    link: '/frs/extras/Broken Sword I and II/Sword1_DXA_Cutscenes.zip'
+    name: 'Broken Sword Cutscene Pack (English, DXA compression)'
+    notes: '- Requires ScummVM 2.1.0'
+-
+    category: addons
+    game_id: sword1
+    category_icon: ogg
+    link: '/frs/extras/http://downloads.scummbr.com/Sword1_Cutscenes_BRA_Complete.zip'
+    name: 'Broken Sword Cutscene Pack (Brazilian)'
+    notes: '- Requires ScummVM 0.10.0'
+-
+    category: addons
+    game_id: sword1
+    category_icon: sword
+    link: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_Subtitles-1.0.zip'
+    name: 'Broken Sword Cutscene Pack (all languages, Subtitles AddOn)'
+    notes: '(38M) This is an offsite package with both Brazillian videos and audio'
+-
+    category: addons
+    game_id: sword1
+    category_icon: sword
+    link: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_Subtitles-1.1.zip'
+    name: 'Broken Sword Cutscene Pack (all languages, Updated Subtitles AddOn) -  requires ScummVM 1.5.0 or more'
+    notes: 'Cutscene subtitles pack. All languages'
+-
+    category: addons
+    game_id: sword1
+    category_icon: flac
+    link: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_DXA_FRE_AddOn.zip'
+    name: 'Broken Sword Cutscene Pack (French AddOn)'
+    notes: 'Cutscene subtitles pack. All languages'
+-
+    category: addons
+    game_id: sword1
+    category_icon: flac
+    link: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_DXA_GER_AddOn.zip'
+    name: 'Broken Sword Cutscene Pack (German AddOn)'
+    notes: 'Overwrite files in English Pack with files from this archive'
+-
+    category: addons
+    game_id: sword1
+    category_icon: flac
+    link: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_DXA_ITA_AddOn.zip'
+    name: 'Broken Sword Cutscene Pack (Italian AddOn)'
+    notes: 'Overwrite files in English Pack with files from this archive'
+-
+    category: addons
+    game_id: sword1
+    category_icon: flac
+    link: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_DXA_ESP_AddOn.zip'
+    name: 'Broken Sword Cutscene Pack (Spanish AddOn)'
+    notes: 'Overwrite files in English Pack with files from this archive'
+-
+    category: addons
+    game_id: sword1
+    category_icon: flac
+    link: '/frs/extras/Broken Sword I and II/Sword1_Demo_Cutscenes.zip'
+    name: 'Broken Sword Demo Cutscene Pack'
+    notes: 'Overwrite files in English Pack with files from this archive'
+-
+    category: addons
+    game_id: sword1
+    category_icon: ogg
+    link: '/frs/extras/Broken Sword I and II/Sword1_OGG_Cutscenes.zip'
+    name: 'Broken Sword Cutscene Pack (English OGG AddOn)'
+    notes: '- Requires ScummVM 0.10.0'
+-
+    category: addons
+    game_id: sword1
+    category_icon: ogg
+    link: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_FRE_AddOn.zip'
+    name: 'Broken Sword Cutscene Pack (French OGG AddOn)'
+    notes: 'Alternative English audio pack, for ports without FLAC support'
+-
+    category: addons
+    game_id: sword1
+    category_icon: ogg
+    link: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_GER_AddOn.zip'
+    name: 'Broken Sword Cutscene Pack (German OGG AddOn)'
+    notes: 'Alternative French audio pack, for ports without FLAC support'
+-
+    category: addons
+    game_id: sword1
+    category_icon: ogg
+    link: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_ITA_AddOn.zip'
+    name: 'Broken Sword Cutscene Pack (Italian OGG AddOn)'
+    notes: 'Alternative German audio pack, for ports without FLAC support'
+-
+    category: addons
+    game_id: sword1
+    category_icon: ogg
+    link: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_ESP_AddOn.zip'
+    name: 'Broken Sword Cutscene Pack (Spanish OGG AddOn)'
+    notes: 'Alternative Italian audio pack, for ports without FLAC support'
+-
+    category: addons
+    game_id: sword2
+    category_icon: flac
+    link: '/frs/extras/Broken Sword I and II/Sword2_DXA_Cutscenes.zip'
+    name: 'Broken Sword II Cutscene Pack (all languages, DXA compression)'
+    notes: 'Alternative Spanish audio pack, for ports without FLAC support'
+-
+    category: addons
+    game_id: sword2
+    category_icon: ogg
+    link: '/frs/extras/Broken Sword I and II/Sword2_OGG_Cutscenes.zip'
+    name: 'Broken Sword II Cutscene Pack (all languages, OGG AddOn)'
+    notes: '- Requires ScummVM 0.10.0'
+-
+    category: addons
+    game_id: sword2
+    category_icon: flac
+    link: '/frs/extras/Broken Sword I and II/Sword2_Demo_Cutscenes.zip'
+    name: 'Broken Sword II Demo Cutscene Pack'
+    notes: 'Alternative audio pack, for ports without FLAC support'
+-
+    category: addons
+    game_id: elvira2
+    category_icon: flac
+    link: '/frs/extras/Elvira 2/elvira2_pc_sfx.zip'
+    name: 'Elvira 2 - Digital samples for sound effects in the PC version'
+    notes: '- Requires ScummVM 0.10.0'
+-
+    category: addons
+    game_id: feeble
+    category_icon: flac
+    link: '/frs/extras/The Feeble Files/Feeble_OmniTV_Cutscenes.zip'
+    name: 'The Feeble Files - Omni TV and epilogue cutscenes for the Amiga and  Macintosh versions'
+    notes: '- Requires ScummVM 1.8.0'
+-
+    category: addons
+    game_id: queen
+    category_icon: mp3
+    link: '/frs/extras/Flight of the Amazon Queen/FOTAQ_Talkie-1.1.zip'
+    name: 'Flight of the Amazon Queen, Freeware CD Version (mp3 compressed sfx/speech)'
+    notes: '- Requires ScummVM 0.10.0'
+-
+    category: addons
+    game_id: prince
+    category_icon: prince
+    link: '/frs/extras/The Prince and the Coward/prince_translation.dat'
+    name: 'The Prince and the Coward - Translations data file to play with English text'
+    notes: '- Requires ScummVM 2.2.0'
diff --git a/data/en/games.xml b/data/en/games.xml
deleted file mode 100644
index 139c688c..00000000
--- a/data/en/games.xml
+++ /dev/null
@@ -1,449 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<downloads xmlns:h="http://www.w3.org/TR/html4/">
-	<section>
-		<title>
-			{#gamesXMLTitle#} <h:span style="color: rgb(170, 170, 170);">{'/\x7brelease\x7d/'|preg_replace:$release:#downloadsXMLVersion#}</h:span>
-		</title>
-		<subsection>
-			<title>Beneath a Steel Sky</title>
-			<anchor>sky</anchor>
-			<entries>
-				<file>
-					<category_icon>sky</category_icon>
-					<url type="extras">Beneath a Steel Sky/bass-cd-1.2.zip</url>
-					<name>Beneath a Steel Sky, Freeware CD Version</name>
-				</file>
-				<file>
-					<category_icon>sky</category_icon>
-					<url type="extras">Beneath a Steel Sky/BASS-Floppy-1.3.zip</url>
-					<name>Beneath a Steel Sky, Freeware Floppy Version</name>
-				</file>
-			</entries>
-		</subsection>
-
-		<subsection>
-			<title>Broken Sword 2.5</title>
-			<anchor>sword25</anchor>
-			<entries>
-				<file>
-					<category_icon>sword</category_icon>
-					<url type="extras">Broken Sword 2.5/sword25-v1.0.zip</url>
-					<name>Broken Sword 2.5, Freeware Version</name>
-				</file>
-			</entries>
-		</subsection>
-
-		<subsection>
-			<title>Drascula: The Vampire Strikes Back</title>
-			<anchor>drascula</anchor>
-			<entries>
-				<file>
-					<category_icon>drascula</category_icon>
-					<url type="extras">Drascula_ The Vampire Strikes Back/drascula-1.0.zip</url>
-					<name>Drascula: The Vampire Strikes Back, Freeware Version (English)</name>
-				</file>
-				<file>
-					<category_icon>mp3</category_icon>
-					<url type="extras">Drascula_ The Vampire Strikes Back/drascula-audio-mp3-2.0.zip</url>
-					<name>Drascula: The Vampire Strikes Back, Freeware Version (Music AddOn, MP3 format)</name>
-				</file>
-				<file>
-					<category_icon>flac</category_icon>
-					<url type="extras">Drascula_ The Vampire Strikes Back/drascula-audio-flac-2.0.zip</url>
-					<name>Drascula: The Vampire Strikes Back, Freeware Version (Music AddOn, FLAC format)</name>
-				</file>
-				<file>
-					<category_icon>ogg</category_icon>
-					<url type="extras">Drascula_ The Vampire Strikes Back/drascula-audio-2.0.zip</url>
-					<name>Drascula: The Vampire Strikes Back, Freeware Version (Music AddOn, OGG format)</name>
-				</file>
-				<file>
-					<category_icon>drascula</category_icon>
-					<url type="extras">Drascula_ The Vampire Strikes Back/drascula-int-1.0.zip</url>
-					<name>Drascula: The Vampire Strikes Back, Freeware Version (Spanish, German, French and Italian AddOn)</name>
-				</file>
-				<file>
-					<category_icon>drascula</category_icon>
-					<url type="extras">Drascula_ The Vampire Strikes Back/drascula-int-1.1.zip</url>
-					<name>Drascula: The Vampire Strikes Back, Freeware Version (Updated Spanish, German, French and Italian AddOn) - requires ScummVM 1.3.0 or more</name>
-				</file>
-			</entries>
-		</subsection>
-
-		<subsection>
-			<title>Dreamweb</title>
-			<anchor>dreamweb</anchor>
-			<entries>
-				<file>
-					<category_icon>dreamweb</category_icon>
-					<url type="extras">Dreamweb/dreamweb-uk-1.1.zip</url>
-					<name>Dreamweb, Freeware Floppy DOS Version (English UK)</name>
-				</file>
-				<file>
-					<category_icon>dreamweb</category_icon>
-					<url type="extras">Dreamweb/dreamweb-cd-uk-1.1.zip</url>
-					<name>Dreamweb, Freeware CD DOS Version (English UK)</name>
-				</file>
-				<file>
-					<category_icon>dreamweb</category_icon>
-					<url type="extras">Dreamweb/dreamweb-cd-us-1.1.zip</url>
-					<name>Dreamweb, Freeware CD DOS Version (English US)</name>
-				</file>
-				<file>
-					<category_icon>dreamweb</category_icon>
-					<url type="extras">Dreamweb/dreamweb-cd-fr-1.1.zip</url>
-					<name>Dreamweb, Freeware CD DOS Version (French)</name>
-				</file>
-				<file>
-					<category_icon>dreamweb</category_icon>
-					<url type="extras">Dreamweb/dreamweb-cd-de-1.1.zip</url>
-					<name>Dreamweb, Freeware CD DOS Version (German)</name>
-				</file>
-				<file>
-					<category_icon>dreamweb</category_icon>
-					<url type="extras">Dreamweb/dreamweb-cd-it-1.1.zip</url>
-					<name>Dreamweb, Freeware CD DOS Version (Italian)</name>
-				</file>
-				<file>
-					<category_icon>dreamweb</category_icon>
-					<url type="extras">Dreamweb/dreamweb-cd-es-1.1.zip</url>
-					<name>Dreamweb, Freeware CD DOS Version (Spanish)</name>
-				</file>
-				<file>
-					<category_icon>dreamweb</category_icon>
-					<url type="extras">Dreamweb/dreamweb-manuals-en-highres.zip</url>
-					<name>Dreamweb, Manuals (English High Resolution)</name>
-				</file>
-				<file>
-					<category_icon>dreamweb</category_icon>
-					<url type="extras">Dreamweb/dreamweb-manuals-en-lores.zip</url>
-					<name>Dreamweb, Manuals (English Low Resolution)</name>
-				</file>
-			</entries>
-		</subsection>
-
-		<subsection>
-			<title>Flight of the Amazon Queen</title>
-			<anchor>queen</anchor>
-			<entries>
-				<file>
-					<category_icon>mp3</category_icon>
-					<url type="extras">Flight of the Amazon Queen/FOTAQ_Talkie-1.1.zip</url>
-					<name>Flight of the Amazon Queen, Freeware CD Version (mp3 compressed sfx/speech)</name>
-				</file>
-				<file>
-					<category_icon>queen</category_icon>
-					<url type="extras">http://www.lysator.liu.se/~zino/scummvm/queen/</url>
-					<name>Flight of the Amazon Queen, Freeware CD Version (unmodified original)</name>
-					<extra_info>(87M) download this version if your ScummVM doesn't have mp3 support</extra_info>
-				</file>
-				<file>
-					<category_icon>queen</category_icon>
-					<url type="extras">Flight of the Amazon Queen/FOTAQ_Fr_Talkie_1.0.zip</url>
-					<name>Flight of the Amazon Queen, Freeware CD Version (<h:i>French</h:i> voices and subtitles, ogg compressed sfx/speech)</name>
-				</file>
-				<file>
-					<category_icon>queen</category_icon>
-					<url type="extras">Flight of the Amazon Queen/FOTAQ_Ger_talkie-1.0.zip</url>
-					<name>Flight of the Amazon Queen, Freeware CD Version (<h:i>German</h:i> voices and subtitles, ogg compressed sfx/speech)</name>
-				</file>
-				<file>
-					<category_icon>queen</category_icon>
-					<url type="extras">Flight of the Amazon Queen/FOTAQ_Heb_talkie.zip</url>
-					<name>Flight of the Amazon Queen, Freeware CD Version (<h:i>Hebrew</h:i> subtitles, English voices, ogg compressed sfx/speech)</name>
-				</file>
-				<file>
-					<category_icon>queen</category_icon>
-					<url type="extras">Flight of the Amazon Queen/FOTAQ_It_Talkie_1.0.zip</url>
-					<name>Flight of the Amazon Queen, Freeware CD Version (<h:i>Italian</h:i> subtitles, English voices, ogg compressed sfx/speech)</name>
-				</file>
-				<file>
-					<category_icon>queen</category_icon>
-					<url type="extras">Flight of the Amazon Queen/FOTAQ_Floppy.zip</url>
-					<name>Flight of the Amazon Queen, Freeware Floppy Version</name>
-				</file>
-				<file>
-					<category_icon>queen</category_icon>
-					<url type="extras">Flight of the Amazon Queen/FOTAQ_Fr_Floppy.zip</url>
-					<name>Flight of the Amazon Queen, Freeware Floppy Version (<h:i>French</h:i>)</name>
-				</file>
-			</entries>
-		</subsection>
-
-		<subsection>
-			<title>The Griffon Legend</title>
-			<anchor>griffon</anchor>
-			<entries>
-				<file>
-					<category_icon>griffon</category_icon>
-					<url type="extras">Griffon Legend/griffon-1.0.zip</url>
-					<name>The Griffon Legend, Freeware Version</name>
-				</file>
-			</entries>
-		</subsection>
-
-		<subsection>
-			<title>Lure of the Temptress</title>
-			<anchor>lure</anchor>
-			<entries>
-				<file>
-					<category_icon>lure</category_icon>
-					<url type="extras">Lure of the Temptress/lure-1.1.zip</url>
-					<name>Lure of the Temptress, Freeware Version (English)</name>
-				</file>
-				<file>
-					<category_icon>lure</category_icon>
-					<url type="extras">Lure of the Temptress/lure-fr-1.1.zip</url>
-					<name>Lure of the Temptress, Freeware Version (French)</name>
-				</file>
-				<file>
-					<category_icon>lure</category_icon>
-					<url type="extras">Lure of the Temptress/lure-de-1.1.zip</url>
-					<name>Lure of the Temptress, Freeware Version (German)</name>
-				</file>
-				<file>
-					<category_icon>lure</category_icon>
-					<url type="extras">Lure of the Temptress/lure-it-1.1.zip</url>
-					<name>Lure of the Temptress, Freeware Version (Italian)</name>
-				</file>
-				<file>
-					<category_icon>lure</category_icon>
-					<url type="extras">Lure of the Temptress/lure-es-1.1.zip</url>
-					<name>Lure of the Temptress, Freeware Version (Spanish)</name>
-				</file>
-			</entries>
-		</subsection>
-
-		<subsection>
-			<title>Mystery House</title>
-			<anchor>mysthous</anchor>
-			<entries>
-				<file>
-					<category_icon>mysthous</category_icon>
-					<url type="extras">Mystery House/MYSTHOUS.zip</url>
-					<name>Mystery House, public domain version (Apple II)</name>
-				</file>
-			</entries>
-		</subsection>
-
-		<subsection>
-			<title>Sfinx</title>
-			<anchor>sfinx</anchor>
-			<entries>
-				<file>
-					<category_icon>sfinx</category_icon>
-					<url type="extras">Sfinx/sfinx-en-v1.1.zip</url>
-					<name>Sfinx, Freeware Version (English, v1.1)</name>
-				</file>
-				<file>
-					<category_icon>sfinx</category_icon>
-					<url type="extras">Sfinx/sfinx-pl-v1.1.zip</url>
-					<name>Sfinx, Freeware Version (Polish, v1.1)</name>
-				</file>
-			</entries>
-		</subsection>
-
-		<subsection>
-			<title>Soltys</title>
-			<anchor>soltys</anchor>
-			<entries>
-				<file>
-					<category_icon>soltys</category_icon>
-					<url type="extras">Soltys/soltys-en-v1.0.zip</url>
-					<name>Soltys, Freeware Version (English)</name>
-				</file>
-				<file>
-					<category_icon>soltys</category_icon>
-					<url type="extras">Soltys/soltys-pl-v1.0.zip</url>
-					<name>Soltys, Freeware Version (Polish)</name>
-				</file>
-				<file>
-					<category_icon>soltys</category_icon>
-					<url type="extras">Soltys/soltys-es-v1.0.zip</url>
-					<name>Soltys, Freeware Version (Spanish)</name>
-				</file>
-			</entries>
-		</subsection>
-	</section>
-
-	<section>
-		<title>
-			{#gamesXMLAddons#} <h:span style="color: rgb(170, 170, 170);">{'/\x7brelease\x7d/'|preg_replace:$release:#downloadsXMLVersion#}</h:span>
-		</title>
-		<baseurl>/frs/extras/</baseurl>
-		<subsection>
-			<title>Blade Runner</title>
-			<anchor>bladerunner</anchor>
-			<entries>
-				<file>
-					<category_icon>bladerunner</category_icon>
-					<url type="extras">Blade Runner/Blade_Runner_Subtitles-v6.zip</url>
-					<name>Blade Runner Subtitles (English, French, Spanish Subtitles AddOn)</name>
-					<extra_msg>- Requires ScummVM 2.1.0</extra_msg>
-				</file>
-			</entries>
-		</subsection>
-
-		<subsection>
-			<title>Broken Sword</title>
-			<anchor>sword1</anchor>
-			<notes>
-				{#sword1AddonsNote#}
-			</notes>
-			<entries>
-				<file>
-					<category_icon>flac</category_icon>
-					<url type="extras">Broken Sword I and II/Sword1_DXA_Cutscenes.zip</url>
-					<name>Broken Sword Cutscene Pack (English, DXA compression)</name>
-					<extra_msg>- Requires ScummVM 0.10.0</extra_msg>
-				</file>
-				<file>
-					<category_icon>ogg</category_icon>
-					<url type="extras">http://downloads.scummbr.com/Sword1_Cutscenes_BRA_Complete.zip</url>
-					<name>Broken Sword Cutscene Pack (Brazilian)</name>
-					<extra_info>(38M) This is an offsite package with both Brazillian videos and audio</extra_info>
-				</file>
-				<file>
-					<category_icon>sword</category_icon>
-					<url type="extras">Broken Sword I and II/Sword1_Cutscenes_Subtitles-1.0.zip</url>
-					<name>Broken Sword Cutscene Pack (all languages, Subtitles AddOn)</name>
-					<extra_msg>Cutscene subtitles pack. All languages</extra_msg>
-				</file>
-				<file>
-					<category_icon>sword</category_icon>
-					<url type="extras">Broken Sword I and II/Sword1_Cutscenes_Subtitles-1.1.zip</url>
-					<name>Broken Sword Cutscene Pack (all languages, Updated Subtitles AddOn) - requires ScummVM 1.5.0 or more</name>
-					<extra_msg>Cutscene subtitles pack. All languages</extra_msg>
-				</file>
-				<file>
-					<category_icon>flac</category_icon>
-					<url type="extras">Broken Sword I and II/Sword1_Cutscenes_DXA_FRE_AddOn.zip</url>
-					<name>Broken Sword Cutscene Pack (French AddOn)</name>
-					<extra_msg>Overwrite files in English Pack with files from this archive</extra_msg>
-				</file>
-				<file>
-					<category_icon>flac</category_icon>
-					<url type="extras">Broken Sword I and II/Sword1_Cutscenes_DXA_GER_AddOn.zip</url>
-					<name>Broken Sword Cutscene Pack (German AddOn)</name>
-					<extra_msg>Overwrite files in English Pack with files from this archive</extra_msg>
-				</file>
-				<file>
-					<category_icon>flac</category_icon>
-					<url type="extras">Broken Sword I and II/Sword1_Cutscenes_DXA_ITA_AddOn.zip</url>
-					<name>Broken Sword Cutscene Pack (Italian AddOn)</name>
-					<extra_msg>Overwrite files in English Pack with files from this archive</extra_msg>
-				</file>
-				<file>
-					<category_icon>flac</category_icon>
-					<url type="extras">Broken Sword I and II/Sword1_Cutscenes_DXA_ESP_AddOn.zip</url>
-					<name>Broken Sword Cutscene Pack (Spanish AddOn)</name>
-					<extra_msg>Overwrite files in English Pack with files from this archive</extra_msg>
-				</file>
-				<file>
-					<category_icon>flac</category_icon>
-					<url type="extras">Broken Sword I and II/Sword1_Demo_Cutscenes.zip</url>
-					<name>Broken Sword Demo Cutscene Pack</name>
-					<extra_msg>- Requires ScummVM 0.10.0</extra_msg>
-				</file>
-				<file>
-					<category_icon>ogg</category_icon>
-					<url type="extras">Broken Sword I and II/Sword1_OGG_Cutscenes.zip</url>
-					<name>Broken Sword Cutscene Pack (English OGG AddOn)</name>
-					<extra_msg>Alternative English audio pack, for ports without FLAC support</extra_msg>
-				</file>
-				<file>
-					<category_icon>ogg</category_icon>
-					<url type="extras">Broken Sword I and II/Sword1_Cutscenes_FRE_AddOn.zip</url>
-					<name>Broken Sword Cutscene Pack (French OGG AddOn)</name>
-					<extra_msg>Alternative French audio pack, for ports without FLAC support</extra_msg>
-				</file>
-				<file>
-					<category_icon>ogg</category_icon>
-					<url type="extras">Broken Sword I and II/Sword1_Cutscenes_GER_AddOn.zip</url>
-					<name>Broken Sword Cutscene Pack (German OGG AddOn)</name>
-					<extra_msg>Alternative German audio pack, for ports without FLAC support</extra_msg>
-				</file>
-				<file>
-					<category_icon>ogg</category_icon>
-					<url type="extras">Broken Sword I and II/Sword1_Cutscenes_ITA_AddOn.zip</url>
-					<name>Broken Sword Cutscene Pack (Italian OGG AddOn)</name>
-					<extra_msg>Alternative Italian audio pack, for ports without FLAC support</extra_msg>
-				</file>
-				<file>
-					<category_icon>ogg</category_icon>
-					<url type="extras">Broken Sword I and II/Sword1_Cutscenes_ESP_AddOn.zip</url>
-					<name>Broken Sword Cutscene Pack (Spanish OGG AddOn)</name>
-					<extra_msg>Alternative Spanish audio pack, for ports without FLAC support</extra_msg>
-				</file>
-			</entries>
-		</subsection>
-
-		<subsection>
-			<title>Broken Sword II</title>
-			<anchor>sword2</anchor>
-			<notes>
-				{#sword2AddonsNote#}
-			</notes>
-			<entries>
-				<file>
-					<category_icon>flac</category_icon>
-					<url type="extras">Broken Sword I and II/Sword2_DXA_Cutscenes.zip</url>
-					<name>Broken Sword II Cutscene Pack (all languages, DXA compression)</name>
-					<extra_msg>- Requires ScummVM 0.10.0</extra_msg>
-				</file>
-				<file>
-					<category_icon>ogg</category_icon>
-					<url type="extras">Broken Sword I and II/Sword2_OGG_Cutscenes.zip</url>
-					<name>Broken Sword II Cutscene Pack (all languages, OGG AddOn)</name>
-					<extra_msg>Alternative audio pack, for ports without FLAC support</extra_msg>
-				</file>
-				<file>
-					<category_icon>flac</category_icon>
-					<url type="extras">Broken Sword I and II/Sword2_Demo_Cutscenes.zip</url>
-					<name>Broken Sword II Demo Cutscene Pack</name>
-					<extra_msg>- Requires ScummVM 0.10.0</extra_msg>
-				</file>
-			</entries>
-		</subsection>
-
-		<subsection>
-			<title>Elvira 2</title>
-			<anchor>elvira2</anchor>
-			<entries>
-				<file>
-					<category_icon>flac</category_icon>
-					<url type="extras">Elvira 2/elvira2_pc_sfx.zip</url>
-					<name>Elvira 2 - Digital samples for sound effects in the PC version</name>
-					<extra_msg>- Requires ScummVM 1.8.0</extra_msg>
-				</file>
-			</entries>
-		</subsection>
-
-		<subsection>
-			<title>The Feeble Files</title>
-			<anchor>feeble</anchor>
-			<entries>
-				<file>
-					<category_icon>flac</category_icon>
-					<url type="extras">The Feeble Files/Feeble_OmniTV_Cutscenes.zip</url>
-					<name>The Feeble Files - Omni TV and epilogue cutscenes for the Amiga and Macintosh versions</name>
-					<extra_msg>- Requires ScummVM 0.10.0</extra_msg>
-				</file>
-			</entries>
-		</subsection>
-
-		<subsection>
-			<title>The Prince and the Coward</title>
-			<anchor>prince</anchor>
-			<entries>
-				<file>
-					<category_icon>prince</category_icon>
-					<url type="extras">The Prince and the Coward/prince_translation.dat</url>
-					<name>The Prince and the Coward - Translations data file to play with English text</name>
-					<extra_msg>- Requires ScummVM 2.2.0</extra_msg>
-				</file>
-			</entries>
-		</subsection>
-
-	</section>
-</downloads>
diff --git a/include/DataUtils.php b/include/DataUtils.php
index 84bb749e..628bfbb7 100644
--- a/include/DataUtils.php
+++ b/include/DataUtils.php
@@ -26,7 +26,9 @@ class DataUtils
         'versions' => '1225902887',
         'game_demos' => '713475305',
         'series' => '1095671818',
-        'screenshots' => '1985243204'
+        'screenshots' => '1985243204',
+        'downloads' => '373699606',
+        'game_resources' => '1287892109',
     ];
 
 
@@ -49,6 +51,19 @@ class DataUtils
             // and cannot be converted directly to yaml
             $json = \json_encode($records);
             $data = \json_decode($json, true);
+
+            // Convert TRUE/FALSE strings to Booleans
+            foreach ($data as $objKey => $obj) {
+                foreach ($obj as $key => $val) {
+                    if ($val === 'TRUE') {
+                        $data[$objKey][$key] = true;
+                    } elseif ($val === 'FALSE') {
+                        $data[$objKey][$key] = false;
+                    }
+                }
+            }
+
+            // Convert to YAML
             $yaml = Yaml::dump($data);
             $yaml = "# This is a generated file, please do not edit manually\n" . $yaml;
             $outFile = DIR_DATA . "/" . DEFAULT_LOCALE . "/$name.yaml";


Commit: f34caa9203b6084ea818bd23c5330255ddf165cf
    https://github.com/scummvm/scummvm-web/commit/f34caa9203b6084ea818bd23c5330255ddf165cf
Author: Mataniko (mataniko at gmail.com)
Date: 2020-11-24T14:51:10-05:00

Commit Message:
WEB: add a "release" modifier

Changed paths:
    include/Controller.php


diff --git a/include/Controller.php b/include/Controller.php
index 4a48977f..ab0d901a 100644
--- a/include/Controller.php
+++ b/include/Controller.php
@@ -55,6 +55,7 @@ class Controller
         $this->smarty->registerPlugin('modifier', 'date_localized', array(&$this, 'dateLocalizedSmartyModifier'));
         $this->smarty->registerPlugin('modifier', 'lang', array(&$this, 'langModifier'));
         $this->smarty->registerPlugin('modifier', 'download', array(&$this, 'downloadsSmartyModifier'));
+        $this->smarty->registerPlugin('modifier', 'release', array(&$this, 'releaseSmartyModifier'));
 
         $this->css_files = array();
         $this->js_files = array();
@@ -145,16 +146,26 @@ class Controller
     public function downloadsSmartyModifier($path)
     {
         if (\strpos($path, "http") === 0) {
-          return $path;
+            return $path;
         } elseif (\strpos($path, "/frs") === 0) {
-          return DOWNLOADS_BASE . $path;
+            return DOWNLOADS_BASE . $path;
         } elseif (\strpos($path, "frs") === 0) {
-          return DOWLOADS_BASE . "/$path";
+            return DOWNLOADS_BASE . "/$path";
         }
 
         return $path;
     }
 
+    /**
+     * Formating of version, registered as a modifier for Smarty templates.
+     */
+    public function releaseSmartyModifier($string)
+    {
+        $string = preg_replace("/\{release\}/", RELEASE, $string);
+        $string = preg_replace("/\{release_tools\}/", RELEASE_TOOLS, $string);
+        return $string;
+    }
+
     /* Render the HTML using the template and any set variables and displays it. */
     public function display($content)
     {


Commit: 8b036bed3f7ea0c6eff6e8d046e61c3f7f28a994
    https://github.com/scummvm/scummvm-web/commit/8b036bed3f7ea0c6eff6e8d046e61c3f7f28a994
Author: Mataniko (mataniko at gmail.com)
Date: 2020-11-24T14:51:10-05:00

Commit Message:
WEB: Update downloads page to use the new data model

Changed paths:
    include/Models/DownloadsModel.php
    include/Objects/DownloadsSection.php
    include/Pages/DownloadsPage.php
    templates/pages/downloads.tpl


diff --git a/include/Models/DownloadsModel.php b/include/Models/DownloadsModel.php
index 0f16cfcf..fefa32be 100644
--- a/include/Models/DownloadsModel.php
+++ b/include/Models/DownloadsModel.php
@@ -1,8 +1,9 @@
 <?php
+
 namespace ScummVM\Models;
 
 use ScummVM\Objects\DownloadsSection;
-use ScummVM\XMLParser;
+use Symfony\Component\Yaml\Yaml;
 use DeviceDetector\Parser\OperatingSystem as OsParser;
 
 /**
@@ -15,53 +16,65 @@ class DownloadsModel extends BasicModel
     {
         $sections = $this->getFromCache();
         if (is_null($sections)) {
-            $fname = $this->getLocalizedFile('downloads.xml');
-            /* Now parse the data. */
-            $parser = new XMLParser();
-            $parsedData = $parser->parseByFilename($fname);
-            $sections = array();
-            foreach (array_values($parsedData['downloads']['section']) as $value) {
-                $sections[] = new DownloadsSection($value);
-            }
-            $this->saveToCache($sections);
-        }
-        return $sections;
-    }
+            $fname = $this->getLocalizedFile('downloads.yaml');
+            $parsedData = @Yaml::parseFile($fname);
+            // error check yaml
 
-    /* Get all sections and their anchors. */
-    public function getAllSections()
-    {
-        /* Get the list with all downloads/sections. */
-        $downloads = $this->getAllDownloads();
-        $sections = array();
-        foreach ($downloads as $dsection) {
-            if ($dsection->getAnchor() != '' && $dsection->getTitle() != '') {
-                $sections[] = array(
-                    'title' => $dsection->getTitle(),
-                    'anchor' => $dsection->getAnchor(),
-                );
-            }
-            foreach ($dsection->getSubSections() as $dsubsection) {
-                $title = $dsubsection->getTitle();
-                /**
-                 * If there is no title for this subsection, use the section
-                 * title instead.
-                 */
-                if (empty($title)) {
-                    $title = $dsection->getTitle();
+            $sections = [];
+            $sectionsData = $this->getSectionData();
+            foreach ($parsedData as $data) {
+                if (!$data['enabled'] === TRUE) {
+                    continue;
+                }
+
+                // Create Sections
+                $category = $data['category'];
+                if (!isset($sections[$category])) {
+                    $sections[$category] = new DownloadsSection([
+                        'anchor' => $category,
+                        'title' => $sectionsData[$category]['title'],
+                        'notes' => $sectionsData[$category]['notes']
+                    ]);
                 }
-                $anchor = $dsubsection->getAnchor();
-                if (!empty($anchor)) {
-                    $sections[] = array(
-                        'title' => $title,
-                        'anchor' => $anchor,
-                    );
+
+                // Create Subsections
+                $subCategory = $data['subcategory'];
+                if (!isset($sections[$category]->getSubSections()[$subCategory])) {
+                    $sections[$category]->addSubsection(new DownloadsSection([
+                        'anchor' => $subCategory,
+                        'title' => $sectionsData[$subCategory]['title'],
+                        'notes' => $sectionsData[$subCategory]['notes']
+                    ]));
                 }
+
+                // Add Download to subsection
+                $sections[$category]->getSubsections()[$subCategory]->addItem($data);
             }
+            $this->saveToCache($sections);
         }
         return $sections;
     }
 
+    private function getSectionData() {
+        return [
+            "current"=>["title"=>"{#downloadsXMLTitle#} {#downloadsXMLVersion#}"],
+            "release"=>["title"=>"{#downloadsBinaries#}","notes"=>"{#downloadsBinariesNote1#} <a href='https://downloads.scummvm.org/frs/scummvm/{ldelim}release{rdelim}/ReleaseNotes.html'>{#downloadsBinariesNote2#}</a>.<p>{#downloadsBinariesNote3#}</p>"],
+            "source"=>["title"=>"{#downloadsSourceCode#}"],
+            "tools"=>["title"=>"{#downloadsTools#}"],
+            "legacy"=>["title"=>"{#downloadsOldBinaries#}"],
+            "old"=>["title"=>"{#downloadsOld#}","notes"=>"{#downloadsOldBinariesNote#} {#downloadsOldBinariesFrsNote1#} <a href='https://downloads.scummvm.org/frs/scummvm/'>{#downloadsOldBinariesFrsNote2#}</a> {#downloadsOldBinariesFrsNote3#}"],
+            "extras"=>["title"=>"{#downloadsExtra#}"],
+            "games"=>["title"=>"{#downloadsGames#}"],
+            "engine"=>["title"=>"{#downloadEngineData#}"],
+            "subprojects"=>["title"=>"{#downloadsSubprojects#}"],
+            "daily"=>["title"=>"{#downloadsDailyBuilds#}"],
+            "daily_downloads"=>["title"=>"{#downloadsDailyBuilds#}","notes"=>"<strong>{#downloadsDailyNote1#}</strong> {#downloadsDailyNote2#}<p>{#downloadsDailyLink1#}{#downloadsDailyLink2#}</p><p>View the ChangeLog to see the latest updates of ScummVM.</p><p>{#downloadsDailyLink3#}</p>"],
+            "libs"=>["title"=>"{#downloadsLibraries#}"],
+            "required"=>["title"=>"{#downloadsRequiredLibraries#}"],
+            "optional"=>["title"=>"{#downloadsOptionalLibraries#}"]
+          ];
+    }
+
     /* Get the recommended download */
     public function getRecommendedDownload()
     {
@@ -75,11 +88,11 @@ class DownloadsModel extends BasicModel
         $osParser->setUserAgent($_SERVER['HTTP_USER_AGENT']);
         $os = $osParser->parse();
 
-        foreach ($downloads as $dsection) {
-            foreach ($dsection->getSubSections() as $dsubsection) {
+        foreach ($downloads as $section) {
+            foreach ($section->getSubSections() as $subsection) {
                 $version = array_values(
                     array_filter(
-                        $dsubsection->getItems(),
+                        $subsection->getItems(),
                         function ($item) use ($os) {
                             if ($item->getUserAgent() != "") {
                                 $ua = preg_quote($item->getUserAgent(), '/');
@@ -121,12 +134,12 @@ class DownloadsModel extends BasicModel
                         $extra_text = '(snap install scummvm)';
                     }
 
-                    return array(
-                    'os' => $name,
-                    'ver' => $version,
-                    'desc' => $extra_text,
-                    'url' => $url,
-                    );
+                    return [
+                        'os' => $name,
+                        'ver' => $version,
+                        'desc' => $extra_text,
+                        'url' => $url,
+                    ];
                 }
             }
         }
diff --git a/include/Objects/DownloadsSection.php b/include/Objects/DownloadsSection.php
index d047a174..2948b1ab 100644
--- a/include/Objects/DownloadsSection.php
+++ b/include/Objects/DownloadsSection.php
@@ -7,35 +7,29 @@ namespace ScummVM\Objects;
 class DownloadsSection extends BasicSection
 {
     private $notes;
-    private $footer;
-    private $files;
-    private $links;
     private $items;
-    private $baseUrl;
+    private $id;
 
+    /**
+     * __construct
+     *
+     * @param  mixed $data [id, notes, anchor, title]
+     * @return void
+     */
     public function __construct($data)
     {
         parent::__construct($data);
         $this->notes = $data['notes'];
-        $this->items = array();
+        $this->items = [];
 
-        if (isset($data['baseurl'])) {
-            $this->baseUrl = $data['baseurl'];
-        }
+    }
 
-        if (isset($data['entries'])) {
-            foreach ($data['entries'] as $type => $item) {
-                parent::toArray($item);
-                if ($type == 'file') {
-                    foreach ($item as $file) {
-                        $this->items[] = new File($file, $this->baseUrl);
-                    }
-                } elseif ($type == 'link') {
-                    foreach ($item as $link) {
-                        $this->items[] = new WebLink($link);
-                    }
-                }
-            }
+    public function addItem($item)
+    {
+        if ($item['category_icon']) {
+            $this->items[] = new File($item, '');
+        } else {
+            $this->items[] = new WebLink($item);
         }
     }
 
@@ -50,4 +44,14 @@ class DownloadsSection extends BasicSection
     {
         return $this->items;
     }
+
+    public function getId()
+    {
+        return $this->id;
+    }
+
+    public function addSubsection($section)
+    {
+        $this->subsections[$section->getAnchor()] = $section;
+    }
 }
diff --git a/include/Pages/DownloadsPage.php b/include/Pages/DownloadsPage.php
index 4cf985fe..93bf1437 100644
--- a/include/Pages/DownloadsPage.php
+++ b/include/Pages/DownloadsPage.php
@@ -19,16 +19,12 @@ class DownloadsPage extends Controller
     public function index()
     {
         $downloads = $this->downloadsModel->getAllDownloads();
-        $sections = $this->downloadsModel->getAllSections();
         $recommendedDownload = $this->downloadsModel->getRecommendedDownload();
         return $this->renderPage(
             array(
                 'title' => $this->getConfigVars('downloadsTitle'),
                 'content_title' => $this->getConfigVars('downloadsContentTitle'),
                 'downloads' => $downloads,
-                'sections' => $sections,
-                'release_tools' => RELEASE_TOOLS,
-                'release' => RELEASE,
                 'recommendedDownload' => $recommendedDownload
             )
         );
diff --git a/templates/pages/downloads.tpl b/templates/pages/downloads.tpl
index 544a198c..0f873fdd 100644
--- a/templates/pages/downloads.tpl
+++ b/templates/pages/downloads.tpl
@@ -3,15 +3,26 @@
         <div class="navigation col-1-2 col-md-1">
             <h4 class="subhead">{#downloadsHeader#}</h4>
             <ul>
-                {foreach from=$sections item=arr}
-                    <li><a href="{'/downloads/'|lang}#{$arr.anchor}">{eval var=$arr.title}</a></li>
+                {foreach from=$downloads item=section}
+                    <li>
+                        <a href="{'/downloads/'|lang}#{$section->getAnchor()}">{{eval var=$section->getTitle()}|release}</a>
+                        {if $section->getSubSections() && $section->getSubSections()|@count > 1}
+                            <ul>
+                            {foreach from=$section->getSubSections() item=subsection}
+                                <li>
+                                    <a href="{'/downloads/'|lang}#{$subsection->getAnchor()}">{{eval var=$subsection->getTitle()}|release}</a>
+                                </li>
+                            {/foreach}
+                            </ul>
+                        {/if}
+                    </li>
                 {/foreach}
             </ul>
         </div>
         <div class="text col-1-2 col-md-1">
-            <p>{'/\x7brelease\x7d/'|preg_replace:$release:#downloadsContentP1#}</p>
+            <p>{#downloadsContentP1#|release}</p>
             <ul>
-                <li>{'/\x7brelease\x7d/'|preg_replace:$release:#downloadsContentP2#}</li>
+                <li>{#downloadsContentP2#|release}</li>
                 <li>{#downloadsContentP3#}</li>
                 <li>{#downloadsContentP4#}</li>
             </ul>
@@ -19,41 +30,33 @@
     </div>
 {/capture}
 
-{foreach from=$downloads item=dsection name=downloads_loop}
+{capture "release"}
+    {include file="components/recommended_download.tpl" recommendedDownload=$recommendedDownload}
+{/capture}
 
-{capture "content"}
-{if $smarty.foreach.downloads_loop.first}
-{include
-file="components/recommended_download.tpl"
-recommendedDownload=$recommendedDownload
-}
-{/if}
+{include file="components/box.tpl" head={#downloadsXMLTitle#} intro=$smarty.capture.intro id="release" content=$smarty.capture.release}
 
-{foreach from=$dsection->getSubSections() item=dsubsection}
-{if $dsubsection->getTitle() != ''}
-<div class="subhead" id="{if $dsubsection->getAnchor() != ''}{$dsubsection->getAnchor()}{/if}">{eval var=$dsubsection->getTitle()}</div>
-{/if}
+{* sections *}
+{foreach from=$downloads item=section name=downloads_loop}
+    {capture "content"}
+        {foreach from=$section->getSubSections() item=subsection}
+            {if $subsection->getTitle()}
+            <div class="subhead" id="{if $subsection->getAnchor()}{$subsection->getAnchor()}{/if}">{{eval var=$subsection->getTitle()}|release}</div>
+            {/if}
 
-<div class="subhead-content">
-    {if $dsubsection->getNotes() != ''} {'/\x7brelease\x7d/'|preg_replace:$release:{eval var=$dsubsection->getNotes()}} {/if} {include file='components/list_items.tpl' list=$dsubsection->getItems() type='platforms'}
-</div>
-{/foreach}
-{/capture}
+            <div class="subhead-content">
+                {if $subsection->getNotes()}
+                    {{eval var=$subsection->getNotes()}|release}
+                {/if}
+                {include file='components/list_items.tpl' list=$subsection->getItems() type='platforms'}
+            </div>
+        {/foreach}
+    {/capture}
 
-{if $smarty.foreach.downloads_loop.first}
-{include
-file="components/box.tpl"
-head={eval var=$dsection->getTitle()}
-intro=$smarty.capture.intro
-id=$dsection->getAnchor()
-content=$smarty.capture.content
-}
-{else}
-{include
-file="components/box.tpl"
-head={eval var=$dsection->getTitle()}
-content=$smarty.capture.content
-id=$dsection->getAnchor()
-}
-{/if}
-{/foreach}
\ No newline at end of file
+    {include
+        file="components/box.tpl"
+        head={{eval var=$section->getTitle()}|release}
+        content=$smarty.capture.content
+        id=$section->getAnchor()
+    }
+{/foreach}


Commit: 2140190f1bed5701ecd7d5f1d97450ec920a961e
    https://github.com/scummvm/scummvm-web/commit/2140190f1bed5701ecd7d5f1d97450ec920a961e
Author: Mataniko (mataniko at gmail.com)
Date: 2020-11-24T14:51:10-05:00

Commit Message:
WEB: Update games page to use the new data model

Changed paths:
    include/Models/GameDownloadsModel.php
    include/Pages/GamesPage.php
    templates/pages/games.tpl


diff --git a/include/Models/GameDownloadsModel.php b/include/Models/GameDownloadsModel.php
index c61fd339..ff3a5a3a 100644
--- a/include/Models/GameDownloadsModel.php
+++ b/include/Models/GameDownloadsModel.php
@@ -2,62 +2,68 @@
 namespace ScummVM\Models;
 
 use ScummVM\Objects\DownloadsSection;
-use ScummVM\XMLParser;
+use Symfony\Component\Yaml\Yaml;
+use ScummVM\Models\GameModel;
 
 /**
  * The GameDownloadsModel will produce DownloadsSection objects.
  */
 class GameDownloadsModel extends BasicModel
 {
-    /* Get all download entries. */
-    public function getAllDownloads()
+    private $gameModel;
+
+    public function __construct()
     {
-        $fname = $this->getLocalizedFile('games.xml');
-        /* Now parse the data. */
-        $parser = new XMLParser();
-        $parsedData = $parser->parseByFilename($fname);
-        $sections = array();
-        foreach (array_values($parsedData['downloads']['section']) as $value) {
-            $sections[] = new DownloadsSection($value);
-        }
-        return $sections;
+        $this->gameModel = new GameModel();
     }
-
-    /* Get all sections and their anchors. */
-    public function getAllSections()
+    /* Get all download entries. */
+    public function getAllDownloads()
     {
         $sections = $this->getFromCache();
         if (is_null($sections)) {
-            /* Get the list with all downloads/sections. */
-            $downloads = $this->getAllDownloads();
-            $sections = array();
-            foreach ($downloads as $dsection) {
-                if ($dsection->getAnchor() != '' && $dsection->getTitle() != '') {
-                    $sections[] = array(
-                        'title' => $dsection->getTitle(),
-                        'anchor' => $dsection->getAnchor(),
-                    );
+            $fname = $this->getLocalizedFile('game_resources.yaml');
+            $parsedData = @Yaml::parseFile($fname);
+            // error check yaml
+
+            $sections = [];
+            $sectionsData = $this->getSectionData();
+            $games = $this->gameModel->getAllGames();
+            foreach ($parsedData as $data) {
+                // Create Sections
+                $category = $data['category'];
+                if (!isset($sections[$category])) {
+                    $sections[$category] = new DownloadsSection([
+                        'anchor' => $category,
+                        'title' => $sectionsData[$category]['title'],
+                        'notes' => $sectionsData[$category]['notes']
+                    ]);
                 }
-                foreach ($dsection->getSubSections() as $dsubsection) {
-                    $title = $dsubsection->getTitle();
-                    /**
-                     * If there is no title for this subsection, use the section
-                     * title instead.
-                     */
-                    if (empty($title)) {
-                        $title = $dsection->getTitle();
-                    }
-                    $anchor = $dsubsection->getAnchor();
-                    if (!empty($anchor)) {
-                        $sections[] = array(
-                            'title' => $title,
-                            'anchor' => $anchor,
-                        );
-                    }
+
+                // Create Subsections
+                $gameId = $data['game_id'];
+                if (!isset($sections[$category]->getSubSections()[$gameId])) {
+                    $sections[$category]->addSubsection(new DownloadsSection([
+                        'anchor' => $gameId,
+                        'title' => $games[$gameId]->getName(),
+                        'notes' => $sectionsData[$gameId]['notes']
+                    ]));
                 }
+
+                // Add Download to subsection
+                $data['name'] = $games[$gameId]->getName() . " - " . $data['name'];
+                $sections[$category]->getSubsections()[$gameId]->addItem($data);
             }
             $this->saveToCache($sections);
         }
         return $sections;
     }
+
+    private function getSectionData() {
+        return [
+            "games"=>["title"=>"{#gamesXMLTitle#} {#downloadsXMLVersion#}"],
+            "addons"=>["title"=>"{#gamesXMLAddons#} {#downloadsXMLVersion#}"],
+            "sword1"=>["notes"=>"{#sword1AddonsNote#}"],
+            "sword2"=>["notes"=>"{#sword2AddonsNote#}"],
+          ];
+    }
 }
diff --git a/include/Pages/GamesPage.php b/include/Pages/GamesPage.php
index b9355160..c9961f57 100644
--- a/include/Pages/GamesPage.php
+++ b/include/Pages/GamesPage.php
@@ -20,15 +20,11 @@ class GamesPage extends Controller
     public function index()
     {
         $downloads = $this->gameDownloadsModel->getAllDownloads();
-        $sections = $this->gameDownloadsModel->getAllSections();
         return $this->renderPage(
             array(
                 'title' => $this->getConfigVars('gamesTitle'),
                 'content_title' => $this->getConfigVars('gamesContentTitle'),
                 'downloads' => $downloads,
-                'sections' => $sections,
-                'release_tools' => RELEASE_TOOLS,
-                'release_debian' => RELEASE_DEBIAN,
             )
         );
     }
diff --git a/templates/pages/games.tpl b/templates/pages/games.tpl
index bf975c40..17a98378 100644
--- a/templates/pages/games.tpl
+++ b/templates/pages/games.tpl
@@ -3,8 +3,19 @@
         <div class="navigation col-1-2 col-md-1">
             <h4 class="subhead">{#gamesHeader#}</h4>
             <ul>
-                {foreach from=$sections item=arr}
-                    <li><a href="{'/games/'|lang}#{$arr.anchor}">{eval var=$arr.title}</a></li>
+                {foreach from=$downloads key=key item=section}
+                    <li>
+                        <a href="{'/games/'|lang}#{$section->getAnchor()}">{{eval var=$section->getTitle()}|release}</a>
+                        {if $section->getSubSections() && $section->getSubSections()|@count > 1}
+                            <ul>
+                            {foreach from=$section->getSubSections() item=subsection}
+                                <li>
+                                    <a href="{'/games/'|lang}#{$key}-{$subsection->getAnchor()}">{{eval var=$subsection->getTitle()}|release}</a>
+                                </li>
+                            {/foreach}
+                            </ul>
+                        {/if}
+                    </li>
                 {/foreach}
             </ul>
         </div>
@@ -17,12 +28,11 @@
     </div>
 {/capture}
 
-{foreach from=$downloads item=dsection name=downloads_loop}
-
+{foreach from=$downloads key=key item=dsection name=downloads_loop}
 {capture "content"}
 {foreach from=$dsection->getSubSections() item=dsubsection}
 {if $dsubsection->getTitle() != ''}
-<div class="subhead" id="{if $dsubsection->getAnchor() != ''}{$dsubsection->getAnchor()}{/if}">{eval var=$dsubsection->getTitle()}</div>
+<div class="subhead" id="{if $dsubsection->getAnchor() != ''}{$key}-{$dsubsection->getAnchor()}{/if}">{eval var=$dsubsection->getTitle()}</div>
 {/if}
 
 <div class="subhead-content">
@@ -38,7 +48,7 @@
 {if $smarty.foreach.downloads_loop.first}
 {include
 file="components/box.tpl"
-head={eval var=$dsection->getTitle()}
+head={{eval var=$dsection->getTitle()}|release}
 intro=$smarty.capture.intro
 id=$dsection->getAnchor()
 content=$smarty.capture.content
@@ -46,10 +56,10 @@ content=$smarty.capture.content
 {else}
 {include
 file="components/box.tpl"
-head={eval var=$dsection->getTitle()}
+head={{eval var=$dsection->getTitle()}|release}
 id=$dsection->getAnchor()
 content=$smarty.capture.content
 }
 {/if}
 
-{/foreach}
\ No newline at end of file
+{/foreach}


Commit: ebe03e04d66f8279536b6313589dfe4c2646146c
    https://github.com/scummvm/scummvm-web/commit/ebe03e04d66f8279536b6313589dfe4c2646146c
Author: Mataniko (mataniko at gmail.com)
Date: 2020-11-24T14:51:10-05:00

Commit Message:
DATA: Update downloads filenames

Changed paths:
  A data/en/game_downloads.yaml
  A data/en/scummvm_downloads.yaml
  R data/en/downloads.yaml
  R data/en/game_resources.yaml
    include/DataUtils.php
    include/Models/DownloadsModel.php
    include/Models/GameDownloadsModel.php


diff --git a/data/en/game_downloads.yaml b/data/en/game_downloads.yaml
new file mode 100644
index 00000000..ffef9308
--- /dev/null
+++ b/data/en/game_downloads.yaml
@@ -0,0 +1,414 @@
+# This is a generated file, please do not edit manually
+-
+    category: games
+    game_id: sky
+    category_icon: sky
+    url: '/frs/extras/Beneath a Steel Sky/bass-cd-1.2.zip'
+    name: 'Freeware CD Version'
+    notes: ''
+-
+    category: games
+    game_id: sky
+    category_icon: sky
+    url: '/frs/extras/Beneath a Steel Sky/BASS-Floppy-1.3.zip'
+    name: 'Freeware Floppy Version'
+    notes: ''
+-
+    category: games
+    game_id: sword25
+    category_icon: sword
+    url: '/frs/extras/Broken Sword 2.5/sword25-v1.0.zip'
+    name: 'Freeware Version'
+    notes: ''
+-
+    category: games
+    game_id: drascula
+    category_icon: drascula
+    url: '/frs/extras/Drascula_ The Vampire Strikes Back/drascula-1.0.zip'
+    name: 'Freeware Version (English)'
+    notes: ''
+-
+    category: games
+    game_id: drascula
+    category_icon: mp3
+    url: '/frs/extras/Drascula_ The Vampire Strikes Back/drascula-audio-mp3-2.0.zip'
+    name: 'Freeware Version (Music AddOn, MP3 format)'
+    notes: ''
+-
+    category: games
+    game_id: drascula
+    category_icon: flac
+    url: '/frs/extras/Drascula_ The Vampire Strikes Back/drascula-audio-flac-2.0.zip'
+    name: 'Freeware Version (Music AddOn, FLAC format)'
+    notes: ''
+-
+    category: games
+    game_id: drascula
+    category_icon: ogg
+    url: '/frs/extras/Drascula_ The Vampire Strikes Back/drascula-audio-2.0.zip'
+    name: 'Freeware Version (Music AddOn, OGG format)'
+    notes: ''
+-
+    category: games
+    game_id: drascula
+    category_icon: drascula
+    url: '/frs/extras/Drascula_ The Vampire Strikes Back/drascula-int-1.0.zip'
+    name: 'Freeware Version (Spanish, German, French and Italian AddOn)'
+    notes: ''
+-
+    category: games
+    game_id: drascula
+    category_icon: drascula
+    url: '/frs/extras/Drascula_ The Vampire Strikes Back/drascula-int-1.1.zip'
+    name: 'Freeware Version (Updated Spanish, German, French and Italian AddOn) - requires ScummVM 1.3.0 or more'
+    notes: ''
+-
+    category: games
+    game_id: dreamweb
+    category_icon: dreamweb
+    url: /frs/extras/Dreamweb/dreamweb-uk-1.1.zip
+    name: 'Freeware Floppy DOS Version (English UK)'
+    notes: ''
+-
+    category: games
+    game_id: dreamweb
+    category_icon: dreamweb
+    url: /frs/extras/Dreamweb/dreamweb-cd-uk-1.1.zip
+    name: 'Freeware CD DOS Version (English UK)'
+    notes: ''
+-
+    category: games
+    game_id: dreamweb
+    category_icon: dreamweb
+    url: /frs/extras/Dreamweb/dreamweb-cd-us-1.1.zip
+    name: 'Freeware CD DOS Version (English US)'
+    notes: ''
+-
+    category: games
+    game_id: dreamweb
+    category_icon: dreamweb
+    url: /frs/extras/Dreamweb/dreamweb-cd-fr-1.1.zip
+    name: 'Freeware CD DOS Version (French)'
+    notes: ''
+-
+    category: games
+    game_id: dreamweb
+    category_icon: dreamweb
+    url: /frs/extras/Dreamweb/dreamweb-cd-de-1.1.zip
+    name: 'Freeware CD DOS Version (German)'
+    notes: ''
+-
+    category: games
+    game_id: dreamweb
+    category_icon: dreamweb
+    url: /frs/extras/Dreamweb/dreamweb-cd-it-1.1.zip
+    name: 'Freeware CD DOS Version (Italian)'
+    notes: ''
+-
+    category: games
+    game_id: dreamweb
+    category_icon: dreamweb
+    url: /frs/extras/Dreamweb/dreamweb-cd-es-1.1.zip
+    name: 'Freeware CD DOS Version (Spanish)'
+    notes: ''
+-
+    category: games
+    game_id: dreamweb
+    category_icon: dreamweb
+    url: /frs/extras/Dreamweb/dreamweb-manuals-en-highres.zip
+    name: 'Manuals (English High Resolution)'
+    notes: ''
+-
+    category: games
+    game_id: dreamweb
+    category_icon: dreamweb
+    url: /frs/extras/Dreamweb/dreamweb-manuals-en-lores.zip
+    name: 'Manuals (English Low Resolution)'
+    notes: ''
+-
+    category: games
+    game_id: queen
+    category_icon: queen
+    url: '/frs/extras/http://www.lysator.liu.se/~zino/scummvm/queen/'
+    name: 'Freeware CD Version (unmodified original)'
+    notes: ''
+-
+    category: games
+    game_id: queen
+    category_icon: queen
+    url: '/frs/extras/Flight of the Amazon Queen/FOTAQ_Fr_Talkie_1.0.zip'
+    name: 'Freeware CD Version (French voices and subtitles, ogg compressed sfx/speech)'
+    notes: '(87M) download this version if your ScummVM doesn''t have mp3 support'
+-
+    category: games
+    game_id: queen
+    category_icon: queen
+    url: '/frs/extras/Flight of the Amazon Queen/FOTAQ_Ger_talkie-1.0.zip'
+    name: 'Freeware CD Version (German voices and subtitles, ogg compressed sfx/speech)'
+    notes: ''
+-
+    category: games
+    game_id: queen
+    category_icon: queen
+    url: '/frs/extras/Flight of the Amazon Queen/FOTAQ_Heb_talkie.zip'
+    name: 'Freeware CD Version (Hebrew subtitles, English voices, ogg compressed sfx/speech)'
+    notes: ''
+-
+    category: games
+    game_id: queen
+    category_icon: queen
+    url: '/frs/extras/Flight of the Amazon Queen/FOTAQ_It_Talkie_1.0.zip'
+    name: 'Freeware CD Version (Italian subtitles, English voices, ogg compressed sfx/speech)'
+    notes: ''
+-
+    category: games
+    game_id: queen
+    category_icon: queen
+    url: '/frs/extras/Flight of the Amazon Queen/FOTAQ_Floppy.zip'
+    name: 'Freeware Floppy Version'
+    notes: ''
+-
+    category: games
+    game_id: queen
+    category_icon: queen
+    url: '/frs/extras/Flight of the Amazon Queen/FOTAQ_Fr_Floppy.zip'
+    name: 'Freeware Floppy Version (French)'
+    notes: ''
+-
+    category: games
+    game_id: griffon
+    category_icon: griffon
+    url: '/frs/extras/Griffon Legend/griffon-1.0.zip'
+    name: 'Freeware Version'
+    notes: ''
+-
+    category: games
+    game_id: lure
+    category_icon: lure
+    url: '/frs/extras/Lure of the Temptress/lure-1.1.zip'
+    name: 'Freeware Version (English)'
+    notes: ''
+-
+    category: games
+    game_id: lure
+    category_icon: lure
+    url: '/frs/extras/Lure of the Temptress/lure-fr-1.1.zip'
+    name: 'Freeware Version (French)'
+    notes: ''
+-
+    category: games
+    game_id: lure
+    category_icon: lure
+    url: '/frs/extras/Lure of the Temptress/lure-de-1.1.zip'
+    name: 'Freeware Version (German)'
+    notes: ''
+-
+    category: games
+    game_id: lure
+    category_icon: lure
+    url: '/frs/extras/Lure of the Temptress/lure-it-1.1.zip'
+    name: 'Freeware Version (Italian)'
+    notes: ''
+-
+    category: games
+    game_id: lure
+    category_icon: lure
+    url: '/frs/extras/Lure of the Temptress/lure-es-1.1.zip'
+    name: 'Freeware Version (Spanish)'
+    notes: ''
+-
+    category: games
+    game_id: hires1
+    category_icon: mysthous
+    url: '/frs/extras/Mystery House/MYSTHOUS.zip'
+    name: 'public domain version (Apple II)'
+    notes: ''
+-
+    category: games
+    game_id: sfinx
+    category_icon: sfinx
+    url: /frs/extras/Sfinx/sfinx-en-v1.1.zip
+    name: 'Freeware Version (English, v1.1)'
+    notes: ''
+-
+    category: games
+    game_id: sfinx
+    category_icon: sfinx
+    url: /frs/extras/Sfinx/sfinx-pl-v1.1.zip
+    name: 'Freeware Version (Polish, v1.1)'
+    notes: ''
+-
+    category: games
+    game_id: soltys
+    category_icon: soltys
+    url: /frs/extras/Soltys/soltys-en-v1.0.zip
+    name: 'Freeware Version (English)'
+    notes: ''
+-
+    category: games
+    game_id: soltys
+    category_icon: soltys
+    url: /frs/extras/Soltys/soltys-pl-v1.0.zip
+    name: 'Freeware Version (Polish)'
+    notes: ''
+-
+    category: games
+    game_id: soltys
+    category_icon: soltys
+    url: /frs/extras/Soltys/soltys-es-v1.0.zip
+    name: 'Freeware Version (Spanish)'
+    notes: ''
+-
+    category: addons
+    game_id: bladerunner
+    category_icon: bladerunner
+    url: '/frs/extras/Blade Runner/Blade_Runner_Subtitles-v6.zip'
+    name: 'Subtitles (English, French, Spanish Subtitles AddOn)'
+    notes: ''
+-
+    category: addons
+    game_id: sword1
+    category_icon: flac
+    url: '/frs/extras/Broken Sword I and II/Sword1_DXA_Cutscenes.zip'
+    name: 'Cutscene Pack (English, DXA compression)'
+    notes: '- Requires ScummVM 2.1.0'
+-
+    category: addons
+    game_id: sword1
+    category_icon: ogg
+    url: '/frs/extras/http://downloads.scummbr.com/Sword1_Cutscenes_BRA_Complete.zip'
+    name: 'Cutscene Pack (Brazilian)'
+    notes: '- Requires ScummVM 0.10.0'
+-
+    category: addons
+    game_id: sword1
+    category_icon: sword
+    url: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_Subtitles-1.0.zip'
+    name: 'Cutscene Pack (all languages, Subtitles AddOn)'
+    notes: '(38M) This is an offsite package with both Brazillian videos and audio'
+-
+    category: addons
+    game_id: sword1
+    category_icon: sword
+    url: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_Subtitles-1.1.zip'
+    name: 'Cutscene Pack (all languages, Updated Subtitles AddOn) - requires ScummVM 1.5.0 or more'
+    notes: 'Cutscene subtitles pack. All languages'
+-
+    category: addons
+    game_id: sword1
+    category_icon: flac
+    url: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_DXA_FRE_AddOn.zip'
+    name: 'Cutscene Pack (French AddOn)'
+    notes: 'Cutscene subtitles pack. All languages'
+-
+    category: addons
+    game_id: sword1
+    category_icon: flac
+    url: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_DXA_GER_AddOn.zip'
+    name: 'Cutscene Pack (German AddOn)'
+    notes: 'Overwrite files in English Pack with files from this archive'
+-
+    category: addons
+    game_id: sword1
+    category_icon: flac
+    url: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_DXA_ITA_AddOn.zip'
+    name: 'Cutscene Pack (Italian AddOn)'
+    notes: 'Overwrite files in English Pack with files from this archive'
+-
+    category: addons
+    game_id: sword1
+    category_icon: flac
+    url: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_DXA_ESP_AddOn.zip'
+    name: 'Cutscene Pack (Spanish AddOn)'
+    notes: 'Overwrite files in English Pack with files from this archive'
+-
+    category: addons
+    game_id: sword1
+    category_icon: flac
+    url: '/frs/extras/Broken Sword I and II/Sword1_Demo_Cutscenes.zip'
+    name: 'Demo Cutscene Pack'
+    notes: 'Overwrite files in English Pack with files from this archive'
+-
+    category: addons
+    game_id: sword1
+    category_icon: ogg
+    url: '/frs/extras/Broken Sword I and II/Sword1_OGG_Cutscenes.zip'
+    name: 'Cutscene Pack (English OGG AddOn)'
+    notes: '- Requires ScummVM 0.10.0'
+-
+    category: addons
+    game_id: sword1
+    category_icon: ogg
+    url: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_FRE_AddOn.zip'
+    name: 'Cutscene Pack (French OGG AddOn)'
+    notes: 'Alternative English audio pack, for ports without FLAC support'
+-
+    category: addons
+    game_id: sword1
+    category_icon: ogg
+    url: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_GER_AddOn.zip'
+    name: 'Cutscene Pack (German OGG AddOn)'
+    notes: 'Alternative French audio pack, for ports without FLAC support'
+-
+    category: addons
+    game_id: sword1
+    category_icon: ogg
+    url: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_ITA_AddOn.zip'
+    name: 'Cutscene Pack (Italian OGG AddOn)'
+    notes: 'Alternative German audio pack, for ports without FLAC support'
+-
+    category: addons
+    game_id: sword1
+    category_icon: ogg
+    url: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_ESP_AddOn.zip'
+    name: 'Cutscene Pack (Spanish OGG AddOn)'
+    notes: 'Alternative Italian audio pack, for ports without FLAC support'
+-
+    category: addons
+    game_id: sword2
+    category_icon: flac
+    url: '/frs/extras/Broken Sword I and II/Sword2_DXA_Cutscenes.zip'
+    name: 'Cutscene Pack (all languages, DXA compression)'
+    notes: 'Alternative Spanish audio pack, for ports without FLAC support'
+-
+    category: addons
+    game_id: sword2
+    category_icon: ogg
+    url: '/frs/extras/Broken Sword I and II/Sword2_OGG_Cutscenes.zip'
+    name: 'Cutscene Pack (all languages, OGG AddOn)'
+    notes: '- Requires ScummVM 0.10.0'
+-
+    category: addons
+    game_id: sword2
+    category_icon: flac
+    url: '/frs/extras/Broken Sword I and II/Sword2_Demo_Cutscenes.zip'
+    name: 'Demo Cutscene Pack'
+    notes: 'Alternative audio pack, for ports without FLAC support'
+-
+    category: addons
+    game_id: elvira2
+    category_icon: flac
+    url: '/frs/extras/Elvira 2/elvira2_pc_sfx.zip'
+    name: 'Digital samples for sound effects in the PC version'
+    notes: '- Requires ScummVM 0.10.0'
+-
+    category: addons
+    game_id: feeble
+    category_icon: flac
+    url: '/frs/extras/The Feeble Files/Feeble_OmniTV_Cutscenes.zip'
+    name: 'Omni TV and epilogue cutscenes for the Amiga and Macintosh versions'
+    notes: '- Requires ScummVM 1.8.0'
+-
+    category: addons
+    game_id: queen
+    category_icon: mp3
+    url: '/frs/extras/Flight of the Amazon Queen/FOTAQ_Talkie-1.1.zip'
+    name: 'Freeware CD Version (mp3 compressed sfx/speech)'
+    notes: '- Requires ScummVM 0.10.0'
+-
+    category: addons
+    game_id: prince
+    category_icon: prince
+    url: '/frs/extras/The Prince and the Coward/prince_translation.dat'
+    name: 'Translations data file to play with English text'
+    notes: '- Requires ScummVM 2.2.0'
diff --git a/data/en/game_resources.yaml b/data/en/game_resources.yaml
deleted file mode 100644
index a71b6c21..00000000
--- a/data/en/game_resources.yaml
+++ /dev/null
@@ -1,414 +0,0 @@
-# This is a generated file, please do not edit manually
--
-    category: games
-    game_id: sky
-    category_icon: sky
-    link: '/frs/extras/Beneath a Steel Sky/bass-cd-1.2.zip'
-    name: 'Beneath a Steel Sky, Freeware CD Version'
-    notes: ''
--
-    category: games
-    game_id: sky
-    category_icon: sky
-    link: '/frs/extras/Beneath a Steel Sky/BASS-Floppy-1.3.zip'
-    name: 'Beneath a Steel Sky, Freeware Floppy Version'
-    notes: ''
--
-    category: games
-    game_id: sword25
-    category_icon: sword
-    link: '/frs/extras/Broken Sword 2.5/sword25-v1.0.zip'
-    name: 'Broken Sword 2.5, Freeware Version'
-    notes: ''
--
-    category: games
-    game_id: drascula
-    category_icon: drascula
-    link: '/frs/extras/Drascula_ The Vampire Strikes Back/drascula-1.0.zip'
-    name: 'Drascula: The Vampire Strikes Back, Freeware Version (English)'
-    notes: ''
--
-    category: games
-    game_id: drascula
-    category_icon: mp3
-    link: '/frs/extras/Drascula_ The Vampire Strikes Back/drascula-audio-mp3-2.0.zip'
-    name: 'Drascula: The Vampire Strikes Back, Freeware Version (Music AddOn, MP3  format)'
-    notes: ''
--
-    category: games
-    game_id: drascula
-    category_icon: flac
-    link: '/frs/extras/Drascula_ The Vampire Strikes Back/drascula-audio-flac-2.0.zip'
-    name: 'Drascula: The Vampire Strikes Back, Freeware Version (Music AddOn, FLAC  format)'
-    notes: ''
--
-    category: games
-    game_id: drascula
-    category_icon: ogg
-    link: '/frs/extras/Drascula_ The Vampire Strikes Back/drascula-audio-2.0.zip'
-    name: 'Drascula: The Vampire Strikes Back, Freeware Version (Music AddOn, OGG  format)'
-    notes: ''
--
-    category: games
-    game_id: drascula
-    category_icon: drascula
-    link: '/frs/extras/Drascula_ The Vampire Strikes Back/drascula-int-1.0.zip'
-    name: 'Drascula: The Vampire Strikes Back, Freeware Version (Spanish, German,  French and Italian AddOn)'
-    notes: ''
--
-    category: games
-    game_id: drascula
-    category_icon: drascula
-    link: '/frs/extras/Drascula_ The Vampire Strikes Back/drascula-int-1.1.zip'
-    name: 'Drascula: The Vampire Strikes Back, Freeware Version (Updated Spanish,  German, French and Italian AddOn) - requires ScummVM 1.3.0 or more'
-    notes: ''
--
-    category: games
-    game_id: dreamweb
-    category_icon: dreamweb
-    link: /frs/extras/Dreamweb/dreamweb-uk-1.1.zip
-    name: 'Dreamweb, Freeware Floppy DOS Version (English UK)'
-    notes: ''
--
-    category: games
-    game_id: dreamweb
-    category_icon: dreamweb
-    link: /frs/extras/Dreamweb/dreamweb-cd-uk-1.1.zip
-    name: 'Dreamweb, Freeware CD DOS Version (English UK)'
-    notes: ''
--
-    category: games
-    game_id: dreamweb
-    category_icon: dreamweb
-    link: /frs/extras/Dreamweb/dreamweb-cd-us-1.1.zip
-    name: 'Dreamweb, Freeware CD DOS Version (English US)'
-    notes: ''
--
-    category: games
-    game_id: dreamweb
-    category_icon: dreamweb
-    link: /frs/extras/Dreamweb/dreamweb-cd-fr-1.1.zip
-    name: 'Dreamweb, Freeware CD DOS Version (French)'
-    notes: ''
--
-    category: games
-    game_id: dreamweb
-    category_icon: dreamweb
-    link: /frs/extras/Dreamweb/dreamweb-cd-de-1.1.zip
-    name: 'Dreamweb, Freeware CD DOS Version (German)'
-    notes: ''
--
-    category: games
-    game_id: dreamweb
-    category_icon: dreamweb
-    link: /frs/extras/Dreamweb/dreamweb-cd-it-1.1.zip
-    name: 'Dreamweb, Freeware CD DOS Version (Italian)'
-    notes: ''
--
-    category: games
-    game_id: dreamweb
-    category_icon: dreamweb
-    link: /frs/extras/Dreamweb/dreamweb-cd-es-1.1.zip
-    name: 'Dreamweb, Freeware CD DOS Version (Spanish)'
-    notes: ''
--
-    category: games
-    game_id: dreamweb
-    category_icon: dreamweb
-    link: /frs/extras/Dreamweb/dreamweb-manuals-en-highres.zip
-    name: 'Dreamweb, Manuals (English High Resolution)'
-    notes: ''
--
-    category: games
-    game_id: dreamweb
-    category_icon: dreamweb
-    link: /frs/extras/Dreamweb/dreamweb-manuals-en-lores.zip
-    name: 'Dreamweb, Manuals (English Low Resolution)'
-    notes: ''
--
-    category: games
-    game_id: queen
-    category_icon: queen
-    link: '/frs/extras/http://www.lysator.liu.se/~zino/scummvm/queen/'
-    name: 'Flight of the Amazon Queen, Freeware CD Version (unmodified original)'
-    notes: ''
--
-    category: games
-    game_id: queen
-    category_icon: queen
-    link: '/frs/extras/Flight of the Amazon Queen/FOTAQ_Fr_Talkie_1.0.zip'
-    name: 'Flight of the Amazon Queen, Freeware CD Version (French voices and subtitles, ogg compressed sfx/speech)'
-    notes: '(87M) download this version if your ScummVM doesn''t have mp3 support'
--
-    category: games
-    game_id: queen
-    category_icon: queen
-    link: '/frs/extras/Flight of the Amazon Queen/FOTAQ_Ger_talkie-1.0.zip'
-    name: 'Flight of the Amazon Queen, Freeware CD Version (German voices and subtitles, ogg compressed sfx/speech)'
-    notes: ''
--
-    category: games
-    game_id: queen
-    category_icon: queen
-    link: '/frs/extras/Flight of the Amazon Queen/FOTAQ_Heb_talkie.zip'
-    name: 'Flight of the Amazon Queen, Freeware CD Version (Hebrew subtitles, English voices, ogg compressed sfx/speech)'
-    notes: ''
--
-    category: games
-    game_id: queen
-    category_icon: queen
-    link: '/frs/extras/Flight of the Amazon Queen/FOTAQ_It_Talkie_1.0.zip'
-    name: 'Flight of the Amazon Queen, Freeware CD Version (Italian subtitles, English voices, ogg compressed sfx/speech)'
-    notes: ''
--
-    category: games
-    game_id: queen
-    category_icon: queen
-    link: '/frs/extras/Flight of the Amazon Queen/FOTAQ_Floppy.zip'
-    name: 'Flight of the Amazon Queen, Freeware Floppy Version'
-    notes: ''
--
-    category: games
-    game_id: queen
-    category_icon: queen
-    link: '/frs/extras/Flight of the Amazon Queen/FOTAQ_Fr_Floppy.zip'
-    name: 'Flight of the Amazon Queen, Freeware Floppy Version (French)'
-    notes: ''
--
-    category: games
-    game_id: griffon
-    category_icon: griffon
-    link: '/frs/extras/Griffon Legend/griffon-1.0.zip'
-    name: 'The Griffon Legend, Freeware Version'
-    notes: ''
--
-    category: games
-    game_id: lure
-    category_icon: lure
-    link: '/frs/extras/Lure of the Temptress/lure-1.1.zip'
-    name: 'Lure of the Temptress, Freeware Version (English)'
-    notes: ''
--
-    category: games
-    game_id: lure
-    category_icon: lure
-    link: '/frs/extras/Lure of the Temptress/lure-fr-1.1.zip'
-    name: 'Lure of the Temptress, Freeware Version (French)'
-    notes: ''
--
-    category: games
-    game_id: lure
-    category_icon: lure
-    link: '/frs/extras/Lure of the Temptress/lure-de-1.1.zip'
-    name: 'Lure of the Temptress, Freeware Version (German)'
-    notes: ''
--
-    category: games
-    game_id: lure
-    category_icon: lure
-    link: '/frs/extras/Lure of the Temptress/lure-it-1.1.zip'
-    name: 'Lure of the Temptress, Freeware Version (Italian)'
-    notes: ''
--
-    category: games
-    game_id: lure
-    category_icon: lure
-    link: '/frs/extras/Lure of the Temptress/lure-es-1.1.zip'
-    name: 'Lure of the Temptress, Freeware Version (Spanish)'
-    notes: ''
--
-    category: games
-    game_id: hires1
-    category_icon: mysthous
-    link: '/frs/extras/Mystery House/MYSTHOUS.zip'
-    name: 'Mystery House, public domain version (Apple II)'
-    notes: ''
--
-    category: games
-    game_id: sfinx
-    category_icon: sfinx
-    link: /frs/extras/Sfinx/sfinx-en-v1.1.zip
-    name: 'Sfinx, Freeware Version (English, v1.1)'
-    notes: ''
--
-    category: games
-    game_id: sfinx
-    category_icon: sfinx
-    link: /frs/extras/Sfinx/sfinx-pl-v1.1.zip
-    name: 'Sfinx, Freeware Version (Polish, v1.1)'
-    notes: ''
--
-    category: games
-    game_id: soltys
-    category_icon: soltys
-    link: /frs/extras/Soltys/soltys-en-v1.0.zip
-    name: 'Soltys, Freeware Version (English)'
-    notes: ''
--
-    category: games
-    game_id: soltys
-    category_icon: soltys
-    link: /frs/extras/Soltys/soltys-pl-v1.0.zip
-    name: 'Soltys, Freeware Version (Polish)'
-    notes: ''
--
-    category: games
-    game_id: soltys
-    category_icon: soltys
-    link: /frs/extras/Soltys/soltys-es-v1.0.zip
-    name: 'Soltys, Freeware Version (Spanish)'
-    notes: ''
--
-    category: addons
-    game_id: bladerunner
-    category_icon: bladerunner
-    link: '/frs/extras/Blade Runner/Blade_Runner_Subtitles-v6.zip'
-    name: 'Blade Runner Subtitles (English, French, Spanish Subtitles AddOn)'
-    notes: ''
--
-    category: addons
-    game_id: sword1
-    category_icon: flac
-    link: '/frs/extras/Broken Sword I and II/Sword1_DXA_Cutscenes.zip'
-    name: 'Broken Sword Cutscene Pack (English, DXA compression)'
-    notes: '- Requires ScummVM 2.1.0'
--
-    category: addons
-    game_id: sword1
-    category_icon: ogg
-    link: '/frs/extras/http://downloads.scummbr.com/Sword1_Cutscenes_BRA_Complete.zip'
-    name: 'Broken Sword Cutscene Pack (Brazilian)'
-    notes: '- Requires ScummVM 0.10.0'
--
-    category: addons
-    game_id: sword1
-    category_icon: sword
-    link: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_Subtitles-1.0.zip'
-    name: 'Broken Sword Cutscene Pack (all languages, Subtitles AddOn)'
-    notes: '(38M) This is an offsite package with both Brazillian videos and audio'
--
-    category: addons
-    game_id: sword1
-    category_icon: sword
-    link: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_Subtitles-1.1.zip'
-    name: 'Broken Sword Cutscene Pack (all languages, Updated Subtitles AddOn) -  requires ScummVM 1.5.0 or more'
-    notes: 'Cutscene subtitles pack. All languages'
--
-    category: addons
-    game_id: sword1
-    category_icon: flac
-    link: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_DXA_FRE_AddOn.zip'
-    name: 'Broken Sword Cutscene Pack (French AddOn)'
-    notes: 'Cutscene subtitles pack. All languages'
--
-    category: addons
-    game_id: sword1
-    category_icon: flac
-    link: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_DXA_GER_AddOn.zip'
-    name: 'Broken Sword Cutscene Pack (German AddOn)'
-    notes: 'Overwrite files in English Pack with files from this archive'
--
-    category: addons
-    game_id: sword1
-    category_icon: flac
-    link: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_DXA_ITA_AddOn.zip'
-    name: 'Broken Sword Cutscene Pack (Italian AddOn)'
-    notes: 'Overwrite files in English Pack with files from this archive'
--
-    category: addons
-    game_id: sword1
-    category_icon: flac
-    link: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_DXA_ESP_AddOn.zip'
-    name: 'Broken Sword Cutscene Pack (Spanish AddOn)'
-    notes: 'Overwrite files in English Pack with files from this archive'
--
-    category: addons
-    game_id: sword1
-    category_icon: flac
-    link: '/frs/extras/Broken Sword I and II/Sword1_Demo_Cutscenes.zip'
-    name: 'Broken Sword Demo Cutscene Pack'
-    notes: 'Overwrite files in English Pack with files from this archive'
--
-    category: addons
-    game_id: sword1
-    category_icon: ogg
-    link: '/frs/extras/Broken Sword I and II/Sword1_OGG_Cutscenes.zip'
-    name: 'Broken Sword Cutscene Pack (English OGG AddOn)'
-    notes: '- Requires ScummVM 0.10.0'
--
-    category: addons
-    game_id: sword1
-    category_icon: ogg
-    link: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_FRE_AddOn.zip'
-    name: 'Broken Sword Cutscene Pack (French OGG AddOn)'
-    notes: 'Alternative English audio pack, for ports without FLAC support'
--
-    category: addons
-    game_id: sword1
-    category_icon: ogg
-    link: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_GER_AddOn.zip'
-    name: 'Broken Sword Cutscene Pack (German OGG AddOn)'
-    notes: 'Alternative French audio pack, for ports without FLAC support'
--
-    category: addons
-    game_id: sword1
-    category_icon: ogg
-    link: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_ITA_AddOn.zip'
-    name: 'Broken Sword Cutscene Pack (Italian OGG AddOn)'
-    notes: 'Alternative German audio pack, for ports without FLAC support'
--
-    category: addons
-    game_id: sword1
-    category_icon: ogg
-    link: '/frs/extras/Broken Sword I and II/Sword1_Cutscenes_ESP_AddOn.zip'
-    name: 'Broken Sword Cutscene Pack (Spanish OGG AddOn)'
-    notes: 'Alternative Italian audio pack, for ports without FLAC support'
--
-    category: addons
-    game_id: sword2
-    category_icon: flac
-    link: '/frs/extras/Broken Sword I and II/Sword2_DXA_Cutscenes.zip'
-    name: 'Broken Sword II Cutscene Pack (all languages, DXA compression)'
-    notes: 'Alternative Spanish audio pack, for ports without FLAC support'
--
-    category: addons
-    game_id: sword2
-    category_icon: ogg
-    link: '/frs/extras/Broken Sword I and II/Sword2_OGG_Cutscenes.zip'
-    name: 'Broken Sword II Cutscene Pack (all languages, OGG AddOn)'
-    notes: '- Requires ScummVM 0.10.0'
--
-    category: addons
-    game_id: sword2
-    category_icon: flac
-    link: '/frs/extras/Broken Sword I and II/Sword2_Demo_Cutscenes.zip'
-    name: 'Broken Sword II Demo Cutscene Pack'
-    notes: 'Alternative audio pack, for ports without FLAC support'
--
-    category: addons
-    game_id: elvira2
-    category_icon: flac
-    link: '/frs/extras/Elvira 2/elvira2_pc_sfx.zip'
-    name: 'Elvira 2 - Digital samples for sound effects in the PC version'
-    notes: '- Requires ScummVM 0.10.0'
--
-    category: addons
-    game_id: feeble
-    category_icon: flac
-    link: '/frs/extras/The Feeble Files/Feeble_OmniTV_Cutscenes.zip'
-    name: 'The Feeble Files - Omni TV and epilogue cutscenes for the Amiga and  Macintosh versions'
-    notes: '- Requires ScummVM 1.8.0'
--
-    category: addons
-    game_id: queen
-    category_icon: mp3
-    link: '/frs/extras/Flight of the Amazon Queen/FOTAQ_Talkie-1.1.zip'
-    name: 'Flight of the Amazon Queen, Freeware CD Version (mp3 compressed sfx/speech)'
-    notes: '- Requires ScummVM 0.10.0'
--
-    category: addons
-    game_id: prince
-    category_icon: prince
-    link: '/frs/extras/The Prince and the Coward/prince_translation.dat'
-    name: 'The Prince and the Coward - Translations data file to play with English text'
-    notes: '- Requires ScummVM 2.2.0'
diff --git a/data/en/downloads.yaml b/data/en/scummvm_downloads.yaml
similarity index 100%
rename from data/en/downloads.yaml
rename to data/en/scummvm_downloads.yaml
diff --git a/include/DataUtils.php b/include/DataUtils.php
index 628bfbb7..ff196f8c 100644
--- a/include/DataUtils.php
+++ b/include/DataUtils.php
@@ -27,8 +27,8 @@ class DataUtils
         'game_demos' => '713475305',
         'series' => '1095671818',
         'screenshots' => '1985243204',
-        'downloads' => '373699606',
-        'game_resources' => '1287892109',
+        'scummvm_downloads' => '373699606',
+        'game_downloads' => '1287892109',
     ];
 
 
diff --git a/include/Models/DownloadsModel.php b/include/Models/DownloadsModel.php
index fefa32be..a430b7bc 100644
--- a/include/Models/DownloadsModel.php
+++ b/include/Models/DownloadsModel.php
@@ -16,7 +16,7 @@ class DownloadsModel extends BasicModel
     {
         $sections = $this->getFromCache();
         if (is_null($sections)) {
-            $fname = $this->getLocalizedFile('downloads.yaml');
+            $fname = $this->getLocalizedFile('scummvm_downloads.yaml');
             $parsedData = @Yaml::parseFile($fname);
             // error check yaml
 
diff --git a/include/Models/GameDownloadsModel.php b/include/Models/GameDownloadsModel.php
index ff3a5a3a..1ce0d12c 100644
--- a/include/Models/GameDownloadsModel.php
+++ b/include/Models/GameDownloadsModel.php
@@ -21,7 +21,7 @@ class GameDownloadsModel extends BasicModel
     {
         $sections = $this->getFromCache();
         if (is_null($sections)) {
-            $fname = $this->getLocalizedFile('game_resources.yaml');
+            $fname = $this->getLocalizedFile('game_downloads.yaml');
             $parsedData = @Yaml::parseFile($fname);
             // error check yaml
 


Commit: cacfa616868eb0c5bebf602281571e1a42abc4c6
    https://github.com/scummvm/scummvm-web/commit/cacfa616868eb0c5bebf602281571e1a42abc4c6
Author: Mataniko (mataniko at gmail.com)
Date: 2020-11-24T14:51:10-05:00

Commit Message:
WEB: Download sha256 files from Fastly

Changed paths:
    templates/components/list_items.tpl


diff --git a/templates/components/list_items.tpl b/templates/components/list_items.tpl
index e39b807a..d3700c4c 100644
--- a/templates/components/list_items.tpl
+++ b/templates/components/list_items.tpl
@@ -13,7 +13,7 @@
                                 {if $item->getType() == 'daily'}{#listItemsBuildFromRepo#} {/if}
                                 {$data.size} {if $data.ext == '.exe'}Win32 {/if}{$data.ext}{if $data.date != ""}{#listItemsDate#} {$data.date} {/if}
                                  
-                                {if $data.sha256 != ""} <span class="sha256-toggle" onclick="this.nextSibling.classList.toggle('hidden')"> sha256</span><span class="sha256-text hidden"> <a href="{eval var=$item->getURL()|download}.sha256">{$data.sha256}</a></span>{/if}
+                                {if $data.sha256 != ""} <span class="sha256-toggle" onclick="this.nextSibling.classList.toggle('hidden')"> sha256</span><span class="sha256-text hidden"> <a href="{{eval var=$item->getURL()}|download}.sha256">{$data.sha256}</a></span>{/if}
                                 ) {if $data.msg != ""}{$data.msg}{/if}
                             {else}
                                 {if $item->getType() != 'daily'}
@@ -34,7 +34,7 @@
                 </li>
             {elseif $item instanceof ScummVM\Objects\WebLink}
                 <li class="link">
-                    <a href="{$item->getURL()}">{$item->getName()}</a>{$item->getDescription()}
+                    <a href="{$item->getURL()}">{$item->getName()}</a>: {$item->getDescription()}
                 </li>
             {elseif $item instanceof ScummVM\Objects\Screenshot}
                 <li class="file">


Commit: b71677c47cc82ad75dd3a562b370d1778ca0e73a
    https://github.com/scummvm/scummvm-web/commit/b71677c47cc82ad75dd3a562b370d1778ca0e73a
Author: Mataniko (mataniko at gmail.com)
Date: 2020-11-24T14:51:10-05:00

Commit Message:
WEB: Fix tools and legacy downloads

Changed paths:
    include/Controller.php
    templates/components/list_items.tpl


diff --git a/include/Controller.php b/include/Controller.php
index ab0d901a..e7dba6c1 100644
--- a/include/Controller.php
+++ b/include/Controller.php
@@ -161,8 +161,8 @@ class Controller
      */
     public function releaseSmartyModifier($string)
     {
-        $string = preg_replace("/\{release\}/", RELEASE, $string);
-        $string = preg_replace("/\{release_tools\}/", RELEASE_TOOLS, $string);
+        $string = preg_replace("/\{\$?release\}/", RELEASE, $string);
+        $string = preg_replace("/\{\$?release_tools\}/", RELEASE_TOOLS, $string);
         return $string;
     }
 
diff --git a/templates/components/list_items.tpl b/templates/components/list_items.tpl
index d3700c4c..2ab2ac37 100644
--- a/templates/components/list_items.tpl
+++ b/templates/components/list_items.tpl
@@ -5,7 +5,7 @@
                 {assign var='data' value=$item->getExtraInfo()}
                 <li class="file">
                     <span class="sprite-{$type}-{$item->getCategoryIcon()} sprite"></span>
-                    <a href="{eval var=$item->getURL()|download}">{eval var=$item->getName()}</a>
+                    <a href="{eval var=$item->getURL()|release|download}">{eval var=$item->getName()}</a>
                     {strip}
                         <span class="download-extras">
                             {if is_array($data)}
@@ -13,7 +13,7 @@
                                 {if $item->getType() == 'daily'}{#listItemsBuildFromRepo#} {/if}
                                 {$data.size} {if $data.ext == '.exe'}Win32 {/if}{$data.ext}{if $data.date != ""}{#listItemsDate#} {$data.date} {/if}
                                  
-                                {if $data.sha256 != ""} <span class="sha256-toggle" onclick="this.nextSibling.classList.toggle('hidden')"> sha256</span><span class="sha256-text hidden"> <a href="{{eval var=$item->getURL()}|download}.sha256">{$data.sha256}</a></span>{/if}
+                                {if $data.sha256 != ""} <span class="sha256-toggle" onclick="this.nextSibling.classList.toggle('hidden')"> sha256</span><span class="sha256-text hidden"> <a href="{{eval var=$item->getURL()}|release|download}.sha256">{$data.sha256}</a></span>{/if}
                                 ) {if $data.msg != ""}{$data.msg}{/if}
                             {else}
                                 {if $item->getType() != 'daily'}


Commit: ca4d6887aa3214d0905c45bb78535d25afc9bede
    https://github.com/scummvm/scummvm-web/commit/ca4d6887aa3214d0905c45bb78535d25afc9bede
Author: Mataniko (mataniko at gmail.com)
Date: 2020-11-24T14:51:10-05:00

Commit Message:
DATA: Update data

Changed paths:
    data/en/engines.yaml
    data/en/scummvm_downloads.yaml


diff --git a/data/en/engines.yaml b/data/en/engines.yaml
index 51223ffd..99910e98 100644
--- a/data/en/engines.yaml
+++ b/data/en/engines.yaml
@@ -3,367 +3,367 @@
     id: access
     name: Access
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: adl
     name: ADL
     alt_name: 'Adventure Development Language'
-    enabled: 'TRUE'
+    enabled: true
 -
     id: agi
     name: AGI
     alt_name: 'Adventure Game Interpreter'
-    enabled: 'TRUE'
+    enabled: true
 -
     id: agos
     name: AGOS
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: avalanche
     name: Avalanche
     alt_name: ''
-    enabled: 'FALSE'
+    enabled: false
 -
     id: bbvs
     name: 'Beavis and Butt-Head in Virtual Stupidity'
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: bladerunner
     name: 'Blade Runner'
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: cge
     name: CGE
     alt_name: 'Common Game Engine'
-    enabled: 'TRUE'
+    enabled: true
 -
     id: cge2
     name: CGE2
     alt_name: 'Common Game Engine 2'
-    enabled: 'TRUE'
+    enabled: true
 -
     id: chewy
     name: 'Chewy: Esc from F5'
     alt_name: ''
-    enabled: 'FALSE'
+    enabled: false
 -
     id: cine
     name: Cinématique
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: composer
     name: 'Magic Composer'
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: cruise
     name: CruisE
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: cryo
     name: Cryo
     alt_name: ''
-    enabled: 'FALSE'
+    enabled: false
 -
     id: cryomni3d
     name: Cryomni3D
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: director
     name: 'Macromedia Director'
     alt_name: ''
-    enabled: 'FALSE'
+    enabled: false
 -
     id: dm
     name: 'Dungeon Maser'
     alt_name: ''
-    enabled: 'FALSE'
+    enabled: false
 -
     id: draci
     name: 'Dračí Historie'
     alt_name: 'Dračí Historie'
-    enabled: 'TRUE'
+    enabled: true
 -
     id: dragons
     name: 'Blazing Dragons'
     alt_name: ''
-    enabled: 'FALSE'
+    enabled: false
 -
     id: drascula
     name: Drascula
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: dreamweb
     name: DreamWeb
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: fullpipe
     name: 'Full Pipe'
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: glk
     name: Glk
     alt_name: ''
-    enabled: 'FALSE'
+    enabled: false
 -
     id: gnap
     name: Gnap
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: gob
     name: Gob
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: griffon
     name: 'The Griffon Legend'
     alt_name: ''
-    enabled: 'FALSE'
+    enabled: false
 -
     id: grim
     name: GrimE
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: groovie
     name: Groovie
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: hdb
     name: 'Hyperspace Delivery Boy!'
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: hopkins
     name: 'Hopkins FBI'
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: hugo
     name: Hugo
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: icb
     name: 'In Cold Blood'
     alt_name: ''
-    enabled: 'FALSE'
+    enabled: false
 -
     id: illusions
     name: Illusions
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: kyra
     name: Kyra
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: lab
     name: 'The Labyrinth of Time'
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: lastexpress
     name: 'The Last Express'
     alt_name: ''
-    enabled: 'FALSE'
+    enabled: false
 -
     id: lilliput
     name: Lilliput
     alt_name: ''
-    enabled: 'FALSE'
+    enabled: false
 -
     id: lure
     name: 'Lure of the Temptress'
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: macventure
     name: MacVenture
     alt_name: ''
-    enabled: 'FALSE'
+    enabled: false
 -
     id: made
     name: MADE
     alt_name: 'Multimedia Applications Development Environment'
-    enabled: 'TRUE'
+    enabled: true
 -
     id: mads
     name: MADS
     alt_name: 'MicroProse Adventure Development System'
-    enabled: 'TRUE'
+    enabled: true
 -
     id: mohawk
     name: Mohawk
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: mortevielle
     name: Mortevielle
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: mutationofjb
     name: 'Mutation of JB'
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: myst3
     name: 'Myst 3'
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: neverhood
     name: 'The Neverhood'
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: parallaction
     name: Parallaction
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: pegasus
     name: 'The Journeyman Project: Pegasus Prime'
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: pink
     name: 'Pink Panther'
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: plumbers
     name: 'Plumbers Don''t Wear Ties!'
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: prince
     name: 'The Prince and the Coward'
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: queen
     name: 'Flight of the Amazon Queen'
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: saga
     name: SAGA
     alt_name: 'Scripts for Animated Graphic Adventures'
-    enabled: 'TRUE'
+    enabled: true
 -
     id: sci
     name: SCI
     alt_name: 'Sierra Creative Interpreter'
-    enabled: 'TRUE'
+    enabled: true
 -
     id: scumm
     name: SCUMM
     alt_name: 'Script Creation Utility for Maniac Mansion'
-    enabled: 'TRUE'
+    enabled: true
 -
     id: sherlock
     name: Sherlock
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: sky
     name: Sky
     alt_name: 'Beneath a Steel Sky'
-    enabled: 'TRUE'
+    enabled: true
 -
     id: sludge
     name: SLUDGE
     alt_name: ''
-    enabled: 'FALSE'
+    enabled: false
 -
     id: stark
     name: 'The Longest Journey'
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: startrek
     name: 'Star Trek'
     alt_name: ''
-    enabled: 'FALSE'
+    enabled: false
 -
     id: supernova
     name: Supernova
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: sword1
     name: Sword1
     alt_name: 'Broken Sword: The Shadow of the Templars'
-    enabled: 'TRUE'
+    enabled: true
 -
     id: sword2
     name: Sword2
     alt_name: 'Broken Sword: The Smoking Mirror'
-    enabled: 'TRUE'
+    enabled: true
 -
     id: sword25
     name: Sword25
     alt_name: 'Broken Sword 2.5'
-    enabled: 'TRUE'
+    enabled: true
 -
     id: teenagent
     name: TeenAgent
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: tinsel
     name: Tinsel
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: titanic
     name: 'Starship Titanic'
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: toltecs
     name: '3 Skulls of the Toltecs'
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: tony
     name: 'Tony Tough and the Night of Roasted Moths'
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: toon
     name: Toonstruck
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: touche
     name: 'Touché: The Adventures of the Fifth Musketeer'
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: tsage
     name: TsAGE
     alt_name: 'Tsunami Adventure Game Engine'
-    enabled: 'TRUE'
+    enabled: true
 -
     id: tucker
     name: Tucker
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: twine
     name: TwinEngine
@@ -373,34 +373,34 @@
     id: ultima
     name: Ultima
     alt_name: ''
-    enabled: 'FALSE'
+    enabled: false
 -
     id: voyeur
     name: Voyeur
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: wage
     name: WAGE
     alt_name: 'World Builder'
-    enabled: 'FALSE'
+    enabled: false
 -
     id: wintermute
     name: 'Wintermute Engine'
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: xeen
     name: Xeen
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: zvision
     name: ZVision
     alt_name: ''
-    enabled: 'TRUE'
+    enabled: true
 -
     id: testbed
     name: Testbed
     alt_name: ''
-    enabled: 'FALSE'
+    enabled: false
diff --git a/data/en/scummvm_downloads.yaml b/data/en/scummvm_downloads.yaml
index da22ebe1..b03e22e4 100644
--- a/data/en/scummvm_downloads.yaml
+++ b/data/en/scummvm_downloads.yaml
@@ -896,7 +896,7 @@
     subcategory: old
     category_icon: maemo
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/2.1.1/scummvm_2.1.1-maemo_armel.deb'
+    url: /frs/scummvm/2.1.1/scummvm_2.1.1-maemo_armel.deb
     name: '2.1.1 Maemo package (OS 2008 and Maemo5/Fremantle)'
     description: ''
 -
@@ -905,7 +905,7 @@
     subcategory: old
     category_icon: windows
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/2.1.0/scummvm-2.1.0-win32-x86_64.exe'
+    url: /frs/scummvm/2.1.0/scummvm-2.1.0-win32-x86_64.exe
     name: '2.1.0 Windows 64bit Installer'
     description: ''
 -
@@ -914,7 +914,7 @@
     subcategory: old
     category_icon: android
     user_agent: Android
-    url: '/frs/scummvm-tools/{$release_tools}/2.0.0/scummvm-2.0.0-android-all.apk'
+    url: /frs/scummvm/2.0.0/scummvm-2.0.0-android-all.apk
     name: '2.0.0 Android package (all architectures)'
     description: ''
 -
@@ -923,7 +923,7 @@
     subcategory: old
     category_icon: fedora
     user_agent: Fedora
-    url: '/frs/scummvm-tools/{$release_tools}/2.0.0/scummvm-2.0.0-1.x86_64.rpm'
+    url: /frs/scummvm/2.0.0/scummvm-2.0.0-1.x86_64.rpm
     name: '2.0.0 Fedora 24+ x86 64bit package'
     description: ''
 -
@@ -932,7 +932,7 @@
     subcategory: old
     category_icon: raspberry
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/2.0.0/scummvm-2.0.0-rpi.zip'
+    url: /frs/scummvm/2.0.0/scummvm-2.0.0-rpi.zip
     name: '2.0.0 Raspberry Pi package (for Pi 2 and 3)'
     description: ''
 -
@@ -941,7 +941,7 @@
     subcategory: old
     category_icon: android
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/1.9.0/scummvm-1.9.0-android-mips.apk'
+    url: /frs/scummvm/1.9.0/scummvm-1.9.0-android-mips.apk
     name: '1.9.0 Android MIPS package'
     description: ''
 -
@@ -950,7 +950,7 @@
     subcategory: old
     category_icon: ouya
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/1.9.0/scummvm-1.9.0-android-ouya.apk'
+    url: /frs/scummvm/1.9.0/scummvm-1.9.0-android-ouya.apk
     name: '1.9.0 OUYA package'
     description: ''
 -
@@ -959,7 +959,7 @@
     subcategory: old
     category_icon: os2
     user_agent: OS/2
-    url: '/frs/scummvm-tools/{$release_tools}/1.9.0/scummvm-1.9.0-os2.zip'
+    url: /frs/scummvm/1.9.0/scummvm-1.9.0-os2.zip
     name: '1.9.0 OS/2 package'
     description: ''
 -
@@ -968,7 +968,7 @@
     subcategory: old
     category_icon: ps2
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/1.7.0/scummvm-1.7.0-ps2.zip'
+    url: /frs/scummvm/1.7.0/scummvm-1.7.0-ps2.zip
     name: '1.7.0 PlayStation2 package'
     description: ''
 -
@@ -977,7 +977,7 @@
     subcategory: old
     category_icon: webos
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/1.7.0/scummvm-1.7.0-webos.zip'
+    url: /frs/scummvm/1.7.0/scummvm-1.7.0-webos.zip
     name: '1.7.0 WebOS package'
     description: ''
 -
@@ -986,7 +986,7 @@
     subcategory: old
     category_icon: tizen
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/1.7.0/scummvm-1.7.0-tizen.tpk'
+    url: /frs/scummvm/1.7.0/scummvm-1.7.0-tizen.tpk
     name: '1.7.0 Tizen package'
     description: ''
 -
@@ -995,7 +995,7 @@
     subcategory: old
     category_icon: gp2x
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/1.7.0/scummvm-1.7.0-gp2x.tar.bz2'
+    url: /frs/scummvm/1.7.0/scummvm-1.7.0-gp2x.tar.bz2
     name: '1.7.0 GP2X package'
     description: ''
 -
@@ -1004,7 +1004,7 @@
     subcategory: old
     category_icon: gp2xwiz
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/1.7.0/scummvm-1.7.0-gp2xwiz.tar.bz2'
+    url: /frs/scummvm/1.7.0/scummvm-1.7.0-gp2xwiz.tar.bz2
     name: '1.7.0 GP2X Wiz package'
     description: ''
 -
@@ -1013,7 +1013,7 @@
     subcategory: old
     category_icon: caanoo
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/1.7.0/scummvm-1.7.0-caanoo.tar.bz2'
+    url: /frs/scummvm/1.7.0/scummvm-1.7.0-caanoo.tar.bz2
     name: '1.7.0 Caanoo package'
     description: ''
 -
@@ -1022,7 +1022,7 @@
     subcategory: old
     category_icon: slackware
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/1.6.0/scummvm-1.6.0_slack-i486-1.tgz'
+    url: /frs/scummvm/1.6.0/scummvm-1.6.0_slack-i486-1.tgz
     name: '1.6.0 SlackWare i486 package'
     description: ''
 -
@@ -1031,7 +1031,7 @@
     subcategory: old
     category_icon: slackware
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/1.6.0/scummvm-1.6.0_slack-x86_64-1.txz'
+    url: /frs/scummvm/1.6.0/scummvm-1.6.0_slack-x86_64-1.txz
     name: '1.6.0 SlackWare x86 64bit package'
     description: ''
 -
@@ -1040,7 +1040,7 @@
     subcategory: old
     category_icon: n64
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/1.6.0/scummvm-1.6.0-n64.zip'
+    url: /frs/scummvm/1.6.0/scummvm-1.6.0-n64.zip
     name: '1.6.0 Nintendo 64 package'
     description: ''
 -
@@ -1049,7 +1049,7 @@
     subcategory: old
     category_icon: dingux
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/1.6.0/scummvm-1.6.0-dingux.zip'
+    url: /frs/scummvm/1.6.0/scummvm-1.6.0-dingux.zip
     name: '1.6.0 Dingux package'
     description: ''
 -
@@ -1058,7 +1058,7 @@
     subcategory: old
     category_icon: solaris
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/1.6.0/scummvm-1.6.0-solaris10-sparc.pkg.7z'
+    url: /frs/scummvm/1.6.0/scummvm-1.6.0-solaris10-sparc.pkg.7z
     name: '1.6.0 Solaris 10 sparc, Solaris 11 sparc binary'
     description: ''
 -
@@ -1067,7 +1067,7 @@
     subcategory: old
     category_icon: solaris
     user_agent: SunOS
-    url: '/frs/scummvm-tools/{$release_tools}/1.6.0/scummvm-1.6.0-solaris10-x86.pkg.7z'
+    url: /frs/scummvm/1.6.0/scummvm-1.6.0-solaris10-x86.pkg.7z
     name: '1.6.0 Solaris 10 x86, Solaris 11 x86, OpenIndiana binary'
     description: ''
 -
@@ -1076,7 +1076,7 @@
     subcategory: old
     category_icon: wince
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/1.5.0/scummvm-1.5.0-wince.zip'
+    url: /frs/scummvm/1.5.0/scummvm-1.5.0-wince.zip
     name: '1.5.0 Windows CE ARM package'
     description: ''
 -
@@ -1085,7 +1085,7 @@
     subcategory: old
     category_icon: gc
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/1.5.0/scummvm-1.5.0-gamecube.zip'
+    url: /frs/scummvm/1.5.0/scummvm-1.5.0-gamecube.zip
     name: '1.5.0 Nintendo GameCube package'
     description: ''
 -
@@ -1094,7 +1094,7 @@
     subcategory: old
     category_icon: debian
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/1.4.1/scummvm_1.4.1-squeeze.1_powerpc.deb'
+    url: /frs/scummvm/1.4.1/scummvm_1.4.1-squeeze.1_powerpc.deb
     name: '1.4.1 Debian 6.0 (squeeze) PowerPC package'
     description: ''
 -
@@ -1103,7 +1103,7 @@
     subcategory: old
     category_icon: solaris
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/1.4.1/scummvm-1.4.1-solaris10-x86.pkg.bz2'
+    url: /frs/scummvm/1.4.1/scummvm-1.4.1-solaris10-x86.pkg.bz2
     name: '1.4.1 Solaris 10 (both IA32 and AMD64) binary'
     description: ''
 -
@@ -1112,7 +1112,7 @@
     subcategory: old
     category_icon: linuxmoto
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/1.3.0/scummvm-1.3.0-motoezx.pkg'
+    url: /frs/scummvm/1.3.0/scummvm-1.3.0-motoezx.pkg
     name: '1.3.0 Motorola A1200, ROKR E6, A1600 package'
     description: ''
 -
@@ -1121,7 +1121,7 @@
     subcategory: old
     category_icon: linuxmoto
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/1.3.0/scummvm-1.3.0-motomagx.mgx'
+    url: /frs/scummvm/1.3.0/scummvm-1.3.0-motomagx.mgx
     name: '1.3.0 Motorola E8, EM30, ZN5, U9 package'
     description: ''
 -
@@ -1130,7 +1130,7 @@
     subcategory: old
     category_icon: linuxmoto
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/1.3.0/scummvm-1.3.0-motomagx.pep'
+    url: /frs/scummvm/1.3.0/scummvm-1.3.0-motomagx.pep
     name: '1.3.0 Motorola Z6, V8 package'
     description: ''
 -
@@ -1139,7 +1139,7 @@
     subcategory: old
     category_icon: linuxmoto
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/1.3.0/scummvm-1.3.0-motomagx.mpkg'
+    url: /frs/scummvm/1.3.0/scummvm-1.3.0-motomagx.mpkg
     name: '1.3.0 Motorola Z6, V8 package'
     description: ''
 -
@@ -1148,7 +1148,7 @@
     subcategory: old
     category_icon: ds
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/1.2.1/scummvm-1.2.1-ds.zip'
+    url: /frs/scummvm/1.2.1/scummvm-1.2.1-ds.zip
     name: '1.2.1 Nintendo DS package'
     description: ''
 -
@@ -1157,7 +1157,7 @@
     subcategory: old
     category_icon: symbian
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/1.2.1/scummvm-1.2.1-uiq3.sis'
+    url: /frs/scummvm/1.2.1/scummvm-1.2.1-uiq3.sis
     name: '1.2.1 Symbian UIQ 3 binary'
     description: ''
 -
@@ -1166,7 +1166,7 @@
     subcategory: old
     category_icon: solaris
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/1.1.1/scummvm-1.1.1-solaris8-sparc.pkg.bz2'
+    url: /frs/scummvm/1.1.1/scummvm-1.1.1-solaris8-sparc.pkg.bz2
     name: '1.1.1 Solaris 8 and up (Sparc) binary'
     description: ''
 -
@@ -1175,7 +1175,7 @@
     subcategory: old
     category_icon: beos
     user_agent: BeOS
-    url: '/frs/scummvm-tools/{$release_tools}/1.0.0/scummvm-1.0.0-beos.tgz'
+    url: /frs/scummvm/1.0.0/scummvm-1.0.0-beos.tgz
     name: '1.0.0 BeOS package'
     description: ''
 -
@@ -1184,7 +1184,7 @@
     subcategory: old
     category_icon: palmos
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/0.11.1/scummvm-0.11.1-palmos-os5.zip'
+    url: /frs/scummvm/0.11.1/scummvm-0.11.1-palmos-os5.zip
     name: '0.11.1 PalmOS 5 binary'
     description: ''
 -
@@ -1193,7 +1193,7 @@
     subcategory: old
     category_icon: palmos
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/0.11.1/scummvm-0.11.1-palmos-zodiac.zip'
+    url: /frs/scummvm/0.11.1/scummvm-0.11.1-palmos-zodiac.zip
     name: '0.11.1 PalmOS Tapwave Zodiac binary'
     description: ''
 -
@@ -1202,7 +1202,7 @@
     subcategory: old
     category_icon: opie
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/0.11.1/scummvm-0.11.1-opie_arm.ipk'
+    url: /frs/scummvm/0.11.1/scummvm-0.11.1-opie_arm.ipk
     name: '0.11.1 Opie SDL package Only for iPAQ h1910/h1915 and MyPal 716'
     description: ''
 -
@@ -1211,7 +1211,7 @@
     subcategory: old
     category_icon: symbian
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/0.9.1/scummvm-0.9.1-s60-v1.sis'
+    url: /frs/scummvm/0.9.1/scummvm-0.9.1-s60-v1.sis
     name: '0.9.1 Symbian S60 version 1 binary'
     description: ''
 -
@@ -1220,7 +1220,7 @@
     subcategory: old
     category_icon: symbian
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/0.9.1/scummvm-0.9.1-s60-v2.sis'
+    url: /frs/scummvm/0.9.1/scummvm-0.9.1-s60-v2.sis
     name: '0.9.1 Symbian S60 version 2 binary'
     description: ''
 -
@@ -1229,7 +1229,7 @@
     subcategory: old
     category_icon: symbian
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/0.9.1/scummvm-0.9.1-s80.sis'
+    url: /frs/scummvm/0.9.1/scummvm-0.9.1-s80.sis
     name: '0.9.1 Symbian S80 binary'
     description: ''
 -
@@ -1238,7 +1238,7 @@
     subcategory: old
     category_icon: symbian
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/0.9.1/scummvm-0.9.1-s90.sis'
+    url: /frs/scummvm/0.9.1/scummvm-0.9.1-s90.sis
     name: '0.9.1 Symbian S90 binary'
     description: ''
 -
@@ -1247,7 +1247,7 @@
     subcategory: old
     category_icon: symbian
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/0.9.1/scummvm-0.9.1-uiq2.sis'
+    url: /frs/scummvm/0.9.1/scummvm-0.9.1-uiq2.sis
     name: '0.9.1 Symbian UIQ 2 binary'
     description: ''
 -
@@ -1256,7 +1256,7 @@
     subcategory: old
     category_icon: mandriva
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/0.8.0/scummvm-0.8.0-1mdk.i586.rpm'
+    url: /frs/scummvm/0.8.0/scummvm-0.8.0-1mdk.i586.rpm
     name: '0.8.0 Mandriva 2006 package'
     description: ''
 -
@@ -1265,7 +1265,7 @@
     subcategory: old
     category_icon: wince
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/0.7.1/scummvm-0.7.1-PocketPC_MIPS.zip'
+    url: /frs/scummvm/0.7.1/scummvm-0.7.1-PocketPC_MIPS.zip
     name: '0.7.1 PocketPC MIPS binary'
     description: ''
 -
@@ -1274,7 +1274,7 @@
     subcategory: old
     category_icon: wince
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/0.7.1/scummvm-0.7.1-PocketPC_SH3.zip'
+    url: /frs/scummvm/0.7.1/scummvm-0.7.1-PocketPC_SH3.zip
     name: '0.7.1 PocketPC SH3 binary'
     description: ''
 -
@@ -1283,7 +1283,7 @@
     subcategory: old
     category_icon: wince
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/0.7.1/scummvm-0.7.1-HandheldPC_ARM.zip'
+    url: /frs/scummvm/0.7.1/scummvm-0.7.1-HandheldPC_ARM.zip
     name: '0.7.1 HandheldPC ARM binary'
     description: ''
 -
@@ -1292,7 +1292,7 @@
     subcategory: old
     category_icon: wince
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/0.7.1/scummvm-0.7.1-HandheldPC_MIPS.zip'
+    url: /frs/scummvm/0.7.1/scummvm-0.7.1-HandheldPC_MIPS.zip
     name: '0.7.1 HandheldPC MIPS binary'
     description: ''
 -
@@ -1301,7 +1301,7 @@
     subcategory: old
     category_icon: wince
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/0.7.1/scummvm-0.7.1-HandheldPC_SH3.zip'
+    url: /frs/scummvm/0.7.1/scummvm-0.7.1-HandheldPC_SH3.zip
     name: '0.7.1 HandheldPC SH3 binary'
     description: ''
 -
@@ -1310,7 +1310,7 @@
     subcategory: old
     category_icon: macos9
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/0.2.0/scummvm-0.2.0-macos9.sit'
+    url: /frs/scummvm/0.2.0/scummvm-0.2.0-macos9.sit
     name: '0.2.0 Mac OS 9 package'
     description: ''
 -


Commit: 9590d5797ead9a78a4b25708d893ff5fc6b8b316
    https://github.com/scummvm/scummvm-web/commit/9590d5797ead9a78a4b25708d893ff5fc6b8b316
Author: Mataniko (mataniko at gmail.com)
Date: 2020-11-24T14:51:10-05:00

Commit Message:
WEB: Revert release modifier regex

Changed paths:
    include/Controller.php


diff --git a/include/Controller.php b/include/Controller.php
index e7dba6c1..256955a5 100644
--- a/include/Controller.php
+++ b/include/Controller.php
@@ -161,8 +161,8 @@ class Controller
      */
     public function releaseSmartyModifier($string)
     {
-        $string = preg_replace("/\{\$?release\}/", RELEASE, $string);
-        $string = preg_replace("/\{\$?release_tools\}/", RELEASE_TOOLS, $string);
+        $string = preg_replace("/\{[$]?release\}/", RELEASE, $string);
+        $string = preg_replace("/\{[$]?release_tools\}/", RELEASE_TOOLS, $string);
         return $string;
     }
 


Commit: dd152ef4531d89676de6c5f8fb7cffde23453c9b
    https://github.com/scummvm/scummvm-web/commit/dd152ef4531d89676de6c5f8fb7cffde23453c9b
Author: Mataniko (mataniko at gmail.com)
Date: 2020-11-24T14:51:10-05:00

Commit Message:
DATA: FIx scummvm-tools atari link

Changed paths:
    data/en/scummvm_downloads.yaml


diff --git a/data/en/scummvm_downloads.yaml b/data/en/scummvm_downloads.yaml
index b03e22e4..821d5483 100644
--- a/data/en/scummvm_downloads.yaml
+++ b/data/en/scummvm_downloads.yaml
@@ -752,7 +752,7 @@
     subcategory: tools
     category_icon: freemint
     user_agent: ''
-    url: '/frs/scummvm-tools/{$release_tools}/scummvm-tools-{$release_tools}-atarim68020-60.zip'
+    url: '/frs/scummvm-tools/{$release_tools}/scummvm-tools-{$release_tools}-atari-m68020-60.zip '
     name: 'Tools - Atari/FreeMiNT package (m68020 - m68060)'
     description: ''
 -




More information about the Scummvm-git-logs mailing list