Open main menu

Difference between revisions of "Game Packaging"

1,524 bytes added ,  03:24, 29 August 2023
no edit summary
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 details and reasoning, you may read [https://blogs.scummvm.org/ankushdutt/2023/06/03/week-1/ this blog].
# Add a new entry to <code>packaging/export-platforms.json</code>. The <code>export-platforms.json</code> consists of the description of scripts that eventually prepare and package the game in a specific format recognized by the distribution store and, if possible, upload the game directly to the distribution store. You can include the 3rd party SDK/scripts/tools or self-written scripts in the <code>packaging/scripts</code> directory. Here is an example for an entry to <code>export-platforms.json</code> (The single $ means variable from <code>packaging/package.py</code> context, double $ means variable from <code>packaging/dlc-games.json</code>, and triple $ means it is an environment variable):
<syntaxhighlight lang="json">
"android": {
"target": "android",
"prepare": {
"type": "python-script",
"location": "android/generate_asset_pack.py",
"options": {
"--packagename": "org.scummvm.scummvm",
"--assetpackname": "$$packname",
"--deliverymode": "on-demand",
"--assetsdir": "$game_location",
"--outdir": "output/android"
},
"successMessage": "Asset pack required for bundling stage is successfully created!"
},
"bundle": {
"type": "python-script",
"location": "android/add_packs.py",
"options": {
"--androidsdk": "$$$ANDROID_SDK_ROOT",
"--sdkver": "33",
"--buildtoolsver": "33.0.2",
"--bundletool": "scripts/android/bundletool-all-1.15.1.jar",
"--inputbundle": "$binary_location",
"--packdir": "output/android",
"--packnames": "$$packname",
"--output": "output/android/scummvm-bundled.aab"
},
"successMessage": "Android App Bundle is successfully created in output/android. You can now manually upload this file on Google Play Console."
},
"upload": {
"type": "none"
}
}
</syntaxhighlight>
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 details and reasoning, you may read [https://blogs.scummvm.org/ankushdutt/2023/06/03/week-1/ this blog].
19

edits