19
edits
Ankushdutt (talk | contribs) (Created page with "ScummVM Cloud") |
Ankushdutt (talk | contribs) |
||
Line 1: | Line 1: | ||
ScummVM Cloud | ScummVM Cloud is one of the target platforms to allow downloading DLC. Games are hosted on ScummVM's server rather than on a distribution store like Play Store. | ||
ScummVM Cloud uses the existing networking methods to download the games from a web link, and it is supported on various backends where <code>cURL</code> is supported in ScummVM. Due to potentially substantial bandwidth expenses, this feature is disabled by default. | |||
To enable the DLC download feature using ScummVM Cloud, use <code>--enable-scummvmdlc</code> parameter with the <code>./configure</code>. | |||
====== How To Add Games ====== | |||
The games details need to be added in a JSON response. The following details are needed: | |||
# <code>id</code> (Required): It could be any string to uniquely identify the game. The download key for the game entry in ScummVM configuration file will equal to id. | |||
# <code>name</code> (Required): Name of the game visible on DLC modals. | |||
# <code>size</code> (Required): The size of game zip file in bytes (This is required for now, but later can be removed since it is already available in Content-Length of HTTP header) | |||
# <code>url</code> (Required): The URL for the zipped game. This doesn't necessarily required to be on ScummVM's server. | |||
# The detection data for ScummVM config game entries: <code>description</code>, <code>engineid</code>, <code>extra</code>, <code>gameid</code>, <code>guioptions</code>, <code>language</code>, <code>platform</code>. For the data not available leave them as empty string. You might need to run the game detection code by adding a game to get these values. | |||
Here is an example for an entry in the JSON response: | |||
<code>{</code> | |||
<code>description: "Lure of the Temptress (VGA/DOS/English)",</code> | |||
<code>engineid: "lure",</code> | |||
<code>extra: "VGA",</code> | |||
<code>gameid: "lure",</code> | |||
<code>guioptions: "sndNoSpeech gameOption1 lang_English",</code> | |||
<code>id: "lure-1.1-vga",</code> | |||
<code>language: "en",</code> | |||
<code>name: "Lure of the Temptress - Freeware Version (English)",</code> | |||
<code>platform: "pc",</code> | |||
<code>size: 5678861,</code> | |||
<code>url: "<nowiki>https://downloads.scummvm.org/frs/extras/Lure%20of%20the%20Temptress/lure-1.1.zip</nowiki>"</code> | |||
<code>}</code> | |||
To add a new game entry in the JSON response, you need to check where the HTTP request needs to be sent. Look at <code>ScummVMCloud::getAllDLCs(...)</code> function for the HTTP link. You will need to have permission to edit the JSON entry there or ask someone with permission to add a new entry. | |||
At the time of writing this, <code>getAllDLCs(...)</code> currently make request to a temporary firebase instance that can be easily edited from the browser. This will be changed later. |
edits