Open main menu

Difference between revisions of "Game Packaging/ScummVM Cloud"

no edit summary
(Created page with "ScummVM Cloud")
 
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.
19

edits