games/play-a-bird-story.sh0000755000000000000000000000614114471751340014476 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 contact@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-morticians-tale.sh0000755000000000000000000000410514471751340015471 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 contact@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.sh0000755000000000000000000000373314471751340015133 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 contact@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.sh0000755000000000000000000000517614471751340016676 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 contact@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.sh0000755000000000000000000000443314471751340015760 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 contact@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-space-adventure.sh0000755000000000000000000000350014471751340015462 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 contact@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.sh0000755000000000000000000000463514471751340015247 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 contact@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.sh0000755000000000000000000000345514471751340015432 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 contact@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-agatha-christie-the-abc-murders.sh0000755000000000000000000000654514471751340020207 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 contact@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.sh0000755000000000000000000000362114471751340013476 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 contact@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-amerzone.sh0000755000000000000000000000701514471751340014003 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 contact@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.sh0000755000000000000000000000511514471751340013241 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 contact@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.sh0000755000000000000000000000355114471751340014423 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 contact@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.sh0000755000000000000000000000464714471751340015721 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 contact@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-arise-a-simple-story.sh0000755000000000000000000000437614471751340016160 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 contact@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-astrologaster.sh0000755000000000000000000000360314471751340015053 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 contact@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-bad-end-theater.sh0000755000000000000000000000307514471751340015111 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 contact@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-bear-with-me.sh0000755000000000000000000000400714471751340014442 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 contact@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-beautiful-desolation.sh0000755000000000000000000000576514471751340016314 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 contact@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.sh0000755000000000000000000000357214471751340015370 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 contact@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.sh0000755000000000000000000000361314471751340015262 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 contact@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.sh0000755000000000000000000000370514471751340014430 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 contact@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-botanicula.sh0000755000000000000000000001100414471751340014275 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 contact@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-broken-age.sh0000755000000000000000000000411514471751340014173 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 contact@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.sh0000755000000000000000000000500414471751340014547 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 contact@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.sh0000755000000000000000000001007414471751340014734 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 contact@dotslashplay.it ### script_version=20252116.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.sh0000755000000000000000000001210114471751340014726 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 contact@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.sh0000755000000000000000000000407614471751340014743 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 contact@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.sh0000755000000000000000000000736514471751340014750 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 contact@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-call-of-the-sea.sh0000755000000000000000000000475414471751340015033 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 contact@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-catie-in-meowmeowland.sh0000755000000000000000000000401014471751340016340 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 contact@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.sh0000755000000000000000000000376614471751340015051 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 contact@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.sh0000755000000000000000000000624314471751340017767 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 contact@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-cinders.sh0000755000000000000000000000526114471751340013613 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 contact@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.sh0000755000000000000000000000427014471751340015265 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 contact@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-coffee-talk.sh0000755000000000000000000000604114471751340014341 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 contact@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.sh0000755000000000000000000000440214471751340015075 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 contact@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-criminal-expert.sh0000755000000000000000000000430314471751340015263 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 contact@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.sh0000755000000000000000000000352514471751340013255 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 contact@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.sh0000755000000000000000000000610314471751340015760 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 contact@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-demetrios.sh0000755000000000000000000000412414471751340014154 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 contact@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.sh0000755000000000000000000001250214471751340013577 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 contact@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.sh0000755000000000000000000000357714471751340015244 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 contact@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.sh0000755000000000000000000000555714471751340015763 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 contact@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.sh0000755000000000000000000000516414471751340014423 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 contact@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-dracula-1-the-resurrection.sh0000755000000000000000000001045514471751340017236 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 contact@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-draugen.sh0000755000000000000000000000470314471751340013611 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 contact@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.sh0000755000000000000000000000550614471751340014341 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 contact@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.sh0000755000000000000000000000517514471751340015726 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 contact@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.sh0000755000000000000000000000630214471751340013501 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 contact@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-edna-and-harvey-harveys-new-eyes.sh0000755000000000000000000000323214471751340020334 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 contact@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.sh0000755000000000000000000000456314471751340017523 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 contact@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-finding-paradise.sh0000755000000000000000000000621414471751340015367 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 contact@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.sh0000755000000000000000000000547314471751340013116 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 contact@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.sh0000755000000000000000000000364214471751340014141 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 contact@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-fran-bow.sh0000755000000000000000000000373114471751340013677 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 contact@dotslashplay.it ### script_version=20240823.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='fran-bow' GAME_NAME='Fran Bow' ARCHIVE_BASE_0_NAME='gog_fran_bow_2.3.0.5.sh' ARCHIVE_BASE_0_MD5='6e3013e9c8be4d25e1815f00bc177941' ARCHIVE_BASE_0_SIZE='530000' ARCHIVE_BASE_0_VERSION='160315-gog2.3.0.5' ARCHIVE_BASE_0_URL='https://www.gog.com/game/fran_bow' 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" # 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-gemini-rue.sh0000755000000000000000000000565514471751340014234 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 contact@dotslashplay.it ### script_version=20250110.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='329019f63b1acdfe7c4d5219a562efab' ## FIXME: Despite its file extension, this is a plain uncompressed tar archive. ARCHIVE_OPTIONAL_ICONS_TYPE='tar' 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.sh0000755000000000000000000000435314471751340013435 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 contact@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.sh0000755000000000000000000000410714471751340013123 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 contact@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.sh0000755000000000000000000000500614471751340014037 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 contact@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.sh0000755000000000000000000000567614471751340014707 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 contact@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.sh0000755000000000000000000000355314471751340016611 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 contact@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.sh0000755000000000000000000000371314471751340022562 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 contact@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.sh0000755000000000000000000000372014471751340022561 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 contact@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.sh0000755000000000000000000000370214471751340022145 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 contact@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.sh0000755000000000000000000000530414471751340015603 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 contact@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.sh0000755000000000000000000000644014471751340017572 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 contact@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.sh0000755000000000000000000000377114471751340014237 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 contact@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.sh0000755000000000000000000000436214471751340014221 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 contact@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-higurashi-when-they-cry-hou.sh0000755000000000000000000000514214471751340017437 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 contact@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-i-have-no-mouth-and-i-must-scream.sh0000755000000000000000000001017714471751340020327 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 contact@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.sh0000755000000000000000000000603314471751340014003 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 contact@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.sh0000755000000000000000000000546314471751340021361 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 contact@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.sh0000755000000000000000000000337514471751340020612 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 contact@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-inspector-waffles.sh0000755000000000000000000000354014471751340015615 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 contact@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.sh0000755000000000000000000000474714471751340014777 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 contact@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.sh0000755000000000000000000000517114471751340016550 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 contact@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-julia-among-the-stars.sh0000755000000000000000000000662314471751340016302 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 contact@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.sh0000755000000000000000000000611014471751340016124 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 contact@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.sh0000755000000000000000000000361314471751340017677 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 contact@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.sh0000755000000000000000000000313614471751340015112 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 contact@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-later-daters.sh0000755000000000000000000000341514471751340014552 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 contact@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-leisure-suit-larry.sh0000755000000000000000000001476014471751340015751 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 contact@dotslashplay.it ### script_version=20241201.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' 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' ## FIXME: An explicit list of files should be set. CONTENT_GAME_MAIN_FILES_LSL2=' *' CONTENT_GAME_MAIN_FILES_LSL3=' install.txt readme.txt lsl3sg.* resource.* *.com *.drv *.exe *.hlp *.inf *.pif *.scr' ## FIXME: An explicit list of files should be set. CONTENT_GAME_MAIN_FILES_LSL5=' *' 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.sh0000755000000000000000000000344714471751340017555 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 contact@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.sh0000755000000000000000000000501614471751340014036 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 contact@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.sh0000755000000000000000000001030214471751340015145 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 contact@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.sh0000755000000000000000000000477314471751340016436 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 contact@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.sh0000755000000000000000000000402314471751340015645 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 contact@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-loom.sh0000755000000000000000000000345114471751340013131 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 contact@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-machinarium.sh0000755000000000000000000000726314471751340014465 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 contact@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-maries-room.sh0000755000000000000000000000371014471751340014413 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 contact@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.sh0000755000000000000000000001017414471751340014103 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 contact@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.sh0000755000000000000000000000525214471751340014127 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 contact@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-midnight-scenes.sh0000755000000000000000000000347714471751340015254 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 contact@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.sh0000755000000000000000000000367614471751340016311 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 contact@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-my-lovely-family-series.sh0000755000000000000000000000544714471751340016676 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 contact@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-nine-noir-lives.sh0000755000000000000000000000545714471751340015211 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 contact@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-norco.sh0000755000000000000000000000375014471751340013305 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 contact@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.sh0000755000000000000000000000337714471751340015375 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 contact@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.sh0000755000000000000000000000515614471751340014437 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 contact@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.sh0000755000000000000000000000513314471751340013641 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 contact@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-oxenfree.sh0000755000000000000000000000574414471751340014005 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 contact@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-prim.sh0000755000000000000000000000362514471751340013135 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 contact@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.sh0000755000000000000000000000655314471751340013456 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 contact@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.sh0000755000000000000000000000410514471751340014135 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 contact@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.sh0000755000000000000000000001354114471751340017752 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 contact@dotslashplay.it ### script_version=20250228.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' GAME_ID='return-to-mysterious-island-1' GAME_NAME='Return to Mysterious Island' ARCHIVE_BASE_0_NAME='setup_return_to_mysterious_island_2.1.0.17.exe' ARCHIVE_BASE_0_MD5='d31567796e419eb0c295bf978aa1d434' ARCHIVE_BASE_0_TYPE='innosetup' ARCHIVE_BASE_0_SIZE='1500000' ARCHIVE_BASE_0_VERSION='1.0-gog2.1.0.17' ARCHIVE_BASE_0_URL='https://www.gog.com/game/return_to_mysterious_island' CONTENT_PATH_DEFAULT='app' CONTENT_GAME_BIN_FILES=' game.exe *.dll' 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_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 PKG_DATA' ## Ensure easy upgrades from packages generated with pre-20240825.1 game scripts. PKG_BIN_PROVIDES="${PKG_BIN_PROVIDES:-}"' retour-sur-lile-mysterieuse retour-sur-lile-mysterieuse-1' PKG_L10N_ID="${GAME_ID}-l10n" PKG_L10N_FR_ID="${PKG_L10N_ID}-fr" PKG_L10N_GE_ID="${PKG_L10N_ID}-ge" PKG_L10N_IT_ID="${PKG_L10N_ID}-it" PKG_L10N_SP_ID="${PKG_L10N_ID}-sp" PKG_L10N_RU_ID="${PKG_L10N_ID}-ru" PKG_L10N_US_ID="${PKG_L10N_ID}-us" 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_ID" 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" ## Ensure easy upgrades from packages generated with pre-20240825.1 game scripts. PKG_L10N_PROVIDES="${PKG_L10N_PROVIDES:-}"' retour-sur-lile-mysterieuse-l10n retour-sur-lile-mysterieuse-1-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-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 ( cd "${PLAYIT_WORKDIR}/gamedata/$(content_path_default)" # Fix game install path in configuration ini_file='config.ini' ini_field='PATH' ## Silence a ShellCheck false positive ## Want to escape a single quote? echo 'This is how it'\''s done'. # 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" ) # Include game data ## Include configuration file in localization packages config_file='config.ini' 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 content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers launchers_generation 'PKG_BIN' # Build packages packages_generation 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' # Clean up working_directory_cleanup exit 0 games/play-return-to-mysterious-island-2.sh0000755000000000000000000000774714471751340017766 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 contact@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-samorost.sh0000755000000000000000000000650114471751340014031 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 contact@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.sh0000755000000000000000000000464614471751340023226 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 contact@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.sh0000755000000000000000000000635014471751340017756 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 contact@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.sh0000755000000000000000000000476214471751340017072 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 contact@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.sh0000755000000000000000000001021714471751340021732 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 contact@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.sh0000755000000000000000000000521514471751340023704 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 contact@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.sh0000755000000000000000000000461114471751340022020 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 contact@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.sh0000755000000000000000000001042014471751340021264 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 contact@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.sh0000755000000000000000000000534614471751340013612 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 contact@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-state-of-mind.sh0000755000000000000000000000670314471751340014635 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 contact@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-strangeland.sh0000755000000000000000000000475214471751340014472 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 contact@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.sh0000755000000000000000000000337014471751340014043 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 contact@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-syberia-3.sh0000755000000000000000000001017514471751340013762 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 contact@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.sh0000755000000000000000000000653414471751340015313 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 contact@dotslashplay.it ### script_version=20241217.3 PLAYIT_COMPATIBILITY_LEVEL='2.31' 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.31 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.31 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.31 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 game_exec_line() { cat <<- 'EOF' case "${LANG%_*}" in ('fr') scummvm_options='--language=fr' ;; ('en'|*) scummvm_options='--language=en' ;; esac 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.sh0000755000000000000000000000630214471751340016762 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 contact@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.sh0000755000000000000000000002356214471751340014566 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 contact@dotslashplay.it ### script_version=20250227.1 PLAYIT_COMPATIBILITY_LEVEL='2.32' 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' 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" # 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 registry_dump_noxvidmode_file='registry-dumps/no-xvidmode.reg' registry_dump_noxvidmode_content='Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Wine\X11 Driver] "UseXVidMode"="N"' CONTENT_GAME0_BIN_FILES="${CONTENT_GAME0_BIN_FILES:-} $registry_dump_noxvidmode_file" APP_REGEDIT="${APP_REGEDIT:-} $registry_dump_noxvidmode_file" REQUIREMENTS_LIST="${REQUIREMENTS_LIST:-} iconv" # Syberia 2 - Set game language registry_dump_language_file='registry-dumps/language.reg' registry_dump_language_content_common='Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microids\Syberia DVD]' registry_dump_language_content_SYBERIA2_EN="$registry_dump_language_content_common"' "Language"="EN"' registry_dump_language_content_SYBERIA2_FR="$registry_dump_language_content_common"' "Language"="FR"' CONTENT_GAME0_BIN_FILES="${CONTENT_GAME0_BIN_FILES:-} $registry_dump_language_file" APP_REGEDIT_SYBERIA2="${APP_REGEDIT:-} $registry_dump_language_file" REQUIREMENTS_LIST="${REQUIREMENTS_LIST:-} iconv" # 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)" # Work around a crash on nvidia drivers mkdir --parents "$(dirname "$registry_dump_noxvidmode_file")" printf '%s' "$registry_dump_noxvidmode_content" | iconv --from-code=UTF-8 --to-code=UTF-16 --output="$registry_dump_noxvidmode_file" # 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 # Syberia 2 - Set game language case "$(current_archive)" in ('ARCHIVE_BASE_SYBERIA2_'*) registry_dump_language_content=$(context_value 'registry_dump_language_content') mkdir --parents "$(dirname "$registry_dump_language_content")" printf '%s' "$registry_dump_language_content" | iconv --from-code=UTF-8 --to-code=UTF-16 --output="$registry_dump_language_file" ;; esac ) # Include game data content_inclusion_icons 'PKG_DATA' content_inclusion_default # Write launchers ## Syberia 2 - Set game language APP_REGEDIT=$(context_value 'APP_REGEDIT') launchers_generation 'PKG_BIN' # Build packages packages_generation print_instructions # Clean up working_directory_cleanup exit 0 games/play-technobabylon.sh0000755000000000000000000000520514471751340015011 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 contact@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-the-book-of-unwritten-tales-1.sh0000755000000000000000000000751114471751340017577 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 contact@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.sh0000755000000000000000000000546514471751340017606 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 contact@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.sh0000755000000000000000000000422514471751340017752 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 contact@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.sh0000755000000000000000000000602014471751340016064 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 contact@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.sh0000755000000000000000000000410414471751340016475 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 contact@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-dream-machine.sh0000755000000000000000000000437414471751340015440 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 contact@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.sh0000755000000000000000000000336614471751340017734 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 contact@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.sh0000755000000000000000000000460514471751340015027 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 contact@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.sh0000755000000000000000000000465514471751340015346 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 contact@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.sh0000755000000000000000000000453514471751340015344 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 contact@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.sh0000755000000000000000000000454614471751340025002 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 contact@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.sh0000755000000000000000000000420614471751340015030 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 contact@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.sh0000755000000000000000000000421014471751340015140 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 contact@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.sh0000755000000000000000000000456214471751340016111 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 contact@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-night-of-the-rabbit.sh0000755000000000000000000000411414471751340016470 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 contact@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.sh0000755000000000000000000000563014471751340016671 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 contact@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-shivah.sh0000755000000000000000000000420214471751340014216 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 contact@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-suicide-of-rachel-foster.sh0000755000000000000000000000633714471751340017532 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 contact@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.sh0000755000000000000000000000357414471751340016346 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 contact@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-whispered-world.sh0000755000000000000000000000402514471751340016056 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 contact@dotslashplay.it ### script_version=20240903.1 PLAYIT_COMPATIBILITY_LEVEL='2.30' GAME_ID='the-whispered-world' GAME_NAME='The Whispered World' 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' ARCHIVE_BASE_0_URL='https://www.gog.com/game/the_whispered_world_special_edition' ## 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' ## Ensure smooth upgrades from packages generated by game scripts pre-20231005.1 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" # 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-thimbleweed-park.sh0000755000000000000000000000433514471751340015411 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 contact@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-the-moon.sh0000755000000000000000000001041714471751340014331 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 contact@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.sh0000755000000000000000000000377614471751340015134 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 contact@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.sh0000755000000000000000000000366414471751340016473 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 contact@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-true-fear.sh0000755000000000000000000000547514471751340014065 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 contact@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.sh0000755000000000000000000000354114471751340013654 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 contact@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.sh0000755000000000000000000000367514471751340015034 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 contact@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-virtuaverse.sh0000755000000000000000000000411014471751340014533 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 contact@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.sh0000755000000000000000000000350214471751340015437 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 contact@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.sh0000755000000000000000000001336214471751340021266 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 contact@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.sh0000755000000000000000000000363014471751340013130 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 contact@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-when-the-past-was-around.sh0000755000000000000000000000410714471751340016724 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 contact@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.sh0000755000000000000000000000501414471751340020353 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 contact@dotslashplay.it ### script_version=20241107.1 PLAYIT_COMPATIBILITY_LEVEL='2.31' 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='7000000' 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' CONTENT_PATH_DEFAULT='.' ## FIXME: The Unity3D plugins to include should be listed 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" ## TODO: The dependencies list should be completed PKG_BIN_DEPENDENCIES_LIBRARIES=' libc.so.6 libstdc++.so.6 libgtk-x11-2.0.so.0 libgdk_pixbuf-2.0.so.0 libgobject-2.0.so.0 libglib-2.0.so.0' 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.sh0000755000000000000000000000745114471751340016044 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 contact@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.sh0000755000000000000000000000565014471751340014177 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 contact@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-zed.sh0000755000000000000000000000600414471751340012742 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 contact@dotslashplay.it ### script_version=20230712.2 GAME_ID='zed-game' GAME_NAME='Zed' 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' ARCHIVE_BASE_0_URL='https://www.gog.com/game/zed' 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-zork-series.sh0000755000000000000000000001003114471751340014430 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 contact@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 LICENSE0000644000000000000000000000355714471751340010601 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 © 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. Makefile0000644000000000000000000000452714471751340011232 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 LICENSE Makefile README.md mkdir --parents dist LC_ALL=C tar cf dist/$(TARBALL) $(TAR_OPTIONS) games/*.sh LICENSE Makefile README.md ifeq ($(NO_SIGN),0) rm --force dist/$(TARBALL).asc gpg --armor --detach-sign dist/$(TARBALL) endif # Run syntax checks, relying on ShellCheck GAME_SCRIPTS := $(wildcard games/play-*.sh) GAME_SCRIPTS_TESTS := $(addprefix shellcheck_, $(GAME_SCRIPTS)) .PHONY: check $(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.md0000644000000000000000000002511114471751340011041 0ustar rootroot# ./play.it adventure games collection The codebase is maintained at [https://git.dotslashplay.it/games-adventure/] Bug reports and feature requests are tracked at [https://forge.dotslashplay.it/play.it/games-adventure/-/issues] [https://git.dotslashplay.it/games-adventure/]: https://git.dotslashplay.it/games-adventure/ [https://forge.dotslashplay.it/play.it/games-adventure/-/issues]: https://forge.dotslashplay.it/play.it/games-adventure/-/issues ## 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 - A Bird Story - A Mortician's Tale - A New Beginning - A Night at the Watermill - A Space Adventure - A Vampyre Story - A Year of Springs - Agatha Christie: The ABC Murders - Agent A: A puzzle in disguise - Amerzone: The Explorer's Legacy - Ankh - Anna's Quest - Arise: A Simple Story - Astrologaster - Bad End Theater - Bear With Me - Beautiful Desolation - Before Your Eyes - Behind the Frame: The Finest Scenery - Botanicula - 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 - Call of the Sea - Catie in MeowmeowLand - Chicken Police - Chook & Sosig: Walk the Plank - Cinders - Citizen Sleeper - Coffee Talk - Contract Demon - Criminal Expert - Dagon: by H. P. Lovecraft - Dead Synchronicity: Tomorrow Comes Today - Demetrios - The Big Cynical Adventure - Deponia series: - Deponia - Deponia 2: Chaos on Deponia - Deponia 3: Goodbye Deponia - Detective Gallo - Detective Grimoire - Devil's Kiss - Dracula: The Resurrection - Draugen - Dream Daddy - Dropsy - Edna & Harvey series: - Edna & Harvey: The Breakout - Edna & Harvey: Harvey's New Eyes - Finding Paradise - Fire! - Firewatch - Fran Bow - 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 - Higurashi When They Cry Hou - Ch.1 Onikakushi - 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 - Inspector Waffles - Irony Curtain - Jenny LeClue - Detectivú - J.U.L.I.A Among the Stars - Kentucky Route Zero - Lacuna – A Sci-Fi Noir Adventure - Lamplight City - Later Daters - 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 - Loom - Lost Phone series: - A Normal Lost Phone - Another Lost Phone: Laura's Story - Machinarium - Marie's Room - MechaNika - Memoranda - Midnight Scenes: The Highway - MIND: Path to Thalamus - My Lovely Family series: - My Lovely Daughter - My Lovely Wife - Nine Noir Lives - Norco - Old Man's Journey - One-Eyed Lee series: - One-Eyed Lee: Prologue - One-Eyed Lee and the Dinner Party - OneShot - Oxenfree - PRIM - Rakuen - Resonance - Return to Mysterious Island series: - Return to Mysterious Island - Return to Mysterious Island 2 - 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 - State of Mind - Strangeland - Subject 13 - Syberia series: - Syberia - Syberia 2 - Syberia 3 - Syberia: The World Before - Technobabylon - 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 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 Night of the Rabbit - The Pillars of the Earth - The Shivah - The Suicide of Rachel Foster - The Tail Makes the Fox - The Whispered World - Thimbleweed Park - To The Moon - Torin's Passage - Tormentum: Dark Sorrow - True Fear series: - True Fear: Forsaken Souls Part 1 - True Fear: Forsaken Souls Part 2 - Tsioque - Under the Moon - 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 - When The Past Was Around - Where the Water Tastes Like Wine - Whispering Willows - Yesterday - Zed - 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