Difference between revisions of "Game Packaging"

From ScummVM :: Wiki
Jump to navigation Jump to search
Line 12: Line 12:
# Set the <code>dlcspath</code> in appropriate backends.
# Set the <code>dlcspath</code> in appropriate backends.
# Use <code>#ifdef USE_DLC</code> where applicable. Before building, make sure to enable DLC support by using <code>--enable-dlc</code> with <code>./configure</code>.
# Use <code>#ifdef USE_DLC</code> where applicable. Before building, make sure to enable DLC support by using <code>--enable-dlc</code> with <code>./configure</code>.
# Add new entry to <code>packaging/export-platforms.json</code> for how to prepare, package and/or upload DLC packages for this specific distribution platform. You can include the 3rd party SDK/scripts/tools or self-written scripts in <code>packaging/scripts</code> directory. It is possible that you might need to change the schema for <code>export-platforms.json</code> and adapt the <code>packaging/package.py</code> accordingly. For more detailed and reasoning, you may read [https://blogs.scummvm.org/ankushdutt/2023/06/03/week-1/ this blog]

Revision as of 15:17, 27 August 2023

Introduction

This page contains information for packaging and distributing freeware games & demos (as DLCs) through in-app DLC downloader.

Platform-specific Guides

  1. ScummVM Cloud
  2. Android

How to extend DLC support to more distribution stores

The general steps/tips are:

  1. Identify if the store have DLC support and have appropriate API or SDK for managing on-demand downloads. You may check this sheet containing information about various distribution stores for reference (might be outdated).
  2. Create a new class that implements backends/dlc/store.h. See backends/dlc/android/playstore.cpp as an example.
  3. Set the dlcspath in appropriate backends.
  4. Use #ifdef USE_DLC where applicable. Before building, make sure to enable DLC support by using --enable-dlc with ./configure.
  5. Add new entry to packaging/export-platforms.json for how to prepare, package and/or upload DLC packages for this specific distribution platform. You can include the 3rd party SDK/scripts/tools or self-written scripts in packaging/scripts directory. It is possible that you might need to change the schema for export-platforms.json and adapt the packaging/package.py accordingly. For more detailed and reasoning, you may read this blog