games/play-1954-alcatraz.sh0000750000000000000000000000366714471751340014370 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Anna Lea # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # 1954 Alcatraz # send your bug reports to bugs@dotslashplay.it ### script_version=20240728.1 PLAYIT_COMPATIBILITY_LEVEL='2.28' GAME_ID='1954-alcatraz' GAME_NAME='1954 Alcatraz' ARCHIVE_BASE_0_NAME='setup_1954_alcatraz_1.3.5019_(19812).exe' ARCHIVE_BASE_0_MD5='b18fe30eb3fc67e3f6b12f725b297f95' ## Do not convert file paths to lowercase. ARCHIVE_BASE_0_EXTRACTOR='innoextract' ARCHIVE_BASE_0_EXTRACTOR_OPTIONS=' ' ARCHIVE_BASE_0_SIZE='2000000' ARCHIVE_BASE_0_VERSION='1.3.5019-gog19812' ARCHIVE_BASE_0_URL='https://www.gog.com/game/1954_alcatraz' UNITY3D_NAME='Alcatraz' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/Daedalic Entertainment/1954 Alcatraz' ## Work around missing text in options menu. WINE_WINETRICKS_VERBS='arial' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN_ARCH='32' PKG_BIN_DEPS="$PKG_DATA_ID" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-80-days.sh0000750000000000000000000000327714471751340013351 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # 80 Days # send your bug reports to bugs@dotslashplay.it ### script_version=20240708.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='80-days' GAME_NAME='80 Days' ARCHIVE_BASE_0_NAME='setup_80_days_1.17.8_(44038).exe' ARCHIVE_BASE_0_MD5='bde0aa5f33b99f495be27a515d07fff5' ARCHIVE_BASE_0_SIZE='1200000' ARCHIVE_BASE_0_VERSION='1.17.8-gog44038' ARCHIVE_BASE_0_URL='https://www.gog.com/game/80_days' UNITY3D_NAME='80 days' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/Inkle Studios/80 Days' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN_ARCH='32' PKG_BIN_DEPS="$PKG_DATA_ID" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-a-bird-story.sh0000750000000000000000000000613614471751340014475 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2017 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # A Bird Story # send your bug reports to bugs@dotslashplay.it ### script_version=20240905.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='a-bird-story' GAME_NAME='A Bird Story' ARCHIVE_BASE_1_NAME='gog_a_bird_story_2.0.0.3.sh' ARCHIVE_BASE_1_MD5='6f334da4493e8c050a16d4b66987d3ff' ARCHIVE_BASE_1_SIZE='180000' ARCHIVE_BASE_1_VERSION='1.0-gog2.0.0.3' ARCHIVE_BASE_1_URL='https://www.gog.com/game/a_bird_story' ARCHIVE_BASE_0_NAME='gog_a_bird_story_2.0.0.2.sh' ARCHIVE_BASE_0_MD5='8f93d19265394a5fba61aeec23cabb8e' ARCHIVE_BASE_0_SIZE='180000' ARCHIVE_BASE_0_VERSION='1.0-gog2.0.0.2' CONTENT_PATH_DEFAULT='data/noarch/game' ## TODO: Check if some shipped libraries could be dropped CONTENT_LIBS_FILES=' libfreetype.so.6 libjpeg.so.62 libogg.so.0 libopenal.so.1 libphysfs.so.1 libpixman-1.so.0 libpng16.so.16 libruby.so.2.1 libSDL2-2.0.so.0 libSDL2_image-2.0.so.0 libSDL2_ttf-2.0.so.0 libSDL_sound-1.0.so.1 libsigc-2.0.so.0 libvorbisfile.so.3 libvorbis.so.0 libz.so.1' CONTENT_LIBS_BIN64_PATH='data/noarch/game/lib64' CONTENT_LIBS_BIN64_FILES="$CONTENT_LIBS_FILES" CONTENT_LIBS_BIN32_PATH='data/noarch/game/lib' CONTENT_LIBS_BIN32_FILES="$CONTENT_LIBS_FILES" CONTENT_GAME_BIN64_FILES=' ABirdStory.amd64' CONTENT_GAME_BIN32_FILES=' ABirdStory.x86' CONTENT_GAME_DATA_FILES=' preload croptextures mkxp.conf Audio.dat Game.ini icon.png Game.rgssad' CONTENT_DOC_DATA_FILES=' legal LICENSE.txt' APP_MAIN_EXE_BIN64='ABirdStory.amd64' APP_MAIN_EXE_BIN32='ABirdStory.x86' APP_MAIN_ICON='icon.png' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libcrypt.so.1 libc.so.6 libdl.so.2 libgcc_s.so.1 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6' PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-a-jugglers-tale.sh0000750000000000000000000000352714471751340015145 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # A Juggler's Tale # send your bug reports to bugs@dotslashplay.it ### script_version=20240611.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='a-jugglers-tale' GAME_NAME='A Jugglerʼs Tale' ARCHIVE_BASE_0_NAME='setup_a_jugglers_tale_1.16.0_(64bit)_(50655).exe' ARCHIVE_BASE_0_MD5='bb0953d80bf8b9d996bdb453564fe07f' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_a_jugglers_tale_1.16.0_(64bit)_(50655)-1.bin' ARCHIVE_BASE_0_PART1_MD5='2345e25ad4c4f90574b63b3da7e464ab' ARCHIVE_BASE_0_SIZE='2800000' ARCHIVE_BASE_0_VERSION='1.16.0-gog50655' ARCHIVE_BASE_0_URL='https://www.gog.com/game/a_jugglers_tale' UNREALENGINE4_NAME='ajugglerstale' CONTENT_PATH_DEFAULT='.' APP_MAIN_EXE="${UNREALENGINE4_NAME}.exe" PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN_ARCH='64' PKG_BIN_DEPS="$PKG_DATA_ID" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-a-morticians-tale.sh0000750000000000000000000000410214471751340015461 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # A Mortician's Tale # send your bug reports to bugs@dotslashplay.it ### script_version=20240905.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='a-morticians-tale' GAME_NAME='A Mortician’s Tale' ARCHIVE_BASE_64BIT_0_NAME="A Mortician's Tale - Windows x64.zip" ARCHIVE_BASE_64BIT_0_MD5='581b86b6e5f20eeb497b07659aaa0991' ARCHIVE_BASE_64BIT_0_SIZE='180000' ARCHIVE_BASE_64BIT_0_VERSION='1.0-itch' ARCHIVE_BASE_64BIT_0_URL='https://laundrybear.itch.io/morticians-tale' ARCHIVE_BASE_32BIT_0_NAME="A Mortician's Tale - Windows x86.zip" ARCHIVE_BASE_32BIT_0_MD5='02a3fbfd4121a88f462b6b3884d6a75e' ARCHIVE_BASE_32BIT_0_SIZE='180000' ARCHIVE_BASE_32BIT_0_VERSION='1.0-itch' ARCHIVE_BASE_32BIT_0_URL='https://laundrybear.itch.io/morticians-tale' UNITY3D_NAME='morticianstale' CONTENT_PATH_DEFAULT='.' ## TODO: Add a diversion to persistent storage for saved games and settings. PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH_64BIT='64' PKG_BIN_ARCH_32BIT='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-a-new-beginning.sh0000750000000000000000000000373014471751340015123 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2019 Antoine Le Gonidec set -o errexit ### # A New Beginning # send your bug reports to bugs@dotslashplay.it ### script_version=20240820.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='a-new-beginning' GAME_NAME='A New Beginning' ARCHIVE_BASE_0_NAME='setup_a_new_beginning_final_cut_2.0.4.0395_(27805).exe' ARCHIVE_BASE_0_MD5='f914a4260284285461fa9b3cc06b88ec' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_a_new_beginning_final_cut_2.0.4.0395_(27805)-1.bin' ARCHIVE_BASE_0_PART1_MD5='68520b98ded6409f0c17c0204c342a45' ARCHIVE_BASE_0_SIZE='4200000' ARCHIVE_BASE_0_VERSION='2.0.4.0395-gog27805' ARCHIVE_BASE_0_URL='https://www.gog.com/game/a_new_beginning' VISIONAIRE_NAME='anb' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/Local Settings/Application Data/Daedalic Entertainment/A New Beginning - Final Cut' ## Work around audio problems ## TODO: Check if it is still required with current WINE builds WINE_WINETRICKS_VERBS='dsound' PKG_BIN_ARCH='32' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-a-night-at-the-watermill.sh0000750000000000000000000000517314471751340016666 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # A Night at the Watermill # send your bug reports to bugs@dotslashplay.it ### script_version=20241223.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='a-night-at-the-watermill' GAME_NAME='A Night at the Watermill' ARCHIVE_BASE_1_NAME='a_night_at_the_watermill_1_0_799_74242.sh' ARCHIVE_BASE_1_MD5='153c7b4b64b603bf256ea191ac3e959f' ARCHIVE_BASE_1_SIZE='640563' ARCHIVE_BASE_1_VERSION='1.0.799-gog74242' ARCHIVE_BASE_1_URL='https://www.gog.com/game/a_night_at_the_watermill' ARCHIVE_BASE_0_NAME='a_night_at_the_watermill_1_0_794_70569.sh' ARCHIVE_BASE_0_MD5='4e5c4f9b03e2ea0198742a4ca20f2aa1' ARCHIVE_BASE_0_SIZE='624275' ARCHIVE_BASE_0_VERSION='1.0.794-gog70569' CONTENT_PATH_DEFAULT='data/noarch/game/game' CONTENT_GAME_MAIN_FILES=' cache audio.rpa fonts.rpa images.rpa scripts.rpa script_version.txt' USER_PERSISTENT_DIRECTORIES=' saves' APP_MAIN_TYPE='renpy' APP_MAIN_ICON='../../support/icon.png' ## The game tries to write a log file in the current directory, ## so write access to this path is required. APP_MAIN_PREFIX_TYPE='symlinks' ## Ensure easy upgrades from packages generated with pre-20241212.3 game scripts PKG_MAIN_PROVIDES="${PKG_MAIN_PROVIDES:-} a-night-at-the-watermill-data" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data ## Generate standard size icons from the shipped 125×125 one APP_MAIN_ICON_64="$(dirname "$APP_MAIN_ICON")/icon_64.png" APP_MAIN_ICON_128="$(dirname "$APP_MAIN_ICON")/icon_128.png" APP_MAIN_ICONS_LIST='APP_MAIN_ICON_64 APP_MAIN_ICON_128' ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" convert "$APP_MAIN_ICON" -resize 64x64 "$APP_MAIN_ICON_64" convert "$APP_MAIN_ICON" -resize 128x128 "$APP_MAIN_ICON_128" ) content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-a-normal-lost-phone.sh0000750000000000000000000000443014471751340015750 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # A Normal Lost Phone # send your bug reports to bugs@dotslashplay.it ### script_version=20240905.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='a-normal-lost-phone' GAME_NAME='A Normal Lost Phone' ARCHIVE_BASE_0_NAME='anlp1.3_linux_drmfree.zip' ARCHIVE_BASE_0_MD5='145e604b4b4773a4ddf86277f3a68f8e' ARCHIVE_BASE_0_SIZE='160000' ARCHIVE_BASE_0_VERSION='1.3-itch.2018.06.29' ARCHIVE_BASE_0_URL='https://dear-villagers.itch.io/a-normal-lost-phone' UNITY3D_NAME='anlp' UNITY3D_PLUGINS=' ScreenSelector.so' CONTENT_PATH_DEFAULT='.' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libGL.so.1 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libX11.so.6 libXcursor.so.1 libXrandr.so.2' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-a-short-hike.sh0000750000000000000000000000366214471751340014455 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # A Short Hike # send your bug reports to bugs@dotslashplay.it ### script_version=20250307.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='a-short-hike' GAME_NAME='A Short Hike' ARCHIVE_BASE_0_NAME='a-short-hike-linux-latest.zip' ARCHIVE_BASE_0_MD5='a56be18e6c625691edd0b85fa5999439' ARCHIVE_BASE_0_SIZE='350000' ARCHIVE_BASE_0_VERSION='1.9.3-itch.2021.11.22' ARCHIVE_BASE_0_URL='https://adamgryu.itch.io/a-short-hike' UNITY3D_NAME='AShortHike' UNITY3D_PLUGINS=' UnityFbxSdkNative.so' CONTENT_PATH_DEFAULT='.' USER_PERSISTENT_DIRECTORIES=' UserData' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libxml2.so.2 libz.so.1' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-a-space-adventure.sh0000750000000000000000000000347514471751340015470 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # A Space Adventure # send your bug reports to bugs@dotslashplay.it ### script_version=20240915.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='a-space-adventure' GAME_NAME='A Space Adventure' ARCHIVE_BASE_0_NAME='asa_remastered_full_drm_free.zip' ARCHIVE_BASE_0_MD5='af67e83c12c3d0a722af35c71a5678bc' ARCHIVE_BASE_0_VERSION='1.0-itch.2018.01.10' ARCHIVE_BASE_0_SIZE='980000' ARCHIVE_BASE_0_URL='https://the-icehouse.itch.io/asa2015' VISIONAIRE_NAME='asa_r_windows' CONTENT_PATH_DEFAULT='.' CONTENT_GAME0_DATA_FILES=" ${VISIONAIRE_NAME}.vis" CONTENT_DOC0_DATA_FILES=' readme.txt' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/Local/Simon Says Play/ASA Remastered' PKG_BIN_ARCH='32' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" # Convert all paths to lowercase tolower . ) # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-a-vampyre-story.sh0000750000000000000000000000463214471751340015237 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # A Vampyre Story # send your bug reports to bugs@dotslashplay.it ### script_version=20240820.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='a-vampyre-story' GAME_NAME='A Vampyre Story' ## This DRM-free installer is no longer sold by gog.com ARCHIVE_BASE_0_NAME='setup_a_vampyre_story_1.0_(43163).exe' ARCHIVE_BASE_0_MD5='f2441fb51aac6eaca5e97f6e6a3ea0ab' ## Do not convert file paths to lowercase ARCHIVE_BASE_0_EXTRACTOR='innoextract' ARCHIVE_BASE_0_EXTRACTOR_OPTIONS=' ' ARCHIVE_BASE_0_PART1_NAME='setup_a_vampyre_story_1.0_(43163)-1.bin' ARCHIVE_BASE_0_PART1_MD5='2c652e191d82c70fbbe5af4d259f3ba2' ARCHIVE_BASE_0_SIZE='3200000' ARCHIVE_BASE_0_VERSION='1.0-gog43163' CONTENT_PATH_DEFAULT='game' CONTENT_GAME_BIN_FILES=' main.exe w9xpopen.exe __init__.pyc library.zip *.dll *.pyd *.pyo' CONTENT_GAME_DATA_FILES=' assets etc tcl installer.bmp icon.ico' CONTENT_DOC_DATA_FILES=' license.txt readme.txt' USER_PERSISTENT_DIRECTORIES=' assets/scripts etc' WINE_VIRTUAL_DESKTOP='auto' ## Disable CSMT rendering, as it messes up with movies playback ## cf. https://bugs.winehq.org/show_bug.cgi?id=37659 ## TODO: Check if it is still required with current WINE builds WINE_WINETRICKS_VERBS='csmt=off' APP_MAIN_EXE='main.exe' APP_MAIN_ICON='icon.ico' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-a-year-of-springs.sh0000750000000000000000000000345214471751340015422 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # A Year of Springs # send your bug reports to bugs@dotslashplay.it ### script_version=20240905.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='a-year-of-springs' GAME_NAME='A Year of Springs' ARCHIVE_BASE_0_NAME='a_year_of_springs_1_05_60321.sh' ARCHIVE_BASE_0_MD5='683044c44f06061a84490c2a02b5303b' ARCHIVE_BASE_0_SIZE='248120' ARCHIVE_BASE_0_VERSION='1.05-gog60321' ARCHIVE_BASE_0_URL='https://www.gog.com/game/a_year_of_springs' CONTENT_PATH_DEFAULT='data/noarch/game/ayearofsprings-market/game' CONTENT_GAME_MAIN_FILES=' cache presplash_background.png presplash_foreground.png assets.rpa scripts.rpa script_version.txt' APP_MAIN_TYPE='renpy' APP_MAIN_ICON='../../../support/icon.png' ## Ensure easy upgrades from packages generated with pre-20240905.1 game scripts. PKG_MAIN_PROVIDES="${PKG_MAIN_PROVIDES:-} a-year-of-springs-data" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-aer-memories-of-old.sh0000750000000000000000000000662314471751340015725 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # AER: Memories of Old # send your bug reports to bugs@dotslashplay.it ### script_version=20240623.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='aer-memories-of-old' GAME_NAME='AER: Memories of Old' ARCHIVE_BASE_1_NAME='aer_memories_of_old_1_0_4_2_34743.sh' ARCHIVE_BASE_1_MD5='275fbe912805fde9ed3d6d2a25d61b7b' ARCHIVE_BASE_1_TYPE='mojosetup' ARCHIVE_BASE_1_SIZE='1400000' ARCHIVE_BASE_1_VERSION='1.0.4.2-gog34743' ARCHIVE_BASE_1_URL='https://www.gog.com/game/aer' ARCHIVE_BASE_0_NAME='aer_memories_of_old_en_v1_0_4_1_19457.sh' ARCHIVE_BASE_0_MD5='ca59918433567c974b4985767c4af576' ARCHIVE_BASE_0_TYPE='mojosetup' ARCHIVE_BASE_0_SIZE='1400000' ARCHIVE_BASE_0_VERSION='1.0.4.1-gog19475' UNITY3D_NAME='AER' UNITY3D_PLUGINS=' ScreenSelector.so' CONTENT_PATH_DEFAULT='data/noarch/game' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPS="$PKG_DATA_ID" PKG_BIN64_DEPS="$PKG_BIN_DEPS" PKG_BIN32_DEPS="$PKG_BIN_DEPS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libz.so.1' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers ## Force the game to run in windowed mode. case "$(current_archive)" in ('ARCHIVE_BASE_0') unity3d_prefs_path='${HOME}/.config/unity3d/Daedalic Entertainment GmbH/AERMemoriesofOld/prefs' ;; (*) unity3d_prefs_path='${HOME}/.config/unity3d/Daedalic Entertainment GmbH/AER_ Memories of Old/prefs' ;; esac APP_MAIN_PRERUN="$(application_prerun 'APP_MAIN')"' # Force the game to run in windowed mode config_file="'"$unity3d_prefs_path"'" if [ ! -f "$config_file" ] ; then mkdir --parents "$(dirname "$config_file")" cat > "$config_file" <<- EOF 0 0 EOF else sed_pattern='\''.'\'' sed_replacement='\''0'\'' sed --in-place \ "s#${sed_pattern}#${sed_replacement}#" \ "$config_file" fi ' launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-agatha-christie-the-abc-murders.sh0000750000000000000000000000654214471751340020177 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2019 Mopi # SPDX-FileCopyrightText: © 2021 Anna Lea # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Agatha Christie: The ABC Murders # send your bug reports to bugs@dotslashplay.it ### script_version=20240821.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='agatha-christie-the-abc-murders' GAME_NAME='Agatha Christie: The ABC Murders' ARCHIVE_BASE_INTL_0_NAME='gog_agatha_christie_the_abc_murders_2.2.0.4.sh' ARCHIVE_BASE_INTL_0_MD5='271dab525be57f2783622bbbeb30c7c1' ARCHIVE_BASE_INTL_0_SIZE='2700000' ARCHIVE_BASE_INTL_0_VERSION='1.0-gog2.2.0.4' ARCHIVE_BASE_INTL_0_URL='https://www.gog.com/game/agatha_christie_the_abc_murders' ARCHIVE_BASE_PL_0_NAME='gog_agatha_christie_the_abc_murders_polish_2.2.0.4.sh' ARCHIVE_BASE_PL_0_MD5='a9e8e3dcc65e651302e06abbd1446fe6' ARCHIVE_BASE_PL_0_SIZE='2700000' ARCHIVE_BASE_PL_0_VERSION='1.0-gog2.2.0.4' ARCHIVE_BASE_PL_0_URL='https://www.gog.com/game/agatha_christie_the_abc_murders' ARCHIVE_BASE_RU_0_NAME='gog_agatha_christie_the_abc_murders_russian_2.2.0.4.sh' ARCHIVE_BASE_RU_0_MD5='0becf882ba0e8ae4609c3e771236670c' ARCHIVE_BASE_RU_0_SIZE='2700000' ARCHIVE_BASE_RU_0_VERSION='1.0-gog2.2.0.4' ARCHIVE_BASE_RU_0_URL='https://www.gog.com/game/agatha_christie_the_abc_murders' UNITY3D_NAME='The ABC Murders' UNITY3D_PLUGINS=' ScreenSelector.so' ## TODO: Check if the Steam libraries are required. UNITY3D_PLUGINS="$UNITY3D_PLUGINS libCSteamworks.so libsteam_api.so" CONTENT_PATH_DEFAULT='data/noarch/game' CONTENT_GAME_L10N_FILES=" ${UNITY3D_NAME}_Data/Managed ${UNITY3D_NAME}_Data/mainData ${UNITY3D_NAME}_Data/resources.assets ${UNITY3D_NAME}_Data/level*" PACKAGES_LIST=' PKG_BIN PKG_L10N PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_L10N_BASE PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libGL.so.1 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libX11.so.6 libXcursor.so.1 libXrandr.so.2' PKG_L10N_BASE_ID="${GAME_ID}-l10n" PKG_L10N_ID_INTL="${PKG_L10N_BASE_ID}-intl" PKG_L10N_ID_PL="${PKG_L10N_BASE_ID}-pl" PKG_L10N_ID_RU="${PKG_L10N_BASE_ID}-ru" PKG_L10N_PROVIDES=" $PKG_L10N_BASE_ID" PKG_L10N_DESCRIPTION_INTL='English, French, German, Spanish, Italian and Portuguese localizations' PKG_L10N_DESCRIPTION_PL='Polish localization' PKG_L10N_DESCRIPTION_RU='Russian localization' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-agent-a.sh0000750000000000000000000000361614471751340013475 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2021 Antoine Le Gonidec set -o errexit ### # Agent A: A puzzle in disguise # send your bug reports to bugs@dotslashplay.it ### script_version=20240820.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='agent-a' GAME_NAME='Agent A: A puzzle in disguise' ARCHIVE_BASE_0_NAME='setup_agent_a_a_puzzle_in_disguise_5.2.6_(64bit)_(41141).exe' ARCHIVE_BASE_0_MD5='61d97b710d5d13c428133420006591d2' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='510000' ARCHIVE_BASE_0_VERSION='5.2.6-gog41141' ARCHIVE_BASE_0_URL='https://www.gog.com/game/agent_a_a_puzzle_in_disguise' UNITY3D_NAME='agenta' CONTENT_PATH_DEFAULT='.' WINE_REGEDIT_PERSISTENT_KEYS=' HKEY_CURRENT_USER\Software\Yak & Co\Agent A' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_GSTREAMER_PLUGINS=' video/quicktime, variant=(string)iso' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-alba-a-wildlife-adventure.sh0000750000000000000000000000342514471751340017064 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Alba: A Wildlife Adventure # send your bug reports to bugs@dotslashplay.it ### script_version=20240820.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='alba-a-wildlife-adventure' GAME_NAME='Alba: A Wildlife Adventure' ARCHIVE_BASE_0_NAME='setup_alba_a_wildlife_adventure_0.90_(43308).exe' ARCHIVE_BASE_0_MD5='709ac0ea04e7e1f6427b9b8eff0a9e30' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='690000' ARCHIVE_BASE_0_VERSION='0.90-gog43308' ARCHIVE_BASE_0_URL='https://www.gog.com/game/alba_a_wildlife_adventure' UNITY3D_NAME='alba' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/ustwo games/Alba' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-amerzone.sh0000750000000000000000000000701214471751340013773 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2021 Antoine Le Gonidec set -o errexit ### # Amerzone: The Explorer's Legacy # send your bug reports to bugs@dotslashplay.it ### script_version=20240821.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='amerzone' GAME_NAME='Amerzone: The Explorer’s Legacy' ARCHIVE_BASE_EN_0_NAME='setup_amerzone_2.0.0.8.exe' ARCHIVE_BASE_EN_0_MD5='f6be5dbae76289bfdb58eef01913f85e' ARCHIVE_BASE_EN_0_TYPE='innosetup' ARCHIVE_BASE_EN_0_SIZE='2000000' ARCHIVE_BASE_EN_0_VERSION='1.0-gog2.0.0.8' ARCHIVE_BASE_EN_0_URL='https://www.gog.com/game/amerzone_the_explorer_legacy' ARCHIVE_BASE_FR_0_NAME='setup_amerzone_french_2.1.0.10.exe' ARCHIVE_BASE_FR_0_MD5='00458580b95940b6d7257cfa6ba902b2' ARCHIVE_BASE_FR_0_TYPE='innosetup' ARCHIVE_BASE_FR_0_SIZE='2000000' ARCHIVE_BASE_FR_0_VERSION='1.0-gog2.1.0.10' ARCHIVE_BASE_FR_0_URL='https://www.gog.com/game/amerzone_the_explorer_legacy' CONTENT_PATH_DEFAULT='app' CONTENT_GAME_BIN_FILES=' *.dll *.exe launch' CONTENT_GAME_L10N_FILES=' splash ??vr_*/*.ifo ??vr_*/acces_base.vr ??vr_*/avion.vr ??vr_*/bark.vr ??vr_*/carnet.vr ??vr_*/changelevel.vr ??vr_*/chapter?.vr ??vr_*/chklist.vr ??vr_*/coordonnees.vr ??vr_*/credits.vr ??vr_*/disk?.vr ??vr_*/glisseur.vr ??vr_*/grappin.vr ??vr_*/helico.vr ??vr_*/interface.vr ??vr_*/inv_*.vr ??vr_*/inventaire*.vr ??vr_*/lettre*.vr ??vr_*/modes.vr ??vr_*/nocarbu*.vr ??vr_*/oeuf*.vr ??vr_*/options.vr ??vr_*/password.vr ??vr_*/quit.vr ??vr_*/ssmarin.vr ??vr_*/testament.vr ??vr_*/voilier.vr 01vr_phare/sc01_a.smk 01vr_phare/scene01.smk 01vr_phare/scene03.smk 02vr_ile/sc14.smk 02vr_ile/sc15.smk 02vr_ile/sc16.smk 03vr_pueblo/scene23.smk 03vr_pueblo/scene26.smk 03vr_pueblo/scene27.smk 05vr_villagemarais/sc41.smk 01vr_phare/warp214.vr 02vr_ile/warp321.vr 03vr_pueblo/warp404.vr 03vr_pueblo/warp410.vr 04vr_fleuve/warp518a.vr 04vr_fleuve/warp519a.vr 05vr_villagemarais/warp734.vr 01vr_phare/museum.wav 05vr_villagemarais/indian8.wav 05vr_villagemarais/indian9.wav 05vr_villagemarais/indian10.wav' CONTENT_GAME_DATA_FILES=' *.dat *.ico *.pak *.smk *.tst *.vr ??vr_*' CONTENT_DOC_L10N_FILES=' *.pdf' USER_PERSISTENT_FILES=' Saved_*.bin' WINE_VIRTUAL_DESKTOP='auto' APP_MAIN_EXE='amerzone.exe' PACKAGES_LIST=' PKG_BIN PKG_L10N PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_L10N_BASE PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_L10N_BASE_ID="${GAME_ID}-l10n" PKG_L10N_ID_EN="${PKG_L10N_BASE_ID}-en" PKG_L10N_ID_FR="${PKG_L10N_BASE_ID}-fr" PKG_L10N_PROVIDES=" $PKG_L10N_BASE_ID" PKG_L10N_DESCRIPTION_EN='English localization' PKG_L10N_DESCRIPTION_FR='French localization' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-ankh-1.sh0000750000000000000000000000511214471751340013231 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Ankh 1 # send your bug reports to bugs@dotslashplay.it ### script_version=20241023.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='ankh-1' GAME_NAME='Ankh' ARCHIVE_BASE_0_NAME='setup_ankh_-_anniversary_edition_1.0a_(34062).exe' ARCHIVE_BASE_0_MD5='b1e6094c37d3da40352303c0a1f51f0c' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='910000' ARCHIVE_BASE_0_VERSION='1.0a-gog34062' ARCHIVE_BASE_0_URL='https://www.gog.com/game/ankh_anniversary_edition' CONTENT_PATH_DEFAULT='.' CONTENT_GAME_BIN_FILES=' bin' CONTENT_GAME_DATA_FILES=' media' CONTENT_DOC_DATA_FILES=' readme.txt' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/Roaming/Ankh' USER_PERSISTENT_FILES=' bin/release/plugins.cfg media/*.cfg media/*.ini' APP_MAIN_EXE='bin/release/ankh.exe' APP_MAIN_ICON='bin/release/ankh.ico' ## The game expects a writable "save" directory, ## despite not using it to store saved games APP_MAIN_PRERUN=' # The game expects a writable "save" directory, # despite not using it to store saved games mkdir --parents save ' ## Enable game logs storage APP_MAIN_PRERUN="${APP_MAIN_PRERUN:-}"' # Enable game logs storage mkdir --parents bin/release/logs ' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" # Drop log files rm --recursive \ 'bin/release/logs' \ 'bin/release/cegui.log' \ 'bin/release/ogre.log' ) # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers ## Run the game binary from its parent directory game_exec_line() { cat <<- 'EOF' cd bin/release $(wine_command) ankh.exe "$@" EOF } launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-annas-quest.sh0000750000000000000000000000354614471751340014422 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2017 Mopi # SPDX-FileCopyrightText: © 2017 Antoine Le Gonidec set -o errexit ### # Anna's Quest # send your bug reports to bugs@dotslashplay.it ### script_version=20240822.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='annas-quest' GAME_NAME='Anna’s Quest' ARCHIVE_BASE_1_NAME='anna_s_quest_1_1_0214_27877.sh' ARCHIVE_BASE_1_MD5='48fd7d6c2a8a519a227cbf604392109b' ARCHIVE_BASE_1_SIZE='1200000' ARCHIVE_BASE_1_VERSION='1.1.0214-gog27877' ARCHIVE_BASE_1_URL='https://www.gog.com/game/annas_quest' ARCHIVE_BASE_0_NAME='gog_anna_s_quest_2.1.0.3.sh' ARCHIVE_BASE_0_MD5='cb4cf167a13413b6df8238397393298a' ARCHIVE_BASE_0_SIZE='1100000' ARCHIVE_BASE_0_VERSION='1.0.0202-gog2.1.0.3' VISIONAIRE_NAME='anna' CONTENT_PATH_DEFAULT='data/noarch/game' APP_MAIN_ICON='../support/icon.png' PKG_BIN_ARCH='64' ## Ensure smooth upgrades from packages generated by game scripts pre-20231005.1 PKG_DATA_PROVIDES=' annas-quest-videos' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-another-lost-phone.sh0000750000000000000000000000464414471751340015711 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2019 BetaRays # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Another Lost Phone: Laura's Story # send your bug reports to bugs@dotslashplay.it ### script_version=20240915.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='another-lost-phone' GAME_NAME='Another Lost Phone: Laura’s Story' ARCHIVE_BASE_0_NAME='another-lost-phone-lauras-story_lin.zip' ARCHIVE_BASE_0_MD5='0302bfe834c12bde582ec2dbf5e0a69f' ## unzip can not be used because "\" is used as the path separator in the archive, instead of "/". ARCHIVE_BASE_0_EXTRACTOR='unar' ARCHIVE_BASE_0_SIZE='150000' ARCHIVE_BASE_0_VERSION='1.0-indiegala' ARCHIVE_BASE_0_URL='https://freebies.indiegala.com/another-lost-phone-laura-s-story' UNITY3D_NAME='alp' UNITY3D_PLUGINS=' ScreenSelector.so' CONTENT_PATH_DEFAULT='.' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libz.so.1' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-apocalipsis.sh0000750000000000000000000000341014471751340014460 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Apocalipsis # send your bug reports to bugs@dotslashplay.it ### script_version=20240707.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='apocalipsis' GAME_NAME='Apocalipsis' ARCHIVE_BASE_0_NAME='setup_apocalipsis_wormwood_edition_2.0.0.2.exe' ARCHIVE_BASE_0_MD5='546af1780657e64f0d2463b2fb5617dd' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='4100000' ARCHIVE_BASE_0_VERSION='1.0-gog2.0.0.2' ARCHIVE_BASE_0_URL='https://www.gog.com/game/apocalipsis_wormwood_edition' UNITY3D_NAME='apocalipsis' CONTENT_PATH_DEFAULT='app' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/Roaming/Apocalipsis' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN_ARCH='32' PKG_BIN_DEPS="$PKG_DATA_ID" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-arise-a-simple-story.sh0000750000000000000000000000437314471751340016150 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Arise: A Simple Story # send your bug reports to bugs@dotslashplay.it ### script_version=20241105.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='arise-a-simple-story' GAME_NAME='Arise: A Simple Story' ARCHIVE_BASE_0_NAME='setup_arise_a_simple_story_1.20.3_(64bit)_(53242).exe' ARCHIVE_BASE_0_MD5='7b0ce5207861d990aa4d2c4ba9baefb1' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_arise_a_simple_story_1.20.3_(64bit)_(53242)-1.bin' ARCHIVE_BASE_0_PART1_MD5='a364d73d653de062ff7f2808614bd6ef' ARCHIVE_BASE_0_PART2_NAME='setup_arise_a_simple_story_1.20.3_(64bit)_(53242)-2.bin' ARCHIVE_BASE_0_PART2_MD5='ab2a758bd1885455e45336ba70cbc018' ARCHIVE_BASE_0_SIZE='5800000' ARCHIVE_BASE_0_VERSION='1.20.3-gog53242' ARCHIVE_BASE_0_URL='https://www.gog.com/game/arise_a_simple_story' UNREALENGINE4_NAME='arise' CONTENT_PATH_DEFAULT='.' APP_MAIN_EXE="${UNREALENGINE4_NAME}/binaries/win64/${UNREALENGINE4_NAME}-win64-shipping.exe" ## The --name=101 wrestool option, default for UE4 games, should not be used here APP_MAIN_ICON_WRESTOOL_OPTIONS='--type=14' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-armikrog.sh0000750000000000000000000001003114471751340013761 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2022 Anna Lea # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Armikrog # send your bug reports to bugs@dotslashplay.it ### script_version=20250406.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='armikrog' GAME_NAME='Armikrog' ARCHIVE_BASE_LINUX_0_NAME='gog_armikrog_2.5.0.6.sh' ARCHIVE_BASE_LINUX_0_MD5='4ca9ac6d05ac66c18229e41da6fd89dd' ARCHIVE_BASE_LINUX_0_SIZE='2900000' ARCHIVE_BASE_LINUX_0_VERSION='2016.01.11-gog2.5.0.6' ARCHIVE_BASE_LINUX_0_URL='https://www.gog.com/game/armikrog' ## Support for the Windows build is provided to work around a double cursor display bug on the Linux build. ## cf. https://forge.dotslashplay.it/play.it/games-adventure/-/issues/87 ARCHIVE_BASE_WINDOWS_0_NAME='setup_armikrog_1.05_(20650).exe' ARCHIVE_BASE_WINDOWS_0_MD5='9b18bfd56117bcdbd95434203303b941' ARCHIVE_BASE_WINDOWS_0_TYPE='innosetup' ARCHIVE_BASE_WINDOWS_0_SIZE='2900000' ARCHIVE_BASE_WINDOWS_0_VERSION='1.05-gog20650' ARCHIVE_BASE_WINDOWS_0_URL='https://www.gog.com/game/armikrog' UNITY3D_NAME_LINUX='Armikrog' UNITY3D_NAME_WINDOWS='armikrog' UNITY3D_PLUGINS=' ScreenSelector.so' CONTENT_PATH_DEFAULT_LINUX='data/noarch/game' CONTENT_PATH_DEFAULT_WINDOWS='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/PencilTestStudios/Armikrog' # Packages PKG_BIN_ID="$GAME_ID" PKG_BIN_PROVIDES=" $PKG_BIN_ID" PKG_BIN64_PROVIDES="$PKG_BIN_PROVIDES" PKG_BIN32_PROVIDES="$PKG_BIN_PROVIDES" PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_PROVIDES=" $PKG_DATA_ID" PKG_DATA_DESCRIPTION='data' ## Linux build PACKAGES_LIST_LINUX=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ID_LINUX="${PKG_BIN_ID}-linux" PKG_BIN32_ID_LINUX="${PKG_BIN_ID}-linux" PKG_BIN64_ARCH_LINUX='64' PKG_BIN32_ARCH_LINUX='32' PKG_BIN_DEPENDENCIES_LIBRARIES_LINUX=' libatk-1.0.so.0 libcairo.so.2 libc.so.6 libdl.so.2 libfontconfig.so.1 libfreetype.so.6 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libgdk-x11-2.0.so.0 libgio-2.0.so.0 libglib-2.0.so.0 libGL.so.1 libGLU.so.1 libgmodule-2.0.so.0 libgobject-2.0.so.0 libgthread-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpango-1.0.so.0 libpangocairo-1.0.so.0 libpangoft2-1.0.so.0 libpthread.so.0 librt.so.1 libstdc++.so.6 libX11.so.6 libXcursor.so.1 libXext.so.6 libXrandr.so.2' PKG_BIN64_DEPENDENCIES_LIBRARIES_LINUX="$PKG_BIN_DEPENDENCIES_LIBRARIES_LINUX" PKG_BIN32_DEPENDENCIES_LIBRARIES_LINUX="$PKG_BIN_DEPENDENCIES_LIBRARIES_LINUX" PKG_DATA_ID_LINUX="${PKG_DATA_ID}-linux" ## Windows build PACKAGES_LIST_WINDOWS=' PKG_BIN PKG_DATA' PKG_BIN_ID_WINDOWS="${PKG_BIN_ID}-windows" PKG_BIN_ARCH_WINDOWS='32' PKG_DATA_ID_WINDOWS="${PKG_DATA_ID}-windows" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers ## Do not disable the MAP_32BIT flag, as it would lead to a crash on launch unity3d_disable_map32bit() { return 0 ; } case "$(current_archive)" in ('ARCHIVE_BASE_LINUX_'*) launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' ;; ('ARCHIVE_BASE_WINDOWS_'*) launchers_generation 'PKG_BIN' ;; esac # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-astrologaster.sh0000750000000000000000000000360014471751340015043 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Astrologaster # send your bug reports to bugs@dotslashplay.it ### script_version=20240905.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='astrologaster' GAME_NAME='Astrologaster' ARCHIVE_BASE_0_NAME='AstrologasterWindows.zip' ARCHIVE_BASE_0_MD5='049626f1818a1fdd828c3cdadd2052a9' ARCHIVE_BASE_0_SIZE='710000' ARCHIVE_BASE_0_VERSION='1.6.0-itch1' ARCHIVE_BASE_0_URL='https://nyamyam.itch.io/astrologaster' CONTENT_PATH_DEFAULT='AstrologasterWindows' CONTENT_GAME_BIN_FILES=' glew32.dll SDL2.dll Astrologaster.exe' ## Despite the "Binary" name, this path seems to include only architecture-agnostic data. CONTENT_GAME_DATA_FILES=' Binary' USER_PERSISTENT_DIRECTORIES=' Save' APP_MAIN_EXE='Astrologaster.exe' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-atlantis-1.sh0000755000000000000000000000564114471751340014143 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2017 Antoine Le Gonidec set -o errexit ### # Atlantis: The Lost Tales # send your bug reports to bugs@dotslashplay.it ### script_version=20250807.2 PLAYIT_COMPATIBILITY_LEVEL='2.33' GAME_ID='atlantis-1' GAME_NAME='Atlantis: The Lost Tales' ARCHIVE_BASE_EN_0_NAME='setup_atlantis_the_lost_tales_2.0.0.15.exe' ARCHIVE_BASE_EN_0_MD5='287170bea9041b4e29888d97f87eb9fc' ARCHIVE_BASE_EN_0_TYPE='innosetup' ARCHIVE_BASE_EN_0_SIZE='1900000' ARCHIVE_BASE_EN_0_VERSION='1.0-gog2.0.0.15' ARCHIVE_BASE_EN_0_URL='https://www.gog.com/game/atlantis_the_lost_tales' ARCHIVE_BASE_FR_0_NAME='setup_atlantis_the_lost_tales_french_2.1.0.15.exe' ARCHIVE_BASE_FR_0_MD5='0cb6b037a457d35dacd23e1f22aea57b' ARCHIVE_BASE_FR_0_TYPE='innosetup' ARCHIVE_BASE_FR_0_SIZE='1900000' ARCHIVE_BASE_FR_0_VERSION='1.0-gog2.1.0.15' ARCHIVE_BASE_FR_0_URL='https://www.gog.com/game/atlantis_the_lost_tales' CONTENT_PATH_DEFAULT='app' CONTENT_GAME_BIN_FILES=' *.exe *.dll' CONTENT_GAME_L10N_FILES=' images/end.tga scenar sprlist wav' CONTENT_GAME_DATA_FILES=' *.big cyclo dialog images puzzles sprite ubb_vue wam' CONTENT_DOC_DATA_FILES=' *.pdf' USER_PERSISTENT_FILES=' players.atl' ## Set game directory in the registry. # shellcheck disable=SC1003 WINE_REGISTRY_INIT=' [HKEY_CURRENT_USER\Software\CRYO\Atlantis\GameDirectory] @="C:\\'"${GAME_ID}"'\\"' APP_MAIN_EXE='atlantis.exe' PACKAGES_LIST=' PKG_BIN PKG_L10N PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_ID="$GAME_ID" PKG_BIN_ID_EN="${PKG_BIN_ID}-en" PKG_BIN_ID_FR="${PKG_BIN_ID}-fr" PKG_BIN_PROVIDES=" $PKG_BIN_ID" PKG_BIN_DESCRIPTION_EN='English version' PKG_BIN_DESCRIPTION_FR='French version' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_L10N PKG_DATA' PKG_L10N_ID="${GAME_ID}-l10n" PKG_L10N_ID_EN="${PKG_L10N_ID}-en" PKG_L10N_ID_FR="${PKG_L10N_ID}-fr" PKG_L10N_PROVIDES=" $PKG_L10N_ID" PKG_L10N_DESCRIPTION_EN='English localization' PKG_L10N_DESCRIPTION_FR='French localization' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-bad-dream-series.sh0000750000000000000000000000540214471751340015260 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2021 Anna Lea # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Bad Dream series: # - Bad Dream: Coma # - Bad Dream: Fever # send your bug reports to bugs@dotslashplay.it ### script_version=20250519.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID_COMA='bad-dream-coma' GAME_NAME_COMA='Bad Dream: Coma' GAME_ID_FEVER='bad-dream-fever' GAME_NAME_FEVER='Bad Dream: Fever' ARCHIVE_BASE_COMA_0_NAME='setup_bad_dream_coma_1.0_(26985).exe' ARCHIVE_BASE_COMA_0_MD5='e4f0655ee22d99bdf09d0ee7a6980f23' ARCHIVE_BASE_COMA_0_TYPE='innosetup' ARCHIVE_BASE_COMA_0_SIZE='4100000' ARCHIVE_BASE_COMA_0_VERSION='1.0-gog26985' ARCHIVE_BASE_COMA_0_URL='https://www.gog.com/game/bad_dream_coma' ARCHIVE_BASE_FEVER_0_NAME='setup_bad_dream_fever_1.0_(26985).exe' ARCHIVE_BASE_FEVER_0_MD5='19336f3d5f3920873c7f111f9bda3f8b' ARCHIVE_BASE_FEVER_0_TYPE='innosetup' ARCHIVE_BASE_FEVER_0_SIZE='490000' ARCHIVE_BASE_FEVER_0_VERSION='1.0-gog26985' ARCHIVE_BASE_FEVER_0_URL='https://www.gog.com/game/bad_dream_fever' CONTENT_PATH_DEFAULT='.' CONTENT_GAME_BIN_FILES=' d3dx9_43.dll options.ini' CONTENT_GAME0_BIN_FILES_COMA=' bad dream coma.exe' CONTENT_GAME0_BIN_FILES_FEVER=' bad dream fever.exe' CONTENT_GAME_DATA_FILES=' language splash.png data.win *.dat *.ogg' WINE_PERSISTENT_DIRECTORIES_COMA=' users/${USER}/Local Settings/Application Data/Bad_Dream_Coma' WINE_PERSISTENT_DIRECTORIES_FEVER=' users/${USER}/Local Settings/Application Data/Bad_Dream_Fever' APP_MAIN_EXE_COMA='bad dream coma.exe' APP_MAIN_EXE_FEVER='bad dream fever.exe' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID_COMA="${GAME_ID_COMA}-data" PKG_DATA_ID_FEVER="${GAME_ID_FEVER}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-bad-end-theater.sh0000750000000000000000000000307214471751340015101 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Bad End Theater # send your bug reports to bugs@dotslashplay.it ### script_version=20240906.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='bad-end-theater' GAME_NAME='Bad End Theater' ARCHIVE_BASE_0_NAME='bad_end_theater_1_6_0_62289.sh' ARCHIVE_BASE_0_MD5='27a1f2aa68d562e2ef55d67c5405d43f' ARCHIVE_BASE_0_SIZE='182527' ARCHIVE_BASE_0_VERSION='1.6.0-gog62289' ARCHIVE_BASE_0_URL='https://www.gog.com/game/bad_end_theater' CONTENT_PATH_DEFAULT='data/noarch/game/game' CONTENT_GAME_MAIN_FILES=' cache tl archive.rpa script_version.txt' APP_MAIN_TYPE='renpy' APP_MAIN_ICON='../../support/icon.png' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-bad-mojo.sh0000750000000000000000000000613114471751340013644 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Bad Mojo # send your bug reports to bugs@dotslashplay.it ### script_version=20250807.1 PLAYIT_COMPATIBILITY_LEVEL='2.33' GAME_ID='bad-mojo' GAME_NAME='Bad Mojo' ARCHIVE_BASE_0_NAME='setup_badmojo_2.0.0.3.exe' ARCHIVE_BASE_0_MD5='aedcb9e57bf5c6e692b889d3c21c4d12' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='770000' ARCHIVE_BASE_0_VERSION='1.0-gog2.0.0.3' ARCHIVE_BASE_0_URL='https://www.gog.com/game/bad_mojo_redux' CONTENT_PATH_DEFAULT='app' CONTENT_GAME_BIN_FILES=' badmojo.exe qthook.dll waveout.dll' ## This configuration file is created by the current game script. CONTENT_GAME0_BIN_FILES=' badmojo.ini' CONTENT_GAME1_BIN_PATH='tmp' CONTENT_GAME1_BIN_FILES=' quicktimeinstaller.exe' CONTENT_GAME_DATA_FILES=' backgnd btc cel extras mash movie over palette qtsystem roachd save scribble script sound topo quicktime.qts' USER_PERSISTENT_DIRECTORIES=' save' USER_PERSISTENT_FILES=' badmojo.ini' APP_MAIN_EXE='badmojo.exe' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" # Create required configuration file. game_id=$(game_id) cat > 'badmojo.ini' <<- EOF [booger] BACKGROUND=C:\\${game_id}\\OVER;C:\\${game_id}\\BACKGND TOPO=C:\\${game_id}\\TOPO BTC=C:\\${game_id}\\BTC PALETTE=C:\\${game_id}\\PALETTE SCRIBBLE=C:\\${game_id}\\OVER;C:\\${game_id}\\SCRIBBLE CEL=C:\\${game_id}\\OVER;C:\\${game_id}\\CEL SCRIPT=C:\\${game_id}\\SCRIPT ROACH=C:\\${game_id}\\ROACHD MOVIE=C:\\${game_id}\\OVER;C:\\${game_id}\\MOVIE MASH=C:\\${game_id}\\OVER;C:\\${game_id}\\MASH SOUND=C:\\${game_id}\\SOUND SAVE=C:\\${game_id}\\SAVE [SoundMix] SoundOn=1 BetweenScreens=1 SmallChunkSize=3 BigChunkSize=26 BigChunkMethod=0 DumbSound=0 [badmojo] Preferences=1111110 EOF ) # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers ## Install the shipped QuickTime player. wineprefix_init_custom() { cat <<- 'EOF' ## Install the shipped QuickTime player. wine C:\\bad-mojo\\quicktimeinstaller.exe EOF } launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-beacon-pines.sh0000750000000000000000000000344514471751340014524 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Beacon Pines # send your bug reports to bugs@dotslashplay.it ### script_version=20250406.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='beacon-pines' GAME_NAME='Beacon Pines' ARCHIVE_BASE_0_NAME='setup_beacon_pines_1.1.1_(63135).exe' ARCHIVE_BASE_0_MD5='a19d066a3d9c7df55a1db27e47e7852f' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='1943267' ARCHIVE_BASE_0_VERSION='1.1.1-gog63135' ARCHIVE_BASE_0_URL='https://www.gog.com/game/beacon_pines' UNITY3D_NAME='beacon pines' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/Hiding Spot/Beacon Pines' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-bear-with-me.sh0000750000000000000000000000400414471751340014432 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Bear With Me # send your bug reports to bugs@dotslashplay.it ### script_version=20240807.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='bear-with-me' GAME_NAME='Bear With Me' ARCHIVE_BASE_0_NAME='setup_bear_with_me_the_complete_collection_1.5_(64bit)_(31355).exe' ARCHIVE_BASE_0_MD5='dc976c102553bfc06edab9fc2de4b1c7' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_bear_with_me_the_complete_collection_1.5_(64bit)_(31355)-1.bin' ARCHIVE_BASE_0_PART1_MD5='4e7acd402cd6bfd66c6df053b9a70353' ARCHIVE_BASE_0_SIZE='4500000' ARCHIVE_BASE_0_VERSION='1.5-gog31355' ARCHIVE_BASE_0_URL='https://www.gog.com/game/bear_with_me_the_complete_collection' UNITY3D_NAME='bear with me - the lost robots' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/Exordium Games/Bear With Me - The Lost Robots' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-beat-cop.sh0000750000000000000000000000504314471751340013647 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Anna Lea # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Beat Cop # send your bug reports to bugs@dotslashplay.it ### script_version=20241112.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='beat-cop' GAME_NAME='Beat Cop' ARCHIVE_BASE_0_NAME='beat_cop_en_1_1_744_17129.sh' ARCHIVE_BASE_0_MD5='090be367a794f7c8a0043a94bea71bf8' ARCHIVE_BASE_0_SIZE='360000' ARCHIVE_BASE_0_VERSION='1.1.744-gog17129' ARCHIVE_BASE_0_URL='https://www.gog.com/game/beat_cop' UNITY3D_NAME='BeatCop' CONTENT_PATH_DEFAULT='data/noarch/game' ## FIXME: The list of Unity3D plugins to include should be set using UNITY3D_PLUGINS CONTENT_GAME0_BIN64_FILES=" ${UNITY3D_NAME}_Data/Plugins/x86_64" CONTENT_GAME0_BIN32_FILES=" ${UNITY3D_NAME}_Data/Plugins/x86" ## FIXME: Shipped libraries to include should be listed using CONTENT_xxx_LIBS_{PATH,FILES} CONTENT_GAME1_BIN64_FILES=' lib64' CONTENT_GAME1_BIN32_FILES=' lib32' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" # TODO: The list of dependencies should be completed PKG_BIN_DEPENDENCIES_LIBRARIES=' libstdc++.so.6 libSDL2-2.0.so.0 libgdk-x11-2.0.so.0 libz.so.1' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-beautiful-desolation.sh0000750000000000000000000000576214471751340016304 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Beautiful Desolation # send your bug reports to bugs@dotslashplay.it ### script_version=20241209.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='beautiful-desolation' GAME_NAME='Beautiful Desolation' ARCHIVE_BASE_1_NAME='beautiful_desolation_1_0_5_5_44769.sh' ARCHIVE_BASE_1_MD5='0656c2fb0ef2ad2bc0087d16f5d02e46' ARCHIVE_BASE_1_SIZE='16000000' ARCHIVE_BASE_1_VERSION='1.0.5.5-gog44769' ARCHIVE_BASE_1_URL='https://www.gog.com/game/beautiful_desolation' ARCHIVE_BASE_0_NAME='beautiful_desolation_1_0_3_9_38147.sh' ARCHIVE_BASE_0_MD5='18fe66cffc59f033a4d057233b1ebb1f' ARCHIVE_BASE_0_SIZE='14000000' ARCHIVE_BASE_0_VERSION='1.0.3.9-gog38147' UNITY3D_NAME='desolation' UNITY3D_PLUGINS=' ScreenSelector.so' ## The Steam library must be included to avoid the following crash on launch: ## ## System.DllNotFoundException: steam_api ## at (wrapper managed-to-native) Steamworks.NativeMethods:SteamAPI_RestartAppIfNecessary (Steamworks.AppId_t) ## at Steamworks.SteamAPI.RestartAppIfNecessary (AppId_t unOwnAppID) [0x00000] in :0 ## at SteamManager.Awake () [0x00000] in :0 UNITY3D_PLUGINS="${UNITY3D_PLUGINS:-}"' libsteam_api.so' CONTENT_PATH_DEFAULT='data/noarch/game' CONTENT_GAME_DATA_VIDEO_FILES=" ${UNITY3D_NAME}_Data/StreamingAssets/videoEncoded ${UNITY3D_NAME}_Data/StreamingAssets/videoEncoded_webm ${UNITY3D_NAME}_Data/StreamingAssets/bundles/videoencoded_mp4-media_*" PACKAGES_LIST=' PKG_BIN PKG_DATA_VIDEO PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_DATA_DEPENDENCIES_SIBLINGS=' PKG_DATA_VIDEO' PKG_DATA_VIDEO_ID="${PKG_DATA_ID}-video" PKG_DATA_VIDEO_DESCRIPTION="$PKG_DATA_DESCRIPTION - video" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-before-your-eyes.sh0000750000000000000000000000356714471751340015367 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Before Your Eyes # send your bug reports to bugs@dotslashplay.it ### script_version=20240906.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='before-your-eyes' GAME_NAME='Before Your Eyes' ARCHIVE_BASE_0_NAME='setup_before_your_eyes_1.2.6.9_(61649).exe' ARCHIVE_BASE_0_MD5='4da11b5113be696a0dc0764e19e06a99' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_before_your_eyes_1.2.6.9_(61649)-1.bin' ARCHIVE_BASE_0_PART1_MD5='c0ecc5986194e1c090662a25c25b8eb7' ARCHIVE_BASE_0_SIZE='5100000' ARCHIVE_BASE_0_VERSION='1.2.6.9-gog61649' ARCHIVE_BASE_0_URL='https://www.gog.com/game/before_your_eyes' UNITY3D_NAME='before your eyes' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/Goodbye World/Before Your Eyes' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-behind-the-frame.sh0000750000000000000000000000361014471751340015252 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2022 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Behind the Frame: The Finest Scenery # send your bug reports to bugs@dotslashplay.it ### script_version=20240807.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='behind-the-frame' GAME_NAME='Behind the Frame: The Finest Scenery' ARCHIVE_BASE_0_NAME='setup_behind_the_frame_the_finest_scenery_2.0.2_01_(56766).exe' ARCHIVE_BASE_0_MD5='ed9d47bbb283bd8763c2c8f7a351f5d2' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='2500000' ARCHIVE_BASE_0_VERSION='2.0.2.01-gog56766' ARCHIVE_BASE_0_URL='https://www.gog.com/en/game/behind_the_frame_the_finest_scenery' UNITY3D_NAME='behind the frame' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/Silver Lining Studio/Behind the Frame' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-beyond-zork.sh0000750000000000000000000000370214471751340014420 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2016 Antoine Le Gonidec # SPDX-FileCopyrightText: © 2017 Mopi set -o errexit ### # Beyond Zork: The Coconut of Quendor # send your bug reports to bugs@dotslashplay.it ### script_version=20240915.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='beyond-zork' GAME_NAME='Beyond Zork: The Coconut of Quendor' ARCHIVE_BASE_1_NAME='setup_beyond_zork_-_the_coconut_of_quendor_1.0_(28043).exe' ARCHIVE_BASE_1_MD5='01a92eaa89649bac71115c0599f67e89' ARCHIVE_BASE_1_SIZE='17236' ARCHIVE_BASE_1_VERSION='1.0-gog28043' ARCHIVE_BASE_1_URL='https://www.gog.com/game/the_zork_anthology' ARCHIVE_BASE_0_NAME='setup_beyond_zork_2.1.0.17.exe' ARCHIVE_BASE_0_MD5='8a5168d7340af5b1b4df708f467785c0' ARCHIVE_BASE_0_SIZE='21000' ARCHIVE_BASE_0_VERSION='1.0-gog2.1.0.17' CONTENT_PATH_DEFAULT='.' CONTENT_PATH_DEFAULT_0='app' CONTENT_GAME_MAIN_FILES=' data bzork.exe frotz.exe beyondzo.mg1' CONTENT_DOC_MAIN_FILES=' *.pdf' USER_PERSISTENT_FILES=' *.SAV' APP_MAIN_EXE='frotz.exe' APP_MAIN_OPTIONS='data\\beyondzo.dat' APP_MAIN_ICON='goggame-1207661533.ico' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-blade-runner.sh0000750000000000000000000000704214471751340014534 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 macaron # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Blade Runner # send your bug reports to bugs@dotslashplay.it ### script_version=20240624.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='blade-runner' GAME_NAME='Blade Runner' # Archives ## Blade Runner ARCHIVE_BASE_EN_0_NAME='blade_runner_1_0_svm_src_34722.sh' ARCHIVE_BASE_EN_0_MD5='d9dd6f98eb8dc9401d5499a1d48e5d76' ## TODO: Check if it is required to force the extraction using unzip. ARCHIVE_BASE_EN_0_EXTRACTOR='unzip' ARCHIVE_BASE_EN_0_SIZE='1700000' ARCHIVE_BASE_EN_0_VERSION='1.0-gog34722' ARCHIVE_BASE_EN_0_URL='https://www.gog.com/game/blade_runner' ARCHIVE_BASE_FR_0_NAME='blade_runner_french_1_0_svm_src_34722.sh' ARCHIVE_BASE_FR_0_MD5='98ee3723ac6114a6b464af0b07f76757' ## TODO: Check if it is required to force the extraction using unzip. ARCHIVE_BASE_FR_0_EXTRACTOR='unzip' ARCHIVE_BASE_FR_0_SIZE='1700000' ARCHIVE_BASE_FR_0_VERSION='1.0-gog34722' ARCHIVE_BASE_FR_0_URL='https://www.gog.com/game/blade_runner' ## Optional subtitles ARCHIVE_OPTIONAL_SUBTITLES_NAME='Blade_Runner_Subtitles-v6.zip' ARCHIVE_OPTIONAL_SUBTITLES_MD5='f9b4e5738d3c6092cac3485c41f47cb2' ARCHIVE_OPTIONAL_SUBTITLES_URL='https://www.scummvm.org/games/#bladerunner' # Archive contents ## Blade Runner CONTENT_PATH_DEFAULT='data/noarch/game/data' CONTENT_GAME_MAIN_FILES=' *.dat *.mix *.tlk' CONTENT_DOC_MAIN_FILES=' *.pdf' CONTENT_DOC0_MAIN_PATH='data/noarch/docs' CONTENT_DOC0_MAIN_FILES=' *.txt' ## Optional subtitles CONTENT_GAME_SUBTITLES_PATH='.' CONTENT_GAME_SUBTITLES_FILES=' subtitles.mix' CONTENT_DOC_SUBTITLES_PATH='.' CONTENT_DOC_SUBTITLES_FILES=' readme.txt' APP_MAIN_SCUMMID='bladerunner:bladerunner' APP_MAIN_ICON='../../support/icon.png' APP_RESTORED_SCUMMID='bladerunner:bladerunner-final' APP_RESTORED_ID="${GAME_ID}-restored" APP_RESTORED_NAME="$GAME_NAME with restored content" APP_RESTORED_ICON='../../support/icon.png' PKG_MAIN_ID="$GAME_ID" PKG_MAIN_ID_EN="${GAME_ID}-en" PKG_MAIN_ID_FR="${GAME_ID}-fr" PKG_MAIN_PROVIDES=" $PKG_MAIN_ID" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Check for the presence of optional extra archives ## Optional subtitles archive_initialize_optional \ 'ARCHIVE_SUBTITLES' \ 'ARCHIVE_OPTIONAL_SUBTITLES' # Extract game data archive_extraction 'SOURCE_ARCHIVE' ## Optional subtitles if archive_is_available 'ARCHIVE_SUBTITLES'; then archive_extraction 'ARCHIVE_SUBTITLES' fi ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" ## Convert all file paths to lowercase. tolower . ) # Include game data content_inclusion_icons ## Optional subtitles if archive_is_available 'ARCHIVE_SUBTITLES'; then content_inclusion 'GAME_SUBTITLES' 'PKG_MAIN' "$(path_game_data)" content_inclusion 'DOC_SUBTITLES' 'PKG_MAIN' "$(path_documentation)/subtitles" fi content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-blind-men.sh0000750000000000000000000000351714471751340014026 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Blind Men # send your bug reports to bugs@dotslashplay.it ### script_version=20250406.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='blind-men' GAME_NAME='Blind Men' ARCHIVE_BASE_0_NAME='Blind_Men-1.3-linux.tar.bz2' ARCHIVE_BASE_0_MD5='7ad9b061db08427caebbef1650f34004' ARCHIVE_BASE_0_SIZE='325205' ARCHIVE_BASE_0_VERSION='1.3-itch.2020.09.25' ARCHIVE_BASE_0_URL='https://maneatergames.itch.io/blind-men' CONTENT_PATH_DEFAULT='Blind_Men-1.3-linux/game' CONTENT_GAME_MAIN_FILES=' cache images music hunter_diamondbranch images.rpa scripts.rpa script_version.txt' APP_MAIN_TYPE='renpy' ## Ensure easy upgrades from packages generated with pre-20250406.1 game scripts PKG_MAIN_PROVIDES="${PKG_MAIN_PROVIDES:-} blind-men-data" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_default # Write launchers ## Use default Ren'Py icon desktop_field_icon() { printf 'renpy' } launchers_generation # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-botanicula.sh0000750000000000000000000001100114471751340014265 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2016 Mopi # SPDX-FileCopyrightText: © 2016 Antoine Le Gonidec set -o errexit ### # Botanicula # send your bug reports to bugs@dotslashplay.it ### script_version=20240822.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='botanicula' GAME_NAME='Botanicula' ARCHIVE_BASE_LINUX_0_NAME='gog_botanicula_2.0.0.2.sh' ARCHIVE_BASE_LINUX_0_MD5='7b92a379f8d2749e2f97c43ecc540c3c' ARCHIVE_BASE_LINUX_0_SIZE='760000' ARCHIVE_BASE_LINUX_0_VERSION='1.0.1-gog2.0.0.2' ARCHIVE_BASE_LINUX_0_URL='https://www.gog.com/game/botanicula' ## Support for the Windows build is provided as a fallback for Wayland users who can not start the Linux build ## cf. https://forge.dotslashplay.it/play.it/games/-/issues/372 ARCHIVE_BASE_WINDOWS_0_NAME='setup_botanicula_1.2.0_(30036).exe' ARCHIVE_BASE_WINDOWS_0_MD5='e35fc9d7577766841943eac4c0f7e84e' ARCHIVE_BASE_WINDOWS_0_TYPE='innosetup' ARCHIVE_BASE_WINDOWS_0_SIZE='856400' ARCHIVE_BASE_WINDOWS_0_VERSION='1.2.0-gog30036' ARCHIVE_BASE_WINDOWS_0_URL='https://www.gog.com/game/botanicula' # Archive content ## Linux build CONTENT_PATH_DEFAULT_LINUX='data/noarch/game' CONTENT_LIBS_BIN_PATH="${CONTENT_PATH_DEFAULT_LINUX}/runtimes/air/linux/Adobe AIR/Versions/1.0" CONTENT_LIBS_BIN_FILES=' libCore.so' CONTENT_LIBS0_BIN_PATH="${CONTENT_PATH_DEFAULT_LINUX}/runtimes/air/linux/Adobe AIR/Versions/1.0/Resources" CONTENT_LIBS0_BIN_FILES=' libaddkey.so libadobecertstore.so libadobecp15.so libadobecp.so libcurl.so libeggtray.so libflashplayer.so libpacparser.so libWebKit.so' CONTENT_GAME_BIN_FILES_LINUX=' bin/adl runtimes' CONTENT_GAME_DATA_FILES_LINUX=' bin/*.xml bin/*.swf bin/data' ## Windows build CONTENT_PATH_DEFAULT_WINDOWS='.' CONTENT_GAME_BIN_FILES_WINDOWS=' adobe air botanicula.exe' CONTENT_GAME_DATA_FILES_WINDOWS=' data meta-inf mimetype botaniculal.swf botaniculalaunch.swf' # Launcher ## Linux build APP_MAIN_EXE_LINUX='bin/adl' APP_MAIN_OPTIONS_LINUX='bin/BotaniculaLinux-app.xml -nodebug' APP_MAIN_ICONS_LIST_LINUX='APP_MAIN_ICON_16 APP_MAIN_ICON_32 APP_MAIN_ICON_36 APP_MAIN_ICON_48 APP_MAIN_ICON_57 APP_MAIN_ICON_72 APP_MAIN_ICON_114 APP_MAIN_ICON_128 APP_MAIN_ICON_256 APP_MAIN_ICON_512' APP_MAIN_ICON_16='bin/data/icons/b16.png' APP_MAIN_ICON_32='bin/data/icons/b32.png' APP_MAIN_ICON_36='bin/data/icons/b36.png' APP_MAIN_ICON_48='bin/data/icons/b48.png' APP_MAIN_ICON_57='bin/data/icons/b57.png' APP_MAIN_ICON_72='bin/data/icons/b72.png' APP_MAIN_ICON_114='bin/data/icons/b114.png' APP_MAIN_ICON_128='bin/data/icons/b128.png' APP_MAIN_ICON_256='bin/data/icons/b256.png' APP_MAIN_ICON_512='bin/data/icons/b512.png' ## Windows build WINE_PERSISTENT_DIRECTORIES=' users/${USER}/Documents/BotaniculaSaves' APP_MAIN_EXE_WINDOWS='botanicula.exe' # Packages PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ID="$GAME_ID" PKG_BIN_PROVIDES=" $PKG_BIN_ID" PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_PROVIDES=" $PKG_DATA_ID" PKG_DATA_DESCRIPTION='data' ## Linux build PKG_BIN_ID_LINUX="${PKG_BIN_ID}-linux" PKG_BIN_DEPENDENCIES_LIBRARIES_LINUX=' libatk-1.0.so.0 libcairo.so.2 libc.so.6 libdl.so.2 libfontconfig.so.1 libfreetype.so.6 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libgdk-x11-2.0.so.0 libglib-2.0.so.0 libgmodule-2.0.so.0 libgobject-2.0.so.0 libgthread-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libnspr4.so libnss3.so libpango-1.0.so.0 libpangocairo-1.0.so.0 libpthread.so.0 librt.so.1 libsmime3.so libssl3.so libstdc++.so.6 libX11.so.6 libXcursor.so.1 libxml2.so.2 libXrender.so.1 libz.so.1' PKG_DATA_ID_LINUX="${PKG_DATA_ID}-linux" ## Windows build PKG_BIN_ID_WINDOWS="${PKG_BIN_ID}-windows" PKG_DATA_ID_WINDOWS="${PKG_DATA_ID}-windows" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-boxville.sh0000750000000000000000000000363014471751340014001 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Boxville # send your bug reports to bugs@dotslashplay.it ### script_version=20250406.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='boxville' GAME_NAME='Boxville' ARCHIVE_BASE_0_NAME='boxville_1_0_61161.sh' ARCHIVE_BASE_0_MD5='4ac9f6f811999e3f6a457767dc0a583c' ARCHIVE_BASE_0_SIZE='2100000' ARCHIVE_BASE_0_VERSION='1.0-gog61161' ARCHIVE_BASE_0_URL='https://www.gog.com/game/boxville' UNITY3D_NAME='Boxville' CONTENT_PATH_DEFAULT='data/noarch/game' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libm.so.6 libpthread.so.0 librt.so.1 libz.so.1' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" # Drop useless Unity3D plugins rm --recursive "$(unity3d_name)_Data/Plugins" ) # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-broken-age.sh0000750000000000000000000000411214471751340014163 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Broken Age # send your bug reports to bugs@dotslashplay.it ### script_version=20240822.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='broken-age' GAME_NAME='Broken Age' ARCHIVE_BASE_0_NAME='gog_broken_age_2.5.0.11.sh' ARCHIVE_BASE_0_MD5='c875f1e09f1d1a26e19266d7a5a6045f' ARCHIVE_BASE_0_SIZE='2240040' ARCHIVE_BASE_0_VERSION='2.4.800398-gog2.5.0.11' ARCHIVE_BASE_0_URL='https://www.gog.com/game/broken_age' CONTENT_PATH_DEFAULT='data/noarch/game' CONTENT_LIBS_BIN_PATH="${CONTENT_PATH_DEFAULT}/lib" CONTENT_LIBS_BIN_FILES=' libfmodevent-4.42.16.so libfmodeventnet-4.42.16.so libfmodex-4.42.16.so' CONTENT_GAME_BIN_FILES=' BrokenAge' CONTENT_GAME_DATA_FILES=' *.pck' CONTENT_DOC_DATA_FILES=' *.txt' APP_MAIN_EXE='BrokenAge' APP_MAIN_ICON='../support/icon.png' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libGL.so.1 libm.so.6 libpthread.so.0 librt.so.1 libSDL2-2.0.so.0 libstdc++.so.6' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-broken-minds.sh0000750000000000000000000000500114471751340014537 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Broken Minds # send your bug reports to bugs@dotslashplay.it ### script_version=20250228.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='broken-minds' GAME_NAME='Broken Minds' ARCHIVE_BASE_0_NAME='broken-minds-win-osx-linux.zip' ARCHIVE_BASE_0_MD5='bd76cf6fded5a9712125fdcd73daac28' ARCHIVE_BASE_0_SIZE='1900000' ARCHIVE_BASE_0_VERSION='1.0-itch1' ARCHIVE_BASE_0_URL='https://lockedon.itch.io/broken-minds' CONTENT_PATH_DEFAULT='BROKEN_MINDS-1.0-market/game' CONTENT_FONTS_MAIN_RELATIVE_PATH='fonts' CONTENT_FONTS_MAIN_FILES=' ManicDepressive_new.ttf Menlo.ttc' CONTENT_GAME_MAIN_FILES=' ambi BGS cache chars CTSNES HUD map menus music SCENERIOS sfx side UI Shoko.otf script_version.txt *.png *.rpy *.rpyc' CONTENT_DOC_MAIN_PATH='BROKEN_MINDS-1.0-market' CONTENT_DOC_MAIN_FILES=' README.html' APP_MAIN_TYPE='renpy' APP_MAIN_ICON='icon.png' # Convert the shipped icon to a standard size REQUIREMENTS_LIST="${REQUIREMENTS_LIST:-} convert" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" # Convert the shipped icon to a standard size convert "$APP_MAIN_ICON" -resize 256 "${APP_MAIN_ICON}_resized.png" mv "${APP_MAIN_ICON}_resized.png" "$APP_MAIN_ICON" ) # Include game data content_inclusion_icons content_inclusion_default ## The game engine looks for fonts in a hardcoded path. fonts_destination="$(package_path "$(current_package)")$(path_game_data)/fonts" mkdir --parents "$fonts_destination" ln --symbolic \ "$(path_fonts_ttf)/ManicDepressive_new.ttf" \ "$(path_fonts_ttf)/Menlo.ttc" \ "$fonts_destination" # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-broken-sword-1.sh0000750000000000000000000001007114471751340014724 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2018 BetaRays # SPDX-FileCopyrightText: © 2018 Antoine Le Gonidec set -o errexit ### # Broken Sword: Shadow of the Templars: # - Broken Sword: Shadow of the Templars (original game) # - Broken Sword: Shadow of the Templars - The Director's Cut # send your bug reports to bugs@dotslashplay.it ### script_version=20250216.2 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID_ORIGINAL='broken-sword-1' GAME_NAME_ORIGINAL='Broken Sword: Shadow of the Templars' GAME_ID_DC='broken-sword-1-directors-cut' GAME_NAME_DC='Broken Sword: Shadow of the Templars - The Director’s Cut' ## Orignal game ARCHIVE_BASE_ORIGINAL_0_NAME='gog_broken_sword_the_shadow_of_the_templars_2.0.0.4.sh' ARCHIVE_BASE_ORIGINAL_0_MD5='d326a04e32610549960b6b0a67779c81' ARCHIVE_BASE_ORIGINAL_0_SIZE='462448' ARCHIVE_BASE_ORIGINAL_0_VERSION='1.0-gog2.0.0.4' ARCHIVE_BASE_ORIGINAL_0_URL='https://www.gog.com/game/broken_sword_directors_cut' ## The Director's cut ARCHIVE_BASE_DC_GOG_0_NAME='gog_broken_sword_director_s_cut_2.0.0.2.sh' ARCHIVE_BASE_DC_GOG_0_MD5='8f7cd1b6742946e111aa83fdfac0bcad' ARCHIVE_BASE_DC_GOG_0_SIZE='1400000' ARCHIVE_BASE_DC_GOG_0_VERSION='1.0.8-gog2.0.0.2' ARCHIVE_BASE_DC_GOG_0_URL='https://www.gog.com/game/broken_sword_directors_cut' ARCHIVE_BASE_DC_HUMBLE_0_NAME='BrokenSword1DirectorsCut_v1.0.800_Linux_1372464772.tar.gz' ARCHIVE_BASE_DC_HUMBLE_0_MD5='f4867d26cda9d8b06b617abcdd8bb1b7' ARCHIVE_BASE_DC_HUMBLE_0_SIZE='1312868' ARCHIVE_BASE_DC_HUMBLE_0_VERSION='1.0.8-humble.2013.07.01' ARCHIVE_BASE_DC_HUMBLE_0_URL='https://www.humblebundle.com/store/broken-sword-shadow-of-the-templars-the-directors-cut' CONTENT_PATH_DEFAULT_ORIGINAL='data/noarch/data' CONTENT_PATH_DEFAULT_DC_HUMBLE='bs1dc_linux_v1.0.800' CONTENT_PATH_DEFAULT_DC_GOG='data/noarch/game' CONTENT_GAME_MAIN_FILES_ORIGINAL=' clusters music speech video' CONTENT_GAME_BIN64_FILES_DC=' x86_64/bs1dc_x86_64' CONTENT_GAME_BIN32_FILES_DC=' i386/bs1dc_i386' CONTENT_GAME_DATA_FILES_DC=' font icon.bmp movies music *.dat' CONTENT_DOC_DATA_FILES_DC=' legal.txt' APP_MAIN_SCUMMID_ORIGINAL='sword1:sword1' APP_MAIN_EXE_BIN64='x86_64/bs1dc_x86_64' APP_MAIN_EXE_BIN32='i386/bs1dc_i386' APP_MAIN_ICON_ORIGINAL='../support/icon.png' APP_MAIN_ICON_DC='icon.bmp' PACKAGES_LIST_DC=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libgcc_s.so.1 libm.so.6 libopenal.so.1 libpthread.so.0 libSDL-1.2.so.0 libstdc++.so.6' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_DATA_ID="${GAME_ID_DC}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data case "$(current_archive)" in ('ARCHIVE_BASE_ORIGINAL_'*) content_inclusion_icons ;; ('ARCHIVE_BASE_DC_'*) content_inclusion_icons 'PKG_DATA' ;; esac content_inclusion_default # Write launchers case "$(current_archive)" in ('ARCHIVE_BASE_ORIGINAL_'*) launchers_generation ;; ('ARCHIVE_BASE_DC_'*) launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' ;; esac # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-broken-sword-2.sh0000750000000000000000000001207614471751340014734 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2020 macaron # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Broken Sword 2 # send your bug reports to bugs@dotslashplay.it ### script_version=20240822.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='broken-sword-2' GAME_NAME='Broken Sword Ⅱ: The Smoking Mirror' GAME_ID_REMASTERED="${GAME_ID}-remastered" GAME_NAME_REMASTERED="$GAME_NAME - Remastered" # Archives ## Broken Sword 2 (1997) ARCHIVE_BASE_0_NAME='gog_broken_sword_2_the_smoking_mirror_1.0.0.2.tar.gz' ARCHIVE_BASE_0_MD5='003e43babbdb7abc04c64f7482b27329' ARCHIVE_BASE_0_SIZE='1200000' ARCHIVE_BASE_0_VERSION='1.0-gog1.0.0.2' ARCHIVE_BASE_0_URL='https://www.gog.com/game/broken_sword_2__the_smoking_mirror' ## Broken Sword 2 Remastered (2011) ARCHIVE_BASE_REMASTERED_1_NAME='broken_sword_2_remastered_3_3_0_59987.sh' ARCHIVE_BASE_REMASTERED_1_MD5='7e9b9959778dfcf4b2e346dbe6657c3f' ARCHIVE_BASE_REMASTERED_1_SIZE='810000' ARCHIVE_BASE_REMASTERED_1_VERSION='3.3.0-gog59987' ARCHIVE_BASE_REMASTERED_1_URL='https://www.gog.com/game/broken_sword_2__the_smoking_mirror' ARCHIVE_BASE_REMASTERED_0_NAME='gog_broken_sword_2_remastered_2.0.0.3.sh' ARCHIVE_BASE_REMASTERED_0_MD5='a67ce1d6a47b74281b6f230365fb296a' ARCHIVE_BASE_REMASTERED_0_SIZE='1400000' ARCHIVE_BASE_REMASTERED_0_VERSION='1.0.800-gog.2.0.0.3' # Archive content ## Broken Sword 2 (1997) CONTENT_PATH_DEFAULT='Broken Sword 2 - The Smoking Mirror/data' CONTENT_GAME_MAIN_FILES=' *.clu *.inf *.tab *.bmp' CONTENT_GAME0_MAIN_PATH="${CONTENT_PATH_DEFAULT}/extras" CONTENT_GAME0_MAIN_FILES=' *' CONTENT_DOC_MAIN_FILES=' *.txt' CONTENT_DOC0_MAIN_PATH="${CONTENT_PATH_DEFAULT}/../docs" CONTENT_DOC0_MAIN_FILES=' *.txt' ## Broken Sword 2 Remastered (2011) CONTENT_PATH_DEFAULT_REMASTERED='data/noarch/game' CONTENT_GAME_BIN64_FILES_REMASTERED=' BrokenSword2_x86_64' CONTENT_GAME_BIN32_FILES_REMASTERED=' BrokenSword2_i386' CONTENT_GAME_BIN32_FILES_REMASTERED_0=' BS2Remastered_i386' CONTENT_GAME_DATA_FILES_REMASTERED=' Audio Comic Game Movies Text Data.dat Legal.txt' CONTENT_GAME_DATA_FILES_0_REMASTERED=' Fonts PC Text icon.bmp bs2.ico *.BUK *.clu *.dat *.DAT *.DIC' # Launchers ## Broken Sword 2 (1997) APP_MAIN_SCUMMID='sword2' APP_MAIN_ICON='../support/gog-broken-sword-2-the-smoking-mirror.png' ## Broken Sword 2 Remastered (2011) APP_MAIN_EXE_BIN32_REMASTERED='BrokenSword2_i386' APP_MAIN_EXE_BIN32_REMASTERED_0='BS2Remastered_i386' APP_MAIN_EXE_BIN64_REMASTERED='BrokenSword2_x86_64' APP_MAIN_ICON_REMASTERED='../support/icon.png' APP_MAIN_ICON_REMASTERED_0='icon.bmp' # Packages ## Broken Sword 2 Remastered (2011) PACKAGES_LIST_REMASTERED=' PKG_BIN64 PKG_BIN32 PKG_DATA' PACKAGES_LIST_REMASTERED_0=' PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libGL.so.1 libm.so.6 libopenal.so.1 libpthread.so.0 librt.so.1 libstdc++.so.6' PKG_BIN_DEPENDENCIES_LIBRARIES_REMASTERED_0=' libc.so.6 libdl.so.2 libgcc_s.so.1 libGL.so.1 libm.so.6 libopenal.so.1 libpthread.so.0 librt.so.1 libSDL-1.2.so.0 libstdc++.so.6' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES_REMASTERED_0="$PKG_BIN_DEPENDENCIES_LIBRARIES_REMASTERED_0" PKG_DATA_ID="${GAME_ID_REMASTERED}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" # Broken Sword 2 (1997) - Convert all file paths to lowercase case "$(current_archive)" in ('ARCHIVE_BASE_REMASTERED_'*) ;; (*) tolower . ;; esac ) # Include game data case "$(current_archive)" in ('ARCHIVE_BASE_REMASTERED_'*) content_inclusion_icons 'PKG_DATA' ;; (*) content_inclusion_icons ;; esac content_inclusion_default # Write launchers APP_MAIN_EXE_BIN64=$(context_value 'APP_MAIN_EXE_BIN64') APP_MAIN_EXE_BIN32=$(context_value 'APP_MAIN_EXE_BIN32') case "$(current_archive)" in ('ARCHIVE_BASE_REMASTERED_0') launchers_generation 'PKG_BIN32' ;; ('ARCHIVE_BASE_REMASTERED_'*) launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' ;; (*) launchers_generation ;; esac # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-broken-sword-3.sh0000750000000000000000000000407314471751340014733 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Broken Sword 3 # send your bug reports to bugs@dotslashplay.it ### script_version=20240822.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='broken-sword-3' GAME_NAME='Broken Sword 3: The Sleeping Dragon' ARCHIVE_BASE_0_NAME='setup_broken_sword_3_-_the_sleeping_dragon_1.0_(19115).exe' ARCHIVE_BASE_0_MD5='e53f974fa1042cb65a8f5fd9d2ee3b58' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_broken_sword_3_-_the_sleeping_dragon_1.0_(19115)-1.bin' ARCHIVE_BASE_0_PART1_MD5='3901d740c9071b43eae5b5e3566ef4c6' ARCHIVE_BASE_0_SIZE='1900000' ARCHIVE_BASE_0_VERSION='1.0-gog19115' ARCHIVE_BASE_0_URL='https://www.gog.com/game/broken_sword_3__the_sleeping_dragon' CONTENT_PATH_DEFAULT='.' CONTENT_GAME_BIN_FILES=' binkw32.dll bstsd.exe' CONTENT_GAME_DATA_FILES=' data data.pak' CONTENT_DOC_DATA_FILES=' manual.pdf readme.txt' USER_PERSISTENT_DIRECTORIES=' saves' APP_MAIN_EXE='bstsd.exe' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-broken-sword-4.sh0000750000000000000000000000736214471751340014740 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Broken Sword 4 # send your bug reports to bugs@dotslashplay.it ### script_version=20240822.2 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='broken-sword-4' GAME_NAME='Broken Sword Ⅳ: The Angel of Death' ARCHIVE_BASE_FR_1_NAME='setup_broken_sword_4_the_angel_of_death_1.1a_(french)_(24519).exe' ARCHIVE_BASE_FR_1_MD5='75736ac9d99d3a9c8fcc509bf425eaa3' ARCHIVE_BASE_FR_1_TYPE='innosetup' ARCHIVE_BASE_FR_1_PART1_NAME='setup_broken_sword_4_the_angel_of_death_1.1a_(french)_(24519)-1.bin' ARCHIVE_BASE_FR_1_PART1_MD5='3600609e744183605ca94f5ab5e36325' ARCHIVE_BASE_FR_1_SIZE='2800000' ARCHIVE_BASE_FR_1_VERSION='1.1a-gog24519' ARCHIVE_BASE_FR_1_URL='https://www.gog.com/game/broken_sword_4' ARCHIVE_BASE_EN_1_NAME='setup_broken_sword_4_the_angel_of_death_1.1a_(24519).exe' ARCHIVE_BASE_EN_1_MD5='25ed1fcd2a322bc6f722b84e899cdeb0' ARCHIVE_BASE_EN_1_TYPE='innosetup' ARCHIVE_BASE_EN_1_PART1_NAME='setup_broken_sword_4_the_angel_of_death_1.1a_(24519)-1.bin' ARCHIVE_BASE_EN_1_PART1_MD5='75e4b7cc0c7d96f56c070a71442c49c0' ARCHIVE_BASE_EN_1_SIZE='2800000' ARCHIVE_BASE_EN_1_VERSION='1.1a-gog24519' ARCHIVE_BASE_EN_1_URL='https://www.gog.com/game/broken_sword_4' ARCHIVE_BASE_EN_0_NAME='setup_broken_sword_4_1.1_(15751).exe' ARCHIVE_BASE_EN_0_MD5='b53297cce551b12e8bef23dade1eda68' ARCHIVE_BASE_EN_0_TYPE='innosetup' ARCHIVE_BASE_EN_0_PART1_NAME='setup_broken_sword_4_1.1_(15751)-1.bin' ARCHIVE_BASE_EN_0_PART1_MD5='4518a353cc41a95745095ddfb220c750' ARCHIVE_BASE_EN_0_SIZE='2900000' ARCHIVE_BASE_EN_0_VERSION='1.1-gog15751' CONTENT_PATH_DEFAULT='.' CONTENT_PATH_DEFAULT_EN_0='app' CONTENT_GAME_BIN_FILES=' system bs4pc.exe *.dll' CONTENT_GAME_L10N_FILES=' english.pak french.pak' CONTENT_GAME_DATA_FILES=' data audio.pak bs4.pak' CONTENT_GAME0_DATA_PATH="${CONTENT_PATH_DEFAULT}/app" CONTENT_GAME0_DATA_FILES=' data' CONTENT_DOC_DATA_FILES=' manual.pdf' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/Documents/Broken Sword - The Angel of Death' ## TODO: Check if the virtual desktop is still required with current WINE builds WINE_VIRTUAL_DESKTOP='auto' ## Using the built-in Direct3D shaders compiler, the game is not displayed correctly ## Multiple errors related to shader compilation are spammed in WINE debug output ## TODO: Check if it is still a problem with current WINE builds WINE_WINETRICKS_VERBS='d3dcompiler_47' APP_MAIN_EXE='bs4pc.exe' PACKAGES_LIST=' PKG_BIN PKG_L10N PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_L10N_BASE PKG_DATA' PKG_L10N_BASE_ID="${GAME_ID}-l10n" PKG_L10N_ID_EN="${PKG_L10N_BASE_ID}-en" PKG_L10N_ID_FR="${PKG_L10N_BASE_ID}-fr" PKG_L10N_PROVIDES=" $PKG_L10N_BASE_ID" PKG_L10N_DESCRIPTION_EN='English localization' PKG_L10N_DESCRIPTION_FR='French localization' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-brothers-a-tale-of-two-sons.sh0000750000000000000000000000445614471751340017346 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Brothers: A Tale of Two Sons # send your bug reports to bugs@dotslashplay.it ### script_version=20250406.2 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='brothers-a-tale-of-two-sons' GAME_NAME='Brothers: A Tale of Two Sons' ARCHIVE_BASE_0_NAME='setup_brothers_-_a_tale_of_two_sons_gog-2_(6538).exe' ARCHIVE_BASE_0_MD5='59101e78c4e0687db9e07d45533cdea2' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='1500000' ARCHIVE_BASE_0_VERSION='1.2-gog6538' ARCHIVE_BASE_0_URL='https://www.gog.com/game/brothers_a_tale_of_two_sons' CONTENT_PATH_DEFAULT='app' CONTENT_GAME_BIN_FILES=' binaries engine/config engine/shaders' CONTENT_GAME_DATA_FILES=' p13 engine/localization engine/splash' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/Documents/My Games/Brothers - A Tale of Two Sons' WINE_WINEPREFIX_TWEAKS='mono' ## Without a WINE virtual desktop, ## keyboard inputs do not register. WINE_VIRTUAL_DESKTOP='auto' APP_MAIN_EXE='binaries/win32/brothers.exe' ## Explicitly setting the application type is required, ## or it would be misidentified as a Mono game. APP_MAIN_TYPE='wine' PACKAGES_LIST=' PKG_DATA PKG_BIN' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-calico.sh0000750000000000000000000000410214471751340013402 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Calico # send your bug reports to bugs@dotslashplay.it ### script_version=20250406.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' ## The command `calico` is already provided by an IRC bouncer: ## https://git.causal.agency/pounce/about/calico.1 GAME_ID='calico-game' GAME_NAME='Calico' ARCHIVE_BASE_0_NAME='setup_calico_1.0.5_(45142).exe' ARCHIVE_BASE_0_MD5='f2b7aa8e3944f26a02d1ea19afa8e4f0' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='930000' ARCHIVE_BASE_0_VERSION='1.0.5-gog45142' ARCHIVE_BASE_0_URL='https://www.gog.com/game/calico' UNITY3D_NAME='calico' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/Peachy Keen Games/Calico' ## The wined3d renderer fails to apply some transformation operations, ## that are used to customize the player character appearance. WINE_DIRECT3D_RENDERER='dxvk' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-call-of-cthulhu-prisoner-of-ice.sh0000750000000000000000000000526214471751340020146 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 macaron # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Call of Cthulhu: Prisoner of Ice # send your bug reports to bugs@dotslashplay.it ### script_version=20240505.1 PLAYIT_COMPATIBILITY_LEVEL='2.28' GAME_ID='call-of-cthulhu-prisoner-of-ice' GAME_NAME='Call of Cthulhu: Prisoner of Ice' ARCHIVE_BASE_EN_0_NAME='call_of_cthulhu_prisoner_of_ice_en_gog_5_17654.sh' ARCHIVE_BASE_EN_0_MD5='c3f64c02981cfacefd3b3f8d0d504ac3' ARCHIVE_BASE_EN_0_SIZE='310000' ARCHIVE_BASE_EN_0_VERSION='1.0-gog17654' ARCHIVE_BASE_EN_0_URL='https://www.gog.com/game/call_of_cthulhu_prisoner_of_ice' ARCHIVE_BASE_FR_0_NAME='call_of_cthulhu_prisoner_of_ice_fr_gog_5_17654.sh' ARCHIVE_BASE_FR_0_MD5='da1f4dad3ee3817a026390fa28320284' ARCHIVE_BASE_FR_0_SIZE='350000' ARCHIVE_BASE_FR_0_VERSION='1.0-gog17654' ARCHIVE_BASE_FR_0_URL='https://www.gog.com/game/call_of_cthulhu_prisoner_of_ice' CONTENT_PATH_DEFAULT='data/noarch/data' CONTENT_GAME_MAIN_FILES=' ice cd' CONTENT_DOC_MAIN_FILES=' *.txt' CONTENT_DOC0_MAIN_PATH='data/noarch/docs' CONTENT_DOC0_MAIN_FILES=' *.pdf *.txt' CONTENT_DOC1_MAIN_PATH_EN='data/noarch/docs/english' CONTENT_DOC1_MAIN_PATH_FR='data/noarch/docs/french' CONTENT_DOC1_MAIN_FILES=' *.pdf *.txt' GAME_IMAGE='cd' GAME_IMAGE_TYPE='cdrom' APP_MAIN_EXE='ice640.exe' APP_MAIN_DOSBOX_PRERUN='d:' APP_MAIN_ICON='../support/icon.png' ## The type can not be omitted, because the binary is actually on the CD-ROM image. APP_MAIN_TYPE='dosbox' USER_PERSISTENT_FILES=' ice/*.cfg ice/*.ice ice/*.pck' PKG_MAIN_ID="$GAME_ID" PKG_MAIN_ID_EN="${PKG_MAIN_ID}-en" PKG_MAIN_ID_FR="${PKG_MAIN_ID}-fr" PKG_MAIN_PROVIDES=" $PKG_MAIN_ID" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers ## Work around the binary presence check, ## it is actually included in the CD-ROM image. launcher_target_presence_check() { return 0; } launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-call-of-cthulhu-shadow-of-the-comet.sh0000750000000000000000000000544014471751340020715 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 macaron # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Call of Cthulhu: Shadow of the Comet # send your bug reports to bugs@dotslashplay.it ### script_version=20240505.1 PLAYIT_COMPATIBILITY_LEVEL='2.28' GAME_ID='call-of-cthulhu-shadow-of-the-comet' GAME_NAME='Call of Cthulhu: Shadow of the Comet' ARCHIVE_BASE_0_NAME='gog_call_of_cthulhu_shadow_of_the_comet_2.0.0.4.sh' ARCHIVE_BASE_0_MD5='18c4f78b766e8e1d638e4ac32df0be60' ARCHIVE_BASE_0_SIZE='150000' ARCHIVE_BASE_0_VERSION='1.0-gog2.0.0.4' ARCHIVE_BASE_0_URL='https://www.gog.com/game/call_of_cthulhu_shadow_of_the_comet' CONTENT_PATH_DEFAULT='data/noarch/data' CONTENT_GAME_MAIN_FILES=' infogram cd' CONTENT_DOC_MAIN_PATH='data/noarch/docs' CONTENT_DOC_MAIN_FILES=' *.pdf *.txt' GAME_IMAGE='cd' GAME_IMAGE_TYPE='cdrom' APP_MAIN_EXE='shadow.exe' APP_MAIN_DOSBOX_PRERUN='d: config -set cpu cycles=fixed 13000' APP_MAIN_ICON='../support/icon.png' ## The type can not be omitted, because the binary is actually on the CD-ROM image. APP_MAIN_TYPE='dosbox' APP_MUSEUM_ID="${GAME_ID}-museum" APP_MUSEUM_NAME="$GAME_NAME - Lovecraft Museum" APP_MUSEUM_EXE='museum.exe' APP_MUSEUM_DOSBOX_PRERUN='d: config -set cpu cycles=fixed 13000' APP_MUSEUM_ICON='../support/icon.png' ## The type can not be omitted, because the binary is actually on the CD-ROM image. APP_MUSEUM_TYPE='dosbox' APP_SETUP_ID="${GAME_ID}-setup" APP_SETUP_NAME="$GAME_NAME - Setup" APP_SETUP_CAT='Settings' APP_SETUP_EXE='install.exe' APP_SETUP_DOSBOX_PRERUN='d:' APP_SETUP_ICON="$APP_MAIN_ICON" ## The type can not be omitted, because the binary is actually on the CD-ROM image. APP_SETUP_TYPE='dosbox' USER_PERSISTENT_FILES=' infogram/shadow.cd/*.cfg infogram/shadow.cd/*.opt infogram/shadow.cd/*.sav' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers ## Work around the binary presence check, ## it is actually included in the CD-ROM image. launcher_target_presence_check() { return 0; } launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-call-of-the-sea.sh0000750000000000000000000000475114471751340015023 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Call of the Sea # send your bug reports to bugs@dotslashplay.it ### script_version=20241105.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='call-of-the-sea' GAME_NAME='Call of the Sea' ARCHIVE_BASE_0_NAME='setup_call_of_the_sea_1.5.15.0_(64bit)_(48714).exe' ARCHIVE_BASE_0_MD5='130e503109c0da8323eabbf07f939b40' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_call_of_the_sea_1.5.15.0_(64bit)_(48714)-1.bin' ARCHIVE_BASE_0_PART1_MD5='eefc9fe7a9e45a0b9f84cc9f9f9ea1ab' ARCHIVE_BASE_0_PART2_NAME='setup_call_of_the_sea_1.5.15.0_(64bit)_(48714)-2.bin' ARCHIVE_BASE_0_PART2_MD5='c2d114836a23671a0483ad1ad97c2912' ARCHIVE_BASE_0_PART3_NAME='setup_call_of_the_sea_1.5.15.0_(64bit)_(48714)-3.bin' ARCHIVE_BASE_0_PART3_MD5='1b4c240b663134295b223c8c62d3cbf0' ARCHIVE_BASE_0_SIZE='40000000' ARCHIVE_BASE_0_VERSION='1.5.15.0-gog48714' ARCHIVE_BASE_0_URL='https://www.gog.com/en/game/call_of_the_sea' UNREALENGINE4_NAME='cots' CONTENT_PATH_DEFAULT='.' HUGE_FILES_DATA=" ${UNREALENGINE4_NAME}/content/paks/${UNREALENGINE4_NAME}-windowsnoeditor.pak" APP_MAIN_EXE="${UNREALENGINE4_NAME}/binaries/win64/bluecode-win64-shipping.exe" ## The --name=101 wrestool option, default for UE4 games, should not be used here APP_MAIN_ICON_WRESTOOL_OPTIONS='--type=14' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-carto.sh0000750000000000000000000000431514471751340013266 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Carto # send your bug reports to bugs@dotslashplay.it ### script_version=20250406.2 GAME_ID='carto' GAME_NAME='Carto' GAME_ID_DEMO="${GAME_ID}-demo" GAME_NAME_DEMO="$GAME_NAME (demo)" ARCHIVE_BASE_0_NAME='setup_carto_1.0.7.6_(64bit)_(51528).exe' ARCHIVE_BASE_0_MD5='0c8dbc7a106673b8a8825c4f2e3ee6df' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='2100000' ARCHIVE_BASE_0_VERSION='1.0.7.6-gog51528' ARCHIVE_BASE_0_URL='https://www.gog.com/game/carto' ARCHIVE_BASE_DEMO_0_NAME='setup_carto_demo_1.0.7_(64bit)_(45496).exe' ARCHIVE_BASE_DEMO_0_MD5='b86ddbfde260933365c595f750cdc45b' ARCHIVE_BASE_DEMO_0_TYPE='innosetup' ARCHIVE_BASE_DEMO_0_SIZE='1300000' ARCHIVE_BASE_DEMO_0_VERSION='1.0.7-gog45496' ARCHIVE_BASE_DEMO_0_URL='https://www.gog.com/game/carto_demo' UNITY3D_NAME='carto' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/SunheadGames/Carto' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_GSTREAMER_PLUGINS=' video/quicktime, variant=(string)iso' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_ID_DEMO="${GAME_ID_DEMO}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-catie-in-meowmeowland.sh0000750000000000000000000000400514471751340016337 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Catie in MeowmeowLand # send your bug reports to bugs@dotslashplay.it ### script_version=20240822.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='catie-in-meowmeowland' GAME_NAME='Catie in MeowMeowLand' ARCHIVE_BASE_0_NAME='catie_in_meowmeowland_0_1_0_3_1e54c009_55446.sh' ARCHIVE_BASE_0_MD5='d897acf6e88697b317c561c41582f41d' ARCHIVE_BASE_0_SIZE='1800000' ARCHIVE_BASE_0_VERSION='0.1.0.3-gog55446' ARCHIVE_BASE_0_URL='https://www.gog.com/game/catie_in_meowmeowland' UNITY3D_NAME='CatieinMeowmeowLand' CONTENT_PATH_DEFAULT='data/noarch/game/CatieinMeowmeowLand_v0.1.0.3_1e54c009' ## TODO: The plugins to include should be listed using UNITY3D_PLUGINS CONTENT_GAME0_BIN_FILES=" ${UNITY3D_NAME}_Data/Plugins" CONTENT_GAME0_DATA_FILES=" CatieinMeowmeowLand/bfsBuildData.json" PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libm.so.6 libpthread.so.0 librt.so.1' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-chicken-police.sh0000750000000000000000000000376314471751340015041 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Chicken Police # send your bug reports to bugs@dotslashplay.it ### script_version=20241119.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='chicken-police' GAME_NAME='Chicken Police' ARCHIVE_BASE_0_NAME='setup_chicken_police_438_(49498).exe' ARCHIVE_BASE_0_MD5='c3597f50f5bc326a5cdb89d722e8ba71' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_chicken_police_438_(49498)-1.bin' ARCHIVE_BASE_0_PART1_MD5='c3ccbf9fe142d7353cdb782d0a328ed7' ARCHIVE_BASE_0_SIZE='4863640' ARCHIVE_BASE_0_VERSION='438-gog49498' ARCHIVE_BASE_0_URL='https://www.gog.com/game/chicken_police' UNITY3D_NAME='chicken_police' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/Documents/My Games/Chicken Police' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_GSTREAMER_PLUGINS=' video/quicktime, variant=(string)iso' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-chook-and-sosig-walk-the-plank.sh0000750000000000000000000000624014471751340017757 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Chook & Sosig: Walk the Plank # send your bug reports to bugs@dotslashplay.it ### script_version=20241211.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='chook-and-sosig-walk-the-plank' GAME_NAME='Chook & Sosig: Walk the Plank' ARCHIVE_BASE_ITCH_0_NAME='Windows.zip' ARCHIVE_BASE_ITCH_0_MD5='176ccce8f5af056a8247f0cfef1f2d1e' ARCHIVE_BASE_ITCH_0_SIZE='5154279' ARCHIVE_BASE_ITCH_0_VERSION='2.03b-itch1' ARCHIVE_BASE_ITCH_0_URL='https://tookipalooki.itch.io/chook-sosig-walk-the-plank' ARCHIVE_BASE_GOG_0_NAME='setup_chook__sosig_walk_the_plank_v2.03b_(30724).exe' ARCHIVE_BASE_GOG_0_MD5='e66cdecc51060a98325297d7f9039307' ARCHIVE_BASE_GOG_0_TYPE='innosetup' ARCHIVE_BASE_GOG_0_SIZE='5200000' ARCHIVE_BASE_GOG_0_VERSION='2.03b-gog30724' ARCHIVE_BASE_GOG_0_URL='https://www.gog.com/game/chook_sosig_walk_the_plank' UNITY3D_NAME='walktheplank' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/TookiPalooki/WalkthePlank' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_GSTREAMER_PLUGINS=' video/quicktime, variant=(string)iso' ## Ensure easy upgrades from packages generated with pre-20241211.1 game scripts PKG_BIN_PROVIDES="${PKG_BIN_PROVIDES:-} chook-and-sosig" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' ## Ensure easy upgrades from packages generated with pre-20241211.1 game scripts PKG_DATA_PROVIDES="${PKG_DATA_PROVIDES:-} chook-and-sosig-data" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data ## itch.io build - Ignore some errors during extraction from the archive ## warning: stripped absolute path spec from / ## mapname: conversion of failed case "$(current_archive)" in ('ARCHIVE_BASE_ITCH_'*) archive_extraction_default 2>/dev/null || true ;; (*) archive_extraction_default ;; esac ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" # itch.io build - Convert all file paths to lowercase case "$(current_archive)" in ('ARCHIVE_BASE_ITCH_'*) cp --link --recursive Mono/* mono/ rm --recursive Mono cp --link --recursive WalkthePlank_Data/* walktheplank_data/ rm --recursive WalkthePlank_Data tolower . ;; esac ) # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-chuchel.sh0000750000000000000000000000367014471751340013574 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Chuchel # send your bug reports to bugs@dotslashplay.it ### script_version=20250408.2 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='chuchel' GAME_NAME='Chuchel' ARCHIVE_BASE_0_NAME='setup_chuchel_2.0.0_(26120).exe' ARCHIVE_BASE_0_MD5='d9af6a71485c90b8907bc2326e4b704a' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='750000' ARCHIVE_BASE_0_VERSION='2.0.0-gog26120' ARCHIVE_BASE_0_URL='https://www.gog.com/game/chuchel' CONTENT_PATH_DEFAULT='.' CONTENT_GAME_BIN_FILES=' adobe air chuchel.exe' CONTENT_GAME_DATA_FILES=' chuchel_graphics_o chuchel_sound_data ico meta-inf chuchel.swf' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/Roaming/Amanita-Design.CHUCHEL' APP_MAIN_EXE='chuchel.exe' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-cinders.sh0000750000000000000000000000525614471751340013612 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2022 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Cinders # send your bug reports to bugs@dotslashplay.it ### script_version=20241106.3 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='cinders' GAME_NAME='Cinders' ARCHIVE_BASE_HUMBLE_0_NAME='Cinders_windows_1403727643.exe' ARCHIVE_BASE_HUMBLE_0_MD5='4014b54d5db0e2622b2eccc55abb829d' ARCHIVE_BASE_HUMBLE_0_TYPE='innosetup' ARCHIVE_BASE_HUMBLE_0_SIZE='105905' ARCHIVE_BASE_HUMBLE_0_VERSION='1.0-humble.1403727643' ARCHIVE_BASE_HUMBLE_0_URL='https://www.humblebundle.com/store/cinders' ARCHIVE_BASE_GOG_0_NAME='setup_cinders_1.2.7_(27636).exe' ARCHIVE_BASE_GOG_0_MD5='511b82f5b2b9ca06636fe424980ff1bf' ARCHIVE_BASE_GOG_0_TYPE='innosetup' ARCHIVE_BASE_GOG_0_SIZE='280000' ARCHIVE_BASE_GOG_0_VERSION='1.2.7-gog27636' ARCHIVE_BASE_GOG_0_URL='https://www.gog.com/game/cinders' CONTENT_PATH_DEFAULT_HUMBLE='app' CONTENT_PATH_DEFAULT_GOG='.' CONTENT_GAME_BIN_FILES=' cinders.exe' ## TODO: Check if the Steam libraries are required CONTENT_GAME0_BIN_FILES_HUMBLE=' msvcr100.dll msvcr120.dll ogg.dll openal32.dll steam_api.dll steamcaster.dll vorbis.dll vorbisfile.dll wrap_oal.dll' CONTENT_GAME_DATA_FILES_HUMBLE=' images music sound' CONTENT_GAME_DATA_FILES_GOG=' data.win *.ogg' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/Roaming/Cinders' ## TODO: Check if it is required with current WINE WINE_VIRTUAL_DESKTOP='auto' ## Work around audio issues ## TODO: Check if it is required with current WINE WINE_WINETRICKS_VERBS='dsound' APP_MAIN_EXE='cinders.exe' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-citizen-sleeper.sh0000750000000000000000000000426514471751340015264 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Citizen Sleeper # send your bug reports to bugs@dotslashplay.it ### script_version=20240720.2 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='citizen-sleeper' GAME_NAME='Citizen Sleeper' ARCHIVE_BASE_2_NAME='setup_citizen_sleeper_1.4.9_(75233).exe' ARCHIVE_BASE_2_MD5='87a23767b623863d85a640892bff03f7' ARCHIVE_BASE_2_TYPE='innosetup' ARCHIVE_BASE_2_SIZE='1202756' ARCHIVE_BASE_2_VERSION='1.4.9-gog75233' ARCHIVE_BASE_2_URL='https://www.gog.com/game/citizen_sleeper' ARCHIVE_BASE_1_NAME='setup_citizen_sleeper_1.4.6_(69854).exe' ARCHIVE_BASE_1_MD5='ac9b59f393ca34a89a42ba510bbba4ab' ARCHIVE_BASE_1_TYPE='innosetup' ARCHIVE_BASE_1_SIZE='1170957' ARCHIVE_BASE_1_VERSION='1.4.6-gog69854' ARCHIVE_BASE_0_NAME='setup_citizen_sleeper_1.3.9_(65533).exe' ARCHIVE_BASE_0_MD5='50b240a6cd4fb79096d6d5252daac6b7' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='973177' ARCHIVE_BASE_0_VERSION='1.3.9-gog65533' UNITY3D_NAME='citizen sleeper' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/Jump Over the Age/Citizen Sleeper' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-cleo-a-pirates-tale.sh0000750000000000000000000000342214471751340015704 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Cleo - A Pirate's Tale # send your bug reports to bugs@dotslashplay.it ### script_version=20240705.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='cleo-a-pirates-tale' GAME_NAME='Cleo - A Pirate’s Tale' ARCHIVE_BASE_0_NAME='setup_cleo_-_a_pirates_tale_1.1.5_(52212).exe' ARCHIVE_BASE_0_MD5='3b5dea47b0517c5801275eac47d71b01' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='1800000' ARCHIVE_BASE_0_VERSION='1.1.5-gog52212' ARCHIVE_BASE_0_URL='https://www.gog.com/game/cleo_a_pirates_tale' UNITY3D_NAME='cleoapiratestale' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/Christoph Schultz/CleoAPiratesTale' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN_ARCH='64' PKG_BIN_DEPS="$PKG_DATA_ID" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-coffee-talk.sh0000750000000000000000000000603614471751340014340 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2021 Antoine Le Gonidec set -o errexit ### # Coffee Talk # send your bug reports to bugs@dotslashplay.it ### script_version=20240228.2 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='coffee-talk' GAME_NAME='Coffee Talk' GAME_ID_DEMO="${GAME_ID}-demo" GAME_NAME_DEMO="$GAME_NAME (demo)" # Archives ## Full game ARCHIVE_BASE_2_NAME='setup_coffee_talk_1.48_(56192).exe' ARCHIVE_BASE_2_MD5='480480ca243cb1371aa8160ae04f035d' ARCHIVE_BASE_2_TYPE='innosetup' ARCHIVE_BASE_2_SIZE='774504' ARCHIVE_BASE_2_VERSION='1.48-gog56192' ARCHIVE_BASE_2_URL='https://www.gog.com/game/coffee_talk' ARCHIVE_BASE_1_NAME='setup_coffee_talk_1.45_(48679).exe' ARCHIVE_BASE_1_MD5='d10f2ec8ced1716f90dbc4d940cf232f' ARCHIVE_BASE_1_TYPE='innosetup' ARCHIVE_BASE_1_SIZE='780000' ARCHIVE_BASE_1_VERSION='1.45-gog48679' ARCHIVE_BASE_0_NAME='setup_coffee_talk_1.0.39_(41435).exe' ARCHIVE_BASE_0_MD5='fd9a907261fce1069e1ffc37938e42d5' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='910000' ARCHIVE_BASE_0_VERSION='1.0.39-gog41435' ## Demo ARCHIVE_BASE_DEMO_1_NAME='setup_coffee_talk_demo_1.0.40_(46157).exe' ARCHIVE_BASE_DEMO_1_MD5='c7d07aa9a162e1ad8d6cf527e8193bbe' ARCHIVE_BASE_DEMO_1_TYPE='innosetup' ARCHIVE_BASE_DEMO_1_SIZE='820000' ARCHIVE_BASE_DEMO_1_VERSION='1.0.40-gog46157' ARCHIVE_BASE_DEMO_1_URL='https://www.gog.com/game/coffee_talk_demo' ARCHIVE_BASE_DEMO_0_NAME='setup_coffee_talk_demo_0.92.59_(32093).exe' ARCHIVE_BASE_DEMO_0_MD5='107cb1767fb8033ad06b5baaeb54e159' ARCHIVE_BASE_DEMO_0_TYPE='innosetup' ARCHIVE_BASE_DEMO_0_SIZE='650000' ARCHIVE_BASE_DEMO_0_VERSION='0.92.59-gog32093' UNITY3D_NAME='coffeetalk' CONTENT_PATH_DEFAULT='.' CONTENT_GAME0_DATA_FILES=' cticon.png' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/Toge Productions/CoffeeTalk' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ID="$GAME_ID" PKG_BIN_ID_DEMO="$GAME_ID_DEMO" PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_GSTREAMER_PLUGINS=' video/quicktime, variant=(string)iso' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_ID_DEMO="${GAME_ID_DEMO}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-contract-demon.sh0000750000000000000000000000437714471751340015103 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2021 Antoine Le Gonidec set -o errexit ### # Contract Demon # send your bug reports to bugs@dotslashplay.it ### script_version=20241216.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='contract-demon' GAME_NAME='Contract Demon' ARCHIVE_BASE_2_NAME='contractdemon-2.2.7-pc.zip' ARCHIVE_BASE_2_MD5='14639ade236d9b8661c7491aa8947e44' ARCHIVE_BASE_2_SIZE='154330' ARCHIVE_BASE_2_VERSION='2.2.7-itch.2024.02.27' ARCHIVE_BASE_2_URL='https://nomnomnami.itch.io/contract-demon' ARCHIVE_BASE_1_NAME='contractdemon-1.8.0-pc.zip' ARCHIVE_BASE_1_MD5='269db9bdbf6f40c7362814de7c8f46da' ARCHIVE_BASE_1_SIZE='200000' ARCHIVE_BASE_1_VERSION='1.8.0-itch.2021.05.08' ARCHIVE_BASE_0_NAME='contractdemon-1.7.1-pc.zip' ARCHIVE_BASE_0_MD5='81de84b69550eae7ae13e019a4aec3bf' ARCHIVE_BASE_0_SIZE='150000' ARCHIVE_BASE_0_VERSION='1.7.1-itch' CONTENT_PATH_DEFAULT='contractdemon-2.2.7-pc/game' CONTENT_PATH_DEFAULT_1='contractdemon-1.8.0-pc/game' CONTENT_PATH_DEFAULT_0='contractdemon-1.7.1-pc/game' CONTENT_GAME_MAIN_FILES=' cache tl archive.rpa script_version.txt' APP_MAIN_TYPE='renpy' APP_MAIN_ICON='../contractdemon.exe' ## Ensure easy upgrades from packages generated with pre-20240428.1 game scripts. PKG_MAIN_PROVIDES="${PKG_MAIN_PROVIDES:-} contract-demon-data" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-creaks.sh0000750000000000000000000000346714471751340013435 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Creaks # send your bug reports to bugs@dotslashplay.it ### script_version=20240820.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='creaks' GAME_NAME='Creaks' ARCHIVE_BASE_0_NAME='setup_creaks_1.0.9_(46052).exe' ARCHIVE_BASE_0_MD5='53c45d5337970ae4f3cd33ac846a4b34' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_creaks_1.0.9_(46052)-1.bin' ARCHIVE_BASE_0_PART1_MD5='a6dd1d513945b49753918f7031936a1d' ARCHIVE_BASE_0_SIZE='4300000' ARCHIVE_BASE_0_VERSION='1.0.9-gog46052' ARCHIVE_BASE_0_URL='https://www.gog.com/game/creaks' UNITY3D_NAME='creaks' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/Amanita Design/Creaks' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-creepy-tale-series.sh0000750000000000000000000000615514471751340015664 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Creepy Tale series: # - Creepy Tale # - Creepy Tale 2 # send your bug reports to bugs@dotslashplay.it ### script_version=20250407.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID_EPISODE1='creepy-tale-1' GAME_NAME_EPISODE1='Creepy Tale' GAME_ID_EPISODE2='creepy-tale-2' GAME_NAME_EPISODE2='Creepy Tale 2' ARCHIVE_BASE_EPISODE1_0_NAME='creepy_tale_english_1_0_2c_42446.sh' ARCHIVE_BASE_EPISODE1_0_MD5='727b15afedd0ef2e58565b40419e76de' ARCHIVE_BASE_EPISODE1_0_SIZE='180064' ARCHIVE_BASE_EPISODE1_0_VERSION='1.0.2c-gog42446' ARCHIVE_BASE_EPISODE1_0_URL='https://www.gog.com/game/creepy_tale' ARCHIVE_BASE_EPISODE2_0_NAME='creepy_tale_2_1_0_0a_53727.sh' ARCHIVE_BASE_EPISODE2_0_MD5='e2626eaebe690d4b8cbf7506ff78fff9' ARCHIVE_BASE_EPISODE2_0_SIZE='560000' ARCHIVE_BASE_EPISODE2_0_VERSION='2.1.0.0a-gog53727' ARCHIVE_BASE_EPISODE2_0_URL='https://www.gog.com/game/creepy_tale_2' UNITY3D_NAME_EPISODE1='creepy_tale' UNITY3D_NAME_EPISODE2='CreepyTale2' ## TODO: Check if the Steam library is required. UNITY3D_PLUGINS_EPISODE1=' libsteam_api.so' UNITY3D_PLUGINS_EPISODE2=' libfmodstudio.so libresonanceaudio.so' ## TODO: Check if the Steam library is required. UNITY3D_PLUGINS_EPISODE2="$UNITY3D_PLUGINS_EPISODE2 libsteam_api.so" CONTENT_PATH_DEFAULT='data/noarch/game' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES_EPISODE1=' libc.so.6 libdl.so.2 libgcc_s.so.1 libm.so.6 libpthread.so.0 librt.so.1 libz.so.1' PKG_BIN_DEPENDENCIES_LIBRARIES_EPISODE2=' libc.so.6 libdl.so.2 libgcc_s.so.1 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libz.so.1' ## Ensure easy upgrade from packages generated with pre-20230414.1 game scripts. PKG_BIN_PROVIDES_EPISODE1="${PKG_BIN_PROVIDES_EPISODE1:-} creepy-tale" PKG_DATA_ID_EPISODE1="${GAME_ID_EPISODE1}-data" PKG_DATA_ID_EPISODE2="${GAME_ID_EPISODE2}-data" PKG_DATA_DESCRIPTION='data' ## Ensure easy upgrade from packages generated with pre-20230414.1 game scripts. PKG_DATA_PROVIDES_EPISODE1="${PKG_DATA_PROVIDES_EPISODE1:-} creepy-tale-data" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-criminal-expert.sh0000750000000000000000000000430014471751340015253 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Criminal Expert # send your bug reports to bugs@dotslashplay.it ### script_version=20241105.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='criminal-expert' GAME_NAME='Criminal Expert' ARCHIVE_BASE_0_NAME='setup_criminal_expert_1.4_(61646).exe' ARCHIVE_BASE_0_MD5='b5b13afbd5abeedb00720d641fc0ea06' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_criminal_expert_1.4_(61646)-1.bin' ARCHIVE_BASE_0_PART1_MD5='008e6369c386939f499565c0c3e8a40c' ARCHIVE_BASE_0_PART2_NAME='setup_criminal_expert_1.4_(61646)-2.bin' ARCHIVE_BASE_0_PART2_MD5='2e340cb1cf05726420b686561d4a305f' ARCHIVE_BASE_0_SIZE='5400000' ARCHIVE_BASE_0_VERSION='1.4-gog61646' ARCHIVE_BASE_0_URL='https://www.gog.com/en/game/criminal_expert' UNITY3D_NAME='criminalexpert' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/Forever Entertainment S_ A_/CriminalExpert' ## TODO: Check if all these fonts are required WINE_WINETRICKS_VERBS='corefonts' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-dagon.sh0000750000000000000000000000352214471751340013245 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Dagon: by H. P. Lovecraft # send your bug reports to bugs@dotslashplay.it ### script_version=20240907.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='dagon' GAME_NAME='Dagon: by H. P. Lovecraft' ARCHIVE_BASE_0_NAME='setup_dagon_by_h._p._lovecraft_dagon_2021-10-28_(64bit)_(51058).exe' ARCHIVE_BASE_0_MD5='22378497f9f73c2eeb1dc7a3fbe8ce29' ARCHIVE_BASE_0_SIZE='2500000' ARCHIVE_BASE_0_VERSION='2021.10.27.031-gog51058' ARCHIVE_BASE_0_URL='https://www.gog.com/game/dagon_by_h_p_lovecraft' UNITY3D_NAME='dagon' CONTENT_PATH_DEFAULT='.' CONTENT_DOC_DATA_FILES=' cinzel font license.txt' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/BitGolem/Dagon' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-dead-synchronicity.sh0000750000000000000000000000610014471751340015750 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2021 Antoine Le Gonidec set -o errexit ### # Dead Synchronicity: Tomorrow Comes Today # send your bug reports to bugs@dotslashplay.it ### script_version=20240822.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='dead-synchronicity' GAME_NAME='Dead Synchronicity: Tomorrow Comes Today' ARCHIVE_BASE_ZOOM_0_NAME='Dead-Synchronicity-1.1.tar.xz' ARCHIVE_BASE_ZOOM_0_MD5='625ab4fc87c1b8744de35a5c9b86bdf4' ARCHIVE_BASE_ZOOM_0_SIZE='3200000' ARCHIVE_BASE_ZOOM_0_VERSION='1.0.7-zoom1.1' ARCHIVE_BASE_ZOOM_0_URL='https://www.zoom-platform.com/product/dead-synchronicity' ARCHIVE_BASE_HUMBLE_0_NAME='Dead_Synchronicity_1.0.7_Linux_Full_EN_FR_IT_DE_ES_KO_JA_Daedalic_noDRM.tar.gz' ARCHIVE_BASE_HUMBLE_0_MD5='0aee9cc5d5c256f47ce61b313115a601' ARCHIVE_BASE_HUMBLE_0_SIZE='3200000' ARCHIVE_BASE_HUMBLE_0_VERSION='1.0.7-humble1' ARCHIVE_BASE_HUMBLE_0_URL='https://www.humblebundle.com/store/dead-synchronicity-tomorrow-comes-today' UNITY3D_NAME='Dead Synchronicity' UNITY3D_PLUGINS=' ScreenSelector.so' ## TODO: Check if the Steam libraries are required. UNITY3D_PLUGINS="$UNITY3D_PLUGINS libCSteamworks.so libsteam_api.so" CONTENT_PATH_DEFAULT='Dead Synchronicity' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libatk-1.0.so.0 libcairo.so.2 libc.so.6 libdl.so.2 libfontconfig.so.1 libfreetype.so.6 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libgdk-x11-2.0.so.0 libgio-2.0.so.0 libglib-2.0.so.0 libGL.so.1 libGLU.so.1 libgmodule-2.0.so.0 libgobject-2.0.so.0 libgthread-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpango-1.0.so.0 libpangocairo-1.0.so.0 libpangoft2-1.0.so.0 libpthread.so.0 librt.so.1 libstdc++.so.6 libX11.so.6 libXcursor.so.1 libXext.so.6 libXrandr.so.2' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-dear-esther.sh0000750000000000000000000000644714471751340014371 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Dear Esther # send your bug reports to bugs@dotslashplay.it ### script_version=20250427.2 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='dear-esther' GAME_NAME='Dear Esther' ## This DRM-free Linux installer used to be sold by Humble Bundle, ## but they dropped it in favour of Steam keys. ARCHIVE_BASE_0_NAME='dearesther-linux-06082013-bin' ARCHIVE_BASE_0_MD5='951127a283c3caf2c76031c7611d431d' ## This is a MojoSetup installer, not relying on Makeself. ARCHIVE_BASE_0_EXTRACTOR='bsdtar' ARCHIVE_BASE_0_SIZE='1500000' ARCHIVE_BASE_0_VERSION='1.6-humble1' CONTENT_PATH_DEFAULT='data' CONTENT_LIBS_BIN_RELATIVE_PATH='bin' CONTENT_LIBS_BIN_FILES=' datacache.so engine.so filesystem_stdio.so inputsystem.so launcher.so libMiles.so libtier0.so libtogl.so libvstdlib.so localize.so materialsystem.so scenefilecache.so shaderapidx9.so soundemittersystem.so stdshader_dx9.so studiorender.so valve_avi.so vaudio_miles.so vgui2.so vguimatsurface.so vphysics.so vscript.so' CONTENT_GAME_BIN_FILES=' bin/linux32 bin/vconfig bin/*.addin bin/*.bin bin/*.cfg bin/*.csv bin/*.fgd dearesther_linux' CONTENT_GAME_DATA_FILES=' dearesther dearesther.png platform' CONTENT_DOC_DATA_FILES=' README-linux.txt' USER_PERSISTENT_DIRECTORIES=' dearesther/cfg dearesther/save' APP_MAIN_EXE='dearesther_linux' APP_MAIN_OPTIONS='-game dearesther' APP_MAIN_ICON='dearesther.png' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libEGL.so.1 libfontconfig.so.1 libfreetype.so.6 libm.so.6 libopenal.so.1 libpthread.so.0 libSDL2-2.0.so.0 libstdc++.so.6' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default ## The game engine looks for some libraries in a hardcoded path libraries_source=$(path_libraries) libraries_destination="$(package_path 'PKG_BIN')$(path_game_data)/bin" mkdir --parents "$libraries_destination" ln --symbolic "${libraries_source}/filesystem_stdio.so" "$libraries_destination" ln --symbolic "${libraries_source}/launcher.so" "$libraries_destination" # Write launchers ## This game expects an executable stack through dynamically loaded libraries game_exec_line() { cat <<- 'EOF' GLIBC_TUNABLES=glibc.rtld.execstack=2 ./dearesther_linux -game dearesther "$@" EOF } launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-delores-a-thimbleweed-park-miniadventure.sh0000750000000000000000000000475614471751340022134 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Delores: A Thimbleweed Park Mini-Adventure # send your bug reports to bugs@dotslashplay.it ### script_version=20250408.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='delores-a-thimbleweed-park-mini-adventure' GAME_NAME='Delores: A Thimbleweed Park Mini-Adventure' ARCHIVE_BASE_0_NAME='setup_delores_a_thimbleweed_park_mini-adventure_1.1.191_(64bit)_(38487).exe' ARCHIVE_BASE_0_MD5='30b609714d47171a84c8d41c1a1c038a' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='77000' ARCHIVE_BASE_0_VERSION='1.1.1.191-gog38487' ARCHIVE_BASE_0_URL='https://www.gog.com/game/delores_a_thimbleweed_park_miniadventure' CONTENT_PATH_DEFAULT='.' CONTENT_GAME_BIN_FILES=' *.dll delores.exe' CONTENT_GAME_DATA_FILES=' delores.ggpack1 delores.ico delores.rc' ## The game expects to be running on top of Windows ≥ 10. WINE_WINETRICKS_VERBS="${WINE_WINETRICKS_VERBS:-} win10" ## A Windows native build of d3dcompiler is required. WINE_WINETRICKS_VERBS="${WINE_WINETRICKS_VERBS:-} d3dcompiler_47" APP_MAIN_EXE='delores.exe' APP_MAIN_ICON='delores.ico' ## Prevent a game crash when using the Wayland video backend of SDL APP_MAIN_PRERUN=' # Prevent a game crash when using the Wayland video backend of SDL if [ "${SDL_VIDEODRIVER:-}" = "wayland" ]; then unset SDL_VIDEODRIVER fi ' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-demetrios.sh0000750000000000000000000000412114471751340014144 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Demetrios # send your bug reports to bugs@dotslashplay.it ### script_version=20240822.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='demetrios' GAME_NAME='Demetrios - The Big Cynical Adventure' ARCHIVE_BASE_0_NAME='Demetrios-Release-LINUX-DRMFREE-1.2.1.zip' ARCHIVE_BASE_0_MD5='0ab0c66ab9e52e0d0eff9071e62252fb' ARCHIVE_BASE_0_SIZE='560000' ARCHIVE_BASE_0_VERSION='1.2.1-humble1' ARCHIVE_BASE_0_URL='https://www.humblebundle.com/store/demetrios-the-big-cynical-adventure' CONTENT_PATH_DEFAULT='.' CONTENT_GAME_BIN_FILES=' Demetrios' CONTENT_GAME_DATA_FILES=' assets' USER_PERSISTENT_FILES=' assets/options.ini' APP_MAIN_EXE='Demetrios' APP_MAIN_ICON='assets/icon.png' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libcurl-gnutls.so.4 libdl.so.2 libgcc_s.so.1 libGL.so.1 libGLU.so.1 libm.so.6 libpthread.so.0 librt.so.1 libssl.so.1.0.0 libstdc++.so.6 libX11.so.6 libXext.so.6 libXrandr.so.2 libXxf86vm.so.1 libz.so.1' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-deponia.sh0000750000000000000000000001247714471751340013605 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2016 Antoine Le Gonidec # SPDX-FileCopyrightText: © 2017 Mopi set -o errexit ### # Deponia series: # - Deponia 1 # - Deponia 2 # - Deponia 3 # send your bug reports to bugs@dotslashplay.it ### script_version=20240822.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID_DEPONIA1='deponia-1' GAME_NAME_DEPONIA1='Deponia' GAME_ID_DEPONIA2='deponia-2' GAME_NAME_DEPONIA2='Deponia 2: Chaos on Deponia' GAME_ID_DEPONIA3='deponia-3' GAME_NAME_DEPONIA3='Deponia 3: Goodbye Deponia' # Archives ## Deponia 1 ARCHIVE_BASE_DEPONIA1_GOG_0_NAME='gog_deponia_2.1.0.3.sh' ARCHIVE_BASE_DEPONIA1_GOG_0_MD5='a3a21ba1c1ee68c9be2c755bd79e1b30' ARCHIVE_BASE_DEPONIA1_GOG_0_SIZE='1800000' ARCHIVE_BASE_DEPONIA1_GOG_0_VERSION='3.3.1357-gog2.1.0.3' ARCHIVE_BASE_DEPONIA1_GOG_0_URL='https://www.gog.com/game/deponia' ## This DRM-free native Linux build is no longer available for sale from the Humble Store, ## they now only sell Steam keys for the Deponia games. ARCHIVE_BASE_DEPONIA1_HUMBLE_0_NAME='Deponia_3.3.1358_Full_DEB_Multi_Daedalic_ESD.tar.gz' ARCHIVE_BASE_DEPONIA1_HUMBLE_0_MD5='8ff4e21bbb4abcdc4059845acf7c7f04' ARCHIVE_BASE_DEPONIA1_HUMBLE_0_VERSION='3.3.1358-humble160511' ARCHIVE_BASE_DEPONIA1_HUMBLE_0_SIZE='1700000' ## Deponia 2 ARCHIVE_BASE_DEPONIA2_GOG_0_NAME='gog_deponia_2_chaos_on_deponia_2.1.0.3.sh' ARCHIVE_BASE_DEPONIA2_GOG_0_MD5='7aa1251741a532e4b9f908a3af0d8f2a' ARCHIVE_BASE_DEPONIA2_GOG_0_SIZE='3200000' ARCHIVE_BASE_DEPONIA2_GOG_0_VERSION='3.3.2351-gog2.1.0.3' ARCHIVE_BASE_DEPONIA2_GOG_0_URL='https://www.gog.com/game/deponia_2_chaos_on_deponia' ## This DRM-free native Linux build is no longer available for sale from the Humble Store, ## they now only sell Steam keys for the Deponia games. ARCHIVE_BASE_DEPONIA2_HUMBLE_0_NAME='Deponia2_DEB_Full_3.2.2342_Multi_Daedalic_ESD.tar.gz' ARCHIVE_BASE_DEPONIA2_HUMBLE_0_MD5='e7a71d5b8a83b2c2393095256b03553b' ARCHIVE_BASE_DEPONIA2_HUMBLE_0_SIZE='3100000' ARCHIVE_BASE_DEPONIA2_HUMBLE_0_VERSION='3.2.2342-humble' ## Optional icons pack ARCHIVE_OPTIONAL_ICONS_0_NAME_DEPONIA2='deponia-2_icons.tar.gz' ARCHIVE_OPTIONAL_ICONS_0_MD5_DEPONIA2='4469f0e85881f0db2c266dcb6222717c' ARCHIVE_OPTIONAL_ICONS_0_URL_DEPONIA2='https://downloads.dotslashplay.it/resources/deponia-2' CONTENT_ICONS_PATH_DEPONIA2='.' CONTENT_ICONS_FILES_DEPONIA2=' 16x16 32x32 48x48 256x256' ## Deponia 3 ARCHIVE_BASE_DEPONIA3_GOG_0_NAME='gog_deponia_3_goodbye_deponia_2.1.0.4.sh' ARCHIVE_BASE_DEPONIA3_GOG_0_MD5='9af5c29790e629635d27bc9368299516' ARCHIVE_BASE_DEPONIA3_GOG_0_SIZE='3900000' ARCHIVE_BASE_DEPONIA3_GOG_0_VERSION='3.3.3335-gog2.1.0.4' ARCHIVE_BASE_DEPONIA3_GOG_0_URL='https://www.gog.com/game/goodbye_deponia' ## This DRM-free native Linux build is no longer available for sale from the Humble Store, ## they now only sell Steam keys for the Deponia games. ARCHIVE_BASE_DEPONIA3_HUMBLE_0_NAME='Deponia3_DEB_Full_3.2.3.3320_Multi_Daedalic_ESD.tar.gz' ARCHIVE_BASE_DEPONIA3_HUMBLE_0_MD5='1fe92f0faf379541440895de68a1a14e' ARCHIVE_BASE_DEPONIA3_HUMBLE_0_SIZE='3700000' ARCHIVE_BASE_DEPONIA3_HUMBLE_0_VERSION='3.2.0.3320-humble' ## Optional icons pack ARCHIVE_OPTIONAL_ICONS_0_NAME_DEPONIA3='deponia-3_icons.tar.gz' ARCHIVE_OPTIONAL_ICONS_0_MD5_DEPONIA3='d57dfcd4b23ff2c7f4163b9db20329f2' ARCHIVE_OPTIONAL_ICONS_0_URL_DEPONIA3='https://downloads.dotslashplay.it/resources/deponia-3' CONTENT_ICONS_PATH_DEPONIA3='.' CONTENT_ICONS_FILES_DEPONIA3=' 16x16 32x32 48x48 256x256' VISIONAIRE_NAME_DEPONIA1='Deponia' VISIONAIRE_NAME_DEPONIA2='Deponia2' VISIONAIRE_NAME_DEPONIA3='Deponia3' CONTENT_PATH_DEFAULT_DEPONIA1_GOG='data/noarch/game' CONTENT_PATH_DEFAULT_DEPONIA1_HUMBLE='Deponia' CONTENT_PATH_DEFAULT_DEPONIA2_GOG='data/noarch/game' CONTENT_PATH_DEFAULT_DEPONIA2_HUMBLE='Chaos on Deponia' CONTENT_PATH_DEFAULT_DEPONIA3_GOG='data/noarch/game' CONTENT_PATH_DEFAULT_DEPONIA3_HUMBLE='Goodbye Deponia' APP_MAIN_ICON_DEPONIA1_GOG='../support/icon.png' APP_MAIN_ICON_DEPONIA2_GOG='../support/icon.png' APP_MAIN_ICON_DEPONIA3_GOG='../support/icon.png' PKG_BIN_ARCH='64' ## Deponia 1 - Ensure smooth upgrades from packages generated with 20231005.1 scripts PKG_BIN_PROVIDES_DEPONIA1=' deponia' PKG_DATA_PROVIDES_DEPONIA1=' deponia-1-videos deponia-videos deponia-data' ## Deponia 2 - Ensure smooth upgrades from packages generated with 20231005.1 scripts PKG_DATA_PROVIDES_DEPONIA2=' deponia-2-videos' ## Deponia 3 - Ensure smooth upgrades from packages generated with 20231005.1 scripts PKG_DATA_PROVIDES_DEPONIA3=' deponia-3-videos' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-detective-gallo.sh0000750000000000000000000000357414471751340015234 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Detective Gallo # send your bug reports to bugs@dotslashplay.it ### script_version=20240823.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='detective-gallo' GAME_NAME='Detective Gallo' ARCHIVE_BASE_0_NAME='setup_detective_gallo_1.21_(29213).exe' ARCHIVE_BASE_0_MD5='8e11f1d9d90468d1835cc68da7acb604' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_detective_gallo_1.21_(29213)-1.bin' ARCHIVE_BASE_0_PART1_MD5='93b24aafa234dd6e6dd053df5f3f594a' ARCHIVE_BASE_0_SIZE='4500000' ARCHIVE_BASE_0_VERSION='1.21-gog29213' ARCHIVE_BASE_0_URL='https://www.gog.com/game/detective_gallo' CONTENT_PATH_DEFAULT='.' CONTENT_GAME_MAIN_FILES=' acsetup.cfg *.0?? *.exe *.tra *.vox' ## TODO: Check if the shipped library is required CONTENT_GAME0_MAIN_FILES=' agsd3dvsync.dll' CONTENT_DOC_MAIN_FILES=' docs' APP_MAIN_SCUMMID='ags:detectivegallo' APP_MAIN_ICON='detective gallo.exe' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-detective-grimoire.sh0000750000000000000000000000555414471751340015753 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Detective Grimoire # send your bug reports to bugs@dotslashplay.it ### script_version=20241123.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='detective-grimoire' GAME_NAME='Detective Grimoire' ARCHIVE_BASE_0_NAME='DetectiveGrimoire1423507440.tar.gz' ARCHIVE_BASE_0_MD5='729f52439a86c52ef9fe9e2d3dceeb4a' ARCHIVE_BASE_0_SIZE='170000' ARCHIVE_BASE_0_VERSION='1.2.0-humble150209' ARCHIVE_BASE_0_URL='https://www.humblebundle.com/store/detective-grimoire' CONTENT_PATH_DEFAULT='.' CONTENT_LIBS_BIN_FILES=' preload.c libpreload.so' CONTENT_GAME_BIN_FILES=' bin runtimes' CONTENT_GAME_DATA_FILES=' .appdata share' CONTENT_DOC_DATA_FILES=' *.txt' FAKE_HOME_PERSISTENT_DIRECTORIES=' .adobe .macromedia' USER_PERSISTENT_DIRECTORIES=' .appdata' APP_MAIN_EXE='bin/DetectiveGrimoire' for res in 16 29 32 36 40 48 50 57 58 72 76 80 96 100 114 120 128 144 152 512 1024; do APP_MAIN_ICONS_LIST="$APP_MAIN_ICONS_LIST APP_MAIN_ICON_${res}" export "APP_MAIN_ICON_${res}"="share/icons/icon${res}.png" done PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libatk-1.0.so.0 libcairo.so.2 libc.so.6 libdl.so.2 libfontconfig.so.1 libfreetype.so.6 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libgdk-x11-2.0.so.0 libglib-2.0.so.0 libgmodule-2.0.so.0 libgobject-2.0.so.0 libgthread-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libnspr4.so libnss3.so libpango-1.0.so.0 libpangocairo-1.0.so.0 libpthread.so.0 librt.so.1 libsmime3.so libssl3.so libstdc++.so.6 libX11.so.6 libXcursor.so.1 libxml2.so.2 libXrender.so.1 libz.so.1' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers ## Load the shipped preload shim ## TODO: Check what this shim is about, and if it is actually required APP_MAIN_PRERUN="$(application_prerun 'APP_MAIN') # Load shipped preload shim export LD_PRELOAD='$(path_libraries)/libpreload.so' " launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-devils-kiss.sh0000750000000000000000000000516114471751340014413 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2025 Antoine Le Gonidec set -o errexit ### # Devil's Kiss # send your bug reports to bugs@dotslashplay.it ### script_version=20250115.2 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='devils-kiss' GAME_NAME='Devil’s Kiss' ARCHIVE_BASE_0_NAME='devil_s_kiss_1_012_36900.sh' ARCHIVE_BASE_0_MD5='c25b0a28b771d5acc32dfeead049bccd' ARCHIVE_BASE_0_SIZE='472138' ARCHIVE_BASE_0_VERSION='1.012-gog36900' ARCHIVE_BASE_0_URL='https://www.gog.com/game/devils_kiss' UNITY3D_NAME='DevilsKiss' UNITY3D_PLUGINS=' libfmod.so libfmodL.so libfmodstudio.so libfmodstudioL.so libgvraudio.so ScreenSelector.so' CONTENT_PATH_DEFAULT='data/noarch/game' ## Work around a failure to detect the screen resolution on first launch APP_MAIN_PRERUN=' # Work around a failure to detect the screen resolution on first launch unity3d_prefs="${HOME}/.config/unity3d/Size Five Games/DevilsKiss/prefs" if [ ! -e "$unity3d_prefs" ]; then mkdir --parents "$(dirname "$unity3d_prefs")" cat > "$unity3d_prefs" <<- EOF 0 1024 768 EOF fi ' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libz.so.1' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-doctor-who-and-the-lonely-assassins.sh0000750000000000000000000000444714471751340021074 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Doctor Who: The Lonely Assassins # send your bug reports to bugs@dotslashplay.it ### script_version=20250408.2 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='doctor-who-the-lonely-assassins' GAME_NAME='Doctor Who: The Lonely Assassins' ARCHIVE_BASE_0_NAME='setup_doctor_who_the_lonely_assassins_1.840.127_(47861).exe' ARCHIVE_BASE_0_MD5='102ae49769312005075e26141250b5cc' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='1500000' ARCHIVE_BASE_0_VERSION='1.840.127-gog47861' ARCHIVE_BASE_0_URL='https://www.gog.com/game/doctor_who_the_lonely_assasins' UNITY3D_NAME='doctor who the lonely assassins' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/Kaigan Games/Doctor Who_ The Lonely Assassins' ## Without .NET support, the game fails to load anything after the initial splash screen. ## It seems that Mono is not enough, the .NET Framework 4.5 is required. WINE_DLLOVERRIDES_DEFAULT='winemenubuilder.exe,mshtml=' WINE_WINETRICKS_VERBS='dotnet45' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_GSTREAMER_PLUGINS=' video/quicktime, variant=(string)iso' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-dracula-1-the-resurrection.sh0000750000000000000000000001045214471751340017226 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Dracula: The Resurrection # send your bug reports to bugs@dotslashplay.it ### script_version=20241218.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='dracula-1-the-resurrection' GAME_NAME='Dracula: The Resurrection' ARCHIVE_BASE_EN_0_NAME='setup_dracula_the_resurrection_2.1.0.5.exe' ARCHIVE_BASE_EN_0_MD5='4f3ac9ea7b645ec3bc0ec2c9de24be79' ARCHIVE_BASE_EN_0_EXTRACTOR='innoextract' ARCHIVE_BASE_EN_0_EXTRACTOR_OPTIONS='--gog' ARCHIVE_BASE_EN_0_PART1_NAME='setup_dracula_the_resurrection_2.1.0.5.bin' ARCHIVE_BASE_EN_0_PART1_MD5='284f93ed3799267604cc1f25a2329699' ARCHIVE_BASE_EN_0_PART1_TYPE='rar' ARCHIVE_BASE_EN_0_SIZE='1336964' ARCHIVE_BASE_EN_0_VERSION='1.0-gog2.1.0.5' ARCHIVE_BASE_EN_0_URL='https://www.gog.com/game/dracula_trilogy' ARCHIVE_BASE_FR_0_NAME='setup_dracula_the_resurrection_french_2.1.0.5.exe' ARCHIVE_BASE_FR_0_MD5='4665678362c34ccf2f19252d7f66d6d7' ARCHIVE_BASE_FR_0_EXTRACTOR='innoextract' ARCHIVE_BASE_FR_0_EXTRACTOR_OPTIONS='--gog' ARCHIVE_BASE_FR_0_PART1_NAME='setup_dracula_the_resurrection_french_2.1.0.5-1.bin' ARCHIVE_BASE_FR_0_PART1_MD5='6021c178c8bb2aa291ec4fc839263d19' ARCHIVE_BASE_FR_0_PART1_TYPE='rar' ARCHIVE_BASE_FR_0_SIZE='1480558' ARCHIVE_BASE_FR_0_VERSION='1.0-gog2.1.0.5' ARCHIVE_BASE_FR_0_URL='https://www.gog.com/game/dracula_trilogy' CONTENT_PATH_DEFAULT='game' CONTENT_GAME_BIN_FILES=' dct.dll dhook.dll dra32lib.dll fnx_vr.dll smackw32.dll dracula.exe' CONTENT_GAME_L10N_FILES=' a08aanim01.4xm a08aanim02.4xm a08aanim03.4xm a08aanim04.4xm a08aanim05.4xm b04anim.4xm b10banim.4xm e02banim02.4xm e02banim03.4xm m1barinadiag01.4xm m1barinadiag02.4xm m1barinadiag03.4xm m1barinadiag04.4xm m1barinadiag05.4xm m1barinadiag06.4xm m1barinadiag07.4xm m1barinadiag08.4xm m1michadiag02.4xm m1michadiag04.4xm m1michadiag05.4xm m1michadiag06.4xm m1michadiag08.4xm m2dorkodiag01.4xm m2dorkodiag02.4xm m2dorkodiag03.4xm m2dorkodiag04.4xm m2dorkodiag05.4xm m2dorkodiag06.4xm m2dorkodiag07.4xm m2e02aanim.4xm m2h03pfaanim.4xm m2i06anim.4xm prologue1.4xm prologue2.4xm prologue3.4xm trans02.4xm barinapf.tst michapf.tst interface.tst dorkopf.tst h01afv.tst h42apfa.tst h42apfb.tst h42bpfa.tst h42bpfb.tst insertcd2.tst quitte.vr logo.vr interface.vr debut.vr michapf.vr dorkopf.vr barinapf.vr credit.vr nouvellepartie.vr a09a.vr insertcd.vr i03a.vr m2b09a.vr m2g05pfc.vr m2lutrinpf.vr dorko.wav' CONTENT_GAME_DATA_FILES=' a18tst compiler.dat cursor1.gif cursor2.gif retour.gif signal.gif dracula.ico *.4xm *.lst *.pcx *.tst *.vr *.wav' CONTENT_DOC_DATA_FILES=' *.pdf' USER_PERSISTENT_FILES=' Saved_?.bin' WINE_VIRTUAL_DESKTOP='auto' ## Set Windows version to Windows 98, otherwise the menu can not be opened in-game WINE_WINETRICKS_VERBS='win98' APP_MAIN_EXE='dracula.exe' APP_MAIN_ICON='dracula.ico' PACKAGES_LIST=' PKG_BIN PKG_L10N PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_L10N_BASE PKG_DATA' PKG_L10N_BASE_ID="${GAME_ID}-l10n" PKG_L10N_ID_EN="${PKG_L10N_BASE_ID}-en" PKG_L10N_ID_FR="${PKG_L10N_BASE_ID}-fr" PKG_L10N_PROVIDES=" $PKG_L10N_BASE_ID" PKG_L10N_DESCRIPTION_EN='English localization' PKG_L10N_DESCRIPTION_FR='French localization' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" # Convert all file paths to lowercase tolower . ) # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-dragonsphere.sh0000750000000000000000000000405614471751340014641 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2016 Antoine Le Gonidec # SPDX-FileCopyrightText: © 2017 Mopi set -o errexit ### # Dragonsphere # send your bug reports to bugs@dotslashplay.it ### script_version=20250520.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='dragonsphere' GAME_NAME='Dragonsphere' ARCHIVE_BASE_0_NAME='gog_dragonsphere_2.0.0.3.sh' ARCHIVE_BASE_0_MD5='9dd42821c144aa87fd01b595607471c9' ARCHIVE_BASE_0_SIZE='90022' ARCHIVE_BASE_0_VERSION='1.0-gog2.0.0.3' ARCHIVE_BASE_0_URL='https://www.gog.com/game/dragonsphere' CONTENT_PATH_DEFAULT='data/noarch/data' CONTENT_GAME_MAIN_FILES=' GAME.GOG GAME.INS' CONTENT_GAME0_MAIN_RELATIVE_PATH='DRAGON' CONTENT_GAME0_MAIN_FILES=' DIGITAL.AGA DRAGON.BAT CONFIG.DRA DRAGON.RES CD.ROM DRAGON.SPH UNRIP.WAV ?SOUND.DR? *.EXE *.IDX' CONTENT_DOC_MAIN_RELATIVE_PATH='DRAGON' CONTENT_DOC_MAIN_FILES=' README.TXT' USER_PERSISTENT_FILES=' SAVES.DIR CONFIG.DRA DRAG*.SAV' GAME_IMAGE='GAME.INS' APP_MAIN_EXE='MAINMENU.EXE' APP_MAIN_ICON='../support/icon.png' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" ## Convert all file paths to uppercase. toupper . ) # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-draugen.sh0000750000000000000000000000470014471751340013601 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Draugen # send your bug reports to bugs@dotslashplay.it ### script_version=20241106.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='draugen' GAME_NAME='Draugen' ARCHIVE_BASE_0_NAME='setup_draugen_1.1.0.10_(64bit)_(30252).exe' ARCHIVE_BASE_0_MD5='5ac0dd08f8d794d61158ef9ffeeebef3' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_draugen_1.1.0.10_(64bit)_(30252)-1.bin' ARCHIVE_BASE_0_PART1_MD5='aa703a920b67b4201aed1711dd7a14ad' ARCHIVE_BASE_0_PART2_NAME='setup_draugen_1.1.0.10_(64bit)_(30252)-2.bin' ARCHIVE_BASE_0_PART2_MD5='21e3d5b7c2fd029256762ff8ddf424a9' ARCHIVE_BASE_0_SIZE='12000000' ARCHIVE_BASE_0_VERSION='1.1.0.10-gog30252' ARCHIVE_BASE_0_URL='https://www.gog.com/game/draugen' UNREALENGINE4_NAME='draugen' CONTENT_PATH_DEFAULT='.' HUGE_FILES_DATA=" ${UNREALENGINE4_NAME}/content/paks/${UNREALENGINE4_NAME}-windowsnoeditor.pak" ## The game will crash before loading the menu if PhysX is unavailable. WINE_WINETRICKS_VERBS='physx' APP_MAIN_EXE="${UNREALENGINE4_NAME}/binaries/win64/${UNREALENGINE4_NAME}-win64-shipping.exe" ## The --name=101 wrestool option, default for UE4 games, should not be used here APP_MAIN_ICON_WRESTOOL_OPTIONS='--type=14' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_ID_DEMO="${GAME_ID_DEMO}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-dream-daddy.sh0000750000000000000000000000550314471751340014331 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2019 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Dream Daddy # send your bug reports to bugs@dotslashplay.it ### script_version=20250228.3 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='dream-daddy' GAME_NAME='Dream Daddy' ## This DRM-free installer is no longer available for sale from humblebundle.com. ARCHIVE_BASE_0_NAME='dreamdaddy_adaddatingsimulator_linux.zip' ARCHIVE_BASE_0_MD5='a191cb84040c25919aa1bd029180cf11' ARCHIVE_BASE_0_SIZE='500000' ARCHIVE_BASE_0_VERSION='0.11-humble1' UNITY3D_NAME='DDaDDs' UNITY3D_PLUGINS=' ScreenSelector.so' CONTENT_PATH_DEFAULT='data' CONTENT_DOC_DATA_FILES=' Linux.README' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libz.so.1' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # An inner archive is relying on bsdtar for files extraction REQUIREMENTS_LIST="${REQUIREMENTS_LIST:-} bsdtar" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default ARCHIVE_INNER_PATH="${PLAYIT_WORKDIR}/gamedata/Dream Daddy Linux/dreamdaddy-02142019-bin" ## The inner archive is a MojoSetup installer that is not relying on a Makeself wrapper ARCHIVE_INNER_EXTRACTOR='bsdtar' archive_extraction 'ARCHIVE_INNER' rm "$ARCHIVE_INNER_PATH" ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" # Exclude the unused launcher script rm 'DDaDDs' ) # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-dreamfall-chapters.sh0000750000000000000000000000517214471751340015716 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2016 Antoine Le Gonidec # SPDX-FileCopyrightText: © 2020 HS-157 set -o errexit ### # Dreamfall Chapters # send your bug reports to bugs@dotslashplay.it ### script_version=20241201.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='dreamfall-chapters' GAME_NAME='Dreamfall Chapters' ARCHIVE_BASE_GOG_1_NAME='dreamfall_chapters_the_final_cut_5_7_8_26845.sh' ARCHIVE_BASE_GOG_1_MD5='4971fdb8148d661b4a23119ed289b14e' ARCHIVE_BASE_GOG_1_VERSION='5.7.8-gog26845' ARCHIVE_BASE_GOG_1_SIZE='21000000' ARCHIVE_BASE_GOG_1_URL='https://www.gog.com/game/dreamfall_chapters_season_pass' ARCHIVE_BASE_GOG_0_NAME='gog_dreamfall_chapters_2.19.0.23.sh' ARCHIVE_BASE_GOG_0_MD5='3f05c530a0e07b7227e3fb7b6601e19a' ARCHIVE_BASE_GOG_0_VERSION='5.3.0-gog2.19.0.23' ARCHIVE_BASE_GOG_0_SIZE='21000000' ARCHIVE_BASE_HUMBLE_0_NAME='Dreamfall_Chapters_Linux_2017_08_25.zip' ARCHIVE_BASE_HUMBLE_0_MD5='22bee7bee25920e5cf7febc4b3c12e21' ARCHIVE_BASE_HUMBLE_0_VERSION='1.0-humble1' ARCHIVE_BASE_HUMBLE_0_SIZE='21000000' ARCHIVE_BASE_HUMBLE_0_URL='https://www.humblebundle.com/store/dreamfall-chapters' UNITY3D_NAME='Dreamfall Chapters' CONTENT_PATH_DEFAULT_GOG='data/noarch/game' CONTENT_PATH_DEFAULT_HUMBLE='.' ## TODO: An explicit list of plugins to include should be set using UNITY3D_PLUGINS CONTENT_GAME0_BIN_FILES=" ${UNITY3D_NAME}_Data/Plugins" PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' ## TODO: Update the list of required native libraries. PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libstdc++.so.6 libGL.so.1 libXcursor.so.1 libXrandr.so.2 libX11.so.6' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-dropsy.sh0000750000000000000000000000627714471751340013507 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2018 Antoine Le Gonidec set -o errexit ### # Dropsy # send your bug reports to bugs@dotslashplay.it ### script_version=20241224.2 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='dropsy' GAME_NAME='Dropsy' ARCHIVE_BASE_0_NAME='dropsy_1_5_linux_76112.sh' ARCHIVE_BASE_0_MD5='b7003615929f2cf7261c54f3b145623c' ARCHIVE_BASE_0_SIZE='1071861' ARCHIVE_BASE_0_VERSION='1.5-gog76112' ARCHIVE_BASE_0_URL='https://www.gog.com/game/dropsy' ARCHIVE_BASE_MULTIARCH_0_NAME='gog_dropsy_2.5.0.6.sh' ARCHIVE_BASE_MULTIARCH_0_MD5='6739e9f516043ee90b033b55c3e3f35c' ARCHIVE_BASE_MULTIARCH_0_SIZE='910000' ARCHIVE_BASE_MULTIARCH_0_VERSION='1.4-gog2.5.0.6' UNITY3D_NAME='Dropsy' UNITY3D_PLUGINS_MULTIARCH=' ScreenSelector.so' CONTENT_PATH_DEFAULT='data/noarch/game' USER_PERSISTENT_DIRECTORIES=' Save' PACKAGES_LIST=' PKG_BIN PKG_DATA' PACKAGES_LIST_MULTIARCH=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libm.so.6 libpthread.so.0 librt.so.1 libz.so.1' PKG_BIN_DEPENDENCIES_LIBRARIES_MULTIARCH=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libGL.so.1 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libX11.so.6 libXcursor.so.1 libXrandr.so.2' PKG_BIN64_DEPENDENCIES_LIBRARIES_MULTIARCH="$PKG_BIN_DEPENDENCIES_LIBRARIES_MULTIARCH" PKG_BIN32_DEPENDENCIES_LIBRARIES_MULTIARCH="$PKG_BIN_DEPENDENCIES_LIBRARIES_MULTIARCH" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" # Prevent the inclusion of Steam libraries case "$(current_archive)" in ('ARCHIVE_BASE_MULTIARCH_'*) # The multiarch archives rely on UNITY3D_PLUGINS to exclude unwanted libraries. ;; (*) rm --recursive "$(unity3d_name)_Data/Plugins" ;; esac ) # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers case "$(current_archive)" in ('ARCHIVE_BASE_MULTIARCH_'*) launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' ;; (*) launchers_generation 'PKG_BIN' ;; esac # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-dungeons-and-lesbians.sh0000750000000000000000000000404214471751340016333 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Dungeons & Lesbians # send your bug reports to bugs@dotslashplay.it ### script_version=20250408.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='dungeons-and-lesbians' GAME_NAME='Dungeons & Lesbians' ARCHIVE_BASE_0_NAME='DungeonsAndLesbians-1.2-linux.tar.bz2' ARCHIVE_BASE_0_MD5='31015bbbc250043dca3e77c96941655b' ARCHIVE_BASE_0_SIZE='200000' ARCHIVE_BASE_0_VERSION='1.2-itch1' ARCHIVE_BASE_0_URL='https://noeybodys.itch.io/dungeonsandlesbians' CONTENT_PATH_DEFAULT='DungeonsAndLesbians-1.2-linux/game' CONTENT_FONTS_MAIN_FILES=' Hannotate.ttc Neucha-Regular.ttf ReenieBeanie-Regular.ttf' CONTENT_GAME_MAIN_FILES=' cache gui tli script_version.txt *.jpg *.mp3 *.ogg *.png *.rpy *.rpyc *.wav' APP_MAIN_TYPE='renpy' APP_MAIN_ICONS_LIST='APP_MAIN_ICON_ICO APP_MAIN_ICON_PNG' APP_MAIN_ICON_PNG='icon.png' APP_MAIN_ICON_ICO='icon.ico' ## Ensure easy upgrades from packages generated with pre-20250408.1 game scripts PKG_MAIN_PROVIDES="${PKG_MAIN_PROVIDES:-} dungeons-and-lesbians-data" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-edna-and-harvey-harveys-new-eyes.sh0000750000000000000000000000322714471751340020333 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2016 Mopi # SPDX-FileCopyrightText: © 2017 Antoine Le Gonidec set -o errexit ### # Edna & Harvey: Harvey's New Eyes # send your bug reports to bugs@dotslashplay.it ### script_version=20240823.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='edna-and-harvey-harveys-new-eyes' GAME_NAME='Edna & Harvey: Harvey’s New Eyes' ARCHIVE_BASE_0_NAME='gog_edna_harvey_harvey_s_new_eyes_2.0.0.1.sh' ARCHIVE_BASE_0_MD5='fa6f7fd271fe63bbe71e3190e0596546' ARCHIVE_BASE_0_SIZE='990000' ARCHIVE_BASE_0_VERSION='3.0.0442-gog2.0.0.1' ARCHIVE_BASE_0_URL='https://www.gog.com/game/edna_harvey_harveys_new_eyes' VISIONAIRE_NAME='harvey' CONTENT_PATH_DEFAULT='data/noarch/game' APP_MAIN_ICON='../support/icon.png' PKG_BIN_ARCH='64' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-edna-and-harvey-the-breakout.sh0000750000000000000000000000456014471751340017513 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Antoine Le Gonidec set -o errexit ### # Edna and Harvey: The Breakout # send your bug reports to bugs@dotslashplay.it ### script_version=20240823.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='edna-and-harvey-the-breakout' GAME_NAME='Edna & Harvey: The Breakout' ARCHIVE_BASE_0_NAME='edna_harvey_the_breakout_anniversary_edition_0_19120503_35770.sh' ARCHIVE_BASE_0_MD5='bb6ed80ee6fdbd21c059351c48e5156e' ARCHIVE_BASE_0_SIZE='3696656' ARCHIVE_BASE_0_VERSION='0.19120503-gog35770' ARCHIVE_BASE_0_URL='https://www.gog.com/game/edna_harvey_the_breakout_anniversary_edition' UNITY3D_NAME='edna' ## TODO: Check if the Steam libraries can be dropped. UNITY3D_PLUGINS=' libsteam_api.so ScreenSelector.so' CONTENT_PATH_DEFAULT='data/noarch/game' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libz.so.1' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-else-heart-break.sh0000750000000000000000000000452314471751340015272 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2016 Antoine Le Gonidec # SPDX-FileCopyrightText: © 2017 Mopi set -o errexit ### # else Heart.Break() # send your bug reports to bugs@dotslashplay.it ### script_version=20250409.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='else-heart-break' GAME_NAME='else Heart.Break()' ARCHIVE_BASE_0_NAME='ElseHeartbreakLinux.tgz' ARCHIVE_BASE_0_MD5='7030450cadac6234676967ae41f2a732' ARCHIVE_BASE_0_SIZE='1418045' ARCHIVE_BASE_0_VERSION='1.0.9-humble160129' ARCHIVE_BASE_0_URL='https://www.humblebundle.com/store/else-heartbreak' UNITY3D_NAME='ElseHeartbreak' UNITY3D_PLUGINS=' ScreenSelector.so' CONTENT_PATH_DEFAULT='ElseHeartbreakLinux' ## TODO: Check if it is required to build a dedicated package for assets CONTENT_GAME_ASSETS_FILES=" ${UNITY3D_NAME}_Data/*.assets" USER_PERSISTENT_DIRECTORIES=" ${UNITY3D_NAME}_Data/InitData ${UNITY3D_NAME}_Data/Saves" PACKAGES_LIST=' PKG_BIN PKG_ASSETS PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_ASSETS PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libGL.so.1 libGLU.so.1 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libX11.so.6 libXcursor.so.1' PKG_ASSETS_ID="${GAME_ID}-assets" PKG_ASSETS_DESCRIPTION='assets' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-encodya.sh0000750000000000000000000000464214471751340013603 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Encodya # send your bug reports to bugs@dotslashplay.it ### script_version=20250409.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='encodya' GAME_NAME='Encodya' GAME_ID_DEMO="${GAME_ID}-demo" GAME_NAME_DEMO="$GAME_NAME (demo)" ARCHIVE_BASE_0_NAME='encodya_1_1_46120.sh' ARCHIVE_BASE_0_MD5='6fdadc42c828896389de2a9fd3a355fb' ARCHIVE_BASE_0_SIZE='3300000' ARCHIVE_BASE_0_VERSION='1.1-gog46120' ARCHIVE_BASE_0_URL='https://www.gog.com/game/encodya' ## This free demo has been removed from itch.io since the release of the full game. ARCHIVE_BASE_DEMO_0_NAME='ENCODYA_DemoV1linux.zip' ARCHIVE_BASE_DEMO_0_MD5='4b3dfbbd37585615791acf13b4bb7ecd' ARCHIVE_BASE_DEMO_0_SIZE='1100000' ARCHIVE_BASE_DEMO_0_VERSION='1-itch' UNITY3D_NAME='ENCODYA' UNITY3D_NAME_DEMO='ENCODYA_DemoV1' UNITY3D_PLUGINS=' abci.so UnityFbxSdkNative.so' ## TODO: Check if the Steam library can be dropped UNITY3D_PLUGINS="$UNITY3D_PLUGINS libsteam_api.so" CONTENT_PATH_DEFAULT='data/noarch/game' CONTENT_PATH_DEFAULT_DEMO='ENCODYA_DemoV1' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libxml2.so.2 libz.so.1' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_ID_DEMO="${GAME_ID_DEMO}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-fall-of-porcupine.sh0000750000000000000000000000451714471751340015504 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Fall of Porcupine # send your bug reports to bugs@dotslashplay.it ### script_version=20250409.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='fall-of-porcupine' GAME_NAME='Fall of Porcupine' ARCHIVE_BASE_0_NAME='setup_fall_of_porcupine_1.1.12_(65935).exe' ARCHIVE_BASE_0_MD5='6b3cb17a1f869630d16ca633dc176382' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_fall_of_porcupine_1.1.12_(65935)-1.bin' ARCHIVE_BASE_0_PART1_MD5='8a32270570176b36192ac3ff8bcf7715' ARCHIVE_BASE_0_SIZE='4168652' ARCHIVE_BASE_0_VERSION='1.1.12-gog65935' ARCHIVE_BASE_0_URL='https://www.gog.com/game/fall_of_porcupine' UNITY3D_NAME='fallofporcupine' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/Buntspecht Film und Digitales GmbH/FallOfPorcupine' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_GSTREAMER_PLUGINS=' video/quicktime, variant=(string)iso' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data ## TODO: Investigate a hashsum mismatch during data extraction: ## Warning: Output checksum mismatch for fallofporcupine_data/sharedassets11.assets.ress: ## ├─ actual: MD5 6f4cb6264ae05e5a039650fb7fd2d078 ## └─ expected: MD5 2212bc181be9503f339e23573e1c0256 archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-far-from-noise.sh0000750000000000000000000000332414471751340015001 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Far From Noise # send your bug reports to bugs@dotslashplay.it ### script_version=20240619.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='far-from-noise' GAME_NAME='Far From Noise' ARCHIVE_BASE_0_NAME='Windows.zip' ARCHIVE_BASE_0_MD5='7861db608070316a1a329fb140d90b8f' ARCHIVE_BASE_0_SIZE='300000' ARCHIVE_BASE_0_VERSION='1.0-itch1' ARCHIVE_BASE_0_URL='https://georgebatch.itch.io/far-from-noise' UNITY3D_NAME='FarFromNoise' CONTENT_PATH_DEFAULT='Windows' WINE_REGEDIT_PERSISTENT_KEYS=' HKEY_CURRENT_USER\Software\George Batchelor\Far from Noise' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN_ARCH='32' PKG_BIN_DEPS="$PKG_DATA_ID" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-finding-paradise.sh0000750000000000000000000000621114471751340015357 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2019 Mopi # SPDX-FileCopyrightText: © 2021 Antoine Le Gonidec # SPDX-FileCopyrightText: © 2021 Anna Lea set -o errexit ### # Finding Paradise # send your bug reports to bugs@dotslashplay.it ### script_version=20240909.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='finding-paradise' GAME_NAME='Finding Paradise' ARCHIVE_BASE_1_NAME='finding_paradise_gog_3_lang_26461.sh' ARCHIVE_BASE_1_MD5='d5f8adf528d95845893b0d23dac449d6' ARCHIVE_BASE_1_SIZE='320000' ARCHIVE_BASE_1_VERSION='3-gog26461' ARCHIVE_BASE_1_URL='https://www.gog.com/game/finding_paradise' ARCHIVE_BASE_0_NAME='finding_paradise_gog_3_lang_25982.sh' ARCHIVE_BASE_0_MD5='dbfe49910afb07109803ee24c796c868' ARCHIVE_BASE_0_SIZE='310000' ARCHIVE_BASE_0_VERSION='3-gog25982' CONTENT_PATH_DEFAULT='data/noarch/game' CONTENT_LIBS_BIN_FILES=' libruby.so.2.1' CONTENT_LIBS_BIN64_PATH="${CONTENT_PATH_DEFAULT}/lib64" CONTENT_LIBS_BIN64_FILES="$CONTENT_LIBS_BIN_FILES" CONTENT_LIBS_BIN32_PATH="${CONTENT_PATH_DEFAULT}/lib" CONTENT_LIBS_BIN32_FILES="$CONTENT_LIBS_BIN_FILES" CONTENT_GAME_BIN64_FILES=' FindingParadise.amd64' CONTENT_GAME_BIN32_FILES=' FindingParadise.x86' CONTENT_FONT_DATA_PATH="${CONTENT_PATH_DEFAULT}/Fonts" CONTENT_FONT_DATA_FILES=' OpenSans.ttf' CONTENT_GAME_DATA_FILES=' mkxp mkxp.conf Audio.dat Finding Paradise.ini icon.png Finding Paradise.rgssad' APP_MAIN_EXE_BIN64='FindingParadise.amd64' APP_MAIN_EXE_BIN32='FindingParadise.x86' APP_MAIN_ICON='icon.png' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libcrypt.so.1 libc.so.6 libdl.so.2 libgcc_s.so.1 libm.so.6 libopenal.so.1 libphysfs.so.1 libpixman-1.so.0 libpthread.so.0 librt.so.1 libSDL2-2.0.so.0 libSDL2_image-2.0.so.0 libSDL2_ttf-2.0.so.0 libSDL_sound-1.0.so.1 libsigc-2.0.so.0 libstdc++.so.6 libvorbisfile.so.3 libz.so.1' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-fire.sh0000750000000000000000000000547014471751340013106 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2021 Antoine Le Gonidec set -o errexit ### # Fire # send your bug reports to bugs@dotslashplay.it ### script_version=20240823.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='fire' GAME_NAME='Fire!' ARCHIVE_BASE_ZOOM_0_NAME='Puzzleventure-FIRE-1.1.tar.xz' ARCHIVE_BASE_ZOOM_0_MD5='3a51cae77402316fff25fae65aebf865' ARCHIVE_BASE_ZOOM_0_SIZE='4200000' ARCHIVE_BASE_ZOOM_0_VERSION='1.0.6756-zoom1.1' ARCHIVE_BASE_ZOOM_0_URL='https://www.zoom-platform.com/product/puzzleventure-fire' ARCHIVE_BASE_HUMBLE_0_NAME='LIN_ESD_1.0.6756_REL.zip' ARCHIVE_BASE_HUMBLE_0_MD5='eb990e8465afbca210009b1fca76adcb' ARCHIVE_BASE_HUMBLE_0_SIZE='4200000' ARCHIVE_BASE_HUMBLE_0_VERSION='1.0.6756-humble1' ARCHIVE_BASE_HUMBLE_0_URL='https://www.humblebundle.com/store/fire' UNITY3D_NAME='Fire' UNITY3D_PLUGINS=' ScreenSelector.so' CONTENT_PATH_DEFAULT_ZOOM='Puzzleventure - FIRE' CONTENT_PATH_DEFAULT_HUMBLE='.' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libatk-1.0.so.0 libcairo.so.2 libc.so.6 libdl.so.2 libfontconfig.so.1 libfreetype.so.6 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libgdk-x11-2.0.so.0 libgio-2.0.so.0 libglib-2.0.so.0 libGL.so.1 libGLU.so.1 libgmodule-2.0.so.0 libgobject-2.0.so.0 libgthread-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpango-1.0.so.0 libpangocairo-1.0.so.0 libpangoft2-1.0.so.0 libpthread.so.0 librt.so.1 libstdc++.so.6 libX11.so.6 libXcursor.so.1 libXext.so.6 libXrandr.so.2' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-firewatch.sh0000750000000000000000000000363714471751340014140 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2019 Mopi # SPDX-FileCopyrightText: © 2020 Antoine Le Gonidec set -o errexit ### # Firewatch # send your bug reports to bugs@dotslashplay.it ### script_version=20240909.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='firewatch' GAME_NAME='Firewatch' ARCHIVE_BASE_0_NAME='firewatch_en_1_09_20938.sh' ARCHIVE_BASE_0_MD5='804f663f99afef437e120fdded8b86b1' ARCHIVE_BASE_0_SIZE='4200000' ARCHIVE_BASE_0_VERSION='1.09-gog20938' ARCHIVE_BASE_0_URL='https://www.gog.com/game/firewatch' UNITY3D_NAME='fw' UNITY3D_PLUGINS=' libAkSoundEngine.so ScreenSelector.so' CONTENT_PATH_DEFAULT='data/noarch/game' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libSDL2-2.0.so.0 libstdc++.so.6 libz.so.1' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-florence.sh0000750000000000000000000000347714471751340013763 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Florence # send your bug reports to bugs@dotslashplay.it ### script_version=20250409.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='florence' GAME_NAME='Florence' ARCHIVE_BASE_0_NAME='setup_florence_1.0.1.4373_(64bit)_(35616).exe' ARCHIVE_BASE_0_MD5='d9b406a2e56b740ce8c0ffd10990c15a' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_VERSION='1.0.1.4373-gog35616' ARCHIVE_BASE_0_SIZE='670000' ARCHIVE_BASE_0_URL='https://www.gog.com/game/florence' UNITY3D_NAME='florence' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/Mountains/Florence' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-flower.sh0000750000000000000000000000361314471751340013454 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Flower # send your bug reports to bugs@dotslashplay.it ### script_version=20240820.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='flower' GAME_NAME='Flower' ARCHIVE_BASE_0_NAME='setup_flower_1.45_(64bit)_(35425).exe' ARCHIVE_BASE_0_MD5='65076f1fc214fdadd4a0758235a0da20' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='2300000' ARCHIVE_BASE_0_VERSION='1.45-gog35425' ARCHIVE_BASE_0_URL='https://www.gog.com/game/flower' CONTENT_PATH_DEFAULT='.' CONTENT_GAME_BIN_FILES=' fmod64.dll galaxy64.dll libscepad.dll winpixeventruntime.dll flower.exe' CONTENT_GAME_DATA_FILES=' data font2.fnt flower.xme menusystem.xme strings.xme' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/Documents/Flower' APP_MAIN_EXE='flower.exe' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-fran-bow.sh0000750000000000000000000000625114471751340013672 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2017 Mopi # SPDX-FileCopyrightText: © 2017 Antoine Le Gonidec set -o errexit ### # Fran Bow # send your bug reports to bugs@dotslashplay.it ### script_version=20250803.2 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='fran-bow' GAME_NAME='Fran Bow' ARCHIVE_BASE_UNITY3D_0_NAME='fran_bow_1_0_1_unity_linux_64165.sh' ARCHIVE_BASE_UNITY3D_0_MD5='91ff10a42e12a21a6e88794d61242d50' ARCHIVE_BASE_UNITY3D_0_SIZE='3217937' ARCHIVE_BASE_UNITY3D_0_VERSION='1.0.1-gog64165' ARCHIVE_BASE_UNITY3D_0_URL='https://www.gog.com/game/fran_bow' ARCHIVE_BASE_GAMEMAKER_0_NAME='gog_fran_bow_2.3.0.5.sh' ARCHIVE_BASE_GAMEMAKER_0_MD5='6e3013e9c8be4d25e1815f00bc177941' ARCHIVE_BASE_GAMEMAKER_0_SIZE='530000' ARCHIVE_BASE_GAMEMAKER_0_VERSION='160315-gog2.3.0.5' UNITY3D_NAME_UNITY3D='Fran Bow' ## Without the Steam library, the game crashes on launch: ## ## [Steamworks.NET] Could not load [lib]steam_api.dll/so/dylib. It's likely not in the correct location. Refer to the README for more details. ## System.DllNotFoundException: steam_api assembly: type: member:(null) ## at (wrapper managed-to-native) Steamworks.NativeMethods.SteamAPI_RestartAppIfNecessary(Steamworks.AppId_t) ## at Steamworks.SteamAPI.RestartAppIfNecessary (Steamworks.AppId_t unOwnAppID) [0x00005] in :0 ## at SteamManager.Awake () [0x00061] in :0 UNITY3D_PLUGINS_UNITY3D=' libsteam_api.so' CONTENT_PATH_DEFAULT='data/noarch/game' CONTENT_GAME_BIN_FILES_GAMEMAKER=' runner' CONTENT_GAME_DATA_FILES_GAMEMAKER=' assets' APP_MAIN_EXE_GAMEMAKER='runner' APP_MAIN_ICON_GAMEMAKER='assets/icon.png' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH_UNITY3D='64' PKG_BIN_ARCH_GAMEMAKER='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES_UNITY3D=' libc.so.6 libdl.so.2 libgcc_s.so.1 libm.so.6 libpthread.so.0 librt.so.1 libz.so.1' PKG_BIN_DEPENDENCIES_LIBRARIES_GAMEMAKER=' libc.so.6 libdl.so.2 libgcc_s.so.1 libGL.so.1 libGLU.so.1 libm.so.6 libopenal.so.1 libpthread.so.0 librt.so.1 libssl.so.1.0.0 libstdc++.so.6 libX11.so.6 libXext.so.6 libXrandr.so.2 libXxf86vm.so.1 libz.so.1' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-fruits-of-a-feather.sh0000750000000000000000000000403314471751340015723 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2019 Antoine Le Gonidec set -o errexit ### # Fruits of a Feather # send your bug reports to bugs@dotslashplay.it ### script_version=20250410.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='fruits-of-a-feather' GAME_NAME='Fruits of a Feather' ARCHIVE_BASE_0_NAME='FruitsOfAFeather2.0_LINUX.zip' ARCHIVE_BASE_0_MD5='4eabeef1cfd27136a62730d5e5cf4d6f' ARCHIVE_BASE_0_SIZE='170000' ARCHIVE_BASE_0_VERSION='2.0-itch.2016.11.18' ARCHIVE_BASE_0_URL='https://samuraipunk.itch.io/feather' UNITY3D_NAME='FruitsofaFeather' UNITY3D_PLUGINS=' ScreenSelector.so sqlite3.so' CONTENT_PATH_DEFAULT='linux' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libGL.so.1 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libX11.so.6 libXcursor.so.1 libXrandr.so.2' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-full-throttle-remastered.sh0000750000000000000000000000505214471751340017113 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 macaron # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Full Throttle Remastered # send your bug reports to bugs@dotslashplay.it ### script_version=20250427.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='full-throttle-remastered' GAME_NAME='Full Throttle Remastered' ARCHIVE_BASE_0_NAME='full_throttle_remastered_en_gog_3_20993.sh' ARCHIVE_BASE_0_MD5='2f4bf151e225e7dfa9bec31ed49b721c' ARCHIVE_BASE_0_SIZE='5400000' ARCHIVE_BASE_0_VERSION='1.0-gog20993' ARCHIVE_BASE_0_URL='https://www.gog.com/game/full_throttle_remastered' CONTENT_PATH_DEFAULT='data/noarch/game' CONTENT_LIBS_BIN_RELATIVE_PATH='lib' CONTENT_LIBS_BIN_FILES=' libfmod.so.8' CONTENT_GAME_BIN_FILES=' Throttle gamecontrollerdb.txt' CONTENT_GAME_DATA_FILES=' full.data' CONTENT_DOC_DATA_FILES=' readme.txt' APP_MAIN_EXE='Throttle' APP_MAIN_ICON='../support/icon.png' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPS="$PKG_DATA_ID" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libGL.so.1 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" # Restore the full data file from its parts mv 'full.data.split00' 'full.data' cat 'full.data.split01' >> 'full.data' rm 'full.data.split01' ) # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers ## Force the use of system-provided SDL APP_MAIN_PRERUN="$(application_prerun 'APP_MAIN') $(launcher_tweak_sdl_override)" PKG_BIN_DEPENDENCIES_LIBRARIES="$(dependencies_list_native_libraries 'PKG_BIN') libSDL2-2.0.so.0" launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-gabriel-knight-1.sh0000750000000000000000000000402114471751340015175 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Gabriel Knight: Sins of the Fathers # send your bug reports to bugs@dotslashplay.it ### script_version=20240430.2 PLAYIT_COMPATIBILITY_LEVEL='2.28' GAME_ID='gabriel-knight-1' GAME_NAME='Gabriel Knight: Sins of the Fathers' ARCHIVE_BASE_0_NAME='setup_gabriel_knight_-_sins_of_the_fathers_20th_anniversary_edition_2.02_(16216).exe' ARCHIVE_BASE_0_MD5='ac1879d3217f7ce12403e51ccb463792' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_gabriel_knight_-_sins_of_the_fathers_20th_anniversary_edition_2.02_(16216)-1.bin' ARCHIVE_BASE_0_PART1_MD5='7d97631d1b1d636faa4eefd7ae49c16c' ARCHIVE_BASE_0_SIZE='3016016' ARCHIVE_BASE_0_VERSION='2.02-gog16216' ARCHIVE_BASE_0_URL='https://www.gog.com/game/gabriel_knight_sins_of_the_fathers_20th_anniversary_edition' UNITY3D_NAME='gk1' CONTENT_PATH_DEFAULT='app' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/Phoenix Online Studios/GK1' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN_ARCH='64' PKG_BIN_DEPS="$PKG_DATA_ID" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-gathering-sky.sh0000750000000000000000000001073214471751340014732 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2019 Antoine Le Gonidec set -o errexit ### # Gathering Sky # send your bug reports to bugs@dotslashplay.it ### script_version=20250429.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='gathering-sky' GAME_NAME='Gathering Sky' ARCHIVE_BASE_0_NAME='GatheringSky_Linux_64bit.zip' ARCHIVE_BASE_0_MD5='c590edce835070a1ac2ae47ac620dc48' ARCHIVE_BASE_0_SIZE='1200000' ARCHIVE_BASE_0_VERSION='1.0-humble1' ARCHIVE_BASE_0_URL='https://www.humblebundle.com/store/gathering-sky' CONTENT_PATH_DEFAULT='packr/linux/GatheringSky' CONTENT_GAME_DATA_FILES=' desktop-0.1.jar' CONTENT_GAME_BIN_SHIPPED_FILES=' config.json GatheringSky jre' # Launchers ## Common APPLICATIONS_LIST='APP_MAIN' ## Ensure settings can be stored APP_MAIN_PRERUN=' # Ensure settings can be stored mkdir --parents "${HOME}/.prefs" ' ## The icons are extracted from desktop-0.1.jar APP_MAIN_ICONS_LIST='APP_MAIN_ICON_16 APP_MAIN_ICON_32 APP_MAIN_ICON_128' APP_MAIN_ICON_16='../../../images/Icon_16.png' APP_MAIN_ICON_32='../../../images/Icon_32.png' APP_MAIN_ICON_128='../../../images/Icon_128.png' ## Using system-provided Java APP_MAIN_TYPE_BIN_SYSTEM='java' ## FIXME: ./play.it 2.32 has no support for context-sensitive APP_xxx_JAVA_OPTIONS values. APP_MAIN_JAVA_OPTIONS_BIN_SYSTEM='-Xmx1G' APP_MAIN_EXE_BIN_SYSTEM='desktop-0.1.jar' ## Using shipped binaries APP_MAIN_EXE_BIN_SHIPPED='GatheringSky' # Packages ## Common PACKAGES_LIST=' PKG_BIN_SHIPPED PKG_BIN_SYSTEM PKG_DATA' PKG_BIN_ID="$GAME_ID" PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' ## Using system-provided Java PKG_BIN_SYSTEM_ID="${PKG_BIN_ID}-bin-system" PKG_BIN_SYSTEM_PROVIDES=" $PKG_BIN_ID" PKG_BIN_SYSTEM_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_SYSTEM_DESCRIPTION='Using system-provided Java' ## Using shipped binaries PKG_BIN_SHIPPED_ARCH='64' PKG_BIN_SHIPPED_ID="${PKG_BIN_ID}-bin-shipped" PKG_BIN_SHIPPED_PROVIDES=" $PKG_BIN_ID" PKG_BIN_SHIPPED_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libm.so.6 libpthread.so.0 libstdc++.so.6 libthread_db.so.1' PKG_BIN_SYSTEM_DESCRIPTION='Using shipped binaries' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data ## The archive includes the following entry, triggering an error during decompression: ## ?rwxr--r-- 2.0 unx 0 bl defN 14-May-31 03:43 / archive_extraction_default 2>/dev/null || true ARCHIVE_INNER_PATH="${PLAYIT_WORKDIR}/gamedata/GatheringSky.tar.gz" archive_extraction 'ARCHIVE_INNER' rm "$ARCHIVE_INNER_PATH" # Include game data ARCHIVE_JAR_PATH="${PLAYIT_WORKDIR}/gamedata/$(content_path_default)/desktop-0.1.jar" ARCHIVE_JAR_TYPE='zip' archive_extraction 'ARCHIVE_JAR' content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers ## This game expects an executable stack through dynamically loaded libraries game_exec_line() { cat <<- 'EOF' GLIBC_TUNABLES=glibc.rtld.execstack=2 java -Xmx1G -jar desktop-0.1.jar "$@" EOF } launchers_generation 'PKG_BIN_SYSTEM' ## This game expects an executable stack through dynamically loaded libraries game_exec_line() { cat <<- 'EOF' GLIBC_TUNABLES=glibc.rtld.execstack=2 ./GatheringSky "$@" EOF } launchers_generation 'PKG_BIN_SHIPPED' # Build packages packages_generation case "$(messages_language)" in ('fr') message='Utilisation des binaires fournis par %s :' bin_system='le système' bin_shipped='les développeurs' ;; ('en'|*) message='Using binaries provided by %s:' bin_system='the system' bin_shipped='the developers' ;; esac printf '\n' printf "$message" "$bin_system" print_instructions 'PKG_BIN_SYSTEM' 'PKG_DATA' printf "$message" "$bin_shipped" print_instructions 'PKG_BIN_SHIPPED' 'PKG_DATA' # Clean up working_directory_cleanup exit 0 games/play-gemini-rue.sh0000750000000000000000000000547014471751340014222 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Antoine Le Gonidec set -o errexit ### # Gemini Rue # send your bug reports to bugs@dotslashplay.it ### script_version=20250520.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='gemini-rue' GAME_NAME='Gemini Rue' ARCHIVE_BASE_5_NAME='gemini_rue_3_5_78970.sh' ARCHIVE_BASE_5_MD5='6cf61489438b0155fc1a4a74261b2fde' ARCHIVE_BASE_5_SIZE='342040' ARCHIVE_BASE_5_VERSION='3.5-gog78970' ARCHIVE_BASE_5_URL='https://www.gog.com/game/gemini_rue' ARCHIVE_BASE_4_NAME='gemini_rue_3_2_76543.sh' ARCHIVE_BASE_4_MD5='c7a2ad8123a234c168971d76232cf472' ARCHIVE_BASE_4_SIZE='342040' ARCHIVE_BASE_4_VERSION='3.2-gog76543' ARCHIVE_BASE_3_NAME='gemini_rue_3_0_1_66504.sh' ARCHIVE_BASE_3_MD5='e117463c6b002dbfc57b2adf4d26161b' ARCHIVE_BASE_3_SIZE='350000' ARCHIVE_BASE_3_VERSION='3.0.1-gog66504' ARCHIVE_BASE_2_NAME='gemini_rue_3_0_66190.sh' ARCHIVE_BASE_2_MD5='3ad7b458713f1ba1d187d90b0dee8eaa' ARCHIVE_BASE_2_SIZE='350000' ARCHIVE_BASE_2_VERSION='3.0-gog66190' ARCHIVE_BASE_1_NAME='gemini_rue_2_3_56797.sh' ARCHIVE_BASE_1_MD5='f7883371b14f945163ffa040ee47806e' ARCHIVE_BASE_1_SIZE='340000' ARCHIVE_BASE_1_VERSION='2.3-gog56797' ARCHIVE_BASE_0_NAME='gemini_rue_2_0a_53346.sh' ARCHIVE_BASE_0_MD5='9626ba73b964458b26e25ed9e1ec737d' ARCHIVE_BASE_0_SIZE='340000' ARCHIVE_BASE_0_VERSION='2.0a-gog53346' ## Optional icons pack ARCHIVE_OPTIONAL_ICONS_NAME='gemini-rue_icons.tar.gz' ARCHIVE_OPTIONAL_ICONS_MD5='b236abc6e12f89d149c60249dfeb3725' ARCHIVE_OPTIONAL_ICONS_URL='https://downloads.dotslashplay.it/games/gemini-rue/' CONTENT_ICONS_PATH='.' CONTENT_ICONS_FILES=' 256x256' CONTENT_PATH_DEFAULT='data/noarch/game' CONTENT_GAME_MAIN_FILES=' ENGV.tmp Music Sounds *.ags *.cfg *.exe *.ogv *.tra *.vox' CONTENT_DOC_MAIN_FILES=' licenses' APP_MAIN_SCUMMID='ags:geminirue' APP_MAIN_ICON='../support/icon.png' APP_MAIN_ICON_1='Gemini Rue.exe' APP_MAIN_ICON_0='Gemini Rue.exe' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-goetia.sh0000750000000000000000000000435014471751340013425 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2018 Antoine Le Gonidec set -o errexit ### # Goetia # send your bug reports to bugs@dotslashplay.it ### script_version=20240823.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='goetia' GAME_NAME='Goetia' ARCHIVE_BASE_0_NAME='goetia_en_gog_1_18328.sh' ARCHIVE_BASE_0_MD5='13d620c4b7426cb755cba43d68cbbb1e' ARCHIVE_BASE_0_SIZE='6956940' ARCHIVE_BASE_0_VERSION='1.0-gog18328' ARCHIVE_BASE_0_URL='https://www.gog.com/game/goetia' UNITY3D_NAME='Goetia' UNITY3D_PLUGINS=' ScreenSelector.so' CONTENT_PATH_DEFAULT='data/noarch/game' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libGL.so.1 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libX11.so.6 libXcursor.so.1 libXrandr.so.2' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-gomo.sh0000750000000000000000000000410414471751340013113 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2017 Mopi # SPDX-FileCopyrightText: © 2021 Anna Lea # SPDX-FileCopyrightText: © 2021 Antoine Le Gonidec set -o errexit ### # Gomo # send your bug reports to bugs@dotslashplay.it ### script_version=20240823.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='gomo' GAME_NAME='Gomo' ARCHIVE_BASE_1_NAME='setup_gomo_1.0_(20774).exe' ARCHIVE_BASE_1_MD5='7679c55aaafe8308518aa4940929fbb0' ARCHIVE_BASE_1_TYPE='innosetup' ARCHIVE_BASE_1_SIZE='290000' ARCHIVE_BASE_1_VERSION='1.0-gog20774' ARCHIVE_BASE_1_URL='https://www.gog.com/game/gomo' ARCHIVE_BASE_0_NAME='setup_gomo_2.1.0.4.exe' ARCHIVE_BASE_0_MD5='5ee422dff6f00976e170296103dd29e6' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='560000' ARCHIVE_BASE_0_VERSION='1.0-gog2.1.0.4' CONTENT_PATH_DEFAULT='.' CONTENT_PATH_DEFAULT_0='app' CONTENT_GAME_BIN_FILES=' adobe air gomo.exe' CONTENT_GAME_DATA_FILES=' meta-inf movies music world gomo.swf' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/Roaming/Gomo' APP_MAIN_EXE='gomo.exe' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-gone-home.sh0000750000000000000000000000500314471751340014027 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Gone Home # send your bug reports to bugs@dotslashplay.it ### script_version=20240909.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='gone-home' GAME_NAME='Gone Home' ARCHIVE_BASE_1_NAME='gonehome-2020-01-28-linux.zip' ARCHIVE_BASE_1_MD5='2255a474e5e90f9b8c741b7abf48c779' ARCHIVE_BASE_1_SIZE='3200000' ARCHIVE_BASE_1_VERSION='2020.01.23-humble1' ARCHIVE_BASE_1_URL='https://www.humblebundle.com/store/gone-home' ARCHIVE_BASE_0_NAME='gonehome-linux.zip' ARCHIVE_BASE_0_MD5='7653deccab3af7843605cf605fe96041' ARCHIVE_BASE_0_SIZE='3200000' ARCHIVE_BASE_0_VERSION='1.0-humble180430' UNITY3D_NAME='GoneHome' UNITY3D_NAME_0='GoneHome_linux' UNITY3D_PLUGINS=' ScreenSelector.so' CONTENT_PATH_DEFAULT='gonehome-2020-01-28-linux' CONTENT_PATH_DEFAULT_0='.' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libGL.so.1 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libX11.so.6 libXcursor.so.1 libXrandr.so.2' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions target_version='2.23' PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-grim-fandango.sh0000750000000000000000000000567314471751340014677 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2016 Mopi # SPDX-FileCopyrightText: © 2017 Antoine Le Gonidec set -o errexit ### # Grim Fandango # send your bug reports to bugs@dotslashplay.it ### script_version=20240823.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='grim-fandango' GAME_NAME='Grim Fandango' ARCHIVE_BASE_0_NAME='gog_grim_fandango_remastered_2.3.0.7.sh' ARCHIVE_BASE_0_MD5='9c5d124c89521d254b0dc259635b2abe' ARCHIVE_BASE_0_SIZE='6100000' ARCHIVE_BASE_0_VERSION='1.4-gog2.3.0.7' ARCHIVE_BASE_0_URL='https://www.gog.com/game/grim_fandango_remastered' CONTENT_PATH_DEFAULT='data/noarch/game/bin' CONTENT_LIBS_BIN_FILES=' libchore.so libLua.so' CONTENT_GAME_BIN_FILES=' GrimFandango x86' CONTENT_GAME_MOVIES_FILES=' MoviesHD' CONTENT_GAME_DATA_FILES=' FontsHD patch_v2_or_v3_to_v4.bin patch_v4_to_v5.bin en_gagl088.lip icon.png controllerdef.txt *.lab *.LAB *.tab' CONTENT_DOC_DATA_FILES=' common-licenses *License.txt' USER_PERSISTENT_DIRECTORIES=' Saves' APP_MAIN_EXE='GrimFandango' APP_MAIN_ICON='icon.png' ## Work around a game crash on launch if the game exited without cleaning up its temporary files APP_MAIN_PRERUN=' # Work around a game crash on launch if the game exited without cleaning up its temporary files rm --force '\''c:\\temp\sector.txt'\'' ' PACKAGES_LIST=' PKG_BIN PKG_MOVIES PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_MOVIES PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libgcc_s.so.1 libGL.so.1 libGLU.so.1 libm.so.6 libpthread.so.0 libSDL2-2.0.so.0 libstdc++.so.6 libX11.so.6' PKG_MOVIES_ID="${GAME_ID}-movies" PKG_MOVIES_DESCRIPTION='movies' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers ## The game binary looks for libSDL2-2.0.so.1 instead of libSDL2-2.0.so.0 path_libraries_system=$( set_current_package 'PKG_BIN' path_libraries_system ) library_source="${path_libraries_system}/libSDL2-2.0.so.0" library_destination="$(package_path 'PKG_BIN')$(path_libraries)/libSDL2-2.0.so.1" mkdir --parents "$(dirname "$library_destination")" ln --symbolic "$library_source" "$library_destination" launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-hamilton-the-dating-sim.sh0000750000000000000000000000355014471751340016601 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Hamilton: The Dating Sim # send your bug reports to bugs@dotslashplay.it ### script_version=20240912.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='hamilton-the-dating-sim' GAME_NAME='Hamilton: The Dating Sim' ARCHIVE_BASE_0_NAME='HamiltonTheDatingSim-2.1.1-linux.tar.bz2' ARCHIVE_BASE_0_MD5='764b130ee2b0a940c4977295eff994cb' ARCHIVE_BASE_0_SIZE='73000' ARCHIVE_BASE_0_VERSION='2.1.1-itch.2019.08.23' ARCHIVE_BASE_0_URL='https://timidsquid.itch.io/hamilton-the-dating-sim' CONTENT_PATH_DEFAULT='HamiltonTheDatingSim-2.1.1-linux/game' CONTENT_GAME_MAIN_FILES=' cache gui images tl Aaronclocktick.mp3 script_version.txt *.rpy *.rpyc' APP_MAIN_TYPE='renpy' ## Ensure easy upgrades from packages generated with pre-20240912.1 game scripts PKG_MAIN_PROVIDES="${PKG_MAIN_PROVIDES:-} hamilton-the-dating-sim-data" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_default # Write launchers ## Use the default Ren'Py icon desktop_field_icon() { printf 'renpy' } launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-harry-potter-and-the-mysterious-thief-part-1.sh0000750000000000000000000000371014471751340022552 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Harry Potter and the Mysterious Thief - Part 1 # send your bug reports to bugs@dotslashplay.it ### script_version=20240912.2 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='harry-potter-and-the-mysterious-thief-part-1' GAME_NAME='Harry Potter and the Mysterious Thief - Part 1' ARCHIVE_BASE_0_NAME='eng_nc17_HarryPotterAndTheMysteriousThiefpartI-linux.tar.bz2' ARCHIVE_BASE_0_MD5='0735c70f1836158cd5310c3b5e04b10f' ARCHIVE_BASE_0_SIZE='170000' ARCHIVE_BASE_0_VERSION='1.0-itch' ARCHIVE_BASE_0_URL='https://rivarsstudio.itch.io/hpatmt' CONTENT_PATH_DEFAULT='HarryPotterAndTheMysteriousThiefpartI-linux/game' CONTENT_GAME_MAIN_FILES=' cache archive.rpa' CONTENT_DOC_MAIN_PATH="${CONTENT_PATH_DEFAULT}/.." CONTENT_DOC_MAIN_FILES=' README.html' APP_MAIN_TYPE='renpy' ## Ensure easy upgrades from packages generated with pre-20240912.2 game scripts PKG_MAIN_PROVIDES="${PKG_MAIN_PROVIDES:-} harry-potter-and-the-mysterious-thief-part1 harry-potter-and-the-mysterious-thief-part1-data" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-harry-potter-and-the-mysterious-thief-part-2.sh0000750000000000000000000000371514471751340022560 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Harry Potter and the Mysterious Thief - Part 2 # send your bug reports to bugs@dotslashplay.it ### script_version=20240912.2 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='harry-potter-and-the-mysterious-thief-part-2' GAME_NAME='Harry Potter and the Mysterious Thief - Part 2' ARCHIVE_BASE_0_NAME='HPatMTp2-linux.tar.bz2' ARCHIVE_BASE_0_MD5='e3505e2a2ba06f645092c6e53c344ca2' ARCHIVE_BASE_0_SIZE='120000' ARCHIVE_BASE_0_VERSION='1.0-itch.2020.12.01' ARCHIVE_BASE_0_URL='https://rivarsstudio.itch.io/harry-potter-and-the-mysterious-thief-part-ii' CONTENT_PATH_DEFAULT='HPatMTp2-linux/game' CONTENT_GAME_MAIN_FILES=' cache archive.rpa script_version.txt' APP_MAIN_TYPE='renpy' ## Ensure easy upgrades from packages generated with pre-20240912.2 game scripts PKG_MAIN_PROVIDES="${PKG_MAIN_PROVIDES:-} harry-potter-and-the-mysterious-thief-part2 harry-potter-and-the-mysterious-thief-part2-data" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_default # Write launchers ## Use the default Ren'Py icon if it is available desktop_field_icon() { printf 'renpy' } launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-harry-potter-and-the-transformency-spell.sh0000750000000000000000000000367714471751340022153 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Harry Potter and the Transformency Spell # send your bug reports to bugs@dotslashplay.it ### script_version=20240912.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='harry-potter-and-the-transformency-spell' GAME_NAME='Harry Potter and the Transformency Spell' ARCHIVE_BASE_0_NAME='eng_WizardLove_Exchange-linux.tar.bz2' ARCHIVE_BASE_0_MD5='bde8b88d4de6ba7f5b35648a38f5b5c9' ARCHIVE_BASE_0_SIZE='88000' ARCHIVE_BASE_0_VERSION='1.0-itch' ARCHIVE_BASE_0_URL='https://rivarsstudio.itch.io/hpatts' CONTENT_PATH_DEFAULT='WizardLove_Exchange-linux/game' CONTENT_GAME_MAIN_FILES=' cache images music sounds script_version.txt *.rpy *.rpyc' CONTENT_DOC_MAIN_PATH="${CONTENT_PATH_DEFAULT}/.." CONTENT_DOC_MAIN_FILES=' README.html' APP_MAIN_TYPE='renpy' APP_MAIN_ICON='images/icon.png' ## Ensure easy upgrades from packages generated with pre-20240912.1 game scripts PKG_MAIN_PROVIDES="${PKG_MAIN_PROVIDES:-} harry-potter-and-the-transformency-spell-data" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-hatoful-boyfriend.sh0000750000000000000000000000530114471751340015573 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2017 Mopi # SPDX-FileCopyrightText: © 2017 Antoine Le Gonidec set -o errexit ### # Hatoful Boyfriend # send your bug reports to bugs@dotslashplay.it ### script_version=20240915.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='hatoful-boyfriend' GAME_NAME='Hatoful Boyfriend' ARCHIVE_BASE_0_NAME='gog_hatoful_boyfriend_2.0.0.2.sh' ARCHIVE_BASE_0_MD5='8c0a236206aadabf7b4bfd785edce954' ARCHIVE_BASE_0_SIZE='2121845' ARCHIVE_BASE_0_VERSION='1.0-gog2.0.0.2' ARCHIVE_BASE_0_URL='https://www.gog.com/game/hatoful_boyfriend' UNITY3D_NAME='hatoful' UNITY3D_PLUGINS=' ScreenSelector.so' ## TODO: Check if the Steam libraries are required. UNITY3D_PLUGINS="$UNITY3D_PLUGINS libCSteamworks.so libsteam_api.so" CONTENT_PATH_DEFAULT='data/noarch/game' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libatk-1.0.so.0 libcairo.so.2 libc.so.6 libdl.so.2 libfontconfig.so.1 libfreetype.so.6 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libgdk-x11-2.0.so.0 libgio-2.0.so.0 libglib-2.0.so.0 libGL.so.1 libGLU.so.1 libgmodule-2.0.so.0 libgobject-2.0.so.0 libgthread-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpango-1.0.so.0 libpangocairo-1.0.so.0 libpangoft2-1.0.so.0 libpthread.so.0 librt.so.1 libstdc++.so.6 libX11.so.6 libXcursor.so.1 libXext.so.6 libXrandr.so.2' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" ## TODO: A dependency on the wqy-microhei.ttc font should be added. PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-hauma-a-detective-noir-story.sh0000750000000000000000000000643514471751340017571 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Hauma - A Detective Noir Story # send your bug reports to bugs@dotslashplay.it ### script_version=20241211.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='hauma-a-detective-noir-story' GAME_NAME='Hauma - A Detective Noir Story' GAME_ID_DEMO="${GAME_ID}-demo" GAME_NAME_DEMO="$GAME_NAME (demo)" ARCHIVE_BASE_1_NAME='setup_hauma_-_a_detective_noir_story_1.05_(74220).exe' ARCHIVE_BASE_1_MD5='6780baacc12416f1c53e070195c53def' ARCHIVE_BASE_1_TYPE='innosetup' ARCHIVE_BASE_1_PART1_NAME='setup_hauma_-_a_detective_noir_story_1.05_(74220)-1.bin' ARCHIVE_BASE_1_PART1_MD5='abe2aeeb9b4f38ee18d47fbec2795bf1' ARCHIVE_BASE_1_SIZE='2119600' ARCHIVE_BASE_1_VERSION='1.05-gog74220' ARCHIVE_BASE_1_URL='https://www.gog.com/game/hauma_a_detective_noir_story' ARCHIVE_BASE_0_NAME='setup_hauma_-_a_detective_noir_story_1.04_(69325).exe' ARCHIVE_BASE_0_MD5='e6fc035ebe25667b38c3a2d7e4b37bb7' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_hauma_-_a_detective_noir_story_1.04_(69325)-1.bin' ARCHIVE_BASE_0_PART1_MD5='45212abd3511d32f07b5cd03a09ef370' ARCHIVE_BASE_0_SIZE='2118754' ARCHIVE_BASE_0_VERSION='1.04-gog69325' ARCHIVE_BASE_DEMO_0_NAME='setup_hauma_-_a_detective_noir_story_demo_1.00_(67500).exe' ARCHIVE_BASE_DEMO_0_MD5='1c227ca038d28e96d78d81f616536b62' ARCHIVE_BASE_DEMO_0_TYPE='innosetup' ARCHIVE_BASE_DEMO_0_PART1_NAME='setup_hauma_-_a_detective_noir_story_demo_1.00_(67500)-1.bin' ARCHIVE_BASE_DEMO_0_PART1_MD5='a6a708237c1df4de6008862d9c92fc30' ARCHIVE_BASE_DEMO_0_SIZE='2118728' ARCHIVE_BASE_DEMO_0_VERSION='1.00-gog67500' ARCHIVE_BASE_DEMO_0_URL='https://www.gog.com/game/hauma_a_detective_noir_story_demo' CONTENT_PATH_DEFAULT='.' CONTENT_GAME_BIN_FILES=' settings.cfg fmod.dll fmodstudio.dll libgodotfmod.windows.release.64.dll hauma.exe' CONTENT_GAME_DATA_FILES=' hauma.pck' ## The game crashes on launch if the Steam libraries are not available. CONTENT_GAME0_BIN_FILES=' godotsteam.dll steam_api64.dll' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/Roaming/Godot/app_userdata/Hauma' USER_PERSISTENT_FILES=' settings.cfg' APP_MAIN_EXE='hauma.exe' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_ID_DEMO="${GAME_ID_DEMO}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-haven-moon.sh0000750000000000000000000000376614471751340014236 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2017 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Haven Moon # send your bug reports to bugs@dotslashplay.it ### script_version=20241130.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='haven-moon' GAME_NAME='Haven Moon' ## This game is no longer available for sale from humblebundle.com ARCHIVE_BASE_0_NAME='HavenMoon_LINUX.zip' ARCHIVE_BASE_0_MD5='2698639eaad59d4d01c10694bf63188e' ARCHIVE_BASE_0_SIZE='1177349' ARCHIVE_BASE_0_VERSION='1.0-humble161213' UNITY3D_NAME='HavenMoon' UNITY3D_PLUGINS=' ScreenSelector.so' CONTENT_PATH_DEFAULT='HavenMoon_LINUX' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libGL.so.1 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libX11.so.6 libXcursor.so.1 libXrandr.so.2' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-haven-park.sh0000750000000000000000000000435714471751340014220 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Haven Park # send your bug reports to bugs@dotslashplay.it ### script_version=20241109.2 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='haven-park' GAME_NAME='Haven Park' ARCHIVE_BASE_2_NAME='haven_park_1_2_1_2_53266.sh' ARCHIVE_BASE_2_MD5='d323146b73761aa946e599f060f4888b' ARCHIVE_BASE_2_VERSION='1.2.1.2-gog53266' ARCHIVE_BASE_2_SIZE='391856' ARCHIVE_BASE_2_URL='https://www.gog.com/game/haven_park' ARCHIVE_BASE_1_NAME='haven_park_1_0_8_49380.sh' ARCHIVE_BASE_1_MD5='9fe66fd96d55f019e7d8767b9dea8544' ARCHIVE_BASE_1_VERSION='1.0.8-gog49380' ARCHIVE_BASE_1_SIZE='402142' ARCHIVE_BASE_0_NAME='haven_park_1_0_5_49052.sh' ARCHIVE_BASE_0_MD5='0c4fc4383682e8fc06eb0355b5e391b6' ARCHIVE_BASE_0_VERSION='1.0.5-gog49052' ARCHIVE_BASE_0_SIZE='400000' UNITY3D_NAME='HavenPark' ## TODO: Check if the Steam library is required UNITY3D_PLUGINS=' libsteam_api.so' CONTENT_PATH_DEFAULT='data/noarch/game' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libm.so.6 libpthread.so.0 librt.so.1 libz.so.1' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-heavens-vault.sh0000750000000000000000000000422414471751340014737 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2021 Antoine Le Gonidec set -o errexit ### # Heaven's Vault # send your bug reports to bugs@dotslashplay.it ### script_version=20240807.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='heavens-vault' GAME_NAME='Heavenʼs Vault' ARCHIVE_BASE_0_NAME='setup_heavens_vault_1.11_(64bit)_(31262).exe' ARCHIVE_BASE_0_MD5='73476bbfccb0a97ec68fd403d23c85f0' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_heavens_vault_1.11_(64bit)_(31262)-1.bin' ARCHIVE_BASE_0_PART1_MD5='2f1dc13ab09f8fc592e1b8482ea5b0f4' ARCHIVE_BASE_0_SIZE='4300000' ARCHIVE_BASE_0_VERSION='1.11-gog31262' ARCHIVE_BASE_0_URL='https://www.gog.com/game/heavens_vault' UNITY3D_NAME='heavensvault' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=" users/\${USER}/AppData/LocalLow/Inkle Ltd/Heaven's Vault" PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" # Use a Unity3D name not including tricky characters unity3d_name=$(unity3d_name) mv "heaven's vault.exe" "${unity3d_name}.exe" mv "heaven's vault_data" "${unity3d_name}_data" ) # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-her-majestys-spiffing.sh0000750000000000000000000000446614471751340016403 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Antoine Le Gonidec set -o errexit ### # Her Majesty's Spiffing # send your bug reports to bugs@dotslashplay.it ### script_version=20250513.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='her-majestys-spiffing' GAME_NAME='Her Majesty’s Spiffing' ARCHIVE_BASE_0_NAME='HMS_Linux.zip' ARCHIVE_BASE_0_MD5='ca535505f238dad9bb90cedf19b06802' ARCHIVE_BASE_0_SIZE='3200000' ARCHIVE_BASE_0_VERSION='1.0-humble161207' ARCHIVE_BASE_0_URL='https://www.humblebundle.com/store/her-majestys-spiffing' UNITY3D_NAME='hms' UNITY3D_PLUGINS=' ScreenSelector.so' CONTENT_PATH_DEFAULT='Linux' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libGL.so.1 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libX11.so.6 libXcursor.so.1 libXrandr.so.2' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-higurashi-when-they-cry-hou.sh0000750000000000000000000000513714471751340017436 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Emmanuel Gil Peyrot # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Higurashi When They Cry Hou series: # - Ch.1 Onikakushi # send your bug reports to bugs@dotslashplay.it ### script_version=20240915.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='higurashi-when-they-cry-hou' GAME_NAME='Higurashi When They Cry Hou' GAME_ID_CHAPTER1="${GAME_ID}-1" GAME_NAME_CHAPTER1="$GAME_NAME - Ch.1 Onikakushi" ARCHIVE_BASE_CHAPTER1_0_NAME='higurashi_when_they_cry_hou_ch_1_onikakushi_1_0_bgm_sfx_update_28641.sh' ARCHIVE_BASE_CHAPTER1_0_MD5='501e514ef5accc565eac6e98c384e4aa' ARCHIVE_BASE_CHAPTER1_0_SIZE='431119' ARCHIVE_BASE_CHAPTER1_0_VERSION='1.0-gog28641' ARCHIVE_BASE_CHAPTER1_0_URL='https://www.gog.com/game/higurashi_when_they_cry_hou_ch1_onikakushi' UNITY3D_NAME_CHAPTER1='HigurashiEp01' UNITY3D_PLUGINS=' ScreenSelector.so' CONTENT_PATH_DEFAULT='data/noarch/game' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libGL.so.1 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libX11.so.6 libXcursor.so.1 libXrandr.so.2' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_DATA_ID_CHAPTER1="${GAME_ID_CHAPTER1}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-hiveswap-act-1.sh0000750000000000000000000000445314471751340014712 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 BetaRays # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Hiveswap: Act 1 # send your bug reports to bugs@dotslashplay.it ### script_version=20250513.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='hiveswap-act-1' GAME_NAME='Hiveswap: Act 1' ARCHIVE_BASE_0_NAME='hiveswap_act_1_en_gog_1_20238.sh' ARCHIVE_BASE_0_MD5='9ca40a38ee3de182cec967e3f6749be4' ARCHIVE_BASE_0_SIZE='4300000' ARCHIVE_BASE_0_VERSION='1.0-gog20238' ARCHIVE_BASE_0_URL='https://www.gog.com/game/hiveswap' UNITY3D_NAME='Hiveswap-Act1' UNITY3D_PLUGINS=' ScreenSelector.so' CONTENT_PATH_DEFAULT='data/noarch/game' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libz.so.1' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-hot-tin-roof.sh0000750000000000000000000000476314471751340014512 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Hot Tin Roof # send your bug reports to bugs@dotslashplay.it ### script_version=20241127.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='hot-tin-roof' GAME_NAME='Hot Tin Roof: The Cat That Wore a Fedora' ## This game is no longer available for sale from gog.com ARCHIVE_BASE_0_NAME='gog_hot_tin_roof_the_cat_that_wore_a_fedora_2.4.0.7.sh' ARCHIVE_BASE_0_MD5='487857998159f763d2b9ff9d42caca70' ARCHIVE_BASE_0_SIZE='765215' ARCHIVE_BASE_0_VERSION='1.3-gog2.4.0.7' UNITY3D_NAME='HotTinRoof' UNITY3D_PLUGINS=' ScreenSelector.so' ## TODO: Check if the Steam libraries are required UNITY3D_PLUGINS="$UNITY3D_PLUGINS libCSteamworks.so libsteam_api.so" CONTENT_PATH_DEFAULT='data/noarch/game' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libGL.so.1 libGLU.so.1 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libX11.so.6 libXcursor.so.1' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-i-have-no-mouth-and-i-must-scream.sh0000750000000000000000000001017414471751340020317 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2016 Mopi # SPDX-FileCopyrightText: © 2017 Antoine Le Gonidec set -o errexit ### # I Have No Mouth And I Must Scream # send your bug reports to bugs@dotslashplay.it ### script_version=20250227.2 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='i-have-no-mouth-and-i-must-scream' GAME_NAME='I Have No Mouth And I Must Scream' ARCHIVE_BASE_EN_0_NAME='i_have_no_mouth_and_i_must_scream_en_1_0_17913.sh' ARCHIVE_BASE_EN_0_MD5='93640c6a4dc73f4ed2d40b210b95ba4c' ARCHIVE_BASE_EN_0_SIZE='750000' ARCHIVE_BASE_EN_0_VERSION='1.0-gog17913' ARCHIVE_BASE_EN_0_URL='https://www.gog.com/game/i_have_no_mouth_and_i_must_scream' ARCHIVE_BASE_FR_0_NAME='i_have_no_mouth_and_i_must_scream_fr_1_0_17913.sh' ARCHIVE_BASE_FR_0_MD5='9124d7ccef36d4bb01dfae4d97cfbdea' ARCHIVE_BASE_FR_0_SIZE='570000' ARCHIVE_BASE_FR_0_VERSION='1.0-gog17913' ARCHIVE_BASE_FR_0_URL='https://www.gog.com/game/i_have_no_mouth_and_i_must_scream' ARCHIVE_BASE_INNERARCHIVE_EN_0_NAME='gog_i_have_no_mouth_and_i_must_scream_2.0.0.4.sh' ARCHIVE_BASE_INNERARCHIVE_EN_0_MD5='be690cfa08a87b350c26cbfdde5de401' ARCHIVE_BASE_INNERARCHIVE_EN_0_SIZE='780000' ARCHIVE_BASE_INNERARCHIVE_EN_0_VERSION='1.0-gog2.0.0.4' ARCHIVE_BASE_INNERARCHIVE_FR_0_NAME='gog_i_have_no_mouth_and_i_must_scream_french_2.0.0.4.sh' ARCHIVE_BASE_INNERARCHIVE_FR_0_MD5='e59029d2736ffa2859d73d56899055ee' ARCHIVE_BASE_INNERARCHIVE_FR_0_SIZE='500000' ARCHIVE_BASE_INNERARCHIVE_FR_0_VERSION='1.0-gog2.0.0.4' CONTENT_PATH_DEFAULT='data/noarch/data' CONTENT_GAME_L10N_FILES=' scream.res scripts.res voices?.res' CONTENT_GAME_MAIN_FILES=' musicfm.res musicgm.res sfx.res patch.re_' CONTENT_DOC_MAIN_PATH='data/noarch/docs' CONTENT_DOC_MAIN_FILES=' *.pdf' APP_MAIN_SCUMMID='saga:ihnm' APP_MAIN_ICON='../support/icon.png' PACKAGES_LIST=' PKG_MAIN PKG_L10N' PKG_MAIN_DEPENDENCIES_SIBLINGS=' PKG_L10N_BASE' PKG_L10N_BASE_ID="${GAME_ID}-l10n" PKG_L10N_ID_EN="${PKG_L10N_BASE_ID}-en" PKG_L10N_ID_FR="${PKG_L10N_BASE_ID}-fr" PKG_L10N_ID_INNERARCHIVE_EN="$PKG_L10N_ID_EN" PKG_L10N_ID_INNERARCHIVE_FR="$PKG_L10N_ID_FR" PKG_L10N_PROVIDES=" $PKG_L10N_BASE_ID" PKG_L10N_DESCRIPTION_EN='English localization' PKG_L10N_DESCRIPTION_FR='French localization' PKG_L10N_DESCRIPTION_INNERARCHIVE_EN="$PKG_L10N_DESCRIPTION_EN" PKG_L10N_DESCRIPTION_INNERARCHIVE_FR="$PKG_L10N_DESCRIPTION_FR" # Older gog.com archives require to get files from an inner archive ## Warning: REQUIREMENTS_LIST has no support for contextual values as of ./play.it 2.32 REQUIREMENTS_LIST_INNERARCHIVE="${REQUIREMENTS_LIST:-} unar" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Older gog.com archives require to get files from an inner archive REQUIREMENTS_LIST=$(context_value 'REQUIREMENTS_LIST') requirements_check # Extract game data archive_extraction_default ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" # Older gog.com archives require to get files from an inner archive. case "$(current_archive)" in ('ARCHIVE_BASE_INNERARCHIVE_'*) ARCHIVE_INNER_PATH="${PLAYIT_WORKDIR}/gamedata/$(content_path_default)/NoMouth.dat" ARCHIVE_INNER_EXTRACTOR='unar' archive_extraction 'ARCHIVE_INNER' rm "$ARCHIVE_INNER_PATH" ;; esac # Convert all file names to lower case tolower . ) ## Older gog.com archives require to get files from an inner archive CONTENT_PATH_DEFAULT_INNERARCHIVE='.' # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-if-not-us.sh0000750000000000000000000000603014471751340013773 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # If Not Us # send your bug reports to bugs@dotslashplay.it ### script_version=20241224.2 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='if-not-us' GAME_NAME='If Not Us' ARCHIVE_BASE_64BIT_0_NAME='if not us - Linux64.zip' ARCHIVE_BASE_64BIT_0_MD5='216690ba3a752f8a5548e38b933f7bc4' ARCHIVE_BASE_64BIT_0_SIZE='240000' ARCHIVE_BASE_64BIT_0_VERSION='1.0-itch' ARCHIVE_BASE_64BIT_0_URL='https://ub4q.itch.io/ifnotus' ARCHIVE_BASE_32BIT_0_NAME='if not us - Linux32.zip' ARCHIVE_BASE_32BIT_0_MD5='e18811fde9e2a096cca93ac990764255' ARCHIVE_BASE_32BIT_0_SIZE='240000' ARCHIVE_BASE_32BIT_0_VERSION='1.0-itch' ARCHIVE_BASE_32BIT_0_URL='https://ub4q.itch.io/ifnotus' CONTENT_PATH_DEFAULT='.' CONTENT_LIBS_BIN_RELATIVE_PATH='lib' CONTENT_LIBS_BIN_FILES=' libffmpeg.so libnode.so libnw.so' CONTENT_GAME_BIN_FILES=' chromedriver if not us minidump_stackwalk nacl_helper nacl_helper_bootstrap nacl_irt_x86_64.nexe nwjc payload pnacl snapshot_blob.bin' CONTENT_GAME_DATA_FILES=' Gallery locales icudtl.dat natives_blob.bin nw_100_percent.pak nw_200_percent.pak nw_material_100_percent.pak nw_material_200_percent.pak resources.pak' CONTENT_DOC_DATA_FILES=' credits.html' APP_MAIN_EXE='if not us' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH_32BIT='32' PKG_BIN_ARCH_64BIT='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libasound.so.2 libatk-1.0.so.0 libcairo.so.2 libc.so.6 libcups.so.2 libdbus-1.so.3 libdl.so.2 libexpat.so.1 libfontconfig.so.1 libfreetype.so.6 libgcc_s.so.1 libgconf-2.so.4 libgdk_pixbuf-2.0.so.0 libgdk-x11-2.0.so.0 libgio-2.0.so.0 libglib-2.0.so.0 libgmodule-2.0.so.0 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libnspr4.so libnss3.so libnssutil3.so libpango-1.0.so.0 libpangocairo-1.0.so.0 libpthread.so.0 librt.so.1 libsmime3.so libstdc++.so.6 libX11.so.6 libXcomposite.so.1 libXcursor.so.1 libXdamage.so.1 libXext.so.6 libXfixes.so.3 libXi.so.6 libXrandr.so.2 libXrender.so.1 libXss.so.1 libXtst.so.6' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-indiana-jones-and-the-fate-of-atlantis.sh0000750000000000000000000000546014471751340021351 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2017 Mopi # SPDX-FileCopyrightText: © 2018 Antoine Le Gonidec # SPDX-FileCopyrightText: © 2020 macaron set -o errexit ### # Indiana Jones and the Fate of Atlantis # send your bug reports to bugs@dotslashplay.it ### script_version=20240623.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='indiana-jones-and-the-fate-of-atlantis' GAME_NAME='Indiana Jones and the Fate of Atlantis' ARCHIVE_BASE_EN_1_NAME='indiana_jones_and_the_fate_of_atlantis_en_gog_2_20145.sh' ARCHIVE_BASE_EN_1_MD5='f7c093e148b001520809032095d7e8d7' ARCHIVE_BASE_EN_1_SIZE='390000' ARCHIVE_BASE_EN_1_VERSION='1.0-gog20145' ARCHIVE_BASE_EN_1_URL='https://www.gog.com/game/indiana_jones_and_the_fate_of_atlantis' ARCHIVE_BASE_FR_1_NAME='indiana_jones_and_the_fate_of_atlantis_fr_gog_2_20145.sh' ARCHIVE_BASE_FR_1_MD5='edbfebcf9daa23e329e41ccf9c89286c' ARCHIVE_BASE_FR_1_SIZE='240000' ARCHIVE_BASE_FR_1_VERSION='1.0-gog20145' ARCHIVE_BASE_FR_1_URL='https://www.gog.com/game/indiana_jones_and_the_fate_of_atlantis' ARCHIVE_BASE_EN_0_NAME='gog_indiana_jones_and_the_fate_of_atlantis_2.2.0.27.sh' ARCHIVE_BASE_EN_0_MD5='d56a5850b9d1d4f82eebc282ef7fb52b' ARCHIVE_BASE_EN_0_SIZE='250000' ARCHIVE_BASE_EN_0_VERSION='1.0-gog2.2.0.27' ARCHIVE_BASE_FR_0_NAME='gog_indiana_jones_and_the_fate_of_atlantis_french_2.2.0.27.sh' ARCHIVE_BASE_FR_0_MD5='0da3a8b3d0505c86a9f863c27debbca7' ARCHIVE_BASE_FR_0_SIZE='99000' ARCHIVE_BASE_FR_0_VERSION='1.0-gog2.2.0.27' CONTENT_PATH_DEFAULT='data/noarch/data' CONTENT_GAME_MAIN_FILES=' atlantis.000 atlantis.001 monster.sou' CONTENT_DOC_MAIN_PATH='data/noarch/docs' CONTENT_DOC_MAIN_FILES=' *.pdf *.txt' APP_MAIN_SCUMMID='scumm:atlantis' APP_MAIN_ICON='../support/icon.png' PKG_MAIN_ID="$GAME_ID" PKG_MAIN_ID_EN="${PKG_MAIN_ID}-en" PKG_MAIN_ID_FR="${PKG_MAIN_ID}-fr" PKG_MAIN_PROVIDES=" $PKG_MAIN_ID" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" ## Convert all file paths to lowercase. tolower . ) # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-indiana-jones-and-the-last-crusade.sh0000750000000000000000000000337214471751340020602 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 macaron # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Indiana Jones and the Last Crusade # send your bug reports to bugs@dotslashplay.it ### script_version=20240824.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='indiana-jones-and-the-last-crusade' GAME_NAME='Indiana Jones and the Last Crusade' ARCHIVE_BASE_0_NAME='indiana_jones_and_the_last_crusade_en_gog_2_20145.sh' ARCHIVE_BASE_0_MD5='b00d2c5498376718caad19db54265b29' ARCHIVE_BASE_0_SIZE='90000' ARCHIVE_BASE_0_VERSION='1.0-gog20145' ARCHIVE_BASE_0_URL='https://www.gog.com/game/indiana_jones_and_the_last_crusade' CONTENT_PATH_DEFAULT='data/noarch/data' CONTENT_GAME_MAIN_FILES=' *.lfl' CONTENT_DOC_MAIN_PATH="${CONTENT_PATH_DEFAULT}/../docs" CONTENT_DOC_MAIN_FILES=' *.txt' APP_MAIN_SCUMMID='scumm:indy3' APP_MAIN_ICON='../support/icon.png' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-inner-space.sh0000750000000000000000000000400714471751340014360 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2019 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Inner Space # send your bug reports to bugs@dotslashplay.it ### script_version=20250513.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='inner-space' GAME_NAME='Inner Space' ## This game is no longer available as a DRM-free build from Humble Store, ## they now only sell Steam keys. ARCHIVE_BASE_0_NAME='InnerSpace_v1.2_Linux.zip' ARCHIVE_BASE_0_MD5='10f0c5247a1404f9f40ee8cd01ab9b66' ARCHIVE_BASE_0_SIZE='2000000' ARCHIVE_BASE_0_VERSION='1.2-humble180610' UNITY3D_NAME='InnerSpace' UNITY3D_PLUGINS=' ScreenSelector.so' CONTENT_PATH_DEFAULT='IS_180416_01_LIN_DRMFREE' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libz.so.1' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-inspector-waffles.sh0000750000000000000000000000353514471751340015614 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Inspector Waffles # send your bug reports to bugs@dotslashplay.it ### script_version=20240824.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='inspector-waffles' GAME_NAME='Inspector Waffles' ARCHIVE_BASE_0_NAME='setup_inspector_waffles_1.0.2.11_(50460).exe' ARCHIVE_BASE_0_MD5='ecdc6df3bc37b28c05f1bf7b24c3192f' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='740000' ARCHIVE_BASE_0_VERSION='1.0.2.11-gog50460' ARCHIVE_BASE_0_URL='https://www.gog.com/game/inspector_waffles' UNITY3D_NAME='inspector waffles' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/Goloso Games/Inspector Waffles' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_GSTREAMER_PLUGINS=' video/quicktime, variant=(string)iso' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-irony-curtain.sh0000750000000000000000000000474414471751340014767 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Irony Curtain # send your bug reports to bugs@dotslashplay.it ### script_version=20240824.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='irony-curtain' GAME_NAME='Irony Curtain: From Matryoshka with Love' ARCHIVE_BASE_0_NAME='irony_curtain_from_matryoshka_with_love_1_0_5_30562.sh' ARCHIVE_BASE_0_MD5='ad996313d86b3f0dff3a8b8e0e8d0357' ARCHIVE_BASE_0_SIZE='2400000' ARCHIVE_BASE_0_VERSION='1.0.5-gog30562' ARCHIVE_BASE_0_URL='https://www.gog.com/game/irony_curtain_from_matryoshka_with_love' CONTENT_PATH_DEFAULT='data/noarch/game' CONTENT_GAME_BIN64_FILES=' IronyCurtain_amd64' CONTENT_GAME_BIN32_FILES=' IronyCurtain_i386' CONTENT_GAME_DATA_FILES=' linux game.json game.sparkconfig Icon.ico' APP_MAIN_EXE_BIN32='IronyCurtain_i386' APP_MAIN_EXE_BIN64='IronyCurtain_amd64' APP_MAIN_ICON='Icon.ico' PACKAGES_LIST=' PKG_BIN32 PKG_BIN64 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libGL.so.1 libidn.so.11 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libX11.so.6 libXext.so.6 libXinerama.so.1' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-jenny-leclue-detectivu.sh0000750000000000000000000000516614471751340016547 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Jenny LeClue - Detectivú # send your bug reports to bugs@dotslashplay.it ### script_version=20240825.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='jenny-leclue-detectivu' GAME_NAME='Jenny LeClue - Detectivú' ARCHIVE_BASE_1_NAME='jenny_leclue_detectivu_2_2_1_47129.sh' ARCHIVE_BASE_1_MD5='bb03cb3d7c6abf4be7060ed4cf126b2e' ARCHIVE_BASE_1_SIZE='2100000' ARCHIVE_BASE_1_VERSION='2.2.1-gog47129' ARCHIVE_BASE_1_URL='https://www.gog.com/game/jenny_leclue_detectivu' ARCHIVE_BASE_0_NAME='jenny_leclue_detectivu_2_1_1_42681.sh' ARCHIVE_BASE_0_MD5='21c681f13664bbb1259f4807cc388742' ARCHIVE_BASE_0_SIZE='1900000' ARCHIVE_BASE_0_VERSION='2.1.1-gog42681' UNITY3D_NAME='Jenny LeClue - Detectivu' CONTENT_PATH_DEFAULT='data/noarch/game' ## TODO: The shipped plugins to include should be listed using UNITY3D_PLUGINS CONTENT_GAME0_BIN64_FILES=" ${UNITY3D_NAME}/Plugins/x86_64" CONTENT_GAME0_BIN32_FILES=" ${UNITY3D_NAME}/Plugins/x86" PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" ## TODO: This dependencies list is probably not complete PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libgdk_pixbuf-2.0.so.0 libgtk-x11-2.0.so.0 libgobject-2.0.so.0 libglib-2.0.so.0 libstdc++.so.6 libz.so.1' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-journey-of-a-roach.sh0000750000000000000000000000450514471751340015564 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2017 Mopi # SPDX-FileCopyrightText: © 2017 Antoine Le Gonidec set -o errexit ### # Journey of a Roach # send your bug reports to bugs@dotslashplay.it ### script_version=20250520.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='journey-of-a-roach' GAME_NAME='Journey of a Roach' ARCHIVE_BASE_GOG_0_NAME='setup_journey_of_a_roach_2.1.0.5.exe' ARCHIVE_BASE_GOG_0_MD5='98b4f1c3efc2a789530ffc1f8f1c2b92' ARCHIVE_BASE_GOG_0_TYPE='innosetup' ARCHIVE_BASE_GOG_0_SIZE='1600000' ARCHIVE_BASE_GOG_0_VERSION='1.30.011-gog2.1.0.5' ARCHIVE_BASE_GOG_0_URL='https://www.gog.com/game/journey_of_a_roach' ARCHIVE_BASE_HUMBLE_0_NAME='JoaR_1.3_PC_Full_Multi_Daedalic_ESD.exe' ARCHIVE_BASE_HUMBLE_0_MD5='e349a84f7b8ac095b06edea521cade8f' ARCHIVE_BASE_HUMBLE_0_TYPE='innosetup' ARCHIVE_BASE_HUMBLE_0_SIZE='1600000' ARCHIVE_BASE_HUMBLE_0_VERSION='1.30.011-humble160915' ARCHIVE_BASE_HUMBLE_0_URL='https://www.humblebundle.com/store/journey-of-a-roach' UNITY3D_NAME='joar' CONTENT_PATH_DEFAULT='app' CONTENT_DOC_DATA_RELATIVE_PATH='documents' CONTENT_DOC_DATA_FILES=' readme_??.txt' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/Local Settings/Application Data/Daedalic Entertainment/Journey of a Roach' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-julia-among-the-stars.sh0000750000000000000000000000662014471751340016272 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2017 Mopi # SPDX-FileCopyrightText: © 2017 Antoine Le Gonidec set -o errexit ### # J.U.L.I.A Among the Stars # send your bug reports to bugs@dotslashplay.it ### script_version=20240825.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='julia-among-the-stars' GAME_NAME='J.U.L.I.A Among the Stars' ARCHIVE_BASE_0_NAME='gog_j_u_l_i_a_among_the_stars_2.0.0.1.sh' ARCHIVE_BASE_0_MD5='58becebfaf5a3705fe3f34d5531298d3' ARCHIVE_BASE_0_SIZE='3100000' ARCHIVE_BASE_0_VERSION='1.0-gog2.0.0.1' ARCHIVE_BASE_0_URL='https://www.gog.com/game/julia_among_the_stars' ## Optional icons pack ARCHIVE_OPTIONAL_ICONS_NAME='julia-among-the-stars_icons.tar.gz' ARCHIVE_OPTIONAL_ICONS_MD5='8e9e8ec585123eb3b6e5d31723b7909c' ARCHIVE_OPTIONAL_ICONS_URL='https://downloads.dotslashplay.it/resources/julia-among-the-stars/' CONTENT_ICONS_PATH='.' CONTENT_ICONS_FILES=' 16x16 32x32 48x48 64x64 128x128' CONTENT_PATH_DEFAULT='data/noarch/game' CONTENT_LIBS_BIN_FILES=' libbass_fx.so libbass.so libHalf.so.6 libIex.so.6 libIlmImf.so.6 libIlmThread.so.6 libjasper.so.1 libjpeg.so.8 liblcms.so.1 libopenjpeg.so.2 libpng12.so.0 libQtCore.so.4 libQtGui.so.4 libraw.so libraw.so.9 libtheoraplayer.so.1' CONTENT_LIBS_BIN64_PATH="${CONTENT_PATH_DEFAULT}/lib64" CONTENT_LIBS_BIN64_FILES="$CONTENT_LIBS_BIN_FILES" CONTENT_LIBS_BIN32_PATH="${CONTENT_PATH_DEFAULT}/lib" CONTENT_LIBS_BIN32_FILES="$CONTENT_LIBS_BIN_FILES" CONTENT_GAME_BIN64_FILES=' julia64' CONTENT_GAME_BIN32_FILES=' julia' CONTENT_GAME_DATA_FILES=' DLC *.dcp' APP_MAIN_EXE_BIN64='julia64' APP_MAIN_EXE_BIN32='julia' APP_MAIN_OPTIONS='-ignore _sd' APP_MAIN_ICON='../support/icon.png' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libaudio.so.2 libc.so.6 libdl.so.2 libfontconfig.so.1 libfreeimage.so.3 libfreetype.so.6 libgcc_s.so.1 libglib-2.0.so.0 libgobject-2.0.so.0 libgomp.so.1 libICE.so.6 liblcms2.so.2 libm.so.6 libogg.so.0 libpthread.so.0 librt.so.1 libSDL2-2.0.so.0 libSM.so.6 libstdc++.so.6 libtheoradec.so.1 libvorbis.so.0 libX11.so.6 libXext.so.6 libXi.so.6 libXrender.so.1 libz.so.1' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-kentucky-route-zero.sh0000750000000000000000000000610514471751340016123 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2017 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Kentucky Route Zero # send your bug reports to bugs@dotslashplay.it ### script_version=20241224.2 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='kentucky-route-zero' GAME_NAME='Kentucky Route Zero' ARCHIVE_BASE_0_NAME='KentuckyRouteZero_Linux_v27.zip' ARCHIVE_BASE_0_MD5='19cb27f6aa0cd98f9122ae4240cdd2a1' ARCHIVE_BASE_0_SIZE='1786819' ARCHIVE_BASE_0_VERSION='27-humble1' ARCHIVE_BASE_0_URL='https://www.humblebundle.com/store/kentucky-route-zero' ARCHIVE_BASE_MULTIARCH_0_NAME='KentuckyRouteZero_Linux_v17.zip' ARCHIVE_BASE_MULTIARCH_0_MD5='36c7b89c223d5c77d4d44b7ccf72f241' ARCHIVE_BASE_MULTIARCH_0_SIZE='690000' ARCHIVE_BASE_MULTIARCH_0_VERSION='17-humble1' UNITY3D_NAME='KentuckyRouteZero' UNITY3D_PLUGINS_MULTIARCH=' ScreenSelector.so' CONTENT_PATH_DEFAULT='KentuckyRouteZero' CONTENT_PATH_DEFAULT_MULTIARCH='.' CONTENT_DOC_DATA_FILES=' README.txt RELEASE_NOTES.txt' FAKE_HOME_PERSISTENT_DIRECTORIES_MULTIARCH=' Documents/KentuckyRouteZero' PACKAGES_LIST=' PKG_BIN PKG_DATA' PACKAGES_LIST_MULTIARCH=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libm.so.6 libpthread.so.0 librt.so.1' PKG_BIN_DEPENDENCIES_LIBRARIES_MULTIARCH=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libGL.so.1 libGLU.so.1 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libX11.so.6 libXcursor.so.1' PKG_BIN64_DEPENDENCIES_LIBRARIES_MULTIARCH="$PKG_BIN_DEPENDENCIES_LIBRARIES_MULTIARCH" PKG_BIN32_DEPENDENCIES_LIBRARIES_MULTIARCH="$PKG_BIN_DEPENDENCIES_LIBRARIES_MULTIARCH" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers case "$(current_archive)" in ('ARCHIVE_BASE_MULTIARCH_'*) launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' ;; (*) launchers_generation 'PKG_BIN' ;; esac # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-lacuna-a-scifi-noir-adventure.sh0000750000000000000000000000361014471751340017667 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Lacuna – A Sci-Fi Noir Adventure # send your bug reports to bugs@dotslashplay.it ### script_version=20241201.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='lacuna-a-scifi-noir-adventure' GAME_NAME='Lacuna – A Sci-Fi Noir Adventure' ARCHIVE_BASE_0_NAME='setup_lacuna__a_sci-fi_noir_adventure_1.3.1.1_(56313).exe' ARCHIVE_BASE_0_MD5='7607b7e96cc2db16eb3a35cb4d6bdb91' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='2000000' ARCHIVE_BASE_0_VERSION='1.3.1.1-gog56313' ARCHIVE_BASE_0_URL='https://www.gog.com/game/lacuna_a_scifi_noir_adventure' UNITY3D_NAME='lacuna' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/DigiTales Interactive/Lacuna' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-lamplight-city.sh0000750000000000000000000000313314471751340015102 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Lamplight City # send your bug reports to bugs@dotslashplay.it ### script_version=20240825.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='lamplight-city' GAME_NAME='Lamplight City' ARCHIVE_BASE_0_NAME='lamplight_city_1_10_51705.sh' ARCHIVE_BASE_0_MD5='f9fc7cf3f123e79628a570222e08a054' ARCHIVE_BASE_0_SIZE='2100000' ARCHIVE_BASE_0_VERSION='1.10-gog51705' ARCHIVE_BASE_0_URL='https://www.gog.com/game/lamplight_city' CONTENT_PATH_DEFAULT='data/noarch/game/data' CONTENT_GAME_MAIN_FILES=' sync *.ags *.cfg *.tra *.vox' CONTENT_DOC_MAIN_FILES=' licenses' APP_MAIN_SCUMMID='ags:lamplightcity' APP_MAIN_ICON='../../support/icon.png' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-last-day-of-june.sh0000750000000000000000000000367614471751340015246 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Last Day of June # send your bug reports to bugs@dotslashplay.it ### script_version=20250513.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='last-day-of-june' GAME_NAME='Last Day of June' ARCHIVE_BASE_0_NAME='setup_last_day_of_june_gog-1_(19137).exe' ARCHIVE_BASE_0_MD5='0f86fdc764cea5ccdd6087226d225e43' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='3100000' ARCHIVE_BASE_0_VERSION='1.0-gog19137' ARCHIVE_BASE_0_URL='https://www.gog.com/game/last_day_of_june' UNITY3D_NAME='car_20170817_23824_fullgame' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/Ovosonico/Last Day of June' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_GSTREAMER_PLUGINS=' video/quicktime, variant=(string)iso' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-later-daters.sh0000750000000000000000000000341214471751340014542 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Later Daters # send your bug reports to bugs@dotslashplay.it ### script_version=20240911.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='later-daters' GAME_NAME='Later Daters' ARCHIVE_BASE_0_NAME='setup_later_daters_1.2_(49074).exe' ARCHIVE_BASE_0_MD5='7aa7575aa636cbe4bd5c8687eb999e78' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='1000000' ARCHIVE_BASE_0_VERSION='1.2-gog49074' ARCHIVE_BASE_0_URL='https://www.gog.com/game/later_daters' UNITY3D_NAME='later daters' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/Bloom Digital/Later Daters' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-layers-of-fear.sh0000750000000000000000000000431414471751340014771 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2017 Mopi # SPDX-FileCopyrightText: © 2017 Antoine Le Gonidec set -o errexit ### # Layers of Fear # send your bug reports to bugs@dotslashplay.it ### script_version=20250513.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='layers-of-fear' GAME_NAME='Layers of Fear' ARCHIVE_BASE_1_NAME='gog_layers_of_fear_2.3.0.5.sh' ARCHIVE_BASE_1_MD5='faf72f04f53be0523053eb7ba0f2bb05' ARCHIVE_BASE_1_SIZE='4000000' ARCHIVE_BASE_1_VERSION='1.1.0-gog2.3.0.5' ARCHIVE_BASE_1_URL='https://www.gog.com/game/layers_of_fear' ARCHIVE_BASE_0_NAME='gog_layers_of_fear_2.3.0.4.sh' ARCHIVE_BASE_0_MD5='4bc354869662ee68938c8955f08dd276' ARCHIVE_BASE_0_SIZE='4000000' ARCHIVE_BASE_0_VERSION='1.1.0-gog2.3.0.4' UNITY3D_NAME='LOF' UNITY3D_PLUGINS=' libMouseCursorPlugin.so ScreenSelector.so' CONTENT_PATH_DEFAULT='data/noarch/game' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libGL.so.1 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libX11.so.6 libXcursor.so.1 libXrandr.so.2' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-leisure-suit-larry.sh0000750000000000000000000001500214471751340015732 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Antoine Le Gonidec # SPDX-FileCopyrightText: © 2021 Anna Lea set -o errexit ### # Leisure Suit Larry series: # - Leisure Suit Larry 1 # - Leisure Suit Larry 2 # - Leisure Suit Larry 3 # - Leisure Suit Larry 5 # - Leisure Suit Larry 6 # - Leisure Suit Larry 7 # send your bug reports to bugs@dotslashplay.it ### script_version=20250520.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID_LSL1='leisure-suit-larry-1' GAME_NAME_LSL1='Leisure Suit Larry 1: In the Land of the Lounge Lizards' GAME_ID_LSL2='leisure-suit-larry-2' GAME_NAME_LSL2='Leisure Suit Larry 2: Looking For Love (In Several Wrong Places)' GAME_ID_LSL3='leisure-suit-larry-3' GAME_NAME_LSL3='Leisure Suit Larry 3: Passionate Patti in Pursuit of the Pulsating Pectorals!' GAME_ID_LSL5='leisure-suit-larry-5' GAME_NAME_LSL5='Leisure Suit Larry 5: Passionate Patti Does a Little Undercover Work!' GAME_ID_LSL6='leisure-suit-larry-6' GAME_NAME_LSL6='Leisure Suit Larry 6: Shape Up Or Slip Out' GAME_ID_LSL7='leisure-suit-larry-7' GAME_NAME_LSL7='Leisure Suit Larry 7: Love for Sail!' ARCHIVE_BASE_LSL1_AGI_0_NAME='leisure_suit_larry_en_gog_2_20270.sh' ARCHIVE_BASE_LSL1_AGI_0_MD5='bfd706b6e10333f538e30df3ccc572a4' ARCHIVE_BASE_LSL1_AGI_0_SIZE='94000' ARCHIVE_BASE_LSL1_AGI_0_VERSION='2-gog20270' ARCHIVE_BASE_LSL1_AGI_0_URL='https://www.gog.com/game/leisure_suit_larry' ARCHIVE_BASE_LSL1_SCI_0_NAME='leisure_suit_larry_vga_en_gog_2_20240.sh' ARCHIVE_BASE_LSL1_SCI_0_MD5='40b241062ea3945e20e2d3c8fc811e0c' ARCHIVE_BASE_LSL1_SCI_0_SIZE='97000' ARCHIVE_BASE_LSL1_SCI_0_VERSION='2-gog20240' ARCHIVE_BASE_LSL1_SCI_0_URL='https://www.gog.com/game/leisure_suit_larry' ARCHIVE_BASE_LSL2_0_NAME='leisure_suit_larry_2_en_gog_2_20240.sh' ARCHIVE_BASE_LSL2_0_MD5='087013fa8383ffa303dda015c5ea6249' ARCHIVE_BASE_LSL2_0_SIZE='96000' ARCHIVE_BASE_LSL2_0_VERSION='2-gog20240' ARCHIVE_BASE_LSL2_0_URL='https://www.gog.com/game/leisure_suit_larry' ARCHIVE_BASE_LSL3_0_NAME='leisure_suit_larry_3_en_gog_2_20240.sh' ARCHIVE_BASE_LSL3_0_MD5='a0c5e4997f682e3a6c91a19a41a5bdac' ARCHIVE_BASE_LSL3_0_SIZE='99000' ARCHIVE_BASE_LSL3_0_VERSION='1.021-gog20240' ARCHIVE_BASE_LSL3_0_URL='https://www.gog.com/game/leisure_suit_larry' ARCHIVE_BASE_LSL5_0_NAME='leisure_suit_larry_5_en_gog_2_20240.sh' ARCHIVE_BASE_LSL5_0_MD5='534a263fffc8cd919e38ae92e131ec22' ARCHIVE_BASE_LSL5_0_SIZE='110000' ARCHIVE_BASE_LSL5_0_VERSION='1.000-gog20240' ARCHIVE_BASE_LSL5_0_URL='https://www.gog.com/game/leisure_suit_larry' ARCHIVE_BASE_LSL6_SVGA_0_NAME='gog_leisure_suit_larry_6_2.0.0.1.sh' ARCHIVE_BASE_LSL6_SVGA_0_MD5='09f667d1230974bd6321bde648de687b' ARCHIVE_BASE_LSL6_SVGA_0_SIZE='550000' ARCHIVE_BASE_LSL6_SVGA_0_VERSION='1.000.000-gog2.0.0.1' ARCHIVE_BASE_LSL6_SVGA_0_URL='https://www.gog.com/game/leisure_suit_larry' ARCHIVE_BASE_LSL6_VGA_0_NAME='leisure_suit_larry_6_vga_en_gog_2_20240.sh' ARCHIVE_BASE_LSL6_VGA_0_MD5='d5e1973d126bc7750550729cbec4379f' ARCHIVE_BASE_LSL6_VGA_0_SIZE='610000' ARCHIVE_BASE_LSL6_VGA_0_VERSION='1.000.000-gog20240' ARCHIVE_BASE_LSL6_VGA_0_URL='https://www.gog.com/game/leisure_suit_larry' ARCHIVE_BASE_LSL7_EN_0_NAME='leisure_suit_larry_love_for_sail_en_gog_1_20744.sh' ARCHIVE_BASE_LSL7_EN_0_MD5='38862663d3dd9298acdf3fcc5f4bd88d' ARCHIVE_BASE_LSL7_EN_0_SIZE='680000' ARCHIVE_BASE_LSL7_EN_0_VERSION='1.0-gog20744' ARCHIVE_BASE_LSL7_EN_0_URL='https://www.gog.com/game/leisure_suit_larry_love_for_sail' ARCHIVE_BASE_LSL7_FR_0_NAME='leisure_suit_larry_love_for_sail_fr_gog_1_20744.sh' ARCHIVE_BASE_LSL7_FR_0_MD5='1386fa634b48ecb5af83fdab12e99c2d' ARCHIVE_BASE_LSL7_FR_0_SIZE='630000' ARCHIVE_BASE_LSL7_FR_0_VERSION='1.0-gog20744' ARCHIVE_BASE_LSL7_FR_0_URL='https://www.gog.com/game/leisure_suit_larry_love_for_sail' CONTENT_PATH_DEFAULT='data/noarch/data' CONTENT_GAME_MAIN_FILES_LSL1_AGI=' object words.tok vol.* *dir' CONTENT_GAME_MAIN_FILES_LSL1_SCI=' version resource.* *.bat *.drv *.exe *.hlp *.txt' CONTENT_GAME_MAIN_FILES_LSL2=' lsl2.qa resource.* *.drv *.exe' CONTENT_GAME_MAIN_FILES_LSL3=' install.txt readme.txt lsl3sg.* resource.* *.com *.drv *.exe *.hlp *.inf *.pif *.scr' CONTENT_GAME_MAIN_FILES_LSL5=' lsl5sg.000 lsl5sg.dir scidhuv.exe 467.snd interp.txt version resource.* *.drv *.scr *.ing *.tex' CONTENT_GAME_MAIN_FILES_LSL6=' aud patches sfx readme version resource.* *.com *.drv *.err *.exe *.hlp *.scr *.txt' CONTENT_GAME_MAIN_FILES_LSL7=' drivers movie music patches version resource.??? *.000 *.bmp *.csc *.dll *.err *.exe *.inf' CONTENT_DOC_MAIN_PATH='data/noarch/docs' CONTENT_DOC_MAIN_FILES=' *.pdf' CONTENT_DOC_MAIN_FILES_LSL1=' lsl1 answers.txt lsl1 vga answers.txt *.pdf' CONTENT_DOC0_MAIN_FILES_LSL3=' lsl3 answers.txt' CONTENT_DOC0_MAIN_FILES_LSL7=' manual.pdf' APP_MAIN_SCUMMID_LSL1_AGI='agi:lsl1' APP_MAIN_SCUMMID_LSL1_SCI='sci:lsl1sci' APP_MAIN_SCUMMID_LSL2='sci:lsl2' APP_MAIN_SCUMMID_LSL3='sci:lsl3' APP_MAIN_SCUMMID_LSL5='sci:lsl5' APP_MAIN_SCUMMID_LSL6_SVGA='sci:lsl6hires' APP_MAIN_SCUMMID_LSL6_VGA='sci:lsl6' APP_MAIN_SCUMMID_LSL7='sci:lsl7' APP_MAIN_ICON='../support/icon.png' APP_MAIN_ICON_LSL7='lsl7.ico' PKG_MAIN_ID_LSL1="$GAME_ID_LSL1" PKG_MAIN_ID_LSL6="$GAME_ID_LSL6" PKG_MAIN_ID_LSL7="$GAME_ID_LSL7" PKG_MAIN_PROVIDES_LSL1=" $PKG_MAIN_ID_LSL1" PKG_MAIN_PROVIDES_LSL6=" $PKG_MAIN_ID_LSL6" PKG_MAIN_PROVIDES_LSL7=" $PKG_MAIN_ID_LSL7" PKG_MAIN_ID_LSL1_AGI="${PKG_MAIN_ID_LSL1}-agi" PKG_MAIN_ID_LSL1_SCI="${PKG_MAIN_ID_LSL1}-sci" PKG_MAIN_ID_LSL6_SVGA="${PKG_MAIN_ID_LSL6}-svga" PKG_MAIN_ID_LSL6_VGA="${PKG_MAIN_ID_LSL6}-vga" PKG_MAIN_ID_LSL7_EN="${PKG_MAIN_ID_LSL7}-en" PKG_MAIN_ID_LSL7_FR="${PKG_MAIN_ID_LSL7}-fr" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" ## Convert all file paths to lowercase. tolower . ) # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-letters-a-written-adventure.sh0000750000000000000000000000344414471751340017545 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Letters - a written adventure # send your bug reports to bugs@dotslashplay.it ### script_version=20240812.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='letters-a-written-adventure' GAME_NAME='Letters - a written adventure' ARCHIVE_BASE_0_NAME='setup_letters_-_a_written_adventure_1.0_(53554).exe' ARCHIVE_BASE_0_MD5='5dd5309027bee8e6721d0553e17579da' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='690000' ARCHIVE_BASE_0_VERSION='1.0-gog53554' ARCHIVE_BASE_0_URL='https://www.gog.com/game/letters_a_written_adventure' UNITY3D_NAME='letters' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/5amGames/Letters' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-liar-liar.sh0000750000000000000000000000501314471751340014026 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Liar Liar series: # - Liar Liar 1 # - Liar Liar 2 # send your bug reports to bugs@dotslashplay.it ### script_version=20240428.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID_EPISODE1='liar-liar-1' GAME_NAME_EPISODE1='Liar Liar' GAME_ID_EPISODE2='liar-liar-2' GAME_NAME_EPISODE2='Liar Liar 2: Pants on Fire' # Archives ## Liar Liar (episode 1) ARCHIVE_BASE_EPISODE1_0_NAME='liarliar1.0-all.zip' ARCHIVE_BASE_EPISODE1_0_MD5='192d7cef446bb6d9ce01e3678889bbbd' ARCHIVE_BASE_EPISODE1_0_SIZE='96000' ARCHIVE_BASE_EPISODE1_0_VERSION='1.0-itch' ARCHIVE_BASE_EPISODE1_0_URL='https://tokimekiwaku.itch.io/liar-liar' ## Liar Liar 2 ARCHIVE_BASE_EPISODE2_0_NAME='liarliar2-all.zip' ARCHIVE_BASE_EPISODE2_0_MD5='6450f265d59ece46331070a2e0a14121' ARCHIVE_BASE_EPISODE2_0_SIZE='110000' ARCHIVE_BASE_EPISODE2_0_VERSION='1.0-itch' ARCHIVE_BASE_EPISODE2_0_URL='https://tokimekiwaku.itch.io/liar-liar-2' CONTENT_PATH_DEFAULT_EPISODE1='liarliar1.0-all/game' CONTENT_PATH_DEFAULT_EPISODE2='liarliar2-all/game' CONTENT_GAME_MAIN_FILES=' scenes *.mp3 *.png *.rpy *.rpyb *.rpyc *.sai *.wav' CONTENT_DOC_MAIN_PATH_EPISODE2="${CONTENT_PATH_DEFAULT_EPISODE2}/.." CONTENT_DOC_MAIN_FILES=' README.html' APP_MAIN_TYPE='renpy' APP_MAIN_ICON_EPISODE1='../liar liar.exe' APP_MAIN_ICON_EPISODE2='../liar liar 2.exe' ## Ensure easy upgrades from packages generated with pre-20240428.1 game scripts. PKG_MAIN_PROVIDES_EPISODE1="${PKG_MAIN_PROVIDES_EPISODE1:-} liar-liar liar-liar-data" PKG_MAIN_PROVIDES_EPISODE2="${PKG_MAIN_PROVIDES_EPISODE2:-} liar-liar-2-data" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-life-is-strange.sh0000750000000000000000000001027714471751340015153 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 BetaRays # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Life is Strange # send your bug reports to bugs@dotslashplay.it ### script_version=20240911.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='life-is-strange' GAME_NAME='Life is Strange' ARCHIVE_BASE_0_NAME='setup_life_is_strange_complete_season_1.0.0.397609_(38128).exe' ARCHIVE_BASE_0_MD5='11f65230b6545f95707824b6405da34f' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_life_is_strange_complete_season_1.0.0.397609_(38128)-1.bin' ARCHIVE_BASE_0_PART1_MD5='1ab68855e24ceebc9c138ad73ccccb6e' ARCHIVE_BASE_0_PART2_NAME='setup_life_is_strange_complete_season_1.0.0.397609_(38128)-2.bin' ARCHIVE_BASE_0_PART2_MD5='e385f4858df5bcb30716ec1a8727480e' ARCHIVE_BASE_0_PART3_NAME='setup_life_is_strange_complete_season_1.0.0.397609_(38128)-3.bin' ARCHIVE_BASE_0_PART3_MD5='c8613d8029c6a3b65d796fc09a9a5974' ARCHIVE_BASE_0_PART4_NAME='setup_life_is_strange_complete_season_1.0.0.397609_(38128)-4.bin' ARCHIVE_BASE_0_PART4_MD5='f7c905b4f21dc34e58ab8b68a8e96f48' ARCHIVE_BASE_0_SIZE='15000000' ARCHIVE_BASE_0_VERSION='1.0.0.397609-gog38128' ARCHIVE_BASE_0_URL='https://www.gog.com/game/life_is_strange_complete_season' ## Patched library, working around a crash on launch ## cf. https://www.gog.com/forum/life_is_strange_series/wont_launch_possible_fix/post32 ARCHIVE_REQUIRED_FIXED_DLL_NAME='common.dll' ARCHIVE_REQUIRED_FIXED_DLL_MD5='4aea8c8d98053a925d9b41e604567889' ARCHIVE_REQUIRED_FIXED_DLL_URL='https://downloads.dotslashplay.it/games/life-is-strange/' UNREALENGINE4_NAME='lifeisstrangegame' CONTENT_PATH_DEFAULT='.' CONTENT_GAME0_BIN_PATH='app' CONTENT_GAME0_BIN_PATH=' engine' CONTENT_GAME_EPISODE2_FILES=' lifeisstrangegame/build/pcconsole/dlc/episode02' CONTENT_GAME_EPISODE3_FILES=' lifeisstrangegame/build/pcconsole/dlc/episode03' CONTENT_GAME_EPISODE4_FILES=' lifeisstrangegame/build/pcconsole/dlc/episode04' CONTENT_GAME_EPISODE5_FILES=' lifeisstrangegame/build/pcconsole/dlc/episode05' CONTENT_GAME_EXTRA_FILES=' lifeisstrangegame/build/pcconsole/dlc/extra01' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/Documents/My Games/Life is Strange' APP_MAIN_EXE='binaries/win32/lifeisstrange.exe' PACKAGES_LIST=' PKG_BIN PKG_EPISODE2 PKG_EPISODE3 PKG_EPISODE4 PKG_EPISODE5 PKG_EXTRA PKG_DATA' PKG_BIN_ID="$GAME_ID" PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_EPISODE2_ID="${GAME_ID}-episode-2" PKG_EPISODE2_DESCRIPTION='Episode 2' PKG_EPISODE2_DEPENDENCIES_SIBLINGS=' PKG_BIN' PKG_EPISODE3_ID="${GAME_ID}-episode-3" PKG_EPISODE3_DESCRIPTION='Episode 3' PKG_EPISODE3_DEPENDENCIES_SIBLINGS=' PKG_BIN' PKG_EPISODE4_ID="${GAME_ID}-episode-4" PKG_EPISODE4_DESCRIPTION='Episode 4' PKG_EPISODE4_DEPENDENCIES_SIBLINGS=' PKG_BIN' PKG_EPISODE5_ID="${GAME_ID}-episode-5" PKG_EPISODE5_DESCRIPTION='Episode 5' PKG_EPISODE5_DEPENDENCIES_SIBLINGS=' PKG_BIN' PKG_EXTRA_ID="${GAME_ID}-extra" PKG_EXTRA_DESCRIPTION='Extra' PKG_EXTRA_DEPENDENCIES_SIBLINGS=' PKG_BIN' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Check for the presence of extra required archives archive_initialize_required \ 'ARCHIVE_FIXED_DLL' \ 'ARCHIVE_REQUIRED_FIXED_DLL' # Extract game data archive_extraction_default # Include game icons content_inclusion_icons 'PKG_DATA' content_inclusion_default install -D --mode=644 \ "$(archive_path 'ARCHIVE_FIXED_DLL')" \ "$(package_path 'PKG_BIN')$(path_game_data)/binaries/win32/common.dll" # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-lilly-looking-through.sh0000750000000000000000000000477014471751340016426 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Lilly Looking Through # send your bug reports to bugs@dotslashplay.it ### script_version=20250228.2 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='lilly-looking-through' GAME_NAME='Lilly Looking Through' ARCHIVE_BASE_0_NAME='setup_lilly_looking_through_1.1.50_(21178).exe' ARCHIVE_BASE_0_MD5='a3318d6a5a5abfe946293c9e745f1fd9' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='400000' ARCHIVE_BASE_0_VERSION='1.1.50-gog21178' ARCHIVE_BASE_0_URL='https://www.gog.com/game/lilly_looking_through' CONTENT_PATH_DEFAULT='.' CONTENT_GAME_BIN_FILES=' adobe air lillylookingthrough.exe lilly.swf' CONTENT_GAME_DATA_FILES=' meta-inf mimetype pkmedia' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/Roaming/com.geetagames.LillyLookingThrough' APP_MAIN_EXE='lillylookingthrough.exe' APP_MAIN_ICON='app/goggame-1207659903.ico' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # icotool is used for icon .ico → .png conversion REQUIREMENTS_LIST="${REQUIREMENTS_LIST:-} icotool" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data ## Work around "insufficient image data" error with convert from imagemagick ## TODO: Check if it is still required with current builds of imagemagick icon_extract_png_from_ico() { local icon destination icon="$1" destination="$2" local icon_file icon_file=$(icon_full_path "$icon") icotool --extract --output="$destination" "$icon_file" } content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-little-misfortune.sh0000750000000000000000000000402014471751340015635 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Little Misfortune # send your bug reports to bugs@dotslashplay.it ### script_version=20240825.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='little-misfortune' GAME_NAME='Little Misfortune' ARCHIVE_BASE_0_NAME='little_misfortune_1_0_32530.sh' ARCHIVE_BASE_0_MD5='30f94ffdab5d210d3782c9e348f6f36b' ARCHIVE_BASE_0_SIZE='6330029' ARCHIVE_BASE_0_VERSION='1.0-gog32530' ARCHIVE_BASE_0_URL='https://www.gog.com/game/little_misfortune' UNITY3D_NAME='Little Misfortune' UNITY3D_PLUGINS=' ScreenSelector.so' ## TODO: Check if the Steam library is required. UNITY3D_PLUGINS="$UNITY3D_PLUGINS libsteam_api.so" CONTENT_PATH_DEFAULT='data/noarch/game' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libz.so.1' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-long-live-the-queen.sh0000750000000000000000000001163014471751340015741 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Long Live the Queen # send your bug reports to bugs@dotslashplay.it ### script_version=20250521.3 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='long-live-the-queen' GAME_NAME='Long Live the Queen' ARCHIVE_BASE_0_NAME='gog_long_live_the_queen_2.4.0.11.sh' ARCHIVE_BASE_0_MD5='654ccbbdde2071c4f13b5f80378582c2' ARCHIVE_BASE_0_SIZE='63000' ARCHIVE_BASE_0_VERSION='1.3.23.4-gog2.4.0.11' ARCHIVE_BASE_0_URL='https://www.gog.com/game/long_live_the_queen' CONTENT_PATH_DEFAULT='data/noarch/game' ## TODO: Check if all these libraries are actually used. CONTENT_LIBS_BIN_SHIPPED_RELATIVE_PATH='lib/linux-x86/lib' CONTENT_LIBS_BIN_SHIPPED_FILES=' libavcodec.so.52 libavformat.so.52 libavutil.so.50 libGLEW.so.1.5 libpython2.6.so.1.0 libswscale.so.0' ## TODO: The system-provided font should be used instead. CONTENT_FONTS_MAIN_RELATIVE_PATH='game' CONTENT_FONTS_MAIN_FILES=' DejaVuSans-Oblique.ttf' CONTENT_GAME_MAIN_FILES=' game/achievements game/bonus game/Crypto game/endings game/heads game/map game/music game/princess game/sidebar game/stars game/tutorial game/ui game/game_version game/llq.rpa game/bytecode.rpyb game/*.png game/*.py game/*.rpyc' CONTENT_GAME_BIN_SHIPPED_FILES=' common renpy LongLiveTheQueen.py lib/linux-x86/lib/python2.6 lib/linux-x86/python.real' CONTENT_DOC_MAIN_FILES=' LICENSE.txt' APP_MAIN_TYPE_BIN_RENPY='renpy' ## Support for the shipped builds of Ren'Py and Python 2.6 is included, ## because current day Ren'Py fails to run the game, with the following error: ## Full traceback: ## File "/usr/share/games/renpy/renpy/bootstrap.py", line 359, in bootstrap ## renpy.main.main() ## File "/usr/share/games/renpy/renpy/main.py", line 474, in main ## renpy.game.script.load_script() # sets renpy.game.script. ## File "/usr/share/games/renpy/renpy/script.py", line 359, in load_script ## self.load_appropriate_file(".rpyc", [ "_ren.py", ".rpy" ], dir, fn, initcode) ## File "/usr/share/games/renpy/renpy/script.py", line 934, in load_appropriate_file ## raise Exception("Could not load file %s." % lastfn) # type: ignore ## Exception: Could not load file /usr/share/games/long-live-the-queen/dossiers.rpyc. APP_MAIN_EXE_BIN_SHIPPED='lib/linux-x86/python.real' APP_MAIN_OPTIONS_BIN_SHIPPED='-OO LongLiveTheQueen.py' APP_MAIN_ICON='game/achievements/coronation_64x64.png' PACKAGES_LIST=' PKG_MAIN PKG_BIN_RENPY PKG_BIN_SHIPPED' PKG_MAIN_DEPENDENCIES_SIBLINGS=' PKG_BIN' ## Ensure easy upgrades from pre-20250513.1 packages. PKG_MAIN_PROVIDES="${PKG_MAIN_PROVIDES:-} long-live-the-queen-data" PKG_BIN_ID="${GAME_ID}-bin" PKG_BIN_PROVIDES=" $PKG_BIN_ID" PKG_BIN_RENPY_ID="${PKG_BIN_ID}-renpy" PKG_BIN_RENPY_PROVIDES="$PKG_BIN_PROVIDES" PKG_BIN_RENPY_DESCRIPTION="System-provided Ren'Py" PKG_BIN_SHIPPED_ID="${PKG_BIN_ID}-shipped" PKG_BIN_SHIPPED_PROVIDES="$PKG_BIN_PROVIDES" PKG_BIN_SHIPPED_ARCH='32' PKG_BIN_SHIPPED_DESCRIPTION="Shipped Ren'Py and Python 2.6" PKG_BIN_SHIPPED_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libfreetype.so.6 libfribidi.so.0 libm.so.6 libpthread.so.0 libSDL-1.2.so.0 libSDL_ttf-2.0.so.0 libutil.so.1' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default ## Link fonts to the game directory, or the engine fails to find them. fonts_source=$(path_fonts_ttf) fonts_destination="$(package_path 'PKG_MAIN')$(path_game_data)/game" ln --symbolic "${fonts_source}/DejaVuSans-Oblique.ttf" "$fonts_destination" # Write launchers ## The game data is installed in an unusual path. renpy_exec_line() { cat <<- 'EOF' renpy game EOF } launchers_generation 'PKG_BIN_RENPY' launchers_generation 'PKG_BIN_SHIPPED' # Build packages packages_generation case "$(messages_language)" in ('fr') message='Utilisation des binaires fournis par %s :' bin_system='le système' bin_shipped='les développeurs' ;; ('en'|*) message='Using binaries provided by %s:' bin_system='the system' bin_shipped='the developers' ;; esac printf '\n' printf "$message" "$bin_system" print_instructions 'PKG_MAIN' 'PKG_BIN_RENPY' printf "$message" "$bin_shipped" print_instructions 'PKG_MAIN' 'PKG_BIN_SHIPPED' # Clean up working_directory_cleanup exit 0 games/play-loom.sh0000750000000000000000000000344614471751340013130 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2020 macaron # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Loom # send your bug reports to bugs@dotslashplay.it ### script_version=20240605.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='loom' GAME_NAME='Loom' ARCHIVE_BASE_0_NAME='loom_en_gog_2_20099.sh' ARCHIVE_BASE_0_MD5='225706d082ebf907170ca899fe1dbe1c' ARCHIVE_BASE_0_SIZE='390000' ARCHIVE_BASE_0_VERSION='1.0-gog20099' ARCHIVE_BASE_0_URL='https://www.gog.com/game/loom' CONTENT_PATH_DEFAULT='data/noarch/data' CONTENT_GAME_MAIN_FILES=' disk01.lec cdda.sou *.lfl' CONTENT_DOC_MAIN_PATH='data/noarch/docs' CONTENT_DOC_MAIN_FILES=' Loom_Book_of_Patterns.pdf Loom_Manual.pdf' APP_MAIN_SCUMMID='scumm:loom' APP_MAIN_ICON='../support/icon.png' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" ## Convert all file paths to lowercase. tolower . ) # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-lorelai.sh0000750000000000000000000000435714471751340013613 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Lorelai # send your bug reports to bugs@dotslashplay.it ### script_version=20240707.2 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='lorelai' GAME_NAME='Lorelai' ARCHIVE_BASE_0_NAME='setup_lorelai_1.1.0a_(40070).exe' ARCHIVE_BASE_0_MD5='41931b22bd91c8a61835f1ab5b317b38' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_lorelai_1.1.0a_(40070)-1.bin' ARCHIVE_BASE_0_PART1_MD5='3c93e5c60612965bd44ddc2480c57987' ARCHIVE_BASE_0_SIZE='11000000' ARCHIVE_BASE_0_VERSION='1.1.0a-gog40070' ARCHIVE_BASE_0_URL='https://www.gog.com/game/lorelai' UNITY3D_NAME='lorelai' CONTENT_PATH_DEFAULT='.' CONTENT_GAME_DATA_ASSETS_FILES=" ${UNITY3D_NAME}_data/sharedassets*.assets*" ## TODO: Check if the "ost" directory is required. CONTENT_GAME0_DATA_FILES=' ost lorelai_icon2.ico' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/Harvester Games/Lorelai' APP_MAIN_ICON='lorelai_icon2.ico' PACKAGES_LIST=' PKG_BIN PKG_DATA_ASSETS PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_DATA_ASSETS_ID="${PKG_DATA_ID}-sharedassets" PKG_DATA_ASSETS_DESCRIPTION="$PKG_DATA_DESCRIPTION - shared assets" PKG_DATA_DEPS="${PKG_DATA_DEPS:-} $PKG_DATA_ASSETS_ID" PKG_BIN_ARCH='64' PKG_BIN_DEPS="$PKG_DATA_ID" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-lumino-city.sh0000750000000000000000000000364714471751340014436 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Lumino City # send your bug reports to bugs@dotslashplay.it ### script_version=20240619.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='lumino-city' GAME_NAME='Lumino City' ARCHIVE_BASE_0_NAME='setup_lumino_city_1.0_(21180).exe' ARCHIVE_BASE_0_MD5='32f0e9251c7936180321f30811bab8d9' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='930000' ARCHIVE_BASE_0_VERSION='1.0-gog21180' ARCHIVE_BASE_0_URL='https://www.gog.com/game/lumino_city' CONTENT_PATH_DEFAULT='.' CONTENT_GAME_BIN_FILES=' adobe air lumino city.exe' CONTENT_GAME_DATA_FILES=' assets luminocitysoundtrack meta-inf mimetype *.swf' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/Roaming/com.stateofplaygames.LuminoCity' APP_MAIN_EXE='lumino city.exe' APP_MAIN_ICON='goggame-1207667103.ico' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN_ARCH='32' PKG_BIN_DEPS="$PKG_DATA_ID" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-luna-the-shadow-dust.sh0000750000000000000000000000541314471751340016133 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Luna The Shadow Dust # send your bug reports to bugs@dotslashplay.it ### script_version=20250513.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='luna-the-shadow-dust' GAME_NAME='LUNA The Shadow Dust' ARCHIVE_BASE_0_NAME='luna_the_shadow_dust_1_0_2_36448.sh' ARCHIVE_BASE_0_MD5='394463d5b600dbf8fe0619d5ffe944f1' ARCHIVE_BASE_0_SIZE='789052' ARCHIVE_BASE_0_VERSION='1.0.2-gog36448' ARCHIVE_BASE_0_URL='https://www.gog.com/game/luna_the_shadow_dust' UNITY3D_NAME='Luna' UNITY3D_PLUGINS=' libfmodL.so libfmod.so libfmodstudioL.so libfmodstudio.so libgvraudio.so libresonanceaudio.so ScreenSelector.so' CONTENT_PATH_DEFAULT='data/noarch/game' ## The game crashes on launch when the Wayland backend of SDL is used, ## even when forcing the use of system SDL. APP_MAIN_PRERUN='# The game crashes on launch when the Wayland backend of SDL is used if [ "${SDL_VIDEODRIVER:-}" = "wayland" ]; then unset SDL_VIDEODRIVER fi ' ## PKG_BIN64 must be listed before PKG_BIN32, ## because some 64-bit plugins are included at the root of the Plugins directory. PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libz.so.1' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-luna.sh0000750000000000000000000000317614471751340013121 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Luna # send your bug reports to bugs@dotslashplay.it ### script_version=20240618.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='luna' GAME_NAME='Luna' ARCHIVE_BASE_0_NAME='Luna.zip' ARCHIVE_BASE_0_MD5='05dbd9bf3b74d53159fa41bdbc7c26d7' ARCHIVE_BASE_0_SIZE='2300000' ARCHIVE_BASE_0_VERSION='1.0-itch' ARCHIVE_BASE_0_URL='https://funomena.itch.io/luna' UNITY3D_NAME='Luna' CONTENT_PATH_DEFAULT='Luna' ## TODO: Use persistent storage for saved games and settings. PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN_ARCH='64' PKG_BIN_DEPS="$PKG_DATA_ID" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-machinarium.sh0000750000000000000000000000726014471751340014455 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Machinarium # send your bug reports to bugs@dotslashplay.it ### script_version=20241211.2 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='machinarium' GAME_NAME='Machinarium' ## GOG native Linux build, ## that is still sold but no longer officially supported. ARCHIVE_BASE_GOG_0_NAME='gog_machinarium_2.0.0.2.sh' ARCHIVE_BASE_GOG_0_MD5='4a66896935fbf29f4816e615748bb679' ARCHIVE_BASE_GOG_0_SIZE='370000' ARCHIVE_BASE_GOG_0_VERSION='1.0-gog2.0.0.2' ARCHIVE_BASE_GOG_0_URL='https://www.gog.com/game/machinarium_collectors_edition' ## Humble Bundle native Linux build, that is no longer available for sale. ARCHIVE_BASE_HUMBLE_TGZ_0_NAME='Machinarium_full_en.tar.gz' ARCHIVE_BASE_HUMBLE_TGZ_0_MD5='87c4f4aecfbb69c1aecbb7d92e60542d' ARCHIVE_BASE_HUMBLE_TGZ_0_SIZE='358621' ARCHIVE_BASE_HUMBLE_TGZ_0_VERSION='1.0-humble1' ## Humble Bundle native Linux build, that is no longer available for sale. ARCHIVE_BASE_HUMBLE_DEB_0_NAME='machinarium_20121106-ubuntu_i386.deb' ARCHIVE_BASE_HUMBLE_DEB_0_MD5='4f0ab314a75aad77a9c6dd92110f8a48' ARCHIVE_BASE_HUMBLE_DEB_0_SIZE='360000' ARCHIVE_BASE_HUMBLE_DEB_0_VERSION='1.0-humble1' CONTENT_PATH_DEFAULT_GOG='data/noarch/game' CONTENT_PATH_DEFAULT_HUMBLE_TGZ='Machinarium' CONTENT_PATH_DEFAULT_HUMBLE_DEB='opt/machinarium' CONTENT_GAME_BIN_FILES=' Machinarium' CONTENT_GAME_DATA_FILES=' 00 01 10 11' APP_MAIN_EXE='Machinarium' APP_MAIN_ICONS_LIST_GOG='APP_MAIN_ICON_GOG' APP_MAIN_ICON_GOG='../support/icon.png' APP_MAIN_ICONS_LIST_HUMBLE_DEB='APP_MAIN_ICON_HUMBLE_DEB_16 APP_MAIN_ICON_HUMBLE_DEB_32 APP_MAIN_ICON_HUMBLE_DEB_64' APP_MAIN_ICON_HUMBLE_DEB_16='../../usr/share/icons/hicolor/16x16/apps/machinarium.png' APP_MAIN_ICON_HUMBLE_DEB_32='../../usr/share/icons/hicolor/32x32/apps/machinarium.png' APP_MAIN_ICON_HUMBLE_DEB_64='../../usr/share/icons/hicolor/64x64/apps/machinarium.png' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libatk-1.0.so.0 libcairo.so.2 libc.so.6 libdl.so.2 libfontconfig.so.1 libfreetype.so.6 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libgdk-x11-2.0.so.0 libglib-2.0.so.0 libgmodule-2.0.so.0 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libnspr4.so libnss3.so libpango-1.0.so.0 libpangocairo-1.0.so.0 libplc4.so libplds4.so libpthread.so.0 libsmime3.so libssl3.so libstdc++.so.6 libX11.so.6 libXext.so.6 libXrender.so.1 libXt.so.6' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data ## TODO: An optional icons archive should be provided case "$(current_archive)" in ('ARCHIVE_BASE_HUMBLE_TGZ_'*) ## The .tar.gz Humble Bundle archive does not include a game icon. ;; (*) content_inclusion_icons 'PKG_DATA' ;; esac content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-maniac-mansion.sh0000750000000000000000000000340014471751340015042 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 macaron # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Maniac Mansion # send your bug reports to bugs@dotslashplay.it ### script_version=20240605.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='maniac-mansion' GAME_NAME='Maniac Mansion' ARCHIVE_BASE_0_NAME='maniac_mansion_en_gog_3_17899.sh' ARCHIVE_BASE_0_MD5='508b5f4e9b399ded9140dddfc3679a7e' ARCHIVE_BASE_0_SIZE='89000' ARCHIVE_BASE_0_VERSION='1.0-gog17899' ARCHIVE_BASE_0_URL='https://www.gog.com/game/maniac_mansion' CONTENT_PATH_DEFAULT='data/noarch/data' CONTENT_GAME_MAIN_FILES=' *.lfl' CONTENT_DOC_MAIN_PATH='data/noarch/docs' CONTENT_DOC_MAIN_FILES=' *.pdf *.txt' APP_MAIN_SCUMMID='scumm:maniac' APP_MAIN_ICON='../support/icon.png' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" ## Convert all file paths to lowercase. tolower . ) # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-maries-room.sh0000750000000000000000000000370514471751340014412 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Marie's Room # send your bug reports to bugs@dotslashplay.it ### script_version=20241107.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='maries-room' GAME_NAME='Marie’s Room' ARCHIVE_BASE_0_NAME='MariesRoom.zip' ARCHIVE_BASE_0_MD5='4c7375a2fcf5bdd49405f4ddd9ce5770' ARCHIVE_BASE_0_SIZE='1000000' ARCHIVE_BASE_0_VERSION='1.0-itch.2018.05.17' ARCHIVE_BASE_0_URL='https://kennyguillaume.itch.io/maries-room' UNREALENGINE4_NAME='MariesRoom' CONTENT_PATH_DEFAULT='MariesRoom/MariesRoom_Game_x64' APP_MAIN_EXE="${UNREALENGINE4_NAME}/Binaries/Win64/${UNREALENGINE4_NAME}-Win64-Shipping.exe" ## The --name=101 wrestool option, default for UE4 games, should not be used here APP_MAIN_ICON_WRESTOOL_OPTIONS='--type=14' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-mechanika.sh0000750000000000000000000001017114471751340014073 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # MechaNika # send your bug reports to bugs@dotslashplay.it ### script_version=20240825.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='mechanika' GAME_NAME='MechaNika' ARCHIVE_BASE_32BIT_0_NAME='MechaNika_linux32_1.1.10.zip' ARCHIVE_BASE_32BIT_0_MD5='177e488fd1fde7efd89b7bb5a86fe49e' ARCHIVE_BASE_32BIT_0_SIZE='220000' ARCHIVE_BASE_32BIT_0_VERSION='1.1.10-humble160417' ARCHIVE_BASE_32BIT_0_URL='https://www.humblebundle.com/store/mechanika' ARCHIVE_BASE_64BIT_0_NAME='MechaNika_linux64_1.1.10.zip' ARCHIVE_BASE_64BIT_0_MD5='20fecb0fb6e7324c7c8d4b40040ed434' ARCHIVE_BASE_64BIT_0_SIZE='220000' ARCHIVE_BASE_64BIT_0_VERSION='1.1.10-humble160417' ARCHIVE_BASE_64BIT_0_URL='https://www.humblebundle.com/store/mechanika' CONTENT_PATH_DEFAULT='.' CONTENT_GAME_BIN_SHIPPED_FILES=' jre MechaNika config.json' CONTENT_GAME_DATA_FILES=' MechaNika.jar' APP_MAIN_EXE='MechaNika' APP_MAIN_ICONS_LIST='APP_MAIN_ICON_32 APP_MAIN_ICON_128' APP_MAIN_ICON_32='graphics/icons/mechanika_icon_32.png' APP_MAIN_ICON_128='graphics/icons/mechanika_icon_128.png' # Launchers APPLICATIONS_LIST='APP_MAIN' APP_MAIN_ICONS_LIST='APP_MAIN_ICON_32 APP_MAIN_ICON_128' APP_MAIN_ICON_32='graphics/icons/mechanika_icon_32.png' APP_MAIN_ICON_128='graphics/icons/mechanika_icon_128.png' ## Using system-provided Java APP_MAIN_TYPE_BIN_SYSTEM='java' APP_MAIN_EXE_BIN_SYSTEM='MechaNika.jar' ## Using shipped binaries APP_MAIN_EXE_BIN_SHIPPED='MechaNika' # Packages ## Common PACKAGES_LIST=' PKG_BIN_SYSTEM PKG_BIN_SHIPPED PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN_ID="${GAME_ID}-bin" PKG_BIN_PROVIDES=" $PKG_BIN_ID" PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' ## Ensure easy upgrades from packages generated with pre-20240825.1 scripts PKG_BIN_PROVIDES="${PKG_BIN_PROVIDES:-} mechanika" ## Using system-provided Java PKG_BIN_SYSTEM_ID="${PKG_BIN_ID}-system" PKG_BIN_SYSTEM_DESCRIPTION='Using system-provided Java' PKG_BIN_SYSTEM_PROVIDES="$PKG_BIN_PROVIDES" PKG_BIN_SYSTEM_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" ## Using shipped binaries PKG_BIN_SHIPPED_ID="${PKG_BIN_ID}-shipped" PKG_BIN_SHIPPED_DESCRIPTION='Using shipped binaries' PKG_BIN_SHIPPED_ARCH_32BIT='32' PKG_BIN_SHIPPED_ARCH_64BIT='64' PKG_BIN_SHIPPED_PROVIDES="$PKG_BIN_PROVIDES" PKG_BIN_SHIPPED_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_SHIPPED_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libm.so.6 libpthread.so.0 libstdc++.so.6 libthread_db.so.1' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction 'SOURCE_ARCHIVE' ## The game icon is extracted from the Java archive ARCHIVE_JAVA_PATH="${PLAYIT_WORKDIR}/gamedata/$(content_path_default)/MechaNika.jar" ARCHIVE_JAVA_TYPE='zip' archive_extraction 'ARCHIVE_JAVA' # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN_SYSTEM' launchers_generation 'PKG_BIN_SHIPPED' # Build packages packages_generation case "$(messages_language)" in ('fr') message='Utilisation des binaires fournis par %s :' bin_system='le système' bin_shipped='les développeurs' ;; ('en'|*) message='Using binaries provided by %s:' bin_system='the system' bin_shipped='the developers' ;; esac printf '\n' printf "$message" "$bin_system" print_instructions 'PKG_BIN_SYSTEM' 'PKG_DATA' printf "$message" "$bin_shipped" print_instructions 'PKG_BIN_SHIPPED' 'PKG_DATA' # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-memoranda.sh0000750000000000000000000000524714471751340014126 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2020 Antoine Le Gonidec set -o errexit ### # Memoranda # send your bug reports to bugs@dotslashplay.it ### script_version=20250228.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='memoranda' GAME_NAME='Memoranda' ARCHIVE_BASE_0_NAME='gog_memoranda_2.2.0.3.sh' ARCHIVE_BASE_0_MD5='9671ebb592d4b4a028fd80f76e96c1a1' ARCHIVE_BASE_0_SIZE='800000' ARCHIVE_BASE_0_VERSION='1.0-gog2.2.0.3' ARCHIVE_BASE_0_URL='https://www.gog.com/game/memoranda' CONTENT_PATH_DEFAULT='data/noarch/game' CONTENT_GAME_BIN_FILES=' runner' CONTENT_GAME_DATA_FILES=' assets' APP_MAIN_EXE='runner' APP_MAIN_ICON='assets/icon.png' ## Work around a Mesa-related startup crash ## cf. https://gitlab.freedesktop.org/mesa/mesa/issues/1310 APP_MAIN_PRERUN=' # Work around a Mesa-related startup crash # cf. https://gitlab.freedesktop.org/mesa/mesa/issues/1310 export radeonsi_sync_compile=true ' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libGL.so.1 libGLU.so.1 libm.so.6 libopenal.so.1 libpthread.so.0 librt.so.1 libssl.so.1.0.0 libstdc++.so.6 libX11.so.6 libXext.so.6 libXrandr.so.2 libXxf86vm.so.1 libz.so.1' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Build a 512×512 icon from the 1024×1024 provided one REQUIREMENTS_LIST="${REQUIREMENTS_LIST:-} convert" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data ## Build a 512×512 icon from the 1024×1024 provided one APP_MAIN_ICONS_LIST="$(application_icons_list 'APP_MAIN') APP_MAIN_ICON_512" APP_MAIN_ICON_512='assets/icon_512.png' ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" convert "$APP_MAIN_ICON" -resize 512 "$APP_MAIN_ICON_512" ) content_inclusion_icons content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-mhakna-gramura-and-fairy-bell.sh0000750000000000000000000001106114471751340017631 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Mhakna Gramura and Fairy Bell # send your bug reports to bugs@dotslashplay.it ### script_version=20240622.2 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='mhakna-gramura-and-fairy-bell' GAME_NAME='Mhakna Gramura and Fairy Bell' ARCHIVE_BASE_0_NAME='mhakna_gramura_and_fairy_bell_gog_1_26679.sh' ARCHIVE_BASE_0_MD5='f54f86a4496b682ef7e7fb251d50c350' ARCHIVE_BASE_0_SIZE='2000000' ARCHIVE_BASE_0_VERSION='1.0-gog.26679' ARCHIVE_BASE_0_URL='https://www.gog.com/game/mhakna_gramura_and_fairy_bell' # System-provided Ren'Py can not be used with this game, as it causes a crash on launch: # # Full traceback: # File "/usr/share/games/renpy/renpy/bootstrap.py", line 359, in bootstrap # renpy.main.main() # File "/usr/share/games/renpy/renpy/main.py", line 459, in main # renpy.game.script.load_script() # sets renpy.game.script. # File "/usr/share/games/renpy/renpy/script.py", line 359, in load_script # self.load_appropriate_file(".rpyc", [ "_ren.py", ".rpy" ], dir, fn, initcode) # File "/usr/share/games/renpy/renpy/script.py", line 942, in load_appropriate_file # self.finish_load(stmts, initcode, filename=lastfn) # type: ignore # File "/usr/share/games/renpy/renpy/script.py", line 602, in finish_load # node.early_execute() # File "/usr/share/games/renpy/renpy/ast.py", line 880, in early_execute # renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store) # File "/usr/share/games/renpy/renpy/python.py", line 1178, in py_exec_bytecode # exec(bytecode, globals, locals) # File "game/9i/investigation.rpy", line 2978, in # File "/usr/share/games/renpy/renpy/statements.py", line 259, in register # raise Exception("Unknown \"block\" argument value: {}".format(block)) # Exception: Unknown "block" argument value: auto CONTENT_PATH_DEFAULT='data/noarch/game' ## TODO: Check if some shipped libraries could be dropped. CONTENT_LIBS_FILES=' libavcodec.so.57 libavformat.so.57 libavresample.so.3 libavutil.so.55 libfreetype.so.6 libGLEW.so.1.7 libpng12.so.0 libpython2.7.so.1.0 libSDL2-2.0.so.0 libSDL2_image-2.0.so.0 libSDL2_ttf-2.0.so.0 libswresample.so.2 libswscale.so.4' CONTENT_LIBS_BIN64_PATH="${CONTENT_PATH_DEFAULT}/lib/linux-x86_64" CONTENT_LIBS_BIN64_FILES="$CONTENT_LIBS_FILES" CONTENT_LIBS_BIN32_PATH="${CONTENT_PATH_DEFAULT}/lib/linux-i686" CONTENT_LIBS_BIN32_FILES="$CONTENT_LIBS_FILES" CONTENT_GAME_BIN64_FILES=' lib/linux-x86_64/eggs lib/linux-x86_64/lib lib/linux-x86_64/fairybell lib/linux-x86_64/python lib/linux-x86_64/pythonw lib/linux-x86_64/zsync lib/linux-x86_64/zsyncmake' CONTENT_GAME_BIN32_FILES=' lib/linux-i686/eggs lib/linux-i686/lib lib/linux-i686/fairybell lib/linux-i686/python lib/linux-i686/pythonw lib/linux-i686/zsync lib/linux-i686/zsyncmake' CONTENT_GAME_DATA_FILES=' game renpy lib/pythonlib2.7 fairybell.py' APP_MAIN_EXE_BIN64='lib/linux-x86_64/fairybell' APP_MAIN_EXE_BIN32='lib/linux-i686/fairybell' APP_MAIN_OPTIONS='-EO fairybell.py' APP_MAIN_ICON='../support/icon.png' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPS="$PKG_DATA_ID" PKG_BIN64_DEPS="$PKG_BIN_DEPS" PKG_BIN32_DEPS="$PKG_BIN_DEPS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libGL.so.1 libGLU.so.1 libjpeg.so.62 libm.so.6 libpthread.so.0 librt.so.1 libutil.so.1 libX11.so.6 libXext.so.6 libXi.so.6 libXmu.so.6 libz.so.1' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-midnight-scenes.sh0000750000000000000000000000347414471751340015244 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Midnight Scenes: The Highway # send your bug reports to bugs@dotslashplay.it ### script_version=20241219.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='midnight-scenes' GAME_NAME='Midnight Scenes: The Highway' ARCHIVE_BASE_0_NAME='setup_midnight_scenes_the_highway_(special_edition)_1.27_(62602).exe' ARCHIVE_BASE_0_MD5='947c0d1e2161204393635a6a9af96394' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='168842' ARCHIVE_BASE_0_VERSION='1.27-gog62602' ARCHIVE_BASE_0_URL='https://www.gog.com/game/midnight_scenes_the_highway_special_edition' UNITY3D_NAME='midnight scenes the highway' CONTENT_PATH_DEFAULT='.' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-mind-path-to-thalamus.sh0000750000000000000000000000367314471751340016301 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2019 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # MIND: Path to Thalamus # send your bug reports to bugs@dotslashplay.it ### script_version=20240604.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='mind-path-to-thalamus' GAME_NAME='MIND: Path to thalamus' ## This game is no longer available for sale from gog.com. ARCHIVE_BASE_0_NAME='gog_mind_path_to_thalamus_enhanced_edition_2.1.0.4.sh' ARCHIVE_BASE_0_MD5='fbd4fe06a4f4d46236d84a95a9af8f47' ARCHIVE_BASE_0_SIZE='8000000' ARCHIVE_BASE_0_VERSION='2016.06.17-gog2.1.0.4' UNREALENGINE4_NAME='Mind_Pathtothalamus' CONTENT_PATH_DEFAULT='data/noarch/game' APP_MAIN_EXE='Mind_Pathtothalamus/Binaries/Linux/Mind_Pathtothalamus' APP_MAIN_ICON='../support/icon.png' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN_ARCH='64' PKG_BIN_DEPS="$PKG_DATA_ID" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-mon-cuties-for-all.sh0000750000000000000000000000350414471751340015572 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Mon-cuties for All # send your bug reports to bugs@dotslashplay.it ### script_version=20240428.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='mon-cuties-for-all' GAME_NAME='Mon-cuties for All' ARCHIVE_BASE_0_NAME='Mon-cuties-0.5-pc.zip' ARCHIVE_BASE_0_MD5='5100ee55608ea481ee820e12f6bda4c9' ARCHIVE_BASE_0_SIZE='440000' ARCHIVE_BASE_0_VERSION='0.5-itch1' ARCHIVE_BASE_0_URL='https://reineworks.itch.io/moncuties-for-all' CONTENT_PATH_DEFAULT='Mon-cuties-0.5-pc/game' CONTENT_GAME_MAIN_FILES=' cache gui main sound archive.rpa' CONTENT_DOC_MAIN_PATH="${CONTENT_PATH_DEFAULT}/.." CONTENT_DOC_MAIN_FILES=' README.html' APP_MAIN_TYPE='renpy' APP_MAIN_ICON='../Mon-cuties.exe' ## Ensure easy upgrades from packages generated with pre-20240428.1 game scripts. PKG_MAIN_PROVIDES="${PKG_MAIN_PROVIDES:-} mon-cuties-for-all-data" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-monster-prom-expansions.sh0000750000000000000000000000330614471751340017004 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Monster Prom expansions: # - Second Term # send your bug reports to bugs@dotslashplay.it ### script_version=20241210.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='monster-prom' GAME_NAME='Monster Prom' EXPANSION_ID_SECOND='second-term' EXPANSION_NAME_SECOND='Second Term' ARCHIVE_BASE_SECOND_0_NAME='monster_prom_second_term_v6_8b_71317.sh' ARCHIVE_BASE_SECOND_0_MD5='a27aaf8e07389026802946206a9bcd6c' ARCHIVE_BASE_SECOND_0_SIZE='1078' ARCHIVE_BASE_SECOND_0_VERSION='6.8b-gog71317' ARCHIVE_BASE_SECOND_0_URL='https://www.gog.com/game/monster_prom_second_term' CONTENT_PATH_DEFAULT='data/noarch/game' CONTENT_GAME_MAIN_FILES=' MonsterProm_Data/globalgamemanagerd' PKG_PARENT_ID="$GAME_ID" PKG_MAIN_DEPENDENCIES_SIBLINGS=' PKG_PARENT' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_default # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-monster-prom.sh0000750000000000000000000001104214471751340014613 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2019 Antoine Le Gonidec set -o errexit ### # Monster Prom # send your bug reports to bugs@dotslashplay.it ### script_version=20241210.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='monster-prom' GAME_NAME='Monster Prom' ARCHIVE_BASE_12_NAME='monster_prom_v6_8b_71317.sh' ARCHIVE_BASE_12_MD5='cff6c702d4b3f331f42f34f574fbb25a' ARCHIVE_BASE_12_SIZE='3005768' ARCHIVE_BASE_12_VERSION='6.8b-gog71317' ARCHIVE_BASE_12_URL='https://www.gog.com/game/monster_prom' ARCHIVE_BASE_11_NAME='monster_prom_6_4b_53339.sh' ARCHIVE_BASE_11_MD5='27e03a4921ee67aa1284e9de2c5d2160' ARCHIVE_BASE_11_SIZE='3100000' ARCHIVE_BASE_11_VERSION='6.4b-gog53339' ARCHIVE_BASE_10_NAME='monster_prom_5_16_45016.sh' ARCHIVE_BASE_10_MD5='58e9029453111916107341867d2c8327' ARCHIVE_BASE_10_SIZE='3000000' ARCHIVE_BASE_10_VERSION='5.16-gog45016' ARCHIVE_BASE_9_NAME='monster_prom_5_7_42255.sh' ARCHIVE_BASE_9_MD5='59a60a6941773d48cca441501507209d' ARCHIVE_BASE_9_SIZE='2500000' ARCHIVE_BASE_9_VERSION='5.7-gog42255' ARCHIVE_BASE_8_NAME='monster_prom_4_80_36450.sh' ARCHIVE_BASE_8_MD5='5847214b0bcf816d03e165a16d0c19c4' ARCHIVE_BASE_8_SIZE='2400000' ARCHIVE_BASE_8_VERSION='4.80-gog36450' ARCHIVE_BASE_7_NAME='monster_prom_4_79_36279.sh' ARCHIVE_BASE_7_MD5='c1d893075a21af380031c953e856bd7c' ARCHIVE_BASE_7_SIZE='2400000' ARCHIVE_BASE_7_VERSION='4.79-gog36279' ARCHIVE_BASE_6_NAME='monster_prom_4_77_36137.sh' ARCHIVE_BASE_6_MD5='87a05cfec3a314c4a6ea1047154958cf' ARCHIVE_BASE_6_SIZE='2400000' ARCHIVE_BASE_6_VERSION='4.77-gog36137' ARCHIVE_BASE_5_NAME='monster_prom_4_68_35225.sh' ARCHIVE_BASE_5_MD5='c48257dadd81ac089b10567733beea48' ARCHIVE_BASE_5_SIZE='2200000' ARCHIVE_BASE_5_VERSION='4.68-gog35225' ARCHIVE_BASE_4_NAME='monster_prom_4_61_33782.sh' ARCHIVE_BASE_4_MD5='0ed680d8cf93810c80f2c2f02ce16ae6' ARCHIVE_BASE_4_SIZE='2200000' ARCHIVE_BASE_4_VERSION='4.61-gog33782' ARCHIVE_BASE_3_NAME='monster_prom_4_57_33526.sh' ARCHIVE_BASE_3_MD5='62a6e7d2bf6dc9ede39ec014cd73aaf4' ARCHIVE_BASE_3_SIZE='2200000' ARCHIVE_BASE_3_VERSION='4.57-gog33526' ARCHIVE_BASE_2_NAME='monster_prom_4_44_30880.sh' ARCHIVE_BASE_2_MD5='feea2789e951c992e714a0d01afb7348' ARCHIVE_BASE_2_SIZE='2000000' ARCHIVE_BASE_2_VERSION='4.44-gog30880' ARCHIVE_BASE_1_NAME='monster_prom_4_38b_30736.sh' ARCHIVE_BASE_1_MD5='4dc9b48a90220ecc0fcd91e44f640320' ARCHIVE_BASE_1_SIZE='2000000' ARCHIVE_BASE_1_VERSION='4.38b-gog30736' ARCHIVE_BASE_0_NAME='monster_prom_2_44_26055.sh' ARCHIVE_BASE_0_MD5='c558e2ba0540ba6651a35a3a5e2a146b' ARCHIVE_BASE_0_SIZE='1400000' ARCHIVE_BASE_0_VERSION='2.44-gog26055' UNITY3D_NAME='MonsterProm' UNITY3D_PLUGINS=' libStandaloneFileBrowser.so ScreenSelector.so' ## TODO: Check if the Steam library is required. UNITY3D_PLUGINS="$UNITY3D_PLUGINS libsteam_api.so" CONTENT_PATH_DEFAULT='data/noarch/game' CONTENT_GAME0_DATA_FILES=' UserData' USER_PERSISTENT_DIRECTORIES=' UserData' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libgobject-2.0.so.0 libgtk-3.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libz.so.1' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-monstrata-fracture.sh0000750000000000000000000000520514471751340015776 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Monstrata Fracture # send your bug reports to bugs@dotslashplay.it ### script_version=20250521.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='monstrata-fracture' GAME_NAME='Monstrata Fracture' ARCHIVE_BASE_3_NAME='monstrata-fracture-win-linux.zip' ARCHIVE_BASE_3_MD5='b20a1bcf571f96a24681af86eecb21ed' ARCHIVE_BASE_3_SIZE='734454' ARCHIVE_BASE_3_VERSION='1.2.23-itch.2023.12.08' ARCHIVE_BASE_3_URL='https://astralore.itch.io/monstrata-fracture' ARCHIVE_BASE_2_NAME='monstrata-fracture-win-osx-linux.zip' ARCHIVE_BASE_2_MD5='77587f9906e97a79163849d74fc77c3b' ARCHIVE_BASE_2_SIZE='797917' ARCHIVE_BASE_2_VERSION='1.2.23-itch.2023.12.08' ARCHIVE_BASE_2_URL='https://astralore.itch.io/monstrata-fracture' ARCHIVE_BASE_1_NAME='monstrata-fracture-win-linux.zip' ARCHIVE_BASE_1_MD5='9839d978298251f296febd5bc9a9b550' ARCHIVE_BASE_1_SIZE='240017' ARCHIVE_BASE_1_VERSION='1.2.11-itch1' ARCHIVE_BASE_0_NAME='monstrata-fracture-win-osx-linux.zip' ARCHIVE_BASE_0_MD5='7fa34744e2ff3ad7b745909ebfea51fc' ARCHIVE_BASE_0_SIZE='270000' ARCHIVE_BASE_0_VERSION='1.2.11-itch1' CONTENT_PATH_DEFAULT_3='Monstrata-1.2.23-pc/game' CONTENT_PATH_DEFAULT_2='game' CONTENT_PATH_DEFAULT_1='Monstrata-1.2.11-pc/game' CONTENT_PATH_DEFAULT_0='Monstrata-1.2.11-market/game' CONTENT_GAME_MAIN_FILES=' audio cache shaders sounds script_version.txt *.rpa' CONTENT_DOC_DATA_RELATIVE_PATH='..' CONTENT_DOC_DATA_FILES=' credits.txt' APP_MAIN_TYPE='renpy' ## Ensure easy upgrades from pre-20250514.1 packages. PKG_MAIN_PROVIDES="${PKG_MAIN_PROVIDES:-} monstrata-fracture-data" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_default # Write launchers ## Use the default Ren'Py icon. desktop_field_icon() { printf 'renpy'; } launchers_generation # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-my-lovely-family-series.sh0000750000000000000000000000544414471751340016666 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # My Lovely Family series: # - My Lovely Daughter # - My Lovely Wife # send your bug reports to bugs@dotslashplay.it ### script_version=20241224.2 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID_DAUGHTER='my-lovely-daughter' GAME_NAME_DAUGHTER='My Lovely Daughter' GAME_ID_WIFE='my-lovely-wife' GAME_NAME_WIFE='My Lovely Wife' ARCHIVE_BASE_DAUGHTER_0_NAME='setup_my_lovely_daughter_1.27f6_gog_linkfix_(70980).exe' ARCHIVE_BASE_DAUGHTER_0_MD5='66af1010c276944acc0c66ebef72cc0e' ARCHIVE_BASE_DAUGHTER_0_TYPE='innosetup' ARCHIVE_BASE_DAUGHTER_0_SIZE='337658' ARCHIVE_BASE_DAUGHTER_0_VERSION='1.27f6-gog70980' ARCHIVE_BASE_DAUGHTER_0_URL='https://www.gog.com/game/my_lovely_daughter' ARCHIVE_BASE_WIFE_1_NAME='setup_my_lovely_wife_1.1.14f2_gog_(74768).exe' ARCHIVE_BASE_WIFE_1_MD5='f6b68450cf40e9c596327dfc189bd8ff' ARCHIVE_BASE_WIFE_1_TYPE='innosetup' ARCHIVE_BASE_WIFE_1_SIZE='651887' ARCHIVE_BASE_WIFE_1_VERSION='1.1.14f2-gog74768' ARCHIVE_BASE_WIFE_1_URL='https://www.gog.com/game/my_lovely_wife' ARCHIVE_BASE_WIFE_0_NAME='setup_my_lovely_wife_1.1.11_gog_(70816).exe' ARCHIVE_BASE_WIFE_0_MD5='52472f09b7516676b29a43e3a40cd121' ARCHIVE_BASE_WIFE_0_TYPE='innosetup' ARCHIVE_BASE_WIFE_0_SIZE='691604' ARCHIVE_BASE_WIFE_0_VERSION='1.1.11-gog70816' UNITY3D_NAME_DAUGHTER='my lovely daughter' UNITY3D_NAME_WIFE='my lovely wife' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES_DAUGHTER=' users/${USER}/AppData/LocalLow/GameChanger Studio/My Lovely Daughter' WINE_PERSISTENT_DIRECTORIES_WIFE=' users/${USER}/AppData/LocalLow/GameChanger Studio/My Lovely Wife' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID_DAUGHTER="${GAME_ID_DAUGHTER}-data" PKG_DATA_ID_WIFE="${GAME_ID_WIFE}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-night-in-the-woods.sh0000750000000000000000000000457114471751340015606 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Night in the Woods # send your bug reports to bugs@dotslashplay.it ### script_version=20240728.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='night-in-the-woods' GAME_NAME='Night in the Woods' ARCHIVE_BASE_0_NAME='night-in-the-woods-linux.zip' ARCHIVE_BASE_0_MD5='d51538671aa56a49964984f17a27a69c' ARCHIVE_BASE_0_SIZE='6030365' ARCHIVE_BASE_0_VERSION='406-itch' ARCHIVE_BASE_0_URL='https://finji.itch.io/night-in-the-woods' UNITY3D_NAME='Night in the Woods' UNITY3D_PLUGINS=' libfmodL.so libfmod.so libfmodstudioL.so libfmodstudio.so libgvraudio.so ScreenSelector.so' ## TODO: Check if the Steam plugins are required. UNITY3D_PLUGINS="$UNITY3D_PLUGINS libCSteamworks.so libsteam_api.so" CONTENT_PATH_DEFAULT='.' CONTENT_DOC_DATA_FILES=' README.png' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPS="$PKG_DATA_ID" PKG_BIN64_DEPS="$PKG_BIN_DEPS" PKG_BIN32_DEPS="$PKG_BIN_DEPS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libz.so.1' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-nine-noir-lives.sh0000750000000000000000000000545414471751340015201 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Nine Noir Lives # send your bug reports to bugs@dotslashplay.it ### script_version=20240915.2 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='nine-noir-lives' GAME_NAME='Nine Noir Lives' GAME_ID_DEMO="${GAME_ID}-demo" GAME_NAME_DEMO="$GAME_NAME (demo)" ARCHIVE_BASE_0_NAME='nine_noir_lives_1_0_12_59002.sh' ARCHIVE_BASE_0_MD5='e93b7279c787fbbc508f91e762e46d6e' ARCHIVE_BASE_0_SIZE='4837192' ARCHIVE_BASE_0_VERSION='1.0.12-gog59002' ARCHIVE_BASE_0_URL='https://www.gog.com/game/nine_noir_lives' ARCHIVE_BASE_DEMO_0_NAME='setup_nine_noir_lives_demo_1.02_(46357).exe' ARCHIVE_BASE_DEMO_0_MD5='f22c232ad0d7c1512b0aa90611f67340' ARCHIVE_BASE_DEMO_0_TYPE='innosetup' ARCHIVE_BASE_DEMO_0_SIZE='550000' ARCHIVE_BASE_DEMO_0_VERSION='1.02-gog46357' ARCHIVE_BASE_DEMO_0_URL='https://www.gog.com/game/nine_noir_lives_demo' VISIONAIRE_NAME='visplayer' VISIONAIRE_NAME_DEMO='nnl' CONTENT_PATH_DEFAULT='data/noarch/game' CONTENT_PATH_DEFAULT_DEMO='.' ## The shipped build of OpenAL must be used, to avoid a missing symbol error: ## symbol lookup error: ./visplayer: undefined symbol: SelectResampler CONTENT_LIBS0_BIN_PATH="${CONTENT_PATH_DEFAULT}/libs64" CONTENT_LIBS0_BIN_FILES=' libopenal.so' CONTENT_GAME0_DATA_FILES=' *.vc *.vi *.vis *.vs *.vt *.vv' CONTENT_DOC0_DATA_FILES=' BSD_3_Clause.txt LGPL2_1.txt libpng-LICENSE.txt MIT.txt symbols.txt webm.txt ZLIB.txt' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/Local/Silvernode Studios/NNL Demo' ## TODO: An icons pack should be provided for the full game. PKG_BIN_ARCH='64' PKG_BIN_ARCH_DEMO='32' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data case "$(current_archive)" in ('ARCHIVE_BASE_DEMO_'*) content_inclusion_icons 'PKG_DATA' ## Demo - Delete the broken 256×256 icon. broken_icon="$(package_path 'PKG_DATA')$(path_icons)/256x256/apps/$(game_id).png" rm --force "$broken_icon" rmdir --ignore-fail-on-non-empty --parents "$(dirname "$broken_icon")" ;; esac content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-nonsense-at-nightfall.sh0000750000000000000000000000341014471751340016351 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Nonsense at Nightfall # send your bug reports to bugs@dotslashplay.it ### script_version=20240618.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='nonsense-at-nightfall' GAME_NAME='Nonsense at Nightfall' ARCHIVE_BASE_0_NAME='Nonsense at Nightfall.zip' ARCHIVE_BASE_0_MD5='0fc2ea596776428f659a15acfb20dba6' ARCHIVE_BASE_0_SIZE='41000' ARCHIVE_BASE_0_VERSION='1.0-itch' ARCHIVE_BASE_0_URL='https://siegfriedcroes.itch.io/nonsense-at-nightfall' UNITY3D_NAME='Nonsense at Nightfall' CONTENT_PATH_DEFAULT='.' WINE_REGEDIT_PERSISTENT_KEYS=' HKEY_CURRENT_USER\Software\Siegfried Croes\Nonsense at Nightfall' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN_ARCH='32' PKG_BIN_DEPS="$PKG_DATA_ID" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-norco.sh0000750000000000000000000000374514471751340013304 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Norco # send your bug reports to bugs@dotslashplay.it ### script_version=20241106.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='norco' GAME_NAME='Norco' ARCHIVE_BASE_0_NAME='setup_norco_v1.4.4_(64bit)_(60635).exe' ARCHIVE_BASE_0_MD5='5bfcef9964c93e24752a8e85af5df3fd' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='3400000' ARCHIVE_BASE_0_VERSION='1.4.4-gog60635' ARCHIVE_BASE_0_URL='https://www.gog.com/en/game/norco' UNITY3D_NAME='norco' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/GeographyOfRobots/norco' ## This seems to prevent focus issues leading to the inability to interact with some in-game menus ## TODO: Check if it is still required with current WINE WINE_VIRTUAL_DESKTOP='auto' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-old-mans-journey.sh0000750000000000000000000000337414471751340015365 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Old Man's Journey # send your bug reports to bugs@dotslashplay.it ### script_version=20240915.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='old-mans-journey' GAME_NAME='Old Man’s Journey' ARCHIVE_BASE_0_NAME='OldMansJourney-Win-20180525.zip' ARCHIVE_BASE_0_MD5='841fb588cd62511fcc32291adc3a7f68' ARCHIVE_BASE_0_SIZE='580000' ARCHIVE_BASE_0_VERSION='20180525-itch' ARCHIVE_BASE_0_URL='https://brokenrules.itch.io/old-mans-journey' UNITY3D_NAME='Old Mans Journey' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/Broken Rules/Old Man' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-one-eyed-lee.sh0000750000000000000000000000515314471751340014427 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # One-Eyed Lee series: # - One-Eyed Lee: Prologue # - One-Eyed Lee and the Dinner Party # send your bug reports to bugs@dotslashplay.it ### script_version=20240428.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID_PROLOGUE='one-eyed-lee-prologue' GAME_NAME_PROLOGUE='One-Eyed Lee: Prologue' GAME_ID_DINNER='one-eyed-lee-and-the-dinner-party' GAME_NAME_DINNER='One-Eyed Lee and the Dinner Party' # Archives ## One-Eyed Lee: Prologue ARCHIVE_BASE_PROLOGUE_0_NAME='One-Eyed Lee Prologue PC.zip' ARCHIVE_BASE_PROLOGUE_0_MD5='d3c2ca1ef052cd59dd3619ea2c1cde96' ARCHIVE_BASE_PROLOGUE_0_SIZE='350000' ARCHIVE_BASE_PROLOGUE_0_VERSION='1.0-itch1' ARCHIVE_BASE_PROLOGUE_0_URL='https://darkchibishadow.itch.io/one-eyed-lee-prologue' ## One-Eyed Lee and the Dinner Party ARCHIVE_BASE_DINNER_0_NAME='One-EyedLeeandtheDinnerParty LINUX.bz2' ARCHIVE_BASE_DINNER_0_MD5='786e5ab1fec14f0319c9c3dd3a746cac' ARCHIVE_BASE_DINNER_0_TYPE='tar.bz2' ARCHIVE_BASE_DINNER_0_SIZE='520000' ARCHIVE_BASE_DINNER_0_VERSION='1.0-itch1' ARCHIVE_BASE_DINNER_0_URL='https://darkchibishadow.itch.io/one-eyed-lee-and-the-dinner-party' CONTENT_PATH_DEFAULT_PROLOGUE='oneeyedleeprologue-1.0-pc/game' CONTENT_PATH_DEFAULT_DINNER='One-EyedLeeandtheDinnerParty-1.0-linux/game' CONTENT_GAME_MAIN_FILES=' cache tl archive.rpa icon.ico script_version.txt *.ttf' APP_MAIN_TYPE='renpy' APP_MAIN_ICON='icon.ico' ## Ensure easy upgrades from packages generated with pre-20240428.1 game scripts. PKG_MAIN_PROVIDES_PROLOGUE="${PKG_MAIN_PROVIDES_PROLOGUE:-} one-eyed-lee-prologue-data" PKG_MAIN_PROVIDES_DINNER="${PKG_MAIN_PROVIDES_DINNER:-} one-eyed-lee-and-the-dinner-party-data" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-oneshot.sh0000750000000000000000000000513014471751340013631 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Oneshot # send your bug reports to bugs@dotslashplay.it ### script_version=20240910.2 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='oneshot' GAME_NAME='Oneshot' ARCHIVE_BASE_0_NAME='OneShot.AppImage' ARCHIVE_BASE_0_MD5='165fe1ea589d835b1dedc9947d43eb8f' ARCHIVE_BASE_0_SIZE='360168' ARCHIVE_BASE_0_VERSION='1.0-itch.2020.06.19' ARCHIVE_BASE_0_URL='https://futurecat.itch.io/oneshot' CONTENT_PATH_DEFAULT='usr/bin' CONTENT_LIBS_BIN_PATH='usr/lib' CONTENT_LIBS_BIN_FILES=' libruby.so.2.5 libxfconf-0.so.2' CONTENT_GAME_BIN_FILES=' _______ oneshot' CONTENT_GAME_DATA_FILES=' Audio Data Fonts Graphics Languages testing_saves testing_saves_postgame Wallpaper _______.png' CONTENT_DOC_DATA_PATH='usr/share/doc' CONTENT_DOC_DATA_FILES=' */copyright' ## The game engine fails to follow symlinks, leading to crashes APP_MAIN_PREFIX_TYPE='none' APP_MAIN_EXE='oneshot' APP_MAIN_ICON='_______.png' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libcrypt.so.1 libc.so.6 libdbus-glib-1.so.2 libdl.so.2 libgcc_s.so.1 libgdk-x11-2.0.so.0 libgio-2.0.so.0 libglib-2.0.so.0 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libSDL2-2.0.so.0 libstdc++.so.6 libz.so.1' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers ## Force the use of system-provided SDL APP_MAIN_PRERUN="$(application_prerun 'APP_MAIN') # Force the use of the system SDL library export SDL_DYNAMIC_API='$(path_libraries_system)/libSDL2-2.0.so.0' " launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-order-of-the-thorne.sh0000750000000000000000000000503314471751340015744 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2018 Antoine Le Gonidec set -o errexit ### # Order of the Thorne # send your bug reports to bugs@dotslashplay.it ### script_version=20250520.2 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='order-of-the-thorne' GAME_NAME='Order of the Thorne: The Kingʼs Challenge' ARCHIVE_BASE_LINUX_0_NAME='gog_order_of_the_thorne_the_king_s_challenge_2.0.0.1.sh' ARCHIVE_BASE_LINUX_0_MD5='16dde031dcfb730be1d94bde77306b0d' ARCHIVE_BASE_LINUX_0_SIZE='781609' ARCHIVE_BASE_LINUX_0_VERSION='1.0-gog2.0.0.1' ARCHIVE_BASE_LINUX_0_URL='https://www.gog.com/game/order_of_the_thorne_the_kings_challenge' ARCHIVE_BASE_WINDOWS_0_NAME='setup_order_of_the_thorne_2.1.0.4.exe' ARCHIVE_BASE_WINDOWS_0_MD5='f5dfd92a72167c9d033e0ca2c0262c79' ARCHIVE_BASE_WINDOWS_0_SIZE='825998' ARCHIVE_BASE_WINDOWS_0_VERSION='1.0-gog2.1.0.4' ARCHIVE_BASE_WINDOWS_0_URL='https://www.gog.com/game/order_of_the_thorne_the_kings_challenge' CONTENT_PATH_DEFAULT_LINUX='data/noarch/game' CONTENT_PATH_DEFAULT_WINDOWS='app' CONTENT_GAME_MAIN_FILES=' acsetup.cfg *.vox' CONTENT_GAME0_MAIN_FILES_LINUX=' agsgame.dat modules.lst' CONTENT_GAME0_MAIN_FILES_WINDOWS=' oott-tkc.exe' CONTENT_DOC_MAIN_FILES_LINUX=' licenses' APP_MAIN_SCUMMID='ags:oott' APP_MAIN_ICON_LINUX='oott-tkc.png' APP_MAIN_ICON_WINDOWS='oott-tkc.exe' PKG_MAIN_ID="$GAME_ID" PKG_MAIN_ID_LINUX="${PKG_MAIN_ID}-linux" PKG_MAIN_ID_WINDOWS="${PKG_MAIN_ID}-windows" PKG_MAIN_PROVIDES=" $PKG_MAIN_ID" ## Ensure easy upgrades from pre-20250520.2 packages PKG_MAIN_PROVIDES="${PKG_MAIN_PROVIDES:-} order-of-the-thorne-data" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-our-life-beginning-and-always.sh0000750000000000000000000000347314471751340017700 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Our Life: Beginnings & Always # send your bug reports to bugs@dotslashplay.it ### script_version=20250514.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='our-life-beginning-and-always' GAME_NAME='Our Life: Beginnings & Always' ARCHIVE_BASE_0_NAME='our_life_beginnings_always_1_6_2_59318.sh' ARCHIVE_BASE_0_MD5='543ec491817a024342902bd379d56fe6' ARCHIVE_BASE_0_SIZE='853527' ARCHIVE_BASE_0_VERSION='1.6.2-gog59318' ARCHIVE_BASE_0_URL='https://www.gog.com/game/our_life_beginnings_always' CONTENT_PATH_DEFAULT='data/noarch/game/game' CONTENT_GAME_MAIN_FILES=' icon.icns icon.ico archive.rpa script_version.txt' APP_MAIN_TYPE='renpy' APP_MAIN_ICON='icon.ico' ## Ensure easy upgrades from pre-20250514.1 packages. PKG_MAIN_PROVIDES="${PKG_MAIN_PROVIDES:-} our-life-beginning-and-always-data" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-overboard.sh0000750000000000000000000000334114471751340014137 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Overboard # send your bug reports to bugs@dotslashplay.it ### script_version=20240820.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='overboard' GAME_NAME='Overboard!' ARCHIVE_BASE_0_NAME='setup_overboard_1.3.1_(64bit)_(48184).exe' ARCHIVE_BASE_0_MD5='7b8ad8c5b7325f9d7904880c1b72d064' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='210000' ARCHIVE_BASE_0_VERSION='1.3.1-gog48184' ARCHIVE_BASE_0_URL='https://www.gog.com/game/overboard' UNITY3D_NAME='overboard!' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' userdata:users/${USER}/AppData/LocalLow/Inkle Ltd/Overboard!' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-oxenfree.sh0000750000000000000000000000577114471751340014000 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2019 BetaRays # SPDX-FileCopyrightText: © 2020 Hoël Bézier # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Oxenfree # send your bug reports to bugs@dotslashplay.it ### script_version=20240915.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='oxenfree' GAME_NAME='Oxenfree' ARCHIVE_BASE_GOG_1_NAME='oxenfree_2_7_1_27542.sh' ARCHIVE_BASE_GOG_1_MD5='d1571d0af998fafcf26d628b3be13537' ARCHIVE_BASE_GOG_1_SIZE='3000000' ARCHIVE_BASE_GOG_1_VERSION='2.7.1f8-gog27542' ARCHIVE_BASE_GOG_1_URL='https://www.gog.com/game/oxenfree' ARCHIVE_BASE_GOG_0_NAME='oxenfree_en_2_6_0_15278.sh' ARCHIVE_BASE_GOG_0_MD5='9f9e9c4a3f4b73fa85a8d29714f5959e' ARCHIVE_BASE_GOG_0_SIZE='3000000' ARCHIVE_BASE_GOG_0_VERSION='2.6.0f30-gog15278' ## Oxenfree is no longer available for sale from itch.io ## cf. https://www.gamingonlinux.com/2024/09/oxenfree-is-being-completely-removed-from-itchio-in-october/ ARCHIVE_BASE_ITCH_0_NAME='oxenfree-release-linux.zip' ARCHIVE_BASE_ITCH_0_MD5='54469a9bf98bc08125e69fc4612f390b' ARCHIVE_BASE_ITCH_0_SIZE='3000000' ARCHIVE_BASE_ITCH_0_VERSION='2.7.1f8-itch.2020.06.05' UNITY3D_NAME='Oxenfree' UNITY3D_PLUGINS=' ScreenSelector.so' CONTENT_PATH_DEFAULT_GOG='data/noarch/game' CONTENT_PATH_DEFAULT_ITCH='Oxenfree_2.7.1_Linux-Uni-NoSteam_20190208_008' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libGL.so.1 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libX11.so.6 libXcursor.so.1 libXrandr.so.2' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-papetura.sh0000750000000000000000000000333314471751340013776 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Papetura # send your bug reports to bugs@dotslashplay.it ### script_version=20240707.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='papetura' GAME_NAME='Papetura' ARCHIVE_BASE_0_NAME='setup_papetura_1.1a_(49052).exe' ARCHIVE_BASE_0_MD5='d87f9c1f11d2c86b47d0df52feda06ef' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='2200000' ARCHIVE_BASE_0_VERSION='1.1a-gog49052' ARCHIVE_BASE_0_URL='https://www.gog.com/game/papetura' UNITY3D_NAME='papetura' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/Petums/Papetura' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN_ARCH='32' PKG_BIN_DEPS="$PKG_DATA_ID" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-paradise-killer.sh0000750000000000000000000000350414471751340015225 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Paradise Killer # send your bug reports to bugs@dotslashplay.it ### script_version=20240611.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='paradise-killer' GAME_NAME='Paradise Killer' ARCHIVE_BASE_0_NAME='setup_paradise_killer_1.2.04.0_(53942).exe' ARCHIVE_BASE_0_MD5='1d7daf90ae9ddb2516af904154fcec13' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_paradise_killer_1.2.04.0_(53942)-1.bin' ARCHIVE_BASE_0_PART1_MD5='c52a3990f84a9daf47e5e27f2fc68d24' ARCHIVE_BASE_0_SIZE='2200000' ARCHIVE_BASE_0_VERSION='1.2.04.0-gog53942' ARCHIVE_BASE_0_URL='https://www.gog.com/game/paradise_killer' UNREALENGINE4_NAME='paradisekiller' CONTENT_PATH_DEFAULT='.' APP_MAIN_EXE='paradisekiller.exe' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN_ARCH='64' PKG_BIN_DEPS="$PKG_DATA_ID" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-paramedium-1.sh0000750000000000000000000000327114471751340014440 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Paramedium: A Noise in the Attic # send your bug reports to bugs@dotslashplay.it ### script_version=20240516.1 PLAYIT_COMPATIBILITY_LEVEL='2.28' GAME_ID='paramedium-1' GAME_NAME='Paramedium: A Noise in the Attic' ARCHIVE_BASE_0_NAME='Paramedium1.rar' ARCHIVE_BASE_0_MD5='7ce9c2a4779fde265a90975ab461b605' ARCHIVE_BASE_0_SIZE='540000' ARCHIVE_BASE_0_VERSION='1.3-itch' ARCHIVE_BASE_0_URL='https://dinmoney.itch.io/paramedium' UNITY3D_NAME='Paramedium' CONTENT_PATH_DEFAULT='Paramedium1.3' WINE_WINETRICKS_VERBS='arial' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN_ARCH='64' PKG_BIN_DEPS="$PKG_DATA_ID" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-prim.sh0000750000000000000000000000362214471751340013125 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2025 Antoine Le Gonidec set -o errexit ### # Prim # send your bug reports to bugs@dotslashplay.it ### script_version=20250114.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='prim' GAME_NAME='PRIM' ARCHIVE_BASE_0_NAME='prim_1_1_18_78616.sh' ARCHIVE_BASE_0_MD5='c8e37c77a417e00583cc5d5142ebb03c' ARCHIVE_BASE_0_SIZE='1083289' ARCHIVE_BASE_0_VERSION='1.1.18-gog78616' ARCHIVE_BASE_0_URL='https://www.gog.com/game/prim' UNITY3D_NAME='PRIM' CONTENT_PATH_DEFAULT='data/noarch/game' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libm.so.6 libpthread.so.0 librt.so.1 libz.so.1' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" # Prevent the inclusion of Steam libraries rm --recursive "$(unity3d_name)_Data/Plugins" ) # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-rakuen.sh0000750000000000000000000000655014471751340013446 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Rakuen # send your bug reports to bugs@dotslashplay.it ### script_version=20240915.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='rakuen' GAME_NAME='Rakuen' ARCHIVE_BASE_0_NAME='rakuen_linux.tgz' ARCHIVE_BASE_0_MD5='cae92b2e92cd4e15796a7faa765d2e64' ARCHIVE_BASE_0_SIZE='200000' ARCHIVE_BASE_0_VERSION='1.0-humble1' ARCHIVE_BASE_0_URL='https://www.humblebundle.com/store/rakuen' CONTENT_PATH_DEFAULT='Rakuen' ## FIXME: Some sound effects do not play, they might require the shipped builds of some libraries. ## The displayed error is "Unable to decode sound: (…): Sound format unsupported". CONTENT_LIBS_BIN_FILES=' libruby.so.2.1' ## The shipped build of libphysfs.so.1 must be used, or the game will fail to find some required data files. CONTENT_LIBS_BIN_FILES="${CONTENT_LIBS_BIN_FILES:-} libphysfs.so.1" CONTENT_LIBS_BIN64_PATH="${CONTENT_PATH_DEFAULT}/lib64" CONTENT_LIBS_BIN64_FILES="$CONTENT_LIBS_BIN_FILES" CONTENT_LIBS_BIN32_PATH="${CONTENT_PATH_DEFAULT}/lib" CONTENT_LIBS_BIN32_FILES="$CONTENT_LIBS_BIN_FILES" CONTENT_GAME_BIN64_FILES=' Rakuen.amd64' CONTENT_GAME_BIN32_FILES=' Rakuen.x86' CONTENT_GAME_DATA_FILES=' Audio Engine.ini Engine.rgssad Fonts icon.png mkxp mkxp.conf' CONTENT_DOC_DATA_FILES=' *.pdf' APP_MAIN_EXE_BIN64='Rakuen.amd64' APP_MAIN_EXE_BIN32='Rakuen.x86' APP_MAIN_ICON='icon.png' ## The game engine fails to find required game data when using a symlinks farm prefix. APP_MAIN_PREFIX_TYPE='none' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libcrypt.so.1 libc.so.6 libdl.so.2 libgcc_s.so.1 libm.so.6 libopenal.so.1 libpixman-1.so.0 libpthread.so.0 librt.so.1 libSDL2-2.0.so.0 libSDL2_image-2.0.so.0 libSDL2_ttf-2.0.so.0 libSDL_sound-1.0.so.1 libsigc-2.0.so.0 libstdc++.so.6 libvorbisfile.so.3 libz.so.1' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" ## Prevent the inclusion of MacOS archive junk files. find . -type f -name '._*' -delete ) # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-resonance.sh0000750000000000000000000000410214471751340014125 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Antoine Le Gonidec set -o errexit ### # Resonance # send your bug reports to bugs@dotslashplay.it ### script_version=20240915.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='resonance' GAME_NAME='Resonance' ARCHIVE_BASE_1_NAME='resonance_3_0_66305.sh' ARCHIVE_BASE_1_MD5='87786f1035c3dbe8ebc35d1fb54f6d1a' ARCHIVE_BASE_1_SIZE='1100000' ARCHIVE_BASE_1_VERSION='3.0-gog66305' ARCHIVE_BASE_1_URL='https://www.gog.com/game/resonance' ARCHIVE_BASE_0_NAME='resonance_2_2_53439.sh' ARCHIVE_BASE_0_MD5='5c86f3f82974b65ad3d2852c6a9338ed' ARCHIVE_BASE_0_SIZE='1200000' ARCHIVE_BASE_0_VERSION='2.2-gog53439' ## Optional icons pack ARCHIVE_OPTIONAL_ICONS_NAME='resonance_icons.tar.gz' ARCHIVE_OPTIONAL_ICONS_MD5='0a24712adffd9f5f2998bf355fc161b7' ARCHIVE_OPTIONAL_ICONS_URL='https://downloads.dotslashplay.it/games/resonance/' CONTENT_ICONS_PATH='.' CONTENT_ICONS_FILES=' 16x16 24x24 32x32 48x48 256x256' CONTENT_PATH_DEFAULT='data/noarch/game' CONTENT_GAME_MAIN_FILES=' ENGV.tmp Music Sounds *.ags *.cfg *.exe *.ogv *.tra *.vox' CONTENT_DOC_MAIN_FILES=' licenses' APP_MAIN_SCUMMID='ags:resonance' APP_MAIN_ICON='../support/icon.png' APP_MAIN_ICON_0='Resonance.exe' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-return-to-mysterious-island-1.sh0000750000000000000000000002030714471751340017743 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2022 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Return to Mysterious Island # send your bug reports to bugs@dotslashplay.it ### script_version=20250803.4 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='return-to-mysterious-island-1' GAME_NAME='Return to Mysterious Island' ARCHIVE_BASE_FR_0_NAME='setup_return_to_mysterious_island_1.03_lang_fix_(french)_(64086).exe' ARCHIVE_BASE_FR_0_MD5='57c1c94d9b9433eeeba1fb524e720d82' ARCHIVE_BASE_FR_0_TYPE='innosetup' ARCHIVE_BASE_FR_0_SIZE='1166500' ARCHIVE_BASE_FR_0_VERSION='1.03-gog64086' ARCHIVE_BASE_FR_0_URL='https://www.gog.com/game/return_to_mysterious_island' ARCHIVE_BASE_US_0_NAME='setup_return_to_mysterious_island_1.03_lang_fix_(64086).exe' ARCHIVE_BASE_US_0_MD5='ddf2151a68bf9abc31ec93246e517b39' ARCHIVE_BASE_US_0_TYPE='innosetup' ARCHIVE_BASE_US_0_SIZE='1166430' ARCHIVE_BASE_US_0_VERSION='1.03-gog64086' ARCHIVE_BASE_US_0_URL='https://www.gog.com/game/return_to_mysterious_island' ARCHIVE_BASE_MULTILANG_0_NAME='setup_return_to_mysterious_island_2.1.0.17.exe' ARCHIVE_BASE_MULTILANG_0_MD5='d31567796e419eb0c295bf978aa1d434' ARCHIVE_BASE_MULTILANG_0_TYPE='innosetup' ARCHIVE_BASE_MULTILANG_0_SIZE='1500000' ARCHIVE_BASE_MULTILANG_0_VERSION='1.0-gog2.1.0.17' CONTENT_PATH_DEFAULT='.' CONTENT_PATH_DEFAULT_MULTILANG='app' CONTENT_GAME_BIN_FILES=' cpuinf32.dll ddraw.dll ijl15.dll spr.dll game.exe' CONTENT_GAME_L10N_FILES=' datas/loc datas/cd?/loc_??_*' CONTENT_GAME0_L10N_RELATIVE_PATH='__support/app' CONTENT_GAME0_L10N_FILES=' config.ini' CONTENT_GAME_L10N_FR_FILES=' datas/loc/fr datas/cd?/loc_fr_*' CONTENT_GAME_L10N_GE_FILES=' datas/loc/ge datas/cd?/loc_ge_*' CONTENT_GAME_L10N_IT_FILES=' datas/loc/it datas/cd?/loc_it_*' CONTENT_GAME_L10N_SP_FILES=' datas/loc/sp datas/cd?/loc_sp_*' CONTENT_GAME_L10N_RU_FILES=' datas/loc/ru datas/cd?/loc_ru_*' CONTENT_GAME_L10N_US_FILES=' datas/loc/us datas/cd?/loc_us_*' CONTENT_GAME_DATA_FILES=' datas' USER_PERSISTENT_DIRECTORIES=' users' APP_MAIN_EXE='game.exe' PACKAGES_LIST=' PKG_BIN PKG_L10N PKG_DATA' PACKAGES_LIST_MULTILANG=' PKG_BIN PKG_L10N_FR PKG_L10N_GE PKG_L10N_IT PKG_L10N_SP PKG_L10N_RU PKG_L10N_US PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_L10N_BASE PKG_DATA' ## Easier upgrades from pre-20240825.1 packages PKG_BIN_PROVIDES="${PKG_BIN_PROVIDES:-}"' retour-sur-lile-mysterieuse retour-sur-lile-mysterieuse-1' PKG_L10N_BASE_ID="${GAME_ID}-l10n" ## Single localisation installers PKG_L10N_ID_FR="${PKG_L10N_BASE_ID}-fr" PKG_L10N_ID_US="${PKG_L10N_BASE_ID}-us" ## Multi-languages installers PKG_L10N_FR_ID="${PKG_L10N_BASE_ID}-fr" PKG_L10N_GE_ID="${PKG_L10N_BASE_ID}-ge" PKG_L10N_IT_ID="${PKG_L10N_BASE_ID}-it" PKG_L10N_SP_ID="${PKG_L10N_BASE_ID}-sp" PKG_L10N_RU_ID="${PKG_L10N_BASE_ID}-ru" PKG_L10N_US_ID="${PKG_L10N_BASE_ID}-us" ## Single localisation installers PKG_L10N_DESCRIPTION_FR='French localization' PKG_L10N_DESCRIPTION_US='English localization' ## Multi-languages installers PKG_L10N_FR_DESCRIPTION='French localization' PKG_L10N_GE_DESCRIPTION='German localization' PKG_L10N_IT_DESCRIPTION='Italian localization' PKG_L10N_SP_DESCRIPTION='Spanish localization' PKG_L10N_RU_DESCRIPTION='Russian localization' PKG_L10N_US_DESCRIPTION='English localization' PKG_L10N_PROVIDES=" $PKG_L10N_BASE_ID" ## Easier upgrades from pre-20240825.1 packages PKG_L10N_PROVIDES="${PKG_L10N_PROVIDES:-}"' retour-sur-lile-mysterieuse-l10n retour-sur-lile-mysterieuse-1-l10n' PKG_L10N_FR_PROVIDES="$PKG_L10N_PROVIDES" PKG_L10N_GE_PROVIDES="$PKG_L10N_PROVIDES" PKG_L10N_IT_PROVIDES="$PKG_L10N_PROVIDES" PKG_L10N_SP_PROVIDES="$PKG_L10N_PROVIDES" PKG_L10N_RU_PROVIDES="$PKG_L10N_PROVIDES" PKG_L10N_US_PROVIDES="$PKG_L10N_PROVIDES" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' ## Easier upgrades from pre-20240825.1 packages PKG_DATA_PROVIDES="${PKG_DATA_PROVIDES:-}"' retour-sur-lile-mysterieuse-data retour-sur-lile-mysterieuse-1-data' # dos2unix is required to edit INI configuration files. REQUIREMENTS_LIST="${REQUIREMENTS_LIST:-} dos2unix" # Load common functions. PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions. initialization_default "$@" # Extract game data. archive_extraction_default ## Fix game install path in configuration. ## FIXME: The absolute path "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" ## could be provided by an helper function. ## (/play.it 2.33) case "$(current_archive)" in ('ARCHIVE_BASE_MULTILANG_'*) ini_file="${PLAYIT_WORKDIR}/gamedata/$(content_path_default)/config.ini" ;; (*) ini_file="${PLAYIT_WORKDIR}/gamedata/$(content_path_default)/__support/app/config.ini" ;; esac ini_field='PATH' # shellcheck disable=SC1003 ini_value='C:\\'"$(game_id)"'\\datas' sed_expression="s/^${ini_field}=.*/${ini_field}=${ini_value}/" dos2unix --quiet "$ini_file" sed --in-place --expression="$sed_expression" "$ini_file" unix2dos --quiet "$ini_file" ## Fix language setting for French localisation. case "$(current_archive)" in ('ARCHIVE_BASE_FR_'*) ## FIXME: The absolute path "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" ## could be provided by an helper function. ## (/play.it 2.33) ini_file="${PLAYIT_WORKDIR}/gamedata/$(content_path_default)/__support/app/config.ini" ini_field='LOC' # shellcheck disable=SC1003 ini_value='FR' sed_expression="s/^${ini_field}=.*/${ini_field}=${ini_value}/" dos2unix --quiet "$ini_file" sed --in-place --expression="$sed_expression" "$ini_file" unix2dos --quiet "$ini_file" ;; esac # Include game data. ## Include configuration file in localisation packages. case "$(current_archive)" in ('ARCHIVE_BASE_MULTILANG_'*) config_file='config.ini' ## FIXME: The absolute path "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" ## could be provided by an helper function. ## (/play.it 2.33) config_directory_source="${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" ini_field='LOC' dos2unix --quiet "${config_directory_source}/${config_file}" for lang in \ 'FR' \ 'GE' \ 'IT' \ 'RU' \ 'SP' \ 'US' do config_directory_destination="$(package_path "PKG_L10N_${lang}")$(path_game_data)" ini_value="$lang" sed_expression="s/^${ini_field}=.*/${ini_field}=${ini_value}/" mkdir --parents "$config_directory_destination" sed --expression="$sed_expression" \ "${config_directory_source}/${config_file}" \ > "${config_directory_destination}/${config_file}" unix2dos --quiet "${config_directory_destination}/${config_file}" done ;; esac content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers. launchers_generation # Build packages. packages_generation case "$(current_archive)" in ('ARCHIVE_BASE_MULTILANG_'*) case "$(messages_language)" in ('fr') message='version %s :' lang_fr='française' lang_ge='allemande' lang_it='italienne' lang_sp='espagnole' lang_ru='russe' lang_us='anglaise' ;; ('en'|*) message='%s version:' lang_fr='French' lang_ge='German' lang_it='Italian' lang_sp='Spanish' lang_ru='Russian' lang_us='English' ;; esac printf '\n' printf "$message" "$lang_fr" print_instructions 'PKG_BIN' 'PKG_L10N_FR' 'PKG_DATA' printf "$message" "$lang_ge" print_instructions 'PKG_BIN' 'PKG_L10N_GE' 'PKG_DATA' printf "$message" "$lang_it" print_instructions 'PKG_BIN' 'PKG_L10N_IT' 'PKG_DATA' printf "$message" "$lang_sp" print_instructions 'PKG_BIN' 'PKG_L10N_SP' 'PKG_DATA' printf "$message" "$lang_ru" print_instructions 'PKG_BIN' 'PKG_L10N_RU' 'PKG_DATA' printf "$message" "$lang_us" print_instructions 'PKG_BIN' 'PKG_L10N_US' 'PKG_DATA' ;; (*) print_instructions ;; esac # Clean up working_directory_cleanup exit 0 games/play-return-to-mysterious-island-2.sh0000750000000000000000000000774414471751340017756 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Return to Mysterious Island 2 # send your bug reports to bugs@dotslashplay.it ### script_version=20240825.2 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='return-to-mysterious-island-2' GAME_NAME='Return to Mysterious Island 2' ARCHIVE_BASE_EN_0_NAME='setup_return_to_mysterious_island_2_1.06_(57220).exe' ARCHIVE_BASE_EN_0_MD5='790c8d739ba367c690e2f22d82b67aac' ARCHIVE_BASE_EN_0_TYPE='innosetup' ARCHIVE_BASE_EN_0_PART1_NAME='setup_return_to_mysterious_island_2_1.06_(57220)-1.bin' ARCHIVE_BASE_EN_0_PART1_MD5='48f4bef6406c13785014159432ce8cad' ARCHIVE_BASE_EN_0_SIZE='3547391' ARCHIVE_BASE_EN_0_VERSION='1.06-gog57220' ARCHIVE_BASE_EN_0_URL='https://www.gog.com/game/return_to_mysterious_island_2' ARCHIVE_BASE_FR_0_NAME='setup_return_to_mysterious_island_2_1.06_(french)_(57220).exe' ARCHIVE_BASE_FR_0_MD5='d4781b8003efc975e92ea007b466c274' ARCHIVE_BASE_FR_0_TYPE='innosetup' ARCHIVE_BASE_FR_0_PART1_NAME='setup_return_to_mysterious_island_2_1.06_(french)_(57220)-1.bin' ARCHIVE_BASE_FR_0_PART1_MD5='5f83e965c02dfc9badaa04347bfd57b7' ARCHIVE_BASE_FR_0_SIZE='3547182' ARCHIVE_BASE_FR_0_VERSION='1.06-gog57220' ARCHIVE_BASE_FR_0_URL='https://www.gog.com/game/return_to_mysterious_island_2' CONTENT_PATH_DEFAULT='.' CONTENT_GAME_BIN_FILES=' ijl15.dll ipworks8.dll spr.dll rtmi2.exe' CONTENT_GAME_L10N_FILES=' datas/loc/?? datas/cd1/loc_??_cmn.bf datas/cd1/loc_??_hig.bf datas/cd1/cmn_cmn.bf datas/cd2/loc_??_cmn.bf datas/cd2/loc_??_hig.bf datas/cd2/cmn_cmn.bf datas/cmn/cmn/ins/install.ins' CONTENT_GAME_DATA_FILES=' datas/cd1 datas/cd2 datas/cmn' CONTENT_DOC_L10N_FILES=' manual.pdf lisez-moi.txt readme.txt' WINE_PERSISTENT_DIRECTORIES=' ProgramData/RTMI2/Saves' APP_MAIN_EXE='rtmi2.exe' PACKAGES_LIST=' PKG_BIN PKG_L10N PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_L10N_BASE PKG_DATA' ## Ensure easy upgrades from packages generated with pre-20240825.1 game scripts PKG_BIN_PROVIDES="${PKG_BIN_PROVIDES:-} retour-sur-lile-mysterieuse-2" PKG_L10N_BASE_ID="${GAME_ID}-l10n" PKG_L10N_ID_EN="${PKG_L10N_BASE_ID}-en" PKG_L10N_ID_FR="${PKG_L10N_BASE_ID}-fr" PKG_L10N_DESCRIPTION_EN='English localization' PKG_L10N_DESCRIPTION_FR='French localization' PKG_L10N_PROVIDES=" $PKG_L10N_BASE_ID" ## Ensure easy upgrades from packages generated with pre-20240825.1 game scripts PKG_L10N_PROVIDES="${PKG_L10N_PROVIDES:-} retour-sur-lile-mysterieuse-2-l10n" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' ## Ensure easy upgrades from packages generated with pre-20240825.1 game scripts PKG_DATA_PROVIDES="${PKG_DATA_PROVIDES:-} retour-sur-lile-mysterieuse-2-data" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data ## Install required configuration file. config_file_source="${PLAYIT_WORKDIR}/gamedata/__support/app/config.ini" config_file_destination="$(package_path 'PKG_L10N')$(path_game_data)/config.ini" case "$(current_archive)" in ('ARCHIVE_BASE_EN_'*) loc_string='UK' ;; ('ARCHIVE_BASE_FR_'*) loc_string='FR' ;; esac mkdir --parents "$(dirname "$config_file_destination")" sed "s/^LOC=../LOC=${loc_string}/" "$config_file_source" > "$config_file_destination" content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-rime.sh0000750000000000000000000000521614471751340013113 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2021 Antoine Le Gonidec set -o errexit ### # Rime # send your bug reports to bugs@dotslashplay.it ### script_version=20250530.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='rime-game' GAME_NAME='RiME' ARCHIVE_BASE_1_NAME='setup_rime_1.04_(a)_(40568).exe' ARCHIVE_BASE_1_MD5='04c89d5de10df3c16c5e9b3512d559aa' ARCHIVE_BASE_1_TYPE='innosetup' ARCHIVE_BASE_1_PART1_NAME='setup_rime_1.04_(a)_(40568)-1.bin' ARCHIVE_BASE_1_PART1_MD5='aa40d7bf862088c92b9a0dbe09c42012' ARCHIVE_BASE_1_PART2_NAME='setup_rime_1.04_(a)_(40568)-2.bin' ARCHIVE_BASE_1_PART2_MD5='c9cad9754731585b3e68a305eef4bd01' ARCHIVE_BASE_1_SIZE='7800000' ARCHIVE_BASE_1_VERSION='1.04-gog40568' ARCHIVE_BASE_1_URL='https://www.gog.com/game/rime' ARCHIVE_BASE_0_NAME='setup_rime_152498_signed_(14865).exe' ARCHIVE_BASE_0_MD5='303d41314564c753fcef92260c3e20f8' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_rime_152498_signed_(14865)-1.bin' ARCHIVE_BASE_0_PART1_MD5='ea9fc9eeaeeb2d7c58eab42cef31bb2e' ARCHIVE_BASE_0_PART2_NAME='setup_rime_152498_signed_(14865)-2.bin' ARCHIVE_BASE_0_PART2_MD5='b65792a122d267cc799e9b044605c1a1' ARCHIVE_BASE_0_SIZE='8000000' ARCHIVE_BASE_0_VERSION='1.04-gog14865' UNREALENGINE4_NAME='sirengame' CONTENT_PATH_DEFAULT='.' CONTENT_PATH_DEFAULT_0='app' APP_MAIN_EXE='sirengame/binaries/win64/rime.exe' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers ## Do not install the Visual C++ Runtime, to prevent an error related to MSVCP140.dll. (WINE 10.0) unrealengine4_wine_winetricks_verbs_default() { return 0; } launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-sally-face.sh0000750000000000000000000000343514471751340014200 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Sally Face # send your bug reports to bugs@dotslashplay.it ### script_version=20250515.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='sally-face' GAME_NAME='Sally Face' ARCHIVE_BASE_1_NAME='sally_face_1_5_42_57397.sh' ARCHIVE_BASE_1_MD5='8ae0cd174db19cfd396b71edf99a1d40' ARCHIVE_BASE_1_SIZE='1800000' ARCHIVE_BASE_1_VERSION='1.5.42-gog57397' ARCHIVE_BASE_1_URL='https://www.gog.com/game/sally_face' UNITY3D_NAME='Sally Face' CONTENT_PATH_DEFAULT='data/noarch/game' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libm.so.6 libpthread.so.0 librt.so.1 libz.so.1' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-samorost.sh0000750000000000000000000000647614471751340014037 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Anna Lea # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Samorost series: # - Samorost 1 # - Samorost 2 # - Samorost 3 # send your bug reports to bugs@dotslashplay.it ### script_version=20241202.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID_SAMOROST1='samorost-1' GAME_NAME_SAMOROST1='Samorost 1' GAME_ID_SAMOROST2='samorost-2' GAME_NAME_SAMOROST2='Samorost 2' GAME_ID_SAMOROST3='samorost-3' GAME_NAME_SAMOROST3='Samorost 3' ARCHIVE_BASE_SAMOROST1_0_NAME='setup_samorost_1_1.12_(47177).exe' ARCHIVE_BASE_SAMOROST1_0_MD5='3cbc500a060c6654b312c0e0adb04601' ARCHIVE_BASE_SAMOROST1_0_TYPE='innosetup' ARCHIVE_BASE_SAMOROST1_0_SIZE='77000' ARCHIVE_BASE_SAMOROST1_0_VERSION='1.1.12-gog47177' ARCHIVE_BASE_SAMOROST1_0_URL='https://www.gog.com/game/samorost_1' ARCHIVE_BASE_SAMOROST2_0_NAME='setup_samorost_2_2.34_(42685).exe' ARCHIVE_BASE_SAMOROST2_0_MD5='282e6c0c807678e19d4d0987b1d7b62f' ARCHIVE_BASE_SAMOROST2_0_TYPE='innosetup' ARCHIVE_BASE_SAMOROST2_0_SIZE='130000' ARCHIVE_BASE_SAMOROST2_0_VERSION='2.2.34-gog42685' ARCHIVE_BASE_SAMOROST2_0_URL='https://www.gog.com/game/samorost2' ARCHIVE_BASE_SAMOROST3_0_NAME='setup_samorost_3_1.467.0_(18751).exe' ARCHIVE_BASE_SAMOROST3_0_MD5='0edc5e0c7a71c41826999bb8bd4b32b0' ARCHIVE_BASE_SAMOROST3_0_TYPE='innosetup' ARCHIVE_BASE_SAMOROST3_0_SIZE='1200000' ARCHIVE_BASE_SAMOROST3_0_VERSION='3.1.467.0-gog18751' ARCHIVE_BASE_SAMOROST3_0_URL='https://www.gog.com/game/samorost_3_cosmic_edition' CONTENT_PATH_DEFAULT='.' CONTENT_GAME_BIN_FILES=' adobe air samorost1.exe samorost2.exe samorost3.exe' CONTENT_GAME_DATA_FILES=' data meta-inf' WINE_PERSISTENT_DIRECTORIES_SAMOROST1=' users/${USER}/AppData/Roaming/amanitadesign.samorost1' ## "samorost3" despite the game being Samorost 2 is expected WINE_PERSISTENT_DIRECTORIES_SAMOROST2=' users/${USER}/AppData/Roaming/amanitadesign.samorost3' WINE_PERSISTENT_DIRECTORIES_SAMOROST3=' users/${USER}/AppData/Roaming/amanita-design.samorost3' APP_MAIN_EXE_SAMOROST1='samorost1.exe' APP_MAIN_EXE_SAMOROST2='samorost2.exe' APP_MAIN_EXE_SAMOROST3='samorost3.exe' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID_SAMOROST1="${GAME_ID_SAMOROST1}-data" PKG_DATA_ID_SAMOROST2="${GAME_ID_SAMOROST2}-data" PKG_DATA_ID_SAMOROST3="${GAME_ID_SAMOROST3}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-sherlock-holmes-2-the-case-of-the-silver-earring.sh0000750000000000000000000000464314471751340023216 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Sherlock Holmes: The Case of the Silver Earring # send your bug reports to bugs@dotslashplay.it ### script_version=20250115.2 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='sherlock-holmes-2-the-case-of-the-silver-earring' GAME_NAME='Sherlock Holmes: The Case of the Silver Earring' ARCHIVE_BASE_0_NAME='setup_sherlock_holmes_secret_of_the_silver_earring_2.1.0.9.exe' ARCHIVE_BASE_0_MD5='877e21a4e439793df05acb06bcd27817' ## Do not convert the paths to lowercase, to avoid breaking a puzzle ## cf. https://forge.dotslashplay.it/play.it/games-adventure/-/issues/3 ARCHIVE_BASE_0_EXTRACTOR='innoextract' ARCHIVE_BASE_0_EXTRACTOR_OPTIONS=' ' ARCHIVE_BASE_0_SIZE='1500000' ARCHIVE_BASE_0_VERSION='1.0-gog2.1.0.9' ARCHIVE_BASE_0_URL='https://www.gog.com/game/sherlock_holmes_secret_of_the_silver_earring' CONTENT_PATH_DEFAULT='app' CONTENT_GAME_BIN_FILES=' binkw32.dll game.exe setup.ini' CONTENT_GAME_DATA_FILES=' characters fonts graphics movies scenes script text sound.0000 textures.0000' CONTENT_DOC_DATA_FILES=' manual.pdf' USER_PERSISTENT_DIRECTORIES=' save' USER_PERSISTENT_FILES=' setup.ini' APP_MAIN_EXE='game.exe' APP_MAIN_ICON_WRESTOOL_OPTIONS='--type=14 --name=101 --language=1049' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-sherlock-holmes-3-the-awakened.sh0000750000000000000000000000634514471751340017755 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Sherlock Holmes: The Awakened # send your bug reports to bugs@dotslashplay.it ### script_version=20240826.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='sherlock-holmes-3-the-awakened' GAME_NAME='Sherlock Holmes: The Awakened' ARCHIVE_BASE_0_NAME='setup_sherlock_holmes_the_awakened_remastered_2.0.0.3.exe' ARCHIVE_BASE_0_MD5='81f3428e81c91f110d8c7cab609daa4f' ARCHIVE_BASE_0_EXTRACTOR='innoextract' ARCHIVE_BASE_0_EXTRACTOR_OPTIONS='--lowercase --gog' ARCHIVE_BASE_0_PART1_NAME='setup_sherlock_holmes_the_awakened_remastered_2.0.0.3-1.bin' ARCHIVE_BASE_0_PART1_MD5='3b87ccb9783fe181e2433f2ea8a31b08' ARCHIVE_BASE_0_PART1_TYPE='rar' ARCHIVE_BASE_0_SIZE='3200000' ARCHIVE_BASE_0_VERSION='1.0-gog2.0.0.3' ARCHIVE_BASE_0_URL='https://www.gog.com/game/sherlock_holmes_the_awakened_remastered' CONTENT_PATH_DEFAULT='game' CONTENT_GAME_BIN_FILES=' game.exe *.dll' CONTENT_GAME0_BIN_PATH='support/app' CONTENT_GAME0_BIN_FILES=' game.ini user.ini' CONTENT_GAME_DATA_FILES=' 000 logo shaders.0050 splash_screen.dds data.txt' ## TODO: We should divert a single path, and set the other localized paths as symbolic links WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/Roaming/Games/sherlock holmes - the awakened - remastered users/${USER}/AppData/Roaming/Games/sherlock holmes - la nuit des sacrifiés - remasterisée' ## Ensure availability of required library PhysXLoader.dll. WINE_WINETRICKS_VERBS='physx' ## This is only required because of the lang setting tweak, ## and could be dropped if a localization package were used instead USER_PERSISTENT_FILES=' game.ini' APP_MAIN_EXE='game.exe' APP_MAIN_ICON_WRESTOOL_OPTIONS='--type=14 --name=101 --language=1024' ## Set game lang based on current locale ## TODO: This could be handled by a dedicated localization package APP_MAIN_PRERUN=' # Set game lang based on current locale game_config="${USER_PERSISTENT_PATH}/game.ini" case "${LANG%_*}" in ("de"|"en"|"fr"|"it"|"pl"|"ru") sed --in-place "s/\(lang\s*\)= .*/\\1= \"${LANG%_*}\"/" "$game_config" ;; (*) sed --in-place "s/\(lang\s*\)= .*/\\1= \"en\"/" "$game_config" ;; esac ' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-sherlock-holmes-4-nemesis.sh0000750000000000000000000000475714471751340017071 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Sherlock Holmes: Nemesis # send your bug reports to bugs@dotslashplay.it ### script_version=20240826.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='sherlock-holmes-4-nemesis' GAME_NAME='Sherlock Holmes: Nemesis' ARCHIVE_BASE_0_NAME='setup_sherlock_holmes_nemesis_remastered_2.0.0.2.exe' ARCHIVE_BASE_0_MD5='80093682c232a13d7b246c490ff67cf1' ARCHIVE_BASE_0_EXTRACTOR='innoextract' ARCHIVE_BASE_0_EXTRACTOR_OPTIONS='--gog' ARCHIVE_BASE_0_PART1_NAME='setup_sherlock_holmes_nemesis_remastered_2.0.0.2-1.bin' ARCHIVE_BASE_0_PART1_MD5='5c50ae6b9fdf9eeb33dcdb7c26b2904e' ARCHIVE_BASE_0_TYPE='rar' ARCHIVE_BASE_0_SIZE='2800000' ARCHIVE_BASE_0_VERSION='1.0-gog2.0.0.2' ARCHIVE_BASE_0_URL='https://www.gog.com/game/sherlock_holmes_nemesis_remastered' CONTENT_PATH_DEFAULT='game' CONTENT_GAME_BIN_FILES=' game.exe *.dll' CONTENT_GAME0_BIN_PATH='support/app' CONTENT_GAME0_BIN_FILES=' game.ini user.ini' CONTENT_GAME_DATA_FILES=' 000 logo shaders.0050 splash_screen.dds data.txt' ## TODO: Check if write access to these files is actually required USER_PERSISTENT_FILES=' *.ini' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/Roaming/Games/sherlock holmes versus arsene lupin' ## Install required PhysX libraries. WINE_WINETRICKS_VERBS='physx' APP_MAIN_EXE='game.exe' APP_MAIN_ICON_WRESTOOL_OPTIONS='--type=14 --name=101 --language=0' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-sherlock-holmes-5-versus-jack-the-ripper.sh0000750000000000000000000001021414471751340021722 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2021 Antoine Le Gonidec set -o errexit ### # Sherlock Holmes Versus Jack the Ripper # send your bug reports to bugs@dotslashplay.it ### script_version=20240826.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='sherlock-holmes-5-versus-jack-the-ripper' GAME_NAME='Sherlock Holmes Versus Jack the Ripper' ARCHIVE_BASE_0_NAME='setup_sherlock_holmes_vs_jack_the_ripper_2.0.0.2.exe' ARCHIVE_BASE_0_MD5='65d2d3ee20a5d4db4017c90701ab91cd' ARCHIVE_BASE_0_EXTRACTOR='innoextract' ARCHIVE_BASE_0_EXTRACTOR_OPTIONS='--lowercase --gog' ARCHIVE_BASE_0_PART1_NAME='setup_sherlock_holmes_vs_jack_the_ripper_2.0.0.2-1.bin' ARCHIVE_BASE_0_PART1_MD5='17c054477fe1fe12e79513ae71ff1a5d' ARCHIVE_BASE_0_PART1_EXTRACTOR='unar' ARCHIVE_BASE_0_PART2_NAME='setup_sherlock_holmes_vs_jack_the_ripper_2.0.0.2-2.bin' ARCHIVE_BASE_0_PART2_MD5='26eebfcd9a171eb3a380876681803597' ARCHIVE_BASE_0_VERSION='1.0-gog2.0.0.2' ARCHIVE_BASE_0_SIZE='3200000' ARCHIVE_BASE_0_URL='https://www.gog.com/game/sherlock_holmes_versus_jack_the_ripper' CONTENT_PATH_DEFAULT='game' CONTENT_GAME_BIN_FILES=' *.dll *.exe' CONTENT_GAME_L10N_EN_FILES=' 000/en.pak 000/sounds_en.pak' CONTENT_GAME_L10N_FR_FILES=' 000/fr.pak 000/sounds_fr.pak' CONTENT_GAME_DATA_FILES=' logo data.txt shaders.0050 splash_screen.jpg 000/game.pak 000/sounds.pak 000/texture.pak 000/texture3d.pak' CONTENT_GAME0_BIN_PATH='support/app' CONTENT_GAME0_BIN_FILES=' user.ini' ## TODO: We should divert a single path, and set the other localized paths as symbolic links WINE_PERSISTENT_DIRECTORIES=" users/\${USER}/AppData/Roaming/Games/sherlock holmes versus jack the ripper users/\${USER}/AppData/Roaming/Games/sherlock holmes contre jack l'eventreur" ## Install PhysX in the WINE prefix ## Provided installers can not be used: ## - with PhysX-9.13.0604-SystemSoftware-Legacy.msi, the game fails to load PhysX ## - with PhysX-9.15.0428-SystemSoftware.exe, PhysX installation fails WINE_WINETRICKS_VERBS='physx' APP_MAIN_EXE='game.exe' APP_MAIN_ICON_WRESTOOL_OPTIONS='--type=14 --language=0' PACKAGES_LIST=' PKG_BIN PKG_L10N_EN PKG_L10N_FR PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_L10N PKG_DATA' PKG_L10N_ID="${GAME_ID}-l10n" PKG_L10N_EN_ID="${PKG_L10N_ID}-en" PKG_L10N_FR_ID="${PKG_L10N_ID}-fr" PKG_L10N_EN_DESCRIPTION='English localization' PKG_L10N_FR_DESCRIPTION='French localization' PKG_L10N_PROVIDES=" $PKG_L10N_ID" PKG_L10N_EN_PROVIDES="$PKG_L10N_PROVIDES" PKG_L10N_FR_PROVIDES="$PKG_L10N_PROVIDES" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' ## Include language-specific configuration file install -D --mode=644 \ "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)/_loc/en" \ "$(package_path 'PKG_L10N_EN')$(path_game_data)/game.ini" install -D --mode=644 \ "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)/_loc/fr" \ "$(package_path 'PKG_L10N_FR')$(path_game_data)/game.ini" content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation case "$(messages_language)" in ('fr') lang_string='version %s :' lang_en='anglaise' lang_fr='française' ;; ('en'|*) lang_string='%s version:' lang_en='English' lang_fr='French' ;; esac printf '\n' printf "$lang_string" "$lang_en" print_instructions 'PKG_L10N_EN' 'PKG_DATA' 'PKG_BIN' printf "$lang_string" "$lang_fr" print_instructions 'PKG_L10N_FR' 'PKG_DATA' 'PKG_BIN' # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-sherlock-holmes-6-the-testament-of-sherlock-holmes.sh0000750000000000000000000000521214471751340023674 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # The Testament of Sherlock Holmes # send your bug reports to bugs@dotslashplay.it ### script_version=20240826.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='sherlock-holmes-6-the-testament-of-sherlock-holmes' GAME_NAME='The Testament of Sherlock Holmes' ARCHIVE_BASE_0_NAME='setup_testament_of_sherlock_holmes_2.0.0.5.exe' ARCHIVE_BASE_0_MD5='5942a1e7b0f21d5d4f08c3b3e0bb40e3' ARCHIVE_BASE_0_EXTRACTOR='innoextract' ## TODO: Check if --lowercase is really useful when called alongside --gog ARCHIVE_BASE_0_EXTRACTOR_OPTIONS='--lowercase --gog' ARCHIVE_BASE_0_PART1_NAME='setup_testament_of_sherlock_holmes_2.0.0.5-1.bin' ARCHIVE_BASE_0_PART1_MD5='5b223e42466e6be155fc0da569848a21' ARCHIVE_BASE_0_PART1_TYPE='rar' ARCHIVE_BASE_0_PART2_NAME='setup_testament_of_sherlock_holmes_2.0.0.5-2.bin' ARCHIVE_BASE_0_PART2_MD5='e9b3a3ce285d95af9937e1269b82cdbb' ARCHIVE_BASE_0_SIZE='10000000' ARCHIVE_BASE_0_VERSION='1.0-gog2.0.0.5' ARCHIVE_BASE_0_URL='https://www.gog.com/game/testament_of_sherlock_holmes_the' CONTENT_PATH_DEFAULT='game' CONTENT_GAME_BIN_FILES=' d3dx9_32.dll D3DX9_42.dll msvcr71.dll game.exe game.ini' CONTENT_GAME_DATA_FILES=' 000 001 002 003 004 logo data.txt splash_screen.jpg *.0050' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/Roaming/Frogwares/The Testament of Sherlock Holmes' ## Ensure availability of required library PhysXLoader.dll. WINE_WINETRICKS_VERBS='physx' APP_MAIN_EXE='game.exe' APP_MAIN_ICON_WRESTOOL_OPTIONS='--type=14 --name=101 --language=1033' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-sherlock-holmes-7-crimes-and-punishments.sh0000750000000000000000000000460614471751340022017 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Sherlock Holmes: Crimes and Punishments # send your bug reports to bugs@dotslashplay.it ### script_version=20240826.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='sherlock-holmes-7-crimes-and-punishments' GAME_NAME='Sherlock Holmes: Crimes and Punishments' ARCHIVE_BASE_0_NAME='setup_sherlock_holmes_crimes_and_punishments_76411_(32864).exe' ARCHIVE_BASE_0_MD5='b9c8bcd83540b4accfa03ea016ab75ba' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_sherlock_holmes_crimes_and_punishments_76411_(32864)-1.bin' ARCHIVE_BASE_0_PART1_MD5='757b844b87696a6ab9e044a354189d6f' ARCHIVE_BASE_0_PART2_NAME='setup_sherlock_holmes_crimes_and_punishments_76411_(32864)-2.bin' ARCHIVE_BASE_0_PART2_MD5='d786ed336b2c2f48de3289dfce038081' ARCHIVE_BASE_0_VERSION='76411-gog32864' ARCHIVE_BASE_0_SIZE='9200000' ARCHIVE_BASE_0_URL='https://www.gog.com/game/sherlock_holmes_crimes_and_punishments' CONTENT_PATH_DEFAULT='.' ## TODO: Check if the inclusion of the "app" directory is required. CONTENT_GAME_BIN_FILES=' app binaries fdk' CONTENT_GAME_DATA_FILES=' engine sh7game' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/Documents/My Games/Sherlock Holmes - Crimes and Punishments/SH7Game' APP_MAIN_EXE='binaries/win32/sherlock.exe' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-sherlock-holmes-8-the-devils-daughter.sh0000750000000000000000000001041514471751340021263 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Sherlock Holmes: The Devil's Daughter # send your bug reports to bugs@dotslashplay.it ### script_version=20240826.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='sherlock-holmes-8-the-devils-daughter' GAME_NAME='Sherlock Holmes: The Devilʼs Daughter' ARCHIVE_BASE_1_NAME='setup_sherlock_holmes_the_devils_daughter_updated_version_(64bit)_(47726).exe' ARCHIVE_BASE_1_MD5='a2ce34b1249b455c0bab0cde9f326ac2' ARCHIVE_BASE_1_TYPE='innosetup' ARCHIVE_BASE_1_PART1_NAME='setup_sherlock_holmes_the_devils_daughter_updated_version_(64bit)_(47726)-1.bin' ARCHIVE_BASE_1_PART1_MD5='19479d302c3cb9f0fc7dd4900f6973c0' ARCHIVE_BASE_1_PART2_NAME='setup_sherlock_holmes_the_devils_daughter_updated_version_(64bit)_(47726)-2.bin' ARCHIVE_BASE_1_PART2_MD5='03a63eca21c2d9daa1575c4207aa7f72' ARCHIVE_BASE_1_PART3_NAME='setup_sherlock_holmes_the_devils_daughter_updated_version_(64bit)_(47726)-3.bin' ARCHIVE_BASE_1_PART3_MD5='a7984be1a7dd16f9de45a768d5b4ebd5' ARCHIVE_BASE_1_PART4_NAME='setup_sherlock_holmes_the_devils_daughter_updated_version_(64bit)_(47726)-4.bin' ARCHIVE_BASE_1_PART4_MD5='efe77f56083e306e09262b88bcd02f11' ARCHIVE_BASE_1_SIZE='20000000' ARCHIVE_BASE_1_VERSION='1.0-gog47726' ARCHIVE_BASE_1_URL='https://www.gog.com/game/sherlock_holmes_the_devils_daughter' ARCHIVE_BASE_0_NAME='setup_sherlock_holmes_-_the_devils_daughter_gog-1_(18233).exe' ARCHIVE_BASE_0_MD5='4832ade71deb5e113329a81f7c28ada3' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_sherlock_holmes_-_the_devils_daughter_gog-1_(18233)-1.bin' ARCHIVE_BASE_0_PART1_MD5='46292f406b40cdcbe1c49177132284c8' ARCHIVE_BASE_0_PART2_NAME='setup_sherlock_holmes_-_the_devils_daughter_gog-1_(18233)-2.bin' ARCHIVE_BASE_0_PART2_MD5='dbffed9110dfb7743aaf2516b805e7cb' ARCHIVE_BASE_0_PART3_NAME='setup_sherlock_holmes_-_the_devils_daughter_gog-1_(18233)-3.bin' ARCHIVE_BASE_0_PART3_MD5='68858920f4e670a8377c24c8a21e6733' ARCHIVE_BASE_0_SIZE='16000000' ARCHIVE_BASE_0_VERSION='1.0-gog18233' CONTENT_PATH_DEFAULT='.' CONTENT_PATH_DEFAULT_0='app' CONTENT_GAME_BIN_FILES=' binaries engine fdk' CONTENT_GAME_DATA_TEXTURES_FILES=' sh8game/cookedpcconsole/*.tfc' CONTENT_GAME_DATA_PART1_FILES=' sh8game/cookedpcconsole/sub_*' CONTENT_GAME_DATA_PART2_FILES=' sh8game' WINE_PERSISTENT_DIRECTORIES=" users/\${USER}/Documents/My Games/Sherlock Holmes - The Devil's Daughter GOG/SH8Game" WINE_WINEPREFIX_TWEAKS='mono' ## Install required Visual C++ 2012 libraries. WINE_WINETRICKS_VERBS='vcrun2012' APP_MAIN_EXE='binaries/win64/sherlock.exe' ## The game crashes on launch if these runtime options are not set. APP_MAIN_OPTIONS='-NOSCREENMESSAGES -SEEKFREELOADINGPCCONSOLE' ## Explicitly set the application type, to prevent it from being mistakingly identified as a Mono game. APP_MAIN_TYPE='wine' PACKAGES_LIST=' PKG_BIN PKG_DATA_TEXTURES PKG_DATA_PART1 PKG_DATA_PART2' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA_TEXTURES PKG_DATA_PART1 PKG_DATA_PART2' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_PART1_ID="${PKG_DATA_ID}-part1" PKG_DATA_PART2_ID="${PKG_DATA_ID}-part2" PKG_DATA_TEXTURES_ID="${PKG_DATA_ID}-textures" PKG_DATA_DESCRIPTION='data' PKG_DATA_PART1_DESCRIPTION="$PKG_DATA_DESCRIPTION - part 1" PKG_DATA_PART2_DESCRIPTION="$PKG_DATA_DESCRIPTION - part 2" PKG_DATA_TEXTURES_DESCRIPTION="$PKG_DATA_DESCRIPTION - textures" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA_PART2' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-silence.sh0000750000000000000000000000534314471751340013602 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Silence # send your bug reports to bugs@dotslashplay.it ### script_version=20240901.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='silence' GAME_NAME='Silence' ARCHIVE_BASE_0_NAME='gog_silence_2.1.0.3.sh' ARCHIVE_BASE_0_MD5='e00082adcfa826eae91b9d92a386f0d5' ARCHIVE_BASE_0_SIZE='7400000' ARCHIVE_BASE_0_VERSION='1.2.20280-gog2.1.0.3' ARCHIVE_BASE_0_URL='https://www.gog.com/game/silence' UNITY3D_NAME='Silence' CONTENT_PATH_DEFAULT='data/noarch/game' ## TODO: An explicit list of plugins to include should be set using UNITY3D_PLUGINS CONTENT_GAME0_BIN64_FILES=" ${UNITY3D_NAME}_Data/Plugins/x86_64" CONTENT_GAME0_BIN32_FILES=" ${UNITY3D_NAME}_Data/Plugins/x86" PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libGL.so.1 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libX11.so.6 libXcursor.so.1 libXrandr.so.2' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" ## Drop Steam-specific plugin ## TODO: This should be dropped in favour of UNITY3D_PLUGINS rm \ "$(unity3d_name)_Data/Plugins/x86/libDaedalic.Ecosystems.Steam.External.so" \ "$(unity3d_name)_Data/Plugins/x86_64/libDaedalic.Ecosystems.Steam.External.so" ) # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-softporn-adventure.sh0000750000000000000000000000335314471751340016024 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2016 Mopi # SPDX-FileCopyrightText: © 2017 Antoine Le Gonidec set -o errexit ### # Softporn Adventure # send your bug reports to bugs@dotslashplay.it ### script_version=20240621.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='softporn-adventure' GAME_NAME='Softporn Adventure' ## This installer is no longer distributed by gog.com. ARCHIVE_BASE_0_NAME='gog_softporn_adventure_2.0.0.1.sh' ARCHIVE_BASE_0_MD5='1e51094f928757140c5a0dacc70773c0' ARCHIVE_BASE_0_SIZE='11000' ARCHIVE_BASE_0_VERSION='1.0-gog2.0.0.1' CONTENT_PATH_DEFAULT='data/noarch/data' CONTENT_GAME_MAIN_FILES=' FILE_ID.DIZ SOFTPORN.BIN SOFTPORN.EXE SOFTPORN.LOC SOFTPORN.TXT' CONTENT_DOC_MAIN_PATH='data/noarch/docs' CONTENT_DOC_MAIN_FILES=' SOFTPORN.DOC' USER_PERSISTENT_FILES=' *.GAM' APP_MAIN_EXE='SOFTPORN.EXE' APP_MAIN_ICON='../support/icon.png' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-state-of-mind.sh0000750000000000000000000000670014471751340014625 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2020 Antoine Le Gonidec set -o errexit ### # State of Mind # send your bug reports to bugs@dotslashplay.it ### script_version=20250115.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='state-of-mind' GAME_NAME='State of Mind' ARCHIVE_BASE_0_NAME='state_of_mind_1_2_24280_24687.sh' ARCHIVE_BASE_0_MD5='e27071ec1041dc7e529f5fe590783f72' ARCHIVE_BASE_0_SIZE='21000000' ARCHIVE_BASE_0_VERSION='1.2.24280-gog24687' ARCHIVE_BASE_0_URL='https://www.gog.com/game/state_of_mind' UNREALENGINE4_NAME='StateOfMind' CONTENT_PATH_DEFAULT='data/noarch/game' CONTENT_GAME0_BIN_FILES=' StateOfMind.cfg' CONTENT_GAME_DATA_CHUNK1_FILES=" ${UNREALENGINE4_NAME}/Content/Paks/pakchunk0-LinuxNoEditor.pak ${UNREALENGINE4_NAME}/Content/Paks/pakchunk1-LinuxNoEditor.pak ${UNREALENGINE4_NAME}/Content/Paks/pakchunk2-LinuxNoEditor.pak" CONTENT_GAME_DATA_CHUNK2_FILES=" ${UNREALENGINE4_NAME}/Content/Paks/pakchunk3-LinuxNoEditor.pak ${UNREALENGINE4_NAME}/Content/Paks/pakchunk4-LinuxNoEditor.pak ${UNREALENGINE4_NAME}/Content/Paks/pakchunk5-LinuxNoEditor.pak" CONTENT_GAME_DATA_CHUNK3_FILES=" ${UNREALENGINE4_NAME}/Content/Paks/pakchunk6-LinuxNoEditor.pak ${UNREALENGINE4_NAME}/Content/Paks/pakchunk7-LinuxNoEditor.pak" CONTENT_GAME0_DATA_FILES=' StateOfMind.png version.txt' CONTENT_DOC_DATA_FILES=" LICENSE.txt" APP_MAIN_EXE="${UNREALENGINE4_NAME}/Binaries/Linux/${UNREALENGINE4_NAME}-Linux-Shipping" APP_MAIN_ICON='StateOfMind.png' PACKAGES_LIST=' PKG_BIN PKG_DATA_CHUNK1 PKG_DATA_CHUNK2 PKG_DATA_CHUNK3 PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libm.so.6 libopenal.so.1 libpthread.so.0 librt.so.1' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_DATA_DEPENDENCIES_SIBLINGS=' PKG_DATA_CHUNK1 PKG_DATA_CHUNK2 PKG_DATA_CHUNK3' PKG_DATA_CHUNK1_ID="${PKG_DATA_ID}-chunk1" PKG_DATA_CHUNK2_ID="${PKG_DATA_ID}-chunk2" PKG_DATA_CHUNK3_ID="${PKG_DATA_ID}-chunk3" PKG_DATA_CHUNK1_DESCRIPTION="$PKG_DATA_DESCRIPTION - chunk 1" PKG_DATA_CHUNK2_DESCRIPTION="$PKG_DATA_DESCRIPTION - chunk 2" PKG_DATA_CHUNK3_DESCRIPTION="$PKG_DATA_DESCRIPTION - chunk 3" ## Ensure easy upgrade from packages generated with pre-20230410.1 game scripts. PKG_DATA_CHUNK1_PROVIDES="${PKG_DATA_CHUNK1_PROVIDES:-} state-of-mind-paks-1" PKG_DATA_CHUNK2_PROVIDES="${PKG_DATA_CHUNK2_PROVIDES:-} state-of-mind-paks-2" PKG_DATA_CHUNK3_PROVIDES="${PKG_DATA_CHUNK3_PROVIDES:-} state-of-mind-paks-3" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-still-there.sh0000750000000000000000000000334114471751340014410 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Still There # send your bug reports to bugs@dotslashplay.it ### script_version=20240707.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='still-there' GAME_NAME='Still There' ARCHIVE_BASE_0_NAME='setup_still_there_1.07_(64bit)_(40001).exe' ARCHIVE_BASE_0_MD5='b95f8676d7c574b49ff7cf258f5b606d' ARCHIVE_BASE_0_SIZE='400000' ARCHIVE_BASE_0_VERSION='1.07-gog40001' ARCHIVE_BASE_0_URL='https://www.gog.com/game/still_there' UNITY3D_NAME='still there' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/GhostShark Games/Still There' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN_ARCH='64' PKG_BIN_DEPS="$PKG_DATA_ID" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-strangeland.sh0000750000000000000000000000474714471751340014471 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Antoine Le Gonidec set -o errexit ### # Strangeland # send your bug reports to bugs@dotslashplay.it ### script_version=20241215.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='strangeland' GAME_NAME='Strangeland' ARCHIVE_BASE_4_NAME='strangeland_3_5c_78464.sh' ARCHIVE_BASE_4_MD5='6be43bac931e5350ab03f671ed37ebf9' ARCHIVE_BASE_4_SIZE='4301875' ARCHIVE_BASE_4_VERSION='3.5c-gog78464' ARCHIVE_BASE_4_URL='https://www.gog.com/game/strangeland' ARCHIVE_BASE_3_NAME='strangeland_3_57270.sh' ARCHIVE_BASE_3_MD5='68e18616d01d902c0982a3a1d1a8e3cd' ARCHIVE_BASE_3_SIZE='4400000' ARCHIVE_BASE_3_VERSION='3.0-gog57270' ARCHIVE_BASE_2_NAME='strangeland_2_7_55701.sh' ARCHIVE_BASE_2_MD5='719e693167ba8014aea03b858d9cd9c1' ARCHIVE_BASE_2_SIZE='4400000' ARCHIVE_BASE_2_VERSION='2.7-gog55701' ARCHIVE_BASE_1_NAME='strangeland_2_6c_54396.sh' ARCHIVE_BASE_1_MD5='afa5999b3074480966c2226f2356f6b9' ARCHIVE_BASE_1_SIZE='4400000' ARCHIVE_BASE_1_VERSION='2.6c-gog54396' ARCHIVE_BASE_0_NAME='strangeland_2_3a_49446.sh' ARCHIVE_BASE_0_MD5='a313a7ee812815b5e53ebc643c53da76' ARCHIVE_BASE_0_SIZE='4400000' ARCHIVE_BASE_0_VERSION='2.3a-gog49446' CONTENT_PATH_DEFAULT='data/noarch/game/data' CONTENT_GAME_MAIN_FILES=' Music Sounds *.ags *.cfg *.exe *.ogv *.tra *.vox' ## TODO: Check if this "ENGV.tmp" file is actually useful CONTENT_GAME0_MAIN_FILES=' ENGV.tmp' CONTENT_DOC_MAIN_FILES=' licenses' APP_MAIN_SCUMMID='ags:strangeland' ## Strangeland.exe is too big, wrestool crashes when trying to handle it. APP_MAIN_ICON='winsetup.exe' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-subject-13.sh0000750000000000000000000000336514471751340014042 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Subject 13 # send your bug reports to bugs@dotslashplay.it ### script_version=20241103.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='subject-13' GAME_NAME='Subject 13' ARCHIVE_BASE_0_NAME='setup_subject_13_2.0.0.1.exe' ARCHIVE_BASE_0_MD5='90961ce1888fb4f0c06bd6b9b0d8470d' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='2000000' ARCHIVE_BASE_0_VERSION='1.0-gog2.0.0.1' ARCHIVE_BASE_0_URL='https://www.gog.com/game/subject_13' UNITY3D_NAME='subject13' CONTENT_PATH_DEFAULT='app' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/Microids/Subject13' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-sumatra-fate-of-yandi.sh0000750000000000000000000000324714471751340016256 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Sumatra: Fate of Yandi # send your bug reports to bugs@dotslashplay.it ### script_version=20250515.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='sumatra-fate-of-yandi' GAME_NAME='Sumatra: Fate of Yandi' ARCHIVE_BASE_0_NAME='setup_sumatra_fate_of_yandi_1.2_(56037).exe' ARCHIVE_BASE_0_MD5='60b1734aa9e06bb5077f48200c0106bf' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='290000' ARCHIVE_BASE_0_VERSION='1.2-gog56037' ARCHIVE_BASE_0_URL='https://www.gog.com/game/sumatra_fate_of_yandi' CONTENT_PATH_DEFAULT='.' CONTENT_GAME_MAIN_FILES=' *.cfg *.exe *.tra *.vox' APP_MAIN_SCUMMID='ags:sumatra' APP_MAIN_ICON='sumatra fate of yandi.exe' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-syberia-3.sh0000750000000000000000000001017214471751340013752 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2022 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Syberia 3 # send your bug reports to bugs@dotslashplay.it ### script_version=20240826.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='syberia-3' GAME_NAME='Syberia 3' ARCHIVE_BASE_0_NAME='setup_syberia3_1.5.07_(16263).exe' ARCHIVE_BASE_0_MD5='0acae86c6b8731b59813f7e52b65dadd' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_syberia3_1.5.07_(16263)-1.bin' ARCHIVE_BASE_0_PART1_MD5='233220fefc9729dc0929807b303796b6' ARCHIVE_BASE_0_PART2_NAME='setup_syberia3_1.5.07_(16263)-2.bin' ARCHIVE_BASE_0_PART2_MD5='74b45a17b099e37118b60c949138a641' ARCHIVE_BASE_0_PART3_NAME='setup_syberia3_1.5.07_(16263)-3.bin' ARCHIVE_BASE_0_PART3_MD5='0f835206b87821446fd93c2c739a285a' ARCHIVE_BASE_0_PART4_NAME='setup_syberia3_1.5.07_(16263)-4.bin' ARCHIVE_BASE_0_PART4_MD5='150ed8843be777abd765b79df2aaf314' ARCHIVE_BASE_0_PART5_NAME='setup_syberia3_1.5.07_(16263)-5.bin' ARCHIVE_BASE_0_PART5_MD5='67c6e4d76b778f7d5fd02f5df561bb11' ARCHIVE_BASE_0_SIZE='40000000' ARCHIVE_BASE_0_VERSION='1.5.07-gog16263' ARCHIVE_BASE_0_URL='https://www.gog.com/game/syberia_3_the_complete_journey' UNITY3D_NAME='syberia3' CONTENT_PATH_DEFAULT='app' CONTENT_GAME_DATA_SHAREDASSETS_1_FILES=" ${UNITY3D_NAME}_data/sharedassets?.* ${UNITY3D_NAME}_data/sharedassets1?.* ${UNITY3D_NAME}_data/sharedassets2?.* ${UNITY3D_NAME}_data/sharedassets3?.* ${UNITY3D_NAME}_data/sharedassets4?.*" CONTENT_GAME_DATA_SHAREDASSETS_2_FILES=" ${UNITY3D_NAME}_data/sharedassets5?.* ${UNITY3D_NAME}_data/sharedassets6?.* ${UNITY3D_NAME}_data/sharedassets7?.* ${UNITY3D_NAME}_data/sharedassets8?.*" CONTENT_GAME_DATA_SHAREDASSETS_3_FILES=" ${UNITY3D_NAME}_data/sharedassets9?.* ${UNITY3D_NAME}_data/sharedassets10?.* ${UNITY3D_NAME}_data/sharedassets11?.* ${UNITY3D_NAME}_data/sharedassets12?.*" CONTENT_GAME_DATA_SHAREDASSETS_4_FILES=" ${UNITY3D_NAME}_data/sharedassets*" CONTENT_GAME_DATA_STREAMINGASSETS_FILES=" ${UNITY3D_NAME}_data/streamingassets" CONTENT_GAME0_DATA_FILES=' syberia3.dat' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/Microids/Syberia3' PACKAGES_LIST=' PKG_BIN PKG_DATA_SHAREDASSETS_1 PKG_DATA_SHAREDASSETS_2 PKG_DATA_SHAREDASSETS_3 PKG_DATA_SHAREDASSETS_4 PKG_DATA_STREAMINGASSETS PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_DATA_DEPENDENCIES_SIBLINGS=' PKG_DATA_SHAREDASSETS_1 PKG_DATA_SHAREDASSETS_2 PKG_DATA_SHAREDASSETS_3 PKG_DATA_SHAREDASSETS_4 PKG_DATA_STREAMINGASSETS' PKG_DATA_SHAREDASSETS_1_ID="${PKG_DATA_ID}-sharedassets-1" PKG_DATA_SHAREDASSETS_2_ID="${PKG_DATA_ID}-sharedassets-2" PKG_DATA_SHAREDASSETS_3_ID="${PKG_DATA_ID}-sharedassets-3" PKG_DATA_SHAREDASSETS_4_ID="${PKG_DATA_ID}-sharedassets-4" PKG_DATA_SHAREDASSETS_1_DESCRIPTION="$PKG_DATA_DESCRIPTION - shared assets - 1" PKG_DATA_SHAREDASSETS_2_DESCRIPTION="$PKG_DATA_DESCRIPTION - shared assets - 2" PKG_DATA_SHAREDASSETS_3_DESCRIPTION="$PKG_DATA_DESCRIPTION - shared assets - 3" PKG_DATA_SHAREDASSETS_4_DESCRIPTION="$PKG_DATA_DESCRIPTION - shared assets - 4" PKG_DATA_STREAMINGASSETS_ID="${PKG_DATA_ID}-streamingassets" PKG_DATA_STREAMINGASSETS_DESCRIPTION="$PKG_DATA_DESCRIPTION - streaming assets" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-syberia-scummvm.sh0000750000000000000000000000664114471751340015305 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Syberia series: # - Syberia 1 # - Syberia 2 # send your bug reports to bugs@dotslashplay.it ### script_version=20250311.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID_SYBERIA1='syberia-1' GAME_NAME_SYBERIA1='Syberia' GAME_ID_SYBERIA2='syberia-2' GAME_NAME_SYBERIA2='Syberia Ⅱ' ARCHIVE_BASE_SYBERIA1_0_NAME='syberia_en_2.0.0.1.pkg' ARCHIVE_BASE_SYBERIA1_0_MD5='61fb5374919b9a5cc9eeda91924b6def' ## TODO: ./play.it 2.32 has no support for Mac OS .pkg installers. ARCHIVE_BASE_SYBERIA1_0_EXTRACTOR='unar' ARCHIVE_BASE_SYBERIA1_0_SIZE='3542062' ARCHIVE_BASE_SYBERIA1_0_VERSION='1.0.2-gog2.0.0.1' ARCHIVE_BASE_SYBERIA1_0_URL='https://www.gog.com/game/syberia' ARCHIVE_BASE_SYBERIA2_0_NAME='syberia_2_en_1_0_0_gog_15710.pkg' ARCHIVE_BASE_SYBERIA2_0_MD5='b331a2e6ddf1d8f2d127a081ef0cab69' ## TODO: ./play.it 2.32 has no support for Mac OS .pkg installers. ARCHIVE_BASE_SYBERIA2_0_EXTRACTOR='unar' ARCHIVE_BASE_SYBERIA2_0_SIZE='2620541' ARCHIVE_BASE_SYBERIA2_0_VERSION='1.0.0-gog15710' ARCHIVE_BASE_SYBERIA2_0_URL='https://www.gog.com/game/syberia_2' CONTENT_PATH_DEFAULT='payload/Contents' CONTENT_GAME_MAIN_FILES=' _CodeSignature Documents MacOS Resources Info.plist PkgInfo' APP_MAIN_SCUMMID_SYBERIA1='tetraedge:syberia' APP_MAIN_SCUMMID_SYBERIA2='tetraedge:syberia2' ## TODO: ./play.it 2.32 has no support for Mac OS ICNS icons. APP_MAIN_ICON='Resources/Icon.icns' ## Set the requirements list to extract the game icons REQUIREMENTS_LIST="${REQUIREMENTS_LIST:-} icns2png" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default ARCHIVE_INNER_PATH="${PLAYIT_WORKDIR}/gamedata/$(game_id).cpio.gz" ARCHIVE_INNER_EXTRACTOR='unar' mv "${PLAYIT_WORKDIR}/gamedata/package.pkg/Scripts" "$ARCHIVE_INNER_PATH" archive_extraction 'ARCHIVE_INNER' rm "$ARCHIVE_INNER_PATH" # Include game data ## Include the game icons icons_temporary_directory="${PLAYIT_WORKDIR}/icons" mkdir --parents "$icons_temporary_directory" icns2png --extract --output "$icons_temporary_directory" "$(icon_full_path 'APP_MAIN_ICON')" >/dev/null 2>&1 icons_include_from_directory "$(current_package)" 'APP_MAIN' "$icons_temporary_directory" rmdir "$icons_temporary_directory" content_inclusion_default # Write launchers ## Set the game language based on the current locale scummvm_id=$(application_scummvm_scummid 'APP_MAIN') game_exec_line() { cat <<- 'EOF' case "${LANG%_*}" in ('fr') scummvm_options='--language=fr' ;; ('en'|*) scummvm_options='--language=en' ;; esac EOF cat <<- EOF scummvm --path="\$PATH_GAME_DATA" \$scummvm_options "\$@" $scummvm_id EOF } launchers_generation # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-syberia-the-world-before.sh0000750000000000000000000000627714471751340016770 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Syberia: The World Before # send your bug reports to bugs@dotslashplay.it ### script_version=20241208.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='syberia-the-world-before' GAME_NAME='Syberia: The World Before' GAME_ID_DEMO="${GAME_ID}-demo" GAME_NAME_DEMO="$GAME_NAME (demo)" GAME_ID_PROLOGUE="${GAME_ID}-prologue" GAME_NAME_PROLOGUE="$GAME_NAME - Prologue" ARCHIVE_BASE_DEMO_0_NAME='setup_syberia_the_world_before_demo_1.2.1.40425_(64bit)_(56894).exe' ARCHIVE_BASE_DEMO_0_MD5='eaa885fbdf3bd94188420dbffd7469ec' ARCHIVE_BASE_DEMO_0_TYPE='innosetup' ARCHIVE_BASE_DEMO_0_PART1_NAME='setup_syberia_the_world_before_demo_1.2.1.40425_(64bit)_(56894)-1.bin' ARCHIVE_BASE_DEMO_0_PART1_MD5='cbf1ab7ffd1781e5b4ac1c81d5878827' ARCHIVE_BASE_DEMO_0_PART2_NAME='setup_syberia_the_world_before_demo_1.2.1.40425_(64bit)_(56894)-2.bin' ARCHIVE_BASE_DEMO_0_PART2_MD5='8dcfad00a0bd9a1f317c9802f2392ac8' ARCHIVE_BASE_DEMO_0_SIZE='6754521' ARCHIVE_BASE_DEMO_0_VERSION='1.2.1.40425-gog56894' ARCHIVE_BASE_DEMO_0_URL='https://www.gog.com/game/syberia_the_world_before_demo' ARCHIVE_BASE_PROLOGUE_0_NAME='setup_syberia_the_world_before_prologue_1.0_(43455).exe' ARCHIVE_BASE_PROLOGUE_0_MD5='22bd7e18e7cd06ddfbe94d262cef6cd9' ARCHIVE_BASE_PROLOGUE_0_TYPE='innosetup' ARCHIVE_BASE_PROLOGUE_0_PART1_NAME='setup_syberia_the_world_before_prologue_1.0_(43455)-1.bin' ARCHIVE_BASE_PROLOGUE_0_PART1_MD5='153581ebbcce0a4608c7b700e9f1093c' ARCHIVE_BASE_PROLOGUE_0_SIZE='3400000' ARCHIVE_BASE_PROLOGUE_0_VERSION='1.0-gog43455' UNITY3D_NAME='syberiatwb' UNITY3D_NAME_PROLOGUE='syberiatwbp' CONTENT_PATH_DEFAULT='.' WINE_DIRECT3D_RENDERER='dxvk' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/Roaming/SyberiaTWB' WINE_PERSISTENT_DIRECTORIES_PROLOGUE=' users/${USER}/AppData/Roaming/SyberiaTWBP' USER_PERSISTENT_FILES=" ${UNITY3D_NAME}_data/streamingassets/config.bin" USER_PERSISTENT_FILES_PROLOGUE=" ${UNITY3D_NAME_PROLOGUE}_data/streamingassets/config.bin" PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_ID_DEMO="${GAME_ID_DEMO}-data" PKG_DATA_ID_PROLOGUE="${GAME_ID_PROLOGUE}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-syberia-wine.sh0000755000000000000000000002166214471751340014565 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2018 Antoine Le Gonidec # SPDX-FileCopyrightText: © 2020 Igor Telmenko set -o errexit ### # Syberia series: # - Syberia 1 # - Syberia 2 # send your bug reports to bugs@dotslashplay.it ### script_version=20250807.1 PLAYIT_COMPATIBILITY_LEVEL='2.33' GAME_ID_SYBERIA1='syberia-1' GAME_NAME_SYBERIA1='Syberia' GAME_ID_SYBERIA2='syberia-2' GAME_NAME_SYBERIA2='Syberia Ⅱ' # Archives ## Syberia 1 ARCHIVE_BASE_SYBERIA1_RU_2_NAME='setup_syberia_1.0.0_hotfix4_(russian)_(53936).exe' ARCHIVE_BASE_SYBERIA1_RU_2_MD5='98308bdd7980d5d2804fed458816296c' ARCHIVE_BASE_SYBERIA1_RU_2_TYPE='innosetup' ARCHIVE_BASE_SYBERIA1_RU_2_PART1_NAME='setup_syberia_1.0.0_hotfix4_(russian)_(53936)-1.bin' ARCHIVE_BASE_SYBERIA1_RU_2_PART1_MD5='79a2c6f522d812a034f263dea9ae1fa3' ARCHIVE_BASE_SYBERIA1_RU_2_SIZE='1600000' ARCHIVE_BASE_SYBERIA1_RU_2_VERSION='1.0.0-gog53936' ARCHIVE_BASE_SYBERIA1_RU_2_URL='https://www.gog.com/game/syberia' ARCHIVE_BASE_SYBERIA1_EN_2_NAME='setup_syberia_1.0.0_hotfix4_(53936).exe' ARCHIVE_BASE_SYBERIA1_EN_2_MD5='d2a928c368926e6b5acb0007e86292c0' ARCHIVE_BASE_SYBERIA1_EN_2_TYPE='innosetup' ARCHIVE_BASE_SYBERIA1_EN_2_PART1_NAME='setup_syberia_1.0.0_hotfix4_(53936)-1.bin' ARCHIVE_BASE_SYBERIA1_EN_2_PART1_MD5='20a068f18d692deddf517bd5def14903' ARCHIVE_BASE_SYBERIA1_EN_2_SIZE='1600000' ARCHIVE_BASE_SYBERIA1_EN_2_VERSION='1.0.0-gog53936' ARCHIVE_BASE_SYBERIA1_EN_2_URL='https://www.gog.com/game/syberia' ARCHIVE_BASE_SYBERIA1_FR_2_NAME='setup_syberia_1.0.0_hotfix4_(french)_(53936).exe' ARCHIVE_BASE_SYBERIA1_FR_2_MD5='d4f6fb1f650a6e82b4456c2c1e2e2b8d' ARCHIVE_BASE_SYBERIA1_FR_2_TYPE='innosetup' ARCHIVE_BASE_SYBERIA1_FR_2_PART1_NAME='setup_syberia_1.0.0_hotfix4_(french)_(53936)-1.bin' ARCHIVE_BASE_SYBERIA1_FR_2_PART1_MD5='b8544dbc5ea5d125b224a8a1008913a7' ARCHIVE_BASE_SYBERIA1_FR_2_SIZE='1600000' ARCHIVE_BASE_SYBERIA1_FR_2_VERSION='1.0.0-gog53936' ARCHIVE_BASE_SYBERIA1_FR_2_URL='https://www.gog.com/game/syberia' ARCHIVE_BASE_SYBERIA1_RU_1_NAME='setup_syberia_russian_1.0.0_hotfix3_(18946).exe' ARCHIVE_BASE_SYBERIA1_RU_1_MD5='cdf5ac1869d57d139495a20102d5ffb4' ARCHIVE_BASE_SYBERIA1_RU_1_TYPE='innosetup' ARCHIVE_BASE_SYBERIA1_RU_1_SIZE='1600000' ARCHIVE_BASE_SYBERIA1_RU_1_VERSION='1.0.0-gog18946' ARCHIVE_BASE_SYBERIA1_EN_1_NAME='setup_syberia_1.0.0_hotfix3_(18946).exe' ARCHIVE_BASE_SYBERIA1_EN_1_MD5='53d91df35a154584812d31b9ee353cb8' ARCHIVE_BASE_SYBERIA1_EN_1_TYPE='innosetup' ARCHIVE_BASE_SYBERIA1_EN_1_SIZE='1600000' ARCHIVE_BASE_SYBERIA1_EN_1_VERSION='1.0.0-gog18946' ARCHIVE_BASE_SYBERIA1_FR_1_NAME='setup_syberia_french_1.0.0_hotfix3_(18946).exe' ARCHIVE_BASE_SYBERIA1_FR_1_MD5='41881248eefd53929bbaa97c1905a7fe' ARCHIVE_BASE_SYBERIA1_FR_1_TYPE='innosetup' ARCHIVE_BASE_SYBERIA1_FR_1_SIZE='1600000' ARCHIVE_BASE_SYBERIA1_FR_1_VERSION='1.0.0-gog18946' ARCHIVE_BASE_SYBERIA1_EN_0_NAME='setup_syberia_1.0.0_hotfix2_(17897).exe' ARCHIVE_BASE_SYBERIA1_EN_0_MD5='d52b7a776df7659d7fda9995715468a0' ARCHIVE_BASE_SYBERIA1_EN_0_TYPE='innosetup' ARCHIVE_BASE_SYBERIA1_EN_0_SIZE='1600000' ARCHIVE_BASE_SYBERIA1_EN_0_VERSION='1.0.0-gog17897' ARCHIVE_BASE_SYBERIA1_FR_0_NAME='setup_syberia_french_1.0.0_hotfix2_(17897).exe' ARCHIVE_BASE_SYBERIA1_FR_0_MD5='d8a956a47c1b186a4364eff56c8cecb6' ARCHIVE_BASE_SYBERIA1_FR_0_TYPE='innosetup' ARCHIVE_BASE_SYBERIA1_FR_0_SIZE='1600000' ARCHIVE_BASE_SYBERIA1_FR_0_VERSION='1.0.0-gog17897' # Syberia 2 ARCHIVE_BASE_SYBERIA2_EN_0_NAME='setup_syberia_2_20171109_(16283).exe' ARCHIVE_BASE_SYBERIA2_EN_0_MD5='f33e25fa29810e9ff8c6f009b7fdec3b' ARCHIVE_BASE_SYBERIA2_EN_0_TYPE='innosetup' ARCHIVE_BASE_SYBERIA2_EN_0_SIZE='1600000' ARCHIVE_BASE_SYBERIA2_EN_0_VERSION='1.0-gog16283' ARCHIVE_BASE_SYBERIA2_EN_0_URL='https://www.gog.com/game/syberia_2' ARCHIVE_BASE_SYBERIA2_FR_0_NAME='setup_syberia_2_french_20171109_(16283).exe' ARCHIVE_BASE_SYBERIA2_FR_0_MD5='e53a1ad01440837b933e935522389ab8' ARCHIVE_BASE_SYBERIA2_FR_0_TYPE='innosetup' ARCHIVE_BASE_SYBERIA2_FR_0_SIZE='1600000' ARCHIVE_BASE_SYBERIA2_FR_0_VERSION='1.0-gog16283' ARCHIVE_BASE_SYBERIA2_FR_0_URL='https://www.gog.com/game/syberia_2' # Archives content CONTENT_GAME_BIN_FILES=' dlls binkw32.dll ck2.dll ckzlib.dll dvd.dll vxmath.dll game.exe syberia.exe syberia2.exe launch/settings.ini' CONTENT_GAME_DATA_FILES=' cmo data textures video' CONTENT_DOC_L10N_FILES=' manual.pdf walkthrough.pdf readme.txt' ## Syberia 1 CONTENT_PATH_DEFAULT_SYBERIA1='.' CONTENT_PATH_DEFAULT_SYBERIA1_EN_1='app' CONTENT_PATH_DEFAULT_SYBERIA1_FR_1='app' CONTENT_PATH_DEFAULT_SYBERIA1_RU_1='app' CONTENT_PATH_DEFAULT_SYBERIA1_EN_0='app' CONTENT_PATH_DEFAULT_SYBERIA1_FR_0='app' CONTENT_GAME_L10N_FILES_SYBERIA1=' sounds splash cmo/citstation.cmo cmo/valreceptioninn.cmo data/font_syberia?.dat data/string.dat data/animations/momo/mo_tcheque.nmo video/an video/*_hansanna.syb video/*_hansannab.syb video/c1_intro.syb textures/ingame textures/valreceptioninn' ## Syberia 2 CONTENT_PATH_DEFAULT_SYBERIA2='app' CONTENT_GAME_L10N_FILES_SYBERIA2=' data/minimalres.syb data/string.dat' USER_PERSISTENT_FILES=' *.ini' WINE_PERSISTENT_DIRECTORIES_SYBERIA1=' users/${USER}/Documents/Syberia Saves' WINE_PERSISTENT_DIRECTORIES_SYBERIA2=' users/${USER}/Documents/Syberia 2 Saves' ## Work around a crash on nvidia drivers ## cf. https://bugs.winehq.org/show_bug.cgi?id=43199 ## https://bugs.winehq.org/show_bug.cgi?id=44009 WINE_REGISTRY_INIT=' [HKEY_CURRENT_USER\Software\Wine\X11 Driver] "UseXVidMode"="N"' ## Syberia 2 - Set game language. WINE_REGISTRY_INIT_SYBERIA2_EN="$WINE_REGISTRY_INIT"' [HKEY_LOCAL_MACHINE\SOFTWARE\Microids\Syberia DVD] "Language"="EN"' WINE_REGISTRY_INIT_SYBERIA2_FR="$WINE_REGISTRY_INIT"' [HKEY_LOCAL_MACHINE\SOFTWARE\Microids\Syberia DVD] "Language"="FR"' WINE_VIRTUAL_DESKTOP='auto' APP_MAIN_EXE='game.exe' APP_MAIN_ICON_SYBERIA1='syberia.exe' APP_MAIN_ICON_SYBERIA2='syberia2.exe' # Packages PACKAGES_LIST=' PKG_BIN PKG_L10N PKG_DATA' PKG_DATA_DESCRIPTION='data' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_L10N_BASE PKG_DATA' ## Syberia 1 ## Ensure easy upgrade from packages generated with pre-20210716.5 game script. PKG_BIN_PROVIDES_SYBERIA1="${PKG_BIN_PROVIDES_SYBERIA1:-} syberia" PKG_L10N_BASE_ID_SYBERIA1="${GAME_ID_SYBERIA1}-l10n" PKG_L10N_ID_SYBERIA1_RU="${PKG_L10N_BASE_ID_SYBERIA1}-ru" PKG_L10N_ID_SYBERIA1_EN="${PKG_L10N_BASE_ID_SYBERIA1}-en" PKG_L10N_ID_SYBERIA1_FR="${PKG_L10N_BASE_ID_SYBERIA1}-fr" PKG_L10N_DESCRIPTION_SYBERIA1_RU='Russian localization' PKG_L10N_DESCRIPTION_SYBERIA1_EN='English localization' PKG_L10N_DESCRIPTION_SYBERIA1_FR='French localization' PKG_L10N_PROVIDES_SYBERIA1=" $PKG_L10N_BASE_ID_SYBERIA1" ## Ensure easy upgrade from packages generated with pre-20210716.5 game script. PKG_L10N_PROVIDES_SYBERIA1="${PKG_L10N_PROVIDES_SYBERIA1:-} syberia-l10n" PKG_DATA_ID_SYBERIA1="${GAME_ID_SYBERIA1}-data" ## Ensure easy upgrade from packages generated with pre-20210716.5 game script. PKG_DATA_PROVIDES_SYBERIA1="${PKG_DATA_PROVIDES_SYBERIA1:-} syberia-data" ## Syberia 2 PKG_L10N_BASE_ID_SYBERIA2="${GAME_ID_SYBERIA2}-l10n" PKG_L10N_ID_SYBERIA2_EN="${PKG_L10N_BASE_ID_SYBERIA2}-en" PKG_L10N_ID_SYBERIA2_FR="${PKG_L10N_BASE_ID_SYBERIA2}-fr" PKG_L10N_DESCRIPTION_SYBERIA2_EN='English localization' PKG_L10N_DESCRIPTION_SYBERIA2_FR='French localization' PKG_L10N_PROVIDES_SYBERIA2=" $PKG_L10N_BASE_ID_SYBERIA2" PKG_DATA_ID_SYBERIA2="${GAME_ID_SYBERIA2}-data" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" # Syberia 1 - Create player.ini to force windowed mode # cf. https://bugs.winehq.org/show_bug.cgi?id=21796 case "$(current_archive)" in ('ARCHIVE_BASE_SYBERIA1_'*) cat > 'player.ini' <<- EOF 800 600 16 0 BaseCMO.cmo EOF ;; esac ) # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers ## Syberia 2 - Default registry entries differ based on the localisation. ## FIXME: WINE_REGISTRY_INIT has no support for contextual values. ## (./play.it 2.33.0) case "$(current_archive)" in ('ARCHIVE_BASE_SYBERIA2_'*) WINE_REGISTRY_INIT=$(context_value 'WINE_REGISTRY_INIT') # shellcheck disable=SC2218 wine_registry_script_write 'PKG_L10N' wine_registry_script_write() { return 0; } ;; esac launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-talk-to-me.sh0000750000000000000000000000331314471751340014125 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Talk to Me # send your bug reports to bugs@dotslashplay.it ### script_version=20240428.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='talk-to-me' GAME_NAME='Talk to Me' ARCHIVE_BASE_0_NAME='TalkToMe-1.02-pc.zip' ARCHIVE_BASE_0_MD5='9f7ae1c12a4c7bcb6a40aa4157205e4b' ARCHIVE_BASE_0_SIZE='410000' ARCHIVE_BASE_0_VERSION='1.02-itch1' ARCHIVE_BASE_0_URL='https://boop-studios.itch.io/talk-to-me' CONTENT_PATH_DEFAULT='TalkToMe-1.02-pc/game' CONTENT_GAME_MAIN_FILES=' cache gui archive.rpa script_version.txt' APP_MAIN_TYPE='renpy' APP_MAIN_ICON='../TalkToMe.exe' ## Ensure easy upgrades from packages generated with pre-20240428.1 game scripts. PKG_MAIN_PROVIDES="${PKG_MAIN_PROVIDES:-} talk-to-me-data" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-technobabylon.sh0000750000000000000000000000520214471751340015001 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Antoine Le Gonidec set -o errexit ### # Technobabylon # send your bug reports to bugs@dotslashplay.it ### script_version=20240915.2 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='technobabylon' GAME_NAME='Technobabylon' ARCHIVE_BASE_4_NAME='technobabylon_3_0_5_72309.sh' ARCHIVE_BASE_4_MD5='42a3d460d92a5a778d009eebd7b2b867' ARCHIVE_BASE_4_SIZE='1374766' ARCHIVE_BASE_4_VERSION='3.0.5-gog72309' ARCHIVE_BASE_4_URL='https://www.gog.com/game/technobabylon' ARCHIVE_BASE_3_NAME='technobabylon_3_0_1_66582.sh' ARCHIVE_BASE_3_MD5='6ddf6ed6e8df026f548025a90585a382' ARCHIVE_BASE_3_SIZE='1400000' ARCHIVE_BASE_3_VERSION='3.0.1-gog66582' ARCHIVE_BASE_2_NAME='technobabylon_3_0_66305.sh' ARCHIVE_BASE_2_MD5='5d522aa6349e26596e7a6e0ad3c5ff19' ARCHIVE_BASE_2_SIZE='1400000' ARCHIVE_BASE_2_VERSION='3.0-gog66305' ARCHIVE_BASE_1_NAME='technobabylon_2_5a_57810.sh' ARCHIVE_BASE_1_MD5='108abcf43ca17438717ddbad13a00f69' ARCHIVE_BASE_1_SIZE='1400000' ARCHIVE_BASE_1_VERSION='2.5a-gog57810' ARCHIVE_BASE_0_NAME='technobabylon_2_1_53388.sh' ARCHIVE_BASE_0_MD5='6bb58eccb57e2195d49266bd8798a9a1' ARCHIVE_BASE_0_SIZE='1400000' ARCHIVE_BASE_0_VERSION='2.1-gog53388' ## Optional icons pack ARCHIVE_OPTIONAL_ICONS_NAME='technobabylon_icons.tar.gz' ARCHIVE_OPTIONAL_ICONS_MD5='84a7104801c25d5e931fbdd4cc3d1916' ARCHIVE_OPTIONAL_ICONS_URL='https://downloads.dotslashplay.it/games/technobabylon/' CONTENT_ICONS_PATH='.' CONTENT_ICONS_FILES=' 64x64' CONTENT_PATH_DEFAULT='data/noarch/game' CONTENT_GAME_MAIN_FILES=' ENGV.tmp Music Sounds *.ags *.cfg *.exe *.ogv *.tra *.vox' CONTENT_DOC_MAIN_FILES=' licenses' APP_MAIN_SCUMMID='ags:technobabylon' APP_MAIN_ICON='../support/icon.png' APP_MAIN_ICON_1='Technobabylon.exe' APP_MAIN_ICON_0='Technobabylon.exe' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-teenagent.sh0000750000000000000000000000303614471751340014127 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2016 Antoine Le Gonidec set -o errexit ### # Teenagent # send your bug reports to bugs@dotslashplay.it ### script_version=20240619.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='teenagent' GAME_NAME='Teen Agent' ARCHIVE_BASE_0_NAME='setup_teenagent_1.0_(15595).exe' ARCHIVE_BASE_0_MD5='95126a8eba61b60e12535ebaa020c01b' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='32000' ARCHIVE_BASE_0_VERSION='1.0-gog15595' ARCHIVE_BASE_0_URL='https://www.gog.com/game/teenagent' CONTENT_PATH_DEFAULT='app' CONTENT_GAME_MAIN_FILES=' *.res' APP_MAIN_SCUMMID='teenagent:teenagent' APP_MAIN_ICON='goggame-1207658753.ico' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-the-book-of-unwritten-tales-1.sh0000750000000000000000000000750614471751340017576 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2017 Mopi # SPDX-FileCopyrightText: © 2017 Antoine Le Gonidec set -o errexit ### # The Book of Unwritten Tales: # - The Book of Unwritten Tales # - The Critter Chronicles # send your bug reports to bugs@dotslashplay.it ### script_version=20240827.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='the-book-of-unwritten-tales-1' GAME_NAME='The Book of Unwritten Tales' GAME_ID_CRITTER="${GAME_ID}-the-critter-chronicles" GAME_NAME_CRITTER="${GAME_NAME}: The Critter Chronicles" # Archives ## The Book of Unwritten Tales (main game) ARCHIVE_BASE_0_NAME='setup_book_of_unwritten_tales_2.0.0.4.exe' ARCHIVE_BASE_0_MD5='984e8f16cc04a2a27aea8b0d7ada1c1e' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_book_of_unwritten_tales_2.0.0.4-1.bin' ARCHIVE_BASE_0_PART1_MD5='4ea0eccb7ca2f77c301e79412ff1e214' ARCHIVE_BASE_0_PART2_NAME='setup_book_of_unwritten_tales_2.0.0.4-2.bin' ARCHIVE_BASE_0_PART2_MD5='95e52d38b6c1548ac311284c539a4c52' ARCHIVE_BASE_0_PART3_NAME='setup_book_of_unwritten_tales_2.0.0.4-3.bin' ARCHIVE_BASE_0_PART3_MD5='7290d78ecbec866e46401e4c9d3549cf' ARCHIVE_BASE_0_SIZE='5900000' ARCHIVE_BASE_0_VERSION='1.0-gog2.0.0.4' ARCHIVE_BASE_0_URL='https://www.gog.com/game/the_book_of_unwritten_tales' ## The Critter Chronicles ARCHIVE_BASE_CRITTER_0_NAME='setup_book_of_unwritten_tales_critter_chronicles_2.1.0.10.exe' ARCHIVE_BASE_CRITTER_0_MD5='eed5cd99d36e5900d0fd5775d0466c22' ARCHIVE_BASE_CRITTER_0_TYPE='innosetup' ARCHIVE_BASE_CRITTER_0_SIZE='2800000' ARCHIVE_BASE_CRITTER_0_VERSION='1.0-gog2.1.0.10' ARCHIVE_BASE_CRITTER_0_URL='https://www.gog.com/game/the_book_of_unwritten_tales_critter_chronicles' CONTENT_PATH_DEFAULT='app' CONTENT_GAME_BIN_FILES=' plugins.cfg resources.cfg alut.dll cg.dll libogg.dll libtheora.dll libtheoraplayer.dll libvorbis.dll libvorbisfile.dll lua5.1.dll lua51.dll ogremain.dll ois.dll particleuniverse.dll plugin_cgprogrammanager.dll rendersystem_direct3d9.dll bout.exe critterchronicles.exe' CONTENT_GAME_L10N_FILES=' kagedata/lang' CONTENT_GAME_DATA_FILES=' data kagedata kapedata exportedfunctions.lua config.xml' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/My Documents/Book of Unwritten Tales/savegames' WINE_PERSISTENT_DIRECTORIES_CRITTER=' users/${USER}/My Documents/Unwritten Tales - Critter Chronicles/savegames' ## Work around some texture display problems ## TODO: Check if the texture display failures still happen with current WINE builds ## The game will not start unless OpenAL32.dll is available WINE_WINETRICKS_VERBS='d3dcompiler_47 openal' APP_MAIN_EXE='bout.exe' APP_MAIN_EXE_CRITTER='critterchronicles.exe' PACKAGES_LIST=' PKG_BIN PKG_L10N PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_L10N PKG_DATA' PKG_L10N_ID="${GAME_ID}-l10n-en" PKG_L10N_ID_CRITTER="${GAME_ID_CRITTER}-l10n-en" PKG_L10N_DESCRIPTION='English localization' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_ID_CRITTER="${GAME_ID_CRITTER}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-the-book-of-unwritten-tales-2.sh0000750000000000000000000000546214471751340017576 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # The Book of Unwritten Tales 2 # send your bug reports to bugs@dotslashplay.it ### script_version=20240827.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='the-book-of-unwritten-tales-2' GAME_NAME='The Book of Unwritten Tales 2' ARCHIVE_BASE_0_NAME='gog_the_book_of_unwritten_tales_2_2.0.0.2.sh' ARCHIVE_BASE_0_MD5='f2b0ca23d7bfc1f7e22fa6f990fc527c' ARCHIVE_BASE_0_SIZE='12266158' ARCHIVE_BASE_0_VERSION='1.0-gog2.0.0.2' ARCHIVE_BASE_0_URL='https://www.gog.com/game/the_book_of_unwritten_tales_2_almanac_edition' UNITY3D_NAME='BouT2' UNITY3D_PLUGINS=' ScreenSelector.so' CONTENT_PATH_DEFAULT='data/noarch/game' CONTENT_GAME_SCENES_FILES=" data/episode_0?/Scenes" CONTENT_GAME0_DATA_FILES=' data qt.conf' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_SCENES PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_SCENES PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libatk-1.0.so.0 libcairo.so.2 libc.so.6 libdl.so.2 libfontconfig.so.1 libfreetype.so.6 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libgdk-x11-2.0.so.0 libgio-2.0.so.0 libglib-2.0.so.0 libgmodule-2.0.so.0 libgobject-2.0.so.0 libgthread-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpango-1.0.so.0 libpangocairo-1.0.so.0 libpangoft2-1.0.so.0 libpthread.so.0 librt.so.1 libstdc++.so.6' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_SCENES_ID="${GAME_ID}-scenes" PKG_SCENES_DESCRIPTION='scenes' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Work around the non-standard paths for a Unity3D game unity3d_name() { printf 'Linux/' context_value 'UNITY3D_NAME' } # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-the-dark-eye-chains-of-satinav.sh0000750000000000000000000000422214471751340017742 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2016 Mopi # SPDX-FileCopyrightText: © 2017 Antoine Le Gonidec set -o errexit ### # The Dark Eye: Chains of Satinav # send your bug reports to bugs@dotslashplay.it ### script_version=20250110.4 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='the-dark-eye-chains-of-satinav' GAME_NAME='The Dark Eye: Chains of Satinav' ARCHIVE_BASE_1_NAME='the_dark_eye_chains_of_satinav_3_0_351_5509_79138.sh' ARCHIVE_BASE_1_MD5='4e7b0723a18d57154279808f230d6523' ARCHIVE_BASE_1_SIZE='2449354' ARCHIVE_BASE_1_VERSION='3.0.351.5509-gog79138' ARCHIVE_BASE_1_URL='https://www.gog.com/game/the_dark_eye_chains_of_satinav' ARCHIVE_BASE_0_NAME='the_dark_eye_chains_of_satinav_3_0_351_5499_78872.sh' ARCHIVE_BASE_0_MD5='56fb3b52b8bfa983bf983c9a77d0901c' ARCHIVE_BASE_0_SIZE='2449352' ARCHIVE_BASE_0_VERSION='3.0.351.5499-gog78872' VISIONAIRE_NAME='satinav' CONTENT_PATH_DEFAULT='data/noarch/game' ## The shipped build of OpenAL must be used, to avoid a missing symbol error: ## symbol lookup error: ./satinav: undefined symbol: SelectResampler CONTENT_LIBS0_BIN_RELATIVE_PATH='libs64' CONTENT_LIBS0_BIN_FILES=' libopenal.so' APP_MAIN_ICON='../support/icon.png' PKG_BIN_ARCH='64' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-the-dark-eye-memoria.sh0000750000000000000000000000601514471751340016063 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2016 Mopi # SPDX-FileCopyrightText: © 2017 Antoine Le Gonidec set -o errexit ### # The Dark Eye: Memoria # send your bug reports to bugs@dotslashplay.it ### script_version=20240827.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='the-dark-eye-memoria' GAME_NAME='The Dark Eye: Memoria' ARCHIVE_BASE_1_NAME='setup_memoria_1.2.3.0341_(18923).exe' ARCHIVE_BASE_1_MD5='b939d4aa2aabf2bac1d527609e76ed0f' ARCHIVE_BASE_1_TYPE='innosetup' ARCHIVE_BASE_1_PART1_NAME='setup_memoria_1.2.3.0341_(18923)-1.bin' ARCHIVE_BASE_1_PART1_MD5='3067662d212dfb297106a24ffd474cbd' ARCHIVE_BASE_1_PART2_NAME='setup_memoria_1.2.3.0341_(18923)-2.bin' ARCHIVE_BASE_1_PART2_MD5='24ff575f72e8b05b529aaaef99372090' ARCHIVE_BASE_1_PART3_NAME='setup_memoria_1.2.3.0341_(18923)-3.bin' ARCHIVE_BASE_1_PART3_MD5='88a98736110a7a59633a5bec12411f22' ARCHIVE_BASE_1_SIZE='9100000' ARCHIVE_BASE_1_VERSION='1.2.3.0341-gog18923' ARCHIVE_BASE_1_URL='https://www.gog.com/game/memoria' ARCHIVE_BASE_0_NAME='setup_memoria_2.0.0.3.exe' ARCHIVE_BASE_0_MD5='847c7b5e27a287d6e0e17e63bfb14fff' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_memoria_2.0.0.3-1.bin' ARCHIVE_BASE_0_PART1_MD5='e656464607e4d8599d599ed5b6b29fca' ARCHIVE_BASE_0_PART2_NAME='setup_memoria_2.0.0.3-2.bin' ARCHIVE_BASE_0_PART2_MD5='593d57e8022c65660394c5bc5a333fe8' ARCHIVE_BASE_0_PART3_NAME='setup_memoria_2.0.0.3-3.bin' ARCHIVE_BASE_0_PART3_MD5='0f8ef0abab77f3885aa4f8f9e58611eb' ARCHIVE_BASE_0_PART4_NAME='setup_memoria_2.0.0.3-4.bin' ARCHIVE_BASE_0_PART4_MD5='0935149a66284bdc13659beafed2575f' ARCHIVE_BASE_0_PART5_NAME='setup_memoria_2.0.0.3-5.bin' ARCHIVE_BASE_0_PART5_MD5='5b85fb7fcb51599ee89b5d7371b87ee2' ARCHIVE_BASE_0_PART6_NAME='setup_memoria_2.0.0.3-6.bin' ARCHIVE_BASE_0_PART6_MD5='c8712354bbd093b706f551e75b549061' ARCHIVE_BASE_0_SIZE='9100000' ARCHIVE_BASE_0_VERSION='1.1.3.0336-gog2.0.0.3' VISIONAIRE_NAME='memoria' CONTENT_PATH_DEFAULT='app' CONTENT_GAME0_BIN_PATH='app/__support/app' CONTENT_GAME0_BIN_FILES=' config.ini' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/Local Settings/Application Data/Daedalic Entertainment/Memoria' PKG_BIN_ARCH='32' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-the-darkside-detective.sh0000750000000000000000000000410114471751340016465 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2022 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # The Darkside Detective # send your bug reports to bugs@dotslashplay.it ### script_version=20241112.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='the-darkside-detective' GAME_NAME='The Darkside Detective' ARCHIVE_BASE_0_NAME='the_darkside_detective_2_3_0_1448r_49520.sh' ARCHIVE_BASE_0_MD5='df6e6205d0d4fc64fc46f5be68f1afce' ARCHIVE_BASE_0_SIZE='1108998' ARCHIVE_BASE_0_VERSION='2.3.0.1448r-gog49520' ARCHIVE_BASE_0_URL='https://www.gog.com/game/the_darkside_detective' UNITY3D_NAME='thedarksidedetective' ## TODO: Check if the Stadia libraries could be dropped UNITY3D_PLUGINS=' libunitystadia.so libunitystadia_preview.so' CONTENT_PATH_DEFAULT='data/noarch/game' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc++abi.so.1 libc.so.6 libdl.so.2 libgcc_s.so.1 libggp.so libm.so.6 libpthread.so.0 libpulse.so.0 librt.so.1 libvulkan.so.1 libz.so.1' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-the-difference-between-us.sh0000750000000000000000000001175114471751340017104 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # The Difference Between Us # send your bug reports to bugs@dotslashplay.it ### script_version=20240428.3 PLAYIT_COMPATIBILITY_LEVEL='2.28' GAME_ID='the-difference-between-us' GAME_NAME='The Difference Between Us' ARCHIVE_BASE_0_NAME='The-Difference-Between-Us-linux.tar.bz2' ARCHIVE_BASE_0_MD5='7888797ccda89452a2543ba35c46083c' ARCHIVE_BASE_0_SIZE='64000' ARCHIVE_BASE_0_VERSION='1.0-itch' ARCHIVE_BASE_0_URL='https://robindaydream.itch.io/the-difference-between-us' CONTENT_PATH_DEFAULT='The-Difference-Between-Us-linux' CONTENT_LIBS_BIN_FILES=' libavcodec.so.57 libavformat.so.57 libavresample.so.3 libavutil.so.55 libGLEW.so.1.7 libpython2.7.so.1.0 libswresample.so.2 libswscale.so.4' ## libpng12.so.0 is not only a dependency of the shipped SDL2 build, ## it is actually required to prevent a crash on launch. CONTENT_LIBS_BIN_FILES="${CONTENT_LIBS_BIN_FILES:-} libpng12.so.0" CONTENT_LIBS_BIN64_PATH="${CONTENT_PATH_DEFAULT}/lib/linux-x86_64" CONTENT_LIBS_BIN64_FILES="$CONTENT_LIBS_BIN_FILES" CONTENT_LIBS_BIN32_PATH="${CONTENT_PATH_DEFAULT}/lib/linux-i686" CONTENT_LIBS_BIN32_FILES="$CONTENT_LIBS_BIN_FILES" CONTENT_GAME_BIN64_FILES=' lib/linux-x86_64/eggs lib/linux-x86_64/lib lib/linux-x86_64/python lib/linux-x86_64/pythonw lib/linux-x86_64/zsync lib/linux-x86_64/zsyncmake lib/linux-x86_64/The-Difference-Between-Us' CONTENT_GAME_BIN32_FILES=' lib/linux-i686/eggs lib/linux-i686/lib lib/linux-i686/python lib/linux-i686/pythonw lib/linux-i686/zsync lib/linux-i686/zsyncmake lib/linux-i686/The-Difference-Between-Us' CONTENT_GAME_DATA_FILES=' game renpy lib/pythonlib2.7 The-Difference-Between-Us.py' CONTENT_DOC_DATA_FILES=' README.html' ## Using system-provided renpy (8.2.1) triggers an early crash, with the following trace: ## ## Full traceback: ## File "script.rpyc", line 197, in script ## File "/usr/share/games/renpy/renpy/ast.py", line 615, in execute ## renpy.exports.say(who, what, *args, **kwargs) ## File "/usr/share/games/renpy/renpy/exports.py", line 1493, in say ## who(what, *args, **kwargs) ## File "/usr/share/games/renpy/renpy/character.py", line 1394, in __call__ ## self.do_display(who, what, cb_args=self.cb_args, dtt=dtt, **display_args) ## File "/usr/share/games/renpy/renpy/character.py", line 1045, in do_display ## display_say(who, ## File "/usr/share/games/renpy/renpy/character.py", line 686, in display_say ## what_text = renpy.display.screen.get_widget(what_text[0], what_text[1], what_text[2]) ## File "/usr/share/games/renpy/renpy/display/screen.py", line 1534, in get_displayable ## screen.update() ## File "/usr/share/games/renpy/renpy/display/screen.py", line 697, in update ## self.screen.function(**self.scope) ## File "game/screens.rpy", line 13, in execute ## File "game/screens.rpy", line 13, in execute ## File "game/screens.rpy", line 58, in execute ## File "game/screens.rpy", line 592, in execute ## File "game/screens.rpy", line 592, in execute ## File "/usr/share/games/renpy/renpy/sl2/slast.py", line 2650, in execute ## self.const_ast.keywords(context) ## AttributeError: 'NoneType' object has no attribute 'keywords' APP_MAIN_EXE_BIN64='lib/linux-x86_64/The-Difference-Between-Us' APP_MAIN_EXE_BIN32='lib/linux-i686/The-Difference-Between-Us' APP_MAIN_OPTIONS='-EO The-Difference-Between-Us.py' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPS="$PKG_DATA_ID" PKG_BIN64_DEPS="$PKG_BIN_DEPS" PKG_BIN32_DEPS="$PKG_BIN_DEPS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libGL.so.1 libGLU.so.1 libm.so.6 libpthread.so.0 librt.so.1 libSDL2-2.0.so.0 libSDL2_image-2.0.so.0 libSDL2_ttf-2.0.so.0 libutil.so.1 libX11.so.6 libXext.so.6 libXi.so.6 libXmu.so.6 libz.so.1' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_default # Write launchers ## Use the default Ren'Py icon, instead of a generic icon. desktop_field_icon() { printf 'renpy' } launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-the-dig.sh0000750000000000000000000000522614471751340013501 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Sébastien “Elzen” Dufromentel # SPDX-FileCopyrightText: © 2020 Antoine Le Gonidec set -o errexit ### # The Dig # send your bug reports to bugs@dotslashplay.it ### script_version=20240605.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='the-dig' GAME_NAME='The Dig' ARCHIVE_BASE_EN_0_NAME='the_dig_en_gog_2_20100.sh' ARCHIVE_BASE_EN_0_MD5='0fd830de17757f78dc9865dd7c06c785' ARCHIVE_BASE_EN_0_SIZE='760000' ARCHIVE_BASE_EN_0_VERSION='1.0-gog20100' ARCHIVE_BASE_EN_0_URL='https://www.gog.com/game/the_dig' ARCHIVE_BASE_FR_0_NAME='the_dig_fr_gog_2_20100.sh' ARCHIVE_BASE_FR_0_MD5='b4c2b87f0305a82bb0fa805b01b014f1' ARCHIVE_BASE_FR_0_SIZE='760000' ARCHIVE_BASE_FR_0_VERSION='1.0-gog20100' ARCHIVE_BASE_FR_0_URL='https://www.gog.com/game/the_dig' CONTENT_PATH_DEFAULT='data/noarch/data' CONTENT_GAME_L10N_FILES=' language.bnd digvoice.bun video/sq1.san video/sq2.san video/sq3.san video/sq4.san video/sq8a.san video/sq8b.san video/sq8c.san video/sq9.san video/sq14sc14.san video/sq14sc22.san video/sq17.san video/sq18b.san video/sq18sc15.san video/digtxt.trs' CONTENT_GAME_MAIN_FILES=' video digmusic.bun dig.la0 dig.la1' CONTENT_DOC_L10N_PATH_EN='data/noarch/docs/english' CONTENT_DOC_L10N_PATH_FR='data/noarch/docs/french' CONTENT_DOC_L10N_FILES=' *.pdf' APP_MAIN_SCUMMID='scumm:dig' APP_MAIN_ICON='../support/icon.png' PACKAGES_LIST=' PKG_L10N PKG_MAIN' PKG_L10N_ID="${GAME_ID}-l10n" PKG_L10N_ID_EN="${PKG_L10N_ID}-en" PKG_L10N_ID_FR="${PKG_L10N_ID}-fr" PKG_L10N_PROVIDES=" $PKG_L10N_ID" PKG_L10N_DESCRIPTION_EN='English localization' PKG_L10N_DESCRIPTION_FR='French localization' PKG_MAIN_DEPS="$PKG_L10N_ID" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" ## Convert all file paths to lowercase. tolower . ) # Include game data content_inclusion_icons 'PKG_MAIN' content_inclusion_default # Write launchers launchers_generation 'PKG_MAIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-the-dream-machine.sh0000750000000000000000000000437114471751340015430 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # The Dream Machine # send your bug reports to bugs@dotslashplay.it ### script_version=20241218.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='the-dream-machine' GAME_NAME='The Dream Machine' ARCHIVE_BASE_1_NAME='setup_the_dream_machine_1.0.6_(52258).exe' ARCHIVE_BASE_1_MD5='74df25d3c3f2669c8b95db87a0f00a11' ARCHIVE_BASE_1_TYPE='innosetup' ARCHIVE_BASE_1_SIZE='1117856' ARCHIVE_BASE_1_VERSION='1.0.6-gog52258' ARCHIVE_BASE_1_URL='https://www.gog.com/game/the_dream_machine' ARCHIVE_BASE_0_NAME='setup_the_dream_machine_1.0.2_(38172).exe' ARCHIVE_BASE_0_MD5='7b2bdaf4bcddfaafeea2e8d2ed66f21a' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='1100000' ARCHIVE_BASE_0_VERSION='1.0.2-gog38172' CONTENT_PATH_DEFAULT='.' CONTENT_GAME_BIN_FILES=' the_dream_machine.exe' CONTENT_GAME_DATA_FILES=' assets gameassets.swf gameasset_floors.swf gameasset_fonts.swf gameasset_sounds.swf launcher.txt tdm*' USER_PERSISTENT_DIRECTORIES=' savegames' APP_MAIN_EXE='the_dream_machine.exe' APP_MAIN_ICON='app/goggame-1281766827.ico' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-the-excavation-of-hobs-barrow.sh0000750000000000000000000000336314471751340017724 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Antoine Le Gonidec set -o errexit ### # The Excavation of Hob's Barrow # send your bug reports to bugs@dotslashplay.it ### script_version=20240717.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='the-excavation-of-hobs-barrow' GAME_NAME='The Excavation of Hobʼs Barrow' ARCHIVE_BASE_0_NAME='the_excavation_of_hob_s_barrow_1_05_59783.sh' ARCHIVE_BASE_0_MD5='4282957f61e4cbea9c333bc99e56660a' ARCHIVE_BASE_0_SIZE='1170195' ARCHIVE_BASE_0_VERSION='1.05-gog59783' ARCHIVE_BASE_0_URL='https://www.gog.com/game/the_excavation_of_hobs_barrow' CONTENT_PATH_DEFAULT='data/noarch/game' CONTENT_GAME_MAIN_FILES=' *.cfg *.exe *.vox' APP_MAIN_SCUMMID='ags:excavationhb' APP_MAIN_ICON='TEOHB.exe' ## Prevent conflicts with packages generated with pre-20230926.2 game scripts. PKG_MAIN_PROVIDES=' the-excavation-of-hobs-barrow-common' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-the-first-tree.sh0000750000000000000000000000460214471751340015017 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2019 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # The First Tree # send your bug reports to bugs@dotslashplay.it ### script_version=20240915.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='the-first-tree' GAME_NAME='The First Tree' ARCHIVE_BASE_GOG_0_NAME='the_first_tree_gog_1_25523.sh' ARCHIVE_BASE_GOG_0_MD5='592127bcff79704927e9f3f5180ba044' ARCHIVE_BASE_GOG_0_SIZE='2400000' ARCHIVE_BASE_GOG_0_VERSION='1.0-gog25523' ARCHIVE_BASE_GOG_0_URL='https://www.gog.com/game/the_first_tree' ## This DRM-free archive is no longer available for sale from humblebundle.com. ARCHIVE_BASE_HUMBLE_0_NAME='thefirsttree_linux.zip' ARCHIVE_BASE_HUMBLE_0_MD5='987d328cb77670a4a43d7ea25f38cd99' ARCHIVE_BASE_HUMBLE_0_SIZE='2400000' ARCHIVE_BASE_HUMBLE_0_VERSION='1.0-humble1' UNITY3D_NAME='TheFirstTree' UNITY3D_PLUGINS=' ScreenSelector.so' ## The game does not start if the CSteamworks library is not provided. UNITY3D_PLUGINS="${UNITY3D_PLUGINS:-} libCSteamworks.so libsteam_api.so" CONTENT_PATH_DEFAULT_GOG='data/noarch/game' CONTENT_PATH_DEFAULT_HUMBLE='The First Tree' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libz.so.1' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-the-inner-world-1.sh0000750000000000000000000000465214471751340015336 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2020 Antoine Le Gonidec set -o errexit ### # The Inner World # send your bug reports to bugs@dotslashplay.it ### script_version=20240828.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='the-inner-world-1' GAME_NAME='The Inner World' ARCHIVE_BASE_1_NAME='setup_the_inner_world_1.2.1_(26675).exe' ARCHIVE_BASE_1_MD5='2379e9c64c4fe06d6892474637aa405b' ARCHIVE_BASE_1_TYPE='innosetup' ARCHIVE_BASE_1_SIZE='1500000' ARCHIVE_BASE_1_VERSION='1.2.1-gog26675' ARCHIVE_BASE_1_URL='https://www.gog.com/game/the_inner_world' ARCHIVE_BASE_0_NAME='setup_the_inner_world_2.0.0.2.exe' ARCHIVE_BASE_0_MD5='b5778aa9770ba7fc7d1a3884154c136b' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='1500000' ARCHIVE_BASE_0_VERSION='1.2.1-gog2.0.0.2' CONTENT_PATH_DEFAULT='.' CONTENT_PATH_DEFAULT_0='app' CONTENT_GAME_BIN_FILES=' adobe air meta-inf mimetype *.exe *.swf' CONTENT_GAME_DATA_FILES=' media *.url' CONTENT_DOC_DATA_FILES=' *.rtf' USER_PERSISTENT_DIRECTORIES=' users/${USER}/Documents/TheInnerWorld' APP_MAIN_EXE='theinnerworld.exe' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' ## Ensure easy upgrades from packages generated with pre-20240430.1 game scripts. PKG_BIN_PROVIDES="${PKG_BIN_PROVIDES:-} the-inner-world" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' ## Ensure easy upgrades from packages generated with pre-20240430.1 game scripts. PKG_DATA_PROVIDES="${PKG_DATA_PROVIDES:-} the-inner-world-data" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-the-inner-world-2.sh0000750000000000000000000000453214471751340015334 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # The Inner World: The Last Wind Monk # send your bug reports to bugs@dotslashplay.it ### script_version=20240828.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='the-inner-world-2' GAME_NAME='The Inner World: The Last Wind Monk' ARCHIVE_BASE_0_NAME='inner_world_the_last_wind_monk_en_20171018_15808.sh' ARCHIVE_BASE_0_MD5='7373055172ebbec6f3bd7349e58c43c4' ARCHIVE_BASE_0_SIZE='3993648' ARCHIVE_BASE_0_VERSION='2017.10.18-gog15808' ARCHIVE_BASE_0_URL='https://www.gog.com/game/the_inner_world_the_last_wind_monk' UNITY3D_NAME='The Last Wind Monk' UNITY3D_PLUGINS=' ScreenSelector.so' CONTENT_PATH_DEFAULT='data/noarch/game' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libGL.so.1 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libX11.so.6 libXcursor.so.1 libXrandr.so.2 libz.so.1' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-the-interactive-adventures-of-dog-mendonca-and-pizzaboy.sh0000750000000000000000000000454314471751340024772 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # The Interactive Adventures of Dog Mendonça and Pizzaboy # send your bug reports to bugs@dotslashplay.it ### script_version=20240829.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='the-interactive-adventures-of-dog-mendonca-and-pizzaboy' GAME_NAME='The Interactive Adventures of Dog Mendonça and Pizzaboy' ARCHIVE_BASE_0_NAME='gog_the_interactive_adventures_of_dog_mendon_a_and_pizzaboy_2.0.0.1.sh' ARCHIVE_BASE_0_MD5='88c5bb7a410fbf2eb0cc124c3ce06fa0' ARCHIVE_BASE_0_SIZE='496599' ARCHIVE_BASE_0_VERSION='1.0-gog2.0.0.1' ARCHIVE_BASE_0_URL='https://www.gog.com/game/the_interactive_adventures_of_dog_mendonca_and_pizzaboy' CONTENT_PATH_DEFAULT='data/noarch/game' CONTENT_GAME_BIN64_FILES=' godot.x11.opt.64' CONTENT_GAME_BIN32_FILES=' godot.x11.opt.32' CONTENT_GAME_DATA_FILES=' data.pck' APP_MAIN_EXE_BIN64='godot.x11.opt.64' APP_MAIN_EXE_BIN32='godot.x11.opt.32' APP_MAIN_ICON='../support/icon.png' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" ## No dependencies on native libraries are set, as this game ships static binaries only PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-the-lions-song.sh0000750000000000000000000000420314471751340015020 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # The Lion's Song # send your bug reports to bugs@dotslashplay.it ### script_version=20240915.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='the-lions-song' GAME_NAME='The Lion’s Song' ARCHIVE_BASE_0_NAME='the_lion_s_song_0_7_35794.sh' ARCHIVE_BASE_0_MD5='bc86daa55b3afd2714bafce8e5bed230' ARCHIVE_BASE_0_SIZE='360000' ARCHIVE_BASE_0_VERSION='0.7-gog35794' ARCHIVE_BASE_0_URL='https://www.gog.com/game/the_lions_song' CONTENT_PATH_DEFAULT='data/noarch/game/GameData' CONTENT_GAME_BIN_FILES=' engine.cfg TLS' CONTENT_GAME_DATA_FILES=' Assets LZ4_license.txt Vollkorn_SILOpenFontLicensev1_10.txt *.base *.bundle *.header *.universe *.world *.it *.en *.es *.fr *.ru' APP_MAIN_EXE='TLS' APP_MAIN_ICON='../../support/icon.png' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libcurl.so.4 libdl.so.2 libgcc_s.so.1 libGL.so.1 libm.so.6 libopenal.so.1 libpthread.so.0 librt.so.1 libstdc++.so.6 libuuid.so.1 libX11.so.6 libXcursor.so.1 libXinerama.so.1 libXrandr.so.2 libz.so.1' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-the-little-acre.sh0000750000000000000000000000420514471751340015137 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2017 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # The Little Acre # send your bug reports to bugs@dotslashplay.it ### script_version=20241127.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='the-little-acre' GAME_NAME='The Little Acre' ARCHIVE_BASE_0_NAME='the_little_acre_en_gog_3_14723.sh' ARCHIVE_BASE_0_MD5='ef9dc3c9600bee4dbf64b29d46b718c6' ARCHIVE_BASE_0_SIZE='2946810' ARCHIVE_BASE_0_VERSION='3-gog14723' ARCHIVE_BASE_0_URL='https://www.gog.com/game/the_little_acre' UNITY3D_NAME='TheLittleAcre' UNITY3D_PLUGINS=' ScreenSelector.so' ## TODO: Check if the Steam libraries are required UNITY3D_PLUGINS="$UNITY3D_PLUGINS libCSteamworks.so libsteam_api.so" CONTENT_PATH_DEFAULT='data/noarch/game' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libGL.so.1 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libX11.so.6 libXcursor.so.1 libXrandr.so.2' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-the-longest-journey.sh0000750000000000000000000000455714471751340016110 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2017 Mopi # SPDX-FileCopyrightText: © 2018 Antoine Le Gonidec set -o errexit ### # The Longest Journey # send your bug reports to bugs@dotslashplay.it ### script_version=20240829.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='the-longest-journey' GAME_NAME='The Longest Journey' ARCHIVE_BASE_1_NAME='setup_the_longest_journey_142_lang_update_(24607).exe' ARCHIVE_BASE_1_MD5='540b2e016ab90dd509c53fc7df4397fd' ARCHIVE_BASE_1_TYPE='innosetup' ARCHIVE_BASE_1_PART1_NAME='setup_the_longest_journey_142_lang_update_(24607)-1.bin' ARCHIVE_BASE_1_PART1_MD5='efb1cd664b1cbbd29d0e641ad2f81e05' ARCHIVE_BASE_1_SIZE='1900000' ARCHIVE_BASE_1_VERSION='142-gog24607' ARCHIVE_BASE_1_URL='https://www.gog.com/game/the_longest_journey' ARCHIVE_BASE_0_NAME='setup_the_longest_journey_2.0.0.12.exe' ARCHIVE_BASE_0_MD5='89b3cae144856579ed5fee10ecc76154' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='1900000' ARCHIVE_BASE_0_VERSION='142-gog2.0.0.12' CONTENT_PATH_DEFAULT='.' CONTENT_PATH_DEFAULT_0='app' ## TODO: The "??" glob is a bit confusing, and should be replaced by an explicit list CONTENT_GAME_MAIN_FILES=' global static fonts x.xarc game.exe ?? *.ini' CONTENT_DOC_MAIN_FILES=' tlj_faq_files *.txt *.pdf *.html' APP_MAIN_SCUMMID='stark:tlj' APP_MAIN_ICON='game.exe' ## Ensure easy upgrade from packages built with pre-20230908.1 game script PKG_MAIN_PROVIDES="${PKG_MAIN_PROVIDES:-} the-longest-journey-data the-longest-journey-scummvm the-longest-journey-wine" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-the-longing.sh0000750000000000000000000000517014471751340014371 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Antoine Le Gonidec set -o errexit ### # The Longing # send your bug reports to bugs@dotslashplay.it ### script_version=20250515.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='the-longing' GAME_NAME='The Longing' ARCHIVE_BASE_0_NAME='the_longing_1_6_1_57129.sh' ARCHIVE_BASE_0_MD5='cb579de1e72469df601fe8199ba2db4c' ARCHIVE_BASE_0_SIZE='2200000' ARCHIVE_BASE_0_VERSION='1.6.1-gog57129' ARCHIVE_BASE_0_URL='https://www.gog.com/game/the_longing' ARCHIVE_BASE_MULTIARCH_0_NAME='the_longing_1_0_7_38629.sh' ARCHIVE_BASE_MULTIARCH_0_MD5='98729196edafd2a223a5425f7de70c02' ARCHIVE_BASE_MULTIARCH_0_SIZE='5500000' ARCHIVE_BASE_MULTIARCH_0_VERSION='1.0.7-gog38629' UNITY3D_NAME='The Longing' UNITY3D_PLUGINS=' ScreenSelector.so' CONTENT_PATH_DEFAULT='data/noarch/game' PACKAGES_LIST=' PKG_BIN PKG_DATA' PACKAGES_LIST_MULTIARCH=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libz.so.1' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers case "$(current_archive)" in ('ARCHIVE_BASE_MULTIARCH_'*) launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' ;; (*) launchers_generation 'PKG_BIN' ;; esac # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-the-night-fisherman.sh0000750000000000000000000000337614471751340016025 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # The Night Fisherman # send your bug reports to bugs@dotslashplay.it ### script_version=20250515.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='the-night-fisherman' GAME_NAME='The Night Fisherman' ARCHIVE_BASE_0_NAME='The Night Fisherman WIN.zip' ARCHIVE_BASE_0_MD5='b7df1ae2b6665229870c2f8610ccd2c9' ARCHIVE_BASE_0_SIZE='300000' ARCHIVE_BASE_0_VERSION='1.0-itch1' ARCHIVE_BASE_0_URL='https://farfewgiants.itch.io/night-fisherman' UNITY3D_NAME='The Night Fisherman' CONTENT_PATH_DEFAULT='The Night Fisherman WIN' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-the-night-of-the-rabbit.sh0000750000000000000000000000411114471751340016460 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2017 Mopi # SPDX-FileCopyrightText: © 2017 Antoine Le Gonidec set -o errexit ### # The Night of the Rabbit # send your bug reports to bugs@dotslashplay.it ### script_version=20250114.2 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='the-night-of-the-rabbit' GAME_NAME='The Night of the Rabbit' ARCHIVE_BASE_0_NAME='the_night_of_the_rabbit_2_2_325_79210.sh' ARCHIVE_BASE_0_MD5='0130548d6da5db0fee91521e25169066' ARCHIVE_BASE_0_SIZE='3217360' ARCHIVE_BASE_0_VERSION='2.2.325-gog79210' ARCHIVE_BASE_0_URL='https://www.gog.com/game/the_night_of_the_rabbit' VISIONAIRE_NAME='rabbit' CONTENT_PATH_DEFAULT='data/noarch/game' ## The shipped build of OpenAL must be used, to avoid a missing symbol error: ## symbol lookup error: ./satinav: undefined symbol: SelectResampler CONTENT_LIBS0_BIN_RELATIVE_PATH='libs64' CONTENT_LIBS0_BIN_FILES=' libopenal.so' APP_MAIN_ICON='../support/icon.png' PKG_BIN_ARCH='64' ## Ensure easy upgrades from packages generated with pre-20240901.2 scripts PKG_DATA_PROVIDES="${PKG_DATA_PROVIDES:-} the-night-of-the-rabbit-scenes the-night-of-the-rabbit-videos" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-the-pillars-of-the-earth.sh0000750000000000000000000000562514471751340016670 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2019 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # The Pillars of the Earth # send your bug reports to bugs@dotslashplay.it ### script_version=20240915.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='the-pillars-of-the-earth' GAME_NAME='The Pillars of the Earth' ARCHIVE_BASE_0_NAME='the_pillars_of_the_earth_en_1_1_703_19574.sh' ARCHIVE_BASE_0_MD5='1976e6d4476e3d9867aef13176581f58' ARCHIVE_BASE_0_SIZE='12000000' ARCHIVE_BASE_0_VERSION='1.1.703-gog19574' ARCHIVE_BASE_0_URL='https://www.gog.com/game/ken_folletts_the_pillars_of_the_earth_season_pass' VISIONAIRE_NAME='pillars' CONTENT_PATH_DEFAULT='data/noarch/game' CONTENT_LIBS0_BIN_PATH="${CONTENT_PATH_DEFAULT}/configtool/lib" ## TODO: Check if some shipped libraries can be dropped CONTENT_LIBS0_BIN_FILES=' libicudata.so.56 libicui18n.so.56 libicuuc.so.56 libQt5Core.so.5 libQt5DBus.so.5 libQt5Gui.so.5 libQt5Widgets.so.5 libQt5XcbQpa.so.5' CONTENT_GAME0_BIN_FILES=' configtool' CONTENT_GAME_DATA_SCENES_FILES=' scenes' APP_MAIN_ICON='../support/icon.png' APP_CONFIG_ID="${GAME_ID}-config" APP_CONFIG_NAME="$GAME_NAME - configuration" APP_CONFIG_CAT='Settings' APP_CONFIG_EXE='configtool/visconfig' APP_CONFIG_ICON='../support/icon.png' PACKAGES_LIST=' PKG_BIN PKG_DATA_SCENES PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdbus-1.so.3 libdl.so.2 libfontconfig.so.1 libfreetype.so.6 libgcc_s.so.1 libglib-2.0.so.0 libGL.so.1 libgthread-2.0.so.0 libICE.so.6 libm.so.6 libopenal.so.1 libpng12.so.0 libpthread.so.0 librt.so.1 libSM.so.6 libstdc++.so.6 libX11.so.6 libX11-xcb.so.1 libxcb.so.1 libXi.so.6' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_DATA_DEPENDENCIES_SIBLINGS=' PKG_DATA_SCENES' ## Ensure easy upgrades from packages generated by pre-20231005.1 game scripts PKG_DATA_PROVIDES="${PKG_DATA_PROVIDES:-} the-pillars-of-the-earth-videos" PKG_DATA_SCENES_ID="${PKG_DATA_ID}-scenes" PKG_DATA_SCENES_DESCRIPTION="$PKG_DATA_DESCRIPTION - scenes" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-the-red-strings-club.sh0000750000000000000000000000414114471751340016115 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # The Red Strings Club # send your bug reports to bugs@dotslashplay.it ### script_version=20250515.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='the-red-strings-club' GAME_NAME='The Red Strings Club' ARCHIVE_BASE_0_NAME='the_red_strings_club_20180122_ch_update_40932.sh' ARCHIVE_BASE_0_MD5='6a11270a590a0151223cce6aae70858c' ARCHIVE_BASE_0_SIZE='280000' ARCHIVE_BASE_0_VERSION='2018.01.22-gog40932' ARCHIVE_BASE_0_URL='https://www.gog.com/game/the_red_strings_club' CONTENT_PATH_DEFAULT='data/noarch/game' CONTENT_GAME_BIN_FILES=' runner' CONTENT_GAME_DATA_FILES=' assets' APP_MAIN_EXE='runner' APP_MAIN_ICON='assets/icon.png' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libGL.so.1 libGLU.so.1 libm.so.6 libopenal.so.1 libpthread.so.0 librt.so.1 libssl.so.1.0.0 libstdc++.so.6 libX11.so.6 libXext.so.6 libXrandr.so.2 libXxf86vm.so.1 libz.so.1' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-the-shivah.sh0000750000000000000000000000417714471751340014224 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Antoine Le Gonidec set -o errexit ### # The Shivah # send your bug reports to bugs@dotslashplay.it ### script_version=20240915.2 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='the-shivah' GAME_NAME='The Shivah' ARCHIVE_BASE_1_NAME='the_shivah_3_0_66477.sh' ARCHIVE_BASE_1_MD5='350e0e292792b1e44df1f54276843f4d' ARCHIVE_BASE_1_SIZE='170000' ARCHIVE_BASE_1_VERSION='3.0-gog66477' ARCHIVE_BASE_1_URL='https://www.gog.com/game/the_shivah' ARCHIVE_BASE_0_NAME='the_shivah_2_0_53607.sh' ARCHIVE_BASE_0_MD5='da6d89db273313fe00a680c52554aea3' ARCHIVE_BASE_0_SIZE='170000' ARCHIVE_BASE_0_VERSION='2.0-gog53607' ## Optional icons pack ARCHIVE_OPTIONAL_ICONS_NAME='the-shivah_icons.tar.gz' ARCHIVE_OPTIONAL_ICONS_MD5='76cb6554e1c09596842391a71e696ded' ARCHIVE_OPTIONAL_ICONS_URL='https://downloads.dotslashplay.it/games/the-shivah/' CONTENT_ICONS_PATH='.' CONTENT_ICONS_FILES=' 16x16 24x24 32x32 48x48 256x256' CONTENT_PATH_DEFAULT='data/noarch/game' CONTENT_GAME_MAIN_FILES=' ENGV.tmp Music Sounds *.ags *.cfg *.exe *.ogv *.tra *.vox' CONTENT_DOC_MAIN_FILES=' licenses' ## TODO: Check if "ags:shivahkosher" should be used instead. APP_MAIN_SCUMMID='ags:shivah' APP_MAIN_ICON='../support/icon.png' APP_MAIN_ICON_0='Shivah.exe' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-the-stanley-parable.sh0000750000000000000000000000732714471751340016025 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2017 Mopi # SPDX-FileCopyrightText: © 2017 Antoine Le Gonidec set -o errexit ### # The Stanley Parable # send your bug reports to bugs@dotslashplay.it ### script_version=20250515.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='the-stanley-parable' GAME_NAME='The Stanley Parable' ARCHIVE_BASE_0_NAME='The_Stanley_Parable_Setup.tar' ARCHIVE_BASE_0_MD5='10a98d7fb93017eb666281bf2d3da28d' ARCHIVE_BASE_0_SIZE='2100000' ARCHIVE_BASE_0_VERSION='1.0-humble161007' ARCHIVE_BASE_0_URL='https://www.humblebundle.com/store/the-stanley-parable' CONTENT_PATH_DEFAULT='data' CONTENT_LIBS_BIN_RELATIVE_PATH='bin' CONTENT_LIBS_BIN_FILES=' bsppack.so crashhandler.so datacache.so dedicated.so engine.so filesystem_stdio.so inputsystem.so launcher.so libtier0.so libtogl.so libvpx.so.1 libvpx.so.1.0 libvpx.so.1.0.0 libvstdlib.so localize.so materialsystem.so puzzlemaker_dll.so scenefilecache.so shaderapidx9.so shaderapiempty.so soundemittersystem.so stdshader_dx9.so studiorender.so valve_avi.so vaudio_speex.so vgui2.so vguimatsurface.so vphysics.so vrad_dll.so vscript.so vvis_dll.so' ## Several shipped libraries rely on the Steam libraries. CONTENT_LIBS_BIN_FILES="${CONTENT_LIBS_BIN_FILES:-} libsteam_api_linux.so libsteam_api.so libsteam.so" CONTENT_GAME_BIN_FILES=' bin/*.bin bin/*.cfg bin/*.dat bin/*.fgd bin/*.so bin/*.txt bin/vbsp_linux bin/vrad_linux bin/vvis_linux thestanleyparable/bin stanley_linux' CONTENT_GAME_DATA_FILES=' platform stanley.png thestanleyparable' CONTENT_DOC_DATA_FILES=' thirdpartylegalnotices.doc' USER_PERSISTENT_DIRECTORIES=' thestanleyparable/cfg thestanleyparable/save' USER_PERSISTENT_FILES=' thestanleyparable/stats.vdf' APP_MAIN_EXE='stanley_linux' APP_MAIN_ICON='stanley.png' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libfontconfig.so.1 libfreetype.so.6 libgcc_s.so.1 libm.so.6 libopenal.so.1 libpthread.so.0 librt.so.1 libSDL2-2.0.so.0 libstdc++.so.6 libtcmalloc_minimal.so.4 libuuid.so.1' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default ARCHIVE_INNER_1_PATH="${PLAYIT_WORKDIR}/gamedata/The Stanley Parable Setup" ## This MojoSetup installer is not based on Makeself. ARCHIVE_INNER_1_EXTRACTOR='bsdtar' archive_extraction 'ARCHIVE_INNER_1' rm "$ARCHIVE_INNER_1_PATH" ARCHIVE_INNER_2_PATH="${PLAYIT_WORKDIR}/gamedata/data/tsp.tar" archive_extraction 'ARCHIVE_INNER_2' rm "$ARCHIVE_INNER_2_PATH" # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default ## Some libraries are only found by the game engine if they are in a hardcoded path. libraries_source=$(path_libraries) libraries_destination="$(package_path 'PKG_BIN')$(path_game_data)/bin" ln --symbolic \ "${libraries_source}/launcher.so" \ "${libraries_source}/filesystem_stdio.so" \ "$libraries_destination" # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-the-suicide-of-rachel-foster.sh0000750000000000000000000000633414471751340017522 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # The Suicide of Rachel Foster # send your bug reports to bugs@dotslashplay.it ### script_version=20241219.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='the-suicide-of-rachel-foster' GAME_NAME='The Suicide of Rachel Foster' ARCHIVE_BASE_1_NAME='setup_the_suicide_of_rachel_foster_1.0.9v_(57374).exe' ARCHIVE_BASE_1_MD5='7e4cc8210ab1deb630c4ab489aa8ebfb' ARCHIVE_BASE_1_TYPE='innosetup' ARCHIVE_BASE_1_PART1_NAME='setup_the_suicide_of_rachel_foster_1.0.9v_(57374)-1.bin' ARCHIVE_BASE_1_PART1_MD5='96d1fdafd4826dda89693d559a78bf08' ARCHIVE_BASE_1_PART2_NAME='setup_the_suicide_of_rachel_foster_1.0.9v_(57374)-2.bin' ARCHIVE_BASE_1_PART2_MD5='ee7554f1f0696841099997efe15dc8e2' ARCHIVE_BASE_1_PART3_NAME='setup_the_suicide_of_rachel_foster_1.0.9v_(57374)-3.bin' ARCHIVE_BASE_1_PART3_MD5='295557d6e0d74b12e429441e23d3d995' ARCHIVE_BASE_1_SIZE='8860163' ARCHIVE_BASE_1_VERSION='1.0.9v-gog57374' ARCHIVE_BASE_1_URL='https://www.gog.com/game/the_suicide_of_rachel_foster' ARCHIVE_BASE_0_NAME='setup_the_suicide_of_rachel_foster_1.0.3d_(36448).exe' ARCHIVE_BASE_0_MD5='b351509e1845cdd6d99e7e252dc27815' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_the_suicide_of_rachel_foster_1.0.3d_(36448)-1.bin' ARCHIVE_BASE_0_PART1_MD5='f5cca9cdf87ec5bc32800b30cf7223e3' ARCHIVE_BASE_0_PART2_NAME='setup_the_suicide_of_rachel_foster_1.0.3d_(36448)-2.bin' ARCHIVE_BASE_0_PART2_MD5='5ff56895c2de3bf2d973e89982d7a7c8' ARCHIVE_BASE_0_PART3_NAME='setup_the_suicide_of_rachel_foster_1.0.3d_(36448)-3.bin' ARCHIVE_BASE_0_PART3_MD5='1f71e3117575dfe51758986882bc0e28' ARCHIVE_BASE_0_SIZE='11000000' ARCHIVE_BASE_0_VERSION='1.0.3d-gog36448' UNREALENGINE4_NAME='tsorf' CONTENT_PATH_DEFAULT='tsorf' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/Local Settings/Application Data/Daedalic Entertainment GmbH/The Suicide of Rachel Foster' APP_MAIN_EXE='tsorf/binaries/win64/overlook-win64-shipping.exe' ## Override the default wrestool options string for Unreal Engine 4 games APP_MAIN_ICON_WRESTOOL_OPTIONS='--type=14 --name=123' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-the-tail-makes-the-fox.sh0000750000000000000000000000357114471751340016336 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # The Tail Makes the Fox # send your bug reports to bugs@dotslashplay.it ### script_version=20240428.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='the-tail-makes-the-fox' GAME_NAME='The Tail Makes the Fox' ARCHIVE_BASE_0_NAME='The_Tail_Makes_the_Fox-1.26-pc.zip' ARCHIVE_BASE_0_MD5='dc1f20ed2ee44029fab065e049b9f372' ARCHIVE_BASE_0_SIZE='590000' ARCHIVE_BASE_0_VERSION='1.26-itch1' ARCHIVE_BASE_0_URL='https://reineworks.itch.io/the-tail-makes-the-fox' CONTENT_PATH_DEFAULT='The_Tail_Makes_the_Fox-1.26-pc/game' CONTENT_GAME_MAIN_FILES=' cache voices archive.rpa script_version.txt' CONTENT_DOC_MAIN_PATH="${CONTENT_PATH_DEFAULT}/.." CONTENT_DOC_DATA_FILES=' README.html' APP_MAIN_TYPE='renpy' APP_MAIN_ICON='../icon.png' ## Ensure easy upgrades from packages generated with pre-20240428.1 game scripts. PKG_MAIN_PROVIDES="${PKG_MAIN_PROVIDES:-} the-tail-makes-the-fox-data" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-the-vanishing-of-ethan-carter.sh0000750000000000000000000000642014471751340017676 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2019 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # The Vanishing of Ethan Carter # send your bug reports to bugs@dotslashplay.it ### script_version=20250520.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='the-vanishing-of-ethan-carter' GAME_NAME='The Vanishing of Ethan Carter' ARCHIVE_BASE_0_NAME='setup_the_vanishing_of_ethan_carter_1.04_(18494).exe' ARCHIVE_BASE_0_MD5='ac039c2c1dcfc093840b0a5ce15008c0' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_the_vanishing_of_ethan_carter_1.04_(18494)-1.bin' ARCHIVE_BASE_0_PART1_MD5='77dbaf659c02d6fbb77917be36bf463d' ARCHIVE_BASE_0_PART2_NAME='setup_the_vanishing_of_ethan_carter_1.04_(18494)-2.bin' ARCHIVE_BASE_0_PART2_MD5='35e0cc8447e782b57525aed48837bd1a' ARCHIVE_BASE_0_SIZE='10000000' ARCHIVE_BASE_0_VERSION='1.04-gog18494' ARCHIVE_BASE_0_URL='https://www.gog.com/game/the_vanishing_of_ethan_carter' CONTENT_PATH_DEFAULT='app' CONTENT_GAME_BIN64_FILES=' binaries/win64' CONTENT_GAME_BIN32_FILES=' binaries/win32' CONTENT_GAME_DATA_FILES=' astronautsgame engine binaries/game binaries/build.properties' WINE_DIRECT3D_RENDERER='dxvk' WINE_PERSISTENT_DIRECTORIES=" users/${USER}/Documents/My Games/The Vanishing of Ethan Carter/AstronautsGame" ## Without a virtual desktop, the game fails to register keyboard inputs. (WINE 10.0) WINE_VIRTUAL_DESKTOP='auto' ## Cursor is prevented from leaving the game window, avoiding problems with mouse look. (WINE 10.0) WINE_WINETRICKS_VERBS='grabfullscreen=y' APP_MAIN_EXE_BIN64="binaries/win64/astronautsgame-win64-shipping.exe" APP_MAIN_EXE_BIN32="binaries/win32/astronautsgame-win32-shipping.exe" APP_MAIN_ICON="binaries/win32/astronautsgame-win32-shipping.exe" PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_GSTREAMER_PLUGINS=' video/quicktime, variant=(string)iso' PKG_BIN64_DEPENDENCIES_GSTREAMER_PLUGINS="$PKG_BIN_DEPENDENCIES_GSTREAMER_PLUGINS" PKG_BIN32_DEPENDENCIES_GSTREAMER_PLUGINS="$PKG_BIN_DEPENDENCIES_GSTREAMER_PLUGINS" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-the-whispered-world.sh0000750000000000000000000000436614471751340016061 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2017 Mopi # SPDX-FileCopyrightText: © 2017 Antoine Le Gonidec set -o errexit ### # The Whispered World # send your bug reports to bugs@dotslashplay.it ### script_version=20250803.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='the-whispered-world' GAME_NAME='The Whispered World' ARCHIVE_BASE_1_NAME='the_whispered_world_special_edition_en_3_2_0419_16378.sh' ARCHIVE_BASE_1_MD5='b5b569ed6d100a08320687a747e9e783' ARCHIVE_BASE_1_SIZE='2169262' ARCHIVE_BASE_1_VERSION='3.2.0419-gog16378' ARCHIVE_BASE_1_URL='https://www.gog.com/game/the_whispered_world_special_edition' ARCHIVE_BASE_0_NAME='gog_the_whispered_world_special_edition_2.0.0.1.sh' ARCHIVE_BASE_0_MD5='485368f130f2d82f564a0159cd497437' ARCHIVE_BASE_0_SIZE='2200000' ARCHIVE_BASE_0_VERSION='3.2.0418-gog2.0.0.1' ## Optional icons pack ARCHIVE_OPTIONAL_ICONS_NAME='the-whispered-world_icons.tar.gz' ARCHIVE_OPTIONAL_ICONS_MD5='3ec301bf71cf279aa8de91c136e16388' ARCHIVE_OPTIONAL_ICONS_URL='https://downloads.dotslashplay.it/resources/the-whispered-world' CONTENT_ICONS_PATH='.' CONTENT_ICONS_FILES=' 16x16 32x32 48x48 256x256' VISIONAIRE_NAME='TWWSE' CONTENT_PATH_DEFAULT='data/noarch/game' PKG_BIN_ARCH='64' ## Easier upgrades from pre-20231005.1 packages PKG_DATA_PROVIDES=' the-whispered-world-videos' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-thimbleweed-park.sh0000750000000000000000000000433214471751340015401 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2022 Anna Lea # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Thimbleweed Park # send your bug reports to bugs@dotslashplay.it ### script_version=20241111.2 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='thimbleweed-park' GAME_NAME='Thimbleweed Park' ARCHIVE_BASE_0_NAME='thimbleweed_park_en_1_0_958_19330.sh' ARCHIVE_BASE_0_MD5='2803fd41a66c1163f02b61bb6ff286ab' ARCHIVE_BASE_0_SIZE='943598' ARCHIVE_BASE_0_VERSION='1.0.958-gog19330' ARCHIVE_BASE_0_URL='https://www.gog.com/game/thimbleweed_park' CONTENT_PATH_DEFAULT='data/noarch/game' CONTENT_GAME_BIN_FILES=' ThimbleweedPark' CONTENT_GAME_DATA_FILES=' Icon*.png ThimbleweedPark.ggpack?' APP_MAIN_EXE='ThimbleweedPark' APP_MAIN_ICONS_LIST='APP_MAIN_ICON_32 APP_MAIN_ICON_64 APP_MAIN_ICON_256 APP_MAIN_ICON_512 APP_MAIN_ICON_1024' APP_MAIN_ICON_32='Icon32.png' APP_MAIN_ICON_64='Icon64.png' APP_MAIN_ICON_256='Icon256.png' APP_MAIN_ICON_512='Icon512.png' APP_MAIN_ICON_1024='Icon1024.png' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libGL.so.1 libm.so.6 libpthread.so.0 libstdc++.so.6' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-to-be-or-not-to-be.sh0000750000000000000000000000467414471751340015414 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2018 Mopi # SPDX-FileCopyrightText: © 2018 Antoine Le Gonidec set -o errexit ### # To Be or Not To Be # send your bug reports to bugs@dotslashplay.it ### script_version=20240611.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='to-be-or-not-to-be' GAME_NAME='To Be or Not To Be' ARCHIVE_BASE_0_NAME='tobe_linux_3270.zip' ARCHIVE_BASE_0_MD5='2a7e51cfbcdae43c438557ffa0a9cff0' ARCHIVE_BASE_0_SIZE='1325068' ARCHIVE_BASE_0_VERSION='3270-humble1' ARCHIVE_BASE_0_URL='https://www.humblebundle.com/store/ryan-norths-to-be-or-not-to-be' UNITY3D_NAME='To Be or Not To Be' UNITY3D_PLUGINS=' ScreenSelector.so' ## TODO: Check if the Steam libraries are required. UNITY3D_PLUGINS=" libCSteamworks.so libsteam_api.so" CONTENT_PATH_DEFAULT='tobe_linux_3270' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPS="$PKG_DATA_ID" PKG_BIN64_DEPS="$PKG_BIN_DEPS" PKG_BIN32_DEPS="$PKG_BIN_DEPS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libGL.so.1 libGLU.so.1 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libX11.so.6 libXcursor.so.1' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" ## Delete MacOS junk. find . -name '*.rsrc' -delete ) # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-to-the-moon.sh0000750000000000000000000001041414471751340014321 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2016 Antoine Le Gonidec # SPDX-FileCopyrightText: © 2017 Mopi set -o errexit ### # To The Moon # send your bug reports to bugs@dotslashplay.it ### script_version=20241219.5 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='to-the-moon' GAME_NAME='To The Moon' ARCHIVE_BASE_HUMBLE_0_NAME='ToTheMoon_linux_1389114090.sh' ARCHIVE_BASE_HUMBLE_0_MD5='706a5c9467328438d412370ffb1454de' ARCHIVE_BASE_HUMBLE_0_SIZE='89605' ARCHIVE_BASE_HUMBLE_0_VERSION='1.0-humble1' ARCHIVE_BASE_HUMBLE_0_URL='https://www.humblebundle.com/store/to-the-moon' ARCHIVE_BASE_GOG_0_NAME='to_the_moon_1389114090_lang_25959.sh' ARCHIVE_BASE_GOG_0_MD5='8774a72bdb768d9c5b3c817198363a04' ## FIXME: Set the size of the archive contents ARCHIVE_BASE_GOG_0_VERSION='1.0-gog25959' ARCHIVE_BASE_GOG_0_URL='https://www.gog.com/game/to_the_moon' CONTENT_PATH_DEFAULT_HUMBLE='data' ## The game fails to run some sound file on launch ## when using the system-provided build of libSDL_sound. CONTENT_LIBS_BIN_FILES=' libSDL_sound-1.0.so.1' ## Some text is garbled if the system-provided build of libSDL2_ttf is used. CONTENT_LIBS_BIN_FILES="$CONTENT_LIBS_BIN_FILES libSDL2_ttf-2.0.so.0" CONTENT_LIBS_BIN64_RELATIVE_PATH_HUMBLE='x86_64/lib64' CONTENT_LIBS_BIN64_RELATIVE_PATH_GOG='lib64' CONTENT_LIBS_BIN64_FILES="$CONTENT_LIBS_BIN_FILES" CONTENT_LIBS_BIN32_RELATIVE_PATH_HUMBLE='x86/lib' CONTENT_LIBS_BIN32_RELATIVE_PATH_GOG='lib' CONTENT_LIBS_BIN32_FILES="$CONTENT_LIBS_BIN_FILES" CONTENT_GAME_BIN64_RELATIVE_PATH_HUMBLE='x86_64' CONTENT_GAME_BIN64_FILES=' ToTheMoon.bin.x86_64' CONTENT_GAME_BIN32_RELATIVE_PATH_HUMBLE='x86' CONTENT_GAME_BIN32_FILES=' ToTheMoon.bin.x86' CONTENT_GAME_DATA_RELATIVE_PATH_HUMBLE='noarch' CONTENT_GAME_DATA_FILES_HUMBLE=' Audio Data Fonts Graphics mkxp.conf Game.ini ToTheMoon.png' CONTENT_GAME_DATA_FILES_GOG=' Audio Data Fonts Graphics mkxp.conf Audio.dat lang.dat Game.ini icon.png Game.rgssad' CONTENT_DOC_DATA_RELATIVE_PATH_HUMBLE='noarch' CONTENT_DOC_DATA_FILES=' LICENSE.txt COPYING-*.txt' CONTENT_DOC0_DATA_FILES_GOG=' Multilingual ReadMe.pdf' APP_MAIN_EXE_BIN64='ToTheMoon.bin.x86_64' APP_MAIN_EXE_BIN32='ToTheMoon.bin.x86' APP_MAIN_ICON_HUMBLE='noarch/ToTheMoon.png' APP_MAIN_ICON_GOG='icon.png' ## Prevent a game crash when using the Wayland video backend of SDL APP_MAIN_PRERUN=' # Prevent a game crash when using the Wayland video backend of SDL if [ "${SDL_VIDEODRIVER:-}" = "wayland" ]; then unset SDL_VIDEODRIVER fi ' ## TODO: Check if the default prefix type could be used APP_MAIN_PREFIX_TYPE='none' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" ## TODO: Check if the same dependencies list is used by the Humble Bundle and GOG builds PKG_BIN_DEPENDENCIES_LIBRARIES=' libcrypt.so.1 libc.so.6 libdl.so.2 libfreetype.so.6 libgcc_s.so.1 libGL.so.1 libm.so.6 libopenal.so.1 libpthread.so.0 librt.so.1 libSDL2-2.0.so.0 libSDL2_image-2.0.so.0 libsigc-2.0.so.0 libstdc++.so.6 libz.so.1' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build package packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-torins-passage.sh0000750000000000000000000000377314471751340015124 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2017 Mopi # SPDX-FileCopyrightText: © 2017 Antoine Le Gonidec set -o errexit ### # Torin's Passage # send your bug reports to bugs@dotslashplay.it ### script_version=20241219.6 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='torins-passage' GAME_NAME='Torinʼs Passage' ARCHIVE_BASE_1_NAME='setup_torins_passage_1.0_(20240).exe' ARCHIVE_BASE_1_MD5='8d6dae383f0890d3f9cd629da56c8836' ARCHIVE_BASE_1_SIZE='375246' ARCHIVE_BASE_1_VERSION='1.0-gog20240' ARCHIVE_BASE_1_URL='https://www.gog.com/game/torins_passage' ARCHIVE_BASE_0_NAME='setup_torins_passage_2.0.0.7.exe' ARCHIVE_BASE_0_MD5='a7398abdb6964bf6a6446248f138d05e' ARCHIVE_BASE_0_SIZE='350000' ARCHIVE_BASE_0_VERSION='1.0-gog2.0.0.7' CONTENT_PATH_DEFAULT='.' CONTENT_PATH_DEFAULT_0='app' CONTENT_GAME_MAIN_FILES=' movie patches version resource.cfg install.txt *.000 *.aud *.drv *.err *.exe *.hlp *.scr *.sfx *.shp' CONTENT_DOC_MAIN_FILES=' torin.txt *.pdf' APP_MAIN_SCUMMID='sci:torin' APP_MAIN_ICON='app/goggame-1207659044.ico' APP_MAIN_ICON_0='goggame-1207659044.ico' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-tormentum-dark-sorrow.sh0000750000000000000000000000366114471751340016463 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Tormentum: Dark Sorrow # send your bug reports to bugs@dotslashplay.it ### script_version=20240904.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='tormentum-dark-sorrow' GAME_NAME='Tormentum: Dark Sorrow' ARCHIVE_BASE_0_NAME='setup_tormentum_-_dark_sorrow_1.4.1_(15803).exe' ARCHIVE_BASE_0_MD5='7fdeef4f8a6c82c75e85576497684460' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_VERSION='1.4.1-gog15803' ARCHIVE_BASE_0_SIZE='340000' ARCHIVE_BASE_0_URL='https://www.gog.com/game/tormentum_dark_sorrow' CONTENT_PATH_DEFAULT='app' CONTENT_GAME_BIN_FILES=' adobe air tormentum.exe' CONTENT_GAME_DATA_FILES=' assets ico meta-inf mimetype tormentum.swf' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/Roaming/com.ohnoo.Tormentum' APP_MAIN_EXE='tormentum.exe' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-truberbrook.sh0000750000000000000000000000444014471751340014515 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Trüberbrook # send your bug reports to bugs@dotslashplay.it ### script_version=20250515.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='truberbrook' GAME_NAME='Trüberbrook' ARCHIVE_BASE_0_NAME='tr_berbrook_1_6_31066.sh' ARCHIVE_BASE_0_MD5='d80939b1304181c5f755a768289d9189' ARCHIVE_BASE_0_SIZE='5500000' ARCHIVE_BASE_0_VERSION='1.6-gog31066' ARCHIVE_BASE_0_URL='https://www.gog.com/game/truberbrook' UNITY3D_NAME='Truberbrook' UNITY3D_PLUGINS=' libfmodL.so libfmod.so libfmodstudioL.so libfmodstudio.so ScreenSelector.so' CONTENT_PATH_DEFAULT='data/noarch/game' ## The game crashes on launch when using the wayland backend of SDL, ## even when using the system-provided build of SDL. APP_MAIN_PRERUN=' # The game crashes on launch when using the wayland backend of SDL if [ "${SDL_VIDEODRIVER:-}" = "wayland" ]; then unset SDL_VIDEODRIVER fi ' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libz.so.1' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-true-fear.sh0000750000000000000000000000547214471751340014055 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # True Fear series: # - True Fear: Forsaken Souls Part 1 # - True Fear: Forsaken Souls Part 2 # send your bug reports to bugs@dotslashplay.it ### script_version=20240904.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID_EPISODE1='true-fear-1' GAME_NAME_EPISODE1='True Fear: Forsaken Souls Part 1' GAME_ID_EPISODE2='true-fear-2' GAME_NAME_EPISODE2='True Fear: Forsaken Souls Part 2' ARCHIVE_BASE_EPISODE1_0_NAME='setup_true_fear_forsaken_souls_part_1_2.0.26_(43095).exe' ARCHIVE_BASE_EPISODE1_0_MD5='12c98dc222047ba571e7c1ce3e6689c8' ARCHIVE_BASE_EPISODE1_0_TYPE='innosetup' ARCHIVE_BASE_EPISODE1_0_SIZE='660000' ARCHIVE_BASE_EPISODE1_0_VERSION='1.2.0.26-gog43095' ARCHIVE_BASE_EPISODE1_0_URL='https://www.gog.com/game/true_fear_forsaken_souls' ARCHIVE_BASE_EPISODE2_0_NAME='setup_true_fear_forsaken_souls_part_2_2.0.8_(49144).exe' ARCHIVE_BASE_EPISODE2_0_MD5='e464cb8eedd9728249efde7593c75f79' ARCHIVE_BASE_EPISODE2_0_TYPE='innosetup' ARCHIVE_BASE_EPISODE2_0_SIZE='900000' ARCHIVE_BASE_EPISODE2_0_VERSION='2.0.8-gog49144' ARCHIVE_BASE_EPISODE2_0_URL='https://www.gog.com/game/true_fear_forsaken_souls_part_2' UNITY3D_NAME_EPISODE1='true fear' UNITY3D_NAME_EPISODE2='true fear 2' CONTENT_PATH_DEFAULT='.' ## TODO: Check if these files are required. CONTENT_GAME0_DATA_FILES_EPISODE1=' branding branding.meta' WINE_PERSISTENT_DIRECTORIES_EPISODE1=' users/${USER}/AppData/Local/Goblinz/TrueFear_ForsakenSouls' WINE_PERSISTENT_DIRECTORIES_EPISODE2=' users/${USER}/AppData/LocalLow/Goblinz Enterprises Limited/True Fear 2' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_GSTREAMER_PLUGINS=' video/quicktime, variant=(string)iso' PKG_DATA_ID_EPISODE1="${GAME_ID_EPISODE1}-data" PKG_DATA_ID_EPISODE2="${GAME_ID_EPISODE2}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-tsioque.sh0000750000000000000000000000353614471751340013653 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Tsioque # send your bug reports to bugs@dotslashplay.it ### script_version=20240806.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='tsioque' GAME_NAME='Tsioque' ARCHIVE_BASE_0_NAME='setup_tsioque_1.2.1.0_(30491).exe' ARCHIVE_BASE_0_MD5='219a0f99ea850d10caf98ab0249e6df5' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='1100000' ARCHIVE_BASE_0_VERSION='1.2.1.0-gog30491' ARCHIVE_BASE_0_URL='https://www.gog.com/game/tsioque' CONTENT_PATH_DEFAULT='.' CONTENT_GAME_BIN_FILES=' adobe air tsioque.exe' CONTENT_GAME_DATA_FILES=' assets meta-inf mimetype tsioque.swf' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/Roaming/com.ohnoo.tsioque' APP_MAIN_EXE='tsioque.exe' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-under-the-moon.sh0000750000000000000000000000367214471751340015024 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Under the Moon # send your bug reports to bugs@dotslashplay.it ### script_version=20241106.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='under-the-moon' GAME_NAME='Under the Moon' ARCHIVE_BASE_0_NAME='setup_under_the_moon_1.4_(61762).exe' ARCHIVE_BASE_0_MD5='ea7ef6de5b26932728271199be740b8d' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='3500000' ARCHIVE_BASE_0_VERSION='1.4-gog61762' ARCHIVE_BASE_0_URL='https://www.gog.com/game/under_the_moon' UNREALENGINE4_NAME='underthemoon' CONTENT_PATH_DEFAULT='windows' APP_MAIN_EXE="${UNREALENGINE4_NAME}/binaries/win64/${UNREALENGINE4_NAME}-win64-shipping.exe" ## The --name=101 wrestool option, default for UE4 games, should not be used here APP_MAIN_ICON_WRESTOOL_OPTIONS='--type=14' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-us-lovely-corpses.sh0000750000000000000000000000364714471751340015600 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Us Lovely Corpses # send your bug reports to bugs@dotslashplay.it ### script_version=20240622.2 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='us-lovely-corpses' GAME_NAME='Us Lovely Corpses' ARCHIVE_BASE_0_NAME='UsLovelyCorpses-1.0-linux.tar.bz2' ARCHIVE_BASE_0_MD5='2df30ef88e4cc99662510f7e8b9efd3d' ARCHIVE_BASE_0_SIZE='136948' ARCHIVE_BASE_0_VERSION='1.0-itch.2018.03.08' ARCHIVE_BASE_0_URL='https://dmarielicea.itch.io/uslovelycorpses' CONTENT_PATH_DEFAULT='UsLovelyCorpses-1.0-linux/game' CONTENT_GAME_MAIN_FILES=' cache gui images script_version.txt *.ogg *.rpy *.rpyc' CONTENT_DOC_MAIN_PATH='UsLovelyCorpses-1.0-linux' CONTENT_DOC_MAIN_FILES=' README.html' APP_MAIN_TYPE='renpy' ## Ensure easy upgrade from packages generated with pre-20240622.1 game scripts. PKG_MAIN_PROVIDES="${PKG_MAIN_PROVIDES:-} us-lovely-corpses us-lovely-corpses-data" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Use the default Ren'Py icon, as none is provided desktop_field_icon() { printf 'renpy'; } # Extract game data archive_extraction_default # Include game data content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-virtuaverse.sh0000750000000000000000000000410514471751340014532 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # VirtuaVerse # send your bug reports to bugs@dotslashplay.it ### script_version=20241111.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' GAME_ID='virtuaverse' GAME_NAME='VirtuaVerse' ARCHIVE_BASE_1_NAME='virtuaverse_1_35_53585.sh' ARCHIVE_BASE_1_MD5='5285b1fb4793e2c87d39f567eceabe71' ARCHIVE_BASE_1_SIZE='1788767' ARCHIVE_BASE_1_VERSION='1.35-gog53585' ARCHIVE_BASE_1_URL='https://www.gog.com/game/virtuaverse' ARCHIVE_BASE_0_NAME='virtuaverse_1_34_51687.sh' ARCHIVE_BASE_0_MD5='0592cc967de9f333344f2d69c7665173' ARCHIVE_BASE_0_SIZE='1800000' ARCHIVE_BASE_0_VERSION='1.34-gog51687' UNITY3D_NAME='VirtuaVerse' ## TODO: Check if the Steam library is required UNITY3D_PLUGINS=' libsteam_api.so' CONTENT_PATH_DEFAULT='data/noarch/game' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libm.so.6 libpthread.so.0 librt.so.1 libz.so.1' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-voodoo-detective.sh0000750000000000000000000000347714471751340015445 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Voodoo Detective # send your bug reports to bugs@dotslashplay.it ### script_version=20240915.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='voodoo-detective' GAME_NAME='Voodoo Detective' ARCHIVE_BASE_0_NAME='voodoo_detective_0_0_31_62572.sh' ARCHIVE_BASE_0_MD5='e4e2ec0e340dc4343493f56b0977a68f' ARCHIVE_BASE_0_SIZE='1500000' ARCHIVE_BASE_0_VERSION='0.0.31-gog62572' ARCHIVE_BASE_0_URL='https://www.gog.com/game/voodoo_detective' UNITY3D_NAME='Voodoo Detective' UNITY3D_PLUGINS=' libfmodstudio.so libresonanceaudio.so' CONTENT_PATH_DEFAULT='data/noarch/game' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-wallace-and-gromits-grand-adventures.sh0000750000000000000000000001335714471751340021265 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Wallace and Gromit's Grand Adventures: # - Episode 1: Fright of the Bumblebees # - Episode 2: The Last Resort # - Episode 3: Muzzled # - Episode 4: The Bogey Man # send your bug reports to bugs@dotslashplay.it ### script_version=20240904.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='wallace-and-gromits-grand-adventures' GAME_NAME='Wallace & Gromit’s Grand Adventures' GAME_ID_EPISODE1="${GAME_ID}-1" GAME_NAME_EPISODE1="${GAME_NAME}: Episode 1 - Fright of the Bumblebees" GAME_ID_EPISODE2="${GAME_ID}-2" GAME_NAME_EPISODE2="${GAME_NAME}: Episode 2 - The Last Resort" GAME_ID_EPISODE3="${GAME_ID}-3" GAME_NAME_EPISODE3="${GAME_NAME}: Episode 3 - Muzzled" GAME_ID_EPISODE4="${GAME_ID}-4" GAME_NAME_EPISODE4="${GAME_NAME}: Episode 4 - The Bogey Man" ARCHIVE_BASE_EPISODE1_0_NAME='setup_wallace_and_gromits_episode_1_-_fright_of_the_bumblebees_1.0_(43021).exe' ARCHIVE_BASE_EPISODE1_0_MD5='386ad98408eb197081e9b45217759bed' ARCHIVE_BASE_EPISODE1_0_TYPE='innosetup' ARCHIVE_BASE_EPISODE1_0_SIZE='450000' ARCHIVE_BASE_EPISODE1_0_VERSION='1.0-gog43021' ARCHIVE_BASE_EPISODE1_0_URL='https://www.gog.com/game/wallace_gromits_grand_adventures' ARCHIVE_BASE_EPISODE2_0_NAME='setup_wallace_and_gromits_episode_2_-_the_last_resort_1.0_(43021).exe' ARCHIVE_BASE_EPISODE2_0_MD5='d791a520c88c613c577b556de6d1276c' ARCHIVE_BASE_EPISODE2_0_TYPE='innosetup' ARCHIVE_BASE_EPISODE2_0_SIZE='610000' ARCHIVE_BASE_EPISODE2_0_VERSION='1.0-gog43021' ARCHIVE_BASE_EPISODE2_0_URL='https://www.gog.com/game/wallace_gromits_grand_adventures' ARCHIVE_BASE_EPISODE3_0_NAME='setup_wallace_and_gromits_episode_3_muzzled_2.0_(42668).exe' ARCHIVE_BASE_EPISODE3_0_MD5='e33fe7ce94d9ee2ca33895c1cf349c29' ARCHIVE_BASE_EPISODE3_0_TYPE='innosetup' ARCHIVE_BASE_EPISODE3_0_SIZE='480000' ARCHIVE_BASE_EPISODE3_0_VERSION='2.0-gog42668' ARCHIVE_BASE_EPISODE3_0_URL='https://www.gog.com/game/wallace_gromits_grand_adventures' ARCHIVE_BASE_EPISODE4_0_NAME='setup_wallace_and_gromits_episode_4_-_the_bogey_man_1.0_(43022).exe' ARCHIVE_BASE_EPISODE4_0_MD5='1bd26fe8706be1d452bbcebd8a31a1fb' ARCHIVE_BASE_EPISODE4_0_TYPE='innosetup' ARCHIVE_BASE_EPISODE4_0_SIZE='560000' ARCHIVE_BASE_EPISODE4_0_VERSION='1.0-gog43022' ARCHIVE_BASE_EPISODE4_0_URL='https://www.gog.com/game/wallace_gromits_grand_adventures' CONTENT_PATH_DEFAULT='.' CONTENT_GAME_BIN_FILES=' fmodex.dll wallacegromit101.exe wallacegromit102.exe wallacegromit103.exe wallacegromit104.exe language_setup.exe language_setup.ini language_setup.png' CONTENT_GAME_DATA_FILES=' pack' WINE_PERSISTENT_DIRECTORIES_EPISODE1=' users/${USER}/Documents/Telltale Games/wallace-and-gromit-1' WINE_PERSISTENT_DIRECTORIES_EPISODE2=' users/${USER}/Documents/Telltale Games/wallace-and-gromit-2' WINE_PERSISTENT_DIRECTORIES_EPISODE3=' users/${USER}/Documents/Telltale Games/wallace-and-gromit-3' WINE_PERSISTENT_DIRECTORIES_EPISODE4=' users/${USER}/Documents/Telltale Games/wallace-and-gromit-4' APP_MAIN_EXE_EPISODE1='wallacegromit101.exe' APP_MAIN_EXE_EPISODE2='wallacegromit102.exe' APP_MAIN_EXE_EPISODE3='wallacegromit103.exe' APP_MAIN_EXE_EPISODE4='wallacegromit104.exe' APP_LANGUAGE_ID_EPISODE1="${GAME_ID_EPISODE1}-language-setup" APP_LANGUAGE_ID_EPISODE2="${GAME_ID_EPISODE2}-language-setup" APP_LANGUAGE_ID_EPISODE3="${GAME_ID_EPISODE3}-language-setup" APP_LANGUAGE_ID_EPISODE4="${GAME_ID_EPISODE4}-language-setup" APP_LANGUAGE_NAME_EPISODE1="$GAME_NAME_EPISODE1 - Language setup" APP_LANGUAGE_NAME_EPISODE2="$GAME_NAME_EPISODE2 - Language setup" APP_LANGUAGE_NAME_EPISODE3="$GAME_NAME_EPISODE3 - Language setup" APP_LANGUAGE_NAME_EPISODE4="$GAME_NAME_EPISODE4 - Language setup" APP_LANGUAGE_EXE='language_setup.exe' APP_LANGUAGE_CAT='Settings' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' ## Ensure easy upgrades from packages generated with pre-20240704.5 game scripts. PKG_BIN_PROVIDES_EPISODE1="${PKG_BIN_PROVIDES_EPISODE1:-} wallace-and-gromit-1" PKG_BIN_PROVIDES_EPISODE2="${PKG_BIN_PROVIDES_EPISODE2:-} wallace-and-gromit-2" PKG_BIN_PROVIDES_EPISODE3="${PKG_BIN_PROVIDES_EPISODE3:-} wallace-and-gromit-3" PKG_BIN_PROVIDES_EPISODE4="${PKG_BIN_PROVIDES_EPISODE4:-} wallace-and-gromit-4" PKG_DATA_ID_EPISODE1="${GAME_ID_EPISODE1}-data" PKG_DATA_ID_EPISODE2="${GAME_ID_EPISODE2}-data" PKG_DATA_ID_EPISODE3="${GAME_ID_EPISODE3}-data" PKG_DATA_ID_EPISODE4="${GAME_ID_EPISODE4}-data" PKG_DATA_DESCRIPTION='data' ## Ensure easy upgrades from packages generated with pre-20240704.5 game scripts. PKG_DATA_PROVIDES_EPISODE1="${PKG_DATA_PROVIDES_EPISODE1:-} wallace-and-gromit-1-data" PKG_DATA_PROVIDES_EPISODE2="${PKG_DATA_PROVIDES_EPISODE2:-} wallace-and-gromit-2-data" PKG_DATA_PROVIDES_EPISODE3="${PKG_DATA_PROVIDES_EPISODE3:-} wallace-and-gromit-3-data" PKG_DATA_PROVIDES_EPISODE4="${PKG_DATA_PROVIDES_EPISODE4:-} wallace-and-gromit-4-data" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-warm.sh0000750000000000000000000000362514471751340013127 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Warm # send your bug reports to bugs@dotslashplay.it ### script_version=20240915.2 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='warm' GAME_NAME='Warm' ARCHIVE_BASE_0_NAME='Warm-Full-pc.zip' ARCHIVE_BASE_0_MD5='55f19b7d105d1e929edfba0e5e853538' ARCHIVE_BASE_0_SIZE='670000' ARCHIVE_BASE_0_VERSION='1.02-itch' ARCHIVE_BASE_0_URL='https://krispycat.itch.io/warm' CONTENT_PATH_DEFAULT='Warm-Full-pc/game' CONTENT_GAME_MAIN_FILES=' cache gui images Music script_version.txt *.rpy *.rpyc' APP_MAIN_TYPE='renpy' ## Ensure easy upgrades from packages generated with pre-20240915.2 game scripts PKG_MAIN_PROVIDES="${PKG_MAIN_PROVIDES:=} warm-data" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" # Remove unexpected indentation in a Python script, to prevent a crash on launch sed --in-place 's/^ \{4\}//' 'script.rpy' ) # Include game data content_inclusion_default # Write launchers ## Use the default Ren'Py icon, instead of a generic icon. desktop_field_icon() { printf 'renpy' } launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-what-remains-of-edith-finch.sh0000750000000000000000000000376714471751340017351 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # What Remains of Edith Finch # send your bug reports to bugs@dotslashplay.it ### script_version=20240611.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='what-remains-of-edith-finch' GAME_NAME='What Remains of Edith Finch' ARCHIVE_BASE_0_NAME='setup_what_remains_of_edith_finch_1.0.0.0_(16929).exe' ARCHIVE_BASE_0_MD5='ec155243055cbd820f8f9056eea5eb10' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_PART1_NAME='setup_what_remains_of_edith_finch_1.0.0.0_(16929)-1.bin' ARCHIVE_BASE_0_PART1_MD5='f1a06506b6899cb72d44be1b8d6f7f44' ARCHIVE_BASE_0_SIZE='2700000' ARCHIVE_BASE_0_VERSION='1.0.0.0-gog16929' ARCHIVE_BASE_0_URL='https://www.gog.com/game/what_remains_of_edith_finch' UNREALENGINE4_NAME='finchgame' CONTENT_PATH_DEFAULT='app' APP_MAIN_EXE="${UNREALENGINE4_NAME}/binaries/win64/${UNREALENGINE4_NAME}-win64-shipping.exe" APP_MAIN_ICON_WRESTOOL_OPTIONS='--type=14 --name=123' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_BIN_ARCH='64' PKG_BIN_DEPS="$PKG_DATA_ID" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-when-the-past-was-around.sh0000750000000000000000000000410414471751340016714 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2021 Mopi # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # When The Past Was Around # send your bug reports to bugs@dotslashplay.it ### script_version=20240807.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='when-the-past-was-around' GAME_NAME='When The Past Was Around' ARCHIVE_BASE_1_NAME='setup_when_the_past_was_around_0.64_(57966).exe' ARCHIVE_BASE_1_MD5='d534934e5d9e5f7ebb1e871250124421' ARCHIVE_BASE_1_TYPE='innosetup' ARCHIVE_BASE_1_SIZE='1900000' ARCHIVE_BASE_1_VERSION='1.0.3-gog57966' ARCHIVE_BASE_1_URL='https://www.gog.com/game/when_the_past_was_around' ARCHIVE_BASE_0_NAME='setup_when_the_past_was_around_0.5_(64bit)_(42277).exe' ARCHIVE_BASE_0_MD5='b6c6fb5d16fd6c3841e852e5304f1aca' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='1900000' ARCHIVE_BASE_0_VERSION='1.0.3-gog42277' UNITY3D_NAME='when past was around' CONTENT_PATH_DEFAULT='.' WINE_PERSISTENT_DIRECTORIES=' users/${USER}/AppData/LocalLow/Mojiken Studio/When Past Was Around' PACKAGES_LIST=' PKG_BIN PKG_DATA' PKG_BIN_ARCH='64' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-where-the-water-tastes-like-wine.sh0000750000000000000000000000475514471751340020361 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 Mopi # SPDX-FileCopyrightText: © 2020 Antoine Le Gonidec set -o errexit ### # Where the Water Tastes Like Wine # send your bug reports to bugs@dotslashplay.it ### script_version=20250520.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='where-the-water-tastes-like-wine' GAME_NAME='Where the Water Tastes Like Wine' ARCHIVE_BASE_0_NAME='where-the-water-tastes-like-wine-linux.zip' ARCHIVE_BASE_0_MD5='b7e3d981ff707f5687a79552514a49fe' ARCHIVE_BASE_0_SIZE='6917645' ARCHIVE_BASE_0_VERSION='1.4.2-itch.2019.07.24' ARCHIVE_BASE_0_URL='https://dimbulbgames.itch.io/where-the-water-tastes-like-wine' UNITY3D_NAME='WTWTLW' UNITY3D_PLUGINS=' ScreenSelector.so' ## TODO: Check if the Steam libraries are required. UNITY3D_PLUGINS="$UNITY3D_PLUGINS libCSteamworks.so libsteam_api.so" CONTENT_PATH_DEFAULT='.' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libz.so.1' PKG_BIN64_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_BIN32_DEPENDENCIES_LIBRARIES="$PKG_BIN_DEPENDENCIES_LIBRARIES" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-whispering-willows.sh0000750000000000000000000000744614471751340016043 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2017 Mopi # SPDX-FileCopyrightText: © 2022 Anna Lea # SPDX-FileCopyrightText: © 2022 Antoine Le Gonidec set -o errexit ### # Whispering Willows # send your bug reports to bugs@dotslashplay.it ### script_version=20241005.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='whispering-willows' GAME_NAME='Whispering Willows' ARCHIVE_BASE_GOG_0_NAME='whispering_willows_1_6_4_53005.sh' ARCHIVE_BASE_GOG_0_MD5='5b9ce22be3825deeadbb524e7cedb2a2' ARCHIVE_BASE_GOG_0_SIZE='2025821' ARCHIVE_BASE_GOG_0_VERSION='1.6.4-gog53005' ARCHIVE_BASE_GOG_0_URL='https://www.gog.com/game/whispering_willows' ARCHIVE_BASE_FIREFLOWER_0_NAME='Whispering_Willows_1_27_Linux.zip' ARCHIVE_BASE_FIREFLOWER_0_MD5='5ca10433c0da315028d8318e39fb3ad2' ARCHIVE_BASE_FIREFLOWER_0_SIZE='2000000' ARCHIVE_BASE_FIREFLOWER_0_VERSION='1.27-fireflower' ARCHIVE_BASE_FIREFLOWER_0_URL='https://fireflowergames.com/products/whispering-willows' ARCHIVE_BASE_HUMBLE_0_NAME='LINUX_NO_STEAM.rar' ARCHIVE_BASE_HUMBLE_0_MD5='56c078a0208769ab2222f7e1cc0e0d57' ARCHIVE_BASE_HUMBLE_0_SIZE='1884781' ARCHIVE_BASE_HUMBLE_0_VERSION='1.26-humble151125' ARCHIVE_BASE_HUMBLE_0_URL='https://www.humblebundle.com/store/whispering-willows' UNITY3D_NAME='WhisperingWillows' UNITY3D_PLUGINS=' ScreenSelector.so' ## TODO: Check if the Steam libraries can be dropped UNITY3D_PLUGINS="$UNITY3D_PLUGINS libCSteamworks.so libsteam_api.so" CONTENT_PATH_DEFAULT_GOG='data/noarch/game' CONTENT_PATH_DEFAULT_FIREFLOWER='.' CONTENT_PATH_DEFAULT_HUMBLE='LINUX_NO_STEAM' PACKAGES_LIST=' PKG_BIN64 PKG_BIN32 PKG_DATA' PKG_BIN64_ARCH='64' PKG_BIN32_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_DATA' PKG_BIN64_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN32_DEPENDENCIES_SIBLINGS="$PKG_BIN_DEPENDENCIES_SIBLINGS" PKG_BIN_DEPENDENCIES_LIBRARIES_GOG=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libz.so.1' PKG_BIN64_DEPENDENCIES_LIBRARIES_GOG="$PKG_BIN_DEPENDENCIES_LIBRARIES_GOG" PKG_BIN32_DEPENDENCIES_LIBRARIES_GOG="$PKG_BIN_DEPENDENCIES_LIBRARIES_GOG" PKG_BIN_DEPENDENCIES_LIBRARIES_HUMBLE=' libc.so.6 libdl.so.2 libgcc_s.so.1 libgdk_pixbuf-2.0.so.0 libglib-2.0.so.0 libGL.so.1 libGLU.so.1 libgobject-2.0.so.0 libgtk-x11-2.0.so.0 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6 libX11.so.6 libXcursor.so.1' PKG_BIN64_DEPENDENCIES_LIBRARIES_HUMBLE="$PKG_BIN_DEPENDENCIES_LIBRARIES_HUMBLE" PKG_BIN32_DEPENDENCIES_LIBRARIES_HUMBLE="$PKG_BIN_DEPENDENCIES_LIBRARIES_HUMBLE" ## TODO: Check that the Fireflower build relies on the same libraries than the Humble Bundle one PKG_BIN64_DEPENDENCIES_LIBRARIES_FIREFLOWER="$PKG_BIN_DEPENDENCIES_LIBRARIES_HUMBLE" PKG_BIN32_DEPENDENCIES_LIBRARIES_FIREFLOWER="$PKG_BIN_DEPENDENCIES_LIBRARIES_HUMBLE" PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN64' launchers_generation 'PKG_BIN32' # Build package packages_generation print_instructions # Clean up rm --recursive "${PLAYIT_WORKDIR}" exit 0 games/play-yesterday.sh0000750000000000000000000000564514471751340014176 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2022 Mopi # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Yesterday # send your bug reports to bugs@dotslashplay.it ### script_version=20250114.2 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='yesterday' GAME_NAME='Yesterday' ARCHIVE_BASE_FR_0_NAME='setup_yesterday_1.0.1_(french)_(34047).exe' ARCHIVE_BASE_FR_0_MD5='721c746513583dbe53a5ab5ab8a2f091' ARCHIVE_BASE_FR_0_TYPE='innosetup' ARCHIVE_BASE_FR_0_PART1_NAME='setup_yesterday_1.0.1_(french)_(34047)-1.bin' ARCHIVE_BASE_FR_0_PART1_MD5='ea0bfcb18f45ea25614ecd978400ec3c' ARCHIVE_BASE_FR_0_SIZE='4300963' ARCHIVE_BASE_FR_0_VERSION='1.0.1-gog34047' ARCHIVE_BASE_FR_0_URL='https://www.gog.com/game/yesterday' ARCHIVE_BASE_EN_0_NAME='setup_yesterday_1.0.1_(34047).exe' ARCHIVE_BASE_EN_0_MD5='638c9882333cd55dabf7a136c25a5158' ARCHIVE_BASE_EN_0_TYPE='innosetup' ARCHIVE_BASE_EN_0_PART1_NAME='setup_yesterday_1.0.1_(34047)-1.bin' ARCHIVE_BASE_EN_0_PART1_MD5='40aa040bcb99a2038d24266d9807aac4' ARCHIVE_BASE_EN_0_SIZE='4304635' ARCHIVE_BASE_EN_0_VERSION='1.0.1-gog34047' ARCHIVE_BASE_EN_0_URL='https://www.gog.com/game/yesterday' CONTENT_PATH_DEFAULT='.' CONTENT_GAME_BIN_FILES=' binkw32.dll psengine.dll pthreadvc2.dll psconfig.exe yesterday.exe' CONTENT_GAME_L10N_FILES=' dataa resource/?? config.lang' CONTENT_GAME_DATA_FILES=' datav resource' WINE_PERSISTENT_DIRECTORIES=' ProgramData/Pendulo Studios/Yesterday' ## The shipped PSEngine.dll library is linked against OpenAL32.dll. WINE_WINETRICKS_VERBS='openal' APP_MAIN_EXE='yesterday.exe' PACKAGES_LIST=' PKG_BIN PKG_L10N PKG_DATA' PKG_BIN_ARCH='32' PKG_BIN_DEPENDENCIES_SIBLINGS=' PKG_L10N_BASE PKG_DATA' PKG_L10N_BASE_ID="${GAME_ID}-l10n" PKG_L10N_ID_EN="${PKG_L10N_BASE_ID}-en" PKG_L10N_ID_FR="${PKG_L10N_BASE_ID}-fr" PKG_L10N_PROVIDES=" $PKG_L10N_BASE_ID" PKG_L10N_DESCRIPTION_EN='English localization' PKG_L10N_DESCRIPTION_FR='French localization' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-zak-mckracken-and-the-alien-mindbenders.sh0000750000000000000000000000405314471751340021572 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2020 macaron # SPDX-FileCopyrightText: © 2024 Antoine Le Gonidec set -o errexit ### # Zak McKracken and the Alien Mindbenders # send your bug reports to bugs@dotslashplay.it ### script_version=20240506.2 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='zak-mckracken-and-the-alien-mindbenders' GAME_NAME='Zak McKracken and the Alien Mindbenders' ARCHIVE_BASE_0_NAME='zak_mckracken_and_the_alien_mindbenders_en_gog_2_20099.sh' ARCHIVE_BASE_0_URL='https://www.gog.com/game/zak_mckracken_and_the_alien_mindbenders' ARCHIVE_BASE_0_MD5='eb144295c6387b71ac2e78986067ba30' ARCHIVE_BASE_0_SIZE='190000' ARCHIVE_BASE_0_VERSION='1.0-gog20099' ARCHIVE_BASE_0_TYPE='mojosetup' CONTENT_PATH_DEFAULT='data/noarch/data' CONTENT_GAME_MAIN_FILES=' *.lfl *.mp3' CONTENT_DOC_MAIN_PATH='data/noarch/docs' CONTENT_DOC_MAIN_FILES=' Zak McKracken - The National Inquisitor.pdf Zak McKraken and the Alien Mindbenders - Hintbook.pdf Zak McKraken and the Alien Mindbenders - Manual.pdf' APP_MAIN_SCUMMID='scumm:zak' APP_MAIN_ICON='../support/icon.png' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" ## Convert all file paths to lowercase. tolower . ) # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-zed.sh0000750000000000000000000000611014471751340012733 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Zed # send your bug reports to bugs@dotslashplay.it ### script_version=20250428.1 GAME_ID='zed-game' GAME_NAME='Zed' ## Until 2025-04-29, this game used to be sold from gog.com ## cf. https://www.gog.com/forum/general/delisting_zed/post1 ARCHIVE_BASE_0='zed_1_3_30662.sh' ARCHIVE_BASE_0_MD5='bc70e3f8b20dd9998972e973349be9c1' ARCHIVE_BASE_0_SIZE='11000000' ARCHIVE_BASE_0_VERSION='1.3-gog30662' UNREALENGINE4_NAME='zed' CONTENT_PATH_DEFAULT='data/noarch/game' CONTENT_GAME_DATA_CHUNK1_FILES=" ${UNREALENGINE4_NAME}/Content/Paks/pakchunk0-LinuxNoEditor.pak.split00 ${UNREALENGINE4_NAME}/Content/Paks/pakchunk0-LinuxNoEditor.pak.split01" CONTENT_GAME_DATA_CHUNK2_FILES=" ${UNREALENGINE4_NAME}/Content/Paks/pakchunk0-LinuxNoEditor.pak.split02" APPLICATIONS_PREFIX_TYPE='none' APP_MAIN_EXE="${UNREALENGINE4_NAME}/Binaries/Linux/${UNREALENGINE4_NAME}-Linux-Shipping" APP_MAIN_ICON='../support/icon.png' PACKAGES_LIST='PKG_BIN PKG_DATA_CHUNK1 PKG_DATA_CHUNK2 PKG_DATA' PKG_DATA_ID="${GAME_ID}-data" PKG_DATA_DESCRIPTION='data' PKG_DATA_CHUNK1_ID="${PKG_DATA_ID}-chunk1" PKG_DATA_CHUNK1_DESCRIPTION="$PKG_DATA_DESCRIPTION - chunk 1" PKG_DATA_DEPS="$PKG_DATA_DEPS $PKG_DATA_CHUNK1_ID" PKG_DATA_CHUNK2_ID="${PKG_DATA_ID}-chunk2" PKG_DATA_CHUNK2_DESCRIPTION="$PKG_DATA_DESCRIPTION - chunk 2" PKG_DATA_DEPS="$PKG_DATA_DEPS $PKG_DATA_CHUNK2_ID" PKG_BIN_ARCH='64' PKG_BIN_DEPS="$PKG_DATA_ID" PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libdl.so.2 libgcc_s.so.1 libm.so.6 libpthread.so.0 librt.so.1 libstdc++.so.6' # Load common functions target_version='2.25' PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Set package scripts to rebuild the full files from their chunks file_path="${UNREALENGINE4_NAME}/Content/Paks/pakchunk0-LinuxNoEditor.pak" PKG_DATA_POSTINST_RUN="${PKG_DATA_POSTINST_RUN:-} $(huge_file_concatenate "$file_path")" PKG_DATA_CHUNK1_PRERM_RUN="${PKG_DATA_CHUNK1_PRERM_RUN:-} $(huge_file_delete "$file_path")" PKG_DATA_CHUNK2_PRERM_RUN="${PKG_DATA_CHUNK2_PRERM_RUN:-} $(huge_file_delete "$file_path")" # Extract game data archive_extraction 'SOURCE_ARCHIVE' # Include game icons PKG='PKG_DATA' # shellcheck disable=SC2119 icons_inclusion # Include game data content_inclusion_default # Delete temporary files rm --recursive "${PLAYIT_WORKDIR}/gamedata" # Write launchers PKG='PKG_BIN' # shellcheck disable=SC2119 launchers_write # Build packages packages_generation # Print instructions print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-zniw-adventure.sh0000750000000000000000000000356714471751340015150 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2023 Antoine Le Gonidec set -o errexit ### # Zniw Adventure # send your bug reports to bugs@dotslashplay.it ### script_version=20240624.1 PLAYIT_COMPATIBILITY_LEVEL='2.29' GAME_ID='zniw-adventure' GAME_NAME='Zniw Adventure' ARCHIVE_BASE_0_NAME='zniw_adventure_1_3_4_1l_gog_60121.sh' ARCHIVE_BASE_0_MD5='37fb48f55d4e36d6692a8e13b7f07623' ARCHIVE_BASE_0_SIZE='2300000' ARCHIVE_BASE_0_VERSION='1.3.4.1l-gog60121' ARCHIVE_BASE_0_URL='https://www.gog.com/game/zniw_adventure' CONTENT_PATH_DEFAULT='data/noarch/game/data' CONTENT_GAME_MAIN_FILES=' acsetup.cfg CTGAME.??? *.cdf *.cvf *.ogv *.tra *.vox' CONTENT_DOC_MAIN_FILES=' licenses' CONTENT_DOC0_MAIN_PATH='data/noarch/game' CONTENT_DOC0_MAIN_FILES=' manualEn.pdf manualPl.pdf refCardLinEnglish.pdf refCardLinPolish.pdf' CONTENT_DOC1_MAIN_PATH='data/noarch/game/Walkthrough' CONTENT_DOC1_MAIN_FILES=' SpoilerFreeWalkthrough.pdf' APP_MAIN_SCUMMID='ags:zniwadventure' APP_MAIN_ICON='../../support/icon.png' # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Extract game data archive_extraction_default # Include game data content_inclusion_default content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up rm --recursive "$PLAYIT_WORKDIR" exit 0 games/play-zork-series.sh0000750000000000000000000001002614471751340014427 0ustar rootroot#!/bin/sh # SPDX-License-Identifier: BSD-2-Clause # SPDX-FileCopyrightText: © 2016 Antoine Le Gonidec # SPDX-FileCopyrightText: © 2017 Mopi set -o errexit ### # Zork series: # - Zork 1: The Great Underground Empire # - Zork 2: The Wizard of Frobozz # - Zork 3: The Dungeon Master # send your bug reports to bugs@dotslashplay.it ### script_version=20250115.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID_EPISODE1='zork-1' GAME_ID_EPISODE2='zork-2' GAME_ID_EPISODE3='zork-3' GAME_NAME_EPISODE1='Zork I: The Great Underground Empire' GAME_NAME_EPISODE2='Zork II: The Wizard of Frobozz' GAME_NAME_EPISODE3='Zork III: The Dungeon Master' ARCHIVE_BASE_EPISODE1_1_NAME='setup_zork_-_the_great_underground_empire_.88.84_(28046).exe' ARCHIVE_BASE_EPISODE1_1_MD5='b527cb53e2213f13527eb9898aeab8f7' ARCHIVE_BASE_EPISODE1_1_TYPE='innosetup' ARCHIVE_BASE_EPISODE1_1_SIZE='17380' ARCHIVE_BASE_EPISODE1_1_VERSION='88.84-gog28046' ARCHIVE_BASE_EPISODE1_1_URL='https://www.gog.com/game/the_zork_anthology' ARCHIVE_BASE_EPISODE1_0_NAME='setup_zork_2.1.0.17.exe' ARCHIVE_BASE_EPISODE1_0_MD5='6bd42788d696f154ce363830909259d3' ARCHIVE_BASE_EPISODE1_0_TYPE='innosetup' ARCHIVE_BASE_EPISODE1_0_SIZE='22000' ARCHIVE_BASE_EPISODE1_0_VERSION='1.0-gog2.1.0.17' ARCHIVE_BASE_EPISODE2_1_NAME='setup_zork_ii_-_the_wizard_of_frobozz_48.84_(28046).exe' ARCHIVE_BASE_EPISODE2_1_MD5='de2bbc96fc55c9e1f9bc633be3e762de' ARCHIVE_BASE_EPISODE2_1_TYPE='innosetup' ARCHIVE_BASE_EPISODE2_1_SIZE='18803' ARCHIVE_BASE_EPISODE2_1_VERSION='48.84-gog28046' ARCHIVE_BASE_EPISODE2_1_URL='https://www.gog.com/game/the_zork_anthology' ARCHIVE_BASE_EPISODE2_0_NAME='setup_zork2_2.1.0.17.exe' ARCHIVE_BASE_EPISODE2_0_MD5='2ea2cf45bb6cf76b0365567e81f27aab' ARCHIVE_BASE_EPISODE2_0_TYPE='innosetup' ARCHIVE_BASE_EPISODE2_0_SIZE='23000' ARCHIVE_BASE_EPISODE2_0_VERSION='1.0-gog2.1.0.17' ARCHIVE_BASE_EPISODE3_1_NAME='setup_zork_iii_-_the_dungeon_master_17.84_(28046).exe' ARCHIVE_BASE_EPISODE3_1_MD5='eb899dd8def253f89cf6d66c2cee7dcf' ARCHIVE_BASE_EPISODE3_1_TYPE='innosetup' ARCHIVE_BASE_EPISODE3_1_SIZE='18366' ARCHIVE_BASE_EPISODE3_1_VERSION='17.84-gog28046' ARCHIVE_BASE_EPISODE3_1_URL='https://www.gog.com/game/the_zork_anthology' ARCHIVE_BASE_EPISODE3_0_NAME='setup_zork3_2.1.0.17.exe' ARCHIVE_BASE_EPISODE3_0_MD5='1526e9be21bf47412dc053f4097e25bd' ARCHIVE_BASE_EPISODE3_0_TYPE='innosetup' ARCHIVE_BASE_EPISODE3_0_SIZE='23000' ARCHIVE_BASE_EPISODE3_0_VERSION='1.0-gog2.1.0.17' CONTENT_PATH_DEFAULT='.' CONTENT_PATH_DEFAULT_0='app' CONTENT_PATH_DEFAULT_EPISODE1_0="$CONTENT_PATH_DEFAULT_0" CONTENT_PATH_DEFAULT_EPISODE2_0="$CONTENT_PATH_DEFAULT_0" CONTENT_PATH_DEFAULT_EPISODE3_0="$CONTENT_PATH_DEFAULT_0" CONTENT_GAME_MAIN_FILES=' data save *.com *.inf' CONTENT_DOC_MAIN_FILES=' *.htm *.pdf *.txt' USER_PERSISTENT_DIRECTORIES=' save' APP_MAIN_EXE_EPISODE1='_zork1.com' APP_MAIN_EXE_EPISODE2='_zork2.com' APP_MAIN_EXE_EPISODE3='_zork3.com' APP_MAIN_ICON_EPISODE1='goggame-1207661493.ico' APP_MAIN_ICON_EPISODE2='goggame-1207661503.ico' APP_MAIN_ICON_EPISODE3='goggame-1207661513.ico' ## Easier upgrade from packages generated with pre-20190303.1 scripts PKG_MAIN_PROVIDES_EPISODE1="${PKG_MAIN_PROVIDES_EPISODE1:-} zork" # Load common functions PLAYIT_LIB_PATHS=" $PWD ${XDG_DATA_HOME:="${HOME}/.local/share"}/play.it /usr/local/share/games/play.it /usr/local/share/play.it /usr/share/games/play.it /usr/share/play.it" if [ -z "$PLAYIT_LIB2" ]; then for playit_lib_path in $PLAYIT_LIB_PATHS; do if [ -e "${playit_lib_path}/libplayit2.sh" ]; then PLAYIT_LIB2="${playit_lib_path}/libplayit2.sh" break fi done fi if [ -z "$PLAYIT_LIB2" ]; then printf '\n\033[1;31mError:\033[0m\n' printf 'libplayit2.sh not found.\n' exit 1 fi # shellcheck source=libplayit2.sh . "$PLAYIT_LIB2" # Run the default initialization actions initialization_default "$@" # Extract game data archive_extraction_default # Include game data content_inclusion_icons content_inclusion_default # Write launchers launchers_generation # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 tests/check-license.sh0000750000000000000000000000064314471751340013756 0ustar rootroot#!/bin/sh set -o errexit CONTRIBUTORS_LIST=$( grep 'SPDX-FileCopyrightText' games/* | cut --delimiter=' ' --fields=5- | sort --unique ) CONTRIBUTOR_MISSING=0 while read contributor; do grep --quiet "$contributor" LICENSE || { printf 'Missing contributor in LICENSE: %s\n' "$contributor" && CONTRIBUTOR_MISSING=1 } done << EOL $(printf '%s\n' "$CONTRIBUTORS_LIST") EOL test $CONTRIBUTOR_MISSING -eq 0 LICENSE0000640000000000000000000000367414471751340010575 0ustar rootrootThis license applies to all files outside of the "games" subdirectory, and is the default one for files in "games" directory. If a script specifies another license in its headers, the license set in the script takes precedence over this one. # BSD-2-Clause Copyright © 2016 Antoine Le Gonidec Copyright © 2016 Mopi Copyright © 2018 Phil Morrell Copyright © 2018 BetaRays Copyright © 2018 Sébastien “Elzen” Dufromentel Copyright © 2020 Igor Telmenko Copyright © 2020 macaron Copyright © 2020 Hoël Bézier Copyright © 2020 HS-157 Copyright © 2020 Emmanuel Gil Peyrot Copyright © 2020 Jacek Szafarkiewicz Copyright © 2021 Anna Lea All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. This software is provided by the copyright holders and contributors "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the copyright holder or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage. Makefile0000640000000000000000000000502414471751340011217 0ustar rootrootcollection_name = 45_adventure UID := $(shell id --user) ifeq ($(UID),0) prefix = /usr/local datadir = $(prefix)/share/games else ifeq ($(XDG_DATA_HOME),) XDG_DATA_HOME := $(HOME)/.local/share endif prefix = $(XDG_DATA_HOME) datadir = $(prefix) endif collections_path = $(DESTDIR)$(datadir)/play.it/collections # Install the game scripts .PHONY: install uninstall install: install -D --mode=755 --target-directory=$(collections_path)/$(collection_name) games/* uninstall: rm $(collections_path)/$(collection_name)/play-*.sh rmdir -p --ignore-fail-on-non-empty $(collections_path)/$(collection_name) # Generate tarballs, for easier packaging .PHONY: dist ## The generated tarball is signed with gpg by default, ## NO_SIGN should be set to a non-0 value to skip the signature. NO_SIGN := 0 dist: DATE := $(shell date +%F) dist: TARBALL := $(collection_name)_$(DATE).tar.gz dist: TAR_OPTIONS := --sort=name --mtime=2023-08-25 --owner=root:0 --group=root:0 --use-compress-program='gzip --no-name' dist: games/*.sh tests/check-license.sh LICENSE Makefile README.md mkdir --parents dist LC_ALL=C tar cf dist/$(TARBALL) $(TAR_OPTIONS) games/*.sh tests/check-license.sh LICENSE Makefile README.md ifeq ($(NO_SIGN),0) rm --force dist/$(TARBALL).asc gpg --armor --detach-sign dist/$(TARBALL) endif # Run license check, to ensure no contributor is missing .PHONY: check check-license check: check-license check-license: ./tests/check-license.sh # Run syntax checks, relying on ShellCheck GAME_SCRIPTS := $(wildcard games/play-*.sh) GAME_SCRIPTS_TESTS := $(addprefix shellcheck_, $(GAME_SCRIPTS)) .PHONY: $(GAME_SCRIPTS_TESTS) check: $(GAME_SCRIPTS_TESTS) $(GAME_SCRIPTS_TESTS): SHELLCHECK_SOURCES := /usr/share/games/play.it:/usr/share/play.it ## This is a unicode quote. Delete and retype it (or ignore/doublequote for literal). $(GAME_SCRIPTS_TESTS): SHELLCHECK_EXCLUDE += --exclude=SC1112 ## Expressions don't expand in single quotes, use double quotes for that. $(GAME_SCRIPTS_TESTS): SHELLCHECK_EXCLUDE += --exclude=SC2016 ## foo appears unused. Verify it or export it. $(GAME_SCRIPTS_TESTS): SHELLCHECK_EXCLUDE += --exclude=SC2034 ## Don't use variables in the printf format string. Use printf '..%s..' "$foo". $(GAME_SCRIPTS_TESTS): SHELLCHECK_EXCLUDE += --exclude=SC2059 ## In POSIX sh, 'local' is undefined. $(GAME_SCRIPTS_TESTS): SHELLCHECK_EXCLUDE += --exclude=SC3043 $(GAME_SCRIPTS_TESTS): shellcheck_%: % shellcheck --extended-analysis=false --external-sources --source-path=$(SHELLCHECK_SOURCES) $(SHELLCHECK_EXCLUDE) $< README.md0000640000000000000000000003052114471751340011036 0ustar rootroot# ./play.it adventure games collection The codebase is maintained at [https://git.dotslashplay.it/games-adventure/] Bug reports should be sent to [bugs@dotslashplay.it], and support requests to [requests@dotslashplay.it] [https://git.dotslashplay.it/games-adventure/]: https://git.dotslashplay.it/games-adventure/ [bugs@dotslashplay.it]: mailto:bugs@dotslashplay.it [requests@dotslashplay.it]: mailto:requests@dotslashplay.it ## Description ./play.it is a free software building native packages from installers for Windows or Linux, mainly those sold by stores focusing on DRM-free games distribution. The goal is that a game installed via ./play.it is indistinguishable from a game installed via the official repositories of your favourite distribution. This specific collection includes only adventure games. These games usually focus on the narrative and should require no fast action from the player. Aside from the narrative, the main drives for the player should be exploration and problem solving. ## Installation ### Distributions providing ./play.it The following distributions provide installation instructions in their official documentation: - [Debian] - [Gentoo] - [Ubuntu] (French article) [Debian]: https://wiki.debian.org/Games/PlayIt#Installation [Gentoo]: https://wiki.gentoo.org/wiki/Play.it#Installation [Ubuntu]: https://doc.ubuntu-fr.org/play.it#installation In most cases, these instructions should work in the same way for derivatives of these distributions. ### Installation from git If your distribution does not already have a package for ./play.it, you can install it from this git repository. ``` git clone --branch main --depth 1 https://git.dotslashplay.it/games-adventure play.it-adventure.git cd play.it-adventure.git make install ``` ## Usage Usage instructions are provided on the main ./play.it repository: [./play.it: Installer for DRM-free commercial games — Usage] [./play.it: Installer for DRM-free commercial games — Usage]: https://git.dotslashplay.it/scripts/about/#usage ## Contributing ### First contribution There is no real rule for your first contribution. You can host your updated code anywhere you like and contact us via any way described in the [Contact information] section below. It is OK to expose your updated code through GitHub or GitLab.com if you have nothing better at hand, but we would be thankful if you would instead use some hosting outside of these big silos. [Contact information]: #contact-information We do not enforce any workflow like merge/pull requests or any such thing. We are interested in the result of your work, not in how you got to it. So shatter your shackles, and for once take pleasure in working *however you like*! You are not even required to use git if you do not know or do not like this tool. Please try to follow these simple guidelines, and your contribution is probably going to be accepted quickly: - Run `make check` before submitting your code, to ensure you did not break anything by accident; - Use tabs for indentation. No real developer would ever indent anything with spaces. ### Regular contributions If you keep contributing on a more regular basis (sending 3 patches in the same year would already make you a regular) we can grant you direct write access to the repositories hosted at git.dotslashplay.it. This is not mandatory, if for some reason you can not or do not want to work with git you can simply keep following the "First contribution" guidelines, and forget about this whole "Regular contributions" section. To grant you such an access we need nothing but a public SSH key, that you can send us through any way described in the [Contact information] section below. [Contact information]: #contact-information Once you have been granted access, you should add the following to your local SSH configuration: ``` Host git.dotslashplay.it Port 1962 User gitolite3 ``` You should then update the remote of your local repository, with the following command (assuming a remote named "upstream"): ``` git remote set-url --push upstream ssh://git.dotslashplay.it/games-adventure ``` Since these repositories are worked on by several people, there are a couple extra guidelines that you should follow: - Your work should always be pushed to a dedicated branch, never on the main branch; - Game script updates, including bug fixes, should be pushed to branches named with a "update/" prefix; - Addition of new game scripts should be pushed to branches named with a "new/" prefix; - You are allowed to push code to branches opened by other contributors, but please communicate with them if you plan to do so; - Force push and branches deletion are not allowed, if you want a branch to be deleted please ask us to do it for you. ## Supported games - 1954 Alcatraz - 80 Days - A Bird Story - A Juggler's Tale - A Mortician's Tale - A New Beginning - A Night at the Watermill - A Short Hike - A Space Adventure - A Vampyre Story - A Year of Springs - AER: Memories of Old - Agatha Christie: The ABC Murders - Agent A: A puzzle in disguise - Amerzone: The Explorer's Legacy - Ankh - Anna's Quest - Alba: A Wildlife Adventure - Apocalipsis - Arise: A Simple Story - Armikrog - Astrologaster - Atlantis: The Lost Tales - Bad Dream series: - Bad Dream: Coma - Bad Dream: Fever - Bad End Theater - Bad Mojo - Beacon Pines - Bear With Me - Beat Cop - Beautiful Desolation - Before Your Eyes - Behind the Frame: The Finest Scenery - Blade Runner - Blind Men - Botanicula - Boxville - Broken Age - Broken Minds - Broken Sword series: - Broken Sword: Shadow of the Templars - Broken Sword 2: The Smoking Mirror - Broken Sword 3: The Sleeping Dragon - Broken Sword 4: The Angel of Death - Brothers: A Tale of Two Sons - Calico - Call of Cthulhu series: - Call of Cthulhu: Prisoner of Ice - Call of Cthulhu: Shadow of the Comet - Call of the Sea - Carto - Catie in MeowmeowLand - Chicken Police - Chook & Sosig: Walk the Plank - Chuchel - Cinders - Citizen Sleeper - Cleo - A Pirate's Tale - Coffee Talk - Contract Demon - Creaks - Creepy Tale series: - Creepy Tale - Creepy Tale 2 - Criminal Expert - Dagon: by H. P. Lovecraft - Dead Synchronicity: Tomorrow Comes Today - Dear Esther - Demetrios - The Big Cynical Adventure - Deponia series: - Deponia - Deponia 2: Chaos on Deponia - Deponia 3: Goodbye Deponia - Detective Gallo - Detective Grimoire - Devil's Kiss - Doctor Who: The Lonely Assassins - Dracula: The Resurrection - Dragonsphere - Draugen - Dream Daddy - Dropsy - Dungeons & Lesbians - Edna & Harvey series: - Edna & Harvey: The Breakout - Edna & Harvey: Harvey's New Eyes - else Heart.Break() - Encodya - Fall of Porcupine - Far From Noise - Finding Paradise - Fire! - Firewatch - Florence - Flower - Fran Bow - Fruits of a Feather - Full Throttle Remastered - Gabriel Knight: Sins of the Fathers - Gathering Sky - Gemini Rue - Goetia - Gomo - Gone Home - Grim Fandango - Hamilton: The Dating Sim - Harry Potter setting: - Harry Potter and the Mysterious Thief - Part 1 - Harry Potter and the Mysterious Thief - Part 2 - Harry Potter and the Transformency Spell - Hatoful Boyfriend - Hauma - A Detective Noir Story - Haven Moon - Haven Park - Heaven's Vault - Her Majesty's Spiffing - Higurashi When They Cry Hou - Ch.1 Onikakushi - Hiveswap: Act 1 - Hot Tin Roof - I Have No Mouth And I Must Scream - If Not Us - Indiana Jones games: - Indiana Jones and the Last Crusade - Indiana Jones and the Fate of Atlantis - Inner Space - Inspector Waffles - Irony Curtain - Jenny LeClue - Detectivú - Journey of a Roach - J.U.L.I.A Among the Stars - Kentucky Route Zero - Lacuna – A Sci-Fi Noir Adventure - Lamplight City - Last Day of June - Later Daters - Layers of Fear - Leisure Suit Larry series: - Leisure Suit Larry 1: In the Land of the Lounge Lizards - Leisure Suit Larry 2: Looking For Love (In Several Wrong Places) - Leisure Suit Larry 3: Passionate Patti in Pursuit of the Pulsating Pectorals! - Leisure Suit Larry 5: Passionate Patti Does a Little Undercover Work! - Leisure Suit Larry 6: Shape Up Or Slip Out - Leisure Suit Larry 7: Love for Sail! - Letters - a written adventure - Liar Liar series: - Liar Liar - Lair Liar 2: Pants on Fire - Life is Strange - Lilly Looking Through - Little Misfortune - Long Live the Queen - Loom - Lorelai - Lost Phone series: - A Normal Lost Phone - Another Lost Phone: Laura's Story - Lumino City - Luna - Luna The Shadow Dust - Machinarium - Maniac Mansion - Marie's Room - MechaNika - Memoranda - Mhakna Gramura and Fairy Bell - Midnight Scenes: The Highway - MIND: Path to Thalamus - Mon-cuties for All - Monster Prom - Monstrata Fracture - My Lovely Family series: - My Lovely Daughter - My Lovely Wife - Night in the Woods - Nine Noir Lives - Nonsense at Nightfall - Norco - Old Man's Journey - One-Eyed Lee series: - One-Eyed Lee: Prologue - One-Eyed Lee and the Dinner Party - OneShot - Order of the Thorne - Our Life: Beginnings & Always - Overboard - Oxenfree - Papetura - Paradise Killer - Paramedium: A Noise in the Attic - PRIM - Rakuen - Resonance - Return to Mysterious Island series: - Return to Mysterious Island - Return to Mysterious Island 2 - Rime - Sally Face - Samorost series: - Samorost - Samorost 2 - Samorost 3 - Sherlock Holmes series (by Frogwares): - Sherlock Holmes: The Case of the Silver Earring - Sherlock Holmes: The Awakened - Sherlock Holmes: Nemesis - Sherlock Holmes Versus Jack the Ripper - The Testament of Sherlock Holmes - Sherlock Holmes: Crimes and Punishments - Sherlock Holmes: The Devil's Daughter - Silence - Softporn Adventure - State of Mind - Still There - Strangeland - Subject 13 - Sumatra: Fate of Yandi - Syberia series: - Syberia - Syberia 2 - Syberia 3 - Syberia: The World Before - Talk to Me - Technobabylon - Teenagent - The Book of Unwritten Tales series: - The Book of Unwritten Tales - The Critter Chronicles - The Book of Unwritten Tales 2 - The Dark Eye series: - The Dark Eye: Chains of Satinav - The Dark Eye: Memoria - The Darkside Detective - The Difference Between Us - The Dig - The Dream Machine - The Excavation of Hob's Barrow - The First Tree - The Inner World series: - The Inner World - The Inner World: The Last Wind Monk - The Interactive Adventures of Dog Mendonça and Pizzaboy - The Lion's Song - The Little Acre - The Longest Journey series: - The Longest Journey - Dreamfall Chapters - The Longing - The Night Fisherman - The Night of the Rabbit - The Pillars of the Earth - The Red Strings Club - The Shivah - The Stanley Parable - The Suicide of Rachel Foster - The Tail Makes the Fox - The Vanishing of Ethan Carter - The Whispered World - Thimbleweed Park series: - Thimbleweed Park - Delores: A Thimbleweed Park Mini-Adventure - To Be or Not To Be - To The Moon - Torin's Passage - Tormentum: Dark Sorrow - Trüberbrook - True Fear series: - True Fear: Forsaken Souls Part 1 - True Fear: Forsaken Souls Part 2 - Tsioque - Under the Moon - Us Lovely Corpses - VirtuaVerse - Voodoo Detective - Wallace and Gromit's Grand Adventures series: - Wallace and Gromit's Grand Adventures - Episode 1: Fright of the Bumblebees - Wallace and Gromit's Grand Adventures - Episode 2: The Last Resort - Wallace and Gromit's Grand Adventures - Episode 3: Muzzled - Wallace and Gromit's Grand Adventures - Episode 4: The Bogey Man - Warm - What Remains of Edith Finch - When The Past Was Around - Where the Water Tastes Like Wine - Whispering Willows - Yesterday - Zak McKracken and the Alien Mindbenders - Zed - Zniw Adventure - Zork series: - Zork 1: The Great Underground Empire - Zork 2: The Wizard of Frobozz - Zork 3: The Dungeon Master - Beyond Zork: The Coconut of Quendor ## Contact information ### IRC channel Some ./play.it developers and users can be reached on IRC, channel is `#play.it` on network `irc.oftc.net`. The main language on this IRC channel is English, but most of us can speak French too. ### E-mail A contact e-mail for feedback can usually be found in each ./play.it game script, as well as in the library. Open one of these files with any text editor to see the contact e-mail. ### Fediverse ./play.it has an account on the Fediverse, you can follow it for news about the development or use it to contact us: [@playit@fediverse.dotslashplay.it] [@playit@fediverse.dotslashplay.it]: https://fediverse.dotslashplay.it/snac/playit