* Convert a meta data game info into a structure that is suitable
* for http://l2.gamestickservices.net/api/rest/connect/stick/stick/xxx/view.json
*/
-function convertGameDataForConnect(object $gameData, array $popular): array
+function convertGameDataForConnect(object $gameData, array $popular): ?array
{
$userCurrency = 'EUR';
'name' => $gameData->name,
'description' => $gameData->description,
- //FIXME: use original value once changing age works on the server
'minAge' => $gameData->minAge,
'genre' => current($gameData->genres),
'genres' => [],
}
if ($release->versionCode > $highestVersionCode) {
$highestVersionCode = $release->versionCode;
- $highestVersionKey = $releaseKey;
+ $highestVersionKey = $releaseKey;
}
}
+
if ($highestVersionKey !== null) {
$release = $gameData->releases[$highestVersionKey];
$connectData['version'] = $release->uuid;
$connectData['gameversion'] = $release->gsName ?? $release->name;
+
$connectData['size'] = round($release->size / 1024 / 1024 * 1000);
$connectData['download'] = [
'url' => $release->url,
'version' => $release->versionCode,
];
+
+ } else if (count($gameData->releases)) {
+ $firstRelease = reset($gameData->releases);
+ $connectData['name'] = '!! ' . $connectData['name'];
+ $connectData['description']
+ = "Download broken!\n\n" . $connectData['description'];
+ $connectData['version'] = $firstRelease->uuid;
+ $connectData['gameversion'] = $firstRelease->gsName ?? $firstRelease->name;
+
} else {
- $connectData['name'] = '!! ' . $connectData['name'];
+ $connectData['name'] = '!!! ' . $connectData['name'];
+ $connectData['description']
+ = "Release data missing!\n\n" . $connectData['description'];
}
foreach ($gameData->videos as $videoNum => $video) {